[
  {
    "bytecode": "0xa11ceb0b0800000a0c01001e021e4c036aae050498065205ea06de0907c810840d08cc1d40068c1e2810b41e96070aca25600caa26d7480d816f16000001040106010d01140017011e00250127012c012e013001320156016600010600010307010000020506000008060000090600030c070000100600001108000413060100000016080002180701000105190800061d04010601001f08000420060007240b000226020000120001010801010102210304010801010104220502010001010100230607000101010828090a000101010229040700010101012a080c0100010101052b0d0e00010101092d0f0e01000101010a2f110801000101010b310e0e000101010c330e040001010102340400010801010105350004010801010101361314010001010103370d01000101010138130f01000101010239151600010101053a1718000100043b02190103010101013c1b020102010101013d1c020100010101043e1d1e0100010101033f0e0b00010101024009200106010101074122080001010104420b1e000101010043240800010101024426040001010102450004010801010102462508000101010747041400010101074604080001000648200801060101010149020c0100010101054a28080001000035000401080101010015000b0108010101044b2a0b00010101004c152400010101024d151400010101024e152500010101024f1504000101010025002c01080101010750002c01080101010515000b01080101010a512d0801000101010a522e0801000101010053153000010101025415000108010101001a000b0108010101001b000b010801010100553208000101010d57011400010101065802080106010101065934080106010101005a320800010101005b320800010101005c370400010101005d000b0108010101005e00380108010101005f0607000101010260090700010101006106070001010103620d390001010102633a070001010102643b04000101010a65110801000101010e673c010001010100683e07000101010069400700010101006a410e00010101006b400700010101006c3e0700010101006d450700010101006e400700010101006f40070001010100703e0700010101007148040001010100724a040001010100733e070001010100744c0e0001010101020201060b080409100c120d120e0b100b1301141a150b1601181f0e2115210e2515250c271d27211f2201150422250604062522042c022d122e102c122f10312701273633371f1025100443101d12220b010b0a010900010301090001060b0a010900010501060b0801090006060c0805080508050b0101080f08050108100001060c010605010805010b0101090001060805010a0201060900010202070a09000a090001080b01060b01010900010101060810010c02060b0a01080b05010b01010b080103010b08010900010b080103020b01010900090001070b01010900030805060b08010900080501080e010806010b0c01090001080f02060810080f14081006081008050b01010805050a020a020b0a01080b0608100b0a01080b080508050b010108050b0101080f08050c0b080103080e080d08090108000108020106080201080904060b0a01080b050b0101030509080205050b0c010806030b0a01080b0b08010303050106080e030b010108020b0101050b010105010b0101080f05070a09000303070a09000303070a0900030312050608090b0101080f0b0a01090005050b0a0109000508050a0206050a02070a020a020303070a020a02010803010b0a01080902060803080501080402070b0c0109000900030608030708090708050506080307080907080d080507080501060800010b0a01080b01060a0202060c0a020206050a02020303250608050608050a02070a020a020303070a020a020a020810060c0608100805080508050b010108050b0101080f08050506080506050b0a01080b0608100b0a01080b080508050b010108050b0101080f08050c0b080103080e0805080d0809070a0206060c0b0a01080b080508050b0101080f08052608050608050608050a02070a020a020303070a02070a02030a020a02060c08100608100b0a01080b080508050b010108050b0101080f08050608100b0a01080b080508050b010108050b0101080f08050c0b080103080e0805080d08090a020a020207060c0b0a01080b0805080508050b0101080f0805020608050608052208050608050608050608050a02070a020a0203030a020810060c0608100b0a01080b080508050b010108050b0101080f08050608100b0a01080b080508050b010108050b0101080f08050c0b080103080e0805080d0809070a020a022208050608050608050608050a02070a020a0203030a02060c08100608100b0a01080b080508050b010108050b0101080f08050608100b0a01080b080508050b010108050b0101080f08050c0b080103080e0805080d0809070a020a022608050608050608050a02070a020a020303070a02070a02030a020a020810060c0608100b0a01080b080508050b010108050b0101080f08050608100b0a01080b080508050b010108050b0101080f08050c0b080103080e0805080d08090a020a020207060c08050805080508050b0101080f08050f08100608100b010108050608100b0a01080b080508050b010108050b0101080f08050c0b080103080e080d08091008100608100b010108050608100b0a01080b080508050b010108050b0101080f08050c0b080103080e0805080d0809030605060805060805100a02070a020a020303070a02070a02030a02070a020a020a020a020a02020a020405080508050805100608050608050608050a02070a020a020303070a02070a02030a020a020a020a020203060805060805060805120608050608050a02070a020a020303070a02070a02030a02070a020a020a020a020a02020a020c0a02070a020a020303070a02070a02030a020a020a020205746f6b656e074275726e52656605696e6e6572064f7074696f6e066f7074696f6e0944656c657465526566066f626a6563740473656c660a4d757461746f72526566084d75746174696f6e0d746f6b656e5f61646472657373126d7574617465645f6669656c645f6e616d6506537472696e6706737472696e67096f6c645f76616c7565096e65775f76616c75650d4d75746174696f6e4576656e741a436f6e63757272656e74546f6b656e4964656e7469666965727305696e6465781241676772656761746f72536e617073686f740d61676772656761746f725f7632046e616d6505546f6b656e0a636f6c6c656374696f6e064f626a6563740a436f6c6c656374696f6e0b6465736372697074696f6e037572690f6d75746174696f6e5f6576656e74730b4576656e7448616e646c65056576656e7410546f6b656e4964656e746966696572731544657269766564537472696e67536e617073686f740e6f626a6563745f616464726573730d726561645f736e617073686f740663726561746507526f79616c747907726f79616c74790e436f6e7374727563746f72526566067369676e65720e626f72726f775f616464726573730d6372656174655f6f626a656374046e6f6e65166372656174655f636f6c6c656374696f6e5f736565640362637308746f5f627974657306766563746f7206617070656e64046861736808736861335f3235360866726f6d5f6263730a746f5f6164647265737311616464726573735f746f5f6f626a6563740763726561746f720769735f736f6d65066c656e67746806626f72726f770f67656e65726174655f7369676e657210696e6372656d656e745f737570706c790f6372656174655f736e617073686f741464657374726f795f776974685f64656661756c740765787472616374146465726976655f737472696e675f636f6e6361740475746638106e65775f6576656e745f68616e646c6504696e6974156372656174655f646572697665645f737472696e67046275726e17616464726573735f66726f6d5f64656c6574655f726566056f776e65720664656c657465096578697374735f61740e64657374726f795f68616e646c6504736f6d651064656372656d656e745f737570706c7913726561645f646572697665645f737472696e671167656e65726174655f6275726e5f7265661763616e5f67656e65726174655f64656c6574655f7265661367656e65726174655f64656c6574655f7265661c616464726573735f66726f6d5f636f6e7374727563746f725f726566036765740a6d6f76655f72616e67650d726576657273655f736c6963651467656e65726174655f6d757461746f725f7265661b6f626a6563745f66726f6d5f636f6e7374727563746f725f7265660f7365745f6465736372697074696f6e0866656174757265730a69735f656e61626c656404656d69740a656d69745f6576656e74087365745f6e616d65077365745f75726915616464726573735f66726f6d5f6275726e5f7265660f636f6c6c656374696f6e5f6e616d6511636f6c6c656374696f6e5f6f626a656374136372656174655f66726f6d5f6163636f756e741a6372656174655f6f626a6563745f66726f6d5f6163636f756e74126372656174655f6e616d65645f746f6b656e056279746573136372656174655f6e616d65645f6f626a656374156372656174655f6f626a6563745f616464726573730e726576657273655f617070656e64056572726f720963616e6f6e6963616c266372656174655f6e616d65645f746f6b656e5f61735f636f6c6c656374696f6e5f6f776e65721c6372656174655f6e616d65645f746f6b656e5f66726f6d5f73656564116372656174655f746f6b656e5f73656564306372656174655f6e616d65645f746f6b656e5f66726f6d5f736565645f61735f636f6c6c656374696f6e5f6f776e6572196372656174655f6e616d65645f746f6b656e5f6f626a656374156372656174655f6e756d62657265645f746f6b656e296372656174655f6e756d62657265645f746f6b656e5f61735f636f6c6c656374696f6e5f6f776e65721c6372656174655f6e756d62657265645f746f6b656e5f6f626a6563740c6372656174655f746f6b656e146372656174655f746f6b656e5f616464726573731e6372656174655f746f6b656e5f616464726573735f776974685f73656564206372656174655f746f6b656e5f61735f636f6c6c656374696f6e5f6f776e65721b6372656174655f746f6b656e5f6e616d655f776974685f73656564000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010a0201000a020c0b6465736372697074696f6e0a0205046e616d650a0204037572690a0203023a3a14636f6d70696c6174696f6e5f6d65746164617461090003322e3003322e33126170746f733a3a6d657461646174615f7631e2060901000000000000001545544f4b454e5f444f45535f4e4f545f45584953541854686520746f6b656e20646f6573206e6f7420657869737402000000000000000c454e4f545f43524541544f52265468652070726f7669646564207369676e6572206973206e6f74207468652063726561746f72030000000000000012454649454c445f4e4f545f4d555441424c4526546865206669656c64206265696e67206368616e676564206973206e6f74206d757461626c6504000000000000001445544f4b454e5f4e414d455f544f4f5f4c4f4e472954686520746f6b656e206e616d65206973206f76657220746865206d6178696d756d206c656e67746805000000000000000d455552495f544f4f5f4c4f4e472254686520555249206973206f76657220746865206d6178696d756d206c656e677468060000000000000015454445534352495054494f4e5f544f4f5f4c4f4e472a546865206465736372697074696f6e206973206f76657220746865206d6178696d756d206c656e67746807000000000000000e45534545445f544f4f5f4c4f4e47235468652073656564206973206f76657220746865206d6178696d756d206c656e67746808000000000000000a454e4f545f4f574e4552235468652063616c6c696e67207369676e6572206973206e6f7420746865206f776e657209000000000000001f45434f4c4c454354494f4e5f4f574e45525f4e4f545f535550504f525445442d54686520636f6c6c656374696f6e206f776e65722066656174757265206973206e6f7420737570706f727465640405546f6b656e010301183078313a3a6f626a6563743a3a4f626a65637447726f7570084d75746174696f6e01040010546f6b656e4964656e74696669657273010301183078313a3a6f626a6563743a3a4f626a65637447726f75701a436f6e63757272656e74546f6b656e4964656e74696669657273010301183078313a3a6f626a6563743a3a4f626a65637447726f75700903757269010100046e616d6501010005696e6465780101000763726561746f7201010007726f79616c74790101000b6465736372697074696f6e0101000f636f6c6c656374696f6e5f6e616d6501010011636f6c6c656374696f6e5f6f626a6563740101001e6372656174655f746f6b656e5f616464726573735f776974685f73656564010100000202020b01010802070b01010503020107050402040a050b08050e08050f08050602030b08050e08050f0805070202120b080103150b08010805090206170b0a01080b12031a08051508051b08051c0b0c0108060d0202120b08010315080e00010002050604180e0038000c010a012906040b0b012b0610003801020e0038000c010a01290504160b012b0510011402060100060000000000270301000023a3010a0011041411050c060e060c070b010c0838020c090a001104140c0a0e0a0e0811070c0b38030c0c0d0c0b0b38040d0c31fe44100b0c110a110b38050c0d0a0d38060b0011041421049f010b070c0e0b0d0c0f0b020c100b030c110b090c120b040c130b050c140e1238070495010e11110f061400000000000000160e123808110f160680000000000000002504910105440e10110f06000800000000000025048d010e14110f060002000000000000250489010a0e11110c150e0f0e1511041411120600000000000000003809380a0c160e1238070485010b110e160d12380b380c0c17070011170c010b160b1712060c180e150b182d060b0f0600000000000000000b100b010b140e15380d12050c190e150b192d050e13380e0482010b0e0d13380f11190b06020b0e010580010b11111a0c1705630b0e01060500020000000000270b0e01060600020000000000270b0e01060400020000000000270e11110f06800000000000000025049b0105440b0e01060400020000000000270b0701060200040000000000271b010002050629420e001002381004370d000f0238110c010e01111c0c020a02381238130c030b01111e0a02111f031505170a0211200a022c0513050c040101010c050c060a02290604340a022c061306010c070e0738010c080b0438140e060b020b0838150b031123020b050c08052b0d000f0338160c090a09381238130b090c020c0305112401000105040e0e0038000c010a012905040c0b012b051004143806020601000600000000002725010002050604180e0038000c010a012906040b0b012b0610051126020e0038000c010a01290504160b012b051006140206010006000000000027270100002b160a001128040f0b00112938170c0138180c020b020c030b010b031200020b00112a38190c01381a0c0205092b010001052f760e0038000c010a01290504740b012b05010a00381b0c030e03380e04110b03020a000c040e0438000c050a05290504720b052b0510041438060c060b000c070e0738000c080a08290504700b082b05100414381c0c090e060e0911070c0a38030c0c0d0c0c0d0b0a0c0e0a0d2e41100c0f0e0e41100c100d0e0600000000000000000b100b0d0b0f381d0b0e461000000000000000000d0c31fe44100b0c110a110b3805381e020d0e0c110a112e41100c0f0b110600000000000000000b0f381f0b0e0c120e1241100c0f0a0f06000000000000000024046b0a0d0d12451044100b0f060100000000000000170c0f055e0b0d010b124610000000000000000005460601000600000000002706010006000000000027060100060000000000273001000031070b0038200c010e0138211201023201000105040d0e0038000c010a012905040b0b012b0510071402060100060000000000273301000105040d0e0038000c010a012905040b0b012b0510081402060100060000000000273401000105353d0e01110f0600080000000000002504390a000c020a02100914290504330b021009142a050c03063900000000000000113504260b00100914070111170a031007140a01120238220b030f070c040b010b0415020b00010a030f0a070111170a031007140a0112033823051f0b00010b0201060100060000000000270b00010606000200000000002738010002050636530e01110f06800000000000000025044f0a000c020a02100914290504490b021009142a050c030a001009142906043e0a001009142a060c040a04100511260c050a01111a0b040f0515063900000000000000113504330b03010b00100914070211170b050b0112023822020b00010b030f0a070211170b050b0112033823020a031006140a030f060c060a010b06150c0505240b00010b0201060100060000000000270b0001060400020000000000273901000105353d0e01110f0600020000000000002504390a000c020a02100914290504330b021009142a050c03063900000000000000113504260b00100914070311170a031008140a01120238220b030f080c040b010b0415020b00010a030f0a070311170a031008140a0112033823051f0b00010b0201060100060000000000270b0001060500020000000000273a010000080e0a001002381004090b0010023824111c020b001003382514023b01000105040e0e0038000c010a012905040c0b012b05100414381c02060100060000000000273c01000105040d0e0038000c010a012905040b0b012b0510041402060100060000000000273d01000023a1010a00113e0c060e060c070b010c0838020c090a001104140c0a0e0a0e0811070c0b38030c0c0d0c0b0b38040d0c31fe44100b0c110a110b38050c0d0a0d38060b0011041421049d010b070c0e0b0d0c0f0b020c100b030c110b090c120b040c130b050c140e1238070493010e11110f061400000000000000160e123808110f1606800000000000000025048f0105420e10110f06000800000000000025048b010e14110f060002000000000000250487010a0e11110c150e0f0e1511041411120600000000000000003809380a0c160e1238070483010b110e160d12380b380c0c17070011170c010b160b1712060c180e150b182d060b0f0600000000000000000b100b010b140e15380d12050c190e150b192d050e13380e0480010b0e0d13380f11190b06020b0e01057e0b11111a0c1705610b0e01060500020000000000270b0e01060600020000000000270b0e01060400020000000000270e11110f0680000000000000002504990105420b0e01060400020000000000270b0701060200040000000000273f0100003dfe010e010c060e030c070a07110f0680000000000000002504f4010b061140140c080d080c0907040c0a0a092e41100c0b0e0a41100c0c0d0a0600000000000000000b0c0b090b0b381d0b0a461000000000000000000d080c0d0b071140140c0e0a0d2e41100c0b0e0e41100c0c0d0e0600000000000000000b0c0b0d0b0b381d0b0e461000000000000000000b080c0f0a000b0f11410c100b000c110e100c120b010c130b020c140b030c1538020c160b040c170b050c180a111104140c190e190e131107114238050c1c0a1c38060b111104142104d4010b120c1d0b1c0c1e0b140c1f0b150c200b160c210b170c220b180c230e21380704ca010e20110f061400000000000000160e213808110f160680000000000000002504c60105790e1f110f0600080000000000002504c2010e23110f0600020000000000002504be010a1d11110c240e1e0e2411041411120600000000000000003809380a0c250e21380704ba010b200e250d21380b380c0c26070011170c270b250b2612060c280e240b282d060b1e0600000000000000000b1f0b270b230e24380d12050c290e240b292d050e22380e04b7010b1d0d22380f11190b10020b1d0105b5010b20111a0c260598010b1d01060500020000000000270b1d01060600020000000000270b1d01060400020000000000270e20110f0680000000000000002504d00105790b1d01060400020000000000270b1201060200040000000000270d0e0c2a0a2a2e41100c0b0b2a0600000000000000000b0b381f0b0d0b0e382605350d0a0c0d0a0d2e41100c0b0b0d0600000000000000000b0b381f0b090b0a382605200b00010b06010b0701060200000000000000060400000000000000114427450100003fb0020a01381c0c060e060c070e030c080a08110f0680000000000000002504a8020b071140140c090d090c0a07040c0b0a0a2e41100c0c0e0b41100c0d0d0b0c0e0600000000000000000b0d0b0a0c0f0c0d0c100b0e0b100b0d0b0f0b0c381d0b0b461000000000000000000d090c0e0b081140140c110a0e2e41100c0c0e1141100c0d0d110600000000000000000b0d0b0e0b0c381d0b11461000000000000000000b090c120a000b1211410c140b000c130e140c150b010c160b020c170b030c1838020c190b040c1a0b050c1b064f00000000000000113504dc010a1638270b131104142104d8010b150c1c0b160c1d0b170c1e0b180c1f0b190c200b1a0c210b1b0c220e20380704ce010e1f110f061400000000000000160e203808110f160680000000000000002504ca01057d0e1e110f0600080000000000002504c6010e22110f0600020000000000002504c2010a1c11110c230e1d0e2311041411120600000000000000003809380a0c240e20380704be010b1f0e240d20380b380c0c25070011170c260b240b2512060c270e230b272d060b1d0600000000000000000b1e0b260b220e23380d12050c280e230b282d050e21380e04bb010b1c0d21380f11190b14020b1c0105b9010b1f111a0c25059c010b1c01060500020000000000270b1c01060600020000000000270b1c01060400020000000000270e1f110f0680000000000000002504d401057d0b1c01060400020000000000270b1501060800040000000000270b13010b15010609000d0000000000270d110c0f0a0f2e41100c0c0b0f0600000000000000000b0c381f0b110c290e2941100c0c0a0c0600000000000000002404fe010a0e0d29451044100b0c060100000000000000170c0c05f1010b0e010b294610000000000000000005400d0b0c0e0a0e2e41100c0c0b0e0600000000000000000b0c381f0b0b0c2a0e2a41100c0c0a0c0600000000000000002404a3020a0a0c0e0d2a45100c2b0b0e0b2b44100b0c060100000000000000170c0c0592020b0a010b2a46100000000000000000052b0b00010b07010b0801060400020000000000274601000042eb010a01381c0c070e070c080e030c090e040c0a0a0a110f0680000000000000002504e1010b080b0911470c0b0d0b0c0c0b0a1140140c0d0a0c2e41100c0e0e0d41100c0f0d0d0600000000000000000b0f0b0c0b0e381d0b0d461000000000000000000b0b0c100a000b1011410c110b000c120e110c130b010c140b020c150b030c1638020c170b050c180b060c190a1438060b121104142104bc010b130c1a0b140c1b0b150c1c0b160c1d0b170c1e0b180c1f0b190c200e1e380704b2010e1d110f061400000000000000160e1e3808110f160680000000000000002504ae0105610e1c110f0600080000000000002504aa010e20110f0600020000000000002504a6010a1a11110c210e1b0e2111041411120600000000000000003809380a0c220e1e380704a2010b1d0e220d1e380b380c0c23070011170c240b220b2312060c250e210b252d060b1b0600000000000000000b1c0b240b200e21380d12050c260e210b262d050e1f380e049f010b1a0d1f380f11190b11020b1a01059d010b1d111a0c230580010b1a01060500020000000000270b1a01060600020000000000270b1a01060400020000000000270e1d110f0680000000000000002504b80105610b1a01060400020000000000270b1301060200040000000000270d0d0c270a272e41100c0e0b270600000000000000000b0e381f0b0d0c280e2841100c0e0a0e0600000000000000002404dc010a0c0d28451044100b0e060100000000000000170c0e05cf010b0c010b284610000000000000000005270b00010b08010b09010b0a01060700020000000000274801000043f4010a01381c0c070e070c080e030c090e040c0a0a0a110f0680000000000000002504ea010b080b0911470c0b0d0b0c0c0b0a1140140c0d0a0c2e41100c0e0e0d41100c0f0d0d0600000000000000000b0f0b0c0b0e381d0b0d461000000000000000000b0b0c100a000b1011410c120b000c110e120c130b010c140b020c150b030c1638020c170b050c180b060c19064f00000000000000113504c3010a1438270b111104142104bf010b130c1a0b140c1b0b150c1c0b160c1d0b170c1e0b180c1f0b190c200e1e380704b5010e1d110f061400000000000000160e1e3808110f160680000000000000002504b10105640e1c110f0600080000000000002504ad010e20110f0600020000000000002504a9010a1a11110c210e1b0e2111041411120600000000000000003809380a0c220e1e380704a5010b1d0e220d1e380b380c0c23070011170c240b220b2312060c250e210b252d060b1b0600000000000000000b1c0b240b200e21380d12050c260e210b262d050e1f380e04a2010b1a0d1f380f11190b12020b1a0105a0010b1d111a0c230583010b1a01060500020000000000270b1a01060600020000000000270b1a01060400020000000000270e1d110f0680000000000000002504bb0105640b1a01060400020000000000270b1301060800040000000000270b11010b13010609000d0000000000270d0d0c270a272e41100c0e0b270600000000000000000b0e381f0b0d0c280e2841100c0e0a0e0600000000000000002404e5010a0c0d28451044100b0e060100000000000000170c0e05d8010b0c010b284610000000000000000005270b00010b08010b09010b0a01060700020000000000274901000044a7020a01381c0c060e060c070e030c080a08110f06800000000000000025049f020b071140140c090d090c0a07040c0b0a0a2e41100c0c0e0b41100c0d0d0b0c0e0600000000000000000b0d0b0a0c0f0c0d0c100b0e0b100b0d0b0f0b0c381d0b0b461000000000000000000d090c0e0b081140140c110a0e2e41100c0c0e1141100c0d0d110600000000000000000b0d0b0e0b0c381d0b11461000000000000000000b090c120a000b1211410c130b000c140e130c150b010c160b020c170b030c1838020c190b040c1a0b050c1b0a1638060b141104142104d5010b150c1c0b160c1d0b170c1e0b180c1f0b190c200b1a0c210b1b0c220e20380704cb010e1f110f061400000000000000160e203808110f160680000000000000002504c701057a0e1e110f0600080000000000002504c3010e22110f0600020000000000002504bf010a1c11110c230e1d0e2311041411120600000000000000003809380a0c240e20380704bb010b1f0e240d20380b380c0c25070011170c260b240b2512060c270e230b272d060b1d0600000000000000000b1e0b260b220e23380d12050c280e230b282d050e21380e04b8010b1c0d21380f11190b13020b1c0105b6010b1f111a0c250599010b1c01060500020000000000270b1c01060600020000000000270b1c01060400020000000000270e1f110f0680000000000000002504d101057a0b1c01060400020000000000270b1501060200040000000000270d110c0f0a0f2e41100c0c0b0f0600000000000000000b0c381f0b110c290e2941100c0c0a0c0600000000000000002404f5010a0e0d29451044100b0c060100000000000000170c0c05e8010b0e010b294610000000000000000005400d0b0c0e0a0e2e41100c0c0b0e0600000000000000000b0c381f0b0b0c2a0e2a41100c0c0a0c06000000000000000024049a020a0a0c0e0d2a45100c2b0b0e0b2b44100b0c060100000000000000170c0c0589020b0a010b2a46100000000000000000052b0b00010b07010b0801060400020000000000274a01000023a4010a0011041411050c070e070c080b010c090b0438280c0a0a001104140c0b0e0b0e0911070c0c38030c0d0d0d0b0c38040d0d31fe44100b0d110a110b38050c0e0a0e38060b001104142104a0010b080c0f0b0e0c100b020c110b030c120b0a0c130b050c140b060c150e1338070496010e12110f061400000000000000160e133808110f160680000000000000002504920105450e11110f06000800000000000025048e010e15110f06000200000000000025048a010a0f11110c160e100e1611041411120600000000000000003809380a0c170e1338070486010b120e170d13380b380c0c18070011170c010b170b1812060c190e160b192d060b100600000000000000000b110b010b150e16380d12050c1a0e160b1a2d050e14380e0483010b0f0d14380f11190b07020b0f010581010b12111a0c1805640b0f01060500020000000000270b0f01060600020000000000270b0f01060400020000000000270e12110f06800000000000000025049c0105450b0f01060400020000000000270b0801060200040000000000274b0100004696010a0011041411050c070e070c080b0438280c09064f0000000000000011350490010a0138270b0011041421048c010b080c0a0b010c0b0b020c0c0b030c0d0b090c0e0b050c0f0b060c100e0e38070482010e0d110f061400000000000000160e0e3808110f1606800000000000000025047e05310e0c110f06000800000000000025047a0e10110f0600020000000000002504760a0a11110c110e0b0e1111041411120600000000000000003809380a0c120e0e380704720b0d0e120d0e380b380c0c13070011170c040b120b1312060c140e110b142d060b0b0600000000000000000b0c0b040b100e11380d12050c150e110b152d050e0f380e046f0b0a0d0f380f11190b07020b0a01056d0b0d111a0c1305500b0a01060500020000000000270b0a01060600020000000000270b0a01060400020000000000270e0d110f0680000000000000002504880105310b0a01060400020000000000270b0801060800040000000000270b00010b08010609000d0000000000274c010000468d010a0011041411050c070e070c080b0438280c090a0138060b00110414210489010b080c0a0b010c0b0b020c0c0b030c0d0b090c0e0b050c0f0b060c100e0e3807047f0e0d110f061400000000000000160e0e3808110f1606800000000000000025047b052e0e0c110f0600080000000000002504770e10110f0600020000000000002504730a0a11110c110e0b0e1111041411120600000000000000003809380a0c120e0e3807046f0b0d0e120d0e380b380c0c13070011170c040b120b1312060c140e110b142d060b0b0600000000000000000b0c0b040b100e11380d12050c150e110b152d050e0f380e046c0b0a0d0f380f11190b07020b0a01056a0b0d111a0c13054d0b0a01060500020000000000270b0a01060600020000000000270b0a01060400020000000000270e0d110f06800000000000000025048501052e0b0a01060400020000000000270b0801060200040000000000274d010000478c010a0011041411050c060e060c0738020c080a0138060b00110414210488010b070c090b010c0a0b020c0b0b030c0c0b080c0d0b040c0e0b050c0f0e0d3807047e0e0c110f061400000000000000160e0d3808110f1606800000000000000025047a052d0e0b110f0600080000000000002504760e0f110f0600020000000000002504720a0911110c100e0a0e1011041411120600000000000000003809380a0c110e0d3807046e0b0c0e110d0d380b380c0c12070011170c130b110b1212060c140e100b142d060b0a0600000000000000000b0b0b130b0f0e10380d12050c150e100b152d050e0e380e046b0b090d0e380f11190b06020b090105690b0c111a0c12054c0b0901060500020000000000270b0901060600020000000000270b0901060400020000000000270e0c110f06800000000000000025048401052d0b0901060400020000000000270b0701060200040000000000274e01000049d1010a02110f0680000000000000002504c9010b011140140c030d030c0407040c050a042e41100c060e0541100c070d050c080600000000000000000b070b040c090c070c0a0b080b0a0b070b090b06381d0b05461000000000000000000d030c080b021140140c0b0a082e41100c060e0b41100c070d0b0c090600000000000000000b070b080c0c0c070c0a0b090b0a0b070b0c0b06381d0b0b461000000000000000000b030b0038030c0d0d0d0c090c0e0a092e41100c060e0e41100c070d0e0600000000000000000b070b090b06381d0b0e461000000000000000000d0d31fe44100b0d110a110b020d0e0c0c0a0c2e41100c060b0c0600000000000000000b06381f0b0e0c0f0e0f41100c060a0606000000000000000024047a0a090d0f451044100b06060100000000000000170c06056d0b09010b0f4610000000000000000005570d0b0c090a092e41100c060b090600000000000000000b06381f0b0b0c100e1041100c060a0606000000000000000024049f010a080c090d1045100c110b090b1144100b06060100000000000000170c06058e010b08010b104610000000000000000005410d050c080a082e41100c060b080600000000000000000b06381f0b050c120e1241100c060a060600000000000000002404c4010a040c080d1245100c110b080b1144100b06060100000000000000170c0605b3010b04010b124610000000000000000005240b00010b01010b0201060400020000000000274f0100004b97010e010c040e020c050e030c060a06110f06800000000000000025048f010b040b0511470c070d070c080b061140140c090a082e41100c0a0e0941100c0b0d090c0c0600000000000000000b0b0b080c0d0c0b0c0e0b0c0b0e0b0b0b0d0b0a381d0b09461000000000000000000b070e0038030c0f0d0f0c0c0c100a0c2e41100c0a0e1041100c0b0d100600000000000000000b0b0b0c0b0a381d0b10461000000000000000000d0f31fe44100b0f110a110b020d100c0d0a0d2e41100c0a0b0d0600000000000000000b0a381f0b100c110e1141100c0a0a0a0600000000000000002404650a0c0d11451044100b0a060100000000000000170c0a05580b0c010b114610000000000000000005420d090c0c0a0c2e41100c0a0b0c0600000000000000000b0a381f0b090c120e1241100c0a0a0a06000000000000000024048a010a080c0c0d1245100c130b0c0b1344100b0a060100000000000000170c0a05790b08010b1246100000000000000000052c0b04010b05010b060106070002000000000027500100004795010a0011041411050c060e060c0738020c08064f000000000000001135048f010a0138270b0011041421048b010b070c090b010c0a0b020c0b0b030c0c0b080c0d0b040c0e0b050c0f0e0d38070481010e0c110f061400000000000000160e0d3808110f1606800000000000000025047d05300e0b110f0600080000000000002504790e0f110f0600020000000000002504750a0911110c100e0a0e1011041411120600000000000000003809380a0c110e0d380704710b0c0e110d0d380b380c0c12070011170c130b110b1212060c140e100b142d060b0a0600000000000000000b0b0b130b0f0e10380d12050c150e100b152d050e0e380e046e0b090d0e380f11190b06020b0901056c0b0c111a0c12054f0b0901060500020000000000270b0901060600020000000000270b0901060400020000000000270e0c110f0680000000000000002504870105300b0901060400020000000000270b0701060800040000000000270b00010b07010609000d000000000027510100004dde010a02110f0680000000000000002504d6010b000c030b010c040a04110f0680000000000000002504ce010b031140140c050d050c0607040c070a062e41100c080e0741100c090d070c0a0600000000000000000b090b060c0b0c090c0c0b0a0b0c0b090b0b0b08381d0b07461000000000000000000d050c0a0b041140140c0d0a0a2e41100c080e0d41100c090d0d0c0b0600000000000000000b090b0a0c0e0c090c0c0b0b0b0c0b090b0e0b08381d0b0d461000000000000000000b050c0f0d0f0c0b0b021140140c100a0b2e41100c080e1041100c090d100600000000000000000b090b0b0b08381d0b10461000000000000000000b0f020d100c0e0a0e2e41100c080b0e0600000000000000000b08381f0b100c110e1141100c080a0806000000000000000024047f0a0b0d11451044100b08060100000000000000170c0805720b0b010b114610000000000000000005610d0d0c0b0a0b2e41100c080b0b0600000000000000000b08381f0b0d0c120e1241100c080a080600000000000000002404a4010a0a0c0b0d1245100c130b0b0b1344100b08060100000000000000170c080593010b0a010b1246100000000000000000054a0d070c0a0a0a2e41100c080b0a0600000000000000000b08381f0b070c140e1441100c080a080600000000000000002404c9010a060c0a0d1445100c130b0a0b1344100b08060100000000000000170c0805b8010b06010b1446100000000000000000052d0b02010b03010b0401060400020000000000270b00010b01010b020106070002000000000027470100004e87010a01110f068000000000000000250481010b001140140c020d020c0307040c040a032e41100c050e0441100c060d040c070600000000000000000b060b030c080c060c090b070b090b060b080b05381d0b04461000000000000000000d020c070b011140140c0a0a072e41100c050e0a41100c060d0a0600000000000000000b060b070b05381d0b0a461000000000000000000b02020d0a0c080a082e41100c050b080600000000000000000b05381f0b0a0c0b0e0b41100c050a050600000000000000002404570a070d0b451044100b05060100000000000000170c05054a0b07010b0b4610000000000000000005390d040c070a072e41100c050b070600000000000000000b05381f0b040c0c0e0c41100c050a0506000000000000000024047c0a030c070d0c45100c0d0b070b0d44100b05060100000000000000170c05056b0b03010b0c4610000000000000000005240b00010b0101060400020000000000270600050100000001050006010503050205040100050500",
    "abi": {
      "address": "0x4",
      "name": "token",
      "friends": [],
      "exposed_functions": [
        {
          "name": "index",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "create",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "burn",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x4::token::BurnRef"
          ],
          "return": []
        },
        {
          "name": "creator",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "name",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "generate_burn_ref",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ConstructorRef"
          ],
          "return": [
            "0x4::token::BurnRef"
          ]
        },
        {
          "name": "royalty",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::option::Option<0x4::royalty::Royalty>"
          ]
        },
        {
          "name": "generate_mutator_ref",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ConstructorRef"
          ],
          "return": [
            "0x4::token::MutatorRef"
          ]
        },
        {
          "name": "description",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "set_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::token::MutatorRef",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_name",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::token::MutatorRef",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::token::MutatorRef",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "address_from_burn_ref",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::token::BurnRef"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "collection_name",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "collection_object",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::object::Object<0x4::collection::Collection>"
          ]
        },
        {
          "name": "create_from_account",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_named_token",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_named_token_as_collection_owner",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_named_token_from_seed",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_named_token_from_seed_as_collection_owner",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_named_token_object",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_numbered_token",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_numbered_token_as_collection_owner",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_numbered_token_object",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_token",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_token_address",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&address",
            "&0x1::string::String",
            "&0x1::string::String"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "create_token_address_with_seed",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [],
          "params": [
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "create_token_as_collection_owner",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_token_name_with_seed",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::string::String",
            "&0x1::string::String",
            "&0x1::string::String"
          ],
          "return": [
            "vector<u8>"
          ]
        },
        {
          "name": "create_token_seed",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::string::String",
            "&0x1::string::String"
          ],
          "return": [
            "vector<u8>"
          ]
        }
      ],
      "structs": [
        {
          "name": "BurnRef",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "inner",
              "type": "0x1::option::Option<0x1::object::DeleteRef>"
            },
            {
              "name": "self",
              "type": "0x1::option::Option<address>"
            }
          ]
        },
        {
          "name": "MutatorRef",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "self",
              "type": "address"
            }
          ]
        },
        {
          "name": "Mutation",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "token_address",
              "type": "address"
            },
            {
              "name": "mutated_field_name",
              "type": "0x1::string::String"
            },
            {
              "name": "old_value",
              "type": "0x1::string::String"
            },
            {
              "name": "new_value",
              "type": "0x1::string::String"
            }
          ]
        },
        {
          "name": "MutationEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "mutated_field_name",
              "type": "0x1::string::String"
            },
            {
              "name": "old_value",
              "type": "0x1::string::String"
            },
            {
              "name": "new_value",
              "type": "0x1::string::String"
            }
          ]
        },
        {
          "name": "ConcurrentTokenIdentifiers",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "index",
              "type": "0x1::aggregator_v2::AggregatorSnapshot<u64>"
            },
            {
              "name": "name",
              "type": "0x1::aggregator_v2::AggregatorSnapshot<0x1::string::String>"
            }
          ]
        },
        {
          "name": "Token",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection",
              "type": "0x1::object::Object<0x4::collection::Collection>"
            },
            {
              "name": "index",
              "type": "u64"
            },
            {
              "name": "description",
              "type": "0x1::string::String"
            },
            {
              "name": "name",
              "type": "0x1::string::String"
            },
            {
              "name": "uri",
              "type": "0x1::string::String"
            },
            {
              "name": "mutation_events",
              "type": "0x1::event::EventHandle<0x4::token::MutationEvent>"
            }
          ]
        },
        {
          "name": "TokenIdentifiers",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "index",
              "type": "0x1::aggregator_v2::AggregatorSnapshot<u64>"
            },
            {
              "name": "name",
              "type": "0x1::aggregator_v2::DerivedStringSnapshot"
            }
          ]
        }
      ]
    }
  },
  {
    "bytecode": "0xa11ceb0b0800000a0c01000602061c0322830104a5010605ab014d07f8019c020894044010d404a4020af8060f0c8707eb010df208080ffa0802000001040112000106000103060000050b00010d02000110070100010211070100000009000100010101010a020300010101010b020400010101000c060100010101010e070400010101000f0809010801010101130b03010801010102140a0d01000101010215010d010001010100060e0f0001010100070e0f000101010016100c0001010100170311000101010018030100010000080e03000101010019121300010101060a070c080c02060800080200010608010105010c02050c02060803080201060803010b04010900010b0501080201090001060b04010900010802010b0501090001060802010303030305010101080101080007726f79616c74790a4d757461746f7252656605696e6e657209457874656e64526566066f626a65637407526f79616c7479096e756d657261746f720b64656e6f6d696e61746f720d70617965655f616464726573730675706461746517616464726573735f66726f6d5f657874656e645f7265661d67656e65726174655f7369676e65725f666f725f657874656e64696e6704696e69740e436f6e7374727563746f725265660f67656e65726174655f7369676e657203676574064f626a656374064f7074696f6e066f7074696f6e0e6f626a6563745f6164647265737304736f6d65046e6f6e6506637265617465096578697374735f61740664656c6574651467656e65726174655f6d757461746f725f72656605746f6b656e0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000114636f6d70696c6174696f6e5f6d65746164617461090003322e3003322e33126170746f733a3a6d657461646174615f7631f0010301000000000000001745524f59414c54595f444f45535f4e4f545f455849535416526f79616c747920646f6573206e6f7420657869737402000000000000001845524f59414c54595f455843454544535f4d4158494d554d2754686520726f79616c74792063616e6e6f742062652067726561746572207468616e203130302503000000000000001c45524f59414c54595f44454e4f4d494e41544f525f49535f5a45524f2354686520726f79616c74792064656e6f6d696e61746f722063616e6e6f7420626520300107526f79616c7479010301183078313a3a6f626a6563743a3a4f626a65637447726f757000000201020801020203060307030805000100010105130a00100011010c020a0229010308050b0b022c01010b00100011020c030e030b012d01020301000004070b0011040c020e020b012d01020501000101030d0e0038000c010a012901040b0b012b01143801023802020901000001040b00100114020a01000001040b00100214020b01000001110a0106000000000000000022040f0a000a0125040d0b000b010b0212010206020002000000000027060300020000000000270c01000001030b002901020d0300010101090a00290104070b002c010102060100060000000000270e01000001040b00100314020f01000001030b001200020000010001010102001a00",
    "abi": {
      "address": "0x4",
      "name": "royalty",
      "friends": [
        "0x4::token"
      ],
      "exposed_functions": [
        {
          "name": "update",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::royalty::MutatorRef",
            "0x4::royalty::Royalty"
          ],
          "return": []
        },
        {
          "name": "init",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ConstructorRef",
            "0x4::royalty::Royalty"
          ],
          "return": []
        },
        {
          "name": "get",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::option::Option<0x4::royalty::Royalty>"
          ]
        },
        {
          "name": "numerator",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::royalty::Royalty"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "denominator",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::royalty::Royalty"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "create",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "u64",
            "u64",
            "address"
          ],
          "return": [
            "0x4::royalty::Royalty"
          ]
        },
        {
          "name": "exists_at",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "delete",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address"
          ],
          "return": []
        },
        {
          "name": "payee_address",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::royalty::Royalty"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "generate_mutator_ref",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x1::object::ExtendRef"
          ],
          "return": [
            "0x4::royalty::MutatorRef"
          ]
        }
      ],
      "structs": [
        {
          "name": "MutatorRef",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "inner",
              "type": "0x1::object::ExtendRef"
            }
          ]
        },
        {
          "name": "Royalty",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "copy",
            "drop",
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "numerator",
              "type": "u64"
            },
            {
              "name": "denominator",
              "type": "u64"
            },
            {
              "name": "payee_address",
              "type": "address"
            }
          ]
        }
      ]
    }
  },
  {
    "bytecode": "0xa11ceb0b0800000a0d01001a021a6a03840184040488055205da05c60307a009bf0b08df1440069f151e10bd159b0a0ad81fad010c8521df140de435220f86360200000104011101160125012e0141014301450147004d0150015c000108000103060100000006060000080600000c0600000d0800021007000315040106010017060000180600001a0600011b06010000001c080000200600002106000022060004240701000100280600002b0800052d0701000004340600043c02000a4c0b0004580600002c00010108010101042f03040108010101013006020100010101053102070100010101053208070100010101000e0004010801010100120009010801010100330a080001010104350a040001010104360a0b000101010137020c01030101010138080c010301010101390d080100010101033a0f080106010101003b121300010101043d12000108010101003e160400010101023f17050001010102401718000101010642191a010001010107441c08010001010108461a1a0001010109481a040001010107491d080100010101000f00090108010101001300090108010101004a171a00010101004b1f2000010101044e212000010101044f120b000101010b512324000101010452230f01060101010553262701000101010554070201000101010555290201000101010a562a08000101010457122b0001010104592c0800010101055a07080100010101005b1f20000101010c5d052700010101045e2c0800010101005f2f200001010100602f200001010100612f200001000062320800010001630d0801000101010564261901000101010365020801060101010366340801060101010067363700010001680d270100010101016906380100010101016a02380103010101006b3c0800010101026c1a0900010101046d04000108010101006e3f0800010101016f0602010301010100703c080001010100713c080001010101020205030504050a050b050c050d0e0d100f1401141304141b171b03221f252022212220282228262204302030213026302e052f053033310e330534053039033a35053110043a3814303d31253a053040010b10010900010b13010301090001060b100109000105010301060b01010900010b130109000001080601060814010c010b0101090002070b010109000900010804010b0701090001080d0b050c0b0701080d0b07010804030800030b0701080d0b07010804030301060815010802010805010b100108050206050608060106080601060a0201060900010a02010205070a09000303070a09000303070a09000303070a02070a020a020303070a020a0206060c08060308060b13010816080601081502060c0a0201080001060c01060501080801060b13010900010101081601070b13010900020608150816010817010608170e0608060a02060c080008150815080608060b1301081608060b130108000c08050817020815081705060c080608060b13010816080601080c0c0608060a02060c0815080608060b1301081608060b1301080c0c0805081704060b10010805050b1301030501080302070b070109000900040507080c070307081202060b1001080505010b13010b0b0103010b0b01090001080e010b0b0103050507080007080c070307081202060802080601080f030608020708050708060206080203010811070b1001080505070800030307080c07030a636f6c6c656374696f6e10436f6e63757272656e74537570706c790e63757272656e745f737570706c790a41676772656761746f720d61676772656761746f725f76320c746f74616c5f6d696e7465640a4d757461746f725265660473656c66044275726e05696e64657805746f6b656e0e70726576696f75735f6f776e6572094275726e4576656e740a436f6c6c656374696f6e0763726561746f720b6465736372697074696f6e06537472696e6706737472696e67046e616d65037572690f6d75746174696f6e5f6576656e74730b4576656e7448616e646c65056576656e740d4d75746174696f6e4576656e7413436f6e63757272656e744275726e4576656e740f636f6c6c656374696f6e5f6164647213436f6e63757272656e744d696e744576656e741241676772656761746f72536e617073686f740b4669786564537570706c790a6d61785f737570706c790b6275726e5f6576656e74730b6d696e745f6576656e7473094d696e744576656e74044d696e74084d75746174696f6e126d7574617465645f6669656c645f6e616d65064f626a656374066f626a656374096f6c645f76616c7565096e65775f76616c75650c5365744d6178537570706c790e6f6c645f6d61785f737570706c790e6e65775f6d61785f737570706c790f556e6c696d69746564537570706c7905636f756e74064f7074696f6e066f7074696f6e0e6f626a6563745f61646472657373047265616404736f6d65046e6f6e6515757067726164655f746f5f636f6e63757272656e7409457874656e6452656617616464726573735f66726f6d5f657874656e645f7265661d67656e65726174655f7369676e65725f666f725f657874656e64696e67116372656174655f61676772656761746f721b6372656174655f756e626f756e6465645f61676772656761746f72036164640e64657374726f795f68616e646c651467656e65726174655f6d757461746f725f7265660e436f6e7374727563746f725265661b6f626a6563745f66726f6d5f636f6e7374727563746f725f726566196372656174655f636f6c6c656374696f6e5f61646472657373066c656e6774680562797465730362637308746f5f627974657306766563746f720a6d6f76655f72616e6765046861736808736861335f3235360866726f6d5f6263730a746f5f616464726573730d726576657273655f736c696365166372656174655f636f6c6c656374696f6e5f73656564176372656174655f66697865645f636f6c6c656374696f6e07526f79616c747907726f79616c7479136372656174655f6e616d65645f6f626a6563740f67656e65726174655f7369676e6572067369676e65720e626f72726f775f61646472657373106e65775f6576656e745f68616e646c650769735f736f6d650c64657374726f795f736f6d65076578747261637404696e69741567656e65726174655f7472616e736665725f7265660b5472616e736665725265661864697361626c655f756e67617465645f7472616e736665720c64657374726f795f6e6f6e65206372656174655f66697865645f636f6c6c656374696f6e5f61735f6f776e65720866656174757265730a69735f656e61626c656417656e61626c655f756e67617465645f7472616e736665721b6372656174655f756e6c696d697465645f636f6c6c656374696f6e246372656174655f756e6c696d697465645f636f6c6c656374696f6e5f61735f6f776e65721b6372656174655f756e747261636b65645f636f6c6c656374696f6e1064656372656d656e745f737570706c790373756206626f72726f7704656d69740a656d69745f6576656e7410696e6372656d656e745f737570706c79077472795f61646408736e617073686f740f6372656174655f736e617073686f740f7365745f6465736372697074696f6e047574663811616464726573735f746f5f6f626a6563740e7365745f6d61785f737570706c79096d61785f76616c7565087365745f6e616d65077365745f757269000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010a020c0b6465736372697074696f6e0a0205046e616d650a02040375726914636f6d70696c6174696f6e5f6d65746164617461090003322e3003322e33126170746f733a3a6d657461646174615f7631e7090b01000000000000001a45434f4c4c454354494f4e5f444f45535f4e4f545f45584953541d54686520636f6c6c656374696f6e20646f6573206e6f7420657869737402000000000000001b45434f4c4c454354494f4e5f535550504c595f45584345454445445e54686520636f6c6c656374696f6e2068617320726561636865642069747320737570706c7920616e64206e6f206d6f726520746f6b656e732063616e206265206d696e7465642c20756e6c65737320736f6d6520617265206275726e656403000000000000001945434f4c4c454354494f4e5f4e414d455f544f4f5f4c4f4e472e54686520636f6c6c656374696f6e206e616d65206973206f76657220746865206d6178696d756d206c656e67746804000000000000000d455552495f544f4f5f4c4f4e472254686520555249206973206f76657220746865206d6178696d756d206c656e677468050000000000000015454445534352495054494f4e5f544f4f5f4c4f4e472a546865206465736372697074696f6e206973206f76657220746865206d6178696d756d206c656e67746806000000000000001a454d41585f535550504c595f43414e4e4f545f42455f5a45524f1f546865206d617820737570706c79206d75737420626520706f73697469766507000000000000001745434f4e43555252454e545f4e4f545f454e41424c45444f436f6e63757272656e74206665617475726520666c6167206973206e6f742079657420656e61626c65642c20736f207468652066756e6374696f6e2063616e6e6f7420626520706572666f726d656408000000000000001345414c52454144595f434f4e43555252454e544e547269656420757067726164696e6720636f6c6c656374696f6e20746f20636f6e63757272656e742c2062757420636f6c6c656374696f6e20697320616c726561647920636f6e63757272656e7409000000000000001345494e56414c49445f4d41585f535550504c5939546865206e6577206d617820737570706c792063616e6e6f74206265206c657373207468616e207468652063757272656e7420737570706c790a000000000000001c454e4f5f4d41585f535550504c595f494e5f434f4c4c454354494f4e2954686520636f6c6c656374696f6e20646f6573206e6f7420686176652061206d617820737570706c790b000000000000001f45434f4c4c454354494f4e5f4f574e45525f4e4f545f535550504f525445442d54686520636f6c6c656374696f6e206f776e65722066656174757265206973206e6f7420737570706f727465640a044275726e010400044d696e74010400084d75746174696f6e0104000a436f6c6c656374696f6e010301183078313a3a6f626a6563743a3a4f626a65637447726f75700b4669786564537570706c79010301183078313a3a6f626a6563743a3a4f626a65637447726f75700c5365744d6178537570706c790104000f556e6c696d69746564537570706c79010301183078313a3a6f626a6563743a3a4f626a65637447726f757010436f6e63757272656e74537570706c79010301183078313a3a6f626a6563743a3a4f626a65637447726f757013436f6e63757272656e744275726e4576656e7401040013436f6e63757272656e744d696e744576656e740104000503757269010100046e616d6501010005636f756e740101000763726561746f720101000b6465736372697074696f6e010100000202020b010103050b0101030202010705030204000509030a050b0504020209030a050502050e050f0806120806130806140b07010808090203190509030a050a02031905090b0b01030a050c020502031d0305031e0b070108041f0b0701080d0e02030005090b0b01030a050d020209030a050f0204230806000b10010805260806270806080201230806110203000b1001080529032a03120204020305031e0b070108041f0b0701080d0001000300070d04250e0038000c010a01290404230a012900040f0b012b00100038013802020a01290704180b012b071001143802020a01290d04210b012b0d100214380202380302060100060000000000270501000104040d0e0038000c010a012904040b0b012b0410031402060100060000000000270601000104040d0e0038000c010a012904040b0b012b04100414020601000600000000002707010002070d113b0a0011080c010b0011090c020a01290704240b012c0713070c030c040c053804380512000c060c070d060f000b0738060d060f050b0538060e020b062d000b0438070b033808020a01290d04390b012c0d130d3805380512000c060c080c090c0a0c070b0a0c050b090c040b080c030514060800010000000000270e01000015070b0038090c010e01380a120102100100001e4b0a0111110680000000000000002504450b011112140b00380b0c020d020c030c040a032e411b0c050e04411b0c060d040600000000000000000b060b030b05380c0b04461b00000000000000000d0231fe441b0b0211151116020d040c070a072e411b0c050b070600000000000000000b05380d0b040c080e08411b0c050a050600000000000000002404400a030d08451b441b0b05060100000000000000170c0505330b03010b08461b0000000000000000051d0b00010b0101060300020000000000271801000104040d0e0038000c010a012904040b0b012b0410061402060100060000000000271901000104040d0e0038000c010a012904040b0b012b0410071402060100060000000000271a010000080d0a0011110680000000000000002504090b00111214020b0001060300020000000000271b0100002d730a0206000000000000000022046f0e030c060a0611110680000000000000002504690b061112140c070a000b07111c0b023804380512000b000c080c090c0b0b010c0c0b030c0d0b040c0e0b050c0f0b09380e0c100e0d11110680000000000000002504650e0f11110600020000000000002504610e0c111106000800000000000025045d0e0b111d0c110b08111e140b0c0b0d0b0f0e11380f12040c120e110b122d040e103810045a0e110b1038112d000e0e3812034f05530e0b0d0e381311230e0b11240c130e1311250b0b020b103814054b0b0801060500020000000000270b0801060400020000000000270b0801060300020000000000270b00010b0601060300020000000000270b000106060001000000000027270100002e16064f00000000000000112804120b000b010b020b030b040b05111b0c060e0611240c070e0711290b06020b0001060b000d0000000000272a0100002d6a0e020c050a0511110680000000000000002504640b051112140c060a000b06111c3805380512000b000c070c080c0a0b010c0b0b020c0c0b030c0d0b040c0e0b08380e0c0f0e0c11110680000000000000002504600e0e111106000200000000000025045c0e0b11110600080000000000002504580e0a111d0c100b07111e140b0b0b0c0b0e0e10380f12040c110e100b112d040e0f381004550e100b0f38112d000e0d3812034a054e0e0a0d0d381311230e0a11240c120e1211250b0a020b0f381405460b0701060500020000000000270b0701060400020000000000270b0701060300020000000000270b00010b0501060300020000000000272b0100002e15064f00000000000000112804110b000b010b020b030b04112a0c050e0511240c060e0611290b05020b0001060b000d0000000000272c00000031650e020c050a05111106800000000000000025045f0b051112140c060a000b06111c0b000c070c080b010c090b020c0a0b030c0b0b040c0c38150c0d0e0a111106800000000000000025045b0e0c11110600020000000000002504570e0911110600080000000000002504530e08111d0c0e0b07111e140b090b0a0b0c0e0e380f12040c0f0e0e0b0f2d040e0d381604500e0e0b0d38172d070e0b3812034505490e080d0b381311230e0811240c100e1011250b08020b0d381805410b0701060500020000000000270b0701060400020000000000270b0701060300020000000000270b00010b0501060300020000000000272d03000300070d35610b00380a0c040a04290004140a042a000f0006010000000000000038190b040e02381a140b010b031202381b020a042907043b0a042a070c050a050f010c060a0614060100000000000000170b0615063900000000000000112804320b05010b040e02381a140b010b031202381b02020b050f080e02381a140b011203381c020a04290d04310a042a0d0c070a070f020c060a0614060100000000000000170b0615063900000000000000112804580b07010b040e02381a140b010b031202381b020b070f090e02381a140b011203381c023203000300070d3b94010b00380a0c020a02290004220a022a000c030a030f00060100000000000000381d041e0a030f0506010000000000000038060b020a031005381e0b011208381f0b031005381e3820020b0301060200020000000000270a02290704600a022a070c040a040f010c050a0514060100000000000000160b05150a040f0a0c050a0514060100000000000000160b05150a041001140a04100b1425045c063900000000000000112804530b020a04100a1438210b011208381f0b04100a1438213820020a040f0c0a04100a140b0112093822054d0b0401060200020000000000270a02290d0492010a022a0d0c060a060f020c050a0514060100000000000000160b05150a060f0d0c050a0514060100000000000000160b051506390000000000000011280489010b020a06100d1438210b011208381f0b06100d1438213820020a060f0e0a06100d140b011209382205830138230236010001043e3a0e0111110600080000000000002504360a000c020a02100f14290404300b02100f142a040c0306390000000000000011280427070011370b00100f1438240a031006140a01120a38250b030f060c040b010b0415020b00010a030f1007001137120b382605200b00010b0201060100060000000000270b000106050002000000000027390100020007414a0b00100f1438240c020e02380a0c030a032900042d0b032a000c040a04100038010c050a010a052604290a04100038270c060a0138040a040f00150b040f000b0538060b020b060b01120c3828020b0401060900020000000000270a03290704480b032a070c070a010a071001142604440a07100b140c060b070f0b0c080a010b081505230b070106090002000000000027060a00010000000000273b010001043e2e0e01111106800000000000000025042a0a000c020a02100f14290404240b02100f142a040c03070111370b00100f1438240a031004140a01120a38250b030f040c040b010b0415020b00010b0201060100060000000000270b0001060300020000000000273c010001043e3a0e0111110600020000000000002504360a000c020a02100f14290404300b02100f142a040c0306390000000000000011280427070211370b00100f1438240a031007140a01120a38250b030f070c040b010b0415020b00010a030f1007021137120b382605200b00010b0201060100060000000000270b000106040002000000000027000007000d000400040200010401040307030d020702070107040d010d0301000404000a00",
    "abi": {
      "address": "0x4",
      "name": "collection",
      "friends": [
        "0x4::token"
      ],
      "exposed_functions": [
        {
          "name": "count",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::option::Option<u64>"
          ]
        },
        {
          "name": "creator",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "name",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "upgrade_to_concurrent",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ExtendRef"
          ],
          "return": []
        },
        {
          "name": "generate_mutator_ref",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ConstructorRef"
          ],
          "return": [
            "0x4::collection::MutatorRef"
          ]
        },
        {
          "name": "create_collection_address",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&address",
            "&0x1::string::String"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "description",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "create_collection_seed",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::string::String"
          ],
          "return": [
            "vector<u8>"
          ]
        },
        {
          "name": "create_fixed_collection",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "u64",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_fixed_collection_as_owner",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "u64",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_unlimited_collection",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_unlimited_collection_as_owner",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "decrement_supply",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::Object<0x4::collection::Collection>",
            "address",
            "0x1::option::Option<u64>",
            "address"
          ],
          "return": []
        },
        {
          "name": "increment_supply",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::Object<0x4::collection::Collection>",
            "address"
          ],
          "return": [
            "0x1::option::Option<0x1::aggregator_v2::AggregatorSnapshot<u64>>"
          ]
        },
        {
          "name": "set_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::collection::MutatorRef",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_max_supply",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::collection::MutatorRef",
            "u64"
          ],
          "return": []
        },
        {
          "name": "set_name",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::collection::MutatorRef",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::collection::MutatorRef",
            "0x1::string::String"
          ],
          "return": []
        }
      ],
      "structs": [
        {
          "name": "ConcurrentSupply",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "current_supply",
              "type": "0x1::aggregator_v2::Aggregator<u64>"
            },
            {
              "name": "total_minted",
              "type": "0x1::aggregator_v2::Aggregator<u64>"
            }
          ]
        },
        {
          "name": "MutatorRef",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "self",
              "type": "address"
            }
          ]
        },
        {
          "name": "Burn",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection",
              "type": "address"
            },
            {
              "name": "index",
              "type": "u64"
            },
            {
              "name": "token",
              "type": "address"
            },
            {
              "name": "previous_owner",
              "type": "address"
            }
          ]
        },
        {
          "name": "BurnEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "index",
              "type": "u64"
            },
            {
              "name": "token",
              "type": "address"
            }
          ]
        },
        {
          "name": "Collection",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "description",
              "type": "0x1::string::String"
            },
            {
              "name": "name",
              "type": "0x1::string::String"
            },
            {
              "name": "uri",
              "type": "0x1::string::String"
            },
            {
              "name": "mutation_events",
              "type": "0x1::event::EventHandle<0x4::collection::MutationEvent>"
            }
          ]
        },
        {
          "name": "ConcurrentBurnEvent",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection_addr",
              "type": "address"
            },
            {
              "name": "index",
              "type": "u64"
            },
            {
              "name": "token",
              "type": "address"
            }
          ]
        },
        {
          "name": "ConcurrentMintEvent",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection_addr",
              "type": "address"
            },
            {
              "name": "index",
              "type": "0x1::aggregator_v2::AggregatorSnapshot<u64>"
            },
            {
              "name": "token",
              "type": "address"
            }
          ]
        },
        {
          "name": "FixedSupply",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "current_supply",
              "type": "u64"
            },
            {
              "name": "max_supply",
              "type": "u64"
            },
            {
              "name": "total_minted",
              "type": "u64"
            },
            {
              "name": "burn_events",
              "type": "0x1::event::EventHandle<0x4::collection::BurnEvent>"
            },
            {
              "name": "mint_events",
              "type": "0x1::event::EventHandle<0x4::collection::MintEvent>"
            }
          ]
        },
        {
          "name": "Mint",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection",
              "type": "address"
            },
            {
              "name": "index",
              "type": "0x1::aggregator_v2::AggregatorSnapshot<u64>"
            },
            {
              "name": "token",
              "type": "address"
            }
          ]
        },
        {
          "name": "MintEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "index",
              "type": "u64"
            },
            {
              "name": "token",
              "type": "address"
            }
          ]
        },
        {
          "name": "Mutation",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "mutated_field_name",
              "type": "0x1::string::String"
            },
            {
              "name": "collection",
              "type": "0x1::object::Object<0x4::collection::Collection>"
            },
            {
              "name": "old_value",
              "type": "0x1::string::String"
            },
            {
              "name": "new_value",
              "type": "0x1::string::String"
            }
          ]
        },
        {
          "name": "MutationEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "mutated_field_name",
              "type": "0x1::string::String"
            }
          ]
        },
        {
          "name": "SetMaxSupply",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection",
              "type": "0x1::object::Object<0x4::collection::Collection>"
            },
            {
              "name": "old_max_supply",
              "type": "u64"
            },
            {
              "name": "new_max_supply",
              "type": "u64"
            }
          ]
        },
        {
          "name": "UnlimitedSupply",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "current_supply",
              "type": "u64"
            },
            {
              "name": "total_minted",
              "type": "u64"
            },
            {
              "name": "burn_events",
              "type": "0x1::event::EventHandle<0x4::collection::BurnEvent>"
            },
            {
              "name": "mint_events",
              "type": "0x1::event::EventHandle<0x4::collection::MintEvent>"
            }
          ]
        }
      ]
    }
  },
  {
    "bytecode": "0xa11ceb0b0800000a0b01001a021a480362ef0504d10644059507fb0407900cc00e08d01a4010901b94050aa420370cdb20f11b0dcc3c1c0000010400060008001401170019011e012401320134013601380001080001030701000002050600030506000011080004130600051606000405060006050600051b070100010823070005260200032d0b00063e0a00024308000551060005630200001a00010108010101051c03040108010101041d05040108010101071f0607000101010120090a0100010101061a0b010001010101210c020100010101041a08010001010100220e010001010100250e0f00010002271004000101010528040501080101010529120400010101052a121300010101012b14010100010101052c12050108010101012e01180100010101042f190f000101010530121a0001010102311b1c0001010109331d1c01000101010a351f0101000101010b371c1c000101010c391c0400010101043a122000010101013b02180100010101043c120800010101063a120b00010101063d212200010101063f2301000101010a40240101000101010041260101080101010442052701080101010144091d010001010104412901000101010045260101080101010445290100010101004626010108010101044629010001010100472b01010801010106482c010001010100492e01020802010101064a30010102010101004b050a0108010101004c050a0108010101004d050a0108010101004e320100010101032f331700010101024f340f00010101023a1235000101010550123600010101033a363700010101005232390001010100530001010801010105543a01000101010055050a01080101010056050a01080101010057050a01080101010058050a01080101010059050a0108010101005a050a0108010101005b050a0108010101005c050a0108010101005d050a0108010101005e050a0108010101005f050a01080101010060050a010801010100613c010001010105623a3d0001010105643e010001010100653c400001010100660e40000101010067260101080101010668420100010101006926010108010101021d050401080101010241430100010101006a45010108010101036b460100010101006c470101080100006d260101080101010246430100010101006e00010108010101056f3a010001010100702b010108010101066b49010001010100712e0102080201010106724a01010201010101020202040806080b1101110e130f1510171404151e192019081013100810201e1e2002012821202a2f1917193519370f11103710350413211304374b0221352137572f02060c0b090109000001090001060b090109000105010b0901090001060c01060501080501060b01010900010101080801070b0101090006060b090109000506080406080408080b0101080508060c080a080a080a080a0a080a0a080a0a0a0201080b02060506080a0108000106080b01080602070b01010900090001080407080a080b06080a050b0901080005080601080c010b0101090006060c080a080a080a0b0101080c080a010c0106080a010a0201060900010205070a09000303070a090003010807030a080a0a080a0a0a0201080d0206080b080d03070a0900030314080b0c0506050a02070a020a0203030b090108000506080001010b010108070b010108050804080d070a020a0203060c0b09010900080a010b0901080e01080e02060807080a050b0901080e05060b09010900060c0505060c0b09010900080a080a0a0204060808080a080a0a0205060b09010900050608040b0901080e0504060c0b09010900080a090101090103060808080a0900020b0901080e0510060c080a03080a080a01010101010101010103030303030506060c080a03080a0b0101080c080a01080201080f0108030805080c080b0c010b010108020b010108030800010b090108000106080606060b09010900050608040b0901080e050109060c080a080a080a080a0a080a0a080a0a0a02050108100208100502080b0806010b090108040d080b0506050a02070a020a0203030b09010800050806070a020a020206080806080a02060802080a03060b090109000506080003060c0b09010900080c02060803080c05060c0b0901090003030504080c0b09010900060b090109000608000406080806080a080a0a020306080806080a09000b6170746f735f746f6b656e0f4170746f73436f6c6c656374696f6e0b6d757461746f725f726566064f7074696f6e066f7074696f6e0a4d757461746f725265660a636f6c6c656374696f6e13726f79616c74795f6d757461746f725f72656607726f79616c7479136d757461626c655f6465736372697074696f6e0b6d757461626c655f757269196d757461626c655f746f6b656e5f6465736372697074696f6e126d757461626c655f746f6b656e5f6e616d65186d757461626c655f746f6b656e5f70726f70657274696573116d757461626c655f746f6b656e5f7572691a746f6b656e735f6275726e61626c655f62795f63726561746f721b746f6b656e735f667265657a61626c655f62795f63726561746f720a4170746f73546f6b656e086275726e5f726566074275726e52656605746f6b656e0c7472616e736665725f7265660b5472616e73666572526566066f626a6563741470726f70657274795f6d757461746f725f7265660c70726f70657274795f6d6170046275726e064f626a6563740e6f626a6563745f616464726573730763726561746f72067369676e65720e626f72726f775f616464726573730769735f736f6d650765787472616374046d696e7406537472696e6706737472696e670d6d696e745f696e7465726e616c0e436f6e7374727563746f72526566196372656174655f636f6c6c656374696f6e5f6164647265737311616464726573735f746f5f6f626a6563741c616464726573735f66726f6d5f636f6e7374727563746f725f7265661567656e65726174655f7472616e736665725f7265660466696c6c1b6f626a6563745f66726f6d5f636f6e7374727563746f725f72656607526f79616c7479046e6f6e65066372656174650f67656e65726174655f7369676e6572166372656174655f636f6c6c656374696f6e5f736565640362637308746f5f627974657306766563746f720a6d6f76655f72616e6765046861736808736861335f3235360866726f6d5f6263730a746f5f616464726573731467656e65726174655f6d757461746f725f72656604736f6d651167656e65726174655f6275726e5f7265660d707265706172655f696e7075740b50726f70657274794d617004696e69740d726576657273655f736c6963650f7365745f6465736372697074696f6e11636f6c6c656374696f6e5f6f626a6563740a436f6c6c656374696f6e06626f72726f77087365745f6e616d65077365745f7572690c6164645f70726f706572747903616464126164645f74797065645f70726f7065727479096164645f74797065641e6172655f636f6c6c656374696f6e5f746f6b656e735f6275726e61626c651f6172655f636f6c6c656374696f6e5f746f6b656e735f667265657a61626c65166172655f70726f706572746965735f6d757461626c65116372656174655f636f6c6c656374696f6e176372656174655f66697865645f636f6c6c656374696f6e1367656e65726174655f657874656e645f72656609457874656e64526566186372656174655f636f6c6c656374696f6e5f6f626a6563740f667265657a655f7472616e736665721864697361626c655f756e67617465645f7472616e736665720b69735f6275726e61626c651769735f667265657a61626c655f62795f63726561746f722169735f6d757461626c655f636f6c6c656374696f6e5f6465736372697074696f6e1d69735f6d757461626c655f636f6c6c656374696f6e5f726f79616c74792769735f6d757461626c655f636f6c6c656374696f6e5f746f6b656e5f6465736372697074696f6e2069735f6d757461626c655f636f6c6c656374696f6e5f746f6b656e5f6e616d652669735f6d757461626c655f636f6c6c656374696f6e5f746f6b656e5f70726f706572746965731f69735f6d757461626c655f636f6c6c656374696f6e5f746f6b656e5f7572691969735f6d757461626c655f636f6c6c656374696f6e5f7572691669735f6d757461626c655f6465736372697074696f6e0f69735f6d757461626c655f6e616d650e69735f6d757461626c655f7572690f6d696e745f736f756c5f626f756e641c67656e65726174655f6c696e6561725f7472616e736665725f726566114c696e6561725472616e73666572526566117472616e736665725f776974685f7265661c6d696e745f736f756c5f626f756e645f746f6b656e5f6f626a656374116d696e745f746f6b656e5f6f626a6563740f72656d6f76655f70726f70657274790672656d6f76651a7365745f636f6c6c656374696f6e5f6465736372697074696f6e187365745f636f6c6c656374696f6e5f726f79616c74696573067570646174651d7365745f636f6c6c656374696f6e5f726f79616c746965735f63616c6c127365745f636f6c6c656374696f6e5f75726911756e667265657a655f7472616e7366657217656e61626c655f756e67617465645f7472616e736665720f7570646174655f70726f7065727479157570646174655f74797065645f70726f70657274790c7570646174655f74797065640000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000114636f6d70696c6174696f6e5f6d65746164617461090003322e3003322e33126170746f733a3a6d657461646174615f7631e0040601000000000000001a45434f4c4c454354494f4e5f444f45535f4e4f545f45584953541d54686520636f6c6c656374696f6e20646f6573206e6f7420657869737402000000000000001545544f4b454e5f444f45535f4e4f545f45584953541854686520746f6b656e20646f6573206e6f7420657869737403000000000000000c454e4f545f43524541544f52265468652070726f7669646564207369676e6572206973206e6f74207468652063726561746f72040000000000000012454649454c445f4e4f545f4d555441424c4526546865206669656c64206265696e67206368616e676564206973206e6f74206d757461626c6505000000000000001345544f4b454e5f4e4f545f4255524e41424c452654686520746f6b656e206265696e67206275726e6564206973206e6f74206275726e61626c650600000000000000174550524f504552544945535f4e4f545f4d555441424c452d5468652070726f7065727479206d6170206265696e67206d757461746564206973206e6f74206d757461626c65020a4170746f73546f6b656e010301183078313a3a6f626a6563743a3a4f626a65637447726f75700f4170746f73436f6c6c656374696f6e010301183078313a3a6f626a6563743a3a4f626a65637447726f7570060b69735f6275726e61626c650101000e69735f6d757461626c655f7572690101000f69735f6d757461626c655f6e616d65010100166172655f70726f706572746965735f6d757461626c650101001669735f6d757461626c655f6465736372697074696f6e0101001769735f667265657a61626c655f62795f63726561746f7201010000020a020b01010802070b0101080309010a010b010c010d010e010f011001040204120b01010805150b01010806020b0101080718080800010401010d330e010c020a0238000c030a032901042d0b021438010b0011031421042b0b032b010c040a041000380204270b04010e0138002c0113010c0601010c070b0611050d0738031107020b040106050005000000000027060300050000000000270b02010b00010602000600000000002708010402000116320b010c080a000a080b020b030b040b050b060b0711090c090e080c0a0b001103140c0b0e0b0b0a110a38040c0c0e0c38050c0d0a0d290004300b0d2b001001140323052c0e09110c2a010e09110d0c0e0f020b0e38060e09380701020601000600000000002709000001002598010a000a010b020b0338080b0411110c080e0811120c090e010b001103140c0a0e0a0c0b11130b0b38090c0c0d0c0c0d0c0e0a0d2e411e0c0f0e0e411e0c100d0e0600000000000000000b100b0d0b0f380a0b0e461e00000000000000000d0c31fe441e0b0c1116111738040c110e1138050c120a12290004750b122b000c130a131003140470080c140b14046b080c150b1504680e081118380b0c160b1310041404650e08111a380c0c170b17380d0b160e08111b12010c180e090b182d010b050b060b07111c0c190e080b19111d0b0802380e0c170551380f0c1605490a131005140c1505430a131006140c14053f060100060000000000270d0e0c1a0a1a2e411e0c0f0b1a0600000000000000000b0f38100b0e0c1b0e1b411e0c0f0a0f060000000000000000240493010a0d0d1b451e441e0b0f060100000000000000170c0f0586010b0d010b1b461e000000000000000005281f01040200012a370a0138110c030e0338120c040a04290004330b042b00100314042f0e010c050b000c060a0538000c070a07290104290b051438010b061103142104270b072b01100738130b02112202060300050000000000270b05010b0601060200060000000000270b0001060400050000000000270b0001060100060000000000272301040200012a370a0138110c030e0338120c040a04290004330b042b00100614042f0e010c050b000c060a0538000c070a07290104290b051438010b061103142104270b072b01100738130b02112402060300050000000000270b05010b0601060200060000000000270b0001060400050000000000270b0001060100060000000000272501040200012a370a0138110c030e0338120c040a04290004330b042b00100514042f0e010c050b000c060a0538000c070a07290104290b051438010b061103142104270b072b01100738130b02112602060300050000000000270b05010b0601060200060000000000270b0001060400050000000000270b0001060100060000000000272701040200012d380e010c050a0538000c060a06290104320b051438010b001103142104300b062b010c070b0138110c080e0838120c090a092900042c0b092b0010081404280b0710090b020b030b041128020b0701060600050000000000270b070106010006000000000027060300050000000000270b05010b0001060200060000000000272901040200012d370e010c040a0438000c050a05290104310b041438010b0011031421042f0b052b010c060b0138110c070e0738120c080a082900042b0b082b0010081404270b0610090b020b033814020b0601060600050000000000270b060106010006000000000027060300050000000000270b04010b0001060200060000000000272b01000100040d0e0038000c010a012900040b0b012b0010041402060100060000000000272c01000100040d0e0038000c010a012900040b0b012b0010011402060100060000000000272d0100010031100b0038110c010e0138120c020a022900040e0b022b0010081402060100060000000000272e01040038420a001103140c100b0e0b0f0b10112f0c110b000b010b020b030b1138150b0411300c120e1211120c130a05043f080c140b14043c0e12113138160c150b0604390e121132113338170c160b150b160b050b070b080b090b0a0b0b0b0c0b0d12000c170e130b172d000e123818010238190c160526381a0c15051f0a070c1405193401000038410a001103140c100b0e0b0f0b10112f0c110b000b010b020b030b1138150b0411300c120e1211120c130a05043e080c140b14043b0e12113138160c150b0604380e121132113338170c160b150b160b050b070b080b090b0a0b0b0b0c0b0d12000c170e130b172d000e1238180238190c160526381a0c15051f0a070c1405193501040200013b3f0e010c020a0238000c030a03290104390b021438010b001103142104370b032b010c040b0138110c050e0538120c060a06290004330b062b0010011404300a041002381b0c070b07042c0b041002381c1136020b040106040005000000000027090c0705250b040106010006000000000027060300050000000000270b02010b0001060200060000000000273701000101040d0e0038000c010a012901040b0b012b01100038020206020006000000000027380100010031100b0038110c010e0138120c020a022900040e0b022b0010011402060100060000000000273901000100040d0e0038000c010a012900040b0b012b00100a1402060100060000000000273a01000100040d0e0038000c010a012900040b0b012b00100b381d02060100060000000000273b01000100040d0e0038000c010a012900040b0b012b0010031402060100060000000000273c01000100040d0e0038000c010a012900040b0b012b0010061402060100060000000000273d01000100040d0e0038000c010a012900040b0b012b0010081402060100060000000000273e01000100040d0e0038000c010a012900040b0b012b0010051402060100060000000000273f01000100040d0e0038000c010a012900040b0b012b00100c140206010006000000000027400100010031100b0038110c010e0138120c020a022900040e0b022b001003140206010006000000000027410100010031100b0038110c010e0138120c020a022900040e0b022b001006140206010006000000000027420100010031100b0038110c010e0138120c020a022900040e0b022b00100514020601000600000000002743010401003f170b000b010b020b030b040b050b060b0711090c090e09110d0c0a0e0a11440b0811450e0a11360e093807010246010001003f160b000b010b020b030b040b050b060b0711090c090e09110d0c0a0e0a11440b0811450e0a11360e09380702470100020001416a0a000a010b020b030b040b050b060b0711090c080e010b001103140c090e090c0a11130b0a38090c0b0d0b0c0c0c0d0a0c2e411e0c0e0e0d411e0c0f0d0d0600000000000000000b0f0b0c0b0e380a0b0d461e00000000000000000d0b31fe441e0b0b1116111738040c100e1038050c110a11290004470b112b00100114033b05440e08110c2a010e08110d0c120f020b1238060e08380702060100060000000000270d0d0c130a132e411e0c0e0b130600000000000000000b0e38100b0d0c140e14411e0c0e0a0e0600000000000000002404650a0c0d14451e441e0b0e060100000000000000170c0e05580b0c010b14461e000000000000000005274801040200012d360e010c030a0338000c040a04290104300b031438010b0011031421042e0b042b010c050b0138110c060e0638120c070a072900042a0b072b0010081404260b0510090e021149020b0501060600050000000000270b050106010006000000000027060300050000000000270b03010b0001060200060000000000274a0104010044290e010c030a0338000c040a04290004230b0314381e0b001103142104210b042b000c050a05100a14041d0b05100d381f0b02114c020b050106040005000000000027060300050000000000270b03010b0001060100060000000000274d0100010044290e010c030a0338000c040a04290004230b0314381e0b001103142104210b042b000c050a05100b381d041d0b05100b38200b02114e020b050106040005000000000027060300050000000000270b03010b0001060100060000000000274f0004010048300b020b030b04112f0c050b010c060e060c070a0738000c040a042900042a0b0714381e0b001103142104280b042b000c080a08100b381d04240b08100b38200b05114e020b080106040005000000000027060300050000000000270b07010b000106010006000000000027500104010044290e010c030a0338000c040a04290004230b0314381e0b001103142104210b042b000c050a05100c14041d0b05100d381f0b021151020b050106040005000000000027060300050000000000270b03010b0001060100060000000000275201040200013b3f0e010c020a0238000c030a03290104390b021438010b001103142104370b032b010c040b0138110c050e0538120c060a06290004330b062b0010011404300a041002381b0c070b07042c0b041002381c1153020b040106040005000000000027090c0705250b040106010006000000000027060300050000000000270b02010b0001060200060000000000275401040200012d380e010c050a0538000c060a06290104320b051438010b001103142104300b062b010c070b0138110c080e0838120c090a092900042c0b092b0010081404280b0710090e020b030b041155020b0701060600050000000000270b070106010006000000000027060300050000000000270b05010b0001060200060000000000275601040200012d370e010c040a0438000c050a05290104310b041438010b0011031421042f0b052b010c060b0138110c070e0738120c080a082900042b0b082b0010081404270b0610090e020b033821020b0601060600050000000000270b060106010006000000000027060300050000000000270b04010b0001060200060000000000270100000901010004000800070005010200060103000200010003000000",
    "abi": {
      "address": "0x4",
      "name": "aptos_token",
      "friends": [],
      "exposed_functions": [
        {
          "name": "burn",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>"
          ],
          "return": []
        },
        {
          "name": "mint",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "vector<0x1::string::String>",
            "vector<0x1::string::String>",
            "vector<vector<u8>>"
          ],
          "return": []
        },
        {
          "name": "set_description",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_name",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_uri",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "add_property",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String",
            "0x1::string::String",
            "vector<u8>"
          ],
          "return": []
        },
        {
          "name": "add_typed_property",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            },
            {
              "constraints": [
                "drop"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String",
            "T1"
          ],
          "return": []
        },
        {
          "name": "are_collection_tokens_burnable",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "are_collection_tokens_freezable",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "are_properties_mutable",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "create_collection",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "u64",
            "0x1::string::String",
            "0x1::string::String",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "u64",
            "u64"
          ],
          "return": []
        },
        {
          "name": "create_collection_object",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "u64",
            "0x1::string::String",
            "0x1::string::String",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "u64",
            "u64"
          ],
          "return": [
            "0x1::object::Object<0x4::aptos_token::AptosCollection>"
          ]
        },
        {
          "name": "freeze_transfer",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>"
          ],
          "return": []
        },
        {
          "name": "is_burnable",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_freezable_by_creator",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_royalty",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_token_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_token_name",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_token_properties",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_token_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_name",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "mint_soul_bound",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "vector<0x1::string::String>",
            "vector<0x1::string::String>",
            "vector<vector<u8>>",
            "address"
          ],
          "return": []
        },
        {
          "name": "mint_soul_bound_token_object",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "vector<0x1::string::String>",
            "vector<0x1::string::String>",
            "vector<vector<u8>>",
            "address"
          ],
          "return": [
            "0x1::object::Object<0x4::aptos_token::AptosToken>"
          ]
        },
        {
          "name": "mint_token_object",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "vector<0x1::string::String>",
            "vector<0x1::string::String>",
            "vector<vector<u8>>"
          ],
          "return": [
            "0x1::object::Object<0x4::aptos_token::AptosToken>"
          ]
        },
        {
          "name": "remove_property",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_collection_description",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_collection_royalties",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x4::royalty::Royalty"
          ],
          "return": []
        },
        {
          "name": "set_collection_royalties_call",
          "visibility": "private",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "u64",
            "u64",
            "address"
          ],
          "return": []
        },
        {
          "name": "set_collection_uri",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "unfreeze_transfer",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>"
          ],
          "return": []
        },
        {
          "name": "update_property",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String",
            "0x1::string::String",
            "vector<u8>"
          ],
          "return": []
        },
        {
          "name": "update_typed_property",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            },
            {
              "constraints": [
                "drop"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String",
            "T1"
          ],
          "return": []
        }
      ],
      "structs": [
        {
          "name": "AptosCollection",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "mutator_ref",
              "type": "0x1::option::Option<0x4::collection::MutatorRef>"
            },
            {
              "name": "royalty_mutator_ref",
              "type": "0x1::option::Option<0x4::royalty::MutatorRef>"
            },
            {
              "name": "mutable_description",
              "type": "bool"
            },
            {
              "name": "mutable_uri",
              "type": "bool"
            },
            {
              "name": "mutable_token_description",
              "type": "bool"
            },
            {
              "name": "mutable_token_name",
              "type": "bool"
            },
            {
              "name": "mutable_token_properties",
              "type": "bool"
            },
            {
              "name": "mutable_token_uri",
              "type": "bool"
            },
            {
              "name": "tokens_burnable_by_creator",
              "type": "bool"
            },
            {
              "name": "tokens_freezable_by_creator",
              "type": "bool"
            }
          ]
        },
        {
          "name": "AptosToken",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "burn_ref",
              "type": "0x1::option::Option<0x4::token::BurnRef>"
            },
            {
              "name": "transfer_ref",
              "type": "0x1::option::Option<0x1::object::TransferRef>"
            },
            {
              "name": "mutator_ref",
              "type": "0x1::option::Option<0x4::token::MutatorRef>"
            },
            {
              "name": "property_mutator_ref",
              "type": "0x4::property_map::MutatorRef"
            }
          ]
        }
      ]
    }
  },
  {
    "bytecode": "0xa11ceb0b0800000a0c01000e020e2a0338a70304df032e058d04e40207f106f70408e80b4006a80c6d10950d8f050aa412180cbc12eb180da72b08000001060108010e011b0129012b0001060000030a0001050702000000000207070000090600041a0200041e07010001042e080004300600000c000100010101020d020300010101030f02040001010101100607020404010101031102080001010103120209000101010313020a000101010314020b000101010315020c000101010316020d000101010317020e0001010103180203000101010019100100010101041c111200010101001d130b0108010101041f130e0108010101011d150b02040401010100201601000101010120061702040401010100211801000101010121190102040401010100221b010001010100231c1d010801010101241e1f02040401010100251c04010801010101251e040204040101010026111b000101010427110e00010101002821010102010101052a01030100010101062c22020100010101002d2401000100032c020200010101002f27010001010104312812000101010032292a000101010133012b020404010101021d2c0b0001010100341c0e010801010100351c04010801010100361c02010801010100371c03010801010100381c0c010801010100391c090108010101003a1c0d0108010101003b1c0a0108010101003c1c0b0108010101003d1c080108010101003e2e01010201010103050f14100512051405170519051d141e1416251d041d081d091d0a1d0b1d0c1d0d1d021d030f25240516141d0e0406080006080308030a0200010a020108030101020803080402070b020209000901060900010709010102010d010e01030104010f01050902020a02060800060803020a02080407080402060805080101060805010c01060b0601090001090001060b02020900090102060800060803020900090104060800080308030a0203070b020209000901090009010702020a020608000803020a0201080002060b060109000608030208030a0202060b0202090009010609000106090103060804020803030608000803090001060900060803020608000803020a02010b0601080701080714060b0601080708030608030a0208030a0208030a0208030a0208030a0208030a0208030a0208030a0208030a0202060808080101060808030a08030a08030a0a02010801010b0202090009010106080309030b02020803080408030a02080302020a020a0203060800060803090008080302060800060803020a0208040708040c70726f70657274795f6d61700a4d757461746f725265660473656c660b50726f70657274794d617005696e6e65720953696d706c654d61700a73696d706c655f6d617006537472696e6706737472696e670d50726f706572747956616c756504747970650576616c75650675706461746504757466380866726f6d5f62637307746f5f626f6f6c0a626f72726f775f6d757405746f5f753806746f5f75313606746f5f75333206746f5f75363407746f5f7531323807746f5f753235360a746f5f6164647265737309746f5f737472696e6704696e69740e436f6e7374727563746f72526566066f626a6563740f67656e65726174655f7369676e6572066c656e677468064f626a6563740e6f626a6563745f616464726573730672656d6f766503616464046275726e047265616406626f72726f770c636f6e7461696e735f6b65791467656e65726174655f6d757461746f725f7265661c616464726573735f66726f6d5f636f6e7374727563746f725f726566096164645f747970656409747970655f696e666f09747970655f6e616d650362637308746f5f6279746573176173736572745f656e645f746f5f656e645f696e7075740a4f626a656374436f726506657874656e6409457874656e645265661d67656e65726174655f7369676e65725f666f725f657874656e64696e670d707265706172655f696e707574036e65770c726561645f6164647265737309726561645f626f6f6c0a726561645f62797465730b726561645f737472696e6709726561645f7531323808726561645f75313609726561645f7532353608726561645f75333208726561645f75363407726561645f75380c7570646174655f7479706564000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010a020504626f6f6c0a02030275380a0204037531360a0204037533320a0204037536340a020504753132380a020504753235360a020807616464726573730a020b0a766563746f723c75383e0a0214133078313a3a737472696e673a3a537472696e670a020201010a0202016114636f6d70696c6174696f6e5f6d65746164617461090003322e3003322e33126170746f733a3a6d657461646174615f7631db040801000000000000001c4550524f50455254595f4d41505f444f45535f4e4f545f45584953541f5468652070726f7065727479206d617020646f6573206e6f74206578697374020000000000000023454b45595f414c52454144595f4558495354535f494e5f50524f50455254595f4d41501f5468652070726f7065727479206b657920616c72656164792065786973747303000000000000001445544f4f5f4d414e595f50524f504552544945532c546865206e756d626572206f662070726f70657274696573206578636565647320746865206d6178696d756d040000000000000019454b45595f56414c55455f434f554e545f4d49534d415443482a50726f7065727479206b657920616e642076616c756520636f756e747320646f206e6f74206d61746368050000000000000018454b45595f545950455f434f554e545f4d49534d415443482950726f7065727479206b657920616e64207479706520636f756e747320646f206e6f74206d6174636806000000000000000e45545950455f4d49534d415443482b50726f70657274792076616c756520646f6573206e6f74206d61746368206578706563746564207479706507000000000000000d45545950455f494e56414c49441c496e76616c69642076616c756520747970652073706563696669656408000000000000001a4550524f50455254595f4d41505f4b45595f544f4f5f4c4f4e4723546865206b6579206f66207468652070726f706572747920697320746f6f206c6f6e67010b50726f70657274794d6170010301183078313a3a6f626a6563743a3a4f626a65637447726f7570000002010205010201040b0202080308040402020a020b0a0200010001010fce010a02070011012104800131000c040a040c050a030c060a0531002104350b061102010b000c070b010c080b040c090b030c0a0a071000142901042f0b071000142a010f010b0838000b090b0a12020c0b0c0c0b0b0b0c15020b07010b0801060100060000000000270a05310121043d0b0611040105120a0531022104450b0611050105120a05310321044d0b0611060105120a0531042104550b0611070105120a05310521045d0b0611080105120a0531062104650b0611090105120a05310721046d0b06110a0105120a05310821047205120b05310921047a0b06110b0105120b00010b0101060600010000000000270a02070111012104880131010c0405070a02070211012104900131020c0405070a02070311012104980131030c0405070a02070411012104a00131040c0405070a02070511012104a80131050c0405070a02070611012104b00131060c0405070a02070711012104b80131070c0405070a02070811012104c00131080c0405070b02070911012104c80131090c0405070b00010b0101060700010000000000270c01000012070b00110d0c020e020b012d01020e01000101010e0a0038012901040a0b0038012b0110013802020b000106010006000000000027110100010101150a001000142901040f0b001000142a010f010b0138030101020b00010b01010601000600000000002713010001011ac3010a020700110121047731000c040a040c050a030c060a05310021042e0b061102010b000c070b010c080b040c090b030c0a0a071000142901042a0b071000142a010f010b080b090b0a12023804020b0701060100060000000000270a0531012104360b0611040105120a05310221043e0b0611050105120a0531032104460b0611060105120a05310421044e0b0611070105120a0531052104560b0611080105120a05310621045e0b0611090105120a0531072104660b06110a0105120a05310821046b05120b0531092104730b06110b0105120b0001060600010000000000270a020701110121047f31010c0405070a02070211012104870131020c0405070a020703110121048f0131030c0405070a02070411012104970131040c0405070a020705110121049f0131050c0405070a02070611012104a70131060c0405070a02070711012104af0131070c0405070a02070811012104b70131080c0405070b02070911012104bf0131090c0405070b000106070001000000000027150100010101060e001000142c0101021601000101206d0a003801290104670b0038012b0110010b0138050c020a021002140c030a03310021041b070011010c040b040b02100314020a033101210423070111010c0405160a03310221042b070211010c0405160a033103210433070311010c0405160a03310421043b070411010c0405160a033105210443070511010c0405160a03310621044b070611010c0405160a033107210453070711010c0405160a03310821045b070811010c0405160b033109210463070911010c0405160b0201060700010000000000270b00010b010106010006000000000027180100010101110a0038012901040b0b0038012b0110010b013806020b00010b0101060100060000000000271a01000001040b00111b1200021c01000101237238070c030a030700110121042631000c040b000c050b010c060b040c070e0238080c080a05100014290104220b051000142a010f010b060b070b0812023804020b0501060100060000000000270a030701110121042e31010c0405090a030702110121043631020c0405090a030703110121043e31030c0405090a030704110121044631040c0405090a030705110121044e31050c0405090a030706110121045631060c0405090a030707110121045e31070c0405090a030708110121046631080c0405090b030709110121046e31090c0405090b0001060700010000000000271f0000010126e3010e000c01070011010c020e020c030b010b0338090c04380a2104e1010b04110204df010e000c01070111010c050e050c030b010b0338090c06380b2104dd010b06110431122104db010e000c01070211010c070e070c030b010b0338090c08380c2104d9010b0811054834122104d7010e000c01070311010c090e090c030b010b0338090c0a380d2104d5010b0a110649785634122104d3010e000c01070411010c0b0e0b0c030b010b0338090c0c380e2104d1010b0c11070678563412785634122104cf010e000c01070511010c0d0e0d0c030b010b0338090c0e380f2104cd010b0e110832785634127856341278563412785634122104cb010e000c01070611010c0f0e0f0c030b010b0338090c1038102104c9010b1011094a78563412785634127856341278563412785634127856341278563412785634122104c7010e000c01070811010c110e110c030b010b0338090c1238112104c5010b121120070a2104c3010e000c01070911010c130e130c030b010b0338090c1438122104c1010b14110b070b11012104bf010e000c010a013813290104bb010b0138132b01100138020609000000000000002104b90102060900000000000000270b0101060100060000000000270608000000000000002706060001000000000027060700000000000000270606000100000000002706060000000000000027060600010000000000270605000000000000002706060001000000000027060400000000000000270606000100000000002706030000000000000027060600010000000000270602000000000000002706060001000000000027060100000000000000270606000100000000002706000000000000000027060600010000000000272101000012070b0011220c020e020b012d0102230100002ddd010e0041030c030a0306e8030000000000002504db010a030e0241022104d9010b030e0141032104d70138140c040e0041030600000000000000002103d4010d0045030c050e0511250680000000000000002504d2010d0245020c060d0145030c070a07070011012104880131000c080a080c090a060c0a0a0931002104410b0a1102010d040b050b060c0b0b080b0b1202380405130a0931012104490b0a11040105380a0931022104510b0a11050105380a0931032104590b0a11060105380a0931042104610b0a11070105380a0931052104690b0a11080105380a0931062104710b0a11090105380a0931072104790b0a110a0105380a09310821047e05380b093109210486010b0a110b010538060600010000000000270a07070111012104900131010c08052d0a07070211012104980131020c08052d0a07070311012104a00131030c08052d0a07070411012104a80131040c08052d0a07070511012104b00131050c08052d0a07070611012104b80131060c08052d0a07070711012104c00131070c08052d0a07070811012104c80131080c08052d0b07070911012104d00131090c08052d06070001000000000027060800010000000000270b041201020605000100000000002706040001000000000027060300010000000000272601000101020c0b000b0138150c02381621040a0b02110a02060600010000000000272701000101020c0b000b0138150c02380a21040a0b02110202060600010000000000272801000101020c0b000b0138150c02381121040a0b02112002060600010000000000272901000101020c0b000b0138150c02381221040a0b02110b02060600010000000000272a01000101020c0b000b0138150c02380f21040a0b02110802060600010000000000272b01000101020c0b000b0138150c02380c21040a0b02110502060600010000000000272c01000101020c0b000b0138150c02381021040a0b02110902060600010000000000272d01000101020c0b000b0138150c02380d21040a0b02110602060600010000000000272e01000101020c0b000b0138150c02380e21040a0b02110702060600010000000000272f01000101020c0b000b0138150c02380b21040a0b021104020606000100000000002730010001012f7b38070c030a030700110121042d31000c040b000c050b010c060b040c070e0238080c080a05100014290104270b051000142a010f010b0638000b070b0812020c090c0a0b090b0a15020b05010b0601060100060000000000270a030701110121043531010c0405090a030702110121043d31020c0405090a030703110121044531030c0405090a030704110121044d31040c0405090a030705110121045531050c0405090a030706110121045d31060c0405090a030707110121046531070c0405090a030708110121046d31080c0405090b030709110121047531090c0405090b00010b010106070001000000000027000001000200020100",
    "abi": {
      "address": "0x4",
      "name": "property_map",
      "friends": [],
      "exposed_functions": [
        {
          "name": "update",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::property_map::MutatorRef",
            "&0x1::string::String",
            "0x1::string::String",
            "vector<u8>"
          ],
          "return": []
        },
        {
          "name": "init",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ConstructorRef",
            "0x4::property_map::PropertyMap"
          ],
          "return": []
        },
        {
          "name": "length",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "remove",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::property_map::MutatorRef",
            "&0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "add",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::property_map::MutatorRef",
            "0x1::string::String",
            "0x1::string::String",
            "vector<u8>"
          ],
          "return": []
        },
        {
          "name": "burn",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x4::property_map::MutatorRef"
          ],
          "return": []
        },
        {
          "name": "read",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "0x1::string::String",
            "vector<u8>"
          ]
        },
        {
          "name": "contains_key",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "generate_mutator_ref",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ConstructorRef"
          ],
          "return": [
            "0x4::property_map::MutatorRef"
          ]
        },
        {
          "name": "add_typed",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "drop"
              ]
            }
          ],
          "params": [
            "&0x4::property_map::MutatorRef",
            "0x1::string::String",
            "T0"
          ],
          "return": []
        },
        {
          "name": "extend",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ExtendRef",
            "0x4::property_map::PropertyMap"
          ],
          "return": []
        },
        {
          "name": "prepare_input",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "vector<0x1::string::String>",
            "vector<0x1::string::String>",
            "vector<vector<u8>>"
          ],
          "return": [
            "0x4::property_map::PropertyMap"
          ]
        },
        {
          "name": "read_address",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "read_bool",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "read_bytes",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "vector<u8>"
          ]
        },
        {
          "name": "read_string",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "read_u128",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "u128"
          ]
        },
        {
          "name": "read_u16",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "u16"
          ]
        },
        {
          "name": "read_u256",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "u256"
          ]
        },
        {
          "name": "read_u32",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "u32"
          ]
        },
        {
          "name": "read_u64",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "read_u8",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "u8"
          ]
        },
        {
          "name": "update_typed",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "drop"
              ]
            }
          ],
          "params": [
            "&0x4::property_map::MutatorRef",
            "&0x1::string::String",
            "T0"
          ],
          "return": []
        }
      ],
      "structs": [
        {
          "name": "MutatorRef",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "self",
              "type": "address"
            }
          ]
        },
        {
          "name": "PropertyMap",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "inner",
              "type": "0x1::simple_map::SimpleMap<0x1::string::String, 0x4::property_map::PropertyValue>"
            }
          ]
        },
        {
          "name": "PropertyValue",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "type",
              "type": "u8"
            },
            {
              "name": "value",
              "type": "vector<u8>"
            }
          ]
        }
      ]
    }
  }
]