From 52392a2b48131b209ff082ffd7d3947048236f10 Mon Sep 17 00:00:00 2001
From: s-hadinger <49731213+s-hadinger@users.noreply.github.com>
Date: Thu, 29 Jun 2023 22:12:56 +0200
Subject: [PATCH] Matter improve responsiveness (#19002)
---
CHANGELOG.md | 1 +
.../src/embedded/Matter_Device.be | 29 +-
.../src/embedded/Matter_HTTP_remote.be | 2 +-
.../embedded/Matter_Plugin_Bridge_Light0.be | 2 +-
.../embedded/Matter_Plugin_Bridge_OnOff.be | 2 +-
.../embedded/Matter_Plugin_Bridge_Sensor.be | 2 +-
.../Matter_Plugin_Bridge_Sensor_Contact.be | 2 +-
.../Matter_Plugin_Bridge_Sensor_Occupancy.be | 2 +-
.../src/embedded/Matter_Plugin_OnOff.be | 2 +-
.../src/embedded/Matter_Plugin_Root.be | 6 +-
.../src/embedded/Matter_Plugin_Sensor.be | 2 +-
.../embedded/Matter_Plugin_Sensor_Contact.be | 2 +-
.../Matter_Plugin_Sensor_Occupancy.be | 2 +-
.../embedded/Matter_Plugin_Sensor_OnOff.be | 2 +-
.../src/embedded/Matter_Plugin_Shutter.be | 2 +-
.../src/embedded/Matter_UDPServer.be | 13 +-
.../berry_matter/src/embedded/Matter_UI.be | 12 +-
.../src/solidify/solidified_Matter_Device.h | 160 +-
.../solidify/solidified_Matter_HTTP_remote.h | 9 +-
.../solidified_Matter_Plugin_Bridge_Light0.h | 2 +-
.../solidified_Matter_Plugin_Bridge_OnOff.h | 2 +-
.../solidified_Matter_Plugin_Bridge_Sensor.h | 2 +-
...fied_Matter_Plugin_Bridge_Sensor_Contact.h | 2 +-
...ed_Matter_Plugin_Bridge_Sensor_Occupancy.h | 2 +-
.../solidify/solidified_Matter_Plugin_OnOff.h | 2 +-
.../solidify/solidified_Matter_Plugin_Root.h | 114 +-
.../solidified_Matter_Plugin_Sensor.h | 2 +-
.../solidified_Matter_Plugin_Sensor_Contact.h | 2 +-
...olidified_Matter_Plugin_Sensor_Occupancy.h | 2 +-
.../solidified_Matter_Plugin_Sensor_OnOff.h | 2 +-
.../solidified_Matter_Plugin_Shutter.h | 2 +-
.../solidify/solidified_Matter_UDPServer.h | 836 +++++----
.../src/solidify/solidified_Matter_UI.h | 1590 ++++++++---------
33 files changed, 1447 insertions(+), 1369 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 33d9d99b0..1fe6389e4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,7 @@ All notable changes to this project will be documented in this file.
### Changed
- Matter support for temperature in Fahrenheit (`SetOption8 1`) (#18987)
+- Matter improve responsiveness
### Fixed
- Berry various fixes for Walrus Operator (#18982)
diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Device.be b/lib/libesp32/berry_matter/src/embedded/Matter_Device.be
index 4cdf5aa87..18f4ea142 100644
--- a/lib/libesp32/berry_matter/src/embedded/Matter_Device.be
+++ b/lib/libesp32/berry_matter/src/embedded/Matter_Device.be
@@ -1315,23 +1315,23 @@ class Matter_Device
self.plugins_config.remove(ep_str)
self.plugins_persist = true
- # try saving parameters
- self.save_param()
- self.signal_endpoints_changed()
-
# now remove from in-memory configuration
var idx = 0
while idx < size(self.plugins)
if ep == self.plugins[idx].get_endpoint()
self.plugins.remove(idx)
- self.signal_endpoints_changed()
break
else
idx += 1
end
end
+
# clean any orphan remote
self.clean_remotes()
+
+ # try saving parameters
+ self.save_param()
+ self.signal_endpoints_changed()
end
#############################################################
@@ -1415,13 +1415,15 @@ class Matter_Device
def clean_remotes()
import introspect
+ # print("clean_remotes", self.http_remotes)
# init all remotes with count 0
- if self.http_remotes
+ if self.http_remotes # tests if `self.http_remotes` is not `nil` and not empty
var remotes_map = {} # key: remote object, value: count of references
for http_remote: self.http_remotes
remotes_map[http_remote] = 0
end
+ # print("remotes_map", remotes_map)
# scan all endpoints
for pi: self.plugins
@@ -1431,16 +1433,23 @@ class Matter_Device
end
end
+ # print("remotes_map2", remotes_map)
+
# tasmota.log("MTR: remotes references: " + str(remotes_map), 3)
+ var remote_to_remove = [] # we first get the list of remotes to remove, to not interfere with map iterator
for remote:remotes_map.keys()
if remotes_map[remote] == 0
- # remove
- tasmota.log("MTR: remove unused remote: " + remote.addr, 3)
- remote.close()
- self.http_remotes.remove(remote)
+ remote_to_remove.push(remote)
end
end
+
+ for remote: remote_to_remove
+ tasmota.log("MTR: remove unused remote: " + remote.addr, 3)
+ remote.close()
+ self.http_remotes.remove(remote.addr)
+ end
+
end
end
diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_HTTP_remote.be b/lib/libesp32/berry_matter/src/embedded/Matter_HTTP_remote.be
index 5170842e7..f56f5528f 100644
--- a/lib/libesp32/berry_matter/src/embedded/Matter_HTTP_remote.be
+++ b/lib/libesp32/berry_matter/src/embedded/Matter_HTTP_remote.be
@@ -177,7 +177,7 @@ class Matter_HTTP_remote : Matter_HTTP_async
end
# reduce the update time after a read is succesful
- self.change_schedule(self.UPDATE_CMD0, self.UPDATE_TIME2)
+ self.change_schedule(self.UPDATE_CMD5, self.UPDATE_TIME2)
end
if changed self.info_changed() end
diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_Bridge_Light0.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_Bridge_Light0.be
index a1a6d3127..60078c41a 100644
--- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_Bridge_Light0.be
+++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_Bridge_Light0.be
@@ -30,7 +30,7 @@ class Matter_Plugin_Bridge_Light0 : Matter_Plugin_Bridge_HTTP
static var TYPE = "http_light0" # name of the plug-in in json
static var NAME = "Light 0 On" # display name of the plug-in
static var ARG = "relay" # additional argument name (or empty if none)
- static var ARG_HINT = "Enter Power ")
webserver.content_send(" Force Static endpoints (non-bridge)
IPv4 only
") - var disable_bridge_mode_checked = self.device.disable_bridge_mode ? " checked" : "" - webserver.content_send(f"Disable bridge mode (not recommended)
") webserver.content_send("" "") @@ -741,9 +741,9 @@ class Matter_UI try # debug information about parameters - for i:0..webserver.arg_size()-1 - tasmota.log(format("MTR: Arg%i '%s' = '%s'", i, webserver.arg_name(i), webserver.arg(i))) - end + # for i:0..webserver.arg_size()-1 + # tasmota.log(format("MTR: Arg%i '%s' = '%s'", i, webserver.arg_name(i), webserver.arg(i))) + # end #---------------------------------------------------------------------# # Change Passcode and/or Passcode @@ -757,7 +757,6 @@ class Matter_UI self.device.root_discriminator = int(webserver.arg("discriminator")) end self.device.ipv4only = webserver.arg("ipv4") == 'on' - self.device.disable_bridge_mode = webserver.arg("nobridge") == 'on' self.device.save_param() #- and force restart -# @@ -766,6 +765,7 @@ class Matter_UI elif webserver.has_arg("save") var matter_enabled_requested = webserver.has_arg("menable") var matter_commissioning_requested = webserver.has_arg("comm") + self.device.disable_bridge_mode = webserver.arg("nobridge") == 'on' if matter_enabled_requested != self.matter_enabled() if matter_enabled_requested diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Device.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Device.h index ce27f0197..a0efa7279 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Device.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Device.h @@ -2597,17 +2597,17 @@ be_local_closure(Matter_Device_bridge_remove_endpoint, /* name */ /* K8 */ be_const_int(2), /* K9 */ be_nested_str_weak(remove), /* K10 */ be_nested_str_weak(plugins_persist), - /* K11 */ be_nested_str_weak(save_param), - /* K12 */ be_nested_str_weak(signal_endpoints_changed), - /* K13 */ be_const_int(0), - /* K14 */ be_nested_str_weak(plugins), - /* K15 */ be_nested_str_weak(get_endpoint), - /* K16 */ be_const_int(1), - /* K17 */ be_nested_str_weak(clean_remotes), + /* K11 */ be_const_int(0), + /* K12 */ be_nested_str_weak(plugins), + /* K13 */ be_nested_str_weak(get_endpoint), + /* K14 */ be_const_int(1), + /* K15 */ be_nested_str_weak(clean_remotes), + /* K16 */ be_nested_str_weak(save_param), + /* K17 */ be_nested_str_weak(signal_endpoints_changed), }), be_str_weak(bridge_remove_endpoint), &be_const_str_solidified, - ( &(const binstruction[60]) { /* code */ + ( &(const binstruction[58]) { /* code */ 0xA40A0000, // 0000 IMPORT R2 K0 0x600C0008, // 0001 GETGBL R3 G8 0x5C100200, // 0002 MOVE R4 R1 @@ -2639,35 +2639,33 @@ be_local_closure(Matter_Device_bridge_remove_endpoint, /* name */ 0x7C180400, // 001C CALL R6 2 0x50180200, // 001D LDBOOL R6 1 0 0x90021406, // 001E SETMBR R0 K10 R6 - 0x8C18010B, // 001F GETMET R6 R0 K11 - 0x7C180200, // 0020 CALL R6 1 - 0x8C18010C, // 0021 GETMET R6 R0 K12 - 0x7C180200, // 0022 CALL R6 1 - 0x5818000D, // 0023 LDCONST R6 K13 - 0x601C000C, // 0024 GETGBL R7 G12 - 0x8820010E, // 0025 GETMBR R8 R0 K14 - 0x7C1C0200, // 0026 CALL R7 1 - 0x141C0C07, // 0027 LT R7 R6 R7 - 0x781E000F, // 0028 JMPF R7 #0039 - 0x881C010E, // 0029 GETMBR R7 R0 K14 - 0x941C0E06, // 002A GETIDX R7 R7 R6 - 0x8C1C0F0F, // 002B GETMET R7 R7 K15 - 0x7C1C0200, // 002C CALL R7 1 - 0x1C1C0207, // 002D EQ R7 R1 R7 - 0x781E0007, // 002E JMPF R7 #0037 - 0x881C010E, // 002F GETMBR R7 R0 K14 - 0x8C1C0F09, // 0030 GETMET R7 R7 K9 - 0x5C240C00, // 0031 MOVE R9 R6 - 0x7C1C0400, // 0032 CALL R7 2 - 0x8C1C010C, // 0033 GETMET R7 R0 K12 + 0x5818000B, // 001F LDCONST R6 K11 + 0x601C000C, // 0020 GETGBL R7 G12 + 0x8820010C, // 0021 GETMBR R8 R0 K12 + 0x7C1C0200, // 0022 CALL R7 1 + 0x141C0C07, // 0023 LT R7 R6 R7 + 0x781E000D, // 0024 JMPF R7 #0033 + 0x881C010C, // 0025 GETMBR R7 R0 K12 + 0x941C0E06, // 0026 GETIDX R7 R7 R6 + 0x8C1C0F0D, // 0027 GETMET R7 R7 K13 + 0x7C1C0200, // 0028 CALL R7 1 + 0x1C1C0207, // 0029 EQ R7 R1 R7 + 0x781E0005, // 002A JMPF R7 #0031 + 0x881C010C, // 002B GETMBR R7 R0 K12 + 0x8C1C0F09, // 002C GETMET R7 R7 K9 + 0x5C240C00, // 002D MOVE R9 R6 + 0x7C1C0400, // 002E CALL R7 2 + 0x70020002, // 002F JMP #0033 + 0x70020000, // 0030 JMP #0032 + 0x00180D0E, // 0031 ADD R6 R6 K14 + 0x7001FFEC, // 0032 JMP #0020 + 0x8C1C010F, // 0033 GETMET R7 R0 K15 0x7C1C0200, // 0034 CALL R7 1 - 0x70020002, // 0035 JMP #0039 - 0x70020000, // 0036 JMP #0038 - 0x00180D10, // 0037 ADD R6 R6 K16 - 0x7001FFEA, // 0038 JMP #0024 - 0x8C1C0111, // 0039 GETMET R7 R0 K17 - 0x7C1C0200, // 003A CALL R7 1 - 0x80000000, // 003B RET 0 + 0x8C1C0110, // 0035 GETMET R7 R0 K16 + 0x7C1C0200, // 0036 CALL R7 1 + 0x8C1C0111, // 0037 GETMET R7 R0 K17 + 0x7C1C0200, // 0038 CALL R7 1 + 0x80000000, // 0039 RET 0 }) ) ); @@ -3388,7 +3386,7 @@ be_local_closure(Matter_Device_clean_remotes, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[17]) { /* constants */ + ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), /* K1 */ be_nested_str_weak(http_remotes), /* K2 */ be_const_int(0), @@ -3399,20 +3397,21 @@ be_local_closure(Matter_Device_clean_remotes, /* name */ /* K7 */ be_nested_str_weak(find), /* K8 */ be_const_int(1), /* K9 */ be_nested_str_weak(keys), - /* K10 */ be_nested_str_weak(tasmota), - /* K11 */ be_nested_str_weak(log), - /* K12 */ be_nested_str_weak(MTR_X3A_X20remove_X20unused_X20remote_X3A_X20), - /* K13 */ be_nested_str_weak(addr), - /* K14 */ be_const_int(3), - /* K15 */ be_nested_str_weak(close), - /* K16 */ be_nested_str_weak(remove), + /* K10 */ be_nested_str_weak(push), + /* K11 */ be_nested_str_weak(tasmota), + /* K12 */ be_nested_str_weak(log), + /* K13 */ be_nested_str_weak(MTR_X3A_X20remove_X20unused_X20remote_X3A_X20), + /* K14 */ be_nested_str_weak(addr), + /* K15 */ be_const_int(3), + /* K16 */ be_nested_str_weak(close), + /* K17 */ be_nested_str_weak(remove), }), be_str_weak(clean_remotes), &be_const_str_solidified, - ( &(const binstruction[66]) { /* code */ + ( &(const binstruction[81]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0x88080101, // 0001 GETMBR R2 R0 K1 - 0x780A003D, // 0002 JMPF R2 #0041 + 0x780A004C, // 0002 JMPF R2 #0050 0x60080013, // 0003 GETGBL R2 G19 0x7C080000, // 0004 CALL R2 0 0x600C0010, // 0005 GETGBL R3 G16 @@ -3449,33 +3448,48 @@ be_local_closure(Matter_Device_clean_remotes, /* name */ 0x580C0003, // 0024 LDCONST R3 K3 0xAC0C0200, // 0025 CATCH R3 1 0 0xB0080000, // 0026 RAISE 2 R0 R0 - 0x600C0010, // 0027 GETGBL R3 G16 - 0x8C100509, // 0028 GETMET R4 R2 K9 - 0x7C100200, // 0029 CALL R4 1 - 0x7C0C0200, // 002A CALL R3 1 - 0xA8020011, // 002B EXBLK 0 #003E - 0x5C100600, // 002C MOVE R4 R3 - 0x7C100000, // 002D CALL R4 0 - 0x94140404, // 002E GETIDX R5 R2 R4 - 0x1C140B02, // 002F EQ R5 R5 K2 - 0x7816000B, // 0030 JMPF R5 #003D - 0xB8161400, // 0031 GETNGBL R5 K10 - 0x8C140B0B, // 0032 GETMET R5 R5 K11 - 0x881C090D, // 0033 GETMBR R7 R4 K13 - 0x001E1807, // 0034 ADD R7 K12 R7 - 0x5820000E, // 0035 LDCONST R8 K14 - 0x7C140600, // 0036 CALL R5 3 - 0x8C14090F, // 0037 GETMET R5 R4 K15 - 0x7C140200, // 0038 CALL R5 1 - 0x88140101, // 0039 GETMBR R5 R0 K1 - 0x8C140B10, // 003A GETMET R5 R5 K16 - 0x5C1C0800, // 003B MOVE R7 R4 - 0x7C140400, // 003C CALL R5 2 - 0x7001FFED, // 003D JMP #002C - 0x580C0003, // 003E LDCONST R3 K3 - 0xAC0C0200, // 003F CATCH R3 1 0 - 0xB0080000, // 0040 RAISE 2 R0 R0 - 0x80000000, // 0041 RET 0 + 0x600C0012, // 0027 GETGBL R3 G18 + 0x7C0C0000, // 0028 CALL R3 0 + 0x60100010, // 0029 GETGBL R4 G16 + 0x8C140509, // 002A GETMET R5 R2 K9 + 0x7C140200, // 002B CALL R5 1 + 0x7C100200, // 002C CALL R4 1 + 0xA8020008, // 002D EXBLK 0 #0037 + 0x5C140800, // 002E MOVE R5 R4 + 0x7C140000, // 002F CALL R5 0 + 0x94180405, // 0030 GETIDX R6 R2 R5 + 0x1C180D02, // 0031 EQ R6 R6 K2 + 0x781A0002, // 0032 JMPF R6 #0036 + 0x8C18070A, // 0033 GETMET R6 R3 K10 + 0x5C200A00, // 0034 MOVE R8 R5 + 0x7C180400, // 0035 CALL R6 2 + 0x7001FFF6, // 0036 JMP #002E + 0x58100003, // 0037 LDCONST R4 K3 + 0xAC100200, // 0038 CATCH R4 1 0 + 0xB0080000, // 0039 RAISE 2 R0 R0 + 0x60100010, // 003A GETGBL R4 G16 + 0x5C140600, // 003B MOVE R5 R3 + 0x7C100200, // 003C CALL R4 1 + 0xA802000E, // 003D EXBLK 0 #004D + 0x5C140800, // 003E MOVE R5 R4 + 0x7C140000, // 003F CALL R5 0 + 0xB81A1600, // 0040 GETNGBL R6 K11 + 0x8C180D0C, // 0041 GETMET R6 R6 K12 + 0x88200B0E, // 0042 GETMBR R8 R5 K14 + 0x00221A08, // 0043 ADD R8 K13 R8 + 0x5824000F, // 0044 LDCONST R9 K15 + 0x7C180600, // 0045 CALL R6 3 + 0x8C180B10, // 0046 GETMET R6 R5 K16 + 0x7C180200, // 0047 CALL R6 1 + 0x88180101, // 0048 GETMBR R6 R0 K1 + 0x8C180D11, // 0049 GETMET R6 R6 K17 + 0x88200B0E, // 004A GETMBR R8 R5 K14 + 0x7C180400, // 004B CALL R6 2 + 0x7001FFF0, // 004C JMP #003E + 0x58100003, // 004D LDCONST R4 K3 + 0xAC100200, // 004E CATCH R4 1 0 + 0xB0080000, // 004F RAISE 2 R0 R0 + 0x80000000, // 0050 RET 0 }) ) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_HTTP_remote.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_HTTP_remote.h index 3b78d3ab2..9aa8fd572 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_HTTP_remote.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_HTTP_remote.h @@ -60,7 +60,7 @@ be_local_closure(Matter_HTTP_remote_parse_update, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[27]) { /* constants */ + ( &(const bvalue[28]) { /* constants */ /* K0 */ be_const_int(0), /* K1 */ be_nested_str_weak(find), /* K2 */ be_nested_str_weak(DeviceName), @@ -87,7 +87,8 @@ be_local_closure(Matter_HTTP_remote_parse_update, /* name */ /* K23 */ be_nested_str_weak(Mac), /* K24 */ be_nested_str_weak(mac), /* K25 */ be_nested_str_weak(MTR_X3A_X20update_X20_X27_X25s_X27_X20mac_X3D_X27_X25s_X27), - /* K26 */ be_nested_str_weak(info_changed), + /* K26 */ be_nested_str_weak(UPDATE_CMD5), + /* K27 */ be_nested_str_weak(info_changed), }), be_str_weak(parse_update), &be_const_str_solidified, @@ -230,11 +231,11 @@ be_local_closure(Matter_HTTP_remote_parse_update, /* name */ 0x7C140600, // 0087 CALL R5 3 0x500C0200, // 0088 LDBOOL R3 1 0 0x8C14010C, // 0089 GETMET R5 R0 K12 - 0x881C010D, // 008A GETMBR R7 R0 K13 + 0x881C011A, // 008A GETMBR R7 R0 K26 0x8820010E, // 008B GETMBR R8 R0 K14 0x7C140600, // 008C CALL R5 3 0x780E0001, // 008D JMPF R3 #0090 - 0x8C10011A, // 008E GETMET R4 R0 K26 + 0x8C10011B, // 008E GETMET R4 R0 K27 0x7C100200, // 008F CALL R4 1 0x80000000, // 0090 RET 0 }) diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Light0.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Light0.h index c27611d23..e3b1ee303 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Light0.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Light0.h @@ -484,7 +484,7 @@ be_local_class(Matter_Plugin_Bridge_Light0, })) ) } )) }, { be_const_key_weak(read_attribute, 9), be_const_closure(Matter_Plugin_Bridge_Light0_read_attribute_closure) }, { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Bridge_Light0_invoke_request_closure) }, - { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Enter_X20Power_X3Cx_X3E_X20number) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Power_X3Cx_X3E_X20number) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light0) }, { be_const_key_weak(shadow_onoff, -1), be_const_var(1) }, { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_OnOff.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_OnOff.h index 2c86b4398..d4100d5c4 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_OnOff.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_OnOff.h @@ -66,7 +66,7 @@ be_local_class(Matter_Plugin_Bridge_OnOff, })) ) } )) }, { be_const_key_weak(NAME, -1), be_nested_str_weak(Relay) }, { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_OnOff_web_values_closure) }, - { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Enter_X20Relay_X3Cx_X3E_X20number) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Relay_X3Cx_X3E_X20number) }, { be_const_key_weak(TYPE, 1), be_nested_str_weak(http_relay) }, })), be_str_weak(Matter_Plugin_Bridge_OnOff) diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Sensor.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Sensor.h index e3bd32436..5f19a1916 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Sensor.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Sensor.h @@ -282,7 +282,7 @@ be_local_class(Matter_Plugin_Bridge_Sensor, be_nested_map(22, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(tasmota_sensor_filter, -1), be_const_var(0) }, - { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Enter_X20Filter_X20pattern) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Filter_X20pattern) }, { be_const_key_weak(shadow_value, -1), be_const_var(2) }, { be_const_key_weak(pre_value, 10), be_const_closure(Matter_Plugin_Bridge_Sensor_pre_value_closure) }, { be_const_key_weak(ARG_HTTP, -1), be_nested_str_weak(url) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Sensor_Contact.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Sensor_Contact.h index 1b781aebe..7cbc1c9a3 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Sensor_Contact.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Sensor_Contact.h @@ -338,7 +338,7 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Contact, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(ARG_TYPE, 5), be_const_static_closure(Matter_Plugin_Bridge_Sensor_Contact__X3Clambda_X3E_closure) }, - { be_const_key_weak(ARG_HINT, 4), be_nested_str_weak(Enter_X20Switch_X3Cx_X3E_X20number) }, + { be_const_key_weak(ARG_HINT, 4), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, { be_const_key_weak(shadow_contact, -1), be_const_var(1) }, { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_init_closure) }, { be_const_key_weak(web_values_prefix, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_prefix_closure) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Sensor_Occupancy.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Sensor_Occupancy.h index 79d895a75..acce61c30 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Sensor_Occupancy.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Bridge_Sensor_Occupancy.h @@ -356,7 +356,7 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Occupancy, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(ARG_TYPE, 4), be_const_static_closure(Matter_Plugin_Bridge_Sensor_Occupancy__X3Clambda_X3E_closure) }, - { be_const_key_weak(ARG_HINT, 14), be_nested_str_weak(Enter_X20Switch_X3Cx_X3E_X20number) }, + { be_const_key_weak(ARG_HINT, 14), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, { be_const_key_weak(shadow_occupancy, -1), be_const_var(1) }, { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_init_closure) }, { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_closure) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_OnOff.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_OnOff.h index d18b1dbb7..5a8d6ac96 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_OnOff.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_OnOff.h @@ -403,7 +403,7 @@ be_local_class(Matter_Plugin_OnOff, { be_const_key_int(266, -1), be_const_int(2) }, })) ) } )) }, { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_OnOff_invoke_request_closure) }, - { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Enter_X20Relay_X3Cx_X3E_X20number) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Relay_X3Cx_X3E_X20number) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(relay) }, { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_OnOff_read_attribute_closure) }, { be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_OnOff_parse_configuration_closure) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Root.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Root.h index daa3f9012..5d012505d 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Root.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Root.h @@ -879,7 +879,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[87]) { /* constants */ + ( &(const bvalue[88]) { /* constants */ /* K0 */ be_nested_str_weak(string), /* K1 */ be_nested_str_weak(matter), /* K2 */ be_nested_str_weak(TLV), @@ -966,11 +966,12 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ /* K83 */ be_nested_str_weak(_X28), /* K84 */ be_nested_str_weak(locale), /* K85 */ be_nested_str_weak(get_active_endpoints), - /* K86 */ be_nested_str_weak(read_attribute), + /* K86 */ be_nested_str_weak(disable_bridge_mode), + /* K87 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[897]) { /* code */ + ( &(const binstruction[904]) { /* code */ 0xA40E0000, // 0000 IMPORT R3 K0 0xB8120200, // 0001 GETNGBL R4 K1 0x88100902, // 0002 GETMBR R4 R4 K2 @@ -1027,11 +1028,11 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x50280000, // 0035 LDBOOL R10 0 0 0x7C1C0600, // 0036 CALL R7 3 0x80040E00, // 0037 RET 1 R7 - 0x70020346, // 0038 JMP #0380 + 0x7002034D, // 0038 JMP #0387 0x541E0031, // 0039 LDINT R7 50 0x1C1C0A07, // 003A EQ R7 R5 R7 0x781E0000, // 003B JMPF R7 #003D - 0x70020342, // 003C JMP #0380 + 0x70020349, // 003C JMP #0387 0x541E0032, // 003D LDINT R7 51 0x1C1C0A07, // 003E EQ R7 R5 R7 0x781E00DC, // 003F JMPF R7 #011D @@ -1255,11 +1256,11 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x50280000, // 0119 LDBOOL R10 0 0 0x7C1C0600, // 011A CALL R7 3 0x80040E00, // 011B RET 1 R7 - 0x70020262, // 011C JMP #0380 + 0x70020269, // 011C JMP #0387 0x541E0033, // 011D LDINT R7 52 0x1C1C0A07, // 011E EQ R7 R5 R7 0x781E0000, // 011F JMPF R7 #0121 - 0x7002025E, // 0120 JMP #0380 + 0x70020265, // 0120 JMP #0387 0x541E0037, // 0121 LDINT R7 56 0x1C1C0A07, // 0122 EQ R7 R5 R7 0x781E002C, // 0123 JMPF R7 #0151 @@ -1307,7 +1308,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x5C2C0E00, // 014D MOVE R11 R7 0x7C200600, // 014E CALL R8 3 0x80041000, // 014F RET 1 R8 - 0x7002022E, // 0150 JMP #0380 + 0x70020235, // 0150 JMP #0387 0x541E003D, // 0151 LDINT R7 62 0x1C1C0A07, // 0152 EQ R7 R5 R7 0x781E0090, // 0153 JMPF R7 #01E5 @@ -1455,7 +1456,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x5C2C0E00, // 01E1 MOVE R11 R7 0x7C200600, // 01E2 CALL R8 3 0x80041000, // 01E3 RET 1 R8 - 0x7002019A, // 01E4 JMP #0380 + 0x700201A1, // 01E4 JMP #0387 0x541E003B, // 01E5 LDINT R7 60 0x1C1C0A07, // 01E6 EQ R7 R5 R7 0x781E003C, // 01E7 JMPF R7 #0225 @@ -1519,7 +1520,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x4C2C0000, // 0221 LDNIL R11 0x7C200600, // 0222 CALL R8 3 0x80041000, // 0223 RET 1 R8 - 0x7002015A, // 0224 JMP #0380 + 0x70020161, // 0224 JMP #0387 0x541E0027, // 0225 LDINT R7 40 0x1C1C0A07, // 0226 EQ R7 R5 R7 0x781E00B7, // 0227 JMPF R7 #02E0 @@ -1706,11 +1707,11 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x5830000F, // 02DC LDCONST R12 K15 0x7C200800, // 02DD CALL R8 4 0x80040E00, // 02DE RET 1 R7 - 0x7002009F, // 02DF JMP #0380 + 0x700200A6, // 02DF JMP #0387 0x541E003E, // 02E0 LDINT R7 63 0x1C1C0A07, // 02E1 EQ R7 R5 R7 0x781E0000, // 02E2 JMPF R7 #02E4 - 0x7002009B, // 02E3 JMP #0380 + 0x700200A2, // 02E3 JMP #0387 0x541E0029, // 02E4 LDINT R7 42 0x1C1C0A07, // 02E5 EQ R7 R5 R7 0x781E001D, // 02E6 JMPF R7 #0305 @@ -1743,7 +1744,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x4C280000, // 0301 LDNIL R10 0x7C1C0600, // 0302 CALL R7 3 0x80040E00, // 0303 RET 1 R7 - 0x7002007A, // 0304 JMP #0380 + 0x70020081, // 0304 JMP #0387 0x541E002A, // 0305 LDINT R7 43 0x1C1C0A07, // 0306 EQ R7 R5 R7 0x781E0016, // 0307 JMPF R7 #031F @@ -1769,7 +1770,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x7C300200, // 031B CALL R12 1 0x7C200800, // 031C CALL R8 4 0x80040E00, // 031D RET 1 R7 - 0x70020060, // 031E JMP #0380 + 0x70020067, // 031E JMP #0387 0x541E002B, // 031F LDINT R7 44 0x1C1C0A07, // 0320 EQ R7 R5 R7 0x781E001C, // 0321 JMPF R7 #033F @@ -1801,7 +1802,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x7C2C0600, // 033B CALL R11 3 0x7C200600, // 033C CALL R8 3 0x80040E00, // 033D RET 1 R7 - 0x70020040, // 033E JMP #0380 + 0x70020047, // 033E JMP #0387 0x541E0030, // 033F LDINT R7 49 0x1C1C0A07, // 0340 EQ R7 R5 R7 0x781E0010, // 0341 JMPF R7 #0353 @@ -1821,53 +1822,60 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x542A0003, // 034F LDINT R10 4 0x7C1C0600, // 0350 CALL R7 3 0x80040E00, // 0351 RET 1 R7 - 0x7002002C, // 0352 JMP #0380 + 0x70020033, // 0352 JMP #0387 0x541E001C, // 0353 LDINT R7 29 0x1C1C0A07, // 0354 EQ R7 R5 R7 - 0x781E0021, // 0355 JMPF R7 #0378 + 0x781E0028, // 0355 JMPF R7 #037F 0x1C1C0D0F, // 0356 EQ R7 R6 K15 - 0x781E0016, // 0357 JMPF R7 #036F + 0x781E001D, // 0357 JMPF R7 #0376 0x8C1C0911, // 0358 GETMET R7 R4 K17 0x7C1C0200, // 0359 CALL R7 1 0x88200133, // 035A GETMBR R8 R0 K51 0x8C201155, // 035B GETMET R8 R8 K85 0x50280200, // 035C LDBOOL R10 1 0 0x7C200400, // 035D CALL R8 2 - 0x60240010, // 035E GETGBL R9 G16 - 0x5C281000, // 035F MOVE R10 R8 - 0x7C240200, // 0360 CALL R9 1 - 0xA8020007, // 0361 EXBLK 0 #036A - 0x5C281200, // 0362 MOVE R10 R9 - 0x7C280000, // 0363 CALL R10 0 - 0x8C2C0F0B, // 0364 GETMET R11 R7 K11 - 0x4C340000, // 0365 LDNIL R13 - 0x8838090C, // 0366 GETMBR R14 R4 K12 - 0x5C3C1400, // 0367 MOVE R15 R10 - 0x7C2C0800, // 0368 CALL R11 4 - 0x7001FFF7, // 0369 JMP #0362 - 0x5824003A, // 036A LDCONST R9 K58 - 0xAC240200, // 036B CATCH R9 1 0 - 0xB0080000, // 036C RAISE 2 R0 R0 - 0x80040E00, // 036D RET 1 R7 - 0x70020007, // 036E JMP #0377 - 0x601C0003, // 036F GETGBL R7 G3 - 0x5C200000, // 0370 MOVE R8 R0 - 0x7C1C0200, // 0371 CALL R7 1 - 0x8C1C0F56, // 0372 GETMET R7 R7 K86 - 0x5C240200, // 0373 MOVE R9 R1 - 0x5C280400, // 0374 MOVE R10 R2 - 0x7C1C0600, // 0375 CALL R7 3 - 0x80040E00, // 0376 RET 1 R7 - 0x70020007, // 0377 JMP #0380 - 0x601C0003, // 0378 GETGBL R7 G3 - 0x5C200000, // 0379 MOVE R8 R0 - 0x7C1C0200, // 037A CALL R7 1 - 0x8C1C0F56, // 037B GETMET R7 R7 K86 - 0x5C240200, // 037C MOVE R9 R1 - 0x5C280400, // 037D MOVE R10 R2 - 0x7C1C0600, // 037E CALL R7 3 - 0x80040E00, // 037F RET 1 R7 - 0x80000000, // 0380 RET 0 + 0x88240133, // 035E GETMBR R9 R0 K51 + 0x88241356, // 035F GETMBR R9 R9 K86 + 0x60280010, // 0360 GETGBL R10 G16 + 0x5C2C1000, // 0361 MOVE R11 R8 + 0x7C280200, // 0362 CALL R10 1 + 0xA802000C, // 0363 EXBLK 0 #0371 + 0x5C2C1400, // 0364 MOVE R11 R10 + 0x7C2C0000, // 0365 CALL R11 0 + 0x5C301200, // 0366 MOVE R12 R9 + 0x78320002, // 0367 JMPF R12 #036B + 0x5432FEFF, // 0368 LDINT R12 65280 + 0x1430160C, // 0369 LT R12 R11 R12 + 0x78320004, // 036A JMPF R12 #0370 + 0x8C300F0B, // 036B GETMET R12 R7 K11 + 0x4C380000, // 036C LDNIL R14 + 0x883C090C, // 036D GETMBR R15 R4 K12 + 0x5C401600, // 036E MOVE R16 R11 + 0x7C300800, // 036F CALL R12 4 + 0x7001FFF2, // 0370 JMP #0364 + 0x5828003A, // 0371 LDCONST R10 K58 + 0xAC280200, // 0372 CATCH R10 1 0 + 0xB0080000, // 0373 RAISE 2 R0 R0 + 0x80040E00, // 0374 RET 1 R7 + 0x70020007, // 0375 JMP #037E + 0x601C0003, // 0376 GETGBL R7 G3 + 0x5C200000, // 0377 MOVE R8 R0 + 0x7C1C0200, // 0378 CALL R7 1 + 0x8C1C0F57, // 0379 GETMET R7 R7 K87 + 0x5C240200, // 037A MOVE R9 R1 + 0x5C280400, // 037B MOVE R10 R2 + 0x7C1C0600, // 037C CALL R7 3 + 0x80040E00, // 037D RET 1 R7 + 0x70020007, // 037E JMP #0387 + 0x601C0003, // 037F GETGBL R7 G3 + 0x5C200000, // 0380 MOVE R8 R0 + 0x7C1C0200, // 0381 CALL R7 1 + 0x8C1C0F57, // 0382 GETMET R7 R7 K87 + 0x5C240200, // 0383 MOVE R9 R1 + 0x5C280400, // 0384 MOVE R10 R2 + 0x7C1C0600, // 0385 CALL R7 3 + 0x80040E00, // 0386 RET 1 R7 + 0x80000000, // 0387 RET 0 }) ) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor.h index afd5ed3a8..85a316317 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor.h @@ -162,7 +162,7 @@ be_local_class(Matter_Plugin_Sensor, { be_const_key_weak(ARG, -1), be_nested_str_weak(filter) }, { be_const_key_weak(shadow_value, -1), be_const_var(2) }, { be_const_key_weak(UPDATE_TIME, 7), be_const_int(5000) }, - { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Enter_X20Filter_X20pattern) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Filter_X20pattern) }, { be_const_key_weak(parse_sensors, 4), be_const_closure(Matter_Plugin_Sensor_parse_sensors_closure) }, { be_const_key_weak(tasmota_sensor_filter, 8), be_const_var(0) }, { be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_pre_value_closure) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor_Contact.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor_Contact.h index 7587e80b6..c52c654e9 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor_Contact.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor_Contact.h @@ -258,7 +258,7 @@ be_local_class(Matter_Plugin_Sensor_Contact, { be_const_key_weak(TYPE, -1), be_nested_str_weak(contact) }, { be_const_key_weak(ARG_TYPE, 5), be_const_static_closure(Matter_Plugin_Sensor_Contact__X3Clambda_X3E_closure) }, { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, - { be_const_key_weak(ARG_HINT, 1), be_nested_str_weak(Enter_X20Switch_X3Cx_X3E_X20number) }, + { be_const_key_weak(ARG_HINT, 1), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, { be_const_key_weak(NAME, -1), be_nested_str_weak(Contact) }, { be_const_key_weak(parse_configuration, 8), be_const_closure(Matter_Plugin_Sensor_Contact_parse_configuration_closure) }, { be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_Sensor_Contact_update_shadow_closure) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor_Occupancy.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor_Occupancy.h index 812d0bde9..82b3c1363 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor_Occupancy.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor_Occupancy.h @@ -270,7 +270,7 @@ be_local_class(Matter_Plugin_Sensor_Occupancy, { be_const_key_weak(ARG, -1), be_nested_str_weak(switch) }, { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(Matter_Plugin_Sensor_Occupancy__X3Clambda_X3E_closure) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(occupancy) }, - { be_const_key_weak(ARG_HINT, 1), be_nested_str_weak(Enter_X20Switch_X3Cx_X3E_X20number) }, + { be_const_key_weak(ARG_HINT, 1), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, { be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_Sensor_Occupancy_parse_configuration_closure) }, { be_const_key_weak(tasmota_switch_index, -1), be_const_var(0) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor_OnOff.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor_OnOff.h index b9eb6d333..c5aa42dbb 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor_OnOff.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Sensor_OnOff.h @@ -241,7 +241,7 @@ be_local_class(Matter_Plugin_Sensor_OnOff, be_nested_map(13, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(ARG, 8), be_nested_str_weak(switch) }, - { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Enter_X20Switch_X3Cx_X3E_X20number) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(onoff) }, { be_const_key_weak(ARG_TYPE, 1), be_const_static_closure(Matter_Plugin_Sensor_OnOff__X3Clambda_X3E_closure) }, { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Shutter.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Shutter.h index 89d2d2552..5a9d6576f 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Shutter.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_Shutter.h @@ -661,7 +661,7 @@ be_local_class(Matter_Plugin_Shutter, { be_const_key_weak(shadow_shutter_direction, -1), be_const_var(4) }, { be_const_key_weak(shadow_shutter_target, -1), be_const_var(2) }, { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Shutter_invoke_request_closure) }, - { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Enter_X20Relay_X3Cx_X3E_X20number) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Relay_X3Cx_X3E_X20number) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UDPServer.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UDPServer.h index 1db6ad008..9cdad0ee0 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UDPServer.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UDPServer.h @@ -120,86 +120,121 @@ void be_load_Matter_UDPPacket_sent_class(bvm *vm) { extern const bclass be_class_Matter_UDPServer; /******************************************************************** -** Solidified function: _backoff_time +** Solidified function: received_ack ********************************************************************/ -be_local_closure(Matter_UDPServer__backoff_time, /* name */ +be_local_closure(Matter_UDPServer_received_ack, /* name */ be_nested_proto( 10, /* nstack */ - 1, /* argc */ - 4, /* varg */ + 2, /* argc */ + 2, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ - 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { - be_nested_proto( - 4, /* nstack */ - 2, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_const_int(1), - /* K1 */ be_const_int(0), - }), - be_str_weak(power_int), - &be_const_str_solidified, - ( &(const binstruction[ 7]) { /* code */ - 0x58080000, // 0000 LDCONST R2 K0 - 0x240C0301, // 0001 GT R3 R1 K1 - 0x780E0002, // 0002 JMPF R3 #0006 - 0x08080400, // 0003 MUL R2 R2 R0 - 0x04040300, // 0004 SUB R1 R1 K0 - 0x7001FFFA, // 0005 JMP #0001 - 0x80040400, // 0006 RET 1 R2 - }) - ), - }), + 0, /* has sup protos */ + NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[ 8]) { /* constants */ - /* K0 */ be_const_class(be_class_Matter_UDPServer), - /* K1 */ be_nested_str_weak(math), - /* K2 */ be_nested_str_weak(rand), - /* K3 */ be_const_int(0), - /* K4 */ be_const_int(1), - /* K5 */ be_const_real_hex(0x3FCCCCCD), - /* K6 */ be_const_real_hex(0x3F800000), - /* K7 */ be_const_real_hex(0x3E800000), + ( &(const bvalue[10]) { /* constants */ + /* K0 */ be_nested_str_weak(ack_message_counter), + /* K1 */ be_nested_str_weak(exchange_id), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str_weak(packets_sent), + /* K4 */ be_nested_str_weak(msg_id), + /* K5 */ be_nested_str_weak(remove), + /* K6 */ be_nested_str_weak(tasmota), + /* K7 */ be_nested_str_weak(log), + /* K8 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Removed_X20packet_X20from_X20sending_X20list_X20id_X3D), + /* K9 */ be_const_int(1), }), - be_str_weak(_backoff_time), + be_str_weak(received_ack), &be_const_str_solidified, - ( &(const binstruction[29]) { /* code */ - 0x58040000, // 0000 LDCONST R1 K0 - 0x84080000, // 0001 CLOSURE R2 P0 - 0xA40E0200, // 0002 IMPORT R3 K1 - 0x5412012B, // 0003 LDINT R4 300 - 0x6014000A, // 0004 GETGBL R5 G10 - 0x8C180702, // 0005 GETMET R6 R3 K2 - 0x7C180200, // 0006 CALL R6 1 - 0x541E00FE, // 0007 LDINT R7 255 - 0x2C180C07, // 0008 AND R6 R6 R7 + ( &(const binstruction[36]) { /* code */ + 0x88080300, // 0000 GETMBR R2 R1 K0 + 0x880C0301, // 0001 GETMBR R3 R1 K1 + 0x4C100000, // 0002 LDNIL R4 + 0x1C100404, // 0003 EQ R4 R2 R4 + 0x78120000, // 0004 JMPF R4 #0006 + 0x80000800, // 0005 RET 0 + 0x58100002, // 0006 LDCONST R4 K2 + 0x6014000C, // 0007 GETGBL R5 G12 + 0x88180103, // 0008 GETMBR R6 R0 K3 0x7C140200, // 0009 CALL R5 1 - 0x541A00FE, // 000A LDINT R6 255 - 0x0C140A06, // 000B DIV R5 R5 R6 - 0x24180103, // 000C GT R6 R0 K3 - 0x781A0001, // 000D JMPF R6 #0010 - 0x04180104, // 000E SUB R6 R0 K4 - 0x70020000, // 000F JMP #0011 - 0x58180003, // 0010 LDCONST R6 K3 - 0x5C1C0400, // 0011 MOVE R7 R2 - 0x58200005, // 0012 LDCONST R8 K5 - 0x5C240C00, // 0013 MOVE R9 R6 - 0x7C1C0400, // 0014 CALL R7 2 - 0x081C0807, // 0015 MUL R7 R4 R7 - 0x08200B07, // 0016 MUL R8 R5 K7 - 0x00220C08, // 0017 ADD R8 K6 R8 - 0x081C0E08, // 0018 MUL R7 R7 R8 - 0x60200009, // 0019 GETGBL R8 G9 - 0x5C240E00, // 001A MOVE R9 R7 - 0x7C200200, // 001B CALL R8 1 - 0x80041000, // 001C RET 1 R8 + 0x14140805, // 000A LT R5 R4 R5 + 0x78160016, // 000B JMPF R5 #0023 + 0x88140103, // 000C GETMBR R5 R0 K3 + 0x94140A04, // 000D GETIDX R5 R5 R4 + 0x88180B04, // 000E GETMBR R6 R5 K4 + 0x1C180C02, // 000F EQ R6 R6 R2 + 0x781A000F, // 0010 JMPF R6 #0021 + 0x88180B01, // 0011 GETMBR R6 R5 K1 + 0x1C180C03, // 0012 EQ R6 R6 R3 + 0x781A000C, // 0013 JMPF R6 #0021 + 0x88180103, // 0014 GETMBR R6 R0 K3 + 0x8C180D05, // 0015 GETMET R6 R6 K5 + 0x5C200800, // 0016 MOVE R8 R4 + 0x7C180400, // 0017 CALL R6 2 + 0xB81A0C00, // 0018 GETNGBL R6 K6 + 0x8C180D07, // 0019 GETMET R6 R6 K7 + 0x60200008, // 001A GETGBL R8 G8 + 0x5C240400, // 001B MOVE R9 R2 + 0x7C200200, // 001C CALL R8 1 + 0x00221008, // 001D ADD R8 K8 R8 + 0x54260003, // 001E LDINT R9 4 + 0x7C180600, // 001F CALL R6 3 + 0x70020000, // 0020 JMP #0022 + 0x00100909, // 0021 ADD R4 R4 K9 + 0x7001FFE3, // 0022 JMP #0007 + 0x80000000, // 0023 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_second +********************************************************************/ +be_local_closure(Matter_UDPServer_every_second, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(every_second), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: every_50ms +********************************************************************/ +be_local_closure(Matter_UDPServer_every_50ms, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(loop), + }), + be_str_weak(every_50ms), + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x8C040100, // 0000 GETMET R1 R0 K0 + 0x7C040200, // 0001 CALL R1 1 + 0x80000000, // 0002 RET 0 }) ) ); @@ -311,23 +346,216 @@ be_local_closure(Matter_UDPServer__resend_packets, /* name */ /******************************************************************** -** Solidified function: every_second +** Solidified function: _backoff_time ********************************************************************/ -be_local_closure(Matter_UDPServer_every_second, /* name */ +be_local_closure(Matter_UDPServer__backoff_time, /* name */ be_nested_proto( - 1, /* nstack */ + 10, /* nstack */ 1, /* argc */ + 4, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 4, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_const_int(1), + /* K1 */ be_const_int(0), + }), + be_str_weak(power_int), + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x58080000, // 0000 LDCONST R2 K0 + 0x240C0301, // 0001 GT R3 R1 K1 + 0x780E0002, // 0002 JMPF R3 #0006 + 0x08080400, // 0003 MUL R2 R2 R0 + 0x04040300, // 0004 SUB R1 R1 K0 + 0x7001FFFA, // 0005 JMP #0001 + 0x80040400, // 0006 RET 1 R2 + }) + ), + }), + 1, /* has constants */ + ( &(const bvalue[ 8]) { /* constants */ + /* K0 */ be_const_class(be_class_Matter_UDPServer), + /* K1 */ be_nested_str_weak(math), + /* K2 */ be_nested_str_weak(rand), + /* K3 */ be_const_int(0), + /* K4 */ be_const_int(1), + /* K5 */ be_const_real_hex(0x3FCCCCCD), + /* K6 */ be_const_real_hex(0x3F800000), + /* K7 */ be_const_real_hex(0x3E800000), + }), + be_str_weak(_backoff_time), + &be_const_str_solidified, + ( &(const binstruction[29]) { /* code */ + 0x58040000, // 0000 LDCONST R1 K0 + 0x84080000, // 0001 CLOSURE R2 P0 + 0xA40E0200, // 0002 IMPORT R3 K1 + 0x5412012B, // 0003 LDINT R4 300 + 0x6014000A, // 0004 GETGBL R5 G10 + 0x8C180702, // 0005 GETMET R6 R3 K2 + 0x7C180200, // 0006 CALL R6 1 + 0x541E00FE, // 0007 LDINT R7 255 + 0x2C180C07, // 0008 AND R6 R6 R7 + 0x7C140200, // 0009 CALL R5 1 + 0x541A00FE, // 000A LDINT R6 255 + 0x0C140A06, // 000B DIV R5 R5 R6 + 0x24180103, // 000C GT R6 R0 K3 + 0x781A0001, // 000D JMPF R6 #0010 + 0x04180104, // 000E SUB R6 R0 K4 + 0x70020000, // 000F JMP #0011 + 0x58180003, // 0010 LDCONST R6 K3 + 0x5C1C0400, // 0011 MOVE R7 R2 + 0x58200005, // 0012 LDCONST R8 K5 + 0x5C240C00, // 0013 MOVE R9 R6 + 0x7C1C0400, // 0014 CALL R7 2 + 0x081C0807, // 0015 MUL R7 R4 R7 + 0x08200B07, // 0016 MUL R8 R5 K7 + 0x00220C08, // 0017 ADD R8 K6 R8 + 0x081C0E08, // 0018 MUL R7 R7 R8 + 0x60200009, // 0019 GETGBL R8 G9 + 0x5C240E00, // 001A MOVE R9 R7 + 0x7C200200, // 001B CALL R8 1 + 0x80041000, // 001C RET 1 R8 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: start +********************************************************************/ +be_local_closure(Matter_UDPServer_start, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ 2, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ NULL, /* no sub protos */ - 0, /* has constants */ - NULL, /* no const */ - be_str_weak(every_second), + 1, /* has constants */ + ( &(const bvalue[12]) { /* constants */ + /* K0 */ be_nested_str_weak(listening), + /* K1 */ be_nested_str_weak(udp_socket), + /* K2 */ be_nested_str_weak(udp), + /* K3 */ be_nested_str_weak(begin), + /* K4 */ be_nested_str_weak(addr), + /* K5 */ be_nested_str_weak(port), + /* K6 */ be_nested_str_weak(network_error), + /* K7 */ be_nested_str_weak(could_X20not_X20open_X20UDP_X20server), + /* K8 */ be_nested_str_weak(dispatch_cb), + /* K9 */ be_nested_str_weak(tasmota), + /* K10 */ be_nested_str_weak(add_fast_loop), + /* K11 */ be_nested_str_weak(loop_cb), + }), + be_str_weak(start), &be_const_str_solidified, - ( &(const binstruction[ 1]) { /* code */ - 0x80000000, // 0000 RET 0 + ( &(const binstruction[21]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x740A0011, // 0001 JMPT R2 #0014 + 0xB80A0400, // 0002 GETNGBL R2 K2 + 0x7C080000, // 0003 CALL R2 0 + 0x90020202, // 0004 SETMBR R0 K1 R2 + 0x88080101, // 0005 GETMBR R2 R0 K1 + 0x8C080503, // 0006 GETMET R2 R2 K3 + 0x88100104, // 0007 GETMBR R4 R0 K4 + 0x88140105, // 0008 GETMBR R5 R0 K5 + 0x7C080600, // 0009 CALL R2 3 + 0x5C0C0400, // 000A MOVE R3 R2 + 0x740E0000, // 000B JMPT R3 #000D + 0xB0060D07, // 000C RAISE 1 K6 K7 + 0x500C0200, // 000D LDBOOL R3 1 0 + 0x90020003, // 000E SETMBR R0 K0 R3 + 0x90021001, // 000F SETMBR R0 K8 R1 + 0xB80E1200, // 0010 GETNGBL R3 K9 + 0x8C0C070A, // 0011 GETMET R3 R3 K10 + 0x8814010B, // 0012 GETMBR R5 R0 K11 + 0x7C0C0400, // 0013 CALL R3 2 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(Matter_UDPServer_init, /* name */ + be_nested_proto( + 4, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 1, /* has upvals */ + ( &(const bupvaldesc[ 1]) { /* upvals */ + be_local_const_upval(1, 0), + }), + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(loop), + }), + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x68000000, // 0000 GETUPV R0 U0 + 0x8C000100, // 0001 GETMET R0 R0 K0 + 0x7C000200, // 0002 CALL R0 1 + 0x80000000, // 0003 RET 0 + }) + ), + }), + 1, /* has constants */ + ( &(const bvalue[ 6]) { /* constants */ + /* K0 */ be_nested_str_weak(addr), + /* K1 */ be_nested_str_weak(), + /* K2 */ be_nested_str_weak(port), + /* K3 */ be_nested_str_weak(listening), + /* K4 */ be_nested_str_weak(packets_sent), + /* K5 */ be_nested_str_weak(loop_cb), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[19]) { /* code */ + 0x78060001, // 0000 JMPF R1 #0003 + 0x5C0C0200, // 0001 MOVE R3 R1 + 0x70020000, // 0002 JMP #0004 + 0x580C0001, // 0003 LDCONST R3 K1 + 0x90020003, // 0004 SETMBR R0 K0 R3 + 0x780A0001, // 0005 JMPF R2 #0008 + 0x5C0C0400, // 0006 MOVE R3 R2 + 0x70020000, // 0007 JMP #0009 + 0x540E15A3, // 0008 LDINT R3 5540 + 0x90020403, // 0009 SETMBR R0 K2 R3 + 0x500C0000, // 000A LDBOOL R3 0 0 + 0x90020603, // 000B SETMBR R0 K3 R3 + 0x600C0012, // 000C GETGBL R3 G18 + 0x7C0C0000, // 000D CALL R3 0 + 0x90020803, // 000E SETMBR R0 K4 R3 + 0x840C0000, // 000F CLOSURE R3 P0 + 0x90020A03, // 0010 SETMBR R0 K5 R3 + 0xA0000000, // 0011 CLOSE R0 + 0x80000000, // 0012 RET 0 }) ) ); @@ -378,300 +606,6 @@ be_local_closure(Matter_UDPServer_send_UDP, /* name */ /*******************************************************************/ -/******************************************************************** -** Solidified function: every_50ms -********************************************************************/ -be_local_closure(Matter_UDPServer_every_50ms, /* name */ - be_nested_proto( - 11, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[12]) { /* constants */ - /* K0 */ be_const_int(0), - /* K1 */ be_nested_str_weak(udp_socket), - /* K2 */ be_nested_str_weak(read), - /* K3 */ be_const_int(1), - /* K4 */ be_nested_str_weak(remote_ip), - /* K5 */ be_nested_str_weak(remote_port), - /* K6 */ be_nested_str_weak(tasmota), - /* K7 */ be_nested_str_weak(log), - /* K8 */ be_nested_str_weak(MTR_X3A_X20UDP_X20received_X20from_X20_X5B_X25s_X5D_X3A_X25i), - /* K9 */ be_nested_str_weak(dispatch_cb), - /* K10 */ be_nested_str_weak(MAX_PACKETS_READ), - /* K11 */ be_nested_str_weak(_resend_packets), - }), - be_str_weak(every_50ms), - &be_const_str_solidified, - ( &(const binstruction[46]) { /* code */ - 0x58040000, // 0000 LDCONST R1 K0 - 0x88080101, // 0001 GETMBR R2 R0 K1 - 0x4C0C0000, // 0002 LDNIL R3 - 0x1C080403, // 0003 EQ R2 R2 R3 - 0x780A0000, // 0004 JMPF R2 #0006 - 0x80000400, // 0005 RET 0 - 0x88080101, // 0006 GETMBR R2 R0 K1 - 0x8C080502, // 0007 GETMET R2 R2 K2 - 0x7C080200, // 0008 CALL R2 1 - 0x4C0C0000, // 0009 LDNIL R3 - 0x200C0403, // 000A NE R3 R2 R3 - 0x780E001E, // 000B JMPF R3 #002B - 0x00040303, // 000C ADD R1 R1 K3 - 0x880C0101, // 000D GETMBR R3 R0 K1 - 0x880C0704, // 000E GETMBR R3 R3 K4 - 0x88100101, // 000F GETMBR R4 R0 K1 - 0x88100905, // 0010 GETMBR R4 R4 K5 - 0xB8160C00, // 0011 GETNGBL R5 K6 - 0x8C140B07, // 0012 GETMET R5 R5 K7 - 0x601C0018, // 0013 GETGBL R7 G24 - 0x58200008, // 0014 LDCONST R8 K8 - 0x5C240600, // 0015 MOVE R9 R3 - 0x5C280800, // 0016 MOVE R10 R4 - 0x7C1C0600, // 0017 CALL R7 3 - 0x54220003, // 0018 LDINT R8 4 - 0x7C140600, // 0019 CALL R5 3 - 0x88140109, // 001A GETMBR R5 R0 K9 - 0x78160004, // 001B JMPF R5 #0021 - 0x8C140109, // 001C GETMET R5 R0 K9 - 0x5C1C0400, // 001D MOVE R7 R2 - 0x5C200600, // 001E MOVE R8 R3 - 0x5C240800, // 001F MOVE R9 R4 - 0x7C140800, // 0020 CALL R5 4 - 0x8814010A, // 0021 GETMBR R5 R0 K10 - 0x14140205, // 0022 LT R5 R1 R5 - 0x78160004, // 0023 JMPF R5 #0029 - 0x88140101, // 0024 GETMBR R5 R0 K1 - 0x8C140B02, // 0025 GETMET R5 R5 K2 - 0x7C140200, // 0026 CALL R5 1 - 0x5C080A00, // 0027 MOVE R2 R5 - 0x70020000, // 0028 JMP #002A - 0x4C080000, // 0029 LDNIL R2 - 0x7001FFDD, // 002A JMP #0009 - 0x8C0C010B, // 002B GETMET R3 R0 K11 - 0x7C0C0200, // 002C CALL R3 1 - 0x80000000, // 002D RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: stop -********************************************************************/ -be_local_closure(Matter_UDPServer_stop, /* name */ - be_nested_proto( - 4, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str_weak(listening), - /* K1 */ be_nested_str_weak(udp_socket), - /* K2 */ be_nested_str_weak(stop), - /* K3 */ be_nested_str_weak(tasmota), - /* K4 */ be_nested_str_weak(remove_driver), - }), - be_str_weak(stop), - &be_const_str_solidified, - ( &(const binstruction[12]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x78060008, // 0001 JMPF R1 #000B - 0x88040101, // 0002 GETMBR R1 R0 K1 - 0x8C040302, // 0003 GETMET R1 R1 K2 - 0x7C040200, // 0004 CALL R1 1 - 0x50040000, // 0005 LDBOOL R1 0 0 - 0x90020001, // 0006 SETMBR R0 K0 R1 - 0xB8060600, // 0007 GETNGBL R1 K3 - 0x8C040304, // 0008 GETMET R1 R1 K4 - 0x5C0C0000, // 0009 MOVE R3 R0 - 0x7C040400, // 000A CALL R1 2 - 0x80000000, // 000B RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: start -********************************************************************/ -be_local_closure(Matter_UDPServer_start, /* name */ - be_nested_proto( - 6, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[11]) { /* constants */ - /* K0 */ be_nested_str_weak(listening), - /* K1 */ be_nested_str_weak(udp_socket), - /* K2 */ be_nested_str_weak(udp), - /* K3 */ be_nested_str_weak(begin), - /* K4 */ be_nested_str_weak(addr), - /* K5 */ be_nested_str_weak(port), - /* K6 */ be_nested_str_weak(network_error), - /* K7 */ be_nested_str_weak(could_X20not_X20open_X20UDP_X20server), - /* K8 */ be_nested_str_weak(dispatch_cb), - /* K9 */ be_nested_str_weak(tasmota), - /* K10 */ be_nested_str_weak(add_driver), - }), - be_str_weak(start), - &be_const_str_solidified, - ( &(const binstruction[21]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x740A0011, // 0001 JMPT R2 #0014 - 0xB80A0400, // 0002 GETNGBL R2 K2 - 0x7C080000, // 0003 CALL R2 0 - 0x90020202, // 0004 SETMBR R0 K1 R2 - 0x88080101, // 0005 GETMBR R2 R0 K1 - 0x8C080503, // 0006 GETMET R2 R2 K3 - 0x88100104, // 0007 GETMBR R4 R0 K4 - 0x88140105, // 0008 GETMBR R5 R0 K5 - 0x7C080600, // 0009 CALL R2 3 - 0x5C0C0400, // 000A MOVE R3 R2 - 0x740E0000, // 000B JMPT R3 #000D - 0xB0060D07, // 000C RAISE 1 K6 K7 - 0x500C0200, // 000D LDBOOL R3 1 0 - 0x90020003, // 000E SETMBR R0 K0 R3 - 0x90021001, // 000F SETMBR R0 K8 R1 - 0xB80E1200, // 0010 GETNGBL R3 K9 - 0x8C0C070A, // 0011 GETMET R3 R3 K10 - 0x5C140000, // 0012 MOVE R5 R0 - 0x7C0C0400, // 0013 CALL R3 2 - 0x80000000, // 0014 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: received_ack -********************************************************************/ -be_local_closure(Matter_UDPServer_received_ack, /* name */ - be_nested_proto( - 10, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_str_weak(ack_message_counter), - /* K1 */ be_nested_str_weak(exchange_id), - /* K2 */ be_const_int(0), - /* K3 */ be_nested_str_weak(packets_sent), - /* K4 */ be_nested_str_weak(msg_id), - /* K5 */ be_nested_str_weak(remove), - /* K6 */ be_nested_str_weak(tasmota), - /* K7 */ be_nested_str_weak(log), - /* K8 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Removed_X20packet_X20from_X20sending_X20list_X20id_X3D), - /* K9 */ be_const_int(1), - }), - be_str_weak(received_ack), - &be_const_str_solidified, - ( &(const binstruction[36]) { /* code */ - 0x88080300, // 0000 GETMBR R2 R1 K0 - 0x880C0301, // 0001 GETMBR R3 R1 K1 - 0x4C100000, // 0002 LDNIL R4 - 0x1C100404, // 0003 EQ R4 R2 R4 - 0x78120000, // 0004 JMPF R4 #0006 - 0x80000800, // 0005 RET 0 - 0x58100002, // 0006 LDCONST R4 K2 - 0x6014000C, // 0007 GETGBL R5 G12 - 0x88180103, // 0008 GETMBR R6 R0 K3 - 0x7C140200, // 0009 CALL R5 1 - 0x14140805, // 000A LT R5 R4 R5 - 0x78160016, // 000B JMPF R5 #0023 - 0x88140103, // 000C GETMBR R5 R0 K3 - 0x94140A04, // 000D GETIDX R5 R5 R4 - 0x88180B04, // 000E GETMBR R6 R5 K4 - 0x1C180C02, // 000F EQ R6 R6 R2 - 0x781A000F, // 0010 JMPF R6 #0021 - 0x88180B01, // 0011 GETMBR R6 R5 K1 - 0x1C180C03, // 0012 EQ R6 R6 R3 - 0x781A000C, // 0013 JMPF R6 #0021 - 0x88180103, // 0014 GETMBR R6 R0 K3 - 0x8C180D05, // 0015 GETMET R6 R6 K5 - 0x5C200800, // 0016 MOVE R8 R4 - 0x7C180400, // 0017 CALL R6 2 - 0xB81A0C00, // 0018 GETNGBL R6 K6 - 0x8C180D07, // 0019 GETMET R6 R6 K7 - 0x60200008, // 001A GETGBL R8 G8 - 0x5C240400, // 001B MOVE R9 R2 - 0x7C200200, // 001C CALL R8 1 - 0x00221008, // 001D ADD R8 K8 R8 - 0x54260003, // 001E LDINT R9 4 - 0x7C180600, // 001F CALL R6 3 - 0x70020000, // 0020 JMP #0022 - 0x00100909, // 0021 ADD R4 R4 K9 - 0x7001FFE3, // 0022 JMP #0007 - 0x80000000, // 0023 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(Matter_UDPServer_init, /* name */ - be_nested_proto( - 4, /* nstack */ - 3, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str_weak(addr), - /* K1 */ be_nested_str_weak(), - /* K2 */ be_nested_str_weak(port), - /* K3 */ be_nested_str_weak(listening), - /* K4 */ be_nested_str_weak(packets_sent), - }), - be_str_weak(init), - &be_const_str_solidified, - ( &(const binstruction[16]) { /* code */ - 0x78060001, // 0000 JMPF R1 #0003 - 0x5C0C0200, // 0001 MOVE R3 R1 - 0x70020000, // 0002 JMP #0004 - 0x580C0001, // 0003 LDCONST R3 K1 - 0x90020003, // 0004 SETMBR R0 K0 R3 - 0x780A0001, // 0005 JMPF R2 #0008 - 0x5C0C0400, // 0006 MOVE R3 R2 - 0x70020000, // 0007 JMP #0009 - 0x540E15A3, // 0008 LDINT R3 5540 - 0x90020403, // 0009 SETMBR R0 K2 R3 - 0x500C0000, // 000A LDBOOL R3 0 0 - 0x90020603, // 000B SETMBR R0 K3 R3 - 0x600C0012, // 000C GETGBL R3 G18 - 0x7C0C0000, // 000D CALL R3 0 - 0x90020803, // 000E SETMBR R0 K4 R3 - 0x80000000, // 000F RET 0 - }) - ) -); -/*******************************************************************/ - - /******************************************************************** ** Solidified function: send ********************************************************************/ @@ -745,32 +679,158 @@ be_local_closure(Matter_UDPServer_send, /* name */ /*******************************************************************/ +/******************************************************************** +** Solidified function: stop +********************************************************************/ +be_local_closure(Matter_UDPServer_stop, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 6]) { /* constants */ + /* K0 */ be_nested_str_weak(listening), + /* K1 */ be_nested_str_weak(udp_socket), + /* K2 */ be_nested_str_weak(stop), + /* K3 */ be_nested_str_weak(tasmota), + /* K4 */ be_nested_str_weak(remove_fast_loop), + /* K5 */ be_nested_str_weak(loop_cb), + }), + be_str_weak(stop), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060008, // 0001 JMPF R1 #000B + 0x88040101, // 0002 GETMBR R1 R0 K1 + 0x8C040302, // 0003 GETMET R1 R1 K2 + 0x7C040200, // 0004 CALL R1 1 + 0x50040000, // 0005 LDBOOL R1 0 0 + 0x90020001, // 0006 SETMBR R0 K0 R1 + 0xB8060600, // 0007 GETNGBL R1 K3 + 0x8C040304, // 0008 GETMET R1 R1 K4 + 0x880C0105, // 0009 GETMBR R3 R0 K5 + 0x7C040400, // 000A CALL R1 2 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: loop +********************************************************************/ +be_local_closure(Matter_UDPServer_loop, /* name */ + be_nested_proto( + 11, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[12]) { /* constants */ + /* K0 */ be_const_int(0), + /* K1 */ be_nested_str_weak(udp_socket), + /* K2 */ be_nested_str_weak(read), + /* K3 */ be_const_int(1), + /* K4 */ be_nested_str_weak(remote_ip), + /* K5 */ be_nested_str_weak(remote_port), + /* K6 */ be_nested_str_weak(tasmota), + /* K7 */ be_nested_str_weak(log), + /* K8 */ be_nested_str_weak(MTR_X3A_X20UDP_X20received_X20from_X20_X5B_X25s_X5D_X3A_X25i), + /* K9 */ be_nested_str_weak(dispatch_cb), + /* K10 */ be_nested_str_weak(MAX_PACKETS_READ), + /* K11 */ be_nested_str_weak(_resend_packets), + }), + be_str_weak(loop), + &be_const_str_solidified, + ( &(const binstruction[46]) { /* code */ + 0x58040000, // 0000 LDCONST R1 K0 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x4C0C0000, // 0002 LDNIL R3 + 0x1C080403, // 0003 EQ R2 R2 R3 + 0x780A0000, // 0004 JMPF R2 #0006 + 0x80000400, // 0005 RET 0 + 0x88080101, // 0006 GETMBR R2 R0 K1 + 0x8C080502, // 0007 GETMET R2 R2 K2 + 0x7C080200, // 0008 CALL R2 1 + 0x4C0C0000, // 0009 LDNIL R3 + 0x200C0403, // 000A NE R3 R2 R3 + 0x780E001E, // 000B JMPF R3 #002B + 0x00040303, // 000C ADD R1 R1 K3 + 0x880C0101, // 000D GETMBR R3 R0 K1 + 0x880C0704, // 000E GETMBR R3 R3 K4 + 0x88100101, // 000F GETMBR R4 R0 K1 + 0x88100905, // 0010 GETMBR R4 R4 K5 + 0xB8160C00, // 0011 GETNGBL R5 K6 + 0x8C140B07, // 0012 GETMET R5 R5 K7 + 0x601C0018, // 0013 GETGBL R7 G24 + 0x58200008, // 0014 LDCONST R8 K8 + 0x5C240600, // 0015 MOVE R9 R3 + 0x5C280800, // 0016 MOVE R10 R4 + 0x7C1C0600, // 0017 CALL R7 3 + 0x54220003, // 0018 LDINT R8 4 + 0x7C140600, // 0019 CALL R5 3 + 0x88140109, // 001A GETMBR R5 R0 K9 + 0x78160004, // 001B JMPF R5 #0021 + 0x8C140109, // 001C GETMET R5 R0 K9 + 0x5C1C0400, // 001D MOVE R7 R2 + 0x5C200600, // 001E MOVE R8 R3 + 0x5C240800, // 001F MOVE R9 R4 + 0x7C140800, // 0020 CALL R5 4 + 0x8814010A, // 0021 GETMBR R5 R0 K10 + 0x14140205, // 0022 LT R5 R1 R5 + 0x78160004, // 0023 JMPF R5 #0029 + 0x88140101, // 0024 GETMBR R5 R0 K1 + 0x8C140B02, // 0025 GETMET R5 R5 K2 + 0x7C140200, // 0026 CALL R5 1 + 0x5C080A00, // 0027 MOVE R2 R5 + 0x70020000, // 0028 JMP #002A + 0x4C080000, // 0029 LDNIL R2 + 0x7001FFDD, // 002A JMP #0009 + 0x8C0C010B, // 002B GETMET R3 R0 K11 + 0x7C0C0200, // 002C CALL R3 1 + 0x80000000, // 002D RET 0 + }) + ) +); +/*******************************************************************/ + + /******************************************************************** ** Solidified class: Matter_UDPServer ********************************************************************/ be_local_class(Matter_UDPServer, - 6, + 7, NULL, - be_nested_map(18, + be_nested_map(20, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(_backoff_time, 17), be_const_static_closure(Matter_UDPServer__backoff_time_closure) }, - { be_const_key_weak(packets_sent, -1), be_const_var(5) }, - { be_const_key_weak(addr, -1), be_const_var(0) }, { be_const_key_weak(every_second, -1), be_const_closure(Matter_UDPServer_every_second_closure) }, - { be_const_key_weak(port, -1), be_const_var(1) }, - { be_const_key_weak(dispatch_cb, 1), be_const_var(4) }, - { be_const_key_weak(udp_socket, -1), be_const_var(3) }, - { be_const_key_weak(send_UDP, -1), be_const_closure(Matter_UDPServer_send_UDP_closure) }, - { be_const_key_weak(every_50ms, -1), be_const_closure(Matter_UDPServer_every_50ms_closure) }, - { be_const_key_weak(send, 10), be_const_closure(Matter_UDPServer_send_closure) }, { be_const_key_weak(RETRIES, -1), be_const_int(5) }, - { be_const_key_weak(stop, 16), be_const_closure(Matter_UDPServer_stop_closure) }, + { be_const_key_weak(udp_socket, -1), be_const_var(3) }, + { be_const_key_weak(packets_sent, -1), be_const_var(5) }, { be_const_key_weak(received_ack, -1), be_const_closure(Matter_UDPServer_received_ack_closure) }, - { be_const_key_weak(_resend_packets, 9), be_const_closure(Matter_UDPServer__resend_packets_closure) }, - { be_const_key_weak(MAX_PACKETS_READ, -1), be_const_int(4) }, + { be_const_key_weak(dispatch_cb, 0), be_const_var(4) }, + { be_const_key_weak(send, -1), be_const_closure(Matter_UDPServer_send_closure) }, + { be_const_key_weak(send_UDP, 13), be_const_closure(Matter_UDPServer_send_UDP_closure) }, + { be_const_key_weak(every_50ms, 12), be_const_closure(Matter_UDPServer_every_50ms_closure) }, + { be_const_key_weak(loop_cb, 3), be_const_var(6) }, + { be_const_key_weak(port, 16), be_const_var(1) }, + { be_const_key_weak(start, 6), be_const_closure(Matter_UDPServer_start_closure) }, + { be_const_key_weak(MAX_PACKETS_READ, 2), be_const_int(4) }, { be_const_key_weak(init, -1), be_const_closure(Matter_UDPServer_init_closure) }, - { be_const_key_weak(start, -1), be_const_closure(Matter_UDPServer_start_closure) }, { be_const_key_weak(listening, -1), be_const_var(2) }, + { be_const_key_weak(_resend_packets, 7), be_const_closure(Matter_UDPServer__resend_packets_closure) }, + { be_const_key_weak(_backoff_time, -1), be_const_static_closure(Matter_UDPServer__backoff_time_closure) }, + { be_const_key_weak(stop, -1), be_const_closure(Matter_UDPServer_stop_closure) }, + { be_const_key_weak(addr, -1), be_const_var(0) }, + { be_const_key_weak(loop, -1), be_const_closure(Matter_UDPServer_loop_closure) }, })), be_str_weak(Matter_UDPServer) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h index de3dbd022..6a9442079 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h @@ -2095,7 +2095,7 @@ be_local_closure(Matter_UI_web_add_handler, /* name */ ********************************************************************/ be_local_closure(Matter_UI_show_passcode_form, /* name */ be_nested_proto( - 9, /* nstack */ + 8, /* nstack */ 1, /* argc */ 2, /* varg */ 0, /* has upvals */ @@ -2103,7 +2103,7 @@ be_local_closure(Matter_UI_show_passcode_form, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[17]) { /* constants */ + ( &(const bvalue[15]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), /* K1 */ be_nested_str_weak(content_send), /* K2 */ be_nested_str_weak(_X3Cfieldset_X3E_X3Clegend_X3E_X3Cb_X3E_X26nbsp_X3BMatter_X20Advanced_X20Configuration_X26nbsp_X3B_X3C_X2Fb_X3E_X3C_X2Flegend_X3E_X3Cp_X3E_X3C_X2Fp_X3E), @@ -2118,13 +2118,11 @@ be_local_closure(Matter_UI_show_passcode_form, /* name */ /* K11 */ be_nested_str_weak(_X20checked), /* K12 */ be_nested_str_weak(), /* K13 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20type_X3D_X27checkbox_X27_X20name_X3D_X27ipv4_X27_X25s_X3EIPv4_X20only_X3C_X2Fp_X3E), - /* K14 */ be_nested_str_weak(disable_bridge_mode), - /* K15 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20type_X3D_X27checkbox_X27_X20name_X3D_X27nobridge_X27_X25s_X3EDisable_X20bridge_X20mode_X20_X28not_X20recommended_X29_X3C_X2Fp_X3E), - /* K16 */ be_nested_str_weak(_X3Cp_X3E_X3C_X2Fp_X3E_X3Cbutton_X20name_X3D_X27passcode_X27_X20class_X3D_X27button_X20bgrn_X27_X3EChange_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K14 */ be_nested_str_weak(_X3Cp_X3E_X3C_X2Fp_X3E_X3Cbutton_X20name_X3D_X27passcode_X27_X20class_X3D_X27button_X20bgrn_X27_X3EChange_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E), }), be_str_weak(show_passcode_form), &be_const_str_solidified, - ( &(const binstruction[52]) { /* code */ + ( &(const binstruction[40]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0x8C080301, // 0001 GETMET R2 R1 K1 0x58100002, // 0002 LDCONST R4 K2 @@ -2161,22 +2159,10 @@ be_local_closure(Matter_UI_show_passcode_form, /* name */ 0x5C1C0400, // 0021 MOVE R7 R2 0x7C140400, // 0022 CALL R5 2 0x7C0C0400, // 0023 CALL R3 2 - 0x880C0105, // 0024 GETMBR R3 R0 K5 - 0x880C070E, // 0025 GETMBR R3 R3 K14 - 0x780E0001, // 0026 JMPF R3 #0029 - 0x580C000B, // 0027 LDCONST R3 K11 - 0x70020000, // 0028 JMP #002A - 0x580C000C, // 0029 LDCONST R3 K12 - 0x8C100301, // 002A GETMET R4 R1 K1 - 0x60180018, // 002B GETGBL R6 G24 - 0x581C000F, // 002C LDCONST R7 K15 - 0x5C200600, // 002D MOVE R8 R3 - 0x7C180400, // 002E CALL R6 2 - 0x7C100400, // 002F CALL R4 2 - 0x8C100301, // 0030 GETMET R4 R1 K1 - 0x58180010, // 0031 LDCONST R6 K16 - 0x7C100400, // 0032 CALL R4 2 - 0x80000000, // 0033 RET 0 + 0x8C0C0301, // 0024 GETMET R3 R1 K1 + 0x5814000E, // 0025 LDCONST R5 K14 + 0x7C0C0400, // 0026 CALL R3 2 + 0x80000000, // 0027 RET 0 }) ) ); @@ -2196,112 +2182,111 @@ be_local_closure(Matter_UI_page_part_ctl, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[101]) { /* constants */ + ( &(const bvalue[100]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), /* K1 */ be_nested_str_weak(check_privileged_access), /* K2 */ be_nested_str_weak(string), /* K3 */ be_nested_str_weak(partition_core), /* K4 */ be_nested_str_weak(persist), - /* K5 */ be_const_int(0), - /* K6 */ be_nested_str_weak(arg_size), - /* K7 */ be_const_int(1), + /* K5 */ be_nested_str_weak(has_arg), + /* K6 */ be_nested_str_weak(passcode), + /* K7 */ be_nested_str_weak(discriminator), /* K8 */ be_nested_str_weak(tasmota), /* K9 */ be_nested_str_weak(log), - /* K10 */ be_nested_str_weak(MTR_X3A_X20Arg_X25i_X20_X27_X25s_X27_X20_X3D_X20_X27_X25s_X27), - /* K11 */ be_nested_str_weak(arg_name), - /* K12 */ be_nested_str_weak(arg), - /* K13 */ be_nested_str_weak(stop_iteration), - /* K14 */ be_nested_str_weak(has_arg), - /* K15 */ be_nested_str_weak(passcode), - /* K16 */ be_nested_str_weak(discriminator), - /* K17 */ be_nested_str_weak(MTR_X3A_X20_X2Fmatterc_X20received_X20_X27_X25s_X27_X20command), - /* K18 */ be_const_int(3), - /* K19 */ be_nested_str_weak(device), - /* K20 */ be_nested_str_weak(root_passcode), - /* K21 */ be_nested_str_weak(root_discriminator), - /* K22 */ be_nested_str_weak(ipv4only), - /* K23 */ be_nested_str_weak(ipv4), - /* K24 */ be_nested_str_weak(on), + /* K10 */ be_nested_str_weak(MTR_X3A_X20_X2Fmatterc_X20received_X20_X27_X25s_X27_X20command), + /* K11 */ be_const_int(3), + /* K12 */ be_nested_str_weak(device), + /* K13 */ be_nested_str_weak(root_passcode), + /* K14 */ be_nested_str_weak(arg), + /* K15 */ be_nested_str_weak(root_discriminator), + /* K16 */ be_nested_str_weak(ipv4only), + /* K17 */ be_nested_str_weak(ipv4), + /* K18 */ be_nested_str_weak(on), + /* K19 */ be_nested_str_weak(save_param), + /* K20 */ be_nested_str_weak(redirect), + /* K21 */ be_nested_str_weak(_X2F_X3Frst_X3D), + /* K22 */ be_nested_str_weak(save), + /* K23 */ be_nested_str_weak(menable), + /* K24 */ be_nested_str_weak(comm), /* K25 */ be_nested_str_weak(disable_bridge_mode), /* K26 */ be_nested_str_weak(nobridge), - /* K27 */ be_nested_str_weak(save_param), - /* K28 */ be_nested_str_weak(redirect), - /* K29 */ be_nested_str_weak(_X2F_X3Frst_X3D), - /* K30 */ be_nested_str_weak(save), - /* K31 */ be_nested_str_weak(menable), - /* K32 */ be_nested_str_weak(comm), - /* K33 */ be_nested_str_weak(matter_enabled), - /* K34 */ be_nested_str_weak(enable), - /* K35 */ be_nested_str_weak(cmd), - /* K36 */ be_nested_str_weak(SetOption), - /* K37 */ be_nested_str_weak(matter), - /* K38 */ be_nested_str_weak(MATTER_OPTION), - /* K39 */ be_nested_str_weak(_X201), - /* K40 */ be_nested_str_weak(disable), - /* K41 */ be_nested_str_weak(_X200), - /* K42 */ be_nested_str_weak(commissioning_open), - /* K43 */ be_nested_str_weak(start_root_basic_commissioning), - /* K44 */ be_nested_str_weak(stop_basic_commissioning), - /* K45 */ be_nested_str_weak(_X2F), - /* K46 */ be_nested_str_weak(del_fabric), - /* K47 */ be_nested_str_weak(sessions), - /* K48 */ be_nested_str_weak(fabrics), - /* K49 */ be_nested_str_weak(get_fabric_index), - /* K50 */ be_nested_str_weak(remove_fabric), - /* K51 */ be_nested_str_weak(_X2Fmatterc_X3F), - /* K52 */ be_nested_str_weak(auto), - /* K53 */ be_nested_str_weak(plugins_persist), - /* K54 */ be_nested_str_weak(config), - /* K55 */ be_nested_str_weak(find), - /* K56 */ be_const_int(2147483647), - /* K57 */ be_nested_str_weak(plugins_config), - /* K58 */ be_nested_str_weak(plugins_classes), - /* K59 */ be_nested_str_weak(type), - /* K60 */ be_nested_str_weak(), - /* K61 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20arg_X3D_X25s), - /* K62 */ be_nested_str_weak(ui_conf_to_string), - /* K63 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20prev_arg_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27_X20_X25s), - /* K64 */ be_nested_str_weak(changed), - /* K65 */ be_nested_str_weak(ui_string_to_conf), - /* K66 */ be_nested_str_weak(find_plugin_by_endpoint), - /* K67 */ be_nested_str_weak(MTR_X3A_X20apply_X20conf_X20_X27_X25s_X27_X20_X28_X25i_X29_X20to_X20_X25s), - /* K68 */ be_nested_str_weak(parse_configuration), - /* K69 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20not_X20found), - /* K70 */ be_nested_str_weak(nam), - /* K71 */ be_nested_str_weak(name), - /* K72 */ be_nested_str_weak(set_name), - /* K73 */ be_nested_str_weak(remove), - /* K74 */ be_nested_str_weak(MTR_X3A_X20apply_X20name_X20_X27_X25s_X27_X20_X28_X25i_X29_X20to_X20_X25s), - /* K75 */ be_nested_str_weak(MTR_X3A_X20config_X20_X3D_X20_X25s), - /* K76 */ be_nested_str_weak(MTR_X3A_X20config_X20error_X20_X3D_X20_X25s), - /* K77 */ be_nested_str_weak(addep), - /* K78 */ be_nested_str_weak(pi), - /* K79 */ be_nested_str_weak(MTR_X3A_X20add_X20endpoint_X20typ_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27), - /* K80 */ be_nested_str_weak(bridge_add_endpoint), - /* K81 */ be_nested_str_weak(addrem), - /* K82 */ be_nested_str_weak(url), - /* K83 */ be_nested_str_weak(value_error), - /* K84 */ be_nested_str_weak(url_X20shouldn_X27t_X20be_X20null), - /* K85 */ be_nested_str_weak(equal_map), - /* K86 */ be_nested_str_weak(MTR_X3A_X20remote_X20add_X20url_X3D_X27_X25s_X27_X20type_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27), - /* K87 */ be_nested_str_weak(del), - /* K88 */ be_nested_str_weak(bridge_remove_endpoint), - /* K89 */ be_nested_str_weak(content_start), - /* K90 */ be_nested_str_weak(Parameter_X20error), - /* K91 */ be_nested_str_weak(content_send_style), - /* K92 */ be_nested_str_weak(content_send), - /* K93 */ be_nested_str_weak(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EError_X3A_X3C_X2Fb_X3E_X25s_X3C_X2Fp_X3E), - /* K94 */ be_nested_str_weak(html_escape), - /* K95 */ be_nested_str_weak(content_button), - /* K96 */ be_nested_str_weak(BUTTON_CONFIGURATION), - /* K97 */ be_nested_str_weak(content_stop), - /* K98 */ be_nested_str_weak(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s), - /* K99 */ be_const_int(2), - /* K100 */ be_nested_str_weak(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E), + /* K27 */ be_nested_str_weak(matter_enabled), + /* K28 */ be_nested_str_weak(enable), + /* K29 */ be_nested_str_weak(cmd), + /* K30 */ be_nested_str_weak(SetOption), + /* K31 */ be_nested_str_weak(matter), + /* K32 */ be_nested_str_weak(MATTER_OPTION), + /* K33 */ be_nested_str_weak(_X201), + /* K34 */ be_nested_str_weak(disable), + /* K35 */ be_nested_str_weak(_X200), + /* K36 */ be_nested_str_weak(commissioning_open), + /* K37 */ be_nested_str_weak(start_root_basic_commissioning), + /* K38 */ be_nested_str_weak(stop_basic_commissioning), + /* K39 */ be_nested_str_weak(_X2F), + /* K40 */ be_nested_str_weak(del_fabric), + /* K41 */ be_const_int(0), + /* K42 */ be_nested_str_weak(sessions), + /* K43 */ be_nested_str_weak(fabrics), + /* K44 */ be_nested_str_weak(get_fabric_index), + /* K45 */ be_nested_str_weak(remove_fabric), + /* K46 */ be_const_int(1), + /* K47 */ be_nested_str_weak(_X2Fmatterc_X3F), + /* K48 */ be_nested_str_weak(auto), + /* K49 */ be_nested_str_weak(plugins_persist), + /* K50 */ be_nested_str_weak(config), + /* K51 */ be_nested_str_weak(arg_size), + /* K52 */ be_nested_str_weak(arg_name), + /* K53 */ be_nested_str_weak(find), + /* K54 */ be_const_int(2147483647), + /* K55 */ be_nested_str_weak(plugins_config), + /* K56 */ be_nested_str_weak(plugins_classes), + /* K57 */ be_nested_str_weak(type), + /* K58 */ be_nested_str_weak(), + /* K59 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20arg_X3D_X25s), + /* K60 */ be_nested_str_weak(ui_conf_to_string), + /* K61 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20prev_arg_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27_X20_X25s), + /* K62 */ be_nested_str_weak(changed), + /* K63 */ be_nested_str_weak(ui_string_to_conf), + /* K64 */ be_nested_str_weak(find_plugin_by_endpoint), + /* K65 */ be_nested_str_weak(MTR_X3A_X20apply_X20conf_X20_X27_X25s_X27_X20_X28_X25i_X29_X20to_X20_X25s), + /* K66 */ be_nested_str_weak(parse_configuration), + /* K67 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20not_X20found), + /* K68 */ be_nested_str_weak(nam), + /* K69 */ be_nested_str_weak(name), + /* K70 */ be_nested_str_weak(set_name), + /* K71 */ be_nested_str_weak(remove), + /* K72 */ be_nested_str_weak(MTR_X3A_X20apply_X20name_X20_X27_X25s_X27_X20_X28_X25i_X29_X20to_X20_X25s), + /* K73 */ be_nested_str_weak(stop_iteration), + /* K74 */ be_nested_str_weak(MTR_X3A_X20config_X20_X3D_X20_X25s), + /* K75 */ be_nested_str_weak(MTR_X3A_X20config_X20error_X20_X3D_X20_X25s), + /* K76 */ be_nested_str_weak(addep), + /* K77 */ be_nested_str_weak(pi), + /* K78 */ be_nested_str_weak(MTR_X3A_X20add_X20endpoint_X20typ_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27), + /* K79 */ be_nested_str_weak(bridge_add_endpoint), + /* K80 */ be_nested_str_weak(addrem), + /* K81 */ be_nested_str_weak(url), + /* K82 */ be_nested_str_weak(value_error), + /* K83 */ be_nested_str_weak(url_X20shouldn_X27t_X20be_X20null), + /* K84 */ be_nested_str_weak(equal_map), + /* K85 */ be_nested_str_weak(MTR_X3A_X20remote_X20add_X20url_X3D_X27_X25s_X27_X20type_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27), + /* K86 */ be_nested_str_weak(del), + /* K87 */ be_nested_str_weak(bridge_remove_endpoint), + /* K88 */ be_nested_str_weak(content_start), + /* K89 */ be_nested_str_weak(Parameter_X20error), + /* K90 */ be_nested_str_weak(content_send_style), + /* K91 */ be_nested_str_weak(content_send), + /* K92 */ be_nested_str_weak(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EError_X3A_X3C_X2Fb_X3E_X25s_X3C_X2Fp_X3E), + /* K93 */ be_nested_str_weak(html_escape), + /* K94 */ be_nested_str_weak(content_button), + /* K95 */ be_nested_str_weak(BUTTON_CONFIGURATION), + /* K96 */ be_nested_str_weak(content_stop), + /* K97 */ be_nested_str_weak(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s), + /* K98 */ be_const_int(2), + /* K99 */ be_nested_str_weak(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E), }), be_str_weak(page_part_ctl), &be_const_str_solidified, - ( &(const binstruction[694]) { /* code */ + ( &(const binstruction[668]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0x8C080301, // 0001 GETMET R2 R1 K1 0x7C080200, // 0002 CALL R2 1 @@ -2312,690 +2297,664 @@ be_local_closure(Matter_UI_page_part_ctl, /* name */ 0xA40E0600, // 0007 IMPORT R3 K3 0xA4120800, // 0008 IMPORT R4 K4 0x4C140000, // 0009 LDNIL R5 - 0xA802028B, // 000A EXBLK 0 #0297 - 0x60180010, // 000B GETGBL R6 G16 - 0x8C1C0306, // 000C GETMET R7 R1 K6 - 0x7C1C0200, // 000D CALL R7 1 - 0x041C0F07, // 000E SUB R7 R7 K7 - 0x401E0A07, // 000F CONNECT R7 K5 R7 - 0x7C180200, // 0010 CALL R6 1 - 0xA802000F, // 0011 EXBLK 0 #0022 - 0x5C1C0C00, // 0012 MOVE R7 R6 - 0x7C1C0000, // 0013 CALL R7 0 - 0xB8221000, // 0014 GETNGBL R8 K8 - 0x8C201109, // 0015 GETMET R8 R8 K9 - 0x60280018, // 0016 GETGBL R10 G24 - 0x582C000A, // 0017 LDCONST R11 K10 - 0x5C300E00, // 0018 MOVE R12 R7 - 0x8C34030B, // 0019 GETMET R13 R1 K11 - 0x5C3C0E00, // 001A MOVE R15 R7 - 0x7C340400, // 001B CALL R13 2 - 0x8C38030C, // 001C GETMET R14 R1 K12 - 0x5C400E00, // 001D MOVE R16 R7 - 0x7C380400, // 001E CALL R14 2 - 0x7C280800, // 001F CALL R10 4 - 0x7C200400, // 0020 CALL R8 2 - 0x7001FFEF, // 0021 JMP #0012 - 0x5818000D, // 0022 LDCONST R6 K13 - 0xAC180200, // 0023 CATCH R6 1 0 - 0xB0080000, // 0024 RAISE 2 R0 R0 - 0x8C18030E, // 0025 GETMET R6 R1 K14 - 0x5820000F, // 0026 LDCONST R8 K15 - 0x7C180400, // 0027 CALL R6 2 - 0x741A0003, // 0028 JMPT R6 #002D - 0x8C18030E, // 0029 GETMET R6 R1 K14 - 0x58200010, // 002A LDCONST R8 K16 - 0x7C180400, // 002B CALL R6 2 - 0x781A0030, // 002C JMPF R6 #005E - 0xB81A1000, // 002D GETNGBL R6 K8 - 0x8C180D09, // 002E GETMET R6 R6 K9 - 0x60200018, // 002F GETGBL R8 G24 - 0x58240011, // 0030 LDCONST R9 K17 - 0x5828000F, // 0031 LDCONST R10 K15 - 0x7C200400, // 0032 CALL R8 2 - 0x58240012, // 0033 LDCONST R9 K18 - 0x7C180600, // 0034 CALL R6 3 - 0x8C18030E, // 0035 GETMET R6 R1 K14 - 0x5820000F, // 0036 LDCONST R8 K15 - 0x7C180400, // 0037 CALL R6 2 - 0x781A0006, // 0038 JMPF R6 #0040 - 0x88180113, // 0039 GETMBR R6 R0 K19 - 0x601C0009, // 003A GETGBL R7 G9 - 0x8C20030C, // 003B GETMET R8 R1 K12 - 0x5828000F, // 003C LDCONST R10 K15 - 0x7C200400, // 003D CALL R8 2 - 0x7C1C0200, // 003E CALL R7 1 - 0x901A2807, // 003F SETMBR R6 K20 R7 - 0x8C18030E, // 0040 GETMET R6 R1 K14 - 0x58200010, // 0041 LDCONST R8 K16 - 0x7C180400, // 0042 CALL R6 2 - 0x781A0006, // 0043 JMPF R6 #004B - 0x88180113, // 0044 GETMBR R6 R0 K19 - 0x601C0009, // 0045 GETGBL R7 G9 - 0x8C20030C, // 0046 GETMET R8 R1 K12 - 0x58280010, // 0047 LDCONST R10 K16 - 0x7C200400, // 0048 CALL R8 2 - 0x7C1C0200, // 0049 CALL R7 1 - 0x901A2A07, // 004A SETMBR R6 K21 R7 - 0x88180113, // 004B GETMBR R6 R0 K19 - 0x8C1C030C, // 004C GETMET R7 R1 K12 - 0x58240017, // 004D LDCONST R9 K23 - 0x7C1C0400, // 004E CALL R7 2 - 0x1C1C0F18, // 004F EQ R7 R7 K24 - 0x901A2C07, // 0050 SETMBR R6 K22 R7 - 0x88180113, // 0051 GETMBR R6 R0 K19 - 0x8C1C030C, // 0052 GETMET R7 R1 K12 - 0x5824001A, // 0053 LDCONST R9 K26 - 0x7C1C0400, // 0054 CALL R7 2 - 0x1C1C0F18, // 0055 EQ R7 R7 K24 - 0x901A3207, // 0056 SETMBR R6 K25 R7 - 0x88180113, // 0057 GETMBR R6 R0 K19 - 0x8C180D1B, // 0058 GETMET R6 R6 K27 - 0x7C180200, // 0059 CALL R6 1 - 0x8C18031C, // 005A GETMET R6 R1 K28 - 0x5820001D, // 005B LDCONST R8 K29 - 0x7C180400, // 005C CALL R6 2 - 0x70020223, // 005D JMP #0282 - 0x8C18030E, // 005E GETMET R6 R1 K14 - 0x5820001E, // 005F LDCONST R8 K30 - 0x7C180400, // 0060 CALL R6 2 - 0x781A0047, // 0061 JMPF R6 #00AA - 0x8C18030E, // 0062 GETMET R6 R1 K14 - 0x5820001F, // 0063 LDCONST R8 K31 - 0x7C180400, // 0064 CALL R6 2 - 0x8C1C030E, // 0065 GETMET R7 R1 K14 - 0x58240020, // 0066 LDCONST R9 K32 - 0x7C1C0400, // 0067 CALL R7 2 - 0x8C200121, // 0068 GETMET R8 R0 K33 - 0x7C200200, // 0069 CALL R8 1 - 0x20200C08, // 006A NE R8 R6 R8 - 0x78220027, // 006B JMPF R8 #0094 - 0x781A0011, // 006C JMPF R6 #007F + 0xA8020271, // 000A EXBLK 0 #027D + 0x8C180305, // 000B GETMET R6 R1 K5 + 0x58200006, // 000C LDCONST R8 K6 + 0x7C180400, // 000D CALL R6 2 + 0x741A0003, // 000E JMPT R6 #0013 + 0x8C180305, // 000F GETMET R6 R1 K5 + 0x58200007, // 0010 LDCONST R8 K7 + 0x7C180400, // 0011 CALL R6 2 + 0x781A002A, // 0012 JMPF R6 #003E + 0xB81A1000, // 0013 GETNGBL R6 K8 + 0x8C180D09, // 0014 GETMET R6 R6 K9 + 0x60200018, // 0015 GETGBL R8 G24 + 0x5824000A, // 0016 LDCONST R9 K10 + 0x58280006, // 0017 LDCONST R10 K6 + 0x7C200400, // 0018 CALL R8 2 + 0x5824000B, // 0019 LDCONST R9 K11 + 0x7C180600, // 001A CALL R6 3 + 0x8C180305, // 001B GETMET R6 R1 K5 + 0x58200006, // 001C LDCONST R8 K6 + 0x7C180400, // 001D CALL R6 2 + 0x781A0006, // 001E JMPF R6 #0026 + 0x8818010C, // 001F GETMBR R6 R0 K12 + 0x601C0009, // 0020 GETGBL R7 G9 + 0x8C20030E, // 0021 GETMET R8 R1 K14 + 0x58280006, // 0022 LDCONST R10 K6 + 0x7C200400, // 0023 CALL R8 2 + 0x7C1C0200, // 0024 CALL R7 1 + 0x901A1A07, // 0025 SETMBR R6 K13 R7 + 0x8C180305, // 0026 GETMET R6 R1 K5 + 0x58200007, // 0027 LDCONST R8 K7 + 0x7C180400, // 0028 CALL R6 2 + 0x781A0006, // 0029 JMPF R6 #0031 + 0x8818010C, // 002A GETMBR R6 R0 K12 + 0x601C0009, // 002B GETGBL R7 G9 + 0x8C20030E, // 002C GETMET R8 R1 K14 + 0x58280007, // 002D LDCONST R10 K7 + 0x7C200400, // 002E CALL R8 2 + 0x7C1C0200, // 002F CALL R7 1 + 0x901A1E07, // 0030 SETMBR R6 K15 R7 + 0x8818010C, // 0031 GETMBR R6 R0 K12 + 0x8C1C030E, // 0032 GETMET R7 R1 K14 + 0x58240011, // 0033 LDCONST R9 K17 + 0x7C1C0400, // 0034 CALL R7 2 + 0x1C1C0F12, // 0035 EQ R7 R7 K18 + 0x901A2007, // 0036 SETMBR R6 K16 R7 + 0x8818010C, // 0037 GETMBR R6 R0 K12 + 0x8C180D13, // 0038 GETMET R6 R6 K19 + 0x7C180200, // 0039 CALL R6 1 + 0x8C180314, // 003A GETMET R6 R1 K20 + 0x58200015, // 003B LDCONST R8 K21 + 0x7C180400, // 003C CALL R6 2 + 0x70020229, // 003D JMP #0268 + 0x8C180305, // 003E GETMET R6 R1 K5 + 0x58200016, // 003F LDCONST R8 K22 + 0x7C180400, // 0040 CALL R6 2 + 0x781A004D, // 0041 JMPF R6 #0090 + 0x8C180305, // 0042 GETMET R6 R1 K5 + 0x58200017, // 0043 LDCONST R8 K23 + 0x7C180400, // 0044 CALL R6 2 + 0x8C1C0305, // 0045 GETMET R7 R1 K5 + 0x58240018, // 0046 LDCONST R9 K24 + 0x7C1C0400, // 0047 CALL R7 2 + 0x8820010C, // 0048 GETMBR R8 R0 K12 + 0x8C24030E, // 0049 GETMET R9 R1 K14 + 0x582C001A, // 004A LDCONST R11 K26 + 0x7C240400, // 004B CALL R9 2 + 0x1C241312, // 004C EQ R9 R9 K18 + 0x90223209, // 004D SETMBR R8 K25 R9 + 0x8C20011B, // 004E GETMET R8 R0 K27 + 0x7C200200, // 004F CALL R8 1 + 0x20200C08, // 0050 NE R8 R6 R8 + 0x78220027, // 0051 JMPF R8 #007A + 0x781A0011, // 0052 JMPF R6 #0065 + 0xB8221000, // 0053 GETNGBL R8 K8 + 0x8C201109, // 0054 GETMET R8 R8 K9 + 0x60280018, // 0055 GETGBL R10 G24 + 0x582C000A, // 0056 LDCONST R11 K10 + 0x5830001C, // 0057 LDCONST R12 K28 + 0x7C280400, // 0058 CALL R10 2 + 0x582C000B, // 0059 LDCONST R11 K11 + 0x7C200600, // 005A CALL R8 3 + 0xB8221000, // 005B GETNGBL R8 K8 + 0x8C20111D, // 005C GETMET R8 R8 K29 + 0x60280008, // 005D GETGBL R10 G8 + 0xB82E3E00, // 005E GETNGBL R11 K31 + 0x882C1720, // 005F GETMBR R11 R11 K32 + 0x7C280200, // 0060 CALL R10 1 + 0x002A3C0A, // 0061 ADD R10 K30 R10 + 0x00281521, // 0062 ADD R10 R10 K33 + 0x7C200400, // 0063 CALL R8 2 + 0x70020010, // 0064 JMP #0076 + 0xB8221000, // 0065 GETNGBL R8 K8 + 0x8C201109, // 0066 GETMET R8 R8 K9 + 0x60280018, // 0067 GETGBL R10 G24 + 0x582C000A, // 0068 LDCONST R11 K10 + 0x58300022, // 0069 LDCONST R12 K34 + 0x7C280400, // 006A CALL R10 2 + 0x582C000B, // 006B LDCONST R11 K11 + 0x7C200600, // 006C CALL R8 3 0xB8221000, // 006D GETNGBL R8 K8 - 0x8C201109, // 006E GETMET R8 R8 K9 - 0x60280018, // 006F GETGBL R10 G24 - 0x582C0011, // 0070 LDCONST R11 K17 - 0x58300022, // 0071 LDCONST R12 K34 - 0x7C280400, // 0072 CALL R10 2 - 0x582C0012, // 0073 LDCONST R11 K18 - 0x7C200600, // 0074 CALL R8 3 - 0xB8221000, // 0075 GETNGBL R8 K8 - 0x8C201123, // 0076 GETMET R8 R8 K35 - 0x60280008, // 0077 GETGBL R10 G8 - 0xB82E4A00, // 0078 GETNGBL R11 K37 - 0x882C1726, // 0079 GETMBR R11 R11 K38 - 0x7C280200, // 007A CALL R10 1 - 0x002A480A, // 007B ADD R10 K36 R10 - 0x00281527, // 007C ADD R10 R10 K39 - 0x7C200400, // 007D CALL R8 2 - 0x70020010, // 007E JMP #0090 - 0xB8221000, // 007F GETNGBL R8 K8 - 0x8C201109, // 0080 GETMET R8 R8 K9 - 0x60280018, // 0081 GETGBL R10 G24 - 0x582C0011, // 0082 LDCONST R11 K17 - 0x58300028, // 0083 LDCONST R12 K40 - 0x7C280400, // 0084 CALL R10 2 - 0x582C0012, // 0085 LDCONST R11 K18 - 0x7C200600, // 0086 CALL R8 3 - 0xB8221000, // 0087 GETNGBL R8 K8 - 0x8C201123, // 0088 GETMET R8 R8 K35 - 0x60280008, // 0089 GETGBL R10 G8 - 0xB82E4A00, // 008A GETNGBL R11 K37 - 0x882C1726, // 008B GETMBR R11 R11 K38 - 0x7C280200, // 008C CALL R10 1 - 0x002A480A, // 008D ADD R10 K36 R10 - 0x00281529, // 008E ADD R10 R10 K41 - 0x7C200400, // 008F CALL R8 2 - 0x8C20031C, // 0090 GETMET R8 R1 K28 - 0x5828001D, // 0091 LDCONST R10 K29 - 0x7C200400, // 0092 CALL R8 2 - 0x70020014, // 0093 JMP #00A9 - 0x88200113, // 0094 GETMBR R8 R0 K19 - 0x8820112A, // 0095 GETMBR R8 R8 K42 - 0x4C240000, // 0096 LDNIL R9 - 0x20201009, // 0097 NE R8 R8 R9 - 0x20200E08, // 0098 NE R8 R7 R8 - 0x7822000B, // 0099 JMPF R8 #00A6 - 0x781E0003, // 009A JMPF R7 #009F - 0x88200113, // 009B GETMBR R8 R0 K19 - 0x8C20112B, // 009C GETMET R8 R8 K43 - 0x7C200200, // 009D CALL R8 1 - 0x70020002, // 009E JMP #00A2 - 0x88200113, // 009F GETMBR R8 R0 K19 - 0x8C20112C, // 00A0 GETMET R8 R8 K44 - 0x7C200200, // 00A1 CALL R8 1 - 0x8C20031C, // 00A2 GETMET R8 R1 K28 - 0x5828002D, // 00A3 LDCONST R10 K45 - 0x7C200400, // 00A4 CALL R8 2 - 0x70020002, // 00A5 JMP #00A9 - 0x8C20031C, // 00A6 GETMET R8 R1 K28 - 0x5828002D, // 00A7 LDCONST R10 K45 - 0x7C200400, // 00A8 CALL R8 2 - 0x700201D7, // 00A9 JMP #0282 - 0x8C18030E, // 00AA GETMET R6 R1 K14 - 0x5820002E, // 00AB LDCONST R8 K46 - 0x7C180400, // 00AC CALL R6 2 - 0x781A0026, // 00AD JMPF R6 #00D5 - 0xB81A1000, // 00AE GETNGBL R6 K8 - 0x8C180D09, // 00AF GETMET R6 R6 K9 - 0x60200018, // 00B0 GETGBL R8 G24 - 0x58240011, // 00B1 LDCONST R9 K17 - 0x5828002E, // 00B2 LDCONST R10 K46 - 0x7C200400, // 00B3 CALL R8 2 - 0x58240012, // 00B4 LDCONST R9 K18 - 0x7C180600, // 00B5 CALL R6 3 - 0x60180009, // 00B6 GETGBL R6 G9 - 0x8C1C030C, // 00B7 GETMET R7 R1 K12 - 0x5824002E, // 00B8 LDCONST R9 K46 - 0x7C1C0400, // 00B9 CALL R7 2 - 0x7C180200, // 00BA CALL R6 1 - 0x581C0005, // 00BB LDCONST R7 K5 - 0x88200113, // 00BC GETMBR R8 R0 K19 - 0x8820112F, // 00BD GETMBR R8 R8 K47 - 0x88201130, // 00BE GETMBR R8 R8 K48 - 0x6024000C, // 00BF GETGBL R9 G12 - 0x5C281000, // 00C0 MOVE R10 R8 - 0x7C240200, // 00C1 CALL R9 1 - 0x14240E09, // 00C2 LT R9 R7 R9 - 0x7826000C, // 00C3 JMPF R9 #00D1 - 0x94241007, // 00C4 GETIDX R9 R8 R7 - 0x8C241331, // 00C5 GETMET R9 R9 K49 - 0x7C240200, // 00C6 CALL R9 1 - 0x1C241206, // 00C7 EQ R9 R9 R6 - 0x78260005, // 00C8 JMPF R9 #00CF - 0x88240113, // 00C9 GETMBR R9 R0 K19 - 0x8C241332, // 00CA GETMET R9 R9 K50 - 0x942C1007, // 00CB GETIDX R11 R8 R7 - 0x7C240400, // 00CC CALL R9 2 - 0x70020002, // 00CD JMP #00D1 - 0x70020000, // 00CE JMP #00D0 - 0x001C0F07, // 00CF ADD R7 R7 K7 - 0x7001FFED, // 00D0 JMP #00BF - 0x8C24031C, // 00D1 GETMET R9 R1 K28 - 0x582C0033, // 00D2 LDCONST R11 K51 - 0x7C240400, // 00D3 CALL R9 2 - 0x700201AC, // 00D4 JMP #0282 - 0x8C18030E, // 00D5 GETMET R6 R1 K14 - 0x58200034, // 00D6 LDCONST R8 K52 - 0x7C180400, // 00D7 CALL R6 2 - 0x781A0011, // 00D8 JMPF R6 #00EB - 0xB81A1000, // 00D9 GETNGBL R6 K8 - 0x8C180D09, // 00DA GETMET R6 R6 K9 - 0x60200018, // 00DB GETGBL R8 G24 - 0x58240011, // 00DC LDCONST R9 K17 - 0x58280034, // 00DD LDCONST R10 K52 - 0x7C200400, // 00DE CALL R8 2 - 0x58240012, // 00DF LDCONST R9 K18 - 0x7C180600, // 00E0 CALL R6 3 - 0x88180113, // 00E1 GETMBR R6 R0 K19 - 0x501C0000, // 00E2 LDBOOL R7 0 0 - 0x901A6A07, // 00E3 SETMBR R6 K53 R7 - 0x88180113, // 00E4 GETMBR R6 R0 K19 - 0x8C180D1B, // 00E5 GETMET R6 R6 K27 - 0x7C180200, // 00E6 CALL R6 1 - 0x8C18031C, // 00E7 GETMET R6 R1 K28 - 0x5820001D, // 00E8 LDCONST R8 K29 - 0x7C180400, // 00E9 CALL R6 2 - 0x70020196, // 00EA JMP #0282 - 0x8C18030E, // 00EB GETMET R6 R1 K14 - 0x58200036, // 00EC LDCONST R8 K54 - 0x7C180400, // 00ED CALL R6 2 - 0x781A00D6, // 00EE JMPF R6 #01C6 - 0xB81A1000, // 00EF GETNGBL R6 K8 - 0x8C180D09, // 00F0 GETMET R6 R6 K9 - 0x60200018, // 00F1 GETGBL R8 G24 - 0x58240011, // 00F2 LDCONST R9 K17 - 0x58280036, // 00F3 LDCONST R10 K54 - 0x7C200400, // 00F4 CALL R8 2 - 0x58240012, // 00F5 LDCONST R9 K18 - 0x7C180600, // 00F6 CALL R6 3 - 0x50180000, // 00F7 LDBOOL R6 0 0 - 0x601C0010, // 00F8 GETGBL R7 G16 - 0x8C200306, // 00F9 GETMET R8 R1 K6 - 0x7C200200, // 00FA CALL R8 1 - 0x04201107, // 00FB SUB R8 R8 K7 - 0x40220A08, // 00FC CONNECT R8 K5 R8 - 0x7C1C0200, // 00FD CALL R7 1 - 0xA80200A0, // 00FE EXBLK 0 #01A0 - 0x5C200E00, // 00FF MOVE R8 R7 - 0x7C200000, // 0100 CALL R8 0 - 0x8C24030B, // 0101 GETMET R9 R1 K11 - 0x5C2C1000, // 0102 MOVE R11 R8 - 0x7C240400, // 0103 CALL R9 2 - 0x8C280537, // 0104 GETMET R10 R2 K55 - 0x5C301200, // 0105 MOVE R12 R9 - 0x5834000C, // 0106 LDCONST R13 K12 - 0x7C280600, // 0107 CALL R10 3 - 0x1C281505, // 0108 EQ R10 R10 K5 - 0x782A005B, // 0109 JMPF R10 #0166 - 0x60280009, // 010A GETGBL R10 G9 - 0x402E2538, // 010B CONNECT R11 K18 K56 - 0x942C120B, // 010C GETIDX R11 R9 R11 - 0x7C280200, // 010D CALL R10 1 - 0x8C2C030C, // 010E GETMET R11 R1 K12 - 0x5C341000, // 010F MOVE R13 R8 - 0x7C2C0400, // 0110 CALL R11 2 - 0x88300113, // 0111 GETMBR R12 R0 K19 - 0x88301939, // 0112 GETMBR R12 R12 K57 - 0x8C301937, // 0113 GETMET R12 R12 K55 - 0x60380008, // 0114 GETGBL R14 G8 - 0x5C3C1400, // 0115 MOVE R15 R10 - 0x7C380200, // 0116 CALL R14 1 - 0x7C300400, // 0117 CALL R12 2 - 0x4C340000, // 0118 LDNIL R13 - 0x2034180D, // 0119 NE R13 R12 R13 - 0x78360041, // 011A JMPF R13 #015D - 0x88340113, // 011B GETMBR R13 R0 K19 - 0x88341B3A, // 011C GETMBR R13 R13 K58 - 0x8C341B37, // 011D GETMET R13 R13 K55 - 0x8C3C1937, // 011E GETMET R15 R12 K55 - 0x5844003B, // 011F LDCONST R17 K59 - 0x5848003C, // 0120 LDCONST R18 K60 - 0x7C3C0600, // 0121 CALL R15 3 - 0x7C340400, // 0122 CALL R13 2 - 0x4C380000, // 0123 LDNIL R14 - 0x20381A0E, // 0124 NE R14 R13 R14 - 0x783A0035, // 0125 JMPF R14 #015C - 0xB83A1000, // 0126 GETNGBL R14 K8 - 0x8C381D09, // 0127 GETMET R14 R14 K9 - 0x60400018, // 0128 GETGBL R16 G24 - 0x5844003D, // 0129 LDCONST R17 K61 - 0x5C481400, // 012A MOVE R18 R10 - 0x5C4C1600, // 012B MOVE R19 R11 - 0x7C400600, // 012C CALL R16 3 - 0x58440012, // 012D LDCONST R17 K18 - 0x7C380600, // 012E CALL R14 3 - 0x8C381B3E, // 012F GETMET R14 R13 K62 - 0x5C401A00, // 0130 MOVE R16 R13 - 0x5C441800, // 0131 MOVE R17 R12 - 0x7C380600, // 0132 CALL R14 3 - 0x203C1C0B, // 0133 NE R15 R14 R11 - 0xB8421000, // 0134 GETNGBL R16 K8 - 0x8C402109, // 0135 GETMET R16 R16 K9 - 0x60480018, // 0136 GETGBL R18 G24 - 0x584C003F, // 0137 LDCONST R19 K63 - 0x5C501400, // 0138 MOVE R20 R10 - 0x5C541C00, // 0139 MOVE R21 R14 - 0x5C581600, // 013A MOVE R22 R11 - 0x205C1C0B, // 013B NE R23 R14 R11 - 0x785E0001, // 013C JMPF R23 #013F - 0x585C0040, // 013D LDCONST R23 K64 - 0x70020000, // 013E JMP #0140 - 0x585C003C, // 013F LDCONST R23 K60 - 0x7C480A00, // 0140 CALL R18 5 - 0x584C0012, // 0141 LDCONST R19 K18 - 0x7C400600, // 0142 CALL R16 3 - 0x783E0017, // 0143 JMPF R15 #015C - 0x50180200, // 0144 LDBOOL R6 1 0 - 0x8C401B41, // 0145 GETMET R16 R13 K65 - 0x5C481A00, // 0146 MOVE R18 R13 - 0x5C4C1800, // 0147 MOVE R19 R12 - 0x5C501600, // 0148 MOVE R20 R11 - 0x7C400800, // 0149 CALL R16 4 - 0x88400113, // 014A GETMBR R16 R0 K19 - 0x8C402142, // 014B GETMET R16 R16 K66 - 0x5C481400, // 014C MOVE R18 R10 - 0x7C400400, // 014D CALL R16 2 - 0x7842000C, // 014E JMPF R16 #015C - 0xB8461000, // 014F GETNGBL R17 K8 - 0x8C442309, // 0150 GETMET R17 R17 K9 - 0x604C0018, // 0151 GETGBL R19 G24 - 0x58500043, // 0152 LDCONST R20 K67 - 0x5C541800, // 0153 MOVE R21 R12 - 0x5C581400, // 0154 MOVE R22 R10 - 0x5C5C2000, // 0155 MOVE R23 R16 - 0x7C4C0800, // 0156 CALL R19 4 - 0x58500012, // 0157 LDCONST R20 K18 - 0x7C440600, // 0158 CALL R17 3 - 0x8C442144, // 0159 GETMET R17 R16 K68 - 0x5C4C1800, // 015A MOVE R19 R12 - 0x7C440400, // 015B CALL R17 2 - 0x70020007, // 015C JMP #0165 - 0xB8361000, // 015D GETNGBL R13 K8 - 0x8C341B09, // 015E GETMET R13 R13 K9 - 0x603C0018, // 015F GETGBL R15 G24 - 0x58400045, // 0160 LDCONST R16 K69 - 0x5C441400, // 0161 MOVE R17 R10 - 0x7C3C0400, // 0162 CALL R15 2 - 0x58400012, // 0163 LDCONST R16 K18 - 0x7C340600, // 0164 CALL R13 3 - 0x70020038, // 0165 JMP #019F - 0x8C280537, // 0166 GETMET R10 R2 K55 - 0x5C301200, // 0167 MOVE R12 R9 - 0x58340046, // 0168 LDCONST R13 K70 - 0x7C280600, // 0169 CALL R10 3 - 0x1C281505, // 016A EQ R10 R10 K5 - 0x782A0032, // 016B JMPF R10 #019F - 0x60280009, // 016C GETGBL R10 G9 - 0x402E2538, // 016D CONNECT R11 K18 K56 - 0x942C120B, // 016E GETIDX R11 R9 R11 - 0x7C280200, // 016F CALL R10 1 - 0x8C2C030C, // 0170 GETMET R11 R1 K12 - 0x5C341000, // 0171 MOVE R13 R8 - 0x7C2C0400, // 0172 CALL R11 2 - 0x88300113, // 0173 GETMBR R12 R0 K19 - 0x88301939, // 0174 GETMBR R12 R12 K57 - 0x8C301937, // 0175 GETMET R12 R12 K55 - 0x60380008, // 0176 GETGBL R14 G8 - 0x5C3C1400, // 0177 MOVE R15 R10 - 0x7C380200, // 0178 CALL R14 1 - 0x7C300400, // 0179 CALL R12 2 - 0x4C340000, // 017A LDNIL R13 - 0x2034180D, // 017B NE R13 R12 R13 - 0x78360021, // 017C JMPF R13 #019F - 0x8C341937, // 017D GETMET R13 R12 K55 - 0x583C0047, // 017E LDCONST R15 K71 - 0x5840003C, // 017F LDCONST R16 K60 - 0x7C340600, // 0180 CALL R13 3 - 0x20381A0B, // 0181 NE R14 R13 R11 - 0x783A001B, // 0182 JMPF R14 #019F - 0x50180200, // 0183 LDBOOL R6 1 0 - 0x883C0113, // 0184 GETMBR R15 R0 K19 - 0x8C3C1F42, // 0185 GETMET R15 R15 K66 - 0x5C441400, // 0186 MOVE R17 R10 - 0x7C3C0400, // 0187 CALL R15 2 - 0x783E0015, // 0188 JMPF R15 #019F - 0x8C401F48, // 0189 GETMET R16 R15 K72 - 0x5C481600, // 018A MOVE R18 R11 - 0x7C400400, // 018B CALL R16 2 - 0x782E0001, // 018C JMPF R11 #018F - 0x98328E0B, // 018D SETIDX R12 K71 R11 - 0x70020002, // 018E JMP #0192 - 0x8C401949, // 018F GETMET R16 R12 K73 - 0x58480047, // 0190 LDCONST R18 K71 - 0x7C400400, // 0191 CALL R16 2 - 0xB8421000, // 0192 GETNGBL R16 K8 - 0x8C402109, // 0193 GETMET R16 R16 K9 - 0x60480018, // 0194 GETGBL R18 G24 - 0x584C004A, // 0195 LDCONST R19 K74 - 0x5C501800, // 0196 MOVE R20 R12 - 0x5C541400, // 0197 MOVE R21 R10 - 0x5C581E00, // 0198 MOVE R22 R15 - 0x7C480800, // 0199 CALL R18 4 - 0x584C0012, // 019A LDCONST R19 K18 - 0x7C400600, // 019B CALL R16 3 - 0x8C401F44, // 019C GETMET R16 R15 K68 - 0x5C481800, // 019D MOVE R18 R12 - 0x7C400400, // 019E CALL R16 2 - 0x7001FF5E, // 019F JMP #00FF - 0x581C000D, // 01A0 LDCONST R7 K13 - 0xAC1C0200, // 01A1 CATCH R7 1 0 - 0xB0080000, // 01A2 RAISE 2 R0 R0 - 0xB81E1000, // 01A3 GETNGBL R7 K8 - 0x8C1C0F09, // 01A4 GETMET R7 R7 K9 - 0x60240018, // 01A5 GETGBL R9 G24 - 0x5828004B, // 01A6 LDCONST R10 K75 - 0x602C0008, // 01A7 GETGBL R11 G8 - 0x88300113, // 01A8 GETMBR R12 R0 K19 - 0x88301939, // 01A9 GETMBR R12 R12 K57 - 0x7C2C0200, // 01AA CALL R11 1 - 0x7C240400, // 01AB CALL R9 2 - 0x58280012, // 01AC LDCONST R10 K18 - 0x7C1C0600, // 01AD CALL R7 3 - 0x78160008, // 01AE JMPF R5 #01B8 - 0xB81E1000, // 01AF GETNGBL R7 K8 - 0x8C1C0F09, // 01B0 GETMET R7 R7 K9 - 0x60240018, // 01B1 GETGBL R9 G24 - 0x5828004C, // 01B2 LDCONST R10 K76 - 0x5C2C0A00, // 01B3 MOVE R11 R5 - 0x7C240400, // 01B4 CALL R9 2 - 0x58280012, // 01B5 LDCONST R10 K18 - 0x7C1C0600, // 01B6 CALL R7 3 - 0x7002000C, // 01B7 JMP #01C5 - 0x741A0002, // 01B8 JMPT R6 #01BC - 0x881C0113, // 01B9 GETMBR R7 R0 K19 - 0x881C0F35, // 01BA GETMBR R7 R7 K53 - 0x741E0005, // 01BB JMPT R7 #01C2 - 0x881C0113, // 01BC GETMBR R7 R0 K19 - 0x50200200, // 01BD LDBOOL R8 1 0 - 0x901E6A08, // 01BE SETMBR R7 K53 R8 - 0x881C0113, // 01BF GETMBR R7 R0 K19 - 0x8C1C0F1B, // 01C0 GETMET R7 R7 K27 - 0x7C1C0200, // 01C1 CALL R7 1 - 0x8C1C031C, // 01C2 GETMET R7 R1 K28 - 0x58240033, // 01C3 LDCONST R9 K51 - 0x7C1C0400, // 01C4 CALL R7 2 - 0x700200BB, // 01C5 JMP #0282 - 0x8C18030E, // 01C6 GETMET R6 R1 K14 - 0x5820004D, // 01C7 LDCONST R8 K77 - 0x7C180400, // 01C8 CALL R6 2 - 0x781A002B, // 01C9 JMPF R6 #01F6 - 0x8C18030C, // 01CA GETMET R6 R1 K12 - 0x5820004E, // 01CB LDCONST R8 K78 - 0x7C180400, // 01CC CALL R6 2 - 0x8C1C030C, // 01CD GETMET R7 R1 K12 - 0x5824000C, // 01CE LDCONST R9 K12 - 0x7C1C0400, // 01CF CALL R7 2 - 0x8C20030C, // 01D0 GETMET R8 R1 K12 - 0x58280046, // 01D1 LDCONST R10 K70 - 0x7C200400, // 01D2 CALL R8 2 - 0xB8261000, // 01D3 GETNGBL R9 K8 - 0x8C241309, // 01D4 GETMET R9 R9 K9 - 0x602C0018, // 01D5 GETGBL R11 G24 - 0x5830004F, // 01D6 LDCONST R12 K79 - 0x5C340C00, // 01D7 MOVE R13 R6 - 0x5C380E00, // 01D8 MOVE R14 R7 - 0x7C2C0600, // 01D9 CALL R11 3 - 0x58300012, // 01DA LDCONST R12 K18 - 0x7C240600, // 01DB CALL R9 3 - 0x88240113, // 01DC GETMBR R9 R0 K19 - 0x8824133A, // 01DD GETMBR R9 R9 K58 - 0x8C241337, // 01DE GETMET R9 R9 K55 - 0x5C2C0C00, // 01DF MOVE R11 R6 - 0x7C240400, // 01E0 CALL R9 2 - 0x4C280000, // 01E1 LDNIL R10 - 0x2028120A, // 01E2 NE R10 R9 R10 - 0x782A000D, // 01E3 JMPF R10 #01F2 - 0x60280013, // 01E4 GETGBL R10 G19 - 0x7C280000, // 01E5 CALL R10 0 - 0x78220000, // 01E6 JMPF R8 #01E8 - 0x982A8E08, // 01E7 SETIDX R10 K71 R8 - 0x8C2C1341, // 01E8 GETMET R11 R9 K65 - 0x5C341200, // 01E9 MOVE R13 R9 - 0x5C381400, // 01EA MOVE R14 R10 - 0x5C3C0E00, // 01EB MOVE R15 R7 - 0x7C2C0800, // 01EC CALL R11 4 - 0x882C0113, // 01ED GETMBR R11 R0 K19 - 0x8C2C1750, // 01EE GETMET R11 R11 K80 - 0x5C340C00, // 01EF MOVE R13 R6 - 0x5C381400, // 01F0 MOVE R14 R10 - 0x7C2C0600, // 01F1 CALL R11 3 - 0x8C28031C, // 01F2 GETMET R10 R1 K28 - 0x58300033, // 01F3 LDCONST R12 K51 - 0x7C280400, // 01F4 CALL R10 2 - 0x7002008B, // 01F5 JMP #0282 - 0x8C18030E, // 01F6 GETMET R6 R1 K14 - 0x58200051, // 01F7 LDCONST R8 K81 - 0x7C180400, // 01F8 CALL R6 2 - 0x781A005E, // 01F9 JMPF R6 #0259 - 0x8C18030C, // 01FA GETMET R6 R1 K12 - 0x58200052, // 01FB LDCONST R8 K82 - 0x7C180400, // 01FC CALL R6 2 - 0x4C1C0000, // 01FD LDNIL R7 - 0x1C1C0C07, // 01FE EQ R7 R6 R7 - 0x741E0001, // 01FF JMPT R7 #0202 - 0x1C1C0D3C, // 0200 EQ R7 R6 K60 - 0x781E0000, // 0201 JMPF R7 #0203 - 0xB006A754, // 0202 RAISE 1 K83 K84 - 0x581C0005, // 0203 LDCONST R7 K5 - 0x60200008, // 0204 GETGBL R8 G8 - 0x5C240E00, // 0205 MOVE R9 R7 - 0x7C200200, // 0206 CALL R8 1 - 0x8C24030E, // 0207 GETMET R9 R1 K14 - 0x002E9C08, // 0208 ADD R11 K78 R8 - 0x7C240400, // 0209 CALL R9 2 - 0x78260049, // 020A JMPF R9 #0255 - 0x8C24030C, // 020B GETMET R9 R1 K12 - 0x002E9C08, // 020C ADD R11 K78 R8 - 0x7C240400, // 020D CALL R9 2 - 0x8C28030C, // 020E GETMET R10 R1 K12 - 0x00321808, // 020F ADD R12 K12 R8 - 0x7C280400, // 0210 CALL R10 2 - 0x8C2C030C, // 0211 GETMET R11 R1 K12 - 0x00368C08, // 0212 ADD R13 K70 R8 - 0x7C2C0400, // 0213 CALL R11 2 - 0x2030133C, // 0214 NE R12 R9 K60 - 0x78320038, // 0215 JMPF R12 #024F - 0x88300113, // 0216 GETMBR R12 R0 K19 - 0x8830193A, // 0217 GETMBR R12 R12 K58 - 0x8C301937, // 0218 GETMET R12 R12 K55 - 0x5C381200, // 0219 MOVE R14 R9 - 0x7C300400, // 021A CALL R12 2 - 0x4C340000, // 021B LDNIL R13 - 0x2034180D, // 021C NE R13 R12 R13 - 0x78360030, // 021D JMPF R13 #024F - 0x60340013, // 021E GETGBL R13 G19 - 0x7C340000, // 021F CALL R13 0 - 0x9836A406, // 0220 SETIDX R13 K82 R6 - 0x98367609, // 0221 SETIDX R13 K59 R9 - 0x782E0000, // 0222 JMPF R11 #0224 - 0x98368E0B, // 0223 SETIDX R13 K71 R11 - 0x8C381941, // 0224 GETMET R14 R12 K65 - 0x5C401800, // 0225 MOVE R16 R12 - 0x5C441A00, // 0226 MOVE R17 R13 - 0x5C481400, // 0227 MOVE R18 R10 - 0x7C380800, // 0228 CALL R14 4 - 0x50380000, // 0229 LDBOOL R14 0 0 - 0x603C0010, // 022A GETGBL R15 G16 - 0x88400113, // 022B GETMBR R16 R0 K19 - 0x88402139, // 022C GETMBR R16 R16 K57 - 0x7C3C0200, // 022D CALL R15 1 - 0xA802000B, // 022E EXBLK 0 #023B - 0x5C401E00, // 022F MOVE R16 R15 - 0x7C400000, // 0230 CALL R16 0 - 0x8C440155, // 0231 GETMET R17 R0 K85 - 0x5C4C2000, // 0232 MOVE R19 R16 - 0x5C501A00, // 0233 MOVE R20 R13 - 0x7C440600, // 0234 CALL R17 3 - 0x78460001, // 0235 JMPF R17 #0238 - 0x50380200, // 0236 LDBOOL R14 1 0 - 0x70020000, // 0237 JMP #0239 - 0x7001FFF5, // 0238 JMP #022F - 0xA8040001, // 0239 EXBLK 1 1 - 0x70020002, // 023A JMP #023E - 0x583C000D, // 023B LDCONST R15 K13 - 0xAC3C0200, // 023C CATCH R15 1 0 - 0xB0080000, // 023D RAISE 2 R0 R0 - 0x5C3C1C00, // 023E MOVE R15 R14 - 0x743E000E, // 023F JMPT R15 #024F - 0xB83E1000, // 0240 GETNGBL R15 K8 - 0x8C3C1F09, // 0241 GETMET R15 R15 K9 - 0x60440018, // 0242 GETGBL R17 G24 - 0x58480056, // 0243 LDCONST R18 K86 - 0x5C4C0C00, // 0244 MOVE R19 R6 - 0x5C501200, // 0245 MOVE R20 R9 - 0x5C541400, // 0246 MOVE R21 R10 - 0x7C440800, // 0247 CALL R17 4 - 0x58480012, // 0248 LDCONST R18 K18 - 0x7C3C0600, // 0249 CALL R15 3 - 0x883C0113, // 024A GETMBR R15 R0 K19 - 0x8C3C1F50, // 024B GETMET R15 R15 K80 - 0x5C441200, // 024C MOVE R17 R9 - 0x5C481A00, // 024D MOVE R18 R13 - 0x7C3C0600, // 024E CALL R15 3 - 0x001C0F07, // 024F ADD R7 R7 K7 - 0x60300008, // 0250 GETGBL R12 G8 - 0x5C340E00, // 0251 MOVE R13 R7 - 0x7C300200, // 0252 CALL R12 1 - 0x5C201800, // 0253 MOVE R8 R12 - 0x7001FFB1, // 0254 JMP #0207 - 0x8C24031C, // 0255 GETMET R9 R1 K28 - 0x582C0033, // 0256 LDCONST R11 K51 - 0x7C240400, // 0257 CALL R9 2 - 0x70020028, // 0258 JMP #0282 - 0x4C180000, // 0259 LDNIL R6 - 0x601C0010, // 025A GETGBL R7 G16 - 0x8C200306, // 025B GETMET R8 R1 K6 - 0x7C200200, // 025C CALL R8 1 - 0x04201107, // 025D SUB R8 R8 K7 - 0x40220A08, // 025E CONNECT R8 K5 R8 - 0x7C1C0200, // 025F CALL R7 1 - 0xA8020013, // 0260 EXBLK 0 #0275 - 0x5C200E00, // 0261 MOVE R8 R7 - 0x7C200000, // 0262 CALL R8 0 - 0x8C24030B, // 0263 GETMET R9 R1 K11 - 0x5C2C1000, // 0264 MOVE R11 R8 - 0x7C240400, // 0265 CALL R9 2 - 0x8C280537, // 0266 GETMET R10 R2 K55 - 0x5C301200, // 0267 MOVE R12 R9 - 0x58340057, // 0268 LDCONST R13 K87 - 0x7C280600, // 0269 CALL R10 3 - 0x1C281505, // 026A EQ R10 R10 K5 - 0x782A0005, // 026B JMPF R10 #0272 - 0x60280009, // 026C GETGBL R10 G9 - 0x402E2538, // 026D CONNECT R11 K18 K56 - 0x942C120B, // 026E GETIDX R11 R9 R11 - 0x7C280200, // 026F CALL R10 1 - 0x5C181400, // 0270 MOVE R6 R10 - 0x70020000, // 0271 JMP #0273 - 0x7001FFED, // 0272 JMP #0261 - 0xA8040001, // 0273 EXBLK 1 1 - 0x70020002, // 0274 JMP #0278 - 0x581C000D, // 0275 LDCONST R7 K13 - 0xAC1C0200, // 0276 CATCH R7 1 0 - 0xB0080000, // 0277 RAISE 2 R0 R0 - 0x4C1C0000, // 0278 LDNIL R7 - 0x201C0C07, // 0279 NE R7 R6 R7 - 0x781E0006, // 027A JMPF R7 #0282 - 0x881C0113, // 027B GETMBR R7 R0 K19 - 0x8C1C0F58, // 027C GETMET R7 R7 K88 - 0x5C240C00, // 027D MOVE R9 R6 - 0x7C1C0400, // 027E CALL R7 2 - 0x8C1C031C, // 027F GETMET R7 R1 K28 - 0x58240033, // 0280 LDCONST R9 K51 - 0x7C1C0400, // 0281 CALL R7 2 - 0x78160011, // 0282 JMPF R5 #0295 - 0x8C180359, // 0283 GETMET R6 R1 K89 - 0x5820005A, // 0284 LDCONST R8 K90 - 0x7C180400, // 0285 CALL R6 2 - 0x8C18035B, // 0286 GETMET R6 R1 K91 - 0x7C180200, // 0287 CALL R6 1 - 0x8C18035C, // 0288 GETMET R6 R1 K92 - 0x60200018, // 0289 GETGBL R8 G24 - 0x5824005D, // 028A LDCONST R9 K93 - 0x8C28035E, // 028B GETMET R10 R1 K94 - 0x5C300A00, // 028C MOVE R12 R5 - 0x7C280400, // 028D CALL R10 2 - 0x7C200400, // 028E CALL R8 2 - 0x7C180400, // 028F CALL R6 2 - 0x8C18035F, // 0290 GETMET R6 R1 K95 - 0x88200360, // 0291 GETMBR R8 R1 K96 - 0x7C180400, // 0292 CALL R6 2 - 0x8C180361, // 0293 GETMET R6 R1 K97 - 0x7C180200, // 0294 CALL R6 1 - 0xA8040001, // 0295 EXBLK 1 1 - 0x7002001D, // 0296 JMP #02B5 - 0xAC180002, // 0297 CATCH R6 0 2 - 0x7002001A, // 0298 JMP #02B4 - 0xB8221000, // 0299 GETNGBL R8 K8 - 0x8C201109, // 029A GETMET R8 R8 K9 - 0x60280018, // 029B GETGBL R10 G24 - 0x582C0062, // 029C LDCONST R11 K98 - 0x5C300C00, // 029D MOVE R12 R6 - 0x5C340E00, // 029E MOVE R13 R7 - 0x7C280600, // 029F CALL R10 3 - 0x582C0063, // 02A0 LDCONST R11 K99 - 0x7C200600, // 02A1 CALL R8 3 - 0x8C200359, // 02A2 GETMET R8 R1 K89 - 0x5828005A, // 02A3 LDCONST R10 K90 - 0x7C200400, // 02A4 CALL R8 2 - 0x8C20035B, // 02A5 GETMET R8 R1 K91 - 0x7C200200, // 02A6 CALL R8 1 - 0x8C20035C, // 02A7 GETMET R8 R1 K92 - 0x60280018, // 02A8 GETGBL R10 G24 - 0x582C0064, // 02A9 LDCONST R11 K100 - 0x5C300C00, // 02AA MOVE R12 R6 - 0x5C340E00, // 02AB MOVE R13 R7 - 0x7C280600, // 02AC CALL R10 3 - 0x7C200400, // 02AD CALL R8 2 - 0x8C20035F, // 02AE GETMET R8 R1 K95 - 0x88280360, // 02AF GETMBR R10 R1 K96 - 0x7C200400, // 02B0 CALL R8 2 - 0x8C200361, // 02B1 GETMET R8 R1 K97 - 0x7C200200, // 02B2 CALL R8 1 - 0x70020000, // 02B3 JMP #02B5 - 0xB0080000, // 02B4 RAISE 2 R0 R0 - 0x80000000, // 02B5 RET 0 + 0x8C20111D, // 006E GETMET R8 R8 K29 + 0x60280008, // 006F GETGBL R10 G8 + 0xB82E3E00, // 0070 GETNGBL R11 K31 + 0x882C1720, // 0071 GETMBR R11 R11 K32 + 0x7C280200, // 0072 CALL R10 1 + 0x002A3C0A, // 0073 ADD R10 K30 R10 + 0x00281523, // 0074 ADD R10 R10 K35 + 0x7C200400, // 0075 CALL R8 2 + 0x8C200314, // 0076 GETMET R8 R1 K20 + 0x58280015, // 0077 LDCONST R10 K21 + 0x7C200400, // 0078 CALL R8 2 + 0x70020014, // 0079 JMP #008F + 0x8820010C, // 007A GETMBR R8 R0 K12 + 0x88201124, // 007B GETMBR R8 R8 K36 + 0x4C240000, // 007C LDNIL R9 + 0x20201009, // 007D NE R8 R8 R9 + 0x20200E08, // 007E NE R8 R7 R8 + 0x7822000B, // 007F JMPF R8 #008C + 0x781E0003, // 0080 JMPF R7 #0085 + 0x8820010C, // 0081 GETMBR R8 R0 K12 + 0x8C201125, // 0082 GETMET R8 R8 K37 + 0x7C200200, // 0083 CALL R8 1 + 0x70020002, // 0084 JMP #0088 + 0x8820010C, // 0085 GETMBR R8 R0 K12 + 0x8C201126, // 0086 GETMET R8 R8 K38 + 0x7C200200, // 0087 CALL R8 1 + 0x8C200314, // 0088 GETMET R8 R1 K20 + 0x58280027, // 0089 LDCONST R10 K39 + 0x7C200400, // 008A CALL R8 2 + 0x70020002, // 008B JMP #008F + 0x8C200314, // 008C GETMET R8 R1 K20 + 0x58280027, // 008D LDCONST R10 K39 + 0x7C200400, // 008E CALL R8 2 + 0x700201D7, // 008F JMP #0268 + 0x8C180305, // 0090 GETMET R6 R1 K5 + 0x58200028, // 0091 LDCONST R8 K40 + 0x7C180400, // 0092 CALL R6 2 + 0x781A0026, // 0093 JMPF R6 #00BB + 0xB81A1000, // 0094 GETNGBL R6 K8 + 0x8C180D09, // 0095 GETMET R6 R6 K9 + 0x60200018, // 0096 GETGBL R8 G24 + 0x5824000A, // 0097 LDCONST R9 K10 + 0x58280028, // 0098 LDCONST R10 K40 + 0x7C200400, // 0099 CALL R8 2 + 0x5824000B, // 009A LDCONST R9 K11 + 0x7C180600, // 009B CALL R6 3 + 0x60180009, // 009C GETGBL R6 G9 + 0x8C1C030E, // 009D GETMET R7 R1 K14 + 0x58240028, // 009E LDCONST R9 K40 + 0x7C1C0400, // 009F CALL R7 2 + 0x7C180200, // 00A0 CALL R6 1 + 0x581C0029, // 00A1 LDCONST R7 K41 + 0x8820010C, // 00A2 GETMBR R8 R0 K12 + 0x8820112A, // 00A3 GETMBR R8 R8 K42 + 0x8820112B, // 00A4 GETMBR R8 R8 K43 + 0x6024000C, // 00A5 GETGBL R9 G12 + 0x5C281000, // 00A6 MOVE R10 R8 + 0x7C240200, // 00A7 CALL R9 1 + 0x14240E09, // 00A8 LT R9 R7 R9 + 0x7826000C, // 00A9 JMPF R9 #00B7 + 0x94241007, // 00AA GETIDX R9 R8 R7 + 0x8C24132C, // 00AB GETMET R9 R9 K44 + 0x7C240200, // 00AC CALL R9 1 + 0x1C241206, // 00AD EQ R9 R9 R6 + 0x78260005, // 00AE JMPF R9 #00B5 + 0x8824010C, // 00AF GETMBR R9 R0 K12 + 0x8C24132D, // 00B0 GETMET R9 R9 K45 + 0x942C1007, // 00B1 GETIDX R11 R8 R7 + 0x7C240400, // 00B2 CALL R9 2 + 0x70020002, // 00B3 JMP #00B7 + 0x70020000, // 00B4 JMP #00B6 + 0x001C0F2E, // 00B5 ADD R7 R7 K46 + 0x7001FFED, // 00B6 JMP #00A5 + 0x8C240314, // 00B7 GETMET R9 R1 K20 + 0x582C002F, // 00B8 LDCONST R11 K47 + 0x7C240400, // 00B9 CALL R9 2 + 0x700201AC, // 00BA JMP #0268 + 0x8C180305, // 00BB GETMET R6 R1 K5 + 0x58200030, // 00BC LDCONST R8 K48 + 0x7C180400, // 00BD CALL R6 2 + 0x781A0011, // 00BE JMPF R6 #00D1 + 0xB81A1000, // 00BF GETNGBL R6 K8 + 0x8C180D09, // 00C0 GETMET R6 R6 K9 + 0x60200018, // 00C1 GETGBL R8 G24 + 0x5824000A, // 00C2 LDCONST R9 K10 + 0x58280030, // 00C3 LDCONST R10 K48 + 0x7C200400, // 00C4 CALL R8 2 + 0x5824000B, // 00C5 LDCONST R9 K11 + 0x7C180600, // 00C6 CALL R6 3 + 0x8818010C, // 00C7 GETMBR R6 R0 K12 + 0x501C0000, // 00C8 LDBOOL R7 0 0 + 0x901A6207, // 00C9 SETMBR R6 K49 R7 + 0x8818010C, // 00CA GETMBR R6 R0 K12 + 0x8C180D13, // 00CB GETMET R6 R6 K19 + 0x7C180200, // 00CC CALL R6 1 + 0x8C180314, // 00CD GETMET R6 R1 K20 + 0x58200015, // 00CE LDCONST R8 K21 + 0x7C180400, // 00CF CALL R6 2 + 0x70020196, // 00D0 JMP #0268 + 0x8C180305, // 00D1 GETMET R6 R1 K5 + 0x58200032, // 00D2 LDCONST R8 K50 + 0x7C180400, // 00D3 CALL R6 2 + 0x781A00D6, // 00D4 JMPF R6 #01AC + 0xB81A1000, // 00D5 GETNGBL R6 K8 + 0x8C180D09, // 00D6 GETMET R6 R6 K9 + 0x60200018, // 00D7 GETGBL R8 G24 + 0x5824000A, // 00D8 LDCONST R9 K10 + 0x58280032, // 00D9 LDCONST R10 K50 + 0x7C200400, // 00DA CALL R8 2 + 0x5824000B, // 00DB LDCONST R9 K11 + 0x7C180600, // 00DC CALL R6 3 + 0x50180000, // 00DD LDBOOL R6 0 0 + 0x601C0010, // 00DE GETGBL R7 G16 + 0x8C200333, // 00DF GETMET R8 R1 K51 + 0x7C200200, // 00E0 CALL R8 1 + 0x0420112E, // 00E1 SUB R8 R8 K46 + 0x40225208, // 00E2 CONNECT R8 K41 R8 + 0x7C1C0200, // 00E3 CALL R7 1 + 0xA80200A0, // 00E4 EXBLK 0 #0186 + 0x5C200E00, // 00E5 MOVE R8 R7 + 0x7C200000, // 00E6 CALL R8 0 + 0x8C240334, // 00E7 GETMET R9 R1 K52 + 0x5C2C1000, // 00E8 MOVE R11 R8 + 0x7C240400, // 00E9 CALL R9 2 + 0x8C280535, // 00EA GETMET R10 R2 K53 + 0x5C301200, // 00EB MOVE R12 R9 + 0x5834000E, // 00EC LDCONST R13 K14 + 0x7C280600, // 00ED CALL R10 3 + 0x1C281529, // 00EE EQ R10 R10 K41 + 0x782A005B, // 00EF JMPF R10 #014C + 0x60280009, // 00F0 GETGBL R10 G9 + 0x402E1736, // 00F1 CONNECT R11 K11 K54 + 0x942C120B, // 00F2 GETIDX R11 R9 R11 + 0x7C280200, // 00F3 CALL R10 1 + 0x8C2C030E, // 00F4 GETMET R11 R1 K14 + 0x5C341000, // 00F5 MOVE R13 R8 + 0x7C2C0400, // 00F6 CALL R11 2 + 0x8830010C, // 00F7 GETMBR R12 R0 K12 + 0x88301937, // 00F8 GETMBR R12 R12 K55 + 0x8C301935, // 00F9 GETMET R12 R12 K53 + 0x60380008, // 00FA GETGBL R14 G8 + 0x5C3C1400, // 00FB MOVE R15 R10 + 0x7C380200, // 00FC CALL R14 1 + 0x7C300400, // 00FD CALL R12 2 + 0x4C340000, // 00FE LDNIL R13 + 0x2034180D, // 00FF NE R13 R12 R13 + 0x78360041, // 0100 JMPF R13 #0143 + 0x8834010C, // 0101 GETMBR R13 R0 K12 + 0x88341B38, // 0102 GETMBR R13 R13 K56 + 0x8C341B35, // 0103 GETMET R13 R13 K53 + 0x8C3C1935, // 0104 GETMET R15 R12 K53 + 0x58440039, // 0105 LDCONST R17 K57 + 0x5848003A, // 0106 LDCONST R18 K58 + 0x7C3C0600, // 0107 CALL R15 3 + 0x7C340400, // 0108 CALL R13 2 + 0x4C380000, // 0109 LDNIL R14 + 0x20381A0E, // 010A NE R14 R13 R14 + 0x783A0035, // 010B JMPF R14 #0142 + 0xB83A1000, // 010C GETNGBL R14 K8 + 0x8C381D09, // 010D GETMET R14 R14 K9 + 0x60400018, // 010E GETGBL R16 G24 + 0x5844003B, // 010F LDCONST R17 K59 + 0x5C481400, // 0110 MOVE R18 R10 + 0x5C4C1600, // 0111 MOVE R19 R11 + 0x7C400600, // 0112 CALL R16 3 + 0x5844000B, // 0113 LDCONST R17 K11 + 0x7C380600, // 0114 CALL R14 3 + 0x8C381B3C, // 0115 GETMET R14 R13 K60 + 0x5C401A00, // 0116 MOVE R16 R13 + 0x5C441800, // 0117 MOVE R17 R12 + 0x7C380600, // 0118 CALL R14 3 + 0x203C1C0B, // 0119 NE R15 R14 R11 + 0xB8421000, // 011A GETNGBL R16 K8 + 0x8C402109, // 011B GETMET R16 R16 K9 + 0x60480018, // 011C GETGBL R18 G24 + 0x584C003D, // 011D LDCONST R19 K61 + 0x5C501400, // 011E MOVE R20 R10 + 0x5C541C00, // 011F MOVE R21 R14 + 0x5C581600, // 0120 MOVE R22 R11 + 0x205C1C0B, // 0121 NE R23 R14 R11 + 0x785E0001, // 0122 JMPF R23 #0125 + 0x585C003E, // 0123 LDCONST R23 K62 + 0x70020000, // 0124 JMP #0126 + 0x585C003A, // 0125 LDCONST R23 K58 + 0x7C480A00, // 0126 CALL R18 5 + 0x584C000B, // 0127 LDCONST R19 K11 + 0x7C400600, // 0128 CALL R16 3 + 0x783E0017, // 0129 JMPF R15 #0142 + 0x50180200, // 012A LDBOOL R6 1 0 + 0x8C401B3F, // 012B GETMET R16 R13 K63 + 0x5C481A00, // 012C MOVE R18 R13 + 0x5C4C1800, // 012D MOVE R19 R12 + 0x5C501600, // 012E MOVE R20 R11 + 0x7C400800, // 012F CALL R16 4 + 0x8840010C, // 0130 GETMBR R16 R0 K12 + 0x8C402140, // 0131 GETMET R16 R16 K64 + 0x5C481400, // 0132 MOVE R18 R10 + 0x7C400400, // 0133 CALL R16 2 + 0x7842000C, // 0134 JMPF R16 #0142 + 0xB8461000, // 0135 GETNGBL R17 K8 + 0x8C442309, // 0136 GETMET R17 R17 K9 + 0x604C0018, // 0137 GETGBL R19 G24 + 0x58500041, // 0138 LDCONST R20 K65 + 0x5C541800, // 0139 MOVE R21 R12 + 0x5C581400, // 013A MOVE R22 R10 + 0x5C5C2000, // 013B MOVE R23 R16 + 0x7C4C0800, // 013C CALL R19 4 + 0x5850000B, // 013D LDCONST R20 K11 + 0x7C440600, // 013E CALL R17 3 + 0x8C442142, // 013F GETMET R17 R16 K66 + 0x5C4C1800, // 0140 MOVE R19 R12 + 0x7C440400, // 0141 CALL R17 2 + 0x70020007, // 0142 JMP #014B + 0xB8361000, // 0143 GETNGBL R13 K8 + 0x8C341B09, // 0144 GETMET R13 R13 K9 + 0x603C0018, // 0145 GETGBL R15 G24 + 0x58400043, // 0146 LDCONST R16 K67 + 0x5C441400, // 0147 MOVE R17 R10 + 0x7C3C0400, // 0148 CALL R15 2 + 0x5840000B, // 0149 LDCONST R16 K11 + 0x7C340600, // 014A CALL R13 3 + 0x70020038, // 014B JMP #0185 + 0x8C280535, // 014C GETMET R10 R2 K53 + 0x5C301200, // 014D MOVE R12 R9 + 0x58340044, // 014E LDCONST R13 K68 + 0x7C280600, // 014F CALL R10 3 + 0x1C281529, // 0150 EQ R10 R10 K41 + 0x782A0032, // 0151 JMPF R10 #0185 + 0x60280009, // 0152 GETGBL R10 G9 + 0x402E1736, // 0153 CONNECT R11 K11 K54 + 0x942C120B, // 0154 GETIDX R11 R9 R11 + 0x7C280200, // 0155 CALL R10 1 + 0x8C2C030E, // 0156 GETMET R11 R1 K14 + 0x5C341000, // 0157 MOVE R13 R8 + 0x7C2C0400, // 0158 CALL R11 2 + 0x8830010C, // 0159 GETMBR R12 R0 K12 + 0x88301937, // 015A GETMBR R12 R12 K55 + 0x8C301935, // 015B GETMET R12 R12 K53 + 0x60380008, // 015C GETGBL R14 G8 + 0x5C3C1400, // 015D MOVE R15 R10 + 0x7C380200, // 015E CALL R14 1 + 0x7C300400, // 015F CALL R12 2 + 0x4C340000, // 0160 LDNIL R13 + 0x2034180D, // 0161 NE R13 R12 R13 + 0x78360021, // 0162 JMPF R13 #0185 + 0x8C341935, // 0163 GETMET R13 R12 K53 + 0x583C0045, // 0164 LDCONST R15 K69 + 0x5840003A, // 0165 LDCONST R16 K58 + 0x7C340600, // 0166 CALL R13 3 + 0x20381A0B, // 0167 NE R14 R13 R11 + 0x783A001B, // 0168 JMPF R14 #0185 + 0x50180200, // 0169 LDBOOL R6 1 0 + 0x883C010C, // 016A GETMBR R15 R0 K12 + 0x8C3C1F40, // 016B GETMET R15 R15 K64 + 0x5C441400, // 016C MOVE R17 R10 + 0x7C3C0400, // 016D CALL R15 2 + 0x783E0015, // 016E JMPF R15 #0185 + 0x8C401F46, // 016F GETMET R16 R15 K70 + 0x5C481600, // 0170 MOVE R18 R11 + 0x7C400400, // 0171 CALL R16 2 + 0x782E0001, // 0172 JMPF R11 #0175 + 0x98328A0B, // 0173 SETIDX R12 K69 R11 + 0x70020002, // 0174 JMP #0178 + 0x8C401947, // 0175 GETMET R16 R12 K71 + 0x58480045, // 0176 LDCONST R18 K69 + 0x7C400400, // 0177 CALL R16 2 + 0xB8421000, // 0178 GETNGBL R16 K8 + 0x8C402109, // 0179 GETMET R16 R16 K9 + 0x60480018, // 017A GETGBL R18 G24 + 0x584C0048, // 017B LDCONST R19 K72 + 0x5C501800, // 017C MOVE R20 R12 + 0x5C541400, // 017D MOVE R21 R10 + 0x5C581E00, // 017E MOVE R22 R15 + 0x7C480800, // 017F CALL R18 4 + 0x584C000B, // 0180 LDCONST R19 K11 + 0x7C400600, // 0181 CALL R16 3 + 0x8C401F42, // 0182 GETMET R16 R15 K66 + 0x5C481800, // 0183 MOVE R18 R12 + 0x7C400400, // 0184 CALL R16 2 + 0x7001FF5E, // 0185 JMP #00E5 + 0x581C0049, // 0186 LDCONST R7 K73 + 0xAC1C0200, // 0187 CATCH R7 1 0 + 0xB0080000, // 0188 RAISE 2 R0 R0 + 0xB81E1000, // 0189 GETNGBL R7 K8 + 0x8C1C0F09, // 018A GETMET R7 R7 K9 + 0x60240018, // 018B GETGBL R9 G24 + 0x5828004A, // 018C LDCONST R10 K74 + 0x602C0008, // 018D GETGBL R11 G8 + 0x8830010C, // 018E GETMBR R12 R0 K12 + 0x88301937, // 018F GETMBR R12 R12 K55 + 0x7C2C0200, // 0190 CALL R11 1 + 0x7C240400, // 0191 CALL R9 2 + 0x5828000B, // 0192 LDCONST R10 K11 + 0x7C1C0600, // 0193 CALL R7 3 + 0x78160008, // 0194 JMPF R5 #019E + 0xB81E1000, // 0195 GETNGBL R7 K8 + 0x8C1C0F09, // 0196 GETMET R7 R7 K9 + 0x60240018, // 0197 GETGBL R9 G24 + 0x5828004B, // 0198 LDCONST R10 K75 + 0x5C2C0A00, // 0199 MOVE R11 R5 + 0x7C240400, // 019A CALL R9 2 + 0x5828000B, // 019B LDCONST R10 K11 + 0x7C1C0600, // 019C CALL R7 3 + 0x7002000C, // 019D JMP #01AB + 0x741A0002, // 019E JMPT R6 #01A2 + 0x881C010C, // 019F GETMBR R7 R0 K12 + 0x881C0F31, // 01A0 GETMBR R7 R7 K49 + 0x741E0005, // 01A1 JMPT R7 #01A8 + 0x881C010C, // 01A2 GETMBR R7 R0 K12 + 0x50200200, // 01A3 LDBOOL R8 1 0 + 0x901E6208, // 01A4 SETMBR R7 K49 R8 + 0x881C010C, // 01A5 GETMBR R7 R0 K12 + 0x8C1C0F13, // 01A6 GETMET R7 R7 K19 + 0x7C1C0200, // 01A7 CALL R7 1 + 0x8C1C0314, // 01A8 GETMET R7 R1 K20 + 0x5824002F, // 01A9 LDCONST R9 K47 + 0x7C1C0400, // 01AA CALL R7 2 + 0x700200BB, // 01AB JMP #0268 + 0x8C180305, // 01AC GETMET R6 R1 K5 + 0x5820004C, // 01AD LDCONST R8 K76 + 0x7C180400, // 01AE CALL R6 2 + 0x781A002B, // 01AF JMPF R6 #01DC + 0x8C18030E, // 01B0 GETMET R6 R1 K14 + 0x5820004D, // 01B1 LDCONST R8 K77 + 0x7C180400, // 01B2 CALL R6 2 + 0x8C1C030E, // 01B3 GETMET R7 R1 K14 + 0x5824000E, // 01B4 LDCONST R9 K14 + 0x7C1C0400, // 01B5 CALL R7 2 + 0x8C20030E, // 01B6 GETMET R8 R1 K14 + 0x58280044, // 01B7 LDCONST R10 K68 + 0x7C200400, // 01B8 CALL R8 2 + 0xB8261000, // 01B9 GETNGBL R9 K8 + 0x8C241309, // 01BA GETMET R9 R9 K9 + 0x602C0018, // 01BB GETGBL R11 G24 + 0x5830004E, // 01BC LDCONST R12 K78 + 0x5C340C00, // 01BD MOVE R13 R6 + 0x5C380E00, // 01BE MOVE R14 R7 + 0x7C2C0600, // 01BF CALL R11 3 + 0x5830000B, // 01C0 LDCONST R12 K11 + 0x7C240600, // 01C1 CALL R9 3 + 0x8824010C, // 01C2 GETMBR R9 R0 K12 + 0x88241338, // 01C3 GETMBR R9 R9 K56 + 0x8C241335, // 01C4 GETMET R9 R9 K53 + 0x5C2C0C00, // 01C5 MOVE R11 R6 + 0x7C240400, // 01C6 CALL R9 2 + 0x4C280000, // 01C7 LDNIL R10 + 0x2028120A, // 01C8 NE R10 R9 R10 + 0x782A000D, // 01C9 JMPF R10 #01D8 + 0x60280013, // 01CA GETGBL R10 G19 + 0x7C280000, // 01CB CALL R10 0 + 0x78220000, // 01CC JMPF R8 #01CE + 0x982A8A08, // 01CD SETIDX R10 K69 R8 + 0x8C2C133F, // 01CE GETMET R11 R9 K63 + 0x5C341200, // 01CF MOVE R13 R9 + 0x5C381400, // 01D0 MOVE R14 R10 + 0x5C3C0E00, // 01D1 MOVE R15 R7 + 0x7C2C0800, // 01D2 CALL R11 4 + 0x882C010C, // 01D3 GETMBR R11 R0 K12 + 0x8C2C174F, // 01D4 GETMET R11 R11 K79 + 0x5C340C00, // 01D5 MOVE R13 R6 + 0x5C381400, // 01D6 MOVE R14 R10 + 0x7C2C0600, // 01D7 CALL R11 3 + 0x8C280314, // 01D8 GETMET R10 R1 K20 + 0x5830002F, // 01D9 LDCONST R12 K47 + 0x7C280400, // 01DA CALL R10 2 + 0x7002008B, // 01DB JMP #0268 + 0x8C180305, // 01DC GETMET R6 R1 K5 + 0x58200050, // 01DD LDCONST R8 K80 + 0x7C180400, // 01DE CALL R6 2 + 0x781A005E, // 01DF JMPF R6 #023F + 0x8C18030E, // 01E0 GETMET R6 R1 K14 + 0x58200051, // 01E1 LDCONST R8 K81 + 0x7C180400, // 01E2 CALL R6 2 + 0x4C1C0000, // 01E3 LDNIL R7 + 0x1C1C0C07, // 01E4 EQ R7 R6 R7 + 0x741E0001, // 01E5 JMPT R7 #01E8 + 0x1C1C0D3A, // 01E6 EQ R7 R6 K58 + 0x781E0000, // 01E7 JMPF R7 #01E9 + 0xB006A553, // 01E8 RAISE 1 K82 K83 + 0x581C0029, // 01E9 LDCONST R7 K41 + 0x60200008, // 01EA GETGBL R8 G8 + 0x5C240E00, // 01EB MOVE R9 R7 + 0x7C200200, // 01EC CALL R8 1 + 0x8C240305, // 01ED GETMET R9 R1 K5 + 0x002E9A08, // 01EE ADD R11 K77 R8 + 0x7C240400, // 01EF CALL R9 2 + 0x78260049, // 01F0 JMPF R9 #023B + 0x8C24030E, // 01F1 GETMET R9 R1 K14 + 0x002E9A08, // 01F2 ADD R11 K77 R8 + 0x7C240400, // 01F3 CALL R9 2 + 0x8C28030E, // 01F4 GETMET R10 R1 K14 + 0x00321C08, // 01F5 ADD R12 K14 R8 + 0x7C280400, // 01F6 CALL R10 2 + 0x8C2C030E, // 01F7 GETMET R11 R1 K14 + 0x00368808, // 01F8 ADD R13 K68 R8 + 0x7C2C0400, // 01F9 CALL R11 2 + 0x2030133A, // 01FA NE R12 R9 K58 + 0x78320038, // 01FB JMPF R12 #0235 + 0x8830010C, // 01FC GETMBR R12 R0 K12 + 0x88301938, // 01FD GETMBR R12 R12 K56 + 0x8C301935, // 01FE GETMET R12 R12 K53 + 0x5C381200, // 01FF MOVE R14 R9 + 0x7C300400, // 0200 CALL R12 2 + 0x4C340000, // 0201 LDNIL R13 + 0x2034180D, // 0202 NE R13 R12 R13 + 0x78360030, // 0203 JMPF R13 #0235 + 0x60340013, // 0204 GETGBL R13 G19 + 0x7C340000, // 0205 CALL R13 0 + 0x9836A206, // 0206 SETIDX R13 K81 R6 + 0x98367209, // 0207 SETIDX R13 K57 R9 + 0x782E0000, // 0208 JMPF R11 #020A + 0x98368A0B, // 0209 SETIDX R13 K69 R11 + 0x8C38193F, // 020A GETMET R14 R12 K63 + 0x5C401800, // 020B MOVE R16 R12 + 0x5C441A00, // 020C MOVE R17 R13 + 0x5C481400, // 020D MOVE R18 R10 + 0x7C380800, // 020E CALL R14 4 + 0x50380000, // 020F LDBOOL R14 0 0 + 0x603C0010, // 0210 GETGBL R15 G16 + 0x8840010C, // 0211 GETMBR R16 R0 K12 + 0x88402137, // 0212 GETMBR R16 R16 K55 + 0x7C3C0200, // 0213 CALL R15 1 + 0xA802000B, // 0214 EXBLK 0 #0221 + 0x5C401E00, // 0215 MOVE R16 R15 + 0x7C400000, // 0216 CALL R16 0 + 0x8C440154, // 0217 GETMET R17 R0 K84 + 0x5C4C2000, // 0218 MOVE R19 R16 + 0x5C501A00, // 0219 MOVE R20 R13 + 0x7C440600, // 021A CALL R17 3 + 0x78460001, // 021B JMPF R17 #021E + 0x50380200, // 021C LDBOOL R14 1 0 + 0x70020000, // 021D JMP #021F + 0x7001FFF5, // 021E JMP #0215 + 0xA8040001, // 021F EXBLK 1 1 + 0x70020002, // 0220 JMP #0224 + 0x583C0049, // 0221 LDCONST R15 K73 + 0xAC3C0200, // 0222 CATCH R15 1 0 + 0xB0080000, // 0223 RAISE 2 R0 R0 + 0x5C3C1C00, // 0224 MOVE R15 R14 + 0x743E000E, // 0225 JMPT R15 #0235 + 0xB83E1000, // 0226 GETNGBL R15 K8 + 0x8C3C1F09, // 0227 GETMET R15 R15 K9 + 0x60440018, // 0228 GETGBL R17 G24 + 0x58480055, // 0229 LDCONST R18 K85 + 0x5C4C0C00, // 022A MOVE R19 R6 + 0x5C501200, // 022B MOVE R20 R9 + 0x5C541400, // 022C MOVE R21 R10 + 0x7C440800, // 022D CALL R17 4 + 0x5848000B, // 022E LDCONST R18 K11 + 0x7C3C0600, // 022F CALL R15 3 + 0x883C010C, // 0230 GETMBR R15 R0 K12 + 0x8C3C1F4F, // 0231 GETMET R15 R15 K79 + 0x5C441200, // 0232 MOVE R17 R9 + 0x5C481A00, // 0233 MOVE R18 R13 + 0x7C3C0600, // 0234 CALL R15 3 + 0x001C0F2E, // 0235 ADD R7 R7 K46 + 0x60300008, // 0236 GETGBL R12 G8 + 0x5C340E00, // 0237 MOVE R13 R7 + 0x7C300200, // 0238 CALL R12 1 + 0x5C201800, // 0239 MOVE R8 R12 + 0x7001FFB1, // 023A JMP #01ED + 0x8C240314, // 023B GETMET R9 R1 K20 + 0x582C002F, // 023C LDCONST R11 K47 + 0x7C240400, // 023D CALL R9 2 + 0x70020028, // 023E JMP #0268 + 0x4C180000, // 023F LDNIL R6 + 0x601C0010, // 0240 GETGBL R7 G16 + 0x8C200333, // 0241 GETMET R8 R1 K51 + 0x7C200200, // 0242 CALL R8 1 + 0x0420112E, // 0243 SUB R8 R8 K46 + 0x40225208, // 0244 CONNECT R8 K41 R8 + 0x7C1C0200, // 0245 CALL R7 1 + 0xA8020013, // 0246 EXBLK 0 #025B + 0x5C200E00, // 0247 MOVE R8 R7 + 0x7C200000, // 0248 CALL R8 0 + 0x8C240334, // 0249 GETMET R9 R1 K52 + 0x5C2C1000, // 024A MOVE R11 R8 + 0x7C240400, // 024B CALL R9 2 + 0x8C280535, // 024C GETMET R10 R2 K53 + 0x5C301200, // 024D MOVE R12 R9 + 0x58340056, // 024E LDCONST R13 K86 + 0x7C280600, // 024F CALL R10 3 + 0x1C281529, // 0250 EQ R10 R10 K41 + 0x782A0005, // 0251 JMPF R10 #0258 + 0x60280009, // 0252 GETGBL R10 G9 + 0x402E1736, // 0253 CONNECT R11 K11 K54 + 0x942C120B, // 0254 GETIDX R11 R9 R11 + 0x7C280200, // 0255 CALL R10 1 + 0x5C181400, // 0256 MOVE R6 R10 + 0x70020000, // 0257 JMP #0259 + 0x7001FFED, // 0258 JMP #0247 + 0xA8040001, // 0259 EXBLK 1 1 + 0x70020002, // 025A JMP #025E + 0x581C0049, // 025B LDCONST R7 K73 + 0xAC1C0200, // 025C CATCH R7 1 0 + 0xB0080000, // 025D RAISE 2 R0 R0 + 0x4C1C0000, // 025E LDNIL R7 + 0x201C0C07, // 025F NE R7 R6 R7 + 0x781E0006, // 0260 JMPF R7 #0268 + 0x881C010C, // 0261 GETMBR R7 R0 K12 + 0x8C1C0F57, // 0262 GETMET R7 R7 K87 + 0x5C240C00, // 0263 MOVE R9 R6 + 0x7C1C0400, // 0264 CALL R7 2 + 0x8C1C0314, // 0265 GETMET R7 R1 K20 + 0x5824002F, // 0266 LDCONST R9 K47 + 0x7C1C0400, // 0267 CALL R7 2 + 0x78160011, // 0268 JMPF R5 #027B + 0x8C180358, // 0269 GETMET R6 R1 K88 + 0x58200059, // 026A LDCONST R8 K89 + 0x7C180400, // 026B CALL R6 2 + 0x8C18035A, // 026C GETMET R6 R1 K90 + 0x7C180200, // 026D CALL R6 1 + 0x8C18035B, // 026E GETMET R6 R1 K91 + 0x60200018, // 026F GETGBL R8 G24 + 0x5824005C, // 0270 LDCONST R9 K92 + 0x8C28035D, // 0271 GETMET R10 R1 K93 + 0x5C300A00, // 0272 MOVE R12 R5 + 0x7C280400, // 0273 CALL R10 2 + 0x7C200400, // 0274 CALL R8 2 + 0x7C180400, // 0275 CALL R6 2 + 0x8C18035E, // 0276 GETMET R6 R1 K94 + 0x8820035F, // 0277 GETMBR R8 R1 K95 + 0x7C180400, // 0278 CALL R6 2 + 0x8C180360, // 0279 GETMET R6 R1 K96 + 0x7C180200, // 027A CALL R6 1 + 0xA8040001, // 027B EXBLK 1 1 + 0x7002001D, // 027C JMP #029B + 0xAC180002, // 027D CATCH R6 0 2 + 0x7002001A, // 027E JMP #029A + 0xB8221000, // 027F GETNGBL R8 K8 + 0x8C201109, // 0280 GETMET R8 R8 K9 + 0x60280018, // 0281 GETGBL R10 G24 + 0x582C0061, // 0282 LDCONST R11 K97 + 0x5C300C00, // 0283 MOVE R12 R6 + 0x5C340E00, // 0284 MOVE R13 R7 + 0x7C280600, // 0285 CALL R10 3 + 0x582C0062, // 0286 LDCONST R11 K98 + 0x7C200600, // 0287 CALL R8 3 + 0x8C200358, // 0288 GETMET R8 R1 K88 + 0x58280059, // 0289 LDCONST R10 K89 + 0x7C200400, // 028A CALL R8 2 + 0x8C20035A, // 028B GETMET R8 R1 K90 + 0x7C200200, // 028C CALL R8 1 + 0x8C20035B, // 028D GETMET R8 R1 K91 + 0x60280018, // 028E GETGBL R10 G24 + 0x582C0063, // 028F LDCONST R11 K99 + 0x5C300C00, // 0290 MOVE R12 R6 + 0x5C340E00, // 0291 MOVE R13 R7 + 0x7C280600, // 0292 CALL R10 3 + 0x7C200400, // 0293 CALL R8 2 + 0x8C20035E, // 0294 GETMET R8 R1 K94 + 0x8828035F, // 0295 GETMBR R10 R1 K95 + 0x7C200400, // 0296 CALL R8 2 + 0x8C200360, // 0297 GETMET R8 R1 K96 + 0x7C200200, // 0298 CALL R8 1 + 0x70020000, // 0299 JMP #029B + 0xB0080000, // 029A RAISE 2 R0 R0 + 0x80000000, // 029B RET 0 }) ) ); @@ -3173,7 +3132,7 @@ be_local_closure(Matter_UI_show_qrcode, /* name */ ********************************************************************/ be_local_closure(Matter_UI_show_enable, /* name */ be_nested_proto( - 10, /* nstack */ + 11, /* nstack */ 1, /* argc */ 2, /* varg */ 0, /* has upvals */ @@ -3181,7 +3140,7 @@ be_local_closure(Matter_UI_show_enable, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[13]) { /* constants */ + ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), /* K1 */ be_nested_str_weak(matter_enabled), /* K2 */ be_nested_str_weak(content_send), @@ -3194,11 +3153,14 @@ be_local_closure(Matter_UI_show_enable, /* name */ /* K9 */ be_nested_str_weak(commissioning_open), /* K10 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20id_X3D_X27comm_X27_X20type_X3D_X27checkbox_X27_X20name_X3D_X27comm_X27_X20_X25s_X3E), /* K11 */ be_nested_str_weak(_X3Clabel_X20for_X3D_X27comm_X27_X3E_X3Cb_X3ECommissioning_X20open_X3C_X2Fb_X3E_X3C_X2Flabel_X3E_X3C_X2Fp_X3E), - /* K12 */ be_nested_str_weak(_X3Cp_X3E_X3C_X2Fp_X3E_X3Cbutton_X20name_X3D_X27save_X27_X20class_X3D_X27button_X20bgrn_X27_X3ESave_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K12 */ be_nested_str_weak(disable_bridge_mode), + /* K13 */ be_nested_str_weak(_X20checked), + /* K14 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20type_X3D_X27checkbox_X27_X20name_X3D_X27nobridge_X27_X25s_X3E_X3Cb_X3EForce_X20Static_X20endpoints_X3C_X2Fb_X3E_X20_X28non_X2Dbridge_X29_X3C_X2Fp_X3E), + /* K15 */ be_nested_str_weak(_X3Cp_X3E_X3C_X2Fp_X3E_X3Cbutton_X20name_X3D_X27save_X27_X20class_X3D_X27button_X20bgrn_X27_X3ESave_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E), }), be_str_weak(show_enable), &be_const_str_solidified, - ( &(const binstruction[44]) { /* code */ + ( &(const binstruction[56]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0x88080101, // 0001 GETMBR R2 R0 K1 0x8C0C0302, // 0002 GETMET R3 R1 K2 @@ -3221,7 +3183,7 @@ be_local_closure(Matter_UI_show_enable, /* name */ 0x7C100400, // 0013 CALL R4 2 0x8C100101, // 0014 GETMET R4 R0 K1 0x7C100200, // 0015 CALL R4 1 - 0x78120010, // 0016 JMPF R4 #0028 + 0x7812001C, // 0016 JMPF R4 #0034 0x88100108, // 0017 GETMBR R4 R0 K8 0x88100909, // 0018 GETMBR R4 R4 K9 0x4C140000, // 0019 LDNIL R5 @@ -3239,10 +3201,22 @@ be_local_closure(Matter_UI_show_enable, /* name */ 0x8C140302, // 0025 GETMET R5 R1 K2 0x581C000B, // 0026 LDCONST R7 K11 0x7C140400, // 0027 CALL R5 2 - 0x8C100302, // 0028 GETMET R4 R1 K2 - 0x5818000C, // 0029 LDCONST R6 K12 - 0x7C100400, // 002A CALL R4 2 - 0x80000000, // 002B RET 0 + 0x88140108, // 0028 GETMBR R5 R0 K8 + 0x88140B0C, // 0029 GETMBR R5 R5 K12 + 0x78160001, // 002A JMPF R5 #002D + 0x5814000D, // 002B LDCONST R5 K13 + 0x70020000, // 002C JMP #002E + 0x58140005, // 002D LDCONST R5 K5 + 0x8C180302, // 002E GETMET R6 R1 K2 + 0x60200018, // 002F GETGBL R8 G24 + 0x5824000E, // 0030 LDCONST R9 K14 + 0x5C280A00, // 0031 MOVE R10 R5 + 0x7C200400, // 0032 CALL R8 2 + 0x7C180400, // 0033 CALL R6 2 + 0x8C100302, // 0034 GETMET R4 R1 K2 + 0x5818000F, // 0035 LDCONST R6 K15 + 0x7C100400, // 0036 CALL R4 2 + 0x80000000, // 0037 RET 0 }) ) );