diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Commissioning.be b/lib/libesp32/berry_matter/src/embedded/Matter_Commissioning.be index 4dfddced7..e5915023b 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Commissioning.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Commissioning.be @@ -103,6 +103,7 @@ class Matter_Commisioning_Context # record the initiator_session_id self.future_initiator_session_id = pbkdfparamreq.initiator_session_id self.future_local_session_id = self.device.sessions.gen_local_session_id() + tasmota.log("MTR: Loc_session=" + str(self.future_local_session_id)) # prepare response var pbkdfparamresp = matter.PBKDFParamResponse() @@ -297,7 +298,7 @@ class Matter_Commisioning_Context session._future_initiator_session_id = sigma1.initiator_session_id # update initiator_session_id session._future_local_session_id = self.device.sessions.gen_local_session_id() self.future_local_session_id = session._future_local_session_id - + tasmota.log("MTR: Loc_session=" + str(self.future_local_session_id)) # Check that it's a resumption if is_resumption && session.shared_secret != nil diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_MessageHandler.be b/lib/libesp32/berry_matter/src/embedded/Matter_MessageHandler.be index d8efb7c95..b10596445 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_MessageHandler.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_MessageHandler.be @@ -89,7 +89,7 @@ class Matter_MessageHandler var session = self.device.sessions.get_session_by_local_session_id(frame.local_session_id) if session == nil - tasmota.log("MTR: unknown local_session_id "+str(frame.local_session_id), 3) + tasmota.log("MTR: unknown local_session_id="+str(frame.local_session_id), 2) tasmota.log("MTR: frame="+matter.inspect(frame), 3) return false end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_OnOff.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_OnOff.be index db37f5e67..1bac296c3 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_OnOff.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_OnOff.be @@ -31,7 +31,8 @@ class Matter_Plugin_OnOff : Matter_Plugin 0x0003: [0,1,0xFFFC,0xFFFD], # Identify 1.2 p.16 0x0004: [0,0xFFFC,0xFFFD], # Groups 1.3 p.21 0x0005: [0,1,2,3,4,5,0xFFFC,0xFFFD], # Scenes 1.4 p.30 - no writable - 0x0006: [0,0xFFFC,0xFFFD] # On/Off 1.5 p.48 + 0x0006: [0,0xFFFC,0xFFFD], # On/Off 1.5 p.48 + 0x0008: [0,15,17,0xFFFC,0xFFFD] # Level Control 1.6 p.57 } static var TYPES = { 0x010A: 2 } # On/Off Light @@ -124,6 +125,20 @@ class Matter_Plugin_OnOff : Matter_Plugin return TLV.create_TLV(TLV.U4, 4) # 0 = no Level Control for Lighting end + # ==================================================================================================== + elif cluster == 0x0008 # ========== Level Control 1.6 p.57 ========== + if attribute == 0x0000 # ---------- CurrentLevel / u1 ---------- + return TLV.create_TLV(TLV.U1, 0x88) + elif attribute == 0x000F # ---------- Options / map8 ---------- + return TLV.create_TLV(TLV.U1, 0) # 0 = no Level Control for Lighting + elif attribute == 0x0010 # ---------- OnLevel / u1 ---------- + return TLV.create_TLV(TLV.U1, 1) # 0 = no Level Control for Lighting + elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- + return TLV.create_TLV(TLV.U4, 0) # 0 = no Level Control for Lighting + elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- + return TLV.create_TLV(TLV.U4, 4) # 0 = no Level Control for Lighting + end + end # no match found, return that the attribute is unsupported end end @@ -179,6 +194,25 @@ class Matter_Plugin_OnOff : Matter_Plugin self.onoff = !self.onoff return true end + # ==================================================================================================== + elif cluster == 0x0008 # ========== Level Control 1.6 p.57 ========== + if command == 0x0000 # ---------- MoveToLevel ---------- + return true + elif command == 0x0001 # ---------- Move ---------- + return true + elif command == 0x0002 # ---------- Step ---------- + return true + elif command == 0x0003 # ---------- Stop ---------- + return true + elif command == 0x0004 # ---------- MoveToLevelWithOnOff ---------- + return true + elif command == 0x0005 # ---------- MoveWithOnOff ---------- + return true + elif command == 0x0006 # ---------- StepWithOnOff ---------- + return true + elif command == 0x0007 # ---------- StopWithOnOff ---------- + return true + end end end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_Root.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_Root.be index 5dd27e2f4..a2efa33c8 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_Root.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_Root.be @@ -29,7 +29,7 @@ class Matter_Plugin_Root : Matter_Plugin static var CLUSTERS = { 0x001D: [0,1,2,3], # Descriptor Cluster 9.5 p.453 0x001F: [0,2,3,4], # Access Control Cluster, p.461 - 0x0028: [0,1,2,3,4,5,6,7,8,9,0x12],# Basic Information Cluster cluster 11.1 p.565 + 0x0028: [0,1,2,3,4,5,6,7,8,9,0x12,0x13],# Basic Information Cluster cluster 11.1 p.565 # 0x002A: [0,1,2,3], # OTA Software Update Requestor Cluster Definition 11.19.7 p.762 0x002B: [0,1], # Localization Configuration Cluster 11.3 p.580 0x002C: [0,1,2], # Time Format Localization Cluster 11.4 p.581 @@ -43,7 +43,7 @@ class Matter_Plugin_Root : Matter_Plugin 0x003E: [0,1,2,3,4,5], # Node Operational Credentials Cluster 11.17 p.704 0x003F: [] # Group Key Management Cluster 11.2 p.572 } - static var TYPES = { 0x0016: 1 } # On/Off Light + static var TYPES = { 0x0016: 1 } # Root node ############################################################# # Constructor @@ -216,6 +216,11 @@ class Matter_Plugin_Root : Matter_Plugin return TLV.create_TLV(TLV.UTF1, tasmota.cmd("Status 2")['StatusFWR']['Version']) elif attribute == 0x0012 # ---------- UniqueID / string 32 max ---------- return TLV.create_TLV(TLV.UTF1, tasmota.wifi().find("mac", "")) + elif attribute == 0x0013 # ---------- CapabilityMinima / CapabilityMinimaStruct ---------- + var cps = TLV.Matter_TLV_struct() + cps.add_TLV(0, TLV.U2, 3) # CaseSessionsPerFabric = 3 + cps.add_TLV(1, TLV.U2, 3) # SubscriptionsPerFabric = 5 + return cps end # ==================================================================================================== diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h index 17d55b2a0..df79d9084 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h @@ -19,7 +19,7 @@ be_local_closure(Matter_Commisioning_Context_parse_PBKDFParamRequest, /* name 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[47]) { /* constants */ + ( &(const bvalue[48]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), /* K1 */ be_nested_str_weak(opcode), /* K2 */ be_nested_str_weak(local_session_id), @@ -45,32 +45,33 @@ be_local_closure(Matter_Commisioning_Context_parse_PBKDFParamRequest, /* name /* K22 */ be_nested_str_weak(device), /* K23 */ be_nested_str_weak(sessions), /* K24 */ be_nested_str_weak(gen_local_session_id), - /* K25 */ be_nested_str_weak(PBKDFParamResponse), - /* K26 */ be_nested_str_weak(initiatorRandom), - /* K27 */ be_nested_str_weak(responderRandom), - /* K28 */ be_nested_str_weak(random), - /* K29 */ be_nested_str_weak(responderSessionId), - /* K30 */ be_nested_str_weak(pbkdf_parameters_salt), - /* K31 */ be_nested_str_weak(salt), - /* K32 */ be_nested_str_weak(pbkdf_parameters_iterations), - /* K33 */ be_nested_str_weak(iterations), - /* K34 */ be_nested_str_weak(tasmota), - /* K35 */ be_nested_str_weak(log), - /* K36 */ be_nested_str_weak(MTR_X3A_X20pbkdfparamresp_X3A_X20), - /* K37 */ be_nested_str_weak(inspect), - /* K38 */ be_nested_str_weak(encode), - /* K39 */ be_nested_str_weak(MTR_X3A_X20pbkdfparamresp_raw_X3A_X20), - /* K40 */ be_nested_str_weak(tohex), - /* K41 */ be_nested_str_weak(build_response), - /* K42 */ be_nested_str_weak(responder), - /* K43 */ be_nested_str_weak(send_response), - /* K44 */ be_nested_str_weak(remote_ip), - /* K45 */ be_nested_str_weak(remote_port), - /* K46 */ be_nested_str_weak(message_counter), + /* K25 */ be_nested_str_weak(tasmota), + /* K26 */ be_nested_str_weak(log), + /* K27 */ be_nested_str_weak(MTR_X3A_X20Loc_session_X3D), + /* K28 */ be_nested_str_weak(PBKDFParamResponse), + /* K29 */ be_nested_str_weak(initiatorRandom), + /* K30 */ be_nested_str_weak(responderRandom), + /* K31 */ be_nested_str_weak(random), + /* K32 */ be_nested_str_weak(responderSessionId), + /* K33 */ be_nested_str_weak(pbkdf_parameters_salt), + /* K34 */ be_nested_str_weak(salt), + /* K35 */ be_nested_str_weak(pbkdf_parameters_iterations), + /* K36 */ be_nested_str_weak(iterations), + /* K37 */ be_nested_str_weak(MTR_X3A_X20pbkdfparamresp_X3A_X20), + /* K38 */ be_nested_str_weak(inspect), + /* K39 */ be_nested_str_weak(encode), + /* K40 */ be_nested_str_weak(MTR_X3A_X20pbkdfparamresp_raw_X3A_X20), + /* K41 */ be_nested_str_weak(tohex), + /* K42 */ be_nested_str_weak(build_response), + /* K43 */ be_nested_str_weak(responder), + /* K44 */ be_nested_str_weak(send_response), + /* K45 */ be_nested_str_weak(remote_ip), + /* K46 */ be_nested_str_weak(remote_port), + /* K47 */ be_nested_str_weak(message_counter), }), be_str_weak(parse_PBKDFParamRequest), &be_const_str_solidified, - ( &(const binstruction[94]) { /* code */ + ( &(const binstruction[101]) { /* code */ 0xA40A0000, // 0000 IMPORT R2 K0 0x880C0301, // 0001 GETMBR R3 R1 K1 0x5412001F, // 0002 LDINT R4 32 @@ -112,59 +113,66 @@ be_local_closure(Matter_Commisioning_Context_parse_PBKDFParamRequest, /* name 0x8C100918, // 0026 GETMET R4 R4 K24 0x7C100200, // 0027 CALL R4 1 0x90022A04, // 0028 SETMBR R0 K21 R4 - 0xB8120E00, // 0029 GETNGBL R4 K7 - 0x8C100919, // 002A GETMET R4 R4 K25 - 0x7C100200, // 002B CALL R4 1 - 0x8814071A, // 002C GETMBR R5 R3 K26 - 0x90123405, // 002D SETMBR R4 K26 R5 - 0x8C14051C, // 002E GETMET R5 R2 K28 - 0x541E001F, // 002F LDINT R7 32 - 0x7C140400, // 0030 CALL R5 2 - 0x90123605, // 0031 SETMBR R4 K27 R5 - 0x88140115, // 0032 GETMBR R5 R0 K21 - 0x90123A05, // 0033 SETMBR R4 K29 R5 - 0x88140116, // 0034 GETMBR R5 R0 K22 - 0x88140B1F, // 0035 GETMBR R5 R5 K31 - 0x90123C05, // 0036 SETMBR R4 K30 R5 - 0x88140116, // 0037 GETMBR R5 R0 K22 - 0x88140B21, // 0038 GETMBR R5 R5 K33 - 0x90124005, // 0039 SETMBR R4 K32 R5 - 0xB8164400, // 003A GETNGBL R5 K34 - 0x8C140B23, // 003B GETMET R5 R5 K35 - 0x601C0008, // 003C GETGBL R7 G8 - 0xB8220E00, // 003D GETNGBL R8 K7 - 0x8C201125, // 003E GETMET R8 R8 K37 - 0x5C280800, // 003F MOVE R10 R4 - 0x7C200400, // 0040 CALL R8 2 - 0x7C1C0200, // 0041 CALL R7 1 - 0x001E4807, // 0042 ADD R7 K36 R7 - 0x54220003, // 0043 LDINT R8 4 - 0x7C140600, // 0044 CALL R5 3 - 0x8C140926, // 0045 GETMET R5 R4 K38 - 0x7C140200, // 0046 CALL R5 1 - 0xB81A4400, // 0047 GETNGBL R6 K34 - 0x8C180D23, // 0048 GETMET R6 R6 K35 - 0x8C200B28, // 0049 GETMET R8 R5 K40 - 0x7C200200, // 004A CALL R8 1 - 0x00224E08, // 004B ADD R8 K39 R8 - 0x54260003, // 004C LDINT R9 4 - 0x7C180600, // 004D CALL R6 3 - 0x90023205, // 004E SETMBR R0 K25 R5 - 0x8C180329, // 004F GETMET R6 R1 K41 - 0x54220020, // 0050 LDINT R8 33 - 0x50240200, // 0051 LDBOOL R9 1 0 - 0x7C180600, // 0052 CALL R6 3 - 0x8C1C0D26, // 0053 GETMET R7 R6 K38 - 0x5C240A00, // 0054 MOVE R9 R5 - 0x7C1C0400, // 0055 CALL R7 2 - 0x8820012A, // 0056 GETMBR R8 R0 K42 - 0x8C20112B, // 0057 GETMET R8 R8 K43 - 0x5C280E00, // 0058 MOVE R10 R7 - 0x882C032C, // 0059 GETMBR R11 R1 K44 - 0x8830032D, // 005A GETMBR R12 R1 K45 - 0x88340D2E, // 005B GETMBR R13 R6 K46 - 0x7C200A00, // 005C CALL R8 5 - 0x80000000, // 005D RET 0 + 0xB8123200, // 0029 GETNGBL R4 K25 + 0x8C10091A, // 002A GETMET R4 R4 K26 + 0x60180008, // 002B GETGBL R6 G8 + 0x881C0115, // 002C GETMBR R7 R0 K21 + 0x7C180200, // 002D CALL R6 1 + 0x001A3606, // 002E ADD R6 K27 R6 + 0x7C100400, // 002F CALL R4 2 + 0xB8120E00, // 0030 GETNGBL R4 K7 + 0x8C10091C, // 0031 GETMET R4 R4 K28 + 0x7C100200, // 0032 CALL R4 1 + 0x8814071D, // 0033 GETMBR R5 R3 K29 + 0x90123A05, // 0034 SETMBR R4 K29 R5 + 0x8C14051F, // 0035 GETMET R5 R2 K31 + 0x541E001F, // 0036 LDINT R7 32 + 0x7C140400, // 0037 CALL R5 2 + 0x90123C05, // 0038 SETMBR R4 K30 R5 + 0x88140115, // 0039 GETMBR R5 R0 K21 + 0x90124005, // 003A SETMBR R4 K32 R5 + 0x88140116, // 003B GETMBR R5 R0 K22 + 0x88140B22, // 003C GETMBR R5 R5 K34 + 0x90124205, // 003D SETMBR R4 K33 R5 + 0x88140116, // 003E GETMBR R5 R0 K22 + 0x88140B24, // 003F GETMBR R5 R5 K36 + 0x90124605, // 0040 SETMBR R4 K35 R5 + 0xB8163200, // 0041 GETNGBL R5 K25 + 0x8C140B1A, // 0042 GETMET R5 R5 K26 + 0x601C0008, // 0043 GETGBL R7 G8 + 0xB8220E00, // 0044 GETNGBL R8 K7 + 0x8C201126, // 0045 GETMET R8 R8 K38 + 0x5C280800, // 0046 MOVE R10 R4 + 0x7C200400, // 0047 CALL R8 2 + 0x7C1C0200, // 0048 CALL R7 1 + 0x001E4A07, // 0049 ADD R7 K37 R7 + 0x54220003, // 004A LDINT R8 4 + 0x7C140600, // 004B CALL R5 3 + 0x8C140927, // 004C GETMET R5 R4 K39 + 0x7C140200, // 004D CALL R5 1 + 0xB81A3200, // 004E GETNGBL R6 K25 + 0x8C180D1A, // 004F GETMET R6 R6 K26 + 0x8C200B29, // 0050 GETMET R8 R5 K41 + 0x7C200200, // 0051 CALL R8 1 + 0x00225008, // 0052 ADD R8 K40 R8 + 0x54260003, // 0053 LDINT R9 4 + 0x7C180600, // 0054 CALL R6 3 + 0x90023805, // 0055 SETMBR R0 K28 R5 + 0x8C18032A, // 0056 GETMET R6 R1 K42 + 0x54220020, // 0057 LDINT R8 33 + 0x50240200, // 0058 LDBOOL R9 1 0 + 0x7C180600, // 0059 CALL R6 3 + 0x8C1C0D27, // 005A GETMET R7 R6 K39 + 0x5C240A00, // 005B MOVE R9 R5 + 0x7C1C0400, // 005C CALL R7 2 + 0x8820012B, // 005D GETMBR R8 R0 K43 + 0x8C20112C, // 005E GETMET R8 R8 K44 + 0x5C280E00, // 005F MOVE R10 R7 + 0x882C032D, // 0060 GETMBR R11 R1 K45 + 0x8830032E, // 0061 GETMBR R12 R1 K46 + 0x88340D2F, // 0062 GETMBR R13 R6 K47 + 0x7C200A00, // 0063 CALL R8 5 + 0x80000000, // 0064 RET 0 }) ) ); @@ -1348,7 +1356,7 @@ be_local_closure(Matter_Commisioning_Context_parse_Sigma1, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[118]) { /* constants */ + ( &(const bvalue[119]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), /* K1 */ be_nested_str_weak(opcode), /* K2 */ be_nested_str_weak(local_session_id), @@ -1384,93 +1392,94 @@ be_local_closure(Matter_Commisioning_Context_parse_Sigma1, /* name */ /* K32 */ be_nested_str_weak(_future_local_session_id), /* K33 */ be_nested_str_weak(gen_local_session_id), /* K34 */ be_nested_str_weak(future_local_session_id), - /* K35 */ be_nested_str_weak(shared_secret), - /* K36 */ be_nested_str_weak(fromstring), - /* K37 */ be_nested_str_weak(Sigma1_Resume), - /* K38 */ be_nested_str_weak(HKDF_SHA256), - /* K39 */ be_nested_str_weak(derive), - /* K40 */ be_nested_str_weak(NCASE_SigmaR1), - /* K41 */ be_const_int(2147483647), - /* K42 */ be_nested_str_weak(AES_CCM), - /* K43 */ be_nested_str_weak(decrypt), - /* K44 */ be_nested_str_weak(tag), - /* K45 */ be_nested_str_weak(tasmota), - /* K46 */ be_nested_str_weak(log), - /* K47 */ be_nested_str_weak(_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A), - /* K48 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20s1rk_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20), - /* K49 */ be_nested_str_weak(tohex), - /* K50 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20tag_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20), - /* K51 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20Resume1MICPayload_X20_X3D_X20), - /* K52 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20decrypted_tag_X20_X20_X20_X20_X20_X3D_X20), - /* K53 */ be_nested_str_weak(resumption_id), - /* K54 */ be_nested_str_weak(random), - /* K55 */ be_nested_str_weak(Sigma2_Resume), - /* K56 */ be_nested_str_weak(NCASE_SigmaR2), - /* K57 */ be_nested_str_weak(Sigma2Resume), - /* K58 */ be_nested_str_weak(responderSessionID), - /* K59 */ be_nested_str_weak(sigma2ResumeMIC), - /* K60 */ be_nested_str_weak(SessionResumptionKeys), - /* K61 */ be_nested_str_weak(rtc), - /* K62 */ be_nested_str_weak(utc), - /* K63 */ be_nested_str_weak(MTR_X3A_X20_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A), - /* K64 */ be_nested_str_weak(MTR_X3A_X20I2RKey_X20_X20_X20_X20_X20_X20_X3D), - /* K65 */ be_nested_str_weak(MTR_X3A_X20R2IKey_X20_X20_X20_X20_X20_X20_X3D), - /* K66 */ be_nested_str_weak(MTR_X3A_X20AC_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D), - /* K67 */ be_nested_str_weak(encode), - /* K68 */ be_nested_str_weak(_Msg1), - /* K69 */ be_nested_str_weak(MTR_X3A_X20sigma2resume_raw_X3A_X20), - /* K70 */ be_nested_str_weak(build_response), - /* K71 */ be_nested_str_weak(responder), - /* K72 */ be_nested_str_weak(send_response), - /* K73 */ be_nested_str_weak(remote_ip), - /* K74 */ be_nested_str_weak(remote_port), - /* K75 */ be_nested_str_weak(message_counter), - /* K76 */ be_nested_str_weak(set_keys), - /* K77 */ be_nested_str_weak(set_persist), - /* K78 */ be_nested_str_weak(set_no_expiration), - /* K79 */ be_nested_str_weak(save), - /* K80 */ be_nested_str_weak(ResponderEph_priv), - /* K81 */ be_nested_str_weak(ResponderEph_pub), - /* K82 */ be_nested_str_weak(EC_P256), - /* K83 */ be_nested_str_weak(public_key), - /* K84 */ be_nested_str_weak(shared_key), - /* K85 */ be_nested_str_weak(TLV), - /* K86 */ be_nested_str_weak(Matter_TLV_struct), - /* K87 */ be_nested_str_weak(add_TLV), - /* K88 */ be_const_int(1), - /* K89 */ be_nested_str_weak(B2), - /* K90 */ be_nested_str_weak(get_noc), - /* K91 */ be_const_int(2), - /* K92 */ be_nested_str_weak(get_icac), - /* K93 */ be_const_int(3), - /* K94 */ be_nested_str_weak(ecdsa_sign_sha256), - /* K95 */ be_nested_str_weak(get_pk), - /* K96 */ be_nested_str_weak(Msg1), - /* K97 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20MSG1_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20), - /* K98 */ be_nested_str_weak(SHA256), - /* K99 */ be_nested_str_weak(update), - /* K100 */ be_nested_str_weak(out), - /* K101 */ be_nested_str_weak(S2K_Info), - /* K102 */ be_nested_str_weak(get_ipk_group_key), - /* K103 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20SharedSecret_X20_X20_X3D_X20), - /* K104 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20s2k_salt_X20_X20_X20_X20_X20_X20_X3D_X20), - /* K105 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20s2k_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20), - /* K106 */ be_nested_str_weak(TBEData2_Nonce), - /* K107 */ be_nested_str_weak(encrypt), - /* K108 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20TBEData2Enc_X20_X20_X20_X3D_X20), - /* K109 */ be_nested_str_weak(Sigma2), - /* K110 */ be_nested_str_weak(responderRandom), - /* K111 */ be_nested_str_weak(responderSessionId), - /* K112 */ be_nested_str_weak(responderEphPubKey), - /* K113 */ be_nested_str_weak(encrypted2), - /* K114 */ be_nested_str_weak(MTR_X3A_X20sigma2_X3A_X20), - /* K115 */ be_nested_str_weak(inspect), - /* K116 */ be_nested_str_weak(_Msg2), - /* K117 */ be_nested_str_weak(MTR_X3A_X20sigma2_raw_X3A_X20), + /* K35 */ be_nested_str_weak(tasmota), + /* K36 */ be_nested_str_weak(log), + /* K37 */ be_nested_str_weak(MTR_X3A_X20Loc_session_X3D), + /* K38 */ be_nested_str_weak(shared_secret), + /* K39 */ be_nested_str_weak(fromstring), + /* K40 */ be_nested_str_weak(Sigma1_Resume), + /* K41 */ be_nested_str_weak(HKDF_SHA256), + /* K42 */ be_nested_str_weak(derive), + /* K43 */ be_nested_str_weak(NCASE_SigmaR1), + /* K44 */ be_const_int(2147483647), + /* K45 */ be_nested_str_weak(AES_CCM), + /* K46 */ be_nested_str_weak(decrypt), + /* K47 */ be_nested_str_weak(tag), + /* K48 */ be_nested_str_weak(_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A), + /* K49 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20s1rk_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20), + /* K50 */ be_nested_str_weak(tohex), + /* K51 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20tag_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20), + /* K52 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20Resume1MICPayload_X20_X3D_X20), + /* K53 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20decrypted_tag_X20_X20_X20_X20_X20_X3D_X20), + /* K54 */ be_nested_str_weak(resumption_id), + /* K55 */ be_nested_str_weak(random), + /* K56 */ be_nested_str_weak(Sigma2_Resume), + /* K57 */ be_nested_str_weak(NCASE_SigmaR2), + /* K58 */ be_nested_str_weak(Sigma2Resume), + /* K59 */ be_nested_str_weak(responderSessionID), + /* K60 */ be_nested_str_weak(sigma2ResumeMIC), + /* K61 */ be_nested_str_weak(SessionResumptionKeys), + /* K62 */ be_nested_str_weak(rtc), + /* K63 */ be_nested_str_weak(utc), + /* K64 */ be_nested_str_weak(MTR_X3A_X20_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A), + /* K65 */ be_nested_str_weak(MTR_X3A_X20I2RKey_X20_X20_X20_X20_X20_X20_X3D), + /* K66 */ be_nested_str_weak(MTR_X3A_X20R2IKey_X20_X20_X20_X20_X20_X20_X3D), + /* K67 */ be_nested_str_weak(MTR_X3A_X20AC_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D), + /* K68 */ be_nested_str_weak(encode), + /* K69 */ be_nested_str_weak(_Msg1), + /* K70 */ be_nested_str_weak(MTR_X3A_X20sigma2resume_raw_X3A_X20), + /* K71 */ be_nested_str_weak(build_response), + /* K72 */ be_nested_str_weak(responder), + /* K73 */ be_nested_str_weak(send_response), + /* K74 */ be_nested_str_weak(remote_ip), + /* K75 */ be_nested_str_weak(remote_port), + /* K76 */ be_nested_str_weak(message_counter), + /* K77 */ be_nested_str_weak(set_keys), + /* K78 */ be_nested_str_weak(set_persist), + /* K79 */ be_nested_str_weak(set_no_expiration), + /* K80 */ be_nested_str_weak(save), + /* K81 */ be_nested_str_weak(ResponderEph_priv), + /* K82 */ be_nested_str_weak(ResponderEph_pub), + /* K83 */ be_nested_str_weak(EC_P256), + /* K84 */ be_nested_str_weak(public_key), + /* K85 */ be_nested_str_weak(shared_key), + /* K86 */ be_nested_str_weak(TLV), + /* K87 */ be_nested_str_weak(Matter_TLV_struct), + /* K88 */ be_nested_str_weak(add_TLV), + /* K89 */ be_const_int(1), + /* K90 */ be_nested_str_weak(B2), + /* K91 */ be_nested_str_weak(get_noc), + /* K92 */ be_const_int(2), + /* K93 */ be_nested_str_weak(get_icac), + /* K94 */ be_const_int(3), + /* K95 */ be_nested_str_weak(ecdsa_sign_sha256), + /* K96 */ be_nested_str_weak(get_pk), + /* K97 */ be_nested_str_weak(Msg1), + /* K98 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20MSG1_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20), + /* K99 */ be_nested_str_weak(SHA256), + /* K100 */ be_nested_str_weak(update), + /* K101 */ be_nested_str_weak(out), + /* K102 */ be_nested_str_weak(S2K_Info), + /* K103 */ be_nested_str_weak(get_ipk_group_key), + /* K104 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20SharedSecret_X20_X20_X3D_X20), + /* K105 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20s2k_salt_X20_X20_X20_X20_X20_X20_X3D_X20), + /* K106 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20s2k_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20), + /* K107 */ be_nested_str_weak(TBEData2_Nonce), + /* K108 */ be_nested_str_weak(encrypt), + /* K109 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20TBEData2Enc_X20_X20_X20_X3D_X20), + /* K110 */ be_nested_str_weak(Sigma2), + /* K111 */ be_nested_str_weak(responderRandom), + /* K112 */ be_nested_str_weak(responderSessionId), + /* K113 */ be_nested_str_weak(responderEphPubKey), + /* K114 */ be_nested_str_weak(encrypted2), + /* K115 */ be_nested_str_weak(MTR_X3A_X20sigma2_X3A_X20), + /* K116 */ be_nested_str_weak(inspect), + /* K117 */ be_nested_str_weak(_Msg2), + /* K118 */ be_nested_str_weak(MTR_X3A_X20sigma2_raw_X3A_X20), }), be_str_weak(parse_Sigma1), &be_const_str_solidified, - ( &(const binstruction[562]) { /* code */ + ( &(const binstruction[569]) { /* code */ 0xA40A0000, // 0000 IMPORT R2 K0 0x880C0301, // 0001 GETMBR R3 R1 K1 0x5412002F, // 0002 LDINT R4 48 @@ -1544,495 +1553,502 @@ be_local_closure(Matter_Commisioning_Context_parse_Sigma1, /* name */ 0x90164006, // 0046 SETMBR R5 K32 R6 0x88180B20, // 0047 GETMBR R6 R5 K32 0x90024406, // 0048 SETMBR R0 K34 R6 - 0x781200EC, // 0049 JMPF R4 #0137 - 0x88180B23, // 004A GETMBR R6 R5 K35 - 0x4C1C0000, // 004B LDNIL R7 - 0x20180C07, // 004C NE R6 R6 R7 - 0x781A00E8, // 004D JMPF R6 #0137 - 0x88180715, // 004E GETMBR R6 R3 K21 - 0x881C070E, // 004F GETMBR R7 R3 K14 - 0x00180C07, // 0050 ADD R6 R6 R7 - 0x601C0015, // 0051 GETGBL R7 G21 - 0x7C1C0000, // 0052 CALL R7 0 - 0x8C1C0F24, // 0053 GETMET R7 R7 K36 - 0x58240025, // 0054 LDCONST R9 K37 - 0x7C1C0400, // 0055 CALL R7 2 - 0x8C200526, // 0056 GETMET R8 R2 K38 - 0x7C200200, // 0057 CALL R8 1 - 0x8C201127, // 0058 GETMET R8 R8 K39 - 0x88280B23, // 0059 GETMBR R10 R5 K35 - 0x5C2C0C00, // 005A MOVE R11 R6 - 0x5C300E00, // 005B MOVE R12 R7 - 0x5436000F, // 005C LDINT R13 16 - 0x7C200A00, // 005D CALL R8 5 - 0x60240015, // 005E GETGBL R9 G21 - 0x7C240000, // 005F CALL R9 0 - 0x8C241324, // 0060 GETMET R9 R9 K36 - 0x582C0028, // 0061 LDCONST R11 K40 - 0x7C240400, // 0062 CALL R9 2 - 0x5429FFEE, // 0063 LDINT R10 -17 - 0x402A060A, // 0064 CONNECT R10 K3 R10 - 0x882C070F, // 0065 GETMBR R11 R3 K15 - 0x9428160A, // 0066 GETIDX R10 R11 R10 - 0x5431FFEF, // 0067 LDINT R12 -16 - 0x40301929, // 0068 CONNECT R12 R12 K41 - 0x8834070F, // 0069 GETMBR R13 R3 K15 - 0x942C1A0C, // 006A GETIDX R11 R13 R12 - 0x8C38052A, // 006B GETMET R14 R2 K42 - 0x5C401000, // 006C MOVE R16 R8 - 0x5C441200, // 006D MOVE R17 R9 - 0x60480015, // 006E GETGBL R18 G21 - 0x7C480000, // 006F CALL R18 0 - 0x604C000C, // 0070 GETGBL R19 G12 - 0x5C501400, // 0071 MOVE R20 R10 - 0x7C4C0200, // 0072 CALL R19 1 - 0x5452000F, // 0073 LDINT R20 16 - 0x7C380C00, // 0074 CALL R14 6 - 0x5C301C00, // 0075 MOVE R12 R14 - 0x8C38192B, // 0076 GETMET R14 R12 K43 - 0x5C401400, // 0077 MOVE R16 R10 - 0x7C380400, // 0078 CALL R14 2 - 0x5C341C00, // 0079 MOVE R13 R14 - 0x8C38192C, // 007A GETMET R14 R12 K44 - 0x7C380200, // 007B CALL R14 1 - 0xB83E5A00, // 007C GETNGBL R15 K45 - 0x8C3C1F2E, // 007D GETMET R15 R15 K46 - 0x5844002F, // 007E LDCONST R17 K47 - 0x544A0003, // 007F LDINT R18 4 - 0x7C3C0600, // 0080 CALL R15 3 - 0xB83E5A00, // 0081 GETNGBL R15 K45 - 0x8C3C1F2E, // 0082 GETMET R15 R15 K46 - 0x8C441131, // 0083 GETMET R17 R8 K49 - 0x7C440200, // 0084 CALL R17 1 - 0x00466011, // 0085 ADD R17 K48 R17 + 0xB81A4600, // 0049 GETNGBL R6 K35 + 0x8C180D24, // 004A GETMET R6 R6 K36 + 0x60200008, // 004B GETGBL R8 G8 + 0x88240122, // 004C GETMBR R9 R0 K34 + 0x7C200200, // 004D CALL R8 1 + 0x00224A08, // 004E ADD R8 K37 R8 + 0x7C180400, // 004F CALL R6 2 + 0x781200EC, // 0050 JMPF R4 #013E + 0x88180B26, // 0051 GETMBR R6 R5 K38 + 0x4C1C0000, // 0052 LDNIL R7 + 0x20180C07, // 0053 NE R6 R6 R7 + 0x781A00E8, // 0054 JMPF R6 #013E + 0x88180715, // 0055 GETMBR R6 R3 K21 + 0x881C070E, // 0056 GETMBR R7 R3 K14 + 0x00180C07, // 0057 ADD R6 R6 R7 + 0x601C0015, // 0058 GETGBL R7 G21 + 0x7C1C0000, // 0059 CALL R7 0 + 0x8C1C0F27, // 005A GETMET R7 R7 K39 + 0x58240028, // 005B LDCONST R9 K40 + 0x7C1C0400, // 005C CALL R7 2 + 0x8C200529, // 005D GETMET R8 R2 K41 + 0x7C200200, // 005E CALL R8 1 + 0x8C20112A, // 005F GETMET R8 R8 K42 + 0x88280B26, // 0060 GETMBR R10 R5 K38 + 0x5C2C0C00, // 0061 MOVE R11 R6 + 0x5C300E00, // 0062 MOVE R12 R7 + 0x5436000F, // 0063 LDINT R13 16 + 0x7C200A00, // 0064 CALL R8 5 + 0x60240015, // 0065 GETGBL R9 G21 + 0x7C240000, // 0066 CALL R9 0 + 0x8C241327, // 0067 GETMET R9 R9 K39 + 0x582C002B, // 0068 LDCONST R11 K43 + 0x7C240400, // 0069 CALL R9 2 + 0x5429FFEE, // 006A LDINT R10 -17 + 0x402A060A, // 006B CONNECT R10 K3 R10 + 0x882C070F, // 006C GETMBR R11 R3 K15 + 0x9428160A, // 006D GETIDX R10 R11 R10 + 0x5431FFEF, // 006E LDINT R12 -16 + 0x4030192C, // 006F CONNECT R12 R12 K44 + 0x8834070F, // 0070 GETMBR R13 R3 K15 + 0x942C1A0C, // 0071 GETIDX R11 R13 R12 + 0x8C38052D, // 0072 GETMET R14 R2 K45 + 0x5C401000, // 0073 MOVE R16 R8 + 0x5C441200, // 0074 MOVE R17 R9 + 0x60480015, // 0075 GETGBL R18 G21 + 0x7C480000, // 0076 CALL R18 0 + 0x604C000C, // 0077 GETGBL R19 G12 + 0x5C501400, // 0078 MOVE R20 R10 + 0x7C4C0200, // 0079 CALL R19 1 + 0x5452000F, // 007A LDINT R20 16 + 0x7C380C00, // 007B CALL R14 6 + 0x5C301C00, // 007C MOVE R12 R14 + 0x8C38192E, // 007D GETMET R14 R12 K46 + 0x5C401400, // 007E MOVE R16 R10 + 0x7C380400, // 007F CALL R14 2 + 0x5C341C00, // 0080 MOVE R13 R14 + 0x8C38192F, // 0081 GETMET R14 R12 K47 + 0x7C380200, // 0082 CALL R14 1 + 0xB83E4600, // 0083 GETNGBL R15 K35 + 0x8C3C1F24, // 0084 GETMET R15 R15 K36 + 0x58440030, // 0085 LDCONST R17 K48 0x544A0003, // 0086 LDINT R18 4 0x7C3C0600, // 0087 CALL R15 3 - 0xB83E5A00, // 0088 GETNGBL R15 K45 - 0x8C3C1F2E, // 0089 GETMET R15 R15 K46 - 0x8C441731, // 008A GETMET R17 R11 K49 + 0xB83E4600, // 0088 GETNGBL R15 K35 + 0x8C3C1F24, // 0089 GETMET R15 R15 K36 + 0x8C441132, // 008A GETMET R17 R8 K50 0x7C440200, // 008B CALL R17 1 - 0x00466411, // 008C ADD R17 K50 R17 + 0x00466211, // 008C ADD R17 K49 R17 0x544A0003, // 008D LDINT R18 4 0x7C3C0600, // 008E CALL R15 3 - 0xB83E5A00, // 008F GETNGBL R15 K45 - 0x8C3C1F2E, // 0090 GETMET R15 R15 K46 - 0x8C441B31, // 0091 GETMET R17 R13 K49 + 0xB83E4600, // 008F GETNGBL R15 K35 + 0x8C3C1F24, // 0090 GETMET R15 R15 K36 + 0x8C441732, // 0091 GETMET R17 R11 K50 0x7C440200, // 0092 CALL R17 1 0x00466611, // 0093 ADD R17 K51 R17 0x544A0003, // 0094 LDINT R18 4 0x7C3C0600, // 0095 CALL R15 3 - 0xB83E5A00, // 0096 GETNGBL R15 K45 - 0x8C3C1F2E, // 0097 GETMET R15 R15 K46 - 0x8C441D31, // 0098 GETMET R17 R14 K49 + 0xB83E4600, // 0096 GETNGBL R15 K35 + 0x8C3C1F24, // 0097 GETMET R15 R15 K36 + 0x8C441B32, // 0098 GETMET R17 R13 K50 0x7C440200, // 0099 CALL R17 1 0x00466811, // 009A ADD R17 K52 R17 0x544A0003, // 009B LDINT R18 4 0x7C3C0600, // 009C CALL R15 3 - 0xB83E5A00, // 009D GETNGBL R15 K45 - 0x8C3C1F2E, // 009E GETMET R15 R15 K46 - 0x5844002F, // 009F LDCONST R17 K47 - 0x544A0003, // 00A0 LDINT R18 4 - 0x7C3C0600, // 00A1 CALL R15 3 - 0x1C3C160E, // 00A2 EQ R15 R11 R14 - 0x783E0090, // 00A3 JMPF R15 #0135 - 0x8C3C0536, // 00A4 GETMET R15 R2 K54 - 0x5446000F, // 00A5 LDINT R17 16 - 0x7C3C0400, // 00A6 CALL R15 2 - 0x90166A0F, // 00A7 SETMBR R5 K53 R15 - 0x603C0015, // 00A8 GETGBL R15 G21 - 0x7C3C0000, // 00A9 CALL R15 0 - 0x8C3C1F24, // 00AA GETMET R15 R15 K36 - 0x58440037, // 00AB LDCONST R17 K55 - 0x7C3C0400, // 00AC CALL R15 2 - 0x88400B35, // 00AD GETMBR R16 R5 K53 - 0x003C1E10, // 00AE ADD R15 R15 R16 - 0x88400715, // 00AF GETMBR R16 R3 K21 - 0x8844070E, // 00B0 GETMBR R17 R3 K14 - 0x00402011, // 00B1 ADD R16 R16 R17 - 0x8C440526, // 00B2 GETMET R17 R2 K38 - 0x7C440200, // 00B3 CALL R17 1 - 0x8C442327, // 00B4 GETMET R17 R17 K39 - 0x884C0B23, // 00B5 GETMBR R19 R5 K35 - 0x5C502000, // 00B6 MOVE R20 R16 - 0x5C541E00, // 00B7 MOVE R21 R15 - 0x545A000F, // 00B8 LDINT R22 16 - 0x7C440A00, // 00B9 CALL R17 5 - 0x8C48052A, // 00BA GETMET R18 R2 K42 - 0x5C502200, // 00BB MOVE R20 R17 - 0x60540015, // 00BC GETGBL R21 G21 - 0x7C540000, // 00BD CALL R21 0 - 0x8C542B24, // 00BE GETMET R21 R21 K36 - 0x585C0038, // 00BF LDCONST R23 K56 - 0x7C540400, // 00C0 CALL R21 2 - 0x60580015, // 00C1 GETGBL R22 G21 - 0x7C580000, // 00C2 CALL R22 0 - 0x585C0003, // 00C3 LDCONST R23 K3 - 0x5462000F, // 00C4 LDINT R24 16 - 0x7C480C00, // 00C5 CALL R18 6 - 0x8C4C252C, // 00C6 GETMET R19 R18 K44 - 0x7C4C0200, // 00C7 CALL R19 1 - 0xB8520E00, // 00C8 GETNGBL R20 K7 - 0x8C502939, // 00C9 GETMET R20 R20 K57 - 0x7C500200, // 00CA CALL R20 1 - 0x88540B35, // 00CB GETMBR R21 R5 K53 - 0x90521C15, // 00CC SETMBR R20 K14 R21 - 0x88540B20, // 00CD GETMBR R21 R5 K32 - 0x90527415, // 00CE SETMBR R20 K58 R21 - 0x90527613, // 00CF SETMBR R20 K59 R19 - 0x8C540526, // 00D0 GETMET R21 R2 K38 - 0x7C540200, // 00D1 CALL R21 1 - 0x8C542B27, // 00D2 GETMET R21 R21 K39 - 0x885C0B23, // 00D3 GETMBR R23 R5 K35 - 0x88600715, // 00D4 GETMBR R24 R3 K21 - 0x8864070E, // 00D5 GETMBR R25 R3 K14 - 0x00603019, // 00D6 ADD R24 R24 R25 - 0x60640015, // 00D7 GETGBL R25 G21 - 0x7C640000, // 00D8 CALL R25 0 - 0x8C643324, // 00D9 GETMET R25 R25 K36 - 0x586C003C, // 00DA LDCONST R27 K60 - 0x7C640400, // 00DB CALL R25 2 - 0x546A002F, // 00DC LDINT R26 48 - 0x7C540A00, // 00DD CALL R21 5 - 0x545A000E, // 00DE LDINT R22 15 - 0x405A0616, // 00DF CONNECT R22 K3 R22 - 0x94582A16, // 00E0 GETIDX R22 R21 R22 - 0x545E000F, // 00E1 LDINT R23 16 - 0x5462001E, // 00E2 LDINT R24 31 - 0x405C2E18, // 00E3 CONNECT R23 R23 R24 - 0x945C2A17, // 00E4 GETIDX R23 R21 R23 - 0x5462001F, // 00E5 LDINT R24 32 - 0x5466002E, // 00E6 LDINT R25 47 - 0x40603019, // 00E7 CONNECT R24 R24 R25 - 0x94602A18, // 00E8 GETIDX R24 R21 R24 - 0xB8665A00, // 00E9 GETNGBL R25 K45 - 0x8C64333D, // 00EA GETMET R25 R25 K61 - 0x7C640200, // 00EB CALL R25 1 - 0x9464333E, // 00EC GETIDX R25 R25 K62 - 0xB86A5A00, // 00ED GETNGBL R26 K45 - 0x8C68352E, // 00EE GETMET R26 R26 K46 - 0x5870003F, // 00EF LDCONST R28 K63 - 0x54760003, // 00F0 LDINT R29 4 - 0x7C680600, // 00F1 CALL R26 3 - 0xB86A5A00, // 00F2 GETNGBL R26 K45 - 0x8C68352E, // 00F3 GETMET R26 R26 K46 - 0x8C702D31, // 00F4 GETMET R28 R22 K49 - 0x7C700200, // 00F5 CALL R28 1 - 0x0072801C, // 00F6 ADD R28 K64 R28 + 0xB83E4600, // 009D GETNGBL R15 K35 + 0x8C3C1F24, // 009E GETMET R15 R15 K36 + 0x8C441D32, // 009F GETMET R17 R14 K50 + 0x7C440200, // 00A0 CALL R17 1 + 0x00466A11, // 00A1 ADD R17 K53 R17 + 0x544A0003, // 00A2 LDINT R18 4 + 0x7C3C0600, // 00A3 CALL R15 3 + 0xB83E4600, // 00A4 GETNGBL R15 K35 + 0x8C3C1F24, // 00A5 GETMET R15 R15 K36 + 0x58440030, // 00A6 LDCONST R17 K48 + 0x544A0003, // 00A7 LDINT R18 4 + 0x7C3C0600, // 00A8 CALL R15 3 + 0x1C3C160E, // 00A9 EQ R15 R11 R14 + 0x783E0090, // 00AA JMPF R15 #013C + 0x8C3C0537, // 00AB GETMET R15 R2 K55 + 0x5446000F, // 00AC LDINT R17 16 + 0x7C3C0400, // 00AD CALL R15 2 + 0x90166C0F, // 00AE SETMBR R5 K54 R15 + 0x603C0015, // 00AF GETGBL R15 G21 + 0x7C3C0000, // 00B0 CALL R15 0 + 0x8C3C1F27, // 00B1 GETMET R15 R15 K39 + 0x58440038, // 00B2 LDCONST R17 K56 + 0x7C3C0400, // 00B3 CALL R15 2 + 0x88400B36, // 00B4 GETMBR R16 R5 K54 + 0x003C1E10, // 00B5 ADD R15 R15 R16 + 0x88400715, // 00B6 GETMBR R16 R3 K21 + 0x8844070E, // 00B7 GETMBR R17 R3 K14 + 0x00402011, // 00B8 ADD R16 R16 R17 + 0x8C440529, // 00B9 GETMET R17 R2 K41 + 0x7C440200, // 00BA CALL R17 1 + 0x8C44232A, // 00BB GETMET R17 R17 K42 + 0x884C0B26, // 00BC GETMBR R19 R5 K38 + 0x5C502000, // 00BD MOVE R20 R16 + 0x5C541E00, // 00BE MOVE R21 R15 + 0x545A000F, // 00BF LDINT R22 16 + 0x7C440A00, // 00C0 CALL R17 5 + 0x8C48052D, // 00C1 GETMET R18 R2 K45 + 0x5C502200, // 00C2 MOVE R20 R17 + 0x60540015, // 00C3 GETGBL R21 G21 + 0x7C540000, // 00C4 CALL R21 0 + 0x8C542B27, // 00C5 GETMET R21 R21 K39 + 0x585C0039, // 00C6 LDCONST R23 K57 + 0x7C540400, // 00C7 CALL R21 2 + 0x60580015, // 00C8 GETGBL R22 G21 + 0x7C580000, // 00C9 CALL R22 0 + 0x585C0003, // 00CA LDCONST R23 K3 + 0x5462000F, // 00CB LDINT R24 16 + 0x7C480C00, // 00CC CALL R18 6 + 0x8C4C252F, // 00CD GETMET R19 R18 K47 + 0x7C4C0200, // 00CE CALL R19 1 + 0xB8520E00, // 00CF GETNGBL R20 K7 + 0x8C50293A, // 00D0 GETMET R20 R20 K58 + 0x7C500200, // 00D1 CALL R20 1 + 0x88540B36, // 00D2 GETMBR R21 R5 K54 + 0x90521C15, // 00D3 SETMBR R20 K14 R21 + 0x88540B20, // 00D4 GETMBR R21 R5 K32 + 0x90527615, // 00D5 SETMBR R20 K59 R21 + 0x90527813, // 00D6 SETMBR R20 K60 R19 + 0x8C540529, // 00D7 GETMET R21 R2 K41 + 0x7C540200, // 00D8 CALL R21 1 + 0x8C542B2A, // 00D9 GETMET R21 R21 K42 + 0x885C0B26, // 00DA GETMBR R23 R5 K38 + 0x88600715, // 00DB GETMBR R24 R3 K21 + 0x8864070E, // 00DC GETMBR R25 R3 K14 + 0x00603019, // 00DD ADD R24 R24 R25 + 0x60640015, // 00DE GETGBL R25 G21 + 0x7C640000, // 00DF CALL R25 0 + 0x8C643327, // 00E0 GETMET R25 R25 K39 + 0x586C003D, // 00E1 LDCONST R27 K61 + 0x7C640400, // 00E2 CALL R25 2 + 0x546A002F, // 00E3 LDINT R26 48 + 0x7C540A00, // 00E4 CALL R21 5 + 0x545A000E, // 00E5 LDINT R22 15 + 0x405A0616, // 00E6 CONNECT R22 K3 R22 + 0x94582A16, // 00E7 GETIDX R22 R21 R22 + 0x545E000F, // 00E8 LDINT R23 16 + 0x5462001E, // 00E9 LDINT R24 31 + 0x405C2E18, // 00EA CONNECT R23 R23 R24 + 0x945C2A17, // 00EB GETIDX R23 R21 R23 + 0x5462001F, // 00EC LDINT R24 32 + 0x5466002E, // 00ED LDINT R25 47 + 0x40603019, // 00EE CONNECT R24 R24 R25 + 0x94602A18, // 00EF GETIDX R24 R21 R24 + 0xB8664600, // 00F0 GETNGBL R25 K35 + 0x8C64333E, // 00F1 GETMET R25 R25 K62 + 0x7C640200, // 00F2 CALL R25 1 + 0x9464333F, // 00F3 GETIDX R25 R25 K63 + 0xB86A4600, // 00F4 GETNGBL R26 K35 + 0x8C683524, // 00F5 GETMET R26 R26 K36 + 0x58700040, // 00F6 LDCONST R28 K64 0x54760003, // 00F7 LDINT R29 4 0x7C680600, // 00F8 CALL R26 3 - 0xB86A5A00, // 00F9 GETNGBL R26 K45 - 0x8C68352E, // 00FA GETMET R26 R26 K46 - 0x8C702F31, // 00FB GETMET R28 R23 K49 + 0xB86A4600, // 00F9 GETNGBL R26 K35 + 0x8C683524, // 00FA GETMET R26 R26 K36 + 0x8C702D32, // 00FB GETMET R28 R22 K50 0x7C700200, // 00FC CALL R28 1 0x0072821C, // 00FD ADD R28 K65 R28 0x54760003, // 00FE LDINT R29 4 0x7C680600, // 00FF CALL R26 3 - 0xB86A5A00, // 0100 GETNGBL R26 K45 - 0x8C68352E, // 0101 GETMET R26 R26 K46 - 0x8C703131, // 0102 GETMET R28 R24 K49 + 0xB86A4600, // 0100 GETNGBL R26 K35 + 0x8C683524, // 0101 GETMET R26 R26 K36 + 0x8C702F32, // 0102 GETMET R28 R23 K50 0x7C700200, // 0103 CALL R28 1 0x0072841C, // 0104 ADD R28 K66 R28 0x54760003, // 0105 LDINT R29 4 0x7C680600, // 0106 CALL R26 3 - 0xB86A5A00, // 0107 GETNGBL R26 K45 - 0x8C68352E, // 0108 GETMET R26 R26 K46 - 0x5870003F, // 0109 LDCONST R28 K63 - 0x54760003, // 010A LDINT R29 4 - 0x7C680600, // 010B CALL R26 3 - 0x8C682943, // 010C GETMET R26 R20 K67 - 0x7C680200, // 010D CALL R26 1 - 0x4C6C0000, // 010E LDNIL R27 - 0x9016881B, // 010F SETMBR R5 K68 R27 - 0xB86E5A00, // 0110 GETNGBL R27 K45 - 0x8C6C372E, // 0111 GETMET R27 R27 K46 - 0x8C743531, // 0112 GETMET R29 R26 K49 - 0x7C740200, // 0113 CALL R29 1 - 0x00768A1D, // 0114 ADD R29 K69 R29 - 0x547A0003, // 0115 LDINT R30 4 - 0x7C6C0600, // 0116 CALL R27 3 - 0x8C6C0346, // 0117 GETMET R27 R1 K70 - 0x54760032, // 0118 LDINT R29 51 - 0x50780200, // 0119 LDBOOL R30 1 0 - 0x7C6C0600, // 011A CALL R27 3 - 0x8C703743, // 011B GETMET R28 R27 K67 - 0x5C783400, // 011C MOVE R30 R26 - 0x7C700400, // 011D CALL R28 2 - 0x88740147, // 011E GETMBR R29 R0 K71 - 0x8C743B48, // 011F GETMET R29 R29 K72 - 0x5C7C3800, // 0120 MOVE R31 R28 - 0x88800349, // 0121 GETMBR R32 R1 K73 - 0x8884034A, // 0122 GETMBR R33 R1 K74 - 0x8888374B, // 0123 GETMBR R34 R27 K75 - 0x7C740A00, // 0124 CALL R29 5 - 0x8C740B4C, // 0125 GETMET R29 R5 K76 - 0x5C7C2C00, // 0126 MOVE R31 R22 - 0x5C802E00, // 0127 MOVE R32 R23 - 0x5C843000, // 0128 MOVE R33 R24 - 0x5C883200, // 0129 MOVE R34 R25 - 0x7C740A00, // 012A CALL R29 5 - 0x8C740B4D, // 012B GETMET R29 R5 K77 - 0x507C0200, // 012C LDBOOL R31 1 0 - 0x7C740400, // 012D CALL R29 2 - 0x8C740B4E, // 012E GETMET R29 R5 K78 - 0x7C740200, // 012F CALL R29 1 - 0x8C740B4F, // 0130 GETMET R29 R5 K79 - 0x7C740200, // 0131 CALL R29 1 - 0x50740200, // 0132 LDBOOL R29 1 0 - 0x80043A00, // 0133 RET 1 R29 - 0x70020001, // 0134 JMP #0137 - 0x4C3C0000, // 0135 LDNIL R15 - 0x900E1C0F, // 0136 SETMBR R3 K14 R15 - 0x8818070E, // 0137 GETMBR R6 R3 K14 - 0x4C1C0000, // 0138 LDNIL R7 - 0x1C180C07, // 0139 EQ R6 R6 R7 - 0x741A0003, // 013A JMPT R6 #013F - 0x8818070F, // 013B GETMBR R6 R3 K15 - 0x4C1C0000, // 013C LDNIL R7 - 0x1C180C07, // 013D EQ R6 R6 R7 - 0x781A00F0, // 013E JMPF R6 #0230 - 0x8C180536, // 013F GETMET R6 R2 K54 - 0x5422000F, // 0140 LDINT R8 16 - 0x7C180400, // 0141 CALL R6 2 - 0x90166A06, // 0142 SETMBR R5 K53 R6 - 0x8C180536, // 0143 GETMET R6 R2 K54 - 0x5422001F, // 0144 LDINT R8 32 - 0x7C180400, // 0145 CALL R6 2 - 0x9002A006, // 0146 SETMBR R0 K80 R6 - 0x8C180552, // 0147 GETMET R6 R2 K82 - 0x7C180200, // 0148 CALL R6 1 - 0x8C180D53, // 0149 GETMET R6 R6 K83 - 0x88200150, // 014A GETMBR R8 R0 K80 - 0x7C180400, // 014B CALL R6 2 - 0x9002A206, // 014C SETMBR R0 K81 R6 - 0x8C180536, // 014D GETMET R6 R2 K54 - 0x5422001F, // 014E LDINT R8 32 - 0x7C180400, // 014F CALL R6 2 - 0x8C1C0552, // 0150 GETMET R7 R2 K82 - 0x7C1C0200, // 0151 CALL R7 1 - 0x8C1C0F54, // 0152 GETMET R7 R7 K84 - 0x88240150, // 0153 GETMBR R9 R0 K80 - 0x8828070D, // 0154 GETMBR R10 R3 K13 - 0x7C1C0600, // 0155 CALL R7 3 - 0x90164607, // 0156 SETMBR R5 K35 R7 - 0xB81E0E00, // 0157 GETNGBL R7 K7 - 0x881C0F55, // 0158 GETMBR R7 R7 K85 - 0x8C1C0F56, // 0159 GETMET R7 R7 K86 - 0x7C1C0200, // 015A CALL R7 1 - 0x8C200F57, // 015B GETMET R8 R7 K87 - 0x58280058, // 015C LDCONST R10 K88 - 0xB82E0E00, // 015D GETNGBL R11 K7 - 0x882C1755, // 015E GETMBR R11 R11 K85 - 0x882C1759, // 015F GETMBR R11 R11 K89 - 0x8C300B5A, // 0160 GETMET R12 R5 K90 - 0x7C300200, // 0161 CALL R12 1 - 0x7C200800, // 0162 CALL R8 4 - 0x8C200F57, // 0163 GETMET R8 R7 K87 - 0x5828005B, // 0164 LDCONST R10 K91 - 0xB82E0E00, // 0165 GETNGBL R11 K7 - 0x882C1755, // 0166 GETMBR R11 R11 K85 - 0x882C1759, // 0167 GETMBR R11 R11 K89 - 0x8C300B5C, // 0168 GETMET R12 R5 K92 - 0x7C300200, // 0169 CALL R12 1 - 0x7C200800, // 016A CALL R8 4 - 0x8C200F57, // 016B GETMET R8 R7 K87 - 0x5828005D, // 016C LDCONST R10 K93 - 0xB82E0E00, // 016D GETNGBL R11 K7 - 0x882C1755, // 016E GETMBR R11 R11 K85 - 0x882C1759, // 016F GETMBR R11 R11 K89 - 0x88300151, // 0170 GETMBR R12 R0 K81 + 0xB86A4600, // 0107 GETNGBL R26 K35 + 0x8C683524, // 0108 GETMET R26 R26 K36 + 0x8C703132, // 0109 GETMET R28 R24 K50 + 0x7C700200, // 010A CALL R28 1 + 0x0072861C, // 010B ADD R28 K67 R28 + 0x54760003, // 010C LDINT R29 4 + 0x7C680600, // 010D CALL R26 3 + 0xB86A4600, // 010E GETNGBL R26 K35 + 0x8C683524, // 010F GETMET R26 R26 K36 + 0x58700040, // 0110 LDCONST R28 K64 + 0x54760003, // 0111 LDINT R29 4 + 0x7C680600, // 0112 CALL R26 3 + 0x8C682944, // 0113 GETMET R26 R20 K68 + 0x7C680200, // 0114 CALL R26 1 + 0x4C6C0000, // 0115 LDNIL R27 + 0x90168A1B, // 0116 SETMBR R5 K69 R27 + 0xB86E4600, // 0117 GETNGBL R27 K35 + 0x8C6C3724, // 0118 GETMET R27 R27 K36 + 0x8C743532, // 0119 GETMET R29 R26 K50 + 0x7C740200, // 011A CALL R29 1 + 0x00768C1D, // 011B ADD R29 K70 R29 + 0x547A0003, // 011C LDINT R30 4 + 0x7C6C0600, // 011D CALL R27 3 + 0x8C6C0347, // 011E GETMET R27 R1 K71 + 0x54760032, // 011F LDINT R29 51 + 0x50780200, // 0120 LDBOOL R30 1 0 + 0x7C6C0600, // 0121 CALL R27 3 + 0x8C703744, // 0122 GETMET R28 R27 K68 + 0x5C783400, // 0123 MOVE R30 R26 + 0x7C700400, // 0124 CALL R28 2 + 0x88740148, // 0125 GETMBR R29 R0 K72 + 0x8C743B49, // 0126 GETMET R29 R29 K73 + 0x5C7C3800, // 0127 MOVE R31 R28 + 0x8880034A, // 0128 GETMBR R32 R1 K74 + 0x8884034B, // 0129 GETMBR R33 R1 K75 + 0x8888374C, // 012A GETMBR R34 R27 K76 + 0x7C740A00, // 012B CALL R29 5 + 0x8C740B4D, // 012C GETMET R29 R5 K77 + 0x5C7C2C00, // 012D MOVE R31 R22 + 0x5C802E00, // 012E MOVE R32 R23 + 0x5C843000, // 012F MOVE R33 R24 + 0x5C883200, // 0130 MOVE R34 R25 + 0x7C740A00, // 0131 CALL R29 5 + 0x8C740B4E, // 0132 GETMET R29 R5 K78 + 0x507C0200, // 0133 LDBOOL R31 1 0 + 0x7C740400, // 0134 CALL R29 2 + 0x8C740B4F, // 0135 GETMET R29 R5 K79 + 0x7C740200, // 0136 CALL R29 1 + 0x8C740B50, // 0137 GETMET R29 R5 K80 + 0x7C740200, // 0138 CALL R29 1 + 0x50740200, // 0139 LDBOOL R29 1 0 + 0x80043A00, // 013A RET 1 R29 + 0x70020001, // 013B JMP #013E + 0x4C3C0000, // 013C LDNIL R15 + 0x900E1C0F, // 013D SETMBR R3 K14 R15 + 0x8818070E, // 013E GETMBR R6 R3 K14 + 0x4C1C0000, // 013F LDNIL R7 + 0x1C180C07, // 0140 EQ R6 R6 R7 + 0x741A0003, // 0141 JMPT R6 #0146 + 0x8818070F, // 0142 GETMBR R6 R3 K15 + 0x4C1C0000, // 0143 LDNIL R7 + 0x1C180C07, // 0144 EQ R6 R6 R7 + 0x781A00F0, // 0145 JMPF R6 #0237 + 0x8C180537, // 0146 GETMET R6 R2 K55 + 0x5422000F, // 0147 LDINT R8 16 + 0x7C180400, // 0148 CALL R6 2 + 0x90166C06, // 0149 SETMBR R5 K54 R6 + 0x8C180537, // 014A GETMET R6 R2 K55 + 0x5422001F, // 014B LDINT R8 32 + 0x7C180400, // 014C CALL R6 2 + 0x9002A206, // 014D SETMBR R0 K81 R6 + 0x8C180553, // 014E GETMET R6 R2 K83 + 0x7C180200, // 014F CALL R6 1 + 0x8C180D54, // 0150 GETMET R6 R6 K84 + 0x88200151, // 0151 GETMBR R8 R0 K81 + 0x7C180400, // 0152 CALL R6 2 + 0x9002A406, // 0153 SETMBR R0 K82 R6 + 0x8C180537, // 0154 GETMET R6 R2 K55 + 0x5422001F, // 0155 LDINT R8 32 + 0x7C180400, // 0156 CALL R6 2 + 0x8C1C0553, // 0157 GETMET R7 R2 K83 + 0x7C1C0200, // 0158 CALL R7 1 + 0x8C1C0F55, // 0159 GETMET R7 R7 K85 + 0x88240151, // 015A GETMBR R9 R0 K81 + 0x8828070D, // 015B GETMBR R10 R3 K13 + 0x7C1C0600, // 015C CALL R7 3 + 0x90164C07, // 015D SETMBR R5 K38 R7 + 0xB81E0E00, // 015E GETNGBL R7 K7 + 0x881C0F56, // 015F GETMBR R7 R7 K86 + 0x8C1C0F57, // 0160 GETMET R7 R7 K87 + 0x7C1C0200, // 0161 CALL R7 1 + 0x8C200F58, // 0162 GETMET R8 R7 K88 + 0x58280059, // 0163 LDCONST R10 K89 + 0xB82E0E00, // 0164 GETNGBL R11 K7 + 0x882C1756, // 0165 GETMBR R11 R11 K86 + 0x882C175A, // 0166 GETMBR R11 R11 K90 + 0x8C300B5B, // 0167 GETMET R12 R5 K91 + 0x7C300200, // 0168 CALL R12 1 + 0x7C200800, // 0169 CALL R8 4 + 0x8C200F58, // 016A GETMET R8 R7 K88 + 0x5828005C, // 016B LDCONST R10 K92 + 0xB82E0E00, // 016C GETNGBL R11 K7 + 0x882C1756, // 016D GETMBR R11 R11 K86 + 0x882C175A, // 016E GETMBR R11 R11 K90 + 0x8C300B5D, // 016F GETMET R12 R5 K93 + 0x7C300200, // 0170 CALL R12 1 0x7C200800, // 0171 CALL R8 4 - 0x8C200F57, // 0172 GETMET R8 R7 K87 - 0x542A0003, // 0173 LDINT R10 4 + 0x8C200F58, // 0172 GETMET R8 R7 K88 + 0x5828005E, // 0173 LDCONST R10 K94 0xB82E0E00, // 0174 GETNGBL R11 K7 - 0x882C1755, // 0175 GETMBR R11 R11 K85 - 0x882C1759, // 0176 GETMBR R11 R11 K89 - 0x8830070D, // 0177 GETMBR R12 R3 K13 + 0x882C1756, // 0175 GETMBR R11 R11 K86 + 0x882C175A, // 0176 GETMBR R11 R11 K90 + 0x88300152, // 0177 GETMBR R12 R0 K82 0x7C200800, // 0178 CALL R8 4 - 0x8C200552, // 0179 GETMET R8 R2 K82 - 0x7C200200, // 017A CALL R8 1 - 0x8C20115E, // 017B GETMET R8 R8 K94 - 0x8C280B5F, // 017C GETMET R10 R5 K95 - 0x7C280200, // 017D CALL R10 1 - 0x8C2C0F43, // 017E GETMET R11 R7 K67 - 0x7C2C0200, // 017F CALL R11 1 - 0x7C200600, // 0180 CALL R8 3 - 0xB8260E00, // 0181 GETNGBL R9 K7 - 0x88241355, // 0182 GETMBR R9 R9 K85 - 0x8C241356, // 0183 GETMET R9 R9 K86 - 0x7C240200, // 0184 CALL R9 1 - 0x8C281357, // 0185 GETMET R10 R9 K87 - 0x58300058, // 0186 LDCONST R12 K88 - 0xB8360E00, // 0187 GETNGBL R13 K7 - 0x88341B55, // 0188 GETMBR R13 R13 K85 - 0x88341B59, // 0189 GETMBR R13 R13 K89 - 0x8C380B5A, // 018A GETMET R14 R5 K90 - 0x7C380200, // 018B CALL R14 1 - 0x7C280800, // 018C CALL R10 4 - 0x8C281357, // 018D GETMET R10 R9 K87 - 0x5830005B, // 018E LDCONST R12 K91 - 0xB8360E00, // 018F GETNGBL R13 K7 - 0x88341B55, // 0190 GETMBR R13 R13 K85 - 0x88341B59, // 0191 GETMBR R13 R13 K89 - 0x8C380B5C, // 0192 GETMET R14 R5 K92 - 0x7C380200, // 0193 CALL R14 1 - 0x7C280800, // 0194 CALL R10 4 - 0x8C281357, // 0195 GETMET R10 R9 K87 - 0x5830005D, // 0196 LDCONST R12 K93 - 0xB8360E00, // 0197 GETNGBL R13 K7 - 0x88341B55, // 0198 GETMBR R13 R13 K85 - 0x88341B59, // 0199 GETMBR R13 R13 K89 - 0x5C381000, // 019A MOVE R14 R8 + 0x8C200F58, // 0179 GETMET R8 R7 K88 + 0x542A0003, // 017A LDINT R10 4 + 0xB82E0E00, // 017B GETNGBL R11 K7 + 0x882C1756, // 017C GETMBR R11 R11 K86 + 0x882C175A, // 017D GETMBR R11 R11 K90 + 0x8830070D, // 017E GETMBR R12 R3 K13 + 0x7C200800, // 017F CALL R8 4 + 0x8C200553, // 0180 GETMET R8 R2 K83 + 0x7C200200, // 0181 CALL R8 1 + 0x8C20115F, // 0182 GETMET R8 R8 K95 + 0x8C280B60, // 0183 GETMET R10 R5 K96 + 0x7C280200, // 0184 CALL R10 1 + 0x8C2C0F44, // 0185 GETMET R11 R7 K68 + 0x7C2C0200, // 0186 CALL R11 1 + 0x7C200600, // 0187 CALL R8 3 + 0xB8260E00, // 0188 GETNGBL R9 K7 + 0x88241356, // 0189 GETMBR R9 R9 K86 + 0x8C241357, // 018A GETMET R9 R9 K87 + 0x7C240200, // 018B CALL R9 1 + 0x8C281358, // 018C GETMET R10 R9 K88 + 0x58300059, // 018D LDCONST R12 K89 + 0xB8360E00, // 018E GETNGBL R13 K7 + 0x88341B56, // 018F GETMBR R13 R13 K86 + 0x88341B5A, // 0190 GETMBR R13 R13 K90 + 0x8C380B5B, // 0191 GETMET R14 R5 K91 + 0x7C380200, // 0192 CALL R14 1 + 0x7C280800, // 0193 CALL R10 4 + 0x8C281358, // 0194 GETMET R10 R9 K88 + 0x5830005C, // 0195 LDCONST R12 K92 + 0xB8360E00, // 0196 GETNGBL R13 K7 + 0x88341B56, // 0197 GETMBR R13 R13 K86 + 0x88341B5A, // 0198 GETMBR R13 R13 K90 + 0x8C380B5D, // 0199 GETMET R14 R5 K93 + 0x7C380200, // 019A CALL R14 1 0x7C280800, // 019B CALL R10 4 - 0x8C281357, // 019C GETMET R10 R9 K87 - 0x54320003, // 019D LDINT R12 4 + 0x8C281358, // 019C GETMET R10 R9 K88 + 0x5830005E, // 019D LDCONST R12 K94 0xB8360E00, // 019E GETNGBL R13 K7 - 0x88341B55, // 019F GETMBR R13 R13 K85 - 0x88341B59, // 01A0 GETMBR R13 R13 K89 - 0x88380B35, // 01A1 GETMBR R14 R5 K53 + 0x88341B56, // 019F GETMBR R13 R13 K86 + 0x88341B5A, // 01A0 GETMBR R13 R13 K90 + 0x5C381000, // 01A1 MOVE R14 R8 0x7C280800, // 01A2 CALL R10 4 - 0xB82A5A00, // 01A3 GETNGBL R10 K45 - 0x8C28152E, // 01A4 GETMET R10 R10 K46 - 0x5830002F, // 01A5 LDCONST R12 K47 - 0x54360003, // 01A6 LDINT R13 4 - 0x7C280600, // 01A7 CALL R10 3 - 0x88280760, // 01A8 GETMBR R10 R3 K96 - 0x9016880A, // 01A9 SETMBR R5 K68 R10 - 0xB82A5A00, // 01AA GETNGBL R10 K45 - 0x8C28152E, // 01AB GETMET R10 R10 K46 - 0x88300B44, // 01AC GETMBR R12 R5 K68 - 0x8C301931, // 01AD GETMET R12 R12 K49 - 0x7C300200, // 01AE CALL R12 1 - 0x0032C20C, // 01AF ADD R12 K97 R12 - 0x54360003, // 01B0 LDINT R13 4 - 0x7C280600, // 01B1 CALL R10 3 - 0x8C280562, // 01B2 GETMET R10 R2 K98 - 0x7C280200, // 01B3 CALL R10 1 - 0x8C281563, // 01B4 GETMET R10 R10 K99 - 0x88300B44, // 01B5 GETMBR R12 R5 K68 - 0x7C280400, // 01B6 CALL R10 2 - 0x8C281564, // 01B7 GETMET R10 R10 K100 - 0x7C280200, // 01B8 CALL R10 1 - 0x602C0015, // 01B9 GETGBL R11 G21 - 0x7C2C0000, // 01BA CALL R11 0 - 0x8C2C1724, // 01BB GETMET R11 R11 K36 - 0x88340165, // 01BC GETMBR R13 R0 K101 - 0x7C2C0400, // 01BD CALL R11 2 - 0x8C300B66, // 01BE GETMET R12 R5 K102 - 0x7C300200, // 01BF CALL R12 1 - 0x00301806, // 01C0 ADD R12 R12 R6 - 0x88340151, // 01C1 GETMBR R13 R0 K81 - 0x0030180D, // 01C2 ADD R12 R12 R13 - 0x0030180A, // 01C3 ADD R12 R12 R10 - 0x8C340526, // 01C4 GETMET R13 R2 K38 - 0x7C340200, // 01C5 CALL R13 1 - 0x8C341B27, // 01C6 GETMET R13 R13 K39 - 0x883C0B23, // 01C7 GETMBR R15 R5 K35 - 0x5C401800, // 01C8 MOVE R16 R12 - 0x5C441600, // 01C9 MOVE R17 R11 - 0x544A000F, // 01CA LDINT R18 16 - 0x7C340A00, // 01CB CALL R13 5 - 0xB83A5A00, // 01CC GETNGBL R14 K45 - 0x8C381D2E, // 01CD GETMET R14 R14 K46 - 0x88400B23, // 01CE GETMBR R16 R5 K35 - 0x8C402131, // 01CF GETMET R16 R16 K49 - 0x7C400200, // 01D0 CALL R16 1 - 0x0042CE10, // 01D1 ADD R16 K103 R16 - 0x54460003, // 01D2 LDINT R17 4 - 0x7C380600, // 01D3 CALL R14 3 - 0xB83A5A00, // 01D4 GETNGBL R14 K45 - 0x8C381D2E, // 01D5 GETMET R14 R14 K46 - 0x8C401931, // 01D6 GETMET R16 R12 K49 + 0x8C281358, // 01A3 GETMET R10 R9 K88 + 0x54320003, // 01A4 LDINT R12 4 + 0xB8360E00, // 01A5 GETNGBL R13 K7 + 0x88341B56, // 01A6 GETMBR R13 R13 K86 + 0x88341B5A, // 01A7 GETMBR R13 R13 K90 + 0x88380B36, // 01A8 GETMBR R14 R5 K54 + 0x7C280800, // 01A9 CALL R10 4 + 0xB82A4600, // 01AA GETNGBL R10 K35 + 0x8C281524, // 01AB GETMET R10 R10 K36 + 0x58300030, // 01AC LDCONST R12 K48 + 0x54360003, // 01AD LDINT R13 4 + 0x7C280600, // 01AE CALL R10 3 + 0x88280761, // 01AF GETMBR R10 R3 K97 + 0x90168A0A, // 01B0 SETMBR R5 K69 R10 + 0xB82A4600, // 01B1 GETNGBL R10 K35 + 0x8C281524, // 01B2 GETMET R10 R10 K36 + 0x88300B45, // 01B3 GETMBR R12 R5 K69 + 0x8C301932, // 01B4 GETMET R12 R12 K50 + 0x7C300200, // 01B5 CALL R12 1 + 0x0032C40C, // 01B6 ADD R12 K98 R12 + 0x54360003, // 01B7 LDINT R13 4 + 0x7C280600, // 01B8 CALL R10 3 + 0x8C280563, // 01B9 GETMET R10 R2 K99 + 0x7C280200, // 01BA CALL R10 1 + 0x8C281564, // 01BB GETMET R10 R10 K100 + 0x88300B45, // 01BC GETMBR R12 R5 K69 + 0x7C280400, // 01BD CALL R10 2 + 0x8C281565, // 01BE GETMET R10 R10 K101 + 0x7C280200, // 01BF CALL R10 1 + 0x602C0015, // 01C0 GETGBL R11 G21 + 0x7C2C0000, // 01C1 CALL R11 0 + 0x8C2C1727, // 01C2 GETMET R11 R11 K39 + 0x88340166, // 01C3 GETMBR R13 R0 K102 + 0x7C2C0400, // 01C4 CALL R11 2 + 0x8C300B67, // 01C5 GETMET R12 R5 K103 + 0x7C300200, // 01C6 CALL R12 1 + 0x00301806, // 01C7 ADD R12 R12 R6 + 0x88340152, // 01C8 GETMBR R13 R0 K82 + 0x0030180D, // 01C9 ADD R12 R12 R13 + 0x0030180A, // 01CA ADD R12 R12 R10 + 0x8C340529, // 01CB GETMET R13 R2 K41 + 0x7C340200, // 01CC CALL R13 1 + 0x8C341B2A, // 01CD GETMET R13 R13 K42 + 0x883C0B26, // 01CE GETMBR R15 R5 K38 + 0x5C401800, // 01CF MOVE R16 R12 + 0x5C441600, // 01D0 MOVE R17 R11 + 0x544A000F, // 01D1 LDINT R18 16 + 0x7C340A00, // 01D2 CALL R13 5 + 0xB83A4600, // 01D3 GETNGBL R14 K35 + 0x8C381D24, // 01D4 GETMET R14 R14 K36 + 0x88400B26, // 01D5 GETMBR R16 R5 K38 + 0x8C402132, // 01D6 GETMET R16 R16 K50 0x7C400200, // 01D7 CALL R16 1 0x0042D010, // 01D8 ADD R16 K104 R16 0x54460003, // 01D9 LDINT R17 4 0x7C380600, // 01DA CALL R14 3 - 0xB83A5A00, // 01DB GETNGBL R14 K45 - 0x8C381D2E, // 01DC GETMET R14 R14 K46 - 0x8C401B31, // 01DD GETMET R16 R13 K49 + 0xB83A4600, // 01DB GETNGBL R14 K35 + 0x8C381D24, // 01DC GETMET R14 R14 K36 + 0x8C401932, // 01DD GETMET R16 R12 K50 0x7C400200, // 01DE CALL R16 1 0x0042D210, // 01DF ADD R16 K105 R16 0x54460003, // 01E0 LDINT R17 4 0x7C380600, // 01E1 CALL R14 3 - 0x8C381343, // 01E2 GETMET R14 R9 K67 - 0x7C380200, // 01E3 CALL R14 1 - 0x8C3C052A, // 01E4 GETMET R15 R2 K42 - 0x5C441A00, // 01E5 MOVE R17 R13 - 0x60480015, // 01E6 GETGBL R18 G21 - 0x7C480000, // 01E7 CALL R18 0 - 0x8C482524, // 01E8 GETMET R18 R18 K36 - 0x8850016A, // 01E9 GETMBR R20 R0 K106 - 0x7C480400, // 01EA CALL R18 2 - 0x604C0015, // 01EB GETGBL R19 G21 - 0x7C4C0000, // 01EC CALL R19 0 - 0x6050000C, // 01ED GETGBL R20 G12 - 0x5C541C00, // 01EE MOVE R21 R14 - 0x7C500200, // 01EF CALL R20 1 - 0x5456000F, // 01F0 LDINT R21 16 - 0x7C3C0C00, // 01F1 CALL R15 6 - 0x8C401F6B, // 01F2 GETMET R16 R15 K107 - 0x5C481C00, // 01F3 MOVE R18 R14 - 0x7C400400, // 01F4 CALL R16 2 - 0x8C441F2C, // 01F5 GETMET R17 R15 K44 - 0x7C440200, // 01F6 CALL R17 1 - 0x00402011, // 01F7 ADD R16 R16 R17 - 0xB8465A00, // 01F8 GETNGBL R17 K45 - 0x8C44232E, // 01F9 GETMET R17 R17 K46 - 0x8C4C2131, // 01FA GETMET R19 R16 K49 - 0x7C4C0200, // 01FB CALL R19 1 - 0x004ED813, // 01FC ADD R19 K108 R19 - 0x54520003, // 01FD LDINT R20 4 - 0x7C440600, // 01FE CALL R17 3 - 0xB8465A00, // 01FF GETNGBL R17 K45 - 0x8C44232E, // 0200 GETMET R17 R17 K46 - 0x584C002F, // 0201 LDCONST R19 K47 - 0x54520003, // 0202 LDINT R20 4 - 0x7C440600, // 0203 CALL R17 3 - 0xB8460E00, // 0204 GETNGBL R17 K7 - 0x8C44236D, // 0205 GETMET R17 R17 K109 - 0x7C440200, // 0206 CALL R17 1 - 0x9046DC06, // 0207 SETMBR R17 K110 R6 - 0x88480122, // 0208 GETMBR R18 R0 K34 - 0x9046DE12, // 0209 SETMBR R17 K111 R18 - 0x88480151, // 020A GETMBR R18 R0 K81 - 0x9046E012, // 020B SETMBR R17 K112 R18 - 0x9046E210, // 020C SETMBR R17 K113 R16 - 0xB84A5A00, // 020D GETNGBL R18 K45 - 0x8C48252E, // 020E GETMET R18 R18 K46 - 0xB8520E00, // 020F GETNGBL R20 K7 - 0x8C502973, // 0210 GETMET R20 R20 K115 - 0x5C582200, // 0211 MOVE R22 R17 - 0x7C500400, // 0212 CALL R20 2 - 0x0052E414, // 0213 ADD R20 K114 R20 - 0x54560003, // 0214 LDINT R21 4 - 0x7C480600, // 0215 CALL R18 3 - 0x8C482343, // 0216 GETMET R18 R17 K67 - 0x7C480200, // 0217 CALL R18 1 - 0x9016E812, // 0218 SETMBR R5 K116 R18 - 0xB84E5A00, // 0219 GETNGBL R19 K45 - 0x8C4C272E, // 021A GETMET R19 R19 K46 - 0x8C542531, // 021B GETMET R21 R18 K49 - 0x7C540200, // 021C CALL R21 1 - 0x0056EA15, // 021D ADD R21 K117 R21 - 0x545A0003, // 021E LDINT R22 4 - 0x7C4C0600, // 021F CALL R19 3 - 0x8C4C0346, // 0220 GETMET R19 R1 K70 - 0x54560030, // 0221 LDINT R21 49 - 0x50580200, // 0222 LDBOOL R22 1 0 - 0x7C4C0600, // 0223 CALL R19 3 - 0x8C502743, // 0224 GETMET R20 R19 K67 - 0x5C582400, // 0225 MOVE R22 R18 - 0x7C500400, // 0226 CALL R20 2 - 0x88540147, // 0227 GETMBR R21 R0 K71 - 0x8C542B48, // 0228 GETMET R21 R21 K72 - 0x5C5C2800, // 0229 MOVE R23 R20 - 0x88600349, // 022A GETMBR R24 R1 K73 - 0x8864034A, // 022B GETMBR R25 R1 K74 - 0x8868274B, // 022C GETMBR R26 R19 K75 - 0x7C540A00, // 022D CALL R21 5 - 0x50540200, // 022E LDBOOL R21 1 0 - 0x80042A00, // 022F RET 1 R21 - 0x50180200, // 0230 LDBOOL R6 1 0 - 0x80040C00, // 0231 RET 1 R6 + 0xB83A4600, // 01E2 GETNGBL R14 K35 + 0x8C381D24, // 01E3 GETMET R14 R14 K36 + 0x8C401B32, // 01E4 GETMET R16 R13 K50 + 0x7C400200, // 01E5 CALL R16 1 + 0x0042D410, // 01E6 ADD R16 K106 R16 + 0x54460003, // 01E7 LDINT R17 4 + 0x7C380600, // 01E8 CALL R14 3 + 0x8C381344, // 01E9 GETMET R14 R9 K68 + 0x7C380200, // 01EA CALL R14 1 + 0x8C3C052D, // 01EB GETMET R15 R2 K45 + 0x5C441A00, // 01EC MOVE R17 R13 + 0x60480015, // 01ED GETGBL R18 G21 + 0x7C480000, // 01EE CALL R18 0 + 0x8C482527, // 01EF GETMET R18 R18 K39 + 0x8850016B, // 01F0 GETMBR R20 R0 K107 + 0x7C480400, // 01F1 CALL R18 2 + 0x604C0015, // 01F2 GETGBL R19 G21 + 0x7C4C0000, // 01F3 CALL R19 0 + 0x6050000C, // 01F4 GETGBL R20 G12 + 0x5C541C00, // 01F5 MOVE R21 R14 + 0x7C500200, // 01F6 CALL R20 1 + 0x5456000F, // 01F7 LDINT R21 16 + 0x7C3C0C00, // 01F8 CALL R15 6 + 0x8C401F6C, // 01F9 GETMET R16 R15 K108 + 0x5C481C00, // 01FA MOVE R18 R14 + 0x7C400400, // 01FB CALL R16 2 + 0x8C441F2F, // 01FC GETMET R17 R15 K47 + 0x7C440200, // 01FD CALL R17 1 + 0x00402011, // 01FE ADD R16 R16 R17 + 0xB8464600, // 01FF GETNGBL R17 K35 + 0x8C442324, // 0200 GETMET R17 R17 K36 + 0x8C4C2132, // 0201 GETMET R19 R16 K50 + 0x7C4C0200, // 0202 CALL R19 1 + 0x004EDA13, // 0203 ADD R19 K109 R19 + 0x54520003, // 0204 LDINT R20 4 + 0x7C440600, // 0205 CALL R17 3 + 0xB8464600, // 0206 GETNGBL R17 K35 + 0x8C442324, // 0207 GETMET R17 R17 K36 + 0x584C0030, // 0208 LDCONST R19 K48 + 0x54520003, // 0209 LDINT R20 4 + 0x7C440600, // 020A CALL R17 3 + 0xB8460E00, // 020B GETNGBL R17 K7 + 0x8C44236E, // 020C GETMET R17 R17 K110 + 0x7C440200, // 020D CALL R17 1 + 0x9046DE06, // 020E SETMBR R17 K111 R6 + 0x88480122, // 020F GETMBR R18 R0 K34 + 0x9046E012, // 0210 SETMBR R17 K112 R18 + 0x88480152, // 0211 GETMBR R18 R0 K82 + 0x9046E212, // 0212 SETMBR R17 K113 R18 + 0x9046E410, // 0213 SETMBR R17 K114 R16 + 0xB84A4600, // 0214 GETNGBL R18 K35 + 0x8C482524, // 0215 GETMET R18 R18 K36 + 0xB8520E00, // 0216 GETNGBL R20 K7 + 0x8C502974, // 0217 GETMET R20 R20 K116 + 0x5C582200, // 0218 MOVE R22 R17 + 0x7C500400, // 0219 CALL R20 2 + 0x0052E614, // 021A ADD R20 K115 R20 + 0x54560003, // 021B LDINT R21 4 + 0x7C480600, // 021C CALL R18 3 + 0x8C482344, // 021D GETMET R18 R17 K68 + 0x7C480200, // 021E CALL R18 1 + 0x9016EA12, // 021F SETMBR R5 K117 R18 + 0xB84E4600, // 0220 GETNGBL R19 K35 + 0x8C4C2724, // 0221 GETMET R19 R19 K36 + 0x8C542532, // 0222 GETMET R21 R18 K50 + 0x7C540200, // 0223 CALL R21 1 + 0x0056EC15, // 0224 ADD R21 K118 R21 + 0x545A0003, // 0225 LDINT R22 4 + 0x7C4C0600, // 0226 CALL R19 3 + 0x8C4C0347, // 0227 GETMET R19 R1 K71 + 0x54560030, // 0228 LDINT R21 49 + 0x50580200, // 0229 LDBOOL R22 1 0 + 0x7C4C0600, // 022A CALL R19 3 + 0x8C502744, // 022B GETMET R20 R19 K68 + 0x5C582400, // 022C MOVE R22 R18 + 0x7C500400, // 022D CALL R20 2 + 0x88540148, // 022E GETMBR R21 R0 K72 + 0x8C542B49, // 022F GETMET R21 R21 K73 + 0x5C5C2800, // 0230 MOVE R23 R20 + 0x8860034A, // 0231 GETMBR R24 R1 K74 + 0x8864034B, // 0232 GETMBR R25 R1 K75 + 0x8868274C, // 0233 GETMBR R26 R19 K76 + 0x7C540A00, // 0234 CALL R21 5 + 0x50540200, // 0235 LDBOOL R21 1 0 + 0x80042A00, // 0236 RET 1 R21 + 0x50180200, // 0237 LDBOOL R6 1 0 + 0x80040C00, // 0238 RET 1 R6 }) ) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_MessageHandler.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_MessageHandler.h index ce740e9b9..d40e8c5fd 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_MessageHandler.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_MessageHandler.h @@ -233,7 +233,7 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */ /* K37 */ be_nested_str_weak(process_incoming), /* K38 */ be_nested_str_weak(MTR_X3A_X20decode_X20header_X3A_X20local_session_id_X3D_X25i_X20message_counter_X3D_X25i), /* K39 */ be_nested_str_weak(get_session_by_local_session_id), - /* K40 */ be_nested_str_weak(MTR_X3A_X20unknown_X20local_session_id_X20), + /* K40 */ be_nested_str_weak(MTR_X3A_X20unknown_X20local_session_id_X3D), /* K41 */ be_nested_str_weak(MTR_X3A_X20frame_X3D), /* K42 */ be_nested_str_weak(inspect), /* K43 */ be_nested_str_weak(MTR_X3A_X20rejected_X20duplicate_X20encrypted_X20message_X20_X3D_X20), @@ -409,7 +409,7 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */ 0x88300D08, // 008A GETMBR R12 R6 K8 0x7C2C0200, // 008B CALL R11 1 0x002E500B, // 008C ADD R11 K40 R11 - 0x58300011, // 008D LDCONST R12 K17 + 0x58300023, // 008D LDCONST R12 K35 0x7C240600, // 008E CALL R9 3 0xB8260200, // 008F GETNGBL R9 K1 0x8C241302, // 0090 GETMET R9 R9 K2 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 fd15e66a9..70eb83576 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 @@ -69,7 +69,7 @@ be_local_closure(Matter_Plugin_OnOff_invoke_request, /* name */ }), be_str_weak(invoke_request), &be_const_str_solidified, - ( &(const binstruction[81]) { /* code */ + ( &(const binstruction[128]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140702, // 0002 GETMBR R5 R3 K2 @@ -98,22 +98,22 @@ be_local_closure(Matter_Plugin_OnOff_invoke_request, /* name */ 0x781E0001, // 0019 JMPF R7 #001C 0x501C0200, // 001A LDBOOL R7 1 0 0x80040E00, // 001B RET 1 R7 - 0x70020032, // 001C JMP #0050 + 0x70020061, // 001C JMP #007F 0x541E0003, // 001D LDINT R7 4 0x1C1C0A07, // 001E EQ R7 R5 R7 0x781E0002, // 001F JMPF R7 #0023 0x501C0200, // 0020 LDBOOL R7 1 0 0x80040E00, // 0021 RET 1 R7 - 0x7002002C, // 0022 JMP #0050 + 0x7002005B, // 0022 JMP #007F 0x541E0004, // 0023 LDINT R7 5 0x1C1C0A07, // 0024 EQ R7 R5 R7 0x781E0002, // 0025 JMPF R7 #0029 0x501C0200, // 0026 LDBOOL R7 1 0 0x80040E00, // 0027 RET 1 R7 - 0x70020026, // 0028 JMP #0050 + 0x70020055, // 0028 JMP #007F 0x541E0005, // 0029 LDINT R7 6 0x1C1C0A07, // 002A EQ R7 R5 R7 - 0x781E0023, // 002B JMPF R7 #0050 + 0x781E0024, // 002B JMPF R7 #0051 0x1C1C0D05, // 002C EQ R7 R6 K5 0x781E0009, // 002D JMPF R7 #0038 0x881C010A, // 002E GETMBR R7 R0 K10 @@ -150,7 +150,54 @@ be_local_closure(Matter_Plugin_OnOff_invoke_request, /* name */ 0x90021407, // 004D SETMBR R0 K10 R7 0x501C0200, // 004E LDBOOL R7 1 0 0x80040E00, // 004F RET 1 R7 - 0x80000000, // 0050 RET 0 + 0x7002002D, // 0050 JMP #007F + 0x541E0007, // 0051 LDINT R7 8 + 0x1C1C0A07, // 0052 EQ R7 R5 R7 + 0x781E002A, // 0053 JMPF R7 #007F + 0x1C1C0D05, // 0054 EQ R7 R6 K5 + 0x781E0002, // 0055 JMPF R7 #0059 + 0x501C0200, // 0056 LDBOOL R7 1 0 + 0x80040E00, // 0057 RET 1 R7 + 0x70020025, // 0058 JMP #007F + 0x1C1C0D06, // 0059 EQ R7 R6 K6 + 0x781E0002, // 005A JMPF R7 #005E + 0x501C0200, // 005B LDBOOL R7 1 0 + 0x80040E00, // 005C RET 1 R7 + 0x70020020, // 005D JMP #007F + 0x1C1C0D0C, // 005E EQ R7 R6 K12 + 0x781E0002, // 005F JMPF R7 #0063 + 0x501C0200, // 0060 LDBOOL R7 1 0 + 0x80040E00, // 0061 RET 1 R7 + 0x7002001B, // 0062 JMP #007F + 0x1C1C0D04, // 0063 EQ R7 R6 K4 + 0x781E0002, // 0064 JMPF R7 #0068 + 0x501C0200, // 0065 LDBOOL R7 1 0 + 0x80040E00, // 0066 RET 1 R7 + 0x70020016, // 0067 JMP #007F + 0x541E0003, // 0068 LDINT R7 4 + 0x1C1C0C07, // 0069 EQ R7 R6 R7 + 0x781E0002, // 006A JMPF R7 #006E + 0x501C0200, // 006B LDBOOL R7 1 0 + 0x80040E00, // 006C RET 1 R7 + 0x70020010, // 006D JMP #007F + 0x541E0004, // 006E LDINT R7 5 + 0x1C1C0C07, // 006F EQ R7 R6 R7 + 0x781E0002, // 0070 JMPF R7 #0074 + 0x501C0200, // 0071 LDBOOL R7 1 0 + 0x80040E00, // 0072 RET 1 R7 + 0x7002000A, // 0073 JMP #007F + 0x541E0005, // 0074 LDINT R7 6 + 0x1C1C0C07, // 0075 EQ R7 R6 R7 + 0x781E0002, // 0076 JMPF R7 #007A + 0x501C0200, // 0077 LDBOOL R7 1 0 + 0x80040E00, // 0078 RET 1 R7 + 0x70020004, // 0079 JMP #007F + 0x541E0006, // 007A LDINT R7 7 + 0x1C1C0C07, // 007B EQ R7 R6 R7 + 0x781E0001, // 007C JMPF R7 #007F + 0x501C0200, // 007D LDBOOL R7 1 0 + 0x80040E00, // 007E RET 1 R7 + 0x80000000, // 007F RET 0 }) ) ); @@ -239,7 +286,7 @@ be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */ }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[208]) { /* code */ + ( &(const binstruction[255]) { /* code */ 0xA40E0000, // 0000 IMPORT R3 K0 0xB8120200, // 0001 GETNGBL R4 K1 0x88100902, // 0002 GETMBR R4 R4 K2 @@ -335,7 +382,7 @@ be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */ 0x5828000C, // 005C LDCONST R10 K12 0x7C1C0600, // 005D CALL R7 3 0x80040E00, // 005E RET 1 R7 - 0x7002006E, // 005F JMP #00CF + 0x7002009D, // 005F JMP #00FE 0x1C1C0B11, // 0060 EQ R7 R5 K17 0x781E0021, // 0061 JMPF R7 #0084 0x1C1C0D05, // 0062 EQ R7 R6 K5 @@ -371,7 +418,7 @@ be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */ 0x542A0003, // 0080 LDINT R10 4 0x7C1C0600, // 0081 CALL R7 3 0x80040E00, // 0082 RET 1 R7 - 0x7002004A, // 0083 JMP #00CF + 0x70020079, // 0083 JMP #00FE 0x541E0003, // 0084 LDINT R7 4 0x1C1C0A07, // 0085 EQ R7 R5 R7 0x781E0016, // 0086 JMPF R7 #009E @@ -397,7 +444,7 @@ be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */ 0x542A0003, // 009A LDINT R10 4 0x7C1C0600, // 009B CALL R7 3 0x80040E00, // 009C RET 1 R7 - 0x70020030, // 009D JMP #00CF + 0x7002005F, // 009D JMP #00FE 0x541E0004, // 009E LDINT R7 5 0x1C1C0A07, // 009F EQ R7 R5 R7 0x781E0011, // 00A0 JMPF R7 #00B3 @@ -418,10 +465,10 @@ be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */ 0x542A0003, // 00AF LDINT R10 4 0x7C1C0600, // 00B0 CALL R7 3 0x80040E00, // 00B1 RET 1 R7 - 0x7002001B, // 00B2 JMP #00CF + 0x7002004A, // 00B2 JMP #00FE 0x541E0005, // 00B3 LDINT R7 6 0x1C1C0A07, // 00B4 EQ R7 R5 R7 - 0x781E0018, // 00B5 JMPF R7 #00CF + 0x781E0019, // 00B5 JMPF R7 #00D0 0x1C1C0D05, // 00B6 EQ R7 R6 K5 0x781E0005, // 00B7 JMPF R7 #00BE 0x8C1C0912, // 00B8 GETMET R7 R4 K18 @@ -447,7 +494,54 @@ be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */ 0x542A0003, // 00CC LDINT R10 4 0x7C1C0600, // 00CD CALL R7 3 0x80040E00, // 00CE RET 1 R7 - 0x80000000, // 00CF RET 0 + 0x7002002D, // 00CF JMP #00FE + 0x541E0007, // 00D0 LDINT R7 8 + 0x1C1C0A07, // 00D1 EQ R7 R5 R7 + 0x781E002A, // 00D2 JMPF R7 #00FE + 0x1C1C0D05, // 00D3 EQ R7 R6 K5 + 0x781E0005, // 00D4 JMPF R7 #00DB + 0x8C1C0912, // 00D5 GETMET R7 R4 K18 + 0x88240913, // 00D6 GETMBR R9 R4 K19 + 0x542A0087, // 00D7 LDINT R10 136 + 0x7C1C0600, // 00D8 CALL R7 3 + 0x80040E00, // 00D9 RET 1 R7 + 0x70020022, // 00DA JMP #00FE + 0x541E000E, // 00DB LDINT R7 15 + 0x1C1C0C07, // 00DC EQ R7 R6 R7 + 0x781E0005, // 00DD JMPF R7 #00E4 + 0x8C1C0912, // 00DE GETMET R7 R4 K18 + 0x88240913, // 00DF GETMBR R9 R4 K19 + 0x58280005, // 00E0 LDCONST R10 K5 + 0x7C1C0600, // 00E1 CALL R7 3 + 0x80040E00, // 00E2 RET 1 R7 + 0x70020019, // 00E3 JMP #00FE + 0x541E000F, // 00E4 LDINT R7 16 + 0x1C1C0C07, // 00E5 EQ R7 R6 R7 + 0x781E0005, // 00E6 JMPF R7 #00ED + 0x8C1C0912, // 00E7 GETMET R7 R4 K18 + 0x88240913, // 00E8 GETMBR R9 R4 K19 + 0x5828000C, // 00E9 LDCONST R10 K12 + 0x7C1C0600, // 00EA CALL R7 3 + 0x80040E00, // 00EB RET 1 R7 + 0x70020010, // 00EC JMP #00FE + 0x541EFFFB, // 00ED LDINT R7 65532 + 0x1C1C0C07, // 00EE EQ R7 R6 R7 + 0x781E0005, // 00EF JMPF R7 #00F6 + 0x8C1C0912, // 00F0 GETMET R7 R4 K18 + 0x8824090F, // 00F1 GETMBR R9 R4 K15 + 0x58280005, // 00F2 LDCONST R10 K5 + 0x7C1C0600, // 00F3 CALL R7 3 + 0x80040E00, // 00F4 RET 1 R7 + 0x70020007, // 00F5 JMP #00FE + 0x541EFFFC, // 00F6 LDINT R7 65533 + 0x1C1C0C07, // 00F7 EQ R7 R6 R7 + 0x781E0004, // 00F8 JMPF R7 #00FE + 0x8C1C0912, // 00F9 GETMET R7 R4 K18 + 0x8824090F, // 00FA GETMBR R9 R4 K15 + 0x542A0003, // 00FB LDINT R10 4 + 0x7C1C0600, // 00FC CALL R7 3 + 0x80040E00, // 00FD RET 1 R7 + 0x80000000, // 00FE RET 0 }) ) ); @@ -479,20 +573,8 @@ be_local_class(Matter_Plugin_OnOff, })) ) } )) }, { be_const_key_weak(onoff_changed, 7), be_const_closure(Matter_Plugin_OnOff_onoff_changed_closure) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { - be_const_map( * be_nested_map(5, + be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, - ( (struct bvalue*) &(const bvalue[]) { - be_const_int(0), - be_const_int(1), - be_const_int(2), - be_const_int(3), - be_const_int(4), - be_const_int(5), - be_const_int(65532), - be_const_int(65533), - })) ) } )) }, { be_const_key_int(6, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { be_const_list( * be_nested_list(3, ( (struct bvalue*) &(const bvalue[]) { @@ -509,6 +591,15 @@ be_local_class(Matter_Plugin_OnOff, be_const_int(3), be_const_int(65532), be_const_int(65533), + })) ) } )) }, + { be_const_key_int(8, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(5, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(15), + be_const_int(17), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { be_const_list( * be_nested_list(4, @@ -518,12 +609,24 @@ be_local_class(Matter_Plugin_OnOff, be_const_int(65532), be_const_int(65533), })) ) } )) }, - { be_const_key_int(4, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { be_const_list( * be_nested_list(3, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(65532), be_const_int(65533), + })) ) } )) }, + { be_const_key_int(5, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(8, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(1), + be_const_int(2), + be_const_int(3), + be_const_int(4), + be_const_int(5), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, })) ) } )) }, })), 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 0447a8dea..e8ede2cdb 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 @@ -105,7 +105,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[811]) { /* code */ + ( &(const binstruction[828]) { /* code */ 0xA40E0000, // 0000 IMPORT R3 K0 0xB8120200, // 0001 GETNGBL R4 K1 0x88100902, // 0002 GETMBR R4 R4 K2 @@ -162,11 +162,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 - 0x700202F0, // 0038 JMP #032A + 0x70020301, // 0038 JMP #033B 0x541E0031, // 0039 LDINT R7 50 0x1C1C0A07, // 003A EQ R7 R5 R7 0x781E0000, // 003B JMPF R7 #003D - 0x700202EC, // 003C JMP #032A + 0x700202FD, // 003C JMP #033B 0x541E0032, // 003D LDINT R7 51 0x1C1C0A07, // 003E EQ R7 R5 R7 0x781E00DA, // 003F JMPF R7 #011B @@ -388,11 +388,11 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x50280000, // 0117 LDBOOL R10 0 0 0x7C1C0600, // 0118 CALL R7 3 0x80040E00, // 0119 RET 1 R7 - 0x7002020E, // 011A JMP #032A + 0x7002021F, // 011A JMP #033B 0x541E0033, // 011B LDINT R7 52 0x1C1C0A07, // 011C EQ R7 R5 R7 0x781E0000, // 011D JMPF R7 #011F - 0x7002020A, // 011E JMP #032A + 0x7002021B, // 011E JMP #033B 0x541E0037, // 011F LDINT R7 56 0x1C1C0A07, // 0120 EQ R7 R5 R7 0x781E002C, // 0121 JMPF R7 #014F @@ -440,7 +440,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x5C2C0E00, // 014B MOVE R11 R7 0x7C200600, // 014C CALL R8 3 0x80041000, // 014D RET 1 R8 - 0x700201DA, // 014E JMP #032A + 0x700201EB, // 014E JMP #033B 0x541E003D, // 014F LDINT R7 62 0x1C1C0A07, // 0150 EQ R7 R5 R7 0x781E0082, // 0151 JMPF R7 #01D5 @@ -574,14 +574,14 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x00301109, // 01D1 ADD R12 R8 K9 0x7C240600, // 01D2 CALL R9 3 0x80041200, // 01D3 RET 1 R9 - 0x70020154, // 01D4 JMP #032A + 0x70020165, // 01D4 JMP #033B 0x541E003B, // 01D5 LDINT R7 60 0x1C1C0A07, // 01D6 EQ R7 R5 R7 0x781E0000, // 01D7 JMPF R7 #01D9 - 0x70020150, // 01D8 JMP #032A + 0x70020161, // 01D8 JMP #033B 0x541E0027, // 01D9 LDINT R7 40 0x1C1C0A07, // 01DA EQ R7 R5 R7 - 0x781E0080, // 01DB JMPF R7 #025D + 0x781E0091, // 01DB JMPF R7 #026E 0x1C1C0D05, // 01DC EQ R7 R6 K5 0x781E0005, // 01DD JMPF R7 #01E4 0x8C1C0906, // 01DE GETMET R7 R4 K6 @@ -589,7 +589,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x58280005, // 01E0 LDCONST R10 K5 0x7C1C0600, // 01E1 CALL R7 3 0x80040E00, // 01E2 RET 1 R7 - 0x70020077, // 01E3 JMP #025C + 0x70020088, // 01E3 JMP #026D 0x1C1C0D09, // 01E4 EQ R7 R6 K9 0x781E0005, // 01E5 JMPF R7 #01EC 0x8C1C0906, // 01E6 GETMET R7 R4 K6 @@ -597,7 +597,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x58280041, // 01E8 LDCONST R10 K65 0x7C1C0600, // 01E9 CALL R7 3 0x80040E00, // 01EA RET 1 R7 - 0x7002006F, // 01EB JMP #025C + 0x70020080, // 01EB JMP #026D 0x1C1C0D0D, // 01EC EQ R7 R6 K13 0x781E0006, // 01ED JMPF R7 #01F5 0x8C1C0906, // 01EE GETMET R7 R4 K6 @@ -606,7 +606,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x88281542, // 01F1 GETMBR R10 R10 K66 0x7C1C0600, // 01F2 CALL R7 3 0x80040E00, // 01F3 RET 1 R7 - 0x70020066, // 01F4 JMP #025C + 0x70020077, // 01F4 JMP #026D 0x1C1C0D0F, // 01F5 EQ R7 R6 K15 0x781E0009, // 01F6 JMPF R7 #0201 0x8C1C0906, // 01F7 GETMET R7 R4 K6 @@ -618,7 +618,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x94281543, // 01FD GETIDX R10 R10 K67 0x7C1C0600, // 01FE CALL R7 3 0x80040E00, // 01FF RET 1 R7 - 0x7002005A, // 0200 JMP #025C + 0x7002006B, // 0200 JMP #026D 0x541E0003, // 0201 LDINT R7 4 0x1C1C0C07, // 0202 EQ R7 R6 R7 0x781E0005, // 0203 JMPF R7 #020A @@ -627,7 +627,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x542A7FFF, // 0206 LDINT R10 32768 0x7C1C0600, // 0207 CALL R7 3 0x80040E00, // 0208 RET 1 R7 - 0x70020051, // 0209 JMP #025C + 0x70020062, // 0209 JMP #026D 0x541E0004, // 020A LDINT R7 5 0x1C1C0C07, // 020B EQ R7 R6 R7 0x781E0009, // 020C JMPF R7 #0217 @@ -640,7 +640,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x94281545, // 0213 GETIDX R10 R10 K69 0x7C1C0600, // 0214 CALL R7 3 0x80040E00, // 0215 RET 1 R7 - 0x70020044, // 0216 JMP #025C + 0x70020055, // 0216 JMP #026D 0x541E0005, // 0217 LDINT R7 6 0x1C1C0C07, // 0218 EQ R7 R6 R7 0x781E0005, // 0219 JMPF R7 #0220 @@ -649,7 +649,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x58280046, // 021C LDCONST R10 K70 0x7C1C0600, // 021D CALL R7 3 0x80040E00, // 021E RET 1 R7 - 0x7002003B, // 021F JMP #025C + 0x7002004C, // 021F JMP #026D 0x541E0006, // 0220 LDINT R7 7 0x1C1C0C07, // 0221 EQ R7 R6 R7 0x781E0005, // 0222 JMPF R7 #0229 @@ -658,7 +658,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x58280005, // 0225 LDCONST R10 K5 0x7C1C0600, // 0226 CALL R7 3 0x80040E00, // 0227 RET 1 R7 - 0x70020032, // 0228 JMP #025C + 0x70020043, // 0228 JMP #026D 0x541E0007, // 0229 LDINT R7 8 0x1C1C0C07, // 022A EQ R7 R6 R7 0x781E000A, // 022B JMPF R7 #0237 @@ -672,7 +672,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x94281549, // 0233 GETIDX R10 R10 K73 0x7C1C0600, // 0234 CALL R7 3 0x80040E00, // 0235 RET 1 R7 - 0x70020024, // 0236 JMP #025C + 0x70020035, // 0236 JMP #026D 0x541E0008, // 0237 LDINT R7 9 0x1C1C0C07, // 0238 EQ R7 R6 R7 0x781E0005, // 0239 JMPF R7 #0240 @@ -681,7 +681,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x58280009, // 023C LDCONST R10 K9 0x7C1C0600, // 023D CALL R7 3 0x80040E00, // 023E RET 1 R7 - 0x7002001B, // 023F JMP #025C + 0x7002002C, // 023F JMP #026D 0x541E0009, // 0240 LDINT R7 10 0x1C1C0C07, // 0241 EQ R7 R6 R7 0x781E000A, // 0242 JMPF R7 #024E @@ -695,10 +695,10 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x9428154A, // 024A GETIDX R10 R10 K74 0x7C1C0600, // 024B CALL R7 3 0x80040E00, // 024C RET 1 R7 - 0x7002000D, // 024D JMP #025C + 0x7002001E, // 024D JMP #026D 0x541E0011, // 024E LDINT R7 18 0x1C1C0C07, // 024F EQ R7 R6 R7 - 0x781E000A, // 0250 JMPF R7 #025C + 0x781E000B, // 0250 JMPF R7 #025D 0x8C1C0906, // 0251 GETMET R7 R4 K6 0x88240916, // 0252 GETMBR R9 R4 K22 0xB82A2400, // 0253 GETNGBL R10 K18 @@ -710,213 +710,230 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x7C280600, // 0259 CALL R10 3 0x7C1C0600, // 025A CALL R7 3 0x80040E00, // 025B RET 1 R7 - 0x700200CC, // 025C JMP #032A - 0x541E003E, // 025D LDINT R7 63 - 0x1C1C0A07, // 025E EQ R7 R5 R7 - 0x781E0000, // 025F JMPF R7 #0261 - 0x700200C8, // 0260 JMP #032A - 0x541E0029, // 0261 LDINT R7 42 - 0x1C1C0A07, // 0262 EQ R7 R5 R7 - 0x781E001D, // 0263 JMPF R7 #0282 - 0x1C1C0D05, // 0264 EQ R7 R6 K5 - 0x781E0003, // 0265 JMPF R7 #026A - 0x8C1C0911, // 0266 GETMET R7 R4 K17 - 0x7C1C0200, // 0267 CALL R7 1 - 0x80040E00, // 0268 RET 1 R7 - 0x70020016, // 0269 JMP #0281 - 0x1C1C0D09, // 026A EQ R7 R6 K9 - 0x781E0005, // 026B JMPF R7 #0272 - 0x8C1C0906, // 026C GETMET R7 R4 K6 - 0x88240910, // 026D GETMBR R9 R4 K16 - 0x58280005, // 026E LDCONST R10 K5 - 0x7C1C0600, // 026F CALL R7 3 - 0x80040E00, // 0270 RET 1 R7 - 0x7002000E, // 0271 JMP #0281 - 0x1C1C0D0D, // 0272 EQ R7 R6 K13 - 0x781E0005, // 0273 JMPF R7 #027A - 0x8C1C0906, // 0274 GETMET R7 R4 K6 - 0x8824090E, // 0275 GETMBR R9 R4 K14 - 0x58280009, // 0276 LDCONST R10 K9 - 0x7C1C0600, // 0277 CALL R7 3 - 0x80040E00, // 0278 RET 1 R7 - 0x70020006, // 0279 JMP #0281 - 0x1C1C0D0F, // 027A EQ R7 R6 K15 - 0x781E0004, // 027B JMPF R7 #0281 - 0x8C1C0906, // 027C GETMET R7 R4 K6 - 0x88240918, // 027D GETMBR R9 R4 K24 - 0x4C280000, // 027E LDNIL R10 - 0x7C1C0600, // 027F CALL R7 3 - 0x80040E00, // 0280 RET 1 R7 - 0x700200A7, // 0281 JMP #032A - 0x541E002A, // 0282 LDINT R7 43 - 0x1C1C0A07, // 0283 EQ R7 R5 R7 - 0x781E0016, // 0284 JMPF R7 #029C - 0x1C1C0D05, // 0285 EQ R7 R6 K5 - 0x781E0007, // 0286 JMPF R7 #028F - 0x8C1C0906, // 0287 GETMET R7 R4 K6 - 0x88240916, // 0288 GETMBR R9 R4 K22 - 0xB82A2400, // 0289 GETNGBL R10 K18 - 0x8C28154B, // 028A GETMET R10 R10 K75 - 0x7C280200, // 028B CALL R10 1 - 0x7C1C0600, // 028C CALL R7 3 - 0x80040E00, // 028D RET 1 R7 - 0x7002000B, // 028E JMP #029B - 0x1C1C0D09, // 028F EQ R7 R6 K9 - 0x781E0009, // 0290 JMPF R7 #029B - 0x8C1C0911, // 0291 GETMET R7 R4 K17 - 0x7C1C0200, // 0292 CALL R7 1 - 0x8C200F0B, // 0293 GETMET R8 R7 K11 - 0x4C280000, // 0294 LDNIL R10 - 0x882C0916, // 0295 GETMBR R11 R4 K22 - 0xB8322400, // 0296 GETNGBL R12 K18 - 0x8C30194B, // 0297 GETMET R12 R12 K75 - 0x7C300200, // 0298 CALL R12 1 - 0x7C200800, // 0299 CALL R8 4 - 0x80040E00, // 029A RET 1 R7 - 0x7002008D, // 029B JMP #032A - 0x541E002B, // 029C LDINT R7 44 - 0x1C1C0A07, // 029D EQ R7 R5 R7 - 0x781E001C, // 029E JMPF R7 #02BC - 0x1C1C0D05, // 029F EQ R7 R6 K5 - 0x781E0005, // 02A0 JMPF R7 #02A7 - 0x8C1C0906, // 02A1 GETMET R7 R4 K6 - 0x8824090E, // 02A2 GETMBR R9 R4 K14 - 0x58280009, // 02A3 LDCONST R10 K9 - 0x7C1C0600, // 02A4 CALL R7 3 - 0x80040E00, // 02A5 RET 1 R7 - 0x70020013, // 02A6 JMP #02BB - 0x1C1C0D09, // 02A7 EQ R7 R6 K9 - 0x781E0005, // 02A8 JMPF R7 #02AF - 0x8C1C0906, // 02A9 GETMET R7 R4 K6 - 0x8824090E, // 02AA GETMBR R9 R4 K14 - 0x542A0003, // 02AB LDINT R10 4 - 0x7C1C0600, // 02AC CALL R7 3 - 0x80040E00, // 02AD RET 1 R7 - 0x7002000B, // 02AE JMP #02BB - 0x1C1C0D0D, // 02AF EQ R7 R6 K13 - 0x781E0009, // 02B0 JMPF R7 #02BB - 0x8C1C0911, // 02B1 GETMET R7 R4 K17 - 0x7C1C0200, // 02B2 CALL R7 1 - 0x8C200F0B, // 02B3 GETMET R8 R7 K11 - 0x4C280000, // 02B4 LDNIL R10 - 0x8C2C0906, // 02B5 GETMET R11 R4 K6 - 0x8834090E, // 02B6 GETMBR R13 R4 K14 - 0x543A0003, // 02B7 LDINT R14 4 - 0x7C2C0600, // 02B8 CALL R11 3 - 0x7C200600, // 02B9 CALL R8 3 - 0x80040E00, // 02BA RET 1 R7 - 0x7002006D, // 02BB JMP #032A - 0x541E0030, // 02BC LDINT R7 49 - 0x1C1C0A07, // 02BD EQ R7 R5 R7 - 0x781E0010, // 02BE JMPF R7 #02D0 - 0x1C1C0D0F, // 02BF EQ R7 R6 K15 - 0x781E0005, // 02C0 JMPF R7 #02C7 - 0x8C1C0906, // 02C1 GETMET R7 R4 K6 - 0x8824090E, // 02C2 GETMBR R9 R4 K14 - 0x542A001D, // 02C3 LDINT R10 30 - 0x7C1C0600, // 02C4 CALL R7 3 - 0x80040E00, // 02C5 RET 1 R7 - 0x70020007, // 02C6 JMP #02CF - 0x541EFFFB, // 02C7 LDINT R7 65532 - 0x1C1C0C07, // 02C8 EQ R7 R6 R7 - 0x781E0004, // 02C9 JMPF R7 #02CF - 0x8C1C0906, // 02CA GETMET R7 R4 K6 - 0x8824092A, // 02CB GETMBR R9 R4 K42 - 0x58280005, // 02CC LDCONST R10 K5 - 0x7C1C0600, // 02CD CALL R7 3 - 0x80040E00, // 02CE RET 1 R7 - 0x70020059, // 02CF JMP #032A - 0x541E001C, // 02D0 LDINT R7 29 - 0x1C1C0A07, // 02D1 EQ R7 R5 R7 - 0x781E0053, // 02D2 JMPF R7 #0327 - 0x1C1C0D05, // 02D3 EQ R7 R6 K5 - 0x781E001C, // 02D4 JMPF R7 #02F2 - 0x8C1C0911, // 02D5 GETMET R7 R4 K17 - 0x7C1C0200, // 02D6 CALL R7 1 - 0x60200010, // 02D7 GETGBL R8 G16 - 0x8824014C, // 02D8 GETMBR R9 R0 K76 - 0x8C24134D, // 02D9 GETMET R9 R9 K77 - 0x7C240200, // 02DA CALL R9 1 - 0x7C200200, // 02DB CALL R8 1 - 0xA802000F, // 02DC EXBLK 0 #02ED - 0x5C241000, // 02DD MOVE R9 R8 - 0x7C240000, // 02DE CALL R9 0 - 0x8C280F15, // 02DF GETMET R10 R7 K21 - 0x7C280200, // 02E0 CALL R10 1 - 0x8C2C150B, // 02E1 GETMET R11 R10 K11 - 0x58340005, // 02E2 LDCONST R13 K5 - 0x8838090C, // 02E3 GETMBR R14 R4 K12 - 0x5C3C1200, // 02E4 MOVE R15 R9 - 0x7C2C0800, // 02E5 CALL R11 4 - 0x8C2C150B, // 02E6 GETMET R11 R10 K11 - 0x58340009, // 02E7 LDCONST R13 K9 - 0x8838090C, // 02E8 GETMBR R14 R4 K12 - 0x883C014C, // 02E9 GETMBR R15 R0 K76 - 0x943C1E09, // 02EA GETIDX R15 R15 R9 - 0x7C2C0800, // 02EB CALL R11 4 - 0x7001FFEF, // 02EC JMP #02DD - 0x58200039, // 02ED LDCONST R8 K57 - 0xAC200200, // 02EE CATCH R8 1 0 - 0xB0080000, // 02EF RAISE 2 R0 R0 - 0x80040E00, // 02F0 RET 1 R7 - 0x70020033, // 02F1 JMP #0326 - 0x1C1C0D09, // 02F2 EQ R7 R6 K9 - 0x781E0013, // 02F3 JMPF R7 #0308 - 0x8C1C0911, // 02F4 GETMET R7 R4 K17 - 0x7C1C0200, // 02F5 CALL R7 1 - 0x60200010, // 02F6 GETGBL R8 G16 - 0x8C24014E, // 02F7 GETMET R9 R0 K78 - 0x7C240200, // 02F8 CALL R9 1 - 0x7C200200, // 02F9 CALL R8 1 - 0xA8020007, // 02FA EXBLK 0 #0303 - 0x5C241000, // 02FB MOVE R9 R8 - 0x7C240000, // 02FC CALL R9 0 - 0x8C280F0B, // 02FD GETMET R10 R7 K11 - 0x4C300000, // 02FE LDNIL R12 - 0x8834092A, // 02FF GETMBR R13 R4 K42 - 0x5C381200, // 0300 MOVE R14 R9 - 0x7C280800, // 0301 CALL R10 4 - 0x7001FFF7, // 0302 JMP #02FB - 0x58200039, // 0303 LDCONST R8 K57 - 0xAC200200, // 0304 CATCH R8 1 0 - 0xB0080000, // 0305 RAISE 2 R0 R0 - 0x80040E00, // 0306 RET 1 R7 - 0x7002001D, // 0307 JMP #0326 - 0x1C1C0D0D, // 0308 EQ R7 R6 K13 - 0x781E0003, // 0309 JMPF R7 #030E - 0x8C1C0911, // 030A GETMET R7 R4 K17 - 0x7C1C0200, // 030B CALL R7 1 - 0x80040E00, // 030C RET 1 R7 - 0x70020017, // 030D JMP #0326 - 0x1C1C0D0F, // 030E EQ R7 R6 K15 - 0x781E0015, // 030F JMPF R7 #0326 - 0x881C0133, // 0310 GETMBR R7 R0 K51 - 0x8C1C0F4F, // 0311 GETMET R7 R7 K79 - 0x50240200, // 0312 LDBOOL R9 1 0 - 0x7C1C0400, // 0313 CALL R7 2 - 0x8C200911, // 0314 GETMET R8 R4 K17 - 0x7C200200, // 0315 CALL R8 1 - 0x60240010, // 0316 GETGBL R9 G16 - 0x5C280E00, // 0317 MOVE R10 R7 - 0x7C240200, // 0318 CALL R9 1 - 0xA8020007, // 0319 EXBLK 0 #0322 - 0x5C281200, // 031A MOVE R10 R9 - 0x7C280000, // 031B CALL R10 0 - 0x8C2C110B, // 031C GETMET R11 R8 K11 - 0x4C340000, // 031D LDNIL R13 - 0x8838090C, // 031E GETMBR R14 R4 K12 - 0x5C3C1400, // 031F MOVE R15 R10 - 0x7C2C0800, // 0320 CALL R11 4 - 0x7001FFF7, // 0321 JMP #031A - 0x58240039, // 0322 LDCONST R9 K57 - 0xAC240200, // 0323 CATCH R9 1 0 - 0xB0080000, // 0324 RAISE 2 R0 R0 - 0x80041000, // 0325 RET 1 R8 - 0x70020002, // 0326 JMP #032A - 0xB81E0200, // 0327 GETNGBL R7 K1 - 0x881C0F51, // 0328 GETMBR R7 R7 K81 - 0x900AA007, // 0329 SETMBR R2 K80 R7 - 0x80000000, // 032A RET 0 + 0x7002000F, // 025C JMP #026D + 0x541E0012, // 025D LDINT R7 19 + 0x1C1C0C07, // 025E EQ R7 R6 R7 + 0x781E000C, // 025F JMPF R7 #026D + 0x8C1C090A, // 0260 GETMET R7 R4 K10 + 0x7C1C0200, // 0261 CALL R7 1 + 0x8C200F0B, // 0262 GETMET R8 R7 K11 + 0x58280005, // 0263 LDCONST R10 K5 + 0x882C090C, // 0264 GETMBR R11 R4 K12 + 0x5830000F, // 0265 LDCONST R12 K15 + 0x7C200800, // 0266 CALL R8 4 + 0x8C200F0B, // 0267 GETMET R8 R7 K11 + 0x58280009, // 0268 LDCONST R10 K9 + 0x882C090C, // 0269 GETMBR R11 R4 K12 + 0x5830000F, // 026A LDCONST R12 K15 + 0x7C200800, // 026B CALL R8 4 + 0x80040E00, // 026C RET 1 R7 + 0x700200CC, // 026D JMP #033B + 0x541E003E, // 026E LDINT R7 63 + 0x1C1C0A07, // 026F EQ R7 R5 R7 + 0x781E0000, // 0270 JMPF R7 #0272 + 0x700200C8, // 0271 JMP #033B + 0x541E0029, // 0272 LDINT R7 42 + 0x1C1C0A07, // 0273 EQ R7 R5 R7 + 0x781E001D, // 0274 JMPF R7 #0293 + 0x1C1C0D05, // 0275 EQ R7 R6 K5 + 0x781E0003, // 0276 JMPF R7 #027B + 0x8C1C0911, // 0277 GETMET R7 R4 K17 + 0x7C1C0200, // 0278 CALL R7 1 + 0x80040E00, // 0279 RET 1 R7 + 0x70020016, // 027A JMP #0292 + 0x1C1C0D09, // 027B EQ R7 R6 K9 + 0x781E0005, // 027C JMPF R7 #0283 + 0x8C1C0906, // 027D GETMET R7 R4 K6 + 0x88240910, // 027E GETMBR R9 R4 K16 + 0x58280005, // 027F LDCONST R10 K5 + 0x7C1C0600, // 0280 CALL R7 3 + 0x80040E00, // 0281 RET 1 R7 + 0x7002000E, // 0282 JMP #0292 + 0x1C1C0D0D, // 0283 EQ R7 R6 K13 + 0x781E0005, // 0284 JMPF R7 #028B + 0x8C1C0906, // 0285 GETMET R7 R4 K6 + 0x8824090E, // 0286 GETMBR R9 R4 K14 + 0x58280009, // 0287 LDCONST R10 K9 + 0x7C1C0600, // 0288 CALL R7 3 + 0x80040E00, // 0289 RET 1 R7 + 0x70020006, // 028A JMP #0292 + 0x1C1C0D0F, // 028B EQ R7 R6 K15 + 0x781E0004, // 028C JMPF R7 #0292 + 0x8C1C0906, // 028D GETMET R7 R4 K6 + 0x88240918, // 028E GETMBR R9 R4 K24 + 0x4C280000, // 028F LDNIL R10 + 0x7C1C0600, // 0290 CALL R7 3 + 0x80040E00, // 0291 RET 1 R7 + 0x700200A7, // 0292 JMP #033B + 0x541E002A, // 0293 LDINT R7 43 + 0x1C1C0A07, // 0294 EQ R7 R5 R7 + 0x781E0016, // 0295 JMPF R7 #02AD + 0x1C1C0D05, // 0296 EQ R7 R6 K5 + 0x781E0007, // 0297 JMPF R7 #02A0 + 0x8C1C0906, // 0298 GETMET R7 R4 K6 + 0x88240916, // 0299 GETMBR R9 R4 K22 + 0xB82A2400, // 029A GETNGBL R10 K18 + 0x8C28154B, // 029B GETMET R10 R10 K75 + 0x7C280200, // 029C CALL R10 1 + 0x7C1C0600, // 029D CALL R7 3 + 0x80040E00, // 029E RET 1 R7 + 0x7002000B, // 029F JMP #02AC + 0x1C1C0D09, // 02A0 EQ R7 R6 K9 + 0x781E0009, // 02A1 JMPF R7 #02AC + 0x8C1C0911, // 02A2 GETMET R7 R4 K17 + 0x7C1C0200, // 02A3 CALL R7 1 + 0x8C200F0B, // 02A4 GETMET R8 R7 K11 + 0x4C280000, // 02A5 LDNIL R10 + 0x882C0916, // 02A6 GETMBR R11 R4 K22 + 0xB8322400, // 02A7 GETNGBL R12 K18 + 0x8C30194B, // 02A8 GETMET R12 R12 K75 + 0x7C300200, // 02A9 CALL R12 1 + 0x7C200800, // 02AA CALL R8 4 + 0x80040E00, // 02AB RET 1 R7 + 0x7002008D, // 02AC JMP #033B + 0x541E002B, // 02AD LDINT R7 44 + 0x1C1C0A07, // 02AE EQ R7 R5 R7 + 0x781E001C, // 02AF JMPF R7 #02CD + 0x1C1C0D05, // 02B0 EQ R7 R6 K5 + 0x781E0005, // 02B1 JMPF R7 #02B8 + 0x8C1C0906, // 02B2 GETMET R7 R4 K6 + 0x8824090E, // 02B3 GETMBR R9 R4 K14 + 0x58280009, // 02B4 LDCONST R10 K9 + 0x7C1C0600, // 02B5 CALL R7 3 + 0x80040E00, // 02B6 RET 1 R7 + 0x70020013, // 02B7 JMP #02CC + 0x1C1C0D09, // 02B8 EQ R7 R6 K9 + 0x781E0005, // 02B9 JMPF R7 #02C0 + 0x8C1C0906, // 02BA GETMET R7 R4 K6 + 0x8824090E, // 02BB GETMBR R9 R4 K14 + 0x542A0003, // 02BC LDINT R10 4 + 0x7C1C0600, // 02BD CALL R7 3 + 0x80040E00, // 02BE RET 1 R7 + 0x7002000B, // 02BF JMP #02CC + 0x1C1C0D0D, // 02C0 EQ R7 R6 K13 + 0x781E0009, // 02C1 JMPF R7 #02CC + 0x8C1C0911, // 02C2 GETMET R7 R4 K17 + 0x7C1C0200, // 02C3 CALL R7 1 + 0x8C200F0B, // 02C4 GETMET R8 R7 K11 + 0x4C280000, // 02C5 LDNIL R10 + 0x8C2C0906, // 02C6 GETMET R11 R4 K6 + 0x8834090E, // 02C7 GETMBR R13 R4 K14 + 0x543A0003, // 02C8 LDINT R14 4 + 0x7C2C0600, // 02C9 CALL R11 3 + 0x7C200600, // 02CA CALL R8 3 + 0x80040E00, // 02CB RET 1 R7 + 0x7002006D, // 02CC JMP #033B + 0x541E0030, // 02CD LDINT R7 49 + 0x1C1C0A07, // 02CE EQ R7 R5 R7 + 0x781E0010, // 02CF JMPF R7 #02E1 + 0x1C1C0D0F, // 02D0 EQ R7 R6 K15 + 0x781E0005, // 02D1 JMPF R7 #02D8 + 0x8C1C0906, // 02D2 GETMET R7 R4 K6 + 0x8824090E, // 02D3 GETMBR R9 R4 K14 + 0x542A001D, // 02D4 LDINT R10 30 + 0x7C1C0600, // 02D5 CALL R7 3 + 0x80040E00, // 02D6 RET 1 R7 + 0x70020007, // 02D7 JMP #02E0 + 0x541EFFFB, // 02D8 LDINT R7 65532 + 0x1C1C0C07, // 02D9 EQ R7 R6 R7 + 0x781E0004, // 02DA JMPF R7 #02E0 + 0x8C1C0906, // 02DB GETMET R7 R4 K6 + 0x8824092A, // 02DC GETMBR R9 R4 K42 + 0x58280005, // 02DD LDCONST R10 K5 + 0x7C1C0600, // 02DE CALL R7 3 + 0x80040E00, // 02DF RET 1 R7 + 0x70020059, // 02E0 JMP #033B + 0x541E001C, // 02E1 LDINT R7 29 + 0x1C1C0A07, // 02E2 EQ R7 R5 R7 + 0x781E0053, // 02E3 JMPF R7 #0338 + 0x1C1C0D05, // 02E4 EQ R7 R6 K5 + 0x781E001C, // 02E5 JMPF R7 #0303 + 0x8C1C0911, // 02E6 GETMET R7 R4 K17 + 0x7C1C0200, // 02E7 CALL R7 1 + 0x60200010, // 02E8 GETGBL R8 G16 + 0x8824014C, // 02E9 GETMBR R9 R0 K76 + 0x8C24134D, // 02EA GETMET R9 R9 K77 + 0x7C240200, // 02EB CALL R9 1 + 0x7C200200, // 02EC CALL R8 1 + 0xA802000F, // 02ED EXBLK 0 #02FE + 0x5C241000, // 02EE MOVE R9 R8 + 0x7C240000, // 02EF CALL R9 0 + 0x8C280F15, // 02F0 GETMET R10 R7 K21 + 0x7C280200, // 02F1 CALL R10 1 + 0x8C2C150B, // 02F2 GETMET R11 R10 K11 + 0x58340005, // 02F3 LDCONST R13 K5 + 0x8838090C, // 02F4 GETMBR R14 R4 K12 + 0x5C3C1200, // 02F5 MOVE R15 R9 + 0x7C2C0800, // 02F6 CALL R11 4 + 0x8C2C150B, // 02F7 GETMET R11 R10 K11 + 0x58340009, // 02F8 LDCONST R13 K9 + 0x8838090C, // 02F9 GETMBR R14 R4 K12 + 0x883C014C, // 02FA GETMBR R15 R0 K76 + 0x943C1E09, // 02FB GETIDX R15 R15 R9 + 0x7C2C0800, // 02FC CALL R11 4 + 0x7001FFEF, // 02FD JMP #02EE + 0x58200039, // 02FE LDCONST R8 K57 + 0xAC200200, // 02FF CATCH R8 1 0 + 0xB0080000, // 0300 RAISE 2 R0 R0 + 0x80040E00, // 0301 RET 1 R7 + 0x70020033, // 0302 JMP #0337 + 0x1C1C0D09, // 0303 EQ R7 R6 K9 + 0x781E0013, // 0304 JMPF R7 #0319 + 0x8C1C0911, // 0305 GETMET R7 R4 K17 + 0x7C1C0200, // 0306 CALL R7 1 + 0x60200010, // 0307 GETGBL R8 G16 + 0x8C24014E, // 0308 GETMET R9 R0 K78 + 0x7C240200, // 0309 CALL R9 1 + 0x7C200200, // 030A CALL R8 1 + 0xA8020007, // 030B EXBLK 0 #0314 + 0x5C241000, // 030C MOVE R9 R8 + 0x7C240000, // 030D CALL R9 0 + 0x8C280F0B, // 030E GETMET R10 R7 K11 + 0x4C300000, // 030F LDNIL R12 + 0x8834092A, // 0310 GETMBR R13 R4 K42 + 0x5C381200, // 0311 MOVE R14 R9 + 0x7C280800, // 0312 CALL R10 4 + 0x7001FFF7, // 0313 JMP #030C + 0x58200039, // 0314 LDCONST R8 K57 + 0xAC200200, // 0315 CATCH R8 1 0 + 0xB0080000, // 0316 RAISE 2 R0 R0 + 0x80040E00, // 0317 RET 1 R7 + 0x7002001D, // 0318 JMP #0337 + 0x1C1C0D0D, // 0319 EQ R7 R6 K13 + 0x781E0003, // 031A JMPF R7 #031F + 0x8C1C0911, // 031B GETMET R7 R4 K17 + 0x7C1C0200, // 031C CALL R7 1 + 0x80040E00, // 031D RET 1 R7 + 0x70020017, // 031E JMP #0337 + 0x1C1C0D0F, // 031F EQ R7 R6 K15 + 0x781E0015, // 0320 JMPF R7 #0337 + 0x881C0133, // 0321 GETMBR R7 R0 K51 + 0x8C1C0F4F, // 0322 GETMET R7 R7 K79 + 0x50240200, // 0323 LDBOOL R9 1 0 + 0x7C1C0400, // 0324 CALL R7 2 + 0x8C200911, // 0325 GETMET R8 R4 K17 + 0x7C200200, // 0326 CALL R8 1 + 0x60240010, // 0327 GETGBL R9 G16 + 0x5C280E00, // 0328 MOVE R10 R7 + 0x7C240200, // 0329 CALL R9 1 + 0xA8020007, // 032A EXBLK 0 #0333 + 0x5C281200, // 032B MOVE R10 R9 + 0x7C280000, // 032C CALL R10 0 + 0x8C2C110B, // 032D GETMET R11 R8 K11 + 0x4C340000, // 032E LDNIL R13 + 0x8838090C, // 032F GETMBR R14 R4 K12 + 0x5C3C1400, // 0330 MOVE R15 R10 + 0x7C2C0800, // 0331 CALL R11 4 + 0x7001FFF7, // 0332 JMP #032B + 0x58240039, // 0333 LDCONST R9 K57 + 0xAC240200, // 0334 CATCH R9 1 0 + 0xB0080000, // 0335 RAISE 2 R0 R0 + 0x80041000, // 0336 RET 1 R8 + 0x70020002, // 0337 JMP #033B + 0xB81E0200, // 0338 GETNGBL R7 K1 + 0x881C0F51, // 0339 GETMBR R7 R7 K81 + 0x900AA007, // 033A SETMBR R2 K80 R7 + 0x80000000, // 033B RET 0 }) ) ); @@ -1796,7 +1813,7 @@ be_local_class(Matter_Plugin_Root, be_const_int(5), })) ) } )) }, { be_const_key_int(40, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(11, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -1809,6 +1826,7 @@ be_local_class(Matter_Plugin_Root, be_const_int(8), be_const_int(9), be_const_int(18), + be_const_int(19), })) ) } )) }, { be_const_key_int(49, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { be_const_list( * be_nested_list(3,