@artblocks/abx-sdk 0.1.0-alpha.7 → 0.1.0-alpha.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,22 +1,22 @@
1
1
  // AUTO-GENERATED by packages/sdk/scripts/sync-abis.ts — do not edit by hand.
2
2
  // Source: contracts/out (Foundry artifacts). Re-run `pnpm sync-abis` after `forge build`.
3
3
  /* eslint-disable */
4
- export const oneOfOneImageFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
5
- export const oneOfOneImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61407e80610b1c83390190565b608051610a8e61008e6000396000818160d40152818161013901528181610177015281816101a401526103330152610a8e6000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063592768811161005057806359276881146100bc5780635c60da1b146100cf5780635c857b3e146100f657600080fd5b806346f42d681461006c5780635414dff0146100a9575b600080fd5b61007f61007a366004610500565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610545565b610170565b61007f6100ca36600461055e565b61019d565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101196101043660046105bf565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b6000610134826101d9565b61015e7f00000000000000000000000000000000000000000000000000000000000000008361023e565b905061016a8184610253565b92915050565b600061016a7f000000000000000000000000000000000000000000000000000000000000000083306103af565b60006101c87f000000000000000000000000000000000000000000000000000000000000000061040c565b90506101d48183610253565b919050565b606081901c8015801590610203575073ffffffffffffffffffffffffffffffffffffffff81163314155b1561023a576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b600061024c60008484610419565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f2a5d76e6000000000000000000000000000000000000000000000000000000008152632a5d76e6906102db9084906004016107d9565b600060405180830381600087803b1580156102f557600080fd5b505af1158015610309573d6000803e3d6000fd5b5061031b9250505060208201826105bf565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103f68560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b9050610403818585610470565b95945050505050565b600061016a600083610492565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104645763301164256000526004601cfd5b60006021529392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104dc5763301164256000526004601cfd5b600060215292915050565b600061018082840312156104fa57600080fd5b50919050565b6000806040838503121561051357600080fd5b823567ffffffffffffffff81111561052a57600080fd5b610536858286016104e7565b95602094909401359450505050565b60006020828403121561055757600080fd5b5035919050565b60006020828403121561057057600080fd5b813567ffffffffffffffff81111561058757600080fd5b610593848285016104e7565b949350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d457600080fd5b6000602082840312156105d157600080fd5b61024c8261059b565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261060f57600080fd5b830160208101925035905067ffffffffffffffff81111561062f57600080fd5b80360382131561063e57600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff811681146101d457600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106d557600080fd5b830160208101925035905067ffffffffffffffff8111156106f557600080fd5b8060051b360382131561063e57600080fd5b60008383855260208501945060208460051b8201018360005b868110156107cd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261078157600080fd5b8601803584526020808201359085015261079e60408201826105da565b9150606060408601526107b5606086018383610645565b60209a8b019a90955093909301925050600101610720565b50909695505050505050565b60208152610807602082016107ed8461059b565b73ffffffffffffffffffffffffffffffffffffffff169052565b60006108156020840161059b565b73ffffffffffffffffffffffffffffffffffffffff811660408401525061083f60408401846105da565b61018060608501526108566101a085018284610645565b91505061086660608501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301608086015261089b838284610645565b925050506108ac60808501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160a08601526108e1838284610645565b925050506108f160a0850161059b565b73ffffffffffffffffffffffffffffffffffffffff811660c08501525061091b60c08501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160e0860152610950838284610645565b9250505061096060e0850161059b565b73ffffffffffffffffffffffffffffffffffffffff81166101008501525061098b610100850161059b565b73ffffffffffffffffffffffffffffffffffffffff8116610120850152506109b6610120850161068e565b61ffff8116610140850152506109d06101408501856106a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610160860152610a06838284610707565b92505050610a186101608501856106a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610180860152610a4e838284610707565b969550505050505056fea2646970667358221220d1f399c0e45b9ea634c6295ccba7f5a3c891f8bbf257443dfccf9d8a3f4aa16f64736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b613ff18061008d6000396000f3fe60806040526004361061034a5760003560e01c8063738e1496116101bb578063c3e617a2116100f7578063e8dc3e0911610095578063f04e283e1161006f578063f04e283e14610ab4578063f2fde38b14610ac7578063fee81cf414610ada578063ff87a5f514610b0d57600080fd5b8063e8dc3e0914610a19578063e985e9c514610a69578063ee748f2c14610a9f57600080fd5b8063da2bbfc7116100d1578063da2bbfc7146109af578063e1c2ffad146109cf578063e4df18ec146109e4578063e8a3d48514610a0457600080fd5b8063c3e617a214610925578063c87b56dd14610945578063d50bac331461096557600080fd5b8063a22cb46511610164578063ac9650d81161013e578063ac9650d814610883578063ac998f45146108a3578063b88d4fde146108f2578063bb77e7961461090557600080fd5b8063a22cb46514610823578063a482c94614610843578063a8cdf0781461086357600080fd5b8063913b385a11610195578063913b385a1461079457806395d89b41146107b4578063a148d8cf146107c957600080fd5b8063738e1496146106f15780638da5cb5b146107405780638e08141f1461077457600080fd5b80632e73cddb1161028a57806355828c50116102335780636352211e1161020d5780636352211e146106895780636a627842146106a957806370a08231146106c9578063715018a6146106e957600080fd5b806355828c50146105fc5780635a50ca651461062a5780635e5a9e301461067457600080fd5b80634331f639116102645780634331f639146105b15780634aa3adb3146105d157806354d1f13d146105f457600080fd5b80632e73cddb1461052f5780633dda44b01461057e57806342842e0e1461059e57600080fd5b806323b872dd116102f757806326dfe8c7116102d157806326dfe8c71461048e578063298bb40e146104ae5780632a55205a146104c35780632a5d76e61461050f57600080fd5b806323b872dd1461045e5780632569296214610471578063261220a31461047957600080fd5b8063095ea7b311610328578063095ea7b3146103eb5780631622326a1461040057806318160ddd1461042057600080fd5b806301ffc9a71461034f57806306fdde0314610384578063081812fc146103a6575b600080fd5b34801561035b57600080fd5b5061036f61036a36600461330f565b610b2d565b60405190151581526020015b60405180910390f35b34801561039057600080fd5b50610399610b6b565b60405161037b91906133bf565b3480156103b257600080fd5b506103c66103c13660046133d2565b610c1d565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b6103fe6103f936600461340f565b610c71565b005b34801561040c57600080fd5b506103fe61041b36600461347b565b610c80565b34801561042c57600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b60405190815260200161037b565b6103fe61046c3660046134c7565b610dad565b6103fe610ef8565b34801561048557600080fd5b50610399610f48565b34801561049a57600080fd5b506103fe6104a9366004613504565b610f70565b3480156104ba57600080fd5b506103996110a9565b3480156104cf57600080fd5b506104e36104de36600461351f565b6110d1565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161037b565b34801561051b57600080fd5b506103fe61052a366004613541565b611144565b34801561053b57600080fd5b5061036f61054a3660046133d2565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561058a57600080fd5b506103fe61059936600461351f565b6112f2565b6103fe6105ac3660046134c7565b611389565b3480156105bd57600080fd5b506103fe6105cc36600461358f565b6113b6565b3480156105dd57600080fd5b5060015b60405161ffff909116815260200161037b565b6103fe6113c8565b34801561060857600080fd5b5061061c6106173660046133d2565b611404565b60405161037b9291906135c2565b34801561063657600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166103c6565b34801561068057600080fd5b506103fe6114d4565b34801561069557600080fd5b506103c66106a43660046133d2565b611565565b3480156106b557600080fd5b506103fe6106c4366004613504565b6115c5565b3480156106d557600080fd5b506104506106e4366004613504565b6115db565b6103fe61162b565b3480156106fd57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661036f565b34801561074c57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546103c6565b34801561078057600080fd5b506103fe61078f3660046133d2565b61163f565b3480156107a057600080fd5b506103fe6107af3660046135db565b6116c7565b3480156107c057600080fd5b506103996116e1565b3480156107d557600080fd5b5061036f6107e436600461351f565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b34801561082f57600080fd5b506103fe61083e36600461362e565b611713565b34801561084f57600080fd5b506103fe61085e36600461366a565b611769565b34801561086f57600080fd5b506103fe61087e3660046136cb565b611785565b61089661089136600461370d565b61185e565b60405161037b9190613784565b3480156108af57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661036f565b6103fe610900366004613807565b61187d565b34801561091157600080fd5b506103996109203660046133d2565b6118d1565b34801561093157600080fd5b506103fe6109403660046136cb565b611992565b34801561095157600080fd5b506103996109603660046133d2565b611a3f565b34801561097157600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166103c6565b3480156109bb57600080fd5b506103fe6109ca3660046136cb565b611d4d565b3480156109db57600080fd5b506103fe611e8f565b3480156109f057600080fd5b5061061c6109ff36600461351f565b611f20565b348015610a1057600080fd5b50610399611ffe565b348015610a2557600080fd5b506105e1610a343660046133d2565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610a7557600080fd5b5061036f610a84366004613859565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610aab57600080fd5b50610399612227565b6103fe610ac2366004613504565b61224f565b6103fe610ad5366004613504565b61228c565b348015610ae657600080fd5b50610450610af5366004613504565b63389a75e1600c908152600091909152602090205490565b348015610b1957600080fd5b506103fe610b28366004613504565b6122b3565b6000610b388261241c565b80610b475750610b4782612453565b80610b565750610b56826124c9565b80610b655750610b6582612525565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610b9a90613883565b80601f0160208091040260200160405190810160405280929190818152602001828054610bc690613883565b8015610c135780601f10610be857610100808354040283529160200191610c13565b820191906000526020600020905b815481529060010190602001808311610bf657829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610c675763ceea21b66000526004601cfd5b6001015492915050565b610c7c338383612552565b5050565b610c88612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610d1e576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610d3983858361394c565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610d6c929190613aaf565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610e215767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610e4f576030600c2054610e4f57634b6e7f186000526004601cfd5b8215610e5d57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff81168402610ebe5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4610ef383838361263e565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610b8f565b610f78612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561100e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610b8f565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611105576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156111965760018160011c14303b1061118d5763f92ee8a96000526004601cfd5b818160ff1b1b91505b506111ac6111a76020840184613504565b612649565b6111d16111bc6080840184613ac3565b6111cc60c0860160a08701613504565b6126ad565b6111f36111e16040840184613ac3565b6111ee6060860186613ac3565b612725565b6111fb61276a565b61122761121061012084016101008501613504565b61122261014085016101208601613b28565b6127a0565b61124d600061123a610140850185613b43565b611248610160870187613b43565b6127cb565b61127361125d60c0840184613ac3565b61126e610100860160e08701613504565b612909565b60006112856040840160208501613504565b73ffffffffffffffffffffffffffffffffffffffff16146112ba576112ba6112b36040840160208501613504565b60006129a8565b8015610c7c576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b6112fa612608565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611394838383610dad565b813b15610ef357610ef383838360405180602001604052806000815250612a66565b6113be612608565b610c7c8282612aea565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061144a90613883565b80601f016020809104026020016040519081016040528092919081815260200182805461147690613883565b80156114c35780601f10611498576101008083540402835291602001916114c3565b820191906000526020600020905b8154815290600101906020018083116114a657829003601f168201915b505050505090509250925050915091565b6114dc612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806115c05763ceea21b66000526004601cfd5b919050565b6115cd612608565b6115d88160006129a8565b50565b6000816115f057638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b611633612608565b61163d6000612bdd565b565b611647612608565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6116cf612608565b6116db84848484612c43565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610b9a90613883565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611771612608565b61177e8585858585612d6f565b5050505050565b61178d612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611823576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061182f83858361394c565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6060341561186b57600080fd5b610b656118788484612eaf565b612f46565b611888858585610dad565b833b1561177e5761177e85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a6692505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061190d90613883565b80601f016020809104026020016040519081016040528092919081815260200182805461193990613883565b80156119865780601f1061195b57610100808354040283529160200191611986565b820191906000526020600020905b81548152906001019060200180831161196957829003601f168201915b50505050509050919050565b61199a612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a30576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810161182f83858361394c565b6060611a7e8260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611ab4576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611bd75760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611b8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611bd09190810190613bab565b9392505050565b600083815260028201602052604081208054611bf290613883565b80601f0160208091040260200160405190810160405280929190818152602001828054611c1e90613883565b8015611c6b5780601f10611c4057610100808354040283529160200191611c6b565b820191906000526020600020905b815481529060010190602001808311611c4e57829003601f168201915b505050505090508051600014611c82579392505050565b81548290611c8f90613883565b9050600003611caf57505060408051602081019091526000815292915050565b611d45826000018054611cc190613883565b80601f0160208091040260200160405190810160405280929190818152602001828054611ced90613883565b8015611d3a5780601f10611d0f57610100808354040283529160200191611d3a565b820191906000526020600020905b815481529060010190602001808311611d1d57829003601f168201915b505050505085612f57565b949350505050565b611d55612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611deb576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611df783858361394c565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051611e29929190613aaf565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b611e97612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450060209081526040808320848452909152812080546001820180546060939291908190611f7190613883565b80601f0160208091040260200160405190810160405280929190818152602001828054611f9d90613883565b8015611fea5780601f10611fbf57610100808354040283529160200191611fea565b820191906000526020600020905b815481529060010190602001808311611fcd57829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff161561211a5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156120ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526121149190810190613bab565b91505090565b80600101805461212990613883565b1590506121c35780600101805461213f90613883565b80601f016020809104026020016040519081016040528092919081815260200182805461216b90613883565b80156121b85780601f1061218d576101008083540402835291602001916121b8565b820191906000526020600020905b81548152906001019060200180831161219b57829003601f168201915b505050505091505090565b805481906121d090613883565b90506000036121ed57505060408051602081019091526000815290565b806121f746612f9f565b61220030613001565b60405160200161221293929190613cb9565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611705565b612257612608565b63389a75e1600c52806000526020600c20805442111561227f57636f5e88186000526004601cfd5b600090556115d881612bdd565b612294612608565b8060601b6122aa57637448fbae6000526004601cfd5b6115d881612bdd565b6122bb612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612351576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050565b600061242782613043565b80610b655750610b65826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b600061247b826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610b655750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b60006124d482613043565b80610b6557507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b600061253082613043565b80610b655750632a55205a60e083901c9081146301ffc9a79190911417610b65565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816125ae5763ceea21b66000526004601cfd5b8185148515176125d457816000526030600c20546125d457634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461163d576382b429006000526004601cfd5b610ef38383836130db565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200806126da84868361394c565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e008061275285878361394c565b506001810161276283858361394c565b505050505050565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6113be7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001613178565b6127d3613207565b60005b8381101561286e57612866868686848181106127f4576127f4613dbe565b90506020028101906128069190613ded565b3587878581811061281957612819613dbe565b905060200281019061282b9190613ded565b6020013588888681811061284157612841613dbe565b90506020028101906128539190613ded565b612861906040810190613ac3565b612d6f565b6001016127d6565b5060005b818110156127625761290183838381811061288f5761288f613dbe565b90506020028101906128a19190613ded565b358484848181106128b4576128b4613dbe565b90506020028101906128c69190613ded565b602001358585858181106128dc576128dc613dbe565b90506020028101906128ee9190613ded565b6128fc906040810190613ac3565b612c43565b600101612872565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7008061293684868361394c565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156129fb5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612a305767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610c7c6000838361263e565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612aad578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612ad0573d15612ad0573d6000843e3d83fd5b508060e01b8251146127625763d1a57ed66000526004601cfd5b6103e861ffff82161115612b2a576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612b8357612b48600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612b91828261ffff16613232565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612b77565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612ccd576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612d08576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101612d2a84868361394c565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051612d5f93929190613e2b565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612e04576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612e3f576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101612e6884868361394c565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051612e9e93929190613e2b565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b808684378201808515612f2e575b835187018035602082018337600038823584305af4612ef9573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410612ed7575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082612f6346612f9f565b612f6c30613001565b612f7585612f9f565b604051602001612f889493929190613e45565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480612fba5750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061300c82613282565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610b6557507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73ffffffffffffffffffffffffffffffffffffffff831661312e577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061312590613f4e565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216610ef3577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061312590613f86565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612b77565b61163d7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613178565b6bffffffffffffffffffffffff16612710808211156132595763350a88b36000526004601cfd5b8260601b806132705763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed016132c2575050919050565b60006020828403121561332157600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bd057600080fd5b60005b8381101561336c578181015183820152602001613354565b50506000910152565b6000815180845261338d816020860160208601613351565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bd06020830184613375565b6000602082840312156133e457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146115c057600080fd5b6000806040838503121561342257600080fd5b61342b836133eb565b946020939093013593505050565b60008083601f84011261344b57600080fd5b50813567ffffffffffffffff81111561346357600080fd5b602083019150836020828501011115611ff757600080fd5b60008060006040848603121561349057600080fd5b83359250602084013567ffffffffffffffff8111156134ae57600080fd5b6134ba86828701613439565b9497909650939450505050565b6000806000606084860312156134dc57600080fd5b6134e5846133eb565b92506134f3602085016133eb565b929592945050506040919091013590565b60006020828403121561351657600080fd5b611bd0826133eb565b6000806040838503121561353257600080fd5b50508035926020909101359150565b60006020828403121561355357600080fd5b813567ffffffffffffffff81111561356a57600080fd5b82016101808185031215611bd057600080fd5b803561ffff811681146115c057600080fd5b600080604083850312156135a257600080fd5b6135ab836133eb565b91506135b96020840161357d565b90509250929050565b828152604060208201526000611d456040830184613375565b600080600080606085870312156135f157600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561361657600080fd5b61362287828801613439565b95989497509550505050565b6000806040838503121561364157600080fd5b61364a836133eb565b91506020830135801515811461365f57600080fd5b809150509250929050565b60008060008060006080868803121561368257600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8111156136ae57600080fd5b6136ba88828901613439565b969995985093965092949392505050565b600080602083850312156136de57600080fd5b823567ffffffffffffffff8111156136f557600080fd5b61370185828601613439565b90969095509350505050565b6000806020838503121561372057600080fd5b823567ffffffffffffffff81111561373757600080fd5b8301601f8101851361374857600080fd5b803567ffffffffffffffff81111561375f57600080fd5b8560208260051b840101111561377457600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156137fb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526137e6858351613375565b945060209384019391909101906001016137ac565b50929695505050505050565b60008060008060006080868803121561381f57600080fd5b613828866133eb565b9450613836602087016133eb565b935060408601359250606086013567ffffffffffffffff8111156136ae57600080fd5b6000806040838503121561386c57600080fd5b613875836133eb565b91506135b9602084016133eb565b600181811c9082168061389757607f821691505b6020821081036138d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610ef357806000526020600020601f840160051c8101602085101561392c5750805b601f840160051c820191505b8181101561177e5760008155600101613938565b67ffffffffffffffff831115613964576139646138d6565b613978836139728354613883565b83613905565b6000601f8411600181146139ca57600085156139945750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561177e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613a1957868501358255602094850194600190920191016139f9565b5086821015613a54577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000611d45602083018486613a66565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613af857600080fd5b83018035915067ffffffffffffffff821115613b1357600080fd5b602001915036819003821315611ff757600080fd5b600060208284031215613b3a57600080fd5b611bd08261357d565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613b7857600080fd5b83018035915067ffffffffffffffff821115613b9357600080fd5b6020019150600581901b3603821315611ff757600080fd5b600060208284031215613bbd57600080fd5b815167ffffffffffffffff811115613bd457600080fd5b8201601f81018413613be557600080fd5b805167ffffffffffffffff811115613bff57613bff6138d6565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715613c6b57613c6b6138d6565b604052818152828201602001861015613c8357600080fd5b613c94826020830160208601613351565b95945050505050565b60008151613caf818560208601613351565b9290920192915050565b6000808554613cc781613883565b600182168015613cde5760018114613d1157613d41565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350613d41565b88600052602060002060005b83811015613d3957815488820152600190910190602001613d1d565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451613d7a816001840160208901613351565b01613da7600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b613db46002820185613c9d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613e2157600080fd5b9190910192915050565b838152604060208201526000613c94604083018486613a66565b60008551613e57818460208a01613351565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551613e91816001840160208a01613351565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451613ecf816002840160208901613351565b6001818301019150507f2f0000000000000000000000000000000000000000000000000000000000000060018201528351613f11816002840160208801613351565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613f7f57613f7f613f1f565b5060010190565b600081613f9557613f95613f1f565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220c7171b7b833108b4d77393a67cc85e9583e373382b2c67bda29ea4647a2c2f1264736f6c634300081c0033";
6
- export const oneOfOneImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
7
- export const oneOfOneImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b613ff18061008d6000396000f3fe60806040526004361061034a5760003560e01c8063738e1496116101bb578063c3e617a2116100f7578063e8dc3e0911610095578063f04e283e1161006f578063f04e283e14610ab4578063f2fde38b14610ac7578063fee81cf414610ada578063ff87a5f514610b0d57600080fd5b8063e8dc3e0914610a19578063e985e9c514610a69578063ee748f2c14610a9f57600080fd5b8063da2bbfc7116100d1578063da2bbfc7146109af578063e1c2ffad146109cf578063e4df18ec146109e4578063e8a3d48514610a0457600080fd5b8063c3e617a214610925578063c87b56dd14610945578063d50bac331461096557600080fd5b8063a22cb46511610164578063ac9650d81161013e578063ac9650d814610883578063ac998f45146108a3578063b88d4fde146108f2578063bb77e7961461090557600080fd5b8063a22cb46514610823578063a482c94614610843578063a8cdf0781461086357600080fd5b8063913b385a11610195578063913b385a1461079457806395d89b41146107b4578063a148d8cf146107c957600080fd5b8063738e1496146106f15780638da5cb5b146107405780638e08141f1461077457600080fd5b80632e73cddb1161028a57806355828c50116102335780636352211e1161020d5780636352211e146106895780636a627842146106a957806370a08231146106c9578063715018a6146106e957600080fd5b806355828c50146105fc5780635a50ca651461062a5780635e5a9e301461067457600080fd5b80634331f639116102645780634331f639146105b15780634aa3adb3146105d157806354d1f13d146105f457600080fd5b80632e73cddb1461052f5780633dda44b01461057e57806342842e0e1461059e57600080fd5b806323b872dd116102f757806326dfe8c7116102d157806326dfe8c71461048e578063298bb40e146104ae5780632a55205a146104c35780632a5d76e61461050f57600080fd5b806323b872dd1461045e5780632569296214610471578063261220a31461047957600080fd5b8063095ea7b311610328578063095ea7b3146103eb5780631622326a1461040057806318160ddd1461042057600080fd5b806301ffc9a71461034f57806306fdde0314610384578063081812fc146103a6575b600080fd5b34801561035b57600080fd5b5061036f61036a36600461330f565b610b2d565b60405190151581526020015b60405180910390f35b34801561039057600080fd5b50610399610b6b565b60405161037b91906133bf565b3480156103b257600080fd5b506103c66103c13660046133d2565b610c1d565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b6103fe6103f936600461340f565b610c71565b005b34801561040c57600080fd5b506103fe61041b36600461347b565b610c80565b34801561042c57600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b60405190815260200161037b565b6103fe61046c3660046134c7565b610dad565b6103fe610ef8565b34801561048557600080fd5b50610399610f48565b34801561049a57600080fd5b506103fe6104a9366004613504565b610f70565b3480156104ba57600080fd5b506103996110a9565b3480156104cf57600080fd5b506104e36104de36600461351f565b6110d1565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161037b565b34801561051b57600080fd5b506103fe61052a366004613541565b611144565b34801561053b57600080fd5b5061036f61054a3660046133d2565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561058a57600080fd5b506103fe61059936600461351f565b6112f2565b6103fe6105ac3660046134c7565b611389565b3480156105bd57600080fd5b506103fe6105cc36600461358f565b6113b6565b3480156105dd57600080fd5b5060015b60405161ffff909116815260200161037b565b6103fe6113c8565b34801561060857600080fd5b5061061c6106173660046133d2565b611404565b60405161037b9291906135c2565b34801561063657600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166103c6565b34801561068057600080fd5b506103fe6114d4565b34801561069557600080fd5b506103c66106a43660046133d2565b611565565b3480156106b557600080fd5b506103fe6106c4366004613504565b6115c5565b3480156106d557600080fd5b506104506106e4366004613504565b6115db565b6103fe61162b565b3480156106fd57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661036f565b34801561074c57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546103c6565b34801561078057600080fd5b506103fe61078f3660046133d2565b61163f565b3480156107a057600080fd5b506103fe6107af3660046135db565b6116c7565b3480156107c057600080fd5b506103996116e1565b3480156107d557600080fd5b5061036f6107e436600461351f565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b34801561082f57600080fd5b506103fe61083e36600461362e565b611713565b34801561084f57600080fd5b506103fe61085e36600461366a565b611769565b34801561086f57600080fd5b506103fe61087e3660046136cb565b611785565b61089661089136600461370d565b61185e565b60405161037b9190613784565b3480156108af57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661036f565b6103fe610900366004613807565b61187d565b34801561091157600080fd5b506103996109203660046133d2565b6118d1565b34801561093157600080fd5b506103fe6109403660046136cb565b611992565b34801561095157600080fd5b506103996109603660046133d2565b611a3f565b34801561097157600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166103c6565b3480156109bb57600080fd5b506103fe6109ca3660046136cb565b611d4d565b3480156109db57600080fd5b506103fe611e8f565b3480156109f057600080fd5b5061061c6109ff36600461351f565b611f20565b348015610a1057600080fd5b50610399611ffe565b348015610a2557600080fd5b506105e1610a343660046133d2565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610a7557600080fd5b5061036f610a84366004613859565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610aab57600080fd5b50610399612227565b6103fe610ac2366004613504565b61224f565b6103fe610ad5366004613504565b61228c565b348015610ae657600080fd5b50610450610af5366004613504565b63389a75e1600c908152600091909152602090205490565b348015610b1957600080fd5b506103fe610b28366004613504565b6122b3565b6000610b388261241c565b80610b475750610b4782612453565b80610b565750610b56826124c9565b80610b655750610b6582612525565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610b9a90613883565b80601f0160208091040260200160405190810160405280929190818152602001828054610bc690613883565b8015610c135780601f10610be857610100808354040283529160200191610c13565b820191906000526020600020905b815481529060010190602001808311610bf657829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610c675763ceea21b66000526004601cfd5b6001015492915050565b610c7c338383612552565b5050565b610c88612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610d1e576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610d3983858361394c565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610d6c929190613aaf565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610e215767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610e4f576030600c2054610e4f57634b6e7f186000526004601cfd5b8215610e5d57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff81168402610ebe5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4610ef383838361263e565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610b8f565b610f78612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561100e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610b8f565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611105576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156111965760018160011c14303b1061118d5763f92ee8a96000526004601cfd5b818160ff1b1b91505b506111ac6111a76020840184613504565b612649565b6111d16111bc6080840184613ac3565b6111cc60c0860160a08701613504565b6126ad565b6111f36111e16040840184613ac3565b6111ee6060860186613ac3565b612725565b6111fb61276a565b61122761121061012084016101008501613504565b61122261014085016101208601613b28565b6127a0565b61124d600061123a610140850185613b43565b611248610160870187613b43565b6127cb565b61127361125d60c0840184613ac3565b61126e610100860160e08701613504565b612909565b60006112856040840160208501613504565b73ffffffffffffffffffffffffffffffffffffffff16146112ba576112ba6112b36040840160208501613504565b60006129a8565b8015610c7c576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b6112fa612608565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611394838383610dad565b813b15610ef357610ef383838360405180602001604052806000815250612a66565b6113be612608565b610c7c8282612aea565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061144a90613883565b80601f016020809104026020016040519081016040528092919081815260200182805461147690613883565b80156114c35780601f10611498576101008083540402835291602001916114c3565b820191906000526020600020905b8154815290600101906020018083116114a657829003601f168201915b505050505090509250925050915091565b6114dc612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806115c05763ceea21b66000526004601cfd5b919050565b6115cd612608565b6115d88160006129a8565b50565b6000816115f057638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b611633612608565b61163d6000612bdd565b565b611647612608565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6116cf612608565b6116db84848484612c43565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610b9a90613883565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611771612608565b61177e8585858585612d6f565b5050505050565b61178d612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611823576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061182f83858361394c565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6060341561186b57600080fd5b610b656118788484612eaf565b612f46565b611888858585610dad565b833b1561177e5761177e85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a6692505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061190d90613883565b80601f016020809104026020016040519081016040528092919081815260200182805461193990613883565b80156119865780601f1061195b57610100808354040283529160200191611986565b820191906000526020600020905b81548152906001019060200180831161196957829003601f168201915b50505050509050919050565b61199a612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a30576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810161182f83858361394c565b6060611a7e8260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611ab4576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611bd75760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611b8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611bd09190810190613bab565b9392505050565b600083815260028201602052604081208054611bf290613883565b80601f0160208091040260200160405190810160405280929190818152602001828054611c1e90613883565b8015611c6b5780601f10611c4057610100808354040283529160200191611c6b565b820191906000526020600020905b815481529060010190602001808311611c4e57829003601f168201915b505050505090508051600014611c82579392505050565b81548290611c8f90613883565b9050600003611caf57505060408051602081019091526000815292915050565b611d45826000018054611cc190613883565b80601f0160208091040260200160405190810160405280929190818152602001828054611ced90613883565b8015611d3a5780601f10611d0f57610100808354040283529160200191611d3a565b820191906000526020600020905b815481529060010190602001808311611d1d57829003601f168201915b505050505085612f57565b949350505050565b611d55612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611deb576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611df783858361394c565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051611e29929190613aaf565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b611e97612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450060209081526040808320848452909152812080546001820180546060939291908190611f7190613883565b80601f0160208091040260200160405190810160405280929190818152602001828054611f9d90613883565b8015611fea5780601f10611fbf57610100808354040283529160200191611fea565b820191906000526020600020905b815481529060010190602001808311611fcd57829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff161561211a5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156120ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526121149190810190613bab565b91505090565b80600101805461212990613883565b1590506121c35780600101805461213f90613883565b80601f016020809104026020016040519081016040528092919081815260200182805461216b90613883565b80156121b85780601f1061218d576101008083540402835291602001916121b8565b820191906000526020600020905b81548152906001019060200180831161219b57829003601f168201915b505050505091505090565b805481906121d090613883565b90506000036121ed57505060408051602081019091526000815290565b806121f746612f9f565b61220030613001565b60405160200161221293929190613cb9565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611705565b612257612608565b63389a75e1600c52806000526020600c20805442111561227f57636f5e88186000526004601cfd5b600090556115d881612bdd565b612294612608565b8060601b6122aa57637448fbae6000526004601cfd5b6115d881612bdd565b6122bb612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612351576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050565b600061242782613043565b80610b655750610b65826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b600061247b826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610b655750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b60006124d482613043565b80610b6557507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b600061253082613043565b80610b655750632a55205a60e083901c9081146301ffc9a79190911417610b65565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816125ae5763ceea21b66000526004601cfd5b8185148515176125d457816000526030600c20546125d457634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461163d576382b429006000526004601cfd5b610ef38383836130db565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200806126da84868361394c565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e008061275285878361394c565b506001810161276283858361394c565b505050505050565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6113be7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001613178565b6127d3613207565b60005b8381101561286e57612866868686848181106127f4576127f4613dbe565b90506020028101906128069190613ded565b3587878581811061281957612819613dbe565b905060200281019061282b9190613ded565b6020013588888681811061284157612841613dbe565b90506020028101906128539190613ded565b612861906040810190613ac3565b612d6f565b6001016127d6565b5060005b818110156127625761290183838381811061288f5761288f613dbe565b90506020028101906128a19190613ded565b358484848181106128b4576128b4613dbe565b90506020028101906128c69190613ded565b602001358585858181106128dc576128dc613dbe565b90506020028101906128ee9190613ded565b6128fc906040810190613ac3565b612c43565b600101612872565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7008061293684868361394c565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156129fb5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612a305767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610c7c6000838361263e565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612aad578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612ad0573d15612ad0573d6000843e3d83fd5b508060e01b8251146127625763d1a57ed66000526004601cfd5b6103e861ffff82161115612b2a576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612b8357612b48600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612b91828261ffff16613232565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612b77565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612ccd576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612d08576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101612d2a84868361394c565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051612d5f93929190613e2b565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612e04576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612e3f576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101612e6884868361394c565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051612e9e93929190613e2b565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b808684378201808515612f2e575b835187018035602082018337600038823584305af4612ef9573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410612ed7575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082612f6346612f9f565b612f6c30613001565b612f7585612f9f565b604051602001612f889493929190613e45565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480612fba5750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061300c82613282565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610b6557507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73ffffffffffffffffffffffffffffffffffffffff831661312e577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061312590613f4e565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216610ef3577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061312590613f86565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612b77565b61163d7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613178565b6bffffffffffffffffffffffff16612710808211156132595763350a88b36000526004601cfd5b8260601b806132705763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed016132c2575050919050565b60006020828403121561332157600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bd057600080fd5b60005b8381101561336c578181015183820152602001613354565b50506000910152565b6000815180845261338d816020860160208601613351565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bd06020830184613375565b6000602082840312156133e457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146115c057600080fd5b6000806040838503121561342257600080fd5b61342b836133eb565b946020939093013593505050565b60008083601f84011261344b57600080fd5b50813567ffffffffffffffff81111561346357600080fd5b602083019150836020828501011115611ff757600080fd5b60008060006040848603121561349057600080fd5b83359250602084013567ffffffffffffffff8111156134ae57600080fd5b6134ba86828701613439565b9497909650939450505050565b6000806000606084860312156134dc57600080fd5b6134e5846133eb565b92506134f3602085016133eb565b929592945050506040919091013590565b60006020828403121561351657600080fd5b611bd0826133eb565b6000806040838503121561353257600080fd5b50508035926020909101359150565b60006020828403121561355357600080fd5b813567ffffffffffffffff81111561356a57600080fd5b82016101808185031215611bd057600080fd5b803561ffff811681146115c057600080fd5b600080604083850312156135a257600080fd5b6135ab836133eb565b91506135b96020840161357d565b90509250929050565b828152604060208201526000611d456040830184613375565b600080600080606085870312156135f157600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561361657600080fd5b61362287828801613439565b95989497509550505050565b6000806040838503121561364157600080fd5b61364a836133eb565b91506020830135801515811461365f57600080fd5b809150509250929050565b60008060008060006080868803121561368257600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8111156136ae57600080fd5b6136ba88828901613439565b969995985093965092949392505050565b600080602083850312156136de57600080fd5b823567ffffffffffffffff8111156136f557600080fd5b61370185828601613439565b90969095509350505050565b6000806020838503121561372057600080fd5b823567ffffffffffffffff81111561373757600080fd5b8301601f8101851361374857600080fd5b803567ffffffffffffffff81111561375f57600080fd5b8560208260051b840101111561377457600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156137fb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526137e6858351613375565b945060209384019391909101906001016137ac565b50929695505050505050565b60008060008060006080868803121561381f57600080fd5b613828866133eb565b9450613836602087016133eb565b935060408601359250606086013567ffffffffffffffff8111156136ae57600080fd5b6000806040838503121561386c57600080fd5b613875836133eb565b91506135b9602084016133eb565b600181811c9082168061389757607f821691505b6020821081036138d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610ef357806000526020600020601f840160051c8101602085101561392c5750805b601f840160051c820191505b8181101561177e5760008155600101613938565b67ffffffffffffffff831115613964576139646138d6565b613978836139728354613883565b83613905565b6000601f8411600181146139ca57600085156139945750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561177e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613a1957868501358255602094850194600190920191016139f9565b5086821015613a54577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000611d45602083018486613a66565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613af857600080fd5b83018035915067ffffffffffffffff821115613b1357600080fd5b602001915036819003821315611ff757600080fd5b600060208284031215613b3a57600080fd5b611bd08261357d565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613b7857600080fd5b83018035915067ffffffffffffffff821115613b9357600080fd5b6020019150600581901b3603821315611ff757600080fd5b600060208284031215613bbd57600080fd5b815167ffffffffffffffff811115613bd457600080fd5b8201601f81018413613be557600080fd5b805167ffffffffffffffff811115613bff57613bff6138d6565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715613c6b57613c6b6138d6565b604052818152828201602001861015613c8357600080fd5b613c94826020830160208601613351565b95945050505050565b60008151613caf818560208601613351565b9290920192915050565b6000808554613cc781613883565b600182168015613cde5760018114613d1157613d41565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350613d41565b88600052602060002060005b83811015613d3957815488820152600190910190602001613d1d565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451613d7a816001840160208901613351565b01613da7600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b613db46002820185613c9d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613e2157600080fd5b9190910192915050565b838152604060208201526000613c94604083018486613a66565b60008551613e57818460208a01613351565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551613e91816001840160208a01613351565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451613ecf816002840160208901613351565b6001818301019150507f2f0000000000000000000000000000000000000000000000000000000000000060018201528351613f11816002840160208801613351565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613f7f57613f7f613f1f565b5060010190565b600081613f9557613f95613f1f565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220c7171b7b833108b4d77393a67cc85e9583e373382b2c67bda29ea4647a2c2f1264736f6c634300081c0033";
8
- export const seriesImageFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
9
- export const seriesImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b614cda80610c8583390190565b608051610bf761008e6000396000818160ae0152818161013001528181610163015281816101a801526103230152610bf76000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c857b3e116100505780635c857b3e146100d05780639d67208814610103578063badf4e941461011657600080fd5b80635414dff01461006c5780635c60da1b146100a9575b600080fd5b61007f61007a3660046104e7565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6100f36100de366004610524565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f610111366004610558565b61015c565b61007f610124366004610595565b610198565b60006101567f000000000000000000000000000000000000000000000000000000000000000083306101d9565b92915050565b60006101877f0000000000000000000000000000000000000000000000000000000000000000610236565b90506101938183610243565b919050565b60006101a38261039f565b6101cd7f000000000000000000000000000000000000000000000000000000000000000083610404565b90506101568184610243565b6000806102208560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061022d818585610419565b95945050505050565b600061015660008361043b565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f8026b389000000000000000000000000000000000000000000000000000000008152638026b389906102cb9084906004016108b9565b600060405180830381600087803b1580156102e557600080fd5b505af11580156102f9573d6000803e3d6000fd5b5061030b925050506020820182610524565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b606081901c80158015906103c9575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610400576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b600061041260008484610490565b9392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104855763301164256000526004601cfd5b600060215292915050565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104db5763301164256000526004601cfd5b60006021529392505050565b6000602082840312156104f957600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461019357600080fd5b60006020828403121561053657600080fd5b61041282610500565b6000610220828403121561055257600080fd5b50919050565b60006020828403121561056a57600080fd5b813567ffffffffffffffff81111561058157600080fd5b61058d8482850161053f565b949350505050565b600080604083850312156105a857600080fd5b823567ffffffffffffffff8111156105bf57600080fd5b6105cb8582860161053f565b95602094909401359450505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261060f57600080fd5b830160208101925035905067ffffffffffffffff81111561062f57600080fd5b80360382131561063e57600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461019357600080fd5b8035801515811461019357600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106e557600080fd5b830160208101925035905067ffffffffffffffff81111561070557600080fd5b8060051b360382131561063e57600080fd5b60008383855260208501945060208460051b8201018360005b868110156107e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8187360301811261079157600080fd5b86018035845260208082013590850152604080820135908501526107b860608201826105da565b9150608060608601526107cf608086018383610645565b60209a8b019a90955093909301925050600101610730565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b868110156107e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261086d57600080fd5b8601803584526020808201359085015261088a60408201826105da565b9150606060408601526108a1606086018383610645565b60209a8b019a9095509390930192505060010161080c565b602081526108e7602082016108cd84610500565b73ffffffffffffffffffffffffffffffffffffffff169052565b60006108f660208401846105da565b610220604085015261090d61024085018284610645565b91505061091d60408501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016060860152610952838284610645565b9250505061096360608501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016080860152610998838284610645565b925050506109a860808501610500565b73ffffffffffffffffffffffffffffffffffffffff811660a0850152506109d260a08501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c0860152610a07838284610645565b92505050610a1760c08501610500565b73ffffffffffffffffffffffffffffffffffffffff811660e085015250610a4060e08501610500565b73ffffffffffffffffffffffffffffffffffffffff811661010085015250610a6b610100850161068e565b61ffff81166101208501525061012084013561014084810191909152610a92908501610500565b73ffffffffffffffffffffffffffffffffffffffff811661016085015250610abd6101608501610500565b73ffffffffffffffffffffffffffffffffffffffff811661018085015250610ae861018085016106a0565b8015156101a085015250610aff6101a08501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101c0850152506101c08401356101e084810191909152610b39908501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610200860152610b6f838284610717565b92505050610b816102008501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610220860152610bb78382846107f3565b969550505050505056fea264697066735822122020b81864866401c7fdc07c92a1e07354e0c7b916b6deb2b6da84e83264d1f7d564736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b614c4d8061008d6000396000f3fe6080604052600436106103b85760003560e01c806375794a3c116101f2578063c87b56dd1161010d578063e8dc3e09116100a0578063f2fde38b1161006f578063f2fde38b14610c25578063fca3b5aa14610c38578063fee81cf414610c58578063ff87a5f514610c8b57600080fd5b8063e8dc3e0914610b77578063e985e9c514610bc7578063ee748f2c14610bfd578063f04e283e14610c1257600080fd5b8063e1c2ffad116100dc578063e1c2ffad14610b0d578063e2969ba714610b22578063e4df18ec14610b42578063e8a3d48514610b6257600080fd5b8063c87b56dd14610a6e578063d50bac3314610a8e578063d8b4f8ac14610ad8578063da2bbfc714610aed57600080fd5b8063a22cb46511610185578063ac998f4511610154578063ac998f45146109cc578063b88d4fde14610a1b578063bb77e79614610a2e578063c3e617a214610a4e57600080fd5b8063a22cb4651461094c578063a482c9461461096c578063a8cdf0781461098c578063ac9650d8146109ac57600080fd5b8063913b385a116101c1578063913b385a1461089d57806395d89b41146108bd57806397e950f7146108d2578063a148d8cf146108f257600080fd5b806375794a3c146108145780638026b389146108295780638da5cb5b146108495780638e08141f1461087d57600080fd5b80633dda44b0116102e25780635e5a9e30116102755780636cbdef61116102445780636cbdef611461078857806370a082311461079d578063715018a6146107bd578063738e1496146107c557600080fd5b80635e5a9e30146107135780635e830656146107285780636352211e146107485780636a6278421461076857600080fd5b806354d1f13d116102b157806354d1f13d1461065c57806355828c50146106645780635a50ca65146106925780635c975abb146106dc57600080fd5b80633dda44b0146105e657806342842e0e146106065780634331f639146106195780634aa3adb31461063957600080fd5b806318160ddd1161035a57806326dfe8c71161032957806326dfe8c714610516578063298bb40e146105365780632a55205a1461054b5780632e73cddb1461059757600080fd5b806318160ddd146104c357806323b872dd146104e657806325692962146104f9578063261220a31461050157600080fd5b8063081812fc11610396578063081812fc1461044e578063095ea7b31461046e5780631622326a1461048357806316c38b3c146104a357600080fd5b806301ffc9a7146103bd57806306fdde03146103f25780630754617214610414575b600080fd5b3480156103c957600080fd5b506103dd6103d8366004613f1e565b610cab565b60405190151581526020015b60405180910390f35b3480156103fe57600080fd5b50610407610d71565b6040516103e99190613fce565b34801561042057600080fd5b50610429610e23565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103e9565b34801561045a57600080fd5b50610429610469366004613fe1565b610e63565b61048161047c36600461401e565b610eb7565b005b34801561048f57600080fd5b5061048161049e36600461408a565b610ec6565b3480156104af57600080fd5b506104816104be3660046140e6565b610ff3565b3480156104cf57600080fd5b506104d8611080565b6040519081526020016103e9565b6104816104f4366004614101565b6110aa565b6104816111f5565b34801561050d57600080fd5b50610407611245565b34801561052257600080fd5b5061048161053136600461413e565b61126d565b34801561054257600080fd5b506104076113a6565b34801561055757600080fd5b5061056b610566366004614159565b6113ce565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016103e9565b3480156105a357600080fd5b506103dd6105b2366004613fe1565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156105f257600080fd5b50610481610601366004614159565b611441565b610481610614366004614101565b6114d8565b34801561062557600080fd5b5061048161063436600461418d565b611505565b34801561064557600080fd5b5060015b60405161ffff90911681526020016103e9565b610481611517565b34801561067057600080fd5b5061068461067f366004613fe1565b611553565b6040516103e99291906141c0565b34801561069e57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610429565b3480156106e857600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff166103dd565b34801561071f57600080fd5b50610481611623565b34801561073457600080fd5b5061048161074336600461401e565b6116b4565b34801561075457600080fd5b50610429610763366004613fe1565b6116d9565b34801561077457600080fd5b506104d861078336600461413e565b611739565b34801561079457600080fd5b506104d861174c565b3480156107a957600080fd5b506104d86107b836600461413e565b611774565b6104816117c4565b3480156107d157600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166103dd565b34801561082057600080fd5b506104d86117d8565b34801561083557600080fd5b506104816108443660046141d9565b611800565b34801561085557600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610429565b34801561088957600080fd5b50610481610898366004613fe1565b611aa6565b3480156108a957600080fd5b506104816108b8366004614215565b611b2e565b3480156108c957600080fd5b50610407611b48565b3480156108de57600080fd5b506104816108ed366004613fe1565b611b7a565b3480156108fe57600080fd5b506103dd61090d366004614159565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b34801561095857600080fd5b50610481610967366004614268565b611c5a565b34801561097857600080fd5b50610481610987366004614292565b611cb0565b34801561099857600080fd5b506104816109a73660046142f3565b611ccc565b6109bf6109ba366004614335565b611da5565b6040516103e991906143ac565b3480156109d857600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166103dd565b610481610a2936600461442f565b611dc4565b348015610a3a57600080fd5b50610407610a49366004613fe1565b611e18565b348015610a5a57600080fd5b50610481610a693660046142f3565b611ed9565b348015610a7a57600080fd5b50610407610a89366004613fe1565b611f86565b348015610a9a57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610429565b348015610ae457600080fd5b50610429612294565b348015610af957600080fd5b50610481610b083660046142f3565b6122bc565b348015610b1957600080fd5b506104816123fe565b348015610b2e57600080fd5b50610481610b3d36600461413e565b61248f565b348015610b4e57600080fd5b50610684610b5d366004614159565b612529565b348015610b6e57600080fd5b50610407612607565b348015610b8357600080fd5b50610649610b92366004613fe1565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610bd357600080fd5b506103dd610be2366004614481565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610c0957600080fd5b50610407612830565b610481610c2036600461413e565b612858565b610481610c3336600461413e565b612898565b348015610c4457600080fd5b50610481610c5336600461413e565b6128bf565b348015610c6457600080fd5b506104d8610c7336600461413e565b63389a75e1600c908152600091909152602090205490565b348015610c9757600080fd5b50610481610ca636600461413e565b612959565b6000610cb682612abb565b80610cc55750610cc582612af2565b80610cd45750610cd482612b68565b80610ce35750610ce382612bc4565b80610cf25750610cf282612bf1565b80610d015750610d0182612c4d565b80610d105750610d1082612ca9565b80610d1f5750610d1f82612d05565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610da0906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610dcc906144ab565b8015610e195780601f10610dee57610100808354040283529160200191610e19565b820191906000526020600020905b815481529060010190602001808311610dfc57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610ead5763ceea21b66000526004601cfd5b6001015492915050565b610ec2338383612d61565b5050565b610ece612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610f64576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610f7f838583614574565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610fb29291906146d7565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610ffb612e17565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff948516949384169381169190828614830261111e5767ceea21b6a1148100831560021b526004601cfd5b85600052816001015492508233148633141761114c576030600c205461114c57634b6e7f186000526004601cfd5b821561115a57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff811684026111bb5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a46111f0838383612e4d565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610d95565b611275612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561130b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610d95565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611402576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b611449612e17565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b6114e38383836110aa565b813b156111f0576111f083838360405180602001604052806000815250612e58565b61150d612e17565b610ec28282612ee4565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545026020526040812080546001820180546060939291908190611599906144ab565b80601f01602080910402602001604051908101604052809291908181526020018280546115c5906144ab565b80156116125780601f106115e757610100808354040283529160200191611612565b820191906000526020600020905b8154815290600101906020018083116115f557829003601f168201915b505050505090509250925050915091565b61162b612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b6116bc612fd7565b60005b818110156111f0576116d0836130df565b506001016116bf565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806117345763ceea21b66000526004601cfd5b919050565b6000611743612fd7565b610d6b826130df565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006110a4565b60008161178957638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b6117cc612e17565b6117d6600061313f565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb006110a4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156118525760018160011c14303b106118495763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101200135600003611892576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816101200135826101c0013511156118d6576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118eb6118e6602084018461413e565b6131a5565b6119106118fb60608401846146eb565b61190b60a086016080870161413e565b613209565b61193261192060208401846146eb565b61192d60408601866146eb565b613281565b61193a6132be565b61196561194e610100840160e0850161413e565b61196061012085016101008601614750565b6132f4565b61197382610120013561331f565b61198d6119886101808401610160850161413e565b61339d565b6119a76119a26101608401610140850161413e565b61340b565b6119c16119bc6101a0840161018085016140e6565b613479565b6119e56119d26101e084018461476b565b6119e061020086018661476b565b613527565b611a0a6119f560a08401846146eb565b611a0560e0860160c0870161413e565b61368c565b6000611a1e6101c084016101a0850161413e565b73ffffffffffffffffffffffffffffffffffffffff1614611a6e5760005b826101c00135811015611a6c57611a63611a5e6101c085016101a0860161413e565b6130df565b50600101611a3c565b505b8015610ec2576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611aae612e17565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611b36612e17565b611b428484848461372b565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610da0906144ab565b611b82612e17565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557008054821115611bde576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611be6613857565b821015611c1f576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611cb8612e17565b611cc58585858585613866565b5050505050565b611cd4612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611d6a576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611d76838583614574565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b60603415611db257600080fd5b610d6b611dbf84846139a6565b613a3d565b611dcf8585856110aa565b833b15611cc557611cc585858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612e5892505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611e54906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054611e80906144ab565b8015611ecd5780601f10611ea257610100808354040283529160200191611ecd565b820191906000526020600020905b815481529060010190602001808311611eb057829003601f168201915b50505050509050919050565b611ee1612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611f77576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611d76838583614574565b6060611fc58260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611ffb576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff161561211e5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa1580156120d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261211791908101906147d3565b9392505050565b600083815260028201602052604081208054612139906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612165906144ab565b80156121b25780601f10612187576101008083540402835291602001916121b2565b820191906000526020600020905b81548152906001019060200180831161219557829003601f168201915b5050505050905080516000146121c9579392505050565b815482906121d6906144ab565b90506000036121f657505060408051602081019091526000815292915050565b61228c826000018054612208906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612234906144ab565b80156122815780601f1061225657610100808354040283529160200191612281565b820191906000526020600020905b81548152906001019060200180831161226457829003601f168201915b505050505085613a4e565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610e47565b6122c4612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff161561235a576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612366838583614574565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516123989291906146d7565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b612406612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612497612e17565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061257a906144ab565b80601f01602080910402602001604051908101604052809291908181526020018280546125a6906144ab565b80156125f35780601f106125c8576101008083540402835291602001916125f3565b820191906000526020600020905b8154815290600101906020018083116125d657829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156127235760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156126d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261271d91908101906147d3565b91505090565b806001018054612732906144ab565b1590506127cc57806001018054612748906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612774906144ab565b80156127c15780601f10612796576101008083540402835291602001916127c1565b820191906000526020600020905b8154815290600101906020018083116127a457829003601f168201915b505050505091505090565b805481906127d9906144ab565b90506000036127f657505060408051602081019091526000815290565b8061280046613a96565b61280930613af8565b60405160200161281b939291906148e1565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b6c565b612860612e17565b63389a75e1600c52806000526020600c20805442111561288857636f5e88186000526004601cfd5b600090556128958161313f565b50565b6128a0612e17565b8060601b6128b657637448fbae6000526004601cfd5b6128958161313f565b6128c7612e17565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612961612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156129f7576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611c4e565b6000612ac682613b3a565b80610d6b5750610d6b826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612b1a826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610d6b5750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612b7382613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b6000612bcf82613b3a565b80610d6b5750632a55205a60e083901c9081146301ffc9a79190911417610d6b565b6000612bfc82613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612c5882613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612cb482613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612d1082613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c5260206000208201820180548216915081612dbd5763ceea21b66000526004601cfd5b818514851517612de357816000526030600c2054612de357634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146117d6576382b429006000526004601cfd5b6111f0838383613bd2565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612e9f578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612ec2573d15612ec2573d6000843e3d83fd5b508060e01b825114612edc5763d1a57ed66000526004601cfd5b505050505050565b6103e861ffff82161115612f24576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612f7d57612f42600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612f8b828261ffff16613c6f565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612f71565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361301757565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613073576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61307b610e23565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117d6576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461310a81613cbf565b6131148282613d19565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613236848683614574565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e00806132ae858783614574565b5060018101612edc838583614574565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61150d7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001613dd7565b61334a7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001613dd7565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611075565b6133c87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001613dd7565b73ffffffffffffffffffffffffffffffffffffffff81161561289557807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006128ea565b6134367fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001613dd7565b73ffffffffffffffffffffffffffffffffffffffff81161561289557807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1006124ba565b6134a47f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001613dd7565b8015612895577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611075565b61352f613e66565b60005b838110156135f1576135e985858381811061354f5761354f6149e6565b90506020028101906135619190614a15565b35868684818110613574576135746149e6565b90506020028101906135869190614a15565b6020013587878581811061359c5761359c6149e6565b90506020028101906135ae9190614a15565b604001358888868181106135c4576135c46149e6565b90506020028101906135d69190614a15565b6135e49060608101906146eb565b613866565b600101613532565b5060005b81811015611cc557613684838383818110613612576136126149e6565b90506020028101906136249190614a53565b35848484818110613637576136376149e6565b90506020028101906136499190614a53565b6020013585858581811061365f5761365f6149e6565b90506020028101906136719190614a53565b61367f9060408101906146eb565b61372b565b6001016135f5565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806136b9848683614574565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156137b5576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008290036137f0576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101613812848683614574565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d22186868660405161384793929190614a87565b60405180910390a2505050505050565b6000613861611080565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156138fb576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613936576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008681526020828152604080832088845290915290208481556001810161395f848683614574565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161399593929190614a87565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b808684378201808515613a25575b835187018035602082018337600038823584305af46139f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106139ce575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082613a5a46613a96565b613a6330613af8565b613a6c85613a96565b604051602001613a7f9493929190614aa1565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613ab15750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613b0382613e91565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73ffffffffffffffffffffffffffffffffffffffff8316613c25577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613c1c90614baa565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff82166111f0577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613c1c90614be2565b6bffffffffffffffffffffffff1661271080821115613c965763350a88b36000526004601cfd5b8260601b80613cad5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700548110612895576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15613d6c5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402613da15767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610ec260008383612e4d565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612f71565b6117d67f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613dd7565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613ed1575050919050565b600060208284031215613f3057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461211757600080fd5b60005b83811015613f7b578181015183820152602001613f63565b50506000910152565b60008151808452613f9c816020860160208601613f60565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006121176020830184613f84565b600060208284031215613ff357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173457600080fd5b6000806040838503121561403157600080fd5b61403a83613ffa565b946020939093013593505050565b60008083601f84011261405a57600080fd5b50813567ffffffffffffffff81111561407257600080fd5b60208301915083602082850101111561260057600080fd5b60008060006040848603121561409f57600080fd5b83359250602084013567ffffffffffffffff8111156140bd57600080fd5b6140c986828701614048565b9497909650939450505050565b8035801515811461173457600080fd5b6000602082840312156140f857600080fd5b612117826140d6565b60008060006060848603121561411657600080fd5b61411f84613ffa565b925061412d60208501613ffa565b929592945050506040919091013590565b60006020828403121561415057600080fd5b61211782613ffa565b6000806040838503121561416c57600080fd5b50508035926020909101359150565b803561ffff8116811461173457600080fd5b600080604083850312156141a057600080fd5b6141a983613ffa565b91506141b76020840161417b565b90509250929050565b82815260406020820152600061228c6040830184613f84565b6000602082840312156141eb57600080fd5b813567ffffffffffffffff81111561420257600080fd5b8201610220818503121561211757600080fd5b6000806000806060858703121561422b57600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561425057600080fd5b61425c87828801614048565b95989497509550505050565b6000806040838503121561427b57600080fd5b61428483613ffa565b91506141b7602084016140d6565b6000806000806000608086880312156142aa57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8111156142d657600080fd5b6142e288828901614048565b969995985093965092949392505050565b6000806020838503121561430657600080fd5b823567ffffffffffffffff81111561431d57600080fd5b61432985828601614048565b90969095509350505050565b6000806020838503121561434857600080fd5b823567ffffffffffffffff81111561435f57600080fd5b8301601f8101851361437057600080fd5b803567ffffffffffffffff81111561438757600080fd5b8560208260051b840101111561439c57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614423577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261440e858351613f84565b945060209384019391909101906001016143d4565b50929695505050505050565b60008060008060006080868803121561444757600080fd5b61445086613ffa565b945061445e60208701613ffa565b935060408601359250606086013567ffffffffffffffff8111156142d657600080fd5b6000806040838503121561449457600080fd5b61449d83613ffa565b91506141b760208401613ffa565b600181811c908216806144bf57607f821691505b6020821081036144f8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156111f057806000526020600020601f840160051c810160208510156145545750805b601f840160051c820191505b81811015611cc55760008155600101614560565b67ffffffffffffffff83111561458c5761458c6144fe565b6145a08361459a83546144ab565b8361452d565b6000601f8411600181146145f257600085156145bc5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611cc5565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156146415786850135825560209485019460019092019101614621565b508682101561467c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061228c60208301848661468e565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261472057600080fd5b83018035915067ffffffffffffffff82111561473b57600080fd5b60200191503681900382131561260057600080fd5b60006020828403121561476257600080fd5b6121178261417b565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126147a057600080fd5b83018035915067ffffffffffffffff8211156147bb57600080fd5b6020019150600581901b360382131561260057600080fd5b6000602082840312156147e557600080fd5b815167ffffffffffffffff8111156147fc57600080fd5b8201601f8101841361480d57600080fd5b805167ffffffffffffffff811115614827576148276144fe565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614893576148936144fe565b6040528181528282016020018610156148ab57600080fd5b6148bc826020830160208601613f60565b95945050505050565b600081516148d7818560208601613f60565b9290920192915050565b60008085546148ef816144ab565b600182168015614906576001811461493957614969565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614969565b88600052602060002060005b8381101561496157815488820152600190910190602001614945565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516149a2816001840160208901613f60565b016149cf600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b6149dc60028201856148c5565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614a4957600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614a4957600080fd5b8381526040602082015260006148bc60408301848661468e565b60008551614ab3818460208a01613f60565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551614aed816001840160208a01613f60565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451614b2b816002840160208901613f60565b6001818301019150507f2f0000000000000000000000000000000000000000000000000000000000000060018201528351614b6d816002840160208801613f60565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614bdb57614bdb614b7b565b5060010190565b600081614bf157614bf1614b7b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220feac6ac1e81b4675f54f632f1244bdec2f8764712590c9e717e1d989c3fe9b4564736f6c634300081c0033";
10
- export const seriesImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintMany", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
11
- export const seriesImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b614c4d8061008d6000396000f3fe6080604052600436106103b85760003560e01c806375794a3c116101f2578063c87b56dd1161010d578063e8dc3e09116100a0578063f2fde38b1161006f578063f2fde38b14610c25578063fca3b5aa14610c38578063fee81cf414610c58578063ff87a5f514610c8b57600080fd5b8063e8dc3e0914610b77578063e985e9c514610bc7578063ee748f2c14610bfd578063f04e283e14610c1257600080fd5b8063e1c2ffad116100dc578063e1c2ffad14610b0d578063e2969ba714610b22578063e4df18ec14610b42578063e8a3d48514610b6257600080fd5b8063c87b56dd14610a6e578063d50bac3314610a8e578063d8b4f8ac14610ad8578063da2bbfc714610aed57600080fd5b8063a22cb46511610185578063ac998f4511610154578063ac998f45146109cc578063b88d4fde14610a1b578063bb77e79614610a2e578063c3e617a214610a4e57600080fd5b8063a22cb4651461094c578063a482c9461461096c578063a8cdf0781461098c578063ac9650d8146109ac57600080fd5b8063913b385a116101c1578063913b385a1461089d57806395d89b41146108bd57806397e950f7146108d2578063a148d8cf146108f257600080fd5b806375794a3c146108145780638026b389146108295780638da5cb5b146108495780638e08141f1461087d57600080fd5b80633dda44b0116102e25780635e5a9e30116102755780636cbdef61116102445780636cbdef611461078857806370a082311461079d578063715018a6146107bd578063738e1496146107c557600080fd5b80635e5a9e30146107135780635e830656146107285780636352211e146107485780636a6278421461076857600080fd5b806354d1f13d116102b157806354d1f13d1461065c57806355828c50146106645780635a50ca65146106925780635c975abb146106dc57600080fd5b80633dda44b0146105e657806342842e0e146106065780634331f639146106195780634aa3adb31461063957600080fd5b806318160ddd1161035a57806326dfe8c71161032957806326dfe8c714610516578063298bb40e146105365780632a55205a1461054b5780632e73cddb1461059757600080fd5b806318160ddd146104c357806323b872dd146104e657806325692962146104f9578063261220a31461050157600080fd5b8063081812fc11610396578063081812fc1461044e578063095ea7b31461046e5780631622326a1461048357806316c38b3c146104a357600080fd5b806301ffc9a7146103bd57806306fdde03146103f25780630754617214610414575b600080fd5b3480156103c957600080fd5b506103dd6103d8366004613f1e565b610cab565b60405190151581526020015b60405180910390f35b3480156103fe57600080fd5b50610407610d71565b6040516103e99190613fce565b34801561042057600080fd5b50610429610e23565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103e9565b34801561045a57600080fd5b50610429610469366004613fe1565b610e63565b61048161047c36600461401e565b610eb7565b005b34801561048f57600080fd5b5061048161049e36600461408a565b610ec6565b3480156104af57600080fd5b506104816104be3660046140e6565b610ff3565b3480156104cf57600080fd5b506104d8611080565b6040519081526020016103e9565b6104816104f4366004614101565b6110aa565b6104816111f5565b34801561050d57600080fd5b50610407611245565b34801561052257600080fd5b5061048161053136600461413e565b61126d565b34801561054257600080fd5b506104076113a6565b34801561055757600080fd5b5061056b610566366004614159565b6113ce565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016103e9565b3480156105a357600080fd5b506103dd6105b2366004613fe1565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156105f257600080fd5b50610481610601366004614159565b611441565b610481610614366004614101565b6114d8565b34801561062557600080fd5b5061048161063436600461418d565b611505565b34801561064557600080fd5b5060015b60405161ffff90911681526020016103e9565b610481611517565b34801561067057600080fd5b5061068461067f366004613fe1565b611553565b6040516103e99291906141c0565b34801561069e57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610429565b3480156106e857600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff166103dd565b34801561071f57600080fd5b50610481611623565b34801561073457600080fd5b5061048161074336600461401e565b6116b4565b34801561075457600080fd5b50610429610763366004613fe1565b6116d9565b34801561077457600080fd5b506104d861078336600461413e565b611739565b34801561079457600080fd5b506104d861174c565b3480156107a957600080fd5b506104d86107b836600461413e565b611774565b6104816117c4565b3480156107d157600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166103dd565b34801561082057600080fd5b506104d86117d8565b34801561083557600080fd5b506104816108443660046141d9565b611800565b34801561085557600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610429565b34801561088957600080fd5b50610481610898366004613fe1565b611aa6565b3480156108a957600080fd5b506104816108b8366004614215565b611b2e565b3480156108c957600080fd5b50610407611b48565b3480156108de57600080fd5b506104816108ed366004613fe1565b611b7a565b3480156108fe57600080fd5b506103dd61090d366004614159565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b34801561095857600080fd5b50610481610967366004614268565b611c5a565b34801561097857600080fd5b50610481610987366004614292565b611cb0565b34801561099857600080fd5b506104816109a73660046142f3565b611ccc565b6109bf6109ba366004614335565b611da5565b6040516103e991906143ac565b3480156109d857600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166103dd565b610481610a2936600461442f565b611dc4565b348015610a3a57600080fd5b50610407610a49366004613fe1565b611e18565b348015610a5a57600080fd5b50610481610a693660046142f3565b611ed9565b348015610a7a57600080fd5b50610407610a89366004613fe1565b611f86565b348015610a9a57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610429565b348015610ae457600080fd5b50610429612294565b348015610af957600080fd5b50610481610b083660046142f3565b6122bc565b348015610b1957600080fd5b506104816123fe565b348015610b2e57600080fd5b50610481610b3d36600461413e565b61248f565b348015610b4e57600080fd5b50610684610b5d366004614159565b612529565b348015610b6e57600080fd5b50610407612607565b348015610b8357600080fd5b50610649610b92366004613fe1565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610bd357600080fd5b506103dd610be2366004614481565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610c0957600080fd5b50610407612830565b610481610c2036600461413e565b612858565b610481610c3336600461413e565b612898565b348015610c4457600080fd5b50610481610c5336600461413e565b6128bf565b348015610c6457600080fd5b506104d8610c7336600461413e565b63389a75e1600c908152600091909152602090205490565b348015610c9757600080fd5b50610481610ca636600461413e565b612959565b6000610cb682612abb565b80610cc55750610cc582612af2565b80610cd45750610cd482612b68565b80610ce35750610ce382612bc4565b80610cf25750610cf282612bf1565b80610d015750610d0182612c4d565b80610d105750610d1082612ca9565b80610d1f5750610d1f82612d05565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610da0906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610dcc906144ab565b8015610e195780601f10610dee57610100808354040283529160200191610e19565b820191906000526020600020905b815481529060010190602001808311610dfc57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610ead5763ceea21b66000526004601cfd5b6001015492915050565b610ec2338383612d61565b5050565b610ece612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610f64576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610f7f838583614574565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610fb29291906146d7565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610ffb612e17565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff948516949384169381169190828614830261111e5767ceea21b6a1148100831560021b526004601cfd5b85600052816001015492508233148633141761114c576030600c205461114c57634b6e7f186000526004601cfd5b821561115a57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff811684026111bb5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a46111f0838383612e4d565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610d95565b611275612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561130b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610d95565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611402576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b611449612e17565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b6114e38383836110aa565b813b156111f0576111f083838360405180602001604052806000815250612e58565b61150d612e17565b610ec28282612ee4565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545026020526040812080546001820180546060939291908190611599906144ab565b80601f01602080910402602001604051908101604052809291908181526020018280546115c5906144ab565b80156116125780601f106115e757610100808354040283529160200191611612565b820191906000526020600020905b8154815290600101906020018083116115f557829003601f168201915b505050505090509250925050915091565b61162b612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b6116bc612fd7565b60005b818110156111f0576116d0836130df565b506001016116bf565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806117345763ceea21b66000526004601cfd5b919050565b6000611743612fd7565b610d6b826130df565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006110a4565b60008161178957638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b6117cc612e17565b6117d6600061313f565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb006110a4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156118525760018160011c14303b106118495763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101200135600003611892576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816101200135826101c0013511156118d6576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118eb6118e6602084018461413e565b6131a5565b6119106118fb60608401846146eb565b61190b60a086016080870161413e565b613209565b61193261192060208401846146eb565b61192d60408601866146eb565b613281565b61193a6132be565b61196561194e610100840160e0850161413e565b61196061012085016101008601614750565b6132f4565b61197382610120013561331f565b61198d6119886101808401610160850161413e565b61339d565b6119a76119a26101608401610140850161413e565b61340b565b6119c16119bc6101a0840161018085016140e6565b613479565b6119e56119d26101e084018461476b565b6119e061020086018661476b565b613527565b611a0a6119f560a08401846146eb565b611a0560e0860160c0870161413e565b61368c565b6000611a1e6101c084016101a0850161413e565b73ffffffffffffffffffffffffffffffffffffffff1614611a6e5760005b826101c00135811015611a6c57611a63611a5e6101c085016101a0860161413e565b6130df565b50600101611a3c565b505b8015610ec2576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611aae612e17565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611b36612e17565b611b428484848461372b565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610da0906144ab565b611b82612e17565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557008054821115611bde576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611be6613857565b821015611c1f576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611cb8612e17565b611cc58585858585613866565b5050505050565b611cd4612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611d6a576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611d76838583614574565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b60603415611db257600080fd5b610d6b611dbf84846139a6565b613a3d565b611dcf8585856110aa565b833b15611cc557611cc585858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612e5892505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611e54906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054611e80906144ab565b8015611ecd5780601f10611ea257610100808354040283529160200191611ecd565b820191906000526020600020905b815481529060010190602001808311611eb057829003601f168201915b50505050509050919050565b611ee1612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611f77576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611d76838583614574565b6060611fc58260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611ffb576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff161561211e5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa1580156120d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261211791908101906147d3565b9392505050565b600083815260028201602052604081208054612139906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612165906144ab565b80156121b25780601f10612187576101008083540402835291602001916121b2565b820191906000526020600020905b81548152906001019060200180831161219557829003601f168201915b5050505050905080516000146121c9579392505050565b815482906121d6906144ab565b90506000036121f657505060408051602081019091526000815292915050565b61228c826000018054612208906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612234906144ab565b80156122815780601f1061225657610100808354040283529160200191612281565b820191906000526020600020905b81548152906001019060200180831161226457829003601f168201915b505050505085613a4e565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610e47565b6122c4612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff161561235a576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612366838583614574565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516123989291906146d7565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b612406612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612497612e17565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061257a906144ab565b80601f01602080910402602001604051908101604052809291908181526020018280546125a6906144ab565b80156125f35780601f106125c8576101008083540402835291602001916125f3565b820191906000526020600020905b8154815290600101906020018083116125d657829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156127235760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156126d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261271d91908101906147d3565b91505090565b806001018054612732906144ab565b1590506127cc57806001018054612748906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612774906144ab565b80156127c15780601f10612796576101008083540402835291602001916127c1565b820191906000526020600020905b8154815290600101906020018083116127a457829003601f168201915b505050505091505090565b805481906127d9906144ab565b90506000036127f657505060408051602081019091526000815290565b8061280046613a96565b61280930613af8565b60405160200161281b939291906148e1565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b6c565b612860612e17565b63389a75e1600c52806000526020600c20805442111561288857636f5e88186000526004601cfd5b600090556128958161313f565b50565b6128a0612e17565b8060601b6128b657637448fbae6000526004601cfd5b6128958161313f565b6128c7612e17565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612961612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156129f7576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611c4e565b6000612ac682613b3a565b80610d6b5750610d6b826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612b1a826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610d6b5750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612b7382613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b6000612bcf82613b3a565b80610d6b5750632a55205a60e083901c9081146301ffc9a79190911417610d6b565b6000612bfc82613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612c5882613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612cb482613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612d1082613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c5260206000208201820180548216915081612dbd5763ceea21b66000526004601cfd5b818514851517612de357816000526030600c2054612de357634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146117d6576382b429006000526004601cfd5b6111f0838383613bd2565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612e9f578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612ec2573d15612ec2573d6000843e3d83fd5b508060e01b825114612edc5763d1a57ed66000526004601cfd5b505050505050565b6103e861ffff82161115612f24576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612f7d57612f42600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612f8b828261ffff16613c6f565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612f71565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361301757565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613073576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61307b610e23565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117d6576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461310a81613cbf565b6131148282613d19565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613236848683614574565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e00806132ae858783614574565b5060018101612edc838583614574565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61150d7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001613dd7565b61334a7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001613dd7565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611075565b6133c87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001613dd7565b73ffffffffffffffffffffffffffffffffffffffff81161561289557807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006128ea565b6134367fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001613dd7565b73ffffffffffffffffffffffffffffffffffffffff81161561289557807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1006124ba565b6134a47f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001613dd7565b8015612895577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611075565b61352f613e66565b60005b838110156135f1576135e985858381811061354f5761354f6149e6565b90506020028101906135619190614a15565b35868684818110613574576135746149e6565b90506020028101906135869190614a15565b6020013587878581811061359c5761359c6149e6565b90506020028101906135ae9190614a15565b604001358888868181106135c4576135c46149e6565b90506020028101906135d69190614a15565b6135e49060608101906146eb565b613866565b600101613532565b5060005b81811015611cc557613684838383818110613612576136126149e6565b90506020028101906136249190614a53565b35848484818110613637576136376149e6565b90506020028101906136499190614a53565b6020013585858581811061365f5761365f6149e6565b90506020028101906136719190614a53565b61367f9060408101906146eb565b61372b565b6001016135f5565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806136b9848683614574565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156137b5576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008290036137f0576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101613812848683614574565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d22186868660405161384793929190614a87565b60405180910390a2505050505050565b6000613861611080565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156138fb576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613936576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008681526020828152604080832088845290915290208481556001810161395f848683614574565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161399593929190614a87565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b808684378201808515613a25575b835187018035602082018337600038823584305af46139f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106139ce575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082613a5a46613a96565b613a6330613af8565b613a6c85613a96565b604051602001613a7f9493929190614aa1565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613ab15750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613b0382613e91565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73ffffffffffffffffffffffffffffffffffffffff8316613c25577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613c1c90614baa565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff82166111f0577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613c1c90614be2565b6bffffffffffffffffffffffff1661271080821115613c965763350a88b36000526004601cfd5b8260601b80613cad5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700548110612895576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15613d6c5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402613da15767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610ec260008383612e4d565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612f71565b6117d67f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613dd7565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613ed1575050919050565b600060208284031215613f3057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461211757600080fd5b60005b83811015613f7b578181015183820152602001613f63565b50506000910152565b60008151808452613f9c816020860160208601613f60565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006121176020830184613f84565b600060208284031215613ff357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173457600080fd5b6000806040838503121561403157600080fd5b61403a83613ffa565b946020939093013593505050565b60008083601f84011261405a57600080fd5b50813567ffffffffffffffff81111561407257600080fd5b60208301915083602082850101111561260057600080fd5b60008060006040848603121561409f57600080fd5b83359250602084013567ffffffffffffffff8111156140bd57600080fd5b6140c986828701614048565b9497909650939450505050565b8035801515811461173457600080fd5b6000602082840312156140f857600080fd5b612117826140d6565b60008060006060848603121561411657600080fd5b61411f84613ffa565b925061412d60208501613ffa565b929592945050506040919091013590565b60006020828403121561415057600080fd5b61211782613ffa565b6000806040838503121561416c57600080fd5b50508035926020909101359150565b803561ffff8116811461173457600080fd5b600080604083850312156141a057600080fd5b6141a983613ffa565b91506141b76020840161417b565b90509250929050565b82815260406020820152600061228c6040830184613f84565b6000602082840312156141eb57600080fd5b813567ffffffffffffffff81111561420257600080fd5b8201610220818503121561211757600080fd5b6000806000806060858703121561422b57600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561425057600080fd5b61425c87828801614048565b95989497509550505050565b6000806040838503121561427b57600080fd5b61428483613ffa565b91506141b7602084016140d6565b6000806000806000608086880312156142aa57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8111156142d657600080fd5b6142e288828901614048565b969995985093965092949392505050565b6000806020838503121561430657600080fd5b823567ffffffffffffffff81111561431d57600080fd5b61432985828601614048565b90969095509350505050565b6000806020838503121561434857600080fd5b823567ffffffffffffffff81111561435f57600080fd5b8301601f8101851361437057600080fd5b803567ffffffffffffffff81111561438757600080fd5b8560208260051b840101111561439c57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614423577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261440e858351613f84565b945060209384019391909101906001016143d4565b50929695505050505050565b60008060008060006080868803121561444757600080fd5b61445086613ffa565b945061445e60208701613ffa565b935060408601359250606086013567ffffffffffffffff8111156142d657600080fd5b6000806040838503121561449457600080fd5b61449d83613ffa565b91506141b760208401613ffa565b600181811c908216806144bf57607f821691505b6020821081036144f8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156111f057806000526020600020601f840160051c810160208510156145545750805b601f840160051c820191505b81811015611cc55760008155600101614560565b67ffffffffffffffff83111561458c5761458c6144fe565b6145a08361459a83546144ab565b8361452d565b6000601f8411600181146145f257600085156145bc5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611cc5565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156146415786850135825560209485019460019092019101614621565b508682101561467c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061228c60208301848661468e565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261472057600080fd5b83018035915067ffffffffffffffff82111561473b57600080fd5b60200191503681900382131561260057600080fd5b60006020828403121561476257600080fd5b6121178261417b565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126147a057600080fd5b83018035915067ffffffffffffffff8211156147bb57600080fd5b6020019150600581901b360382131561260057600080fd5b6000602082840312156147e557600080fd5b815167ffffffffffffffff8111156147fc57600080fd5b8201601f8101841361480d57600080fd5b805167ffffffffffffffff811115614827576148276144fe565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614893576148936144fe565b6040528181528282016020018610156148ab57600080fd5b6148bc826020830160208601613f60565b95945050505050565b600081516148d7818560208601613f60565b9290920192915050565b60008085546148ef816144ab565b600182168015614906576001811461493957614969565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614969565b88600052602060002060005b8381101561496157815488820152600190910190602001614945565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516149a2816001840160208901613f60565b016149cf600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b6149dc60028201856148c5565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614a4957600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614a4957600080fd5b8381526040602082015260006148bc60408301848661468e565b60008551614ab3818460208a01613f60565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551614aed816001840160208a01613f60565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451614b2b816002840160208901613f60565b6001818301019150507f2f0000000000000000000000000000000000000000000000000000000000000060018201528351614b6d816002840160208801613f60565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614bdb57614bdb614b7b565b5060010190565b600081614bf157614bf1614b7b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220feac6ac1e81b4675f54f632f1244bdec2f8764712590c9e717e1d989c3fe9b4564736f6c634300081c0033";
12
- export const seriesCodeFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
13
- export const seriesCodeFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615fcc80610a3c83390190565b6080516109ae61008e6000396000818160a40152818161011c0152818161015a01528181610187015261029f01526109ae6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631dfe97d71461005c5780635414dff01461008c5780635c60da1b1461009f5780635c857b3e146100c6578063d97a720d146100f9575b600080fd5b61006f61006a366004610452565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f61009a366004610497565b610153565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100e96100d43660046104c7565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b61006f6101073660046104e2565b610180565b6000610117826101bc565b6101417f0000000000000000000000000000000000000000000000000000000000000000836101fb565b905061014d8184610210565b92915050565b600061014d7f00000000000000000000000000000000000000000000000000000000000000008330610301565b60006101ab7f000000000000000000000000000000000000000000000000000000000000000061035e565b90506101b78183610210565b919050565b606081901c80158015906101d957506001600160a01b0381163314155b156101f75760405163c61a579960e01b815260040160405180910390fd5b5050565b60006102096000848461036b565b9392505050565b6001600160a01b03821660008181526020819052604090819020805460ff191660011790555163e318ea9f60e01b815263e318ea9f9061025490849060040161072c565b600060405180830381600087803b15801561026e57600080fd5b505af1158015610282573d6000803e3d6000fd5b506102949250505060208201826104c7565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103488560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506103558185856103c2565b95945050505050565b600061014d6000836103e4565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806103b65763301164256000526004601cfd5b60006021529392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061042e5763301164256000526004601cfd5b600060215292915050565b6000610260828403121561044c57600080fd5b50919050565b6000806040838503121561046557600080fd5b823567ffffffffffffffff81111561047c57600080fd5b61048885828601610439565b95602094909401359450505050565b6000602082840312156104a957600080fd5b5035919050565b80356001600160a01b03811681146101b757600080fd5b6000602082840312156104d957600080fd5b610209826104b0565b6000602082840312156104f457600080fd5b813567ffffffffffffffff81111561050b57600080fd5b61051784828501610439565b949350505050565b6000808335601e1984360301811261053657600080fd5b830160208101925035905067ffffffffffffffff81111561055657600080fd5b80360382131561056557600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff811681146101b757600080fd5b803580151581146101b757600080fd5b6000808335601e198436030181126105ce57600080fd5b830160208101925035905067ffffffffffffffff8111156105ee57600080fd5b8060051b360382131561056557600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003607e1901811261063f57600080fd5b8601803584526020808201359085015260408082013590850152610666606082018261051f565b91506080606086015261067d60808601838361056c565b60209a8b019a90955093909301925050600101610619565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003605e190181126106e057600080fd5b860180358452602080820135908501526106fd604082018261051f565b91506060604086015261071460608601838361056c565b60209a8b019a909550939093019250506001016106ba565b6020815261074d60208201610740846104b0565b6001600160a01b03169052565b600061075c602084018461051f565b61026060408501526107736102808501828461056c565b915050610783604085018561051f565b848303601f1901606086015261079a83828461056c565b925050506107ab606085018561051f565b848303601f190160808601526107c283828461056c565b925050506107d2608085016104b0565b6001600160a01b03811660a0850152506107ef60a085018561051f565b848303601f190160c086015261080683828461056c565b9250505061081660c085016104b0565b6001600160a01b03811660e08501525061083260e085016104b0565b6001600160a01b038116610100850152506108506101008501610595565b61ffff811661012085015250610120840135610140848101919091526108779085016104b0565b6001600160a01b0381166101608501525061089561016085016104b0565b6001600160a01b038116610180850152506108b361018085016105a7565b8015156101a0850152506108ca6101a085016104b0565b6001600160a01b0381166101c0850152506108e86101c085016105a7565b8015156101e0850152506108ff6101e085016104b0565b6001600160a01b038116610200850152506102008401356102208481019190915261092c908501856105b7565b848303601f1901610240860152610944838284610600565b925050506109566102408501856105b7565b848303601f190161026086015261096e8382846106a1565b969550505050505056fea264697066735822122085152a9c53598740a92cbfb99e6985320bca8d946c88109b825e6d9df863f69964736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f3f8061008d6000396000f3fe6080604052600436106105e05760003560e01c806384f6687f1161030e578063c87b56dd1161019b578063e4df18ec116100e7578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc81461131b578063fca3b5aa1461133b578063fee81cf41461135b578063ff87a5f51461138e57600080fd5b8063f04e283e146112c1578063f2235701146112d4578063f2fde38b1461130857600080fd5b8063e4df18ec146111dc578063e8a3d485146111fc578063e8dc3e0914611211578063e985e9c514611261578063ea58f97114611297578063ee748f2c146112ac57600080fd5b8063da2bbfc711610154578063e1c2ffad1161012e578063e1c2ffad14611167578063e2969ba71461117c578063e318ea9f1461119c578063e42b7baf146111bc57600080fd5b8063da2bbfc714611112578063dc98387914611132578063e1b793811461114757600080fd5b8063c87b56dd14611065578063cc1cf51514611085578063cfc59afd146110a5578063d50bac33146110d3578063d8b4f8ac146110e8578063d90f5df2146110fd57600080fd5b80639aa1a1f01161025a578063ac9650d811610213578063b88d4fde116101ed578063b88d4fde14610ff2578063bb77e79614611005578063c3e617a214611025578063c4f260481461104557600080fd5b8063ac9650d814610fa8578063ac998f4514610fc8578063b478424714610fdd57600080fd5b80639aa1a1f014610eae578063a148d8cf14610ece578063a22cb46514610f28578063a482c94614610f48578063a8cdf07814610f68578063aa0de18d14610f8857600080fd5b8063913b385a116102c757806395d89b41116102a157806395d89b4114610e4457806396f4205a14610e5957806397e950f714610e795780639a5db50314610e9957600080fd5b8063913b385a14610def57806392b29b1714610e0f57806392d9906f14610e2f57600080fd5b806384f6687f14610d4157806386b7f6a414610d615780638da5cb5b14610d815780638e08141f14610d9a5780638e4cc07014610dba578063909206e314610dda57600080fd5b80633dda44b01161048c5780636352211e116103d85780636cbdef6111610391578063738e14961161036b578063738e149614610ca957806375794a3c14610cd55780637b1d470714610cea5780637d0b7ae414610d0a57600080fd5b80636cbdef6114610c6c57806370a0823114610c81578063715018a614610ca157600080fd5b80636352211e14610bac5780636905337414610bcc5780636a62784214610bec5780636aaf760714610c0c5780636bd3922214610c2c5780636cb0281814610c4c57600080fd5b806355580cca116104455780635b02f81c1161041f5780635b02f81c14610b245780635c975abb14610b525780635e5a9e3014610b775780635e83065614610b8c57600080fd5b806355580cca14610aa957806355828c5014610acb5780635a50ca6514610af957600080fd5b80633dda44b014610a0b57806342842e0e14610a2b5780634331f63914610a3e5780634aa3adb314610a5e5780634efdb5ae14610a8157806354d1f13d14610aa157600080fd5b80631c31cac31161054b578063261220a3116105045780632a55205a116104de5780632a55205a146108c05780632e73cddb146108ff5780633990b2211461094e5780633c59f1bb1461096e57600080fd5b8063261220a31461087657806326dfe8c71461088b578063298bb40e146108ab57600080fd5b80631c31cac31461079357806320ac0944146107b35780632352b33f146107c857806323b872dd1461084657806325628d3414610859578063256929621461086e57600080fd5b80630b4c562b1161059d5780630b4c562b146106be57806313bfffac146106de5780631622326a1461071b57806316c38b3c1461073b57806317afae431461075b57806318160ddd1461077057600080fd5b806301ffc9a7146105e557806306fdde031461061a578063075461721461063c578063081812fc1461066957806308a3839514610689578063095ea7b3146106ab575b600080fd5b3480156105f157600080fd5b50610605610600366004614f55565b6113ae565b60405190151581526020015b60405180910390f35b34801561062657600080fd5b5061062f61147f565b6040516106119190614fcf565b34801561064857600080fd5b50610651611531565b6040516001600160a01b039091168152602001610611565b34801561067557600080fd5b50610651610684366004614fe2565b611564565b34801561069557600080fd5b506106a96106a436600461506c565b6115a3565b005b6106a96106b936600461511d565b61162d565b3480156106ca57600080fd5b506106a96106d9366004615188565b61163c565b3480156106ea57600080fd5b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e04546001600160a01b0316610651565b34801561072757600080fd5b506106a9610736366004615188565b6116c2565b34801561074757600080fd5b506106a96107563660046151e3565b6117a1565b34801561076757600080fd5b506106516117fe565b34801561077c57600080fd5b50610785611814565b604051908152602001610611565b34801561079f57600080fd5b506106a96107ae3660046151fe565b61183e565b3480156107bf57600080fd5b506106516118b5565b3480156107d457600080fd5b506108296107e3366004614fe2565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610611565b6106a9610854366004615219565b6118d9565b34801561086557600080fd5b506106a96119e4565b6106a9611a4a565b34801561088257600080fd5b5061062f611a99565b34801561089757600080fd5b506106a96108a63660046151fe565b611aaf565b3480156108b757600080fd5b5061062f611b75565b3480156108cc57600080fd5b506108e06108db366004615256565b611b8b565b604080516001600160a01b039093168352602083019190915201610611565b34801561090b57600080fd5b5061060561091a366004614fe2565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561095a57600080fd5b506106a9610969366004615256565b611be0565b34801561097a57600080fd5b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0354604080516001600160a01b0394851681529284166020840152921691810191909152606001610611565b348015610a1757600080fd5b506106a9610a26366004615256565b611c70565b6106a9610a39366004615219565b611ce9565b348015610a4a57600080fd5b506106a9610a5936600461528a565b611d16565b348015610a6a57600080fd5b5060015b60405161ffff9091168152602001610611565b348015610a8d57600080fd5b506106a9610a9c3660046152bd565b611d28565b6106a9611da9565b348015610ab557600080fd5b50610abe611de5565b604051610611919061534b565b348015610ad757600080fd5b50610aeb610ae6366004614fe2565b611e1b565b60405161061192919061535e565b348015610b0557600080fd5b50600080516020615eca833981519152546001600160a01b0316610651565b348015610b3057600080fd5b50610b44610b3f366004615377565b611eeb565b6040516106119291906153a3565b348015610b5e57600080fd5b50600080516020615e6a8339815191525460ff16610605565b348015610b8357600080fd5b506106a9611f34565b348015610b9857600080fd5b506106a9610ba736600461511d565b611f87565b348015610bb857600080fd5b50610651610bc7366004614fe2565b611fac565b348015610bd857600080fd5b506106a9610be7366004614fe2565b611fea565b348015610bf857600080fd5b50610785610c073660046151fe565b61203c565b348015610c1857600080fd5b5061062f610c27366004614fe2565b61204f565b348015610c3857600080fd5b50610829610c47366004615256565b6120ce565b348015610c5857600080fd5b5061062f610c67366004614fe2565b612122565b348015610c7857600080fd5b50610785612187565b348015610c8d57600080fd5b50610785610c9c3660046151fe565b61219d565b6106a96121d8565b348015610cb557600080fd5b50600080516020615eca83398151915254600160a01b900460ff16610605565b348015610ce157600080fd5b506107856121ec565b348015610cf657600080fd5b506106a9610d053660046151fe565b612214565b348015610d1657600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610605565b348015610d4d57600080fd5b5061062f610d5c366004615256565b612277565b348015610d6d57600080fd5b506106a9610d7c366004615377565b6122e9565b348015610d8d57600080fd5b50638b78c6d81954610651565b348015610da657600080fd5b506106a9610db5366004614fe2565b612350565b348015610dc657600080fd5b506106a9610dd53660046153c5565b6123ba565b348015610de657600080fd5b50610abe6123fd565b348015610dfb57600080fd5b506106a9610e0a3660046152bd565b61242d565b348015610e1b57600080fd5b506106a9610e2a366004615377565b612441565b348015610e3b57600080fd5b506107856124aa565b348015610e5057600080fd5b5061062f6124d2565b348015610e6557600080fd5b506106a9610e743660046151fe565b612504565b348015610e8557600080fd5b506106a9610e94366004614fe2565b61254c565b348015610ea557600080fd5b506106a96125e8565b348015610eba57600080fd5b506106a9610ec9366004615188565b612634565b348015610eda57600080fd5b50610605610ee9366004615256565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610f3457600080fd5b506106a9610f433660046153f0565b612677565b348015610f5457600080fd5b506106a9610f6336600461541a565b6126cd565b348015610f7457600080fd5b506106a9610f8336600461547a565b6126e2565b348015610f9457600080fd5b506106a9610fa33660046154bb565b61276d565b610fbb610fb63660046154fe565b6127c5565b6040516106119190615533565b348015610fd457600080fd5b506106056127e4565b348015610fe957600080fd5b506106a9612809565b6106a9611000366004615598565b612855565b34801561101157600080fd5b5061062f611020366004614fe2565b6128a9565b34801561103157600080fd5b506106a961104036600461547a565b61296a565b34801561105157600080fd5b50610b44611060366004615256565b6129c9565b34801561107157600080fd5b5061062f611080366004614fe2565b612a04565b34801561109157600080fd5b50610b446110a0366004615256565b612c60565b3480156110b157600080fd5b506110c56110c0366004614fe2565b612c8f565b604051610611929190615613565b3480156110df57600080fd5b50610651612d14565b3480156110f457600080fd5b50610651612d2a565b34801561110957600080fd5b50610785612d52565b34801561111e57600080fd5b506106a961112d36600461547a565b612d68565b34801561113e57600080fd5b506106a9612e3e565b34801561115357600080fd5b50610abe611162366004614fe2565b612e8a565b34801561117357600080fd5b506106a9612ece565b34801561118857600080fd5b506106a96111973660046151fe565b612f21565b3480156111a857600080fd5b506106a96111b736600461562e565b612f96565b3480156111c857600080fd5b506106a96111d73660046152bd565b61322e565b3480156111e857600080fd5b50610aeb6111f7366004615256565b613280565b34801561120857600080fd5b5061062f61335d565b34801561121d57600080fd5b50610a6e61122c366004614fe2565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561126d57600080fd5b5061060561127c366004615669565b601c52670a5a2e7a000000006008526000526030600c205490565b3480156112a357600080fd5b50610605613511565b3480156112b857600080fd5b5061062f613527565b6106a96112cf3660046151fe565b61353d565b3480156112e057600080fd5b506112f46112ef366004614fe2565b61357d565b6040516106119897969594939291906156b3565b6106a96113163660046151fe565b6136eb565b34801561132757600080fd5b506106a9611336366004615256565b613712565b34801561134757600080fd5b506106a96113563660046151fe565b61376b565b34801561136757600080fd5b506107856113763660046151fe565b63389a75e1600c908152600091909152602090205490565b34801561139a57600080fd5b506106a96113a93660046151fe565b6137e0565b60006113b9826138b1565b806113c857506113c8826138e8565b806113d757506113d78261392d565b806113e657506113e682613958565b806113f557506113f582613985565b806114045750611404826139b0565b806114135750611413826139db565b80611422575061142282613a06565b80611431575061143182613a31565b80611440575061144082613a5c565b8061144f575061144f82613a87565b8061145e575061145e82613ab2565b8061147957506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546114ae9061576f565b80601f01602080910402602001604051908101604052809291908181526020018280546114da9061576f565b80156115275780601f106114fc57610100808354040283529160200191611527565b820191906000526020600020905b81548152906001019060200180831161150a57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6115995763ceea21b66000526004601cfd5b6001015492915050565b6115ab613add565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906115f2908c908c908c908c908c908c908c908c908c906004016157cc565b60006040518083038186803b15801561160a57600080fd5b505af415801561161e573d6000803e3d6000fd5b50505050505050505050505050565b611638338383613af8565b5050565b611644613add565b61165060008085613b99565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a9061168d9086908690869033906004016158c6565b60006040518083038186803b1580156116a557600080fd5b505af41580156116b9573d6000803e3d6000fd5b50505050505050565b6116ca613add565b600080516020615e2a83398151915254600080516020615e8a83398151915290600160a01b900460ff16156117125760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061172d838583615956565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051611760929190615a15565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6117a9613add565b600080516020615e6a833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615eea833981519152611555565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b611846613add565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b15801561189a57600080fd5b505af41580156118ae573d6000803e3d6000fd5b5050505050565b6000600080516020615e4a8339815191525b600101546001600160a01b0316919050565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b03948516949384169381169190828614830261192b5767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611959576030600c205461195957634b6e7f186000526004601cfd5b821561196757600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119aa5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a46119df838383613c4a565b505050565b6119ec613add565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a3057600080fd5b505af4158015611a44573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e8a8339815191526114a3565b611ab7613add565b600080516020615eca83398151915254600080516020615eaa83398151915290600160a01b900460ff1615611aff576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615eaa8339815191526114a3565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611bbf576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611be8613add565b611bf460008084613b99565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611c5457600080fd5b505af4158015611c68573d6000803e3d6000fd5b505050505050565b611c78613add565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611cf48383836118d9565b813b156119df576119df83838360405180602001604052806000815250613c60565b611d1e613add565b6116388282613ce4565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d1485858585611d53638b78c6d8195490565b6040518663ffffffff1660e01b8152600401611d73959493929190615a29565b60006040518083038186803b158015611d8b57600080fd5b505af4158015611d9f573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060611e157ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853066000600019613db1565b50919050565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545026020526040812080546001820180546060939291908190611e619061576f565b80601f0160208091040260200160405190810160405280929190818152602001828054611e8d9061576f565b8015611eda5780601f10611eaf57610100808354040283529160200191611eda565b820191906000526020600020905b815481529060010190602001808311611ebd57829003601f168201915b505050505090509250925050915091565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853046020526040812060609190611f27908585613db1565b915091505b935093915050565b611f3c613add565b600080516020615e2a833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611f8f613e7e565b60005b818110156119df57611fa383613f00565b50600101611f92565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b031680611fe55763ceea21b66000526004601cfd5b919050565b611ff2613add565b611ffe60008083613b99565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec90604401611882565b6000612046613e7e565b61147982613f00565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061209557604051633fa417ed60e11b815260040160405180910390fd5b6120c78160000184815481106120ad576120ad615a63565b6000918252602090912001546001600160a01b0316613fa9565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156121705761216b81613fa9565b6120c7565b604051806020016040528060008152509392505050565b6000600080516020615e0a833981519152611838565b6000816121b257638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b6121e0613add565b6121ea6000613fd7565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611838565b61221c613add565b80600080516020615eea8339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b031680156122d0576122cb81613fa9565b6122e1565b604051806020016040528060008152505b949350505050565b6122f1613add565b6122fd60018484613b99565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40161168d565b612358613add565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6123c2613add565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee459061168d90869086908690600401615a79565b6060611e157f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e056000600019613db1565b612435613add565b611a4484848484614015565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d644684848461246b638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b0316606482015260840161168d565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900611838565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546114ae9061576f565b61250c613add565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a90602401611882565b612554613add565b600080516020615e0a833981519152805482111561258557604051632b953d0360e11b815260040160405180910390fd5b61258d61410f565b8210156125ad57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6125f0613add565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a3057600080fd5b61263c613add565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f09061168d90869086908690600401615a9b565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6126d5613add565b6118ae858585858561411e565b6126ea613add565b600080516020615eca83398151915254600080516020615eaa83398151915290600160a01b900460ff1615612732576040516352be865b60e01b815260040160405180910390fd5b8061273e838583615956565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b612775613add565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d9060640161168d565b606034156127d257600080fd5b6114796127df848461422c565b6142c3565b6000600080516020615e8a8339815191525b60010154600160a01b900460ff16919050565b612811613add565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a3057600080fd5b6128608585856118d9565b833b156118ae576118ae85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613c6092505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906128e59061576f565b80601f01602080910402602001604051908101604052809291908181526020018280546129119061576f565b801561295e5780601f106129335761010080835404028352916020019161295e565b820191906000526020600020905b81548152906001019060200180831161294157829003601f168201915b50505050509050919050565b612972613add565b600080516020615eca83398151915254600080516020615eaa83398151915290600160a01b900460ff16156129ba576040516352be865b60e01b815260040160405180910390fd5b6001810161273e838583615956565b606060006129f87ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853068585613db1565b915091505b9250929050565b6060612a2e826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612a4b5760405163163a09e160e31b815260040160405180910390fd5b600080516020615e2a83398151915254600080516020615e8a833981519152906001600160a01b031615612af257600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612aca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120c79190810190615abe565b600083815260028201602052604081208054612b0d9061576f565b80601f0160208091040260200160405190810160405280929190818152602001828054612b399061576f565b8015612b865780601f10612b5b57610100808354040283529160200191612b86565b820191906000526020600020905b815481529060010190602001808311612b6957829003601f168201915b505050505090508051600014612b9d579392505050565b81548290612baa9061576f565b9050600003612bca57505060408051602081019091526000815292915050565b6122e1826000018054612bdc9061576f565b80601f0160208091040260200160405190810160405280929190818152602001828054612c089061576f565b8015612c555780601f10612c2a57610100808354040283529160200191612c55565b820191906000526020600020905b815481529060010190602001808311612c3857829003601f168201915b5050505050856142d3565b606060006129f87f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e058585613db1565b600080516020615e4a833981519152805460009182918410612cc45760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612cdb57612cdb615a63565b60009182526020909120600290910201805490915060ff166001811115612d0457612d046155e9565b8160010154935093505050915091565b6000600080516020615e8a8339815191526118c7565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611555565b6000600080516020615e4a833981519152611838565b612d70613add565b600080516020615e2a83398151915254600080516020615e8a83398151915290600160a01b900460ff1615612db85760405163dd48f3ab60e01b815260040160405180910390fd5b80612dc4838583615956565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612df6929190615a15565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b612e46613add565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a3057600080fd5b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530460205260408120606091612ec79190600019613db1565b5092915050565b612ed6613add565b600080516020615eca833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612f29613add565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b63409feecd198054600382558015612fcd5760018160011c14303b10612fc45763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101200135600003612ff45760405163fe5afcb960e01b815260040160405180910390fd5b816101200135826102000135111561301f57604051633f63c5bf60e01b815260040160405180910390fd5b61303461302f60208401846151fe565b61431b565b6130596130446060840184615b67565b61305460a08601608087016151fe565b614357565b61307b6130696020840184615b67565b6130766040860186615b67565b614398565b6130836143d5565b6130ae613097610100840160e085016151fe565b6130a961012085016101008601615bad565b61440b565b6130bc826101200135614436565b6130d66130d1610180840161016085016151fe565b6144a2565b6130f06130eb610160840161014085016151fe565b614503565b61310a6131056101a0840161018085016151e3565b614564565b61312461311f6101c084016101a085016151fe565b6145e2565b61312c614631565b6131466131416101e084016101c085016151e3565b61465c565b61314e614706565b613156614731565b61317a613167610220840184615bc8565b613175610240860186615bc8565b61475c565b61319f61318a60a0840184615b67565b61319a60e0860160c087016151fe565b6148c1565b60006131b361020084016101e085016151fe565b6001600160a01b0316146131f65760005b8261020001358110156131f4576131eb6131e661020085016101e086016151fe565b613f00565b506001016131c4565b505b8015611638576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b613236613add565b61324260018585613b99565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed4830090611d739087908790879087903390600401615a29565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454500602090815260408083208484529091528120805460018201805460609392919081906132d19061576f565b80601f01602080910402602001604051908101604052809291908181526020018280546132fd9061576f565b801561334a5780601f1061331f5761010080835404028352916020019161334a565b820191906000526020600020905b81548152906001019060200180831161332d57829003601f168201915b5050505050905092509250509250929050565b600080516020615eca83398151915254606090600080516020615eaa833981519152906001600160a01b03161561340457600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa1580156133d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133fe9190810190615abe565b91505090565b8060010180546134139061576f565b1590506134ad578060010180546134299061576f565b80601f01602080910402602001604051908101604052809291908181526020018280546134559061576f565b80156134a25780601f10613477576101008083540402835291602001916134a2565b820191906000526020600020905b81548152906001019060200180831161348557829003601f168201915b505050505091505090565b805481906134ba9061576f565b90506000036134d757505060408051602081019091526000815290565b806134e146614929565b6134ea3061496d565b6040516020016134fc93929190615c2d565b60405160208183030381529060405291505090565b6000600080516020615e4a8339815191526127f6565b6060600080516020615eaa8339815191526124f6565b613545613add565b63389a75e1600c52806000526020600c20805442111561356d57636f5e88186000526004601cfd5b6000905561357a81613fd7565b50565b60008080808080806060817f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060008b8152602091825260408082208054600182015460028301546003840180548651818a0281018a0190975280875294985060ff80851698610100860482169862010000870490921697630100000087046001600160a01b031697600160b81b90970465ffffffffffff16969092849284015b828210156136c957838290600052602060002001805461363c9061576f565b80601f01602080910402602001604051908101604052809291908181526020018280546136689061576f565b80156136b55780601f1061368a576101008083540402835291602001916136b5565b820191906000526020600020905b81548152906001019060200180831161369857829003601f168201915b50505050508152602001906001019061361d565b5050505090509850985098509850985098509850985050919395975091939597565b6136f3613add565b8060601b61370957637448fbae6000526004601cfd5b61357a81613fd7565b61371a613add565b61372660018383613b99565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611c3c565b613773613add565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6137e8613add565b600080516020615e2a83398151915254600080516020615e8a83398151915290600160a01b900460ff16156138305760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016125dc565b60006138bc82614991565b806114795750611479826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613910826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806114795750506001600160e01b031916632483248360e11b1490565b600061393882614991565b8061147957506001600160e01b031982166307ccd03560e31b1492915050565b600061396382614991565b806114795750632a55205a60e083901c9081146301ffc9a79190911417611479565b600061399082614991565b8061147957506001600160e01b03198216636cbdef6160e01b1492915050565b60006139bb82614991565b8061147957506001600160e01b031982166303aa30b960e11b1492915050565b60006139e682614991565b8061147957506001600160e01b0319821663362d3e2b60e21b1492915050565b6000613a1182614991565b8061147957506001600160e01b03198216635c975abb60e01b1492915050565b6000613a3c82614991565b8061147957506001600160e01b031982166317afae4360e01b1492915050565b6000613a67826149c7565b8061147957506001600160e01b0319821663040a5d5760e51b1492915050565b6000613a9282614991565b8061147957506001600160e01b0319821663215f672360e21b1492915050565b6000613abd82614991565b8061147957506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d8195433146121ea576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c5260206000208201820180548216915081613b3f5763ceea21b66000526004601cfd5b818514851517613b6557816000526030600c2054613b6557634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b828015613bac5750631cd9595960e21b81145b8015613c095750631cd9595960e21b6000527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e006020527f59aef8a84236254bede197dcd6711409a45a4fb3879f18e18f1f3c49eaf2af825460ff16155b8015613c215750613c2182631cd9595960e21b6149f2565b15613c3f5760405163108e179760e11b815260040160405180910390fd5b6119df838383614a39565b613c55838383614a88565b6119df818484614b0b565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015613ca7578060c08401826020870160045afa505b60208360a48301601c860160008a5af1613cca573d15613cca573d6000843e3d83fd5b508060e01b825114611c685763d1a57ed66000526004601cfd5b6103e861ffff82161115613d0b5760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff16600003613d6457613d29600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613d72828261ffff16614bdf565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613d58565b8254606090808410613dd3576040805160008152602081019091529150611f2c565b83810383811115613de15750825b806001600160401b03811115613df957613df96158f9565b604051908082528060200260200182016040528015613e22578160200160208202803683370190505b50925060005b81811015613e74578681870181548110613e4457613e44615a63565b9060005260206000200154848281518110613e6157613e61615a63565b6020908102919091010152600101613e28565b5050935093915050565b638b78c6d819546001600160a01b03163303613e9657565b600080516020615e6a8339815191525460ff1615613ec7576040516375ab03ab60e11b815260040160405180910390fd5b613ecf611531565b6001600160a01b0316336001600160a01b0316146121ea5760405163263ab11d60e21b815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0054613f2b81614c2f565b613f3c81631cd9595960e21b6149f2565b613f74576000806000613f4f8486614c5e565b9250925092508215613f7057613f7084631cd9595960e21b84600085614d11565b5050505b613f7e8282614da0565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561408657604051635fde02f960e01b815260040160405180910390fd5b60008290036140a8576040516366e0344f60e01b815260040160405180910390fd5b60008581526002820160205260409020848155600181016140ca848683615956565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516140ff93929190615a9b565b60405180910390a2505050505050565b6000614119611814565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561419a57604051635fde02f960e01b815260040160405180910390fd5b60008290036141bc576040516366e0344f60e01b815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016141e5848683615956565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161421b93929190615a9b565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b8086843782018085156142ab575b835187018035602082018337600038823584305af4614276573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614254575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6060826142df46614929565b6142e83061496d565b6142f185614929565b6040516020016143049493929190615cdc565b604051602081830303815290604052905092915050565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e8a83398151915280614372848683615956565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e00806143c5858783615956565b5060018101611c68838583615956565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b611d1e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614e49565b6144617ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614e49565b80600080516020615e0a833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020016117f3565b6144cd7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614e49565b6001600160a01b0381161561357a57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00613796565b61452e7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614e49565b6001600160a01b0381161561357a57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612f4c565b61458f7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614e49565b801561357a57600080516020615e6a833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020016117f3565b61460d7fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614e49565b6001600160a01b0381161561357a5780600080516020615eea83398151915261222d565b6121ea7f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614e49565b6146877f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614e49565b80156146c557604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac390602401611882565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6121ea7fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614e49565b6121ea7fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614e49565b614764614ebb565b60005b838110156148265761481e85858381811061478457614784615a63565b90506020028101906147969190615d62565b358686848181106147a9576147a9615a63565b90506020028101906147bb9190615d62565b602001358787858181106147d1576147d1615a63565b90506020028101906147e39190615d62565b604001358888868181106147f9576147f9615a63565b905060200281019061480b9190615d62565b614819906060810190615b67565b61411e565b600101614767565b5060005b818110156118ae576148b983838381811061484757614847615a63565b90506020028101906148599190615d82565b3584848481811061486c5761486c615a63565b905060200281019061487e9190615d82565b6020013585858581811061489457614894615a63565b90506020028101906148a69190615d82565b6148b4906040810190615b67565b614015565b60010161482a565b600080516020615eaa833981519152806148dc848683615956565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480614944575050819003601f19909101908152919050565b606061497882614ee6565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061147957506001600160e01b0319821663513fc9dd60e11b1492915050565b60006149d282614991565b8061147957506001600160e01b03198216638bd8666560e01b1492915050565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b60008181527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff16156119df5760405163149eae5760e01b815260040160405180910390fd5b6001600160a01b038316614ace577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614ac590615dae565b90915550505050565b6001600160a01b0382166119df577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614ac590615dc7565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b031680614b415750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b17905251614ba29190615dde565b6000604051808303816000865af19150503d8060008114611d9f576040519150601f19603f3d011682016040523d82523d6000602084013e611d9f565b6bffffffffffffffffffffffff1661271080821115614c065763350a88b36000526004601cfd5b8260601b80614c1d5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b600080516020615e0a83398151915254811061357a5760405163ba470cd560e01b815260040160405180910390fd5b600080516020615eea8339815191525460009081906001600160a01b031680614c8f5750600091508190508061211b565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614ce2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d069190615df0565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015614d8157600080fd5b505af4158015614d95573d6000803e3d6000fd5b505050505050505050565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614dde5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614e135767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a461163860008383613c4a565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613d58565b6121ea7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614e49565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614f26575050919050565b600060208284031215614f6757600080fd5b81356001600160e01b0319811681146120c757600080fd5b60005b83811015614f9a578181015183820152602001614f82565b50506000910152565b60008151808452614fbb816020860160208601614f7f565b601f01601f19169290920160200192915050565b6020815260006120c76020830184614fa3565b600060208284031215614ff457600080fd5b5035919050565b80356001600160a01b0381168114611fe557600080fd5b803565ffffffffffff81168114611fe557600080fd5b60008083601f84011261503a57600080fd5b5081356001600160401b0381111561505157600080fd5b6020830191508360208260051b85010111156129fd57600080fd5b60008060008060008060008060006101008a8c03121561508b57600080fd5b8935985060208a0135600981106150a157600080fd5b975060408a0135600781106150b557600080fd5b96506150c360608b01614ffb565b95506150d160808b01615012565b945060a08a0135935060c08a0135925060e08a01356001600160401b038111156150fa57600080fd5b6151068c828d01615028565b915080935050809150509295985092959850929598565b6000806040838503121561513057600080fd5b61513983614ffb565b946020939093013593505050565b60008083601f84011261515957600080fd5b5081356001600160401b0381111561517057600080fd5b6020830191508360208285010111156129fd57600080fd5b60008060006040848603121561519d57600080fd5b8335925060208401356001600160401b038111156151ba57600080fd5b6151c686828701615147565b9497909650939450505050565b80358015158114611fe557600080fd5b6000602082840312156151f557600080fd5b6120c7826151d3565b60006020828403121561521057600080fd5b6120c782614ffb565b60008060006060848603121561522e57600080fd5b61523784614ffb565b925061524560208501614ffb565b929592945050506040919091013590565b6000806040838503121561526957600080fd5b50508035926020909101359150565b803561ffff81168114611fe557600080fd5b6000806040838503121561529d57600080fd5b6152a683614ffb565b91506152b460208401615278565b90509250929050565b600080600080606085870312156152d357600080fd5b843593506020850135925060408501356001600160401b038111156152f757600080fd5b61530387828801615147565b95989497509550505050565b600081518084526020840193506020830160005b82811015615341578151865260209586019590910190600101615323565b5093949350505050565b6020815260006120c7602083018461530f565b8281526040602082015260006122e16040830184614fa3565b60008060006060848603121561538c57600080fd5b505081359360208301359350604090920135919050565b6040815260006153b6604083018561530f565b90508260208301529392505050565b6000806000606084860312156153da57600080fd5b8335925060208401356002811061524557600080fd5b6000806040838503121561540357600080fd5b61540c83614ffb565b91506152b4602084016151d3565b60008060008060006080868803121561543257600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561545d57600080fd5b61546988828901615147565b969995985093965092949392505050565b6000806020838503121561548d57600080fd5b82356001600160401b038111156154a357600080fd5b6154af85828601615147565b90969095509350505050565b6000806000606084860312156154d057600080fd5b6154d984614ffb565b92506154e760208501614ffb565b91506154f560408501614ffb565b90509250925092565b6000806020838503121561551157600080fd5b82356001600160401b0381111561552757600080fd5b6154af85828601615028565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561558c57603f19878603018452615577858351614fa3565b9450602093840193919091019060010161555b565b50929695505050505050565b6000806000806000608086880312156155b057600080fd5b6155b986614ffb565b94506155c760208701614ffb565b93506040860135925060608601356001600160401b0381111561545d57600080fd5b634e487b7160e01b600052602160045260246000fd5b6002811061560f5761560f6155e9565b9052565b6040810161562182856155ff565b8260208301529392505050565b60006020828403121561564057600080fd5b81356001600160401b0381111561565657600080fd5b820161026081850312156120c757600080fd5b6000806040838503121561567c57600080fd5b61568583614ffb565b91506152b460208401614ffb565b6009811061560f5761560f6155e9565b6007811061560f5761560f6155e9565b600061010082018a151583526156cc602084018b615693565b6156d9604084018a6156a3565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b8281101561575c5761011f19878603018452615747858351614fa3565b9450602093840193919091019060010161572a565b50929d9c50505050505050505050505050565b600181811c9082168061578357607f821691505b602082108103611e1557634e487b7160e01b600052602260045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157e3602084018c615693565b6157f0604084018b6156a3565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158b25786850361011f19018452823581811261586157600080fd5b89016020810190356001600160401b0381111561587d57600080fd5b80360382131561588c57600080fd5b6158978782846157a3565b96505050602083019250602084019350600182019150615841565b50929e9d5050505050505050505050505050565b8481526060602082015260006158e06060830185876157a3565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f8211156119df57806000526020600020601f840160051c810160208510156159365750805b601f840160051c820191505b818110156118ae5760008155600101615942565b6001600160401b0383111561596d5761596d6158f9565b6159818361597b835461576f565b8361590f565b6000601f8411600181146159b5576000851561599d5750838201355b600019600387901b1c1916600186901b1783556118ae565b600083815260209020601f19861690835b828110156159e657868501358255602094850194600190920191016159c6565b5086821015615a035760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020815260006122e16020830184866157a3565b858152846020820152608060408201526000615a496080830185876157a3565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b83815260608101615a8d60208301856155ff565b826040830152949350505050565b838152604060208201526000615ab56040830184866157a3565b95945050505050565b600060208284031215615ad057600080fd5b81516001600160401b03811115615ae657600080fd5b8201601f81018413615af757600080fd5b80516001600160401b03811115615b1057615b106158f9565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615b3e57615b3e6158f9565b604052818152828201602001861015615b5657600080fd5b615ab5826020830160208601614f7f565b6000808335601e19843603018112615b7e57600080fd5b8301803591506001600160401b03821115615b9857600080fd5b6020019150368190038213156129fd57600080fd5b600060208284031215615bbf57600080fd5b6120c782615278565b6000808335601e19843603018112615bdf57600080fd5b8301803591506001600160401b03821115615bf957600080fd5b6020019150600581901b36038213156129fd57600080fd5b60008151615c23818560208601614f7f565b9290920192915050565b6000808554615c3b8161576f565b600182168015615c525760018114615c6757615c97565b60ff1983168652811515820286019350615c97565b88600052602060002060005b83811015615c8f57815488820152600190910190602001615c73565b505081860193505b505050602f60f81b81528451615cb4816001840160208901614f7f565b01615cc560018201602f60f81b9052565b615cd26002820185615c11565b9695505050505050565b60008551615cee818460208a01614f7f565b602f60f81b9083019081528551615d0c816001840160208a01614f7f565b602f60f81b600192909101918201528451615d2e816002840160208901614f7f565b600181830101915050602f60f81b60018201528351615d54816002840160208801614f7f565b016002019695505050505050565b60008235607e19833603018112615d7857600080fd5b9190910192915050565b60008235605e19833603018112615d7857600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201615dc057615dc0615d98565b5060010190565b600081615dd657615dd6615d98565b506000190190565b60008251615d78818460208701614f7f565b600060208284031215615e0257600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b600a26469706673582212200e46828ed70d2fd681822819eb639f53300aa7787f70f902a697ea2a15cc785964736f6c634300081c0033";
14
- export const seriesCodeAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "clearContractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "clearTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "configureTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "configureTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "dependenciesLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyByIndex", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockDependencies", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockScript", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintMany", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "exists", "type": "bool", "internalType": "bool" }, { "name": "paramType", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "removeLastDependency", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLastScriptChunk", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "scriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "scriptChunkCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "scriptLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "seedSource", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDelegateRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependency", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependencyRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamHooks", "inputs": [{ "name": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setScriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "chunk", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSeedSource", "inputs": [{ "name": "source", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SeedSourceSet", "inputs": [{ "name": "seedSource", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "SchemaGoverned", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "SeedSettled", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
15
- export const seriesCodeBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f3f8061008d6000396000f3fe6080604052600436106105e05760003560e01c806384f6687f1161030e578063c87b56dd1161019b578063e4df18ec116100e7578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc81461131b578063fca3b5aa1461133b578063fee81cf41461135b578063ff87a5f51461138e57600080fd5b8063f04e283e146112c1578063f2235701146112d4578063f2fde38b1461130857600080fd5b8063e4df18ec146111dc578063e8a3d485146111fc578063e8dc3e0914611211578063e985e9c514611261578063ea58f97114611297578063ee748f2c146112ac57600080fd5b8063da2bbfc711610154578063e1c2ffad1161012e578063e1c2ffad14611167578063e2969ba71461117c578063e318ea9f1461119c578063e42b7baf146111bc57600080fd5b8063da2bbfc714611112578063dc98387914611132578063e1b793811461114757600080fd5b8063c87b56dd14611065578063cc1cf51514611085578063cfc59afd146110a5578063d50bac33146110d3578063d8b4f8ac146110e8578063d90f5df2146110fd57600080fd5b80639aa1a1f01161025a578063ac9650d811610213578063b88d4fde116101ed578063b88d4fde14610ff2578063bb77e79614611005578063c3e617a214611025578063c4f260481461104557600080fd5b8063ac9650d814610fa8578063ac998f4514610fc8578063b478424714610fdd57600080fd5b80639aa1a1f014610eae578063a148d8cf14610ece578063a22cb46514610f28578063a482c94614610f48578063a8cdf07814610f68578063aa0de18d14610f8857600080fd5b8063913b385a116102c757806395d89b41116102a157806395d89b4114610e4457806396f4205a14610e5957806397e950f714610e795780639a5db50314610e9957600080fd5b8063913b385a14610def57806392b29b1714610e0f57806392d9906f14610e2f57600080fd5b806384f6687f14610d4157806386b7f6a414610d615780638da5cb5b14610d815780638e08141f14610d9a5780638e4cc07014610dba578063909206e314610dda57600080fd5b80633dda44b01161048c5780636352211e116103d85780636cbdef6111610391578063738e14961161036b578063738e149614610ca957806375794a3c14610cd55780637b1d470714610cea5780637d0b7ae414610d0a57600080fd5b80636cbdef6114610c6c57806370a0823114610c81578063715018a614610ca157600080fd5b80636352211e14610bac5780636905337414610bcc5780636a62784214610bec5780636aaf760714610c0c5780636bd3922214610c2c5780636cb0281814610c4c57600080fd5b806355580cca116104455780635b02f81c1161041f5780635b02f81c14610b245780635c975abb14610b525780635e5a9e3014610b775780635e83065614610b8c57600080fd5b806355580cca14610aa957806355828c5014610acb5780635a50ca6514610af957600080fd5b80633dda44b014610a0b57806342842e0e14610a2b5780634331f63914610a3e5780634aa3adb314610a5e5780634efdb5ae14610a8157806354d1f13d14610aa157600080fd5b80631c31cac31161054b578063261220a3116105045780632a55205a116104de5780632a55205a146108c05780632e73cddb146108ff5780633990b2211461094e5780633c59f1bb1461096e57600080fd5b8063261220a31461087657806326dfe8c71461088b578063298bb40e146108ab57600080fd5b80631c31cac31461079357806320ac0944146107b35780632352b33f146107c857806323b872dd1461084657806325628d3414610859578063256929621461086e57600080fd5b80630b4c562b1161059d5780630b4c562b146106be57806313bfffac146106de5780631622326a1461071b57806316c38b3c1461073b57806317afae431461075b57806318160ddd1461077057600080fd5b806301ffc9a7146105e557806306fdde031461061a578063075461721461063c578063081812fc1461066957806308a3839514610689578063095ea7b3146106ab575b600080fd5b3480156105f157600080fd5b50610605610600366004614f55565b6113ae565b60405190151581526020015b60405180910390f35b34801561062657600080fd5b5061062f61147f565b6040516106119190614fcf565b34801561064857600080fd5b50610651611531565b6040516001600160a01b039091168152602001610611565b34801561067557600080fd5b50610651610684366004614fe2565b611564565b34801561069557600080fd5b506106a96106a436600461506c565b6115a3565b005b6106a96106b936600461511d565b61162d565b3480156106ca57600080fd5b506106a96106d9366004615188565b61163c565b3480156106ea57600080fd5b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e04546001600160a01b0316610651565b34801561072757600080fd5b506106a9610736366004615188565b6116c2565b34801561074757600080fd5b506106a96107563660046151e3565b6117a1565b34801561076757600080fd5b506106516117fe565b34801561077c57600080fd5b50610785611814565b604051908152602001610611565b34801561079f57600080fd5b506106a96107ae3660046151fe565b61183e565b3480156107bf57600080fd5b506106516118b5565b3480156107d457600080fd5b506108296107e3366004614fe2565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610611565b6106a9610854366004615219565b6118d9565b34801561086557600080fd5b506106a96119e4565b6106a9611a4a565b34801561088257600080fd5b5061062f611a99565b34801561089757600080fd5b506106a96108a63660046151fe565b611aaf565b3480156108b757600080fd5b5061062f611b75565b3480156108cc57600080fd5b506108e06108db366004615256565b611b8b565b604080516001600160a01b039093168352602083019190915201610611565b34801561090b57600080fd5b5061060561091a366004614fe2565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561095a57600080fd5b506106a9610969366004615256565b611be0565b34801561097a57600080fd5b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0354604080516001600160a01b0394851681529284166020840152921691810191909152606001610611565b348015610a1757600080fd5b506106a9610a26366004615256565b611c70565b6106a9610a39366004615219565b611ce9565b348015610a4a57600080fd5b506106a9610a5936600461528a565b611d16565b348015610a6a57600080fd5b5060015b60405161ffff9091168152602001610611565b348015610a8d57600080fd5b506106a9610a9c3660046152bd565b611d28565b6106a9611da9565b348015610ab557600080fd5b50610abe611de5565b604051610611919061534b565b348015610ad757600080fd5b50610aeb610ae6366004614fe2565b611e1b565b60405161061192919061535e565b348015610b0557600080fd5b50600080516020615eca833981519152546001600160a01b0316610651565b348015610b3057600080fd5b50610b44610b3f366004615377565b611eeb565b6040516106119291906153a3565b348015610b5e57600080fd5b50600080516020615e6a8339815191525460ff16610605565b348015610b8357600080fd5b506106a9611f34565b348015610b9857600080fd5b506106a9610ba736600461511d565b611f87565b348015610bb857600080fd5b50610651610bc7366004614fe2565b611fac565b348015610bd857600080fd5b506106a9610be7366004614fe2565b611fea565b348015610bf857600080fd5b50610785610c073660046151fe565b61203c565b348015610c1857600080fd5b5061062f610c27366004614fe2565b61204f565b348015610c3857600080fd5b50610829610c47366004615256565b6120ce565b348015610c5857600080fd5b5061062f610c67366004614fe2565b612122565b348015610c7857600080fd5b50610785612187565b348015610c8d57600080fd5b50610785610c9c3660046151fe565b61219d565b6106a96121d8565b348015610cb557600080fd5b50600080516020615eca83398151915254600160a01b900460ff16610605565b348015610ce157600080fd5b506107856121ec565b348015610cf657600080fd5b506106a9610d053660046151fe565b612214565b348015610d1657600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610605565b348015610d4d57600080fd5b5061062f610d5c366004615256565b612277565b348015610d6d57600080fd5b506106a9610d7c366004615377565b6122e9565b348015610d8d57600080fd5b50638b78c6d81954610651565b348015610da657600080fd5b506106a9610db5366004614fe2565b612350565b348015610dc657600080fd5b506106a9610dd53660046153c5565b6123ba565b348015610de657600080fd5b50610abe6123fd565b348015610dfb57600080fd5b506106a9610e0a3660046152bd565b61242d565b348015610e1b57600080fd5b506106a9610e2a366004615377565b612441565b348015610e3b57600080fd5b506107856124aa565b348015610e5057600080fd5b5061062f6124d2565b348015610e6557600080fd5b506106a9610e743660046151fe565b612504565b348015610e8557600080fd5b506106a9610e94366004614fe2565b61254c565b348015610ea557600080fd5b506106a96125e8565b348015610eba57600080fd5b506106a9610ec9366004615188565b612634565b348015610eda57600080fd5b50610605610ee9366004615256565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610f3457600080fd5b506106a9610f433660046153f0565b612677565b348015610f5457600080fd5b506106a9610f6336600461541a565b6126cd565b348015610f7457600080fd5b506106a9610f8336600461547a565b6126e2565b348015610f9457600080fd5b506106a9610fa33660046154bb565b61276d565b610fbb610fb63660046154fe565b6127c5565b6040516106119190615533565b348015610fd457600080fd5b506106056127e4565b348015610fe957600080fd5b506106a9612809565b6106a9611000366004615598565b612855565b34801561101157600080fd5b5061062f611020366004614fe2565b6128a9565b34801561103157600080fd5b506106a961104036600461547a565b61296a565b34801561105157600080fd5b50610b44611060366004615256565b6129c9565b34801561107157600080fd5b5061062f611080366004614fe2565b612a04565b34801561109157600080fd5b50610b446110a0366004615256565b612c60565b3480156110b157600080fd5b506110c56110c0366004614fe2565b612c8f565b604051610611929190615613565b3480156110df57600080fd5b50610651612d14565b3480156110f457600080fd5b50610651612d2a565b34801561110957600080fd5b50610785612d52565b34801561111e57600080fd5b506106a961112d36600461547a565b612d68565b34801561113e57600080fd5b506106a9612e3e565b34801561115357600080fd5b50610abe611162366004614fe2565b612e8a565b34801561117357600080fd5b506106a9612ece565b34801561118857600080fd5b506106a96111973660046151fe565b612f21565b3480156111a857600080fd5b506106a96111b736600461562e565b612f96565b3480156111c857600080fd5b506106a96111d73660046152bd565b61322e565b3480156111e857600080fd5b50610aeb6111f7366004615256565b613280565b34801561120857600080fd5b5061062f61335d565b34801561121d57600080fd5b50610a6e61122c366004614fe2565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561126d57600080fd5b5061060561127c366004615669565b601c52670a5a2e7a000000006008526000526030600c205490565b3480156112a357600080fd5b50610605613511565b3480156112b857600080fd5b5061062f613527565b6106a96112cf3660046151fe565b61353d565b3480156112e057600080fd5b506112f46112ef366004614fe2565b61357d565b6040516106119897969594939291906156b3565b6106a96113163660046151fe565b6136eb565b34801561132757600080fd5b506106a9611336366004615256565b613712565b34801561134757600080fd5b506106a96113563660046151fe565b61376b565b34801561136757600080fd5b506107856113763660046151fe565b63389a75e1600c908152600091909152602090205490565b34801561139a57600080fd5b506106a96113a93660046151fe565b6137e0565b60006113b9826138b1565b806113c857506113c8826138e8565b806113d757506113d78261392d565b806113e657506113e682613958565b806113f557506113f582613985565b806114045750611404826139b0565b806114135750611413826139db565b80611422575061142282613a06565b80611431575061143182613a31565b80611440575061144082613a5c565b8061144f575061144f82613a87565b8061145e575061145e82613ab2565b8061147957506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546114ae9061576f565b80601f01602080910402602001604051908101604052809291908181526020018280546114da9061576f565b80156115275780601f106114fc57610100808354040283529160200191611527565b820191906000526020600020905b81548152906001019060200180831161150a57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6115995763ceea21b66000526004601cfd5b6001015492915050565b6115ab613add565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906115f2908c908c908c908c908c908c908c908c908c906004016157cc565b60006040518083038186803b15801561160a57600080fd5b505af415801561161e573d6000803e3d6000fd5b50505050505050505050505050565b611638338383613af8565b5050565b611644613add565b61165060008085613b99565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a9061168d9086908690869033906004016158c6565b60006040518083038186803b1580156116a557600080fd5b505af41580156116b9573d6000803e3d6000fd5b50505050505050565b6116ca613add565b600080516020615e2a83398151915254600080516020615e8a83398151915290600160a01b900460ff16156117125760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061172d838583615956565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051611760929190615a15565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6117a9613add565b600080516020615e6a833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615eea833981519152611555565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b611846613add565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b15801561189a57600080fd5b505af41580156118ae573d6000803e3d6000fd5b5050505050565b6000600080516020615e4a8339815191525b600101546001600160a01b0316919050565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b03948516949384169381169190828614830261192b5767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611959576030600c205461195957634b6e7f186000526004601cfd5b821561196757600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119aa5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a46119df838383613c4a565b505050565b6119ec613add565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a3057600080fd5b505af4158015611a44573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e8a8339815191526114a3565b611ab7613add565b600080516020615eca83398151915254600080516020615eaa83398151915290600160a01b900460ff1615611aff576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615eaa8339815191526114a3565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611bbf576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611be8613add565b611bf460008084613b99565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611c5457600080fd5b505af4158015611c68573d6000803e3d6000fd5b505050505050565b611c78613add565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611cf48383836118d9565b813b156119df576119df83838360405180602001604052806000815250613c60565b611d1e613add565b6116388282613ce4565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d1485858585611d53638b78c6d8195490565b6040518663ffffffff1660e01b8152600401611d73959493929190615a29565b60006040518083038186803b158015611d8b57600080fd5b505af4158015611d9f573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060611e157ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853066000600019613db1565b50919050565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545026020526040812080546001820180546060939291908190611e619061576f565b80601f0160208091040260200160405190810160405280929190818152602001828054611e8d9061576f565b8015611eda5780601f10611eaf57610100808354040283529160200191611eda565b820191906000526020600020905b815481529060010190602001808311611ebd57829003601f168201915b505050505090509250925050915091565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853046020526040812060609190611f27908585613db1565b915091505b935093915050565b611f3c613add565b600080516020615e2a833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611f8f613e7e565b60005b818110156119df57611fa383613f00565b50600101611f92565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b031680611fe55763ceea21b66000526004601cfd5b919050565b611ff2613add565b611ffe60008083613b99565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec90604401611882565b6000612046613e7e565b61147982613f00565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061209557604051633fa417ed60e11b815260040160405180910390fd5b6120c78160000184815481106120ad576120ad615a63565b6000918252602090912001546001600160a01b0316613fa9565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156121705761216b81613fa9565b6120c7565b604051806020016040528060008152509392505050565b6000600080516020615e0a833981519152611838565b6000816121b257638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b6121e0613add565b6121ea6000613fd7565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611838565b61221c613add565b80600080516020615eea8339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b031680156122d0576122cb81613fa9565b6122e1565b604051806020016040528060008152505b949350505050565b6122f1613add565b6122fd60018484613b99565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40161168d565b612358613add565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6123c2613add565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee459061168d90869086908690600401615a79565b6060611e157f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e056000600019613db1565b612435613add565b611a4484848484614015565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d644684848461246b638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b0316606482015260840161168d565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900611838565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546114ae9061576f565b61250c613add565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a90602401611882565b612554613add565b600080516020615e0a833981519152805482111561258557604051632b953d0360e11b815260040160405180910390fd5b61258d61410f565b8210156125ad57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6125f0613add565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a3057600080fd5b61263c613add565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f09061168d90869086908690600401615a9b565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6126d5613add565b6118ae858585858561411e565b6126ea613add565b600080516020615eca83398151915254600080516020615eaa83398151915290600160a01b900460ff1615612732576040516352be865b60e01b815260040160405180910390fd5b8061273e838583615956565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b612775613add565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d9060640161168d565b606034156127d257600080fd5b6114796127df848461422c565b6142c3565b6000600080516020615e8a8339815191525b60010154600160a01b900460ff16919050565b612811613add565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a3057600080fd5b6128608585856118d9565b833b156118ae576118ae85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613c6092505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906128e59061576f565b80601f01602080910402602001604051908101604052809291908181526020018280546129119061576f565b801561295e5780601f106129335761010080835404028352916020019161295e565b820191906000526020600020905b81548152906001019060200180831161294157829003601f168201915b50505050509050919050565b612972613add565b600080516020615eca83398151915254600080516020615eaa83398151915290600160a01b900460ff16156129ba576040516352be865b60e01b815260040160405180910390fd5b6001810161273e838583615956565b606060006129f87ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853068585613db1565b915091505b9250929050565b6060612a2e826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612a4b5760405163163a09e160e31b815260040160405180910390fd5b600080516020615e2a83398151915254600080516020615e8a833981519152906001600160a01b031615612af257600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612aca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120c79190810190615abe565b600083815260028201602052604081208054612b0d9061576f565b80601f0160208091040260200160405190810160405280929190818152602001828054612b399061576f565b8015612b865780601f10612b5b57610100808354040283529160200191612b86565b820191906000526020600020905b815481529060010190602001808311612b6957829003601f168201915b505050505090508051600014612b9d579392505050565b81548290612baa9061576f565b9050600003612bca57505060408051602081019091526000815292915050565b6122e1826000018054612bdc9061576f565b80601f0160208091040260200160405190810160405280929190818152602001828054612c089061576f565b8015612c555780601f10612c2a57610100808354040283529160200191612c55565b820191906000526020600020905b815481529060010190602001808311612c3857829003601f168201915b5050505050856142d3565b606060006129f87f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e058585613db1565b600080516020615e4a833981519152805460009182918410612cc45760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612cdb57612cdb615a63565b60009182526020909120600290910201805490915060ff166001811115612d0457612d046155e9565b8160010154935093505050915091565b6000600080516020615e8a8339815191526118c7565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611555565b6000600080516020615e4a833981519152611838565b612d70613add565b600080516020615e2a83398151915254600080516020615e8a83398151915290600160a01b900460ff1615612db85760405163dd48f3ab60e01b815260040160405180910390fd5b80612dc4838583615956565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612df6929190615a15565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b612e46613add565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a3057600080fd5b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530460205260408120606091612ec79190600019613db1565b5092915050565b612ed6613add565b600080516020615eca833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612f29613add565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b63409feecd198054600382558015612fcd5760018160011c14303b10612fc45763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101200135600003612ff45760405163fe5afcb960e01b815260040160405180910390fd5b816101200135826102000135111561301f57604051633f63c5bf60e01b815260040160405180910390fd5b61303461302f60208401846151fe565b61431b565b6130596130446060840184615b67565b61305460a08601608087016151fe565b614357565b61307b6130696020840184615b67565b6130766040860186615b67565b614398565b6130836143d5565b6130ae613097610100840160e085016151fe565b6130a961012085016101008601615bad565b61440b565b6130bc826101200135614436565b6130d66130d1610180840161016085016151fe565b6144a2565b6130f06130eb610160840161014085016151fe565b614503565b61310a6131056101a0840161018085016151e3565b614564565b61312461311f6101c084016101a085016151fe565b6145e2565b61312c614631565b6131466131416101e084016101c085016151e3565b61465c565b61314e614706565b613156614731565b61317a613167610220840184615bc8565b613175610240860186615bc8565b61475c565b61319f61318a60a0840184615b67565b61319a60e0860160c087016151fe565b6148c1565b60006131b361020084016101e085016151fe565b6001600160a01b0316146131f65760005b8261020001358110156131f4576131eb6131e661020085016101e086016151fe565b613f00565b506001016131c4565b505b8015611638576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b613236613add565b61324260018585613b99565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed4830090611d739087908790879087903390600401615a29565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454500602090815260408083208484529091528120805460018201805460609392919081906132d19061576f565b80601f01602080910402602001604051908101604052809291908181526020018280546132fd9061576f565b801561334a5780601f1061331f5761010080835404028352916020019161334a565b820191906000526020600020905b81548152906001019060200180831161332d57829003601f168201915b5050505050905092509250509250929050565b600080516020615eca83398151915254606090600080516020615eaa833981519152906001600160a01b03161561340457600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa1580156133d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133fe9190810190615abe565b91505090565b8060010180546134139061576f565b1590506134ad578060010180546134299061576f565b80601f01602080910402602001604051908101604052809291908181526020018280546134559061576f565b80156134a25780601f10613477576101008083540402835291602001916134a2565b820191906000526020600020905b81548152906001019060200180831161348557829003601f168201915b505050505091505090565b805481906134ba9061576f565b90506000036134d757505060408051602081019091526000815290565b806134e146614929565b6134ea3061496d565b6040516020016134fc93929190615c2d565b60405160208183030381529060405291505090565b6000600080516020615e4a8339815191526127f6565b6060600080516020615eaa8339815191526124f6565b613545613add565b63389a75e1600c52806000526020600c20805442111561356d57636f5e88186000526004601cfd5b6000905561357a81613fd7565b50565b60008080808080806060817f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060008b8152602091825260408082208054600182015460028301546003840180548651818a0281018a0190975280875294985060ff80851698610100860482169862010000870490921697630100000087046001600160a01b031697600160b81b90970465ffffffffffff16969092849284015b828210156136c957838290600052602060002001805461363c9061576f565b80601f01602080910402602001604051908101604052809291908181526020018280546136689061576f565b80156136b55780601f1061368a576101008083540402835291602001916136b5565b820191906000526020600020905b81548152906001019060200180831161369857829003601f168201915b50505050508152602001906001019061361d565b5050505090509850985098509850985098509850985050919395975091939597565b6136f3613add565b8060601b61370957637448fbae6000526004601cfd5b61357a81613fd7565b61371a613add565b61372660018383613b99565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611c3c565b613773613add565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6137e8613add565b600080516020615e2a83398151915254600080516020615e8a83398151915290600160a01b900460ff16156138305760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016125dc565b60006138bc82614991565b806114795750611479826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613910826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806114795750506001600160e01b031916632483248360e11b1490565b600061393882614991565b8061147957506001600160e01b031982166307ccd03560e31b1492915050565b600061396382614991565b806114795750632a55205a60e083901c9081146301ffc9a79190911417611479565b600061399082614991565b8061147957506001600160e01b03198216636cbdef6160e01b1492915050565b60006139bb82614991565b8061147957506001600160e01b031982166303aa30b960e11b1492915050565b60006139e682614991565b8061147957506001600160e01b0319821663362d3e2b60e21b1492915050565b6000613a1182614991565b8061147957506001600160e01b03198216635c975abb60e01b1492915050565b6000613a3c82614991565b8061147957506001600160e01b031982166317afae4360e01b1492915050565b6000613a67826149c7565b8061147957506001600160e01b0319821663040a5d5760e51b1492915050565b6000613a9282614991565b8061147957506001600160e01b0319821663215f672360e21b1492915050565b6000613abd82614991565b8061147957506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d8195433146121ea576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c5260206000208201820180548216915081613b3f5763ceea21b66000526004601cfd5b818514851517613b6557816000526030600c2054613b6557634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b828015613bac5750631cd9595960e21b81145b8015613c095750631cd9595960e21b6000527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e006020527f59aef8a84236254bede197dcd6711409a45a4fb3879f18e18f1f3c49eaf2af825460ff16155b8015613c215750613c2182631cd9595960e21b6149f2565b15613c3f5760405163108e179760e11b815260040160405180910390fd5b6119df838383614a39565b613c55838383614a88565b6119df818484614b0b565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015613ca7578060c08401826020870160045afa505b60208360a48301601c860160008a5af1613cca573d15613cca573d6000843e3d83fd5b508060e01b825114611c685763d1a57ed66000526004601cfd5b6103e861ffff82161115613d0b5760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff16600003613d6457613d29600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613d72828261ffff16614bdf565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613d58565b8254606090808410613dd3576040805160008152602081019091529150611f2c565b83810383811115613de15750825b806001600160401b03811115613df957613df96158f9565b604051908082528060200260200182016040528015613e22578160200160208202803683370190505b50925060005b81811015613e74578681870181548110613e4457613e44615a63565b9060005260206000200154848281518110613e6157613e61615a63565b6020908102919091010152600101613e28565b5050935093915050565b638b78c6d819546001600160a01b03163303613e9657565b600080516020615e6a8339815191525460ff1615613ec7576040516375ab03ab60e11b815260040160405180910390fd5b613ecf611531565b6001600160a01b0316336001600160a01b0316146121ea5760405163263ab11d60e21b815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0054613f2b81614c2f565b613f3c81631cd9595960e21b6149f2565b613f74576000806000613f4f8486614c5e565b9250925092508215613f7057613f7084631cd9595960e21b84600085614d11565b5050505b613f7e8282614da0565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561408657604051635fde02f960e01b815260040160405180910390fd5b60008290036140a8576040516366e0344f60e01b815260040160405180910390fd5b60008581526002820160205260409020848155600181016140ca848683615956565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516140ff93929190615a9b565b60405180910390a2505050505050565b6000614119611814565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561419a57604051635fde02f960e01b815260040160405180910390fd5b60008290036141bc576040516366e0344f60e01b815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016141e5848683615956565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161421b93929190615a9b565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b8086843782018085156142ab575b835187018035602082018337600038823584305af4614276573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614254575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6060826142df46614929565b6142e83061496d565b6142f185614929565b6040516020016143049493929190615cdc565b604051602081830303815290604052905092915050565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e8a83398151915280614372848683615956565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e00806143c5858783615956565b5060018101611c68838583615956565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b611d1e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614e49565b6144617ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614e49565b80600080516020615e0a833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020016117f3565b6144cd7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614e49565b6001600160a01b0381161561357a57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00613796565b61452e7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614e49565b6001600160a01b0381161561357a57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612f4c565b61458f7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614e49565b801561357a57600080516020615e6a833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020016117f3565b61460d7fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614e49565b6001600160a01b0381161561357a5780600080516020615eea83398151915261222d565b6121ea7f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614e49565b6146877f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614e49565b80156146c557604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac390602401611882565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6121ea7fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614e49565b6121ea7fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614e49565b614764614ebb565b60005b838110156148265761481e85858381811061478457614784615a63565b90506020028101906147969190615d62565b358686848181106147a9576147a9615a63565b90506020028101906147bb9190615d62565b602001358787858181106147d1576147d1615a63565b90506020028101906147e39190615d62565b604001358888868181106147f9576147f9615a63565b905060200281019061480b9190615d62565b614819906060810190615b67565b61411e565b600101614767565b5060005b818110156118ae576148b983838381811061484757614847615a63565b90506020028101906148599190615d82565b3584848481811061486c5761486c615a63565b905060200281019061487e9190615d82565b6020013585858581811061489457614894615a63565b90506020028101906148a69190615d82565b6148b4906040810190615b67565b614015565b60010161482a565b600080516020615eaa833981519152806148dc848683615956565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480614944575050819003601f19909101908152919050565b606061497882614ee6565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061147957506001600160e01b0319821663513fc9dd60e11b1492915050565b60006149d282614991565b8061147957506001600160e01b03198216638bd8666560e01b1492915050565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b60008181527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff16156119df5760405163149eae5760e01b815260040160405180910390fd5b6001600160a01b038316614ace577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614ac590615dae565b90915550505050565b6001600160a01b0382166119df577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614ac590615dc7565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b031680614b415750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b17905251614ba29190615dde565b6000604051808303816000865af19150503d8060008114611d9f576040519150601f19603f3d011682016040523d82523d6000602084013e611d9f565b6bffffffffffffffffffffffff1661271080821115614c065763350a88b36000526004601cfd5b8260601b80614c1d5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b600080516020615e0a83398151915254811061357a5760405163ba470cd560e01b815260040160405180910390fd5b600080516020615eea8339815191525460009081906001600160a01b031680614c8f5750600091508190508061211b565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614ce2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d069190615df0565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015614d8157600080fd5b505af4158015614d95573d6000803e3d6000fd5b505050505050505050565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614dde5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614e135767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a461163860008383613c4a565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613d58565b6121ea7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614e49565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614f26575050919050565b600060208284031215614f6757600080fd5b81356001600160e01b0319811681146120c757600080fd5b60005b83811015614f9a578181015183820152602001614f82565b50506000910152565b60008151808452614fbb816020860160208601614f7f565b601f01601f19169290920160200192915050565b6020815260006120c76020830184614fa3565b600060208284031215614ff457600080fd5b5035919050565b80356001600160a01b0381168114611fe557600080fd5b803565ffffffffffff81168114611fe557600080fd5b60008083601f84011261503a57600080fd5b5081356001600160401b0381111561505157600080fd5b6020830191508360208260051b85010111156129fd57600080fd5b60008060008060008060008060006101008a8c03121561508b57600080fd5b8935985060208a0135600981106150a157600080fd5b975060408a0135600781106150b557600080fd5b96506150c360608b01614ffb565b95506150d160808b01615012565b945060a08a0135935060c08a0135925060e08a01356001600160401b038111156150fa57600080fd5b6151068c828d01615028565b915080935050809150509295985092959850929598565b6000806040838503121561513057600080fd5b61513983614ffb565b946020939093013593505050565b60008083601f84011261515957600080fd5b5081356001600160401b0381111561517057600080fd5b6020830191508360208285010111156129fd57600080fd5b60008060006040848603121561519d57600080fd5b8335925060208401356001600160401b038111156151ba57600080fd5b6151c686828701615147565b9497909650939450505050565b80358015158114611fe557600080fd5b6000602082840312156151f557600080fd5b6120c7826151d3565b60006020828403121561521057600080fd5b6120c782614ffb565b60008060006060848603121561522e57600080fd5b61523784614ffb565b925061524560208501614ffb565b929592945050506040919091013590565b6000806040838503121561526957600080fd5b50508035926020909101359150565b803561ffff81168114611fe557600080fd5b6000806040838503121561529d57600080fd5b6152a683614ffb565b91506152b460208401615278565b90509250929050565b600080600080606085870312156152d357600080fd5b843593506020850135925060408501356001600160401b038111156152f757600080fd5b61530387828801615147565b95989497509550505050565b600081518084526020840193506020830160005b82811015615341578151865260209586019590910190600101615323565b5093949350505050565b6020815260006120c7602083018461530f565b8281526040602082015260006122e16040830184614fa3565b60008060006060848603121561538c57600080fd5b505081359360208301359350604090920135919050565b6040815260006153b6604083018561530f565b90508260208301529392505050565b6000806000606084860312156153da57600080fd5b8335925060208401356002811061524557600080fd5b6000806040838503121561540357600080fd5b61540c83614ffb565b91506152b4602084016151d3565b60008060008060006080868803121561543257600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561545d57600080fd5b61546988828901615147565b969995985093965092949392505050565b6000806020838503121561548d57600080fd5b82356001600160401b038111156154a357600080fd5b6154af85828601615147565b90969095509350505050565b6000806000606084860312156154d057600080fd5b6154d984614ffb565b92506154e760208501614ffb565b91506154f560408501614ffb565b90509250925092565b6000806020838503121561551157600080fd5b82356001600160401b0381111561552757600080fd5b6154af85828601615028565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561558c57603f19878603018452615577858351614fa3565b9450602093840193919091019060010161555b565b50929695505050505050565b6000806000806000608086880312156155b057600080fd5b6155b986614ffb565b94506155c760208701614ffb565b93506040860135925060608601356001600160401b0381111561545d57600080fd5b634e487b7160e01b600052602160045260246000fd5b6002811061560f5761560f6155e9565b9052565b6040810161562182856155ff565b8260208301529392505050565b60006020828403121561564057600080fd5b81356001600160401b0381111561565657600080fd5b820161026081850312156120c757600080fd5b6000806040838503121561567c57600080fd5b61568583614ffb565b91506152b460208401614ffb565b6009811061560f5761560f6155e9565b6007811061560f5761560f6155e9565b600061010082018a151583526156cc602084018b615693565b6156d9604084018a6156a3565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b8281101561575c5761011f19878603018452615747858351614fa3565b9450602093840193919091019060010161572a565b50929d9c50505050505050505050505050565b600181811c9082168061578357607f821691505b602082108103611e1557634e487b7160e01b600052602260045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157e3602084018c615693565b6157f0604084018b6156a3565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158b25786850361011f19018452823581811261586157600080fd5b89016020810190356001600160401b0381111561587d57600080fd5b80360382131561588c57600080fd5b6158978782846157a3565b96505050602083019250602084019350600182019150615841565b50929e9d5050505050505050505050505050565b8481526060602082015260006158e06060830185876157a3565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f8211156119df57806000526020600020601f840160051c810160208510156159365750805b601f840160051c820191505b818110156118ae5760008155600101615942565b6001600160401b0383111561596d5761596d6158f9565b6159818361597b835461576f565b8361590f565b6000601f8411600181146159b5576000851561599d5750838201355b600019600387901b1c1916600186901b1783556118ae565b600083815260209020601f19861690835b828110156159e657868501358255602094850194600190920191016159c6565b5086821015615a035760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020815260006122e16020830184866157a3565b858152846020820152608060408201526000615a496080830185876157a3565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b83815260608101615a8d60208301856155ff565b826040830152949350505050565b838152604060208201526000615ab56040830184866157a3565b95945050505050565b600060208284031215615ad057600080fd5b81516001600160401b03811115615ae657600080fd5b8201601f81018413615af757600080fd5b80516001600160401b03811115615b1057615b106158f9565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615b3e57615b3e6158f9565b604052818152828201602001861015615b5657600080fd5b615ab5826020830160208601614f7f565b6000808335601e19843603018112615b7e57600080fd5b8301803591506001600160401b03821115615b9857600080fd5b6020019150368190038213156129fd57600080fd5b600060208284031215615bbf57600080fd5b6120c782615278565b6000808335601e19843603018112615bdf57600080fd5b8301803591506001600160401b03821115615bf957600080fd5b6020019150600581901b36038213156129fd57600080fd5b60008151615c23818560208601614f7f565b9290920192915050565b6000808554615c3b8161576f565b600182168015615c525760018114615c6757615c97565b60ff1983168652811515820286019350615c97565b88600052602060002060005b83811015615c8f57815488820152600190910190602001615c73565b505081860193505b505050602f60f81b81528451615cb4816001840160208901614f7f565b01615cc560018201602f60f81b9052565b615cd26002820185615c11565b9695505050505050565b60008551615cee818460208a01614f7f565b602f60f81b9083019081528551615d0c816001840160208a01614f7f565b602f60f81b600192909101918201528451615d2e816002840160208901614f7f565b600181830101915050602f60f81b60018201528351615d54816002840160208801614f7f565b016002019695505050505050565b60008235607e19833603018112615d7857600080fd5b9190910192915050565b60008235605e19833603018112615d7857600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201615dc057615dc0615d98565b5060010190565b600081615dd657615dd6615d98565b506000190190565b60008251615d78818460208701614f7f565b600060208284031215615e0257600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b600a26469706673582212200e46828ed70d2fd681822819eb639f53300aa7787f70f902a697ea2a15cc785964736f6c634300081c0033";
4
+ export const oneOfOneImageFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
5
+ export const oneOfOneImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b6145ed80610b4783390190565b608051610ab961008e6000396000818160ae015281816101300152818161016c015281816101a401526103900152610ab96000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c857b3e116100505780635c857b3e146100d0578063e08d54e914610103578063e2e4716b1461011657600080fd5b80635414dff01461006c5780635c60da1b146100a9575b600080fd5b61007f61007a3660046104e7565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6100f36100de366004610524565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f610111366004610558565b61015c565b61007f61012436600461059d565b61019d565b60006101567f000000000000000000000000000000000000000000000000000000000000000083306101d9565b92915050565b600061016782610236565b6101917f00000000000000000000000000000000000000000000000000000000000000008361029b565b905061015681846102b0565b60006101c87f000000000000000000000000000000000000000000000000000000000000000061040c565b90506101d481836102b0565b919050565b6000806102208560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061022d818585610419565b95945050505050565b606081901c8015801590610260575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610297576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006102a96000848461043b565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517fec49db7200000000000000000000000000000000000000000000000000000000815263ec49db72906103389084906004016107d9565b600060405180830381600087803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b50610378925050506020820182610524565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000610156600083610492565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104865763301164256000526004601cfd5b60006021529392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104dc5763301164256000526004601cfd5b600060215292915050565b6000602082840312156104f957600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d457600080fd5b60006020828403121561053657600080fd5b6102a982610500565b60006101a0828403121561055257600080fd5b50919050565b6000806040838503121561056b57600080fd5b823567ffffffffffffffff81111561058257600080fd5b61058e8582860161053f565b95602094909401359450505050565b6000602082840312156105af57600080fd5b813567ffffffffffffffff8111156105c657600080fd5b6105d28482850161053f565b949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261060f57600080fd5b830160208101925035905067ffffffffffffffff81111561062f57600080fd5b80360382131561063e57600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff811681146101d457600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106d557600080fd5b830160208101925035905067ffffffffffffffff8111156106f557600080fd5b8060051b360382131561063e57600080fd5b60008383855260208501945060208460051b8201018360005b868110156107cd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261078157600080fd5b8601803584526020808201359085015261079e60408201826105da565b9150606060408601526107b5606086018383610645565b60209a8b019a90955093909301925050600101610720565b50909695505050505050565b60208152610807602082016107ed84610500565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061081560208401610500565b73ffffffffffffffffffffffffffffffffffffffff811660408401525061083f60408401846105da565b6101a060608501526108566101c085018284610645565b91505061086660608501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301608086015261089b838284610645565b925050506108ac60808501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160a08601526108e1838284610645565b925050506108f160a08501610500565b73ffffffffffffffffffffffffffffffffffffffff811660c08501525061091b60c08501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160e0860152610950838284610645565b9250505061096060e08501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101008501525061098b6101008501610500565b73ffffffffffffffffffffffffffffffffffffffff8116610120850152506109b6610120850161068e565b61ffff8116610140850152506109cf6101408501610500565b73ffffffffffffffffffffffffffffffffffffffff8116610160850152506109fb6101608501856106a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610180860152610a31838284610707565b92505050610a436101808501856106a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016101a0860152610a79838284610707565b969550505050505056fea26469706673582212201cdde9f604419041239cbf4b04c478ef2c71234f2838f15d7e2c9c2c3db44ddd64736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6145608061008d6000396000f3fe60806040526004361061036b5760003560e01c80638da5cb5b116101c6578063c87b56dd116100f7578063e985e9c511610095578063f04e283e1161006f578063f04e283e14610b80578063f2fde38b14610b93578063fee81cf414610ba6578063ff87a5f514610bd957600080fd5b8063e985e9c514610b15578063ec49db7214610b4b578063ee748f2c14610b6b57600080fd5b8063e1c2ffad116100d1578063e1c2ffad14610a7b578063e4df18ec14610a90578063e8a3d48514610ab0578063e8dc3e0914610ac557600080fd5b8063c87b56dd146109f1578063d50bac3314610a11578063da2bbfc714610a5b57600080fd5b8063a8cdf07811610164578063ac998f451161013e578063ac998f451461094f578063b88d4fde1461099e578063bb77e796146109b1578063c3e617a2146109d157600080fd5b8063a8cdf078146108ef578063a9fc664e1461090f578063ac9650d81461092f57600080fd5b806395d89b41116101a057806395d89b4114610840578063a148d8cf14610855578063a22cb465146108af578063a482c946146108cf57600080fd5b80638da5cb5b146107cc5780638e08141f14610800578063913b385a1461082057600080fd5b80632e73cddb116102a05780635a50ca651161023e5780636a627842116102185780636a6278421461073557806370a0823114610755578063715018a614610775578063738e14961461077d57600080fd5b80635a50ca65146106b65780635e5a9e30146107005780636352211e1461071557600080fd5b80634331f6391161027a5780634331f6391461063d5780634aa3adb31461065d57806354d1f13d1461068057806355828c501461068857600080fd5b80632e73cddb146105bb5780633dda44b01461060a57806342842e0e1461062a57600080fd5b806318160ddd1161030d578063261220a3116102e7578063261220a31461052557806326dfe8c71461053a578063298bb40e1461055a5780632a55205a1461056f57600080fd5b806318160ddd146104cc57806323b872dd1461050a578063256929621461051d57600080fd5b8063095ea7b311610349578063095ea7b31461040c578063098144d4146104215780630d705df61461046b5780631622326a146104ac57600080fd5b806301ffc9a71461037057806306fdde03146103a5578063081812fc146103c7575b600080fd5b34801561037c57600080fd5b5061039061038b36600461387e565b610bf9565b60405190151581526020015b60405180910390f35b3480156103b157600080fd5b506103ba610c46565b60405161039c919061392e565b3480156103d357600080fd5b506103e76103e2366004613941565b610cf8565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161039c565b61041f61041a36600461397e565b610d4c565b005b34801561042d57600080fd5b507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff166103e7565b34801561047757600080fd5b50604080517fcaee23ea000000000000000000000000000000000000000000000000000000008152600160208201520161039c565b3480156104b857600080fd5b5061041f6104c73660046139ea565b610d5b565b3480156104d857600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b60405190815260200161039c565b61041f610518366004613a36565b610e88565b61041f610fde565b34801561053157600080fd5b506103ba61102e565b34801561054657600080fd5b5061041f610555366004613a73565b611056565b34801561056657600080fd5b506103ba61118f565b34801561057b57600080fd5b5061058f61058a366004613a8e565b6111b7565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161039c565b3480156105c757600080fd5b506103906105d6366004613941565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561061657600080fd5b5061041f610625366004613a8e565b61122a565b61041f610638366004613a36565b6112c1565b34801561064957600080fd5b5061041f610658366004613ac2565b6112ee565b34801561066957600080fd5b5060015b60405161ffff909116815260200161039c565b61041f611300565b34801561069457600080fd5b506106a86106a3366004613941565b61133c565b60405161039c929190613af5565b3480156106c257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166103e7565b34801561070c57600080fd5b5061041f61140c565b34801561072157600080fd5b506103e7610730366004613941565b61149d565b34801561074157600080fd5b5061041f610750366004613a73565b6114fd565b34801561076157600080fd5b506104fc610770366004613a73565b611513565b61041f611563565b34801561078957600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610390565b3480156107d857600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546103e7565b34801561080c57600080fd5b5061041f61081b366004613941565b611577565b34801561082c57600080fd5b5061041f61083b366004613b0e565b6115ff565b34801561084c57600080fd5b506103ba611619565b34801561086157600080fd5b50610390610870366004613a8e565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156108bb57600080fd5b5061041f6108ca366004613b61565b61164b565b3480156108db57600080fd5b5061041f6108ea366004613b9d565b6116a1565b3480156108fb57600080fd5b5061041f61090a366004613bfe565b6116bd565b34801561091b57600080fd5b5061041f61092a366004613a73565b611796565b61094261093d366004613c40565b611841565b60405161039c9190613cb7565b34801561095b57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610390565b61041f6109ac366004613d3a565b611860565b3480156109bd57600080fd5b506103ba6109cc366004613941565b6118b4565b3480156109dd57600080fd5b5061041f6109ec366004613bfe565b611975565b3480156109fd57600080fd5b506103ba610a0c366004613941565b611a22565b348015610a1d57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166103e7565b348015610a6757600080fd5b5061041f610a76366004613bfe565b611d30565b348015610a8757600080fd5b5061041f611e73565b348015610a9c57600080fd5b506106a8610aab366004613a8e565b611f04565b348015610abc57600080fd5b506103ba611fe2565b348015610ad157600080fd5b5061066d610ae0366004613941565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610b2157600080fd5b50610390610b30366004613d8c565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610b5757600080fd5b5061041f610b66366004613db6565b61220b565b348015610b7757600080fd5b506103ba6123d3565b61041f610b8e366004613a73565b6123fb565b61041f610ba1366004613a73565b612438565b348015610bb257600080fd5b506104fc610bc1366004613a73565b63389a75e1600c908152600091909152602090205490565b348015610be557600080fd5b5061041f610bf4366004613a73565b61245f565b6000610c04826125c8565b80610c135750610c13826125ff565b80610c225750610c2282612675565b80610c315750610c31826126d1565b80610c405750610c40826126fe565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610c7590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca190613df2565b8015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610d425763ceea21b66000526004601cfd5b6001015492915050565b610d573383836127ea565b5050565b610d636128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610df9576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610e14838583613ebb565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610e4792919061401e565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610e938383836128d6565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610f075767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610f35576030600c2054610f3557634b6e7f186000526004601cfd5b8215610f4357600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff81168402610fa45767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4610fd98383836128e1565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610c6a565b61105e6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156110f4576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610c6a565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836111eb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6112326128a0565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b6112cc838383610e88565b813b15610fd957610fd9838383604051806020016040528060008152506128ec565b6112f66128a0565b610d578282612978565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061138290613df2565b80601f01602080910402602001604051908101604052809291908181526020018280546113ae90613df2565b80156113fb5780601f106113d0576101008083540402835291602001916113fb565b820191906000526020600020905b8154815290600101906020018083116113de57829003601f168201915b505050505090509250925050915091565b6114146128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806114f85763ceea21b66000526004601cfd5b919050565b6115056128a0565b611510816000612a6b565b50565b60008161152857638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b61156b6128a0565b6115756000612b35565b565b61157f6128a0565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6116076128a0565b61161384848484612b9b565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610c7590613df2565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6116a96128a0565b6116b68585858585612cc7565b5050505050565b6116c56128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561175b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611767838583613ebb565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61179e6128a0565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611812576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156118375761183782612e07565b610d578183612e58565b6060341561184e57600080fd5b610c4061185b8484612ed5565b612f6c565b61186b858585610e88565b833b156116b6576116b685858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128ec92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906118f090613df2565b80601f016020809104026020016040519081016040528092919081815260200182805461191c90613df2565b80156119695780601f1061193e57610100808354040283529160200191611969565b820191906000526020600020905b81548152906001019060200180831161194c57829003601f168201915b50505050509050919050565b61197d6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a13576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611767838583613ebb565b6060611a618260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611a97576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611bba5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611b6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611bb39190810190614032565b9392505050565b600083815260028201602052604081208054611bd590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611c0190613df2565b8015611c4e5780601f10611c2357610100808354040283529160200191611c4e565b820191906000526020600020905b815481529060010190602001808311611c3157829003601f168201915b505050505090508051600014611c65579392505050565b81548290611c7290613df2565b9050600003611c9257505060408051602081019091526000815292915050565b611d28826000018054611ca490613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611cd090613df2565b8015611d1d5780601f10611cf257610100808354040283529160200191611d1d565b820191906000526020600020905b815481529060010190602001808311611d0057829003601f168201915b505050505085612f7d565b949350505050565b611d386128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611dce576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611dda838583613ebb565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051611e0c92919061401e565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b611e7b6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450060209081526040808320848452909152812080546001820180546060939291908190611f5590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8190613df2565b8015611fce5780601f10611fa357610100808354040283529160200191611fce565b820191906000526020600020905b815481529060010190602001808311611fb157829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156120fe5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156120b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526120f89190810190614032565b91505090565b80600101805461210d90613df2565b1590506121a75780600101805461212390613df2565b80601f016020809104026020016040519081016040528092919081815260200182805461214f90613df2565b801561219c5780601f106121715761010080835404028352916020019161219c565b820191906000526020600020905b81548152906001019060200180831161217f57829003601f168201915b505050505091505090565b805481906121b490613df2565b90506000036121d157505060408051602081019091526000815290565b806121db46612fc5565b6121e430613027565b6040516020016121f693929190614140565b60405160208183030381529060405291505090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf601132805460038255801561225d5760018160011c14303b106122545763f92ee8a96000526004601cfd5b818160ff1b1b91505b5061227361226e6020840184613a73565b613069565b6122986122836080840184614245565b61229360c0860160a08701613a73565b6130cd565b6122ba6122a86040840184614245565b6122b56060860186614245565b613145565b6122c2613182565b6122ee6122d761012084016101008501613a73565b6122e9610140850161012086016142aa565b6131b8565b61230861230361016084016101408501613a73565b6131e3565b61232e600061231b6101608501856142c5565b6123296101808701876142c5565b613293565b61235461233e60c0840184614245565b61234f610100860160e08701613a73565b6133d1565b60006123666040840160208501613a73565b73ffffffffffffffffffffffffffffffffffffffff161461239b5761239b6123946040840160208501613a73565b6000612a6b565b8015610d57576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70061163d565b6124036128a0565b63389a75e1600c52806000526020600c20805442111561242b57636f5e88186000526004601cfd5b6000905561151081612b35565b6124406128a0565b8060601b61245657637448fbae6000526004601cfd5b61151081612b35565b6124676128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156124fd576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050565b60006125d382613470565b80610c405750610c40826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612627826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610c405750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b600061268082613470565b80610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b60006126dc82613470565b80610c405750632a55205a60e083901c9081146301ffc9a79190911417610c40565b600061270982613470565b80610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c0000000000000000000000000000000000000000000000000000000014806127a057507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610c4057507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816128465763ceea21b66000526004601cfd5b81851485151761286c57816000526030600c205461286c57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611575576382b429006000526004601cfd5b610fd9838383613508565b610fd983838361364a565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612933578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612956573d15612956573d6000843e3d83fd5b508060e01b8251146129705763d1a57ed66000526004601cfd5b505050505050565b6103e861ffff821611156129b8576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612a11576129d6600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612a1f828261ffff166136e7565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612a05565b612a77600083836128d6565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15612aca5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612aff5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610d57600083836128e1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612c25576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612c60576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101612c82848683613ebb565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051612cb79392919061432d565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612d5c576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612d97576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101612dc0848683613ebb565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051612df69392919061432d565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003611510576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101611e66565b600060405190506020815281816020015280604001808360051b808684378201808515612f54575b835187018035602082018337600038823584305af4612f1f573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410612efd575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082612f8946612fc5565b612f9230613027565b612f9b85612fc5565b604051602001612fae9493929190614347565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480612fe05750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061303282613737565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200806130fa848683613ebb565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613172858783613ebb565b5060018101612970838583613ebb565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6112f67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016137c4565b73ffffffffffffffffffffffffffffffffffffffff81166132015750565b61320a81612e07565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556118377f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016137c4565b61329b613853565b60005b838110156133365761332e868686848181106132bc576132bc614421565b90506020028101906132ce9190614450565b358787858181106132e1576132e1614421565b90506020028101906132f39190614450565b6020013588888681811061330957613309614421565b905060200281019061331b9190614450565b613329906040810190614245565b612cc7565b60010161329e565b5060005b81811015612970576133c983838381811061335757613357614421565b90506020028101906133699190614450565b3584848481811061337c5761337c614421565b905060200281019061338e9190614450565b602001358585858181106133a4576133a4614421565b90506020028101906133b69190614450565b6133c4906040810190614245565b612b9b565b60010161333a565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806133fe848683613ebb565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061354b5750505050565b73ffffffffffffffffffffffffffffffffffffffff84161580613582575073ffffffffffffffffffffffffffffffffffffffff8316155b1561358d5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036135b05750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561362c57600080fd5b505afa158015613640573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661369d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613694906144bd565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216610fd9577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613694906144f5565b6bffffffffffffffffffffffff166127108082111561370e5763350a88b36000526004601cfd5b8260601b806137255763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613777575050919050565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612a05565b6115757f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016137c4565b60006020828403121561389057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bb357600080fd5b60005b838110156138db5781810151838201526020016138c3565b50506000910152565b600081518084526138fc8160208601602086016138c0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bb360208301846138e4565b60006020828403121561395357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146114f857600080fd5b6000806040838503121561399157600080fd5b61399a8361395a565b946020939093013593505050565b60008083601f8401126139ba57600080fd5b50813567ffffffffffffffff8111156139d257600080fd5b602083019150836020828501011115611fdb57600080fd5b6000806000604084860312156139ff57600080fd5b83359250602084013567ffffffffffffffff811115613a1d57600080fd5b613a29868287016139a8565b9497909650939450505050565b600080600060608486031215613a4b57600080fd5b613a548461395a565b9250613a626020850161395a565b929592945050506040919091013590565b600060208284031215613a8557600080fd5b611bb38261395a565b60008060408385031215613aa157600080fd5b50508035926020909101359150565b803561ffff811681146114f857600080fd5b60008060408385031215613ad557600080fd5b613ade8361395a565b9150613aec60208401613ab0565b90509250929050565b828152604060208201526000611d2860408301846138e4565b60008060008060608587031215613b2457600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613b4957600080fd5b613b55878288016139a8565b95989497509550505050565b60008060408385031215613b7457600080fd5b613b7d8361395a565b915060208301358015158114613b9257600080fd5b809150509250929050565b600080600080600060808688031215613bb557600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115613be157600080fd5b613bed888289016139a8565b969995985093965092949392505050565b60008060208385031215613c1157600080fd5b823567ffffffffffffffff811115613c2857600080fd5b613c34858286016139a8565b90969095509350505050565b60008060208385031215613c5357600080fd5b823567ffffffffffffffff811115613c6a57600080fd5b8301601f81018513613c7b57600080fd5b803567ffffffffffffffff811115613c9257600080fd5b8560208260051b8401011115613ca757600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015613d2e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452613d198583516138e4565b94506020938401939190910190600101613cdf565b50929695505050505050565b600080600080600060808688031215613d5257600080fd5b613d5b8661395a565b9450613d696020870161395a565b935060408601359250606086013567ffffffffffffffff811115613be157600080fd5b60008060408385031215613d9f57600080fd5b613da88361395a565b9150613aec6020840161395a565b600060208284031215613dc857600080fd5b813567ffffffffffffffff811115613ddf57600080fd5b82016101a08185031215611bb357600080fd5b600181811c90821680613e0657607f821691505b602082108103613e3f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610fd957806000526020600020601f840160051c81016020851015613e9b5750805b601f840160051c820191505b818110156116b65760008155600101613ea7565b67ffffffffffffffff831115613ed357613ed3613e45565b613ee783613ee18354613df2565b83613e74565b6000601f841160018114613f395760008515613f035750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556116b6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613f885786850135825560209485019460019092019101613f68565b5086821015613fc3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000611d28602083018486613fd5565b60006020828403121561404457600080fd5b815167ffffffffffffffff81111561405b57600080fd5b8201601f8101841361406c57600080fd5b805167ffffffffffffffff81111561408657614086613e45565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156140f2576140f2613e45565b60405281815282820160200186101561410a57600080fd5b61411b8260208301602086016138c0565b95945050505050565b600081516141368185602086016138c0565b9290920192915050565b600080855461414e81613df2565b6001821680156141655760018114614198576141c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00831686528115158202860193506141c8565b88600052602060002060005b838110156141c0578154888201526001909101906020016141a4565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516142018160018401602089016138c0565b0161422e600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61423b6002820185614124565b9695505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261427a57600080fd5b83018035915067ffffffffffffffff82111561429557600080fd5b602001915036819003821315611fdb57600080fd5b6000602082840312156142bc57600080fd5b611bb382613ab0565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126142fa57600080fd5b83018035915067ffffffffffffffff82111561431557600080fd5b6020019150600581901b3603821315611fdb57600080fd5b83815260406020820152600061411b604083018486613fd5565b60008551614359818460208a016138c0565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551614393816001840160208a016138c0565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516143d18160028401602089016138c0565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516144138160028401602088016138c0565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261448457600080fd5b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036144ee576144ee61448e565b5060010190565b6000816145045761450461448e565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220fb52b27f8fb4c9e8c35f98f10c5a6b19a99d839f8a721e0c4c157aec2c2863c264736f6c634300081c0033";
6
+ export const oneOfOneImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
7
+ export const oneOfOneImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6145608061008d6000396000f3fe60806040526004361061036b5760003560e01c80638da5cb5b116101c6578063c87b56dd116100f7578063e985e9c511610095578063f04e283e1161006f578063f04e283e14610b80578063f2fde38b14610b93578063fee81cf414610ba6578063ff87a5f514610bd957600080fd5b8063e985e9c514610b15578063ec49db7214610b4b578063ee748f2c14610b6b57600080fd5b8063e1c2ffad116100d1578063e1c2ffad14610a7b578063e4df18ec14610a90578063e8a3d48514610ab0578063e8dc3e0914610ac557600080fd5b8063c87b56dd146109f1578063d50bac3314610a11578063da2bbfc714610a5b57600080fd5b8063a8cdf07811610164578063ac998f451161013e578063ac998f451461094f578063b88d4fde1461099e578063bb77e796146109b1578063c3e617a2146109d157600080fd5b8063a8cdf078146108ef578063a9fc664e1461090f578063ac9650d81461092f57600080fd5b806395d89b41116101a057806395d89b4114610840578063a148d8cf14610855578063a22cb465146108af578063a482c946146108cf57600080fd5b80638da5cb5b146107cc5780638e08141f14610800578063913b385a1461082057600080fd5b80632e73cddb116102a05780635a50ca651161023e5780636a627842116102185780636a6278421461073557806370a0823114610755578063715018a614610775578063738e14961461077d57600080fd5b80635a50ca65146106b65780635e5a9e30146107005780636352211e1461071557600080fd5b80634331f6391161027a5780634331f6391461063d5780634aa3adb31461065d57806354d1f13d1461068057806355828c501461068857600080fd5b80632e73cddb146105bb5780633dda44b01461060a57806342842e0e1461062a57600080fd5b806318160ddd1161030d578063261220a3116102e7578063261220a31461052557806326dfe8c71461053a578063298bb40e1461055a5780632a55205a1461056f57600080fd5b806318160ddd146104cc57806323b872dd1461050a578063256929621461051d57600080fd5b8063095ea7b311610349578063095ea7b31461040c578063098144d4146104215780630d705df61461046b5780631622326a146104ac57600080fd5b806301ffc9a71461037057806306fdde03146103a5578063081812fc146103c7575b600080fd5b34801561037c57600080fd5b5061039061038b36600461387e565b610bf9565b60405190151581526020015b60405180910390f35b3480156103b157600080fd5b506103ba610c46565b60405161039c919061392e565b3480156103d357600080fd5b506103e76103e2366004613941565b610cf8565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161039c565b61041f61041a36600461397e565b610d4c565b005b34801561042d57600080fd5b507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff166103e7565b34801561047757600080fd5b50604080517fcaee23ea000000000000000000000000000000000000000000000000000000008152600160208201520161039c565b3480156104b857600080fd5b5061041f6104c73660046139ea565b610d5b565b3480156104d857600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b60405190815260200161039c565b61041f610518366004613a36565b610e88565b61041f610fde565b34801561053157600080fd5b506103ba61102e565b34801561054657600080fd5b5061041f610555366004613a73565b611056565b34801561056657600080fd5b506103ba61118f565b34801561057b57600080fd5b5061058f61058a366004613a8e565b6111b7565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161039c565b3480156105c757600080fd5b506103906105d6366004613941565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561061657600080fd5b5061041f610625366004613a8e565b61122a565b61041f610638366004613a36565b6112c1565b34801561064957600080fd5b5061041f610658366004613ac2565b6112ee565b34801561066957600080fd5b5060015b60405161ffff909116815260200161039c565b61041f611300565b34801561069457600080fd5b506106a86106a3366004613941565b61133c565b60405161039c929190613af5565b3480156106c257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166103e7565b34801561070c57600080fd5b5061041f61140c565b34801561072157600080fd5b506103e7610730366004613941565b61149d565b34801561074157600080fd5b5061041f610750366004613a73565b6114fd565b34801561076157600080fd5b506104fc610770366004613a73565b611513565b61041f611563565b34801561078957600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610390565b3480156107d857600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546103e7565b34801561080c57600080fd5b5061041f61081b366004613941565b611577565b34801561082c57600080fd5b5061041f61083b366004613b0e565b6115ff565b34801561084c57600080fd5b506103ba611619565b34801561086157600080fd5b50610390610870366004613a8e565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156108bb57600080fd5b5061041f6108ca366004613b61565b61164b565b3480156108db57600080fd5b5061041f6108ea366004613b9d565b6116a1565b3480156108fb57600080fd5b5061041f61090a366004613bfe565b6116bd565b34801561091b57600080fd5b5061041f61092a366004613a73565b611796565b61094261093d366004613c40565b611841565b60405161039c9190613cb7565b34801561095b57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610390565b61041f6109ac366004613d3a565b611860565b3480156109bd57600080fd5b506103ba6109cc366004613941565b6118b4565b3480156109dd57600080fd5b5061041f6109ec366004613bfe565b611975565b3480156109fd57600080fd5b506103ba610a0c366004613941565b611a22565b348015610a1d57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166103e7565b348015610a6757600080fd5b5061041f610a76366004613bfe565b611d30565b348015610a8757600080fd5b5061041f611e73565b348015610a9c57600080fd5b506106a8610aab366004613a8e565b611f04565b348015610abc57600080fd5b506103ba611fe2565b348015610ad157600080fd5b5061066d610ae0366004613941565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610b2157600080fd5b50610390610b30366004613d8c565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610b5757600080fd5b5061041f610b66366004613db6565b61220b565b348015610b7757600080fd5b506103ba6123d3565b61041f610b8e366004613a73565b6123fb565b61041f610ba1366004613a73565b612438565b348015610bb257600080fd5b506104fc610bc1366004613a73565b63389a75e1600c908152600091909152602090205490565b348015610be557600080fd5b5061041f610bf4366004613a73565b61245f565b6000610c04826125c8565b80610c135750610c13826125ff565b80610c225750610c2282612675565b80610c315750610c31826126d1565b80610c405750610c40826126fe565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610c7590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca190613df2565b8015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610d425763ceea21b66000526004601cfd5b6001015492915050565b610d573383836127ea565b5050565b610d636128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610df9576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610e14838583613ebb565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610e4792919061401e565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610e938383836128d6565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610f075767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610f35576030600c2054610f3557634b6e7f186000526004601cfd5b8215610f4357600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff81168402610fa45767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4610fd98383836128e1565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610c6a565b61105e6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156110f4576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610c6a565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836111eb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6112326128a0565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b6112cc838383610e88565b813b15610fd957610fd9838383604051806020016040528060008152506128ec565b6112f66128a0565b610d578282612978565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061138290613df2565b80601f01602080910402602001604051908101604052809291908181526020018280546113ae90613df2565b80156113fb5780601f106113d0576101008083540402835291602001916113fb565b820191906000526020600020905b8154815290600101906020018083116113de57829003601f168201915b505050505090509250925050915091565b6114146128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806114f85763ceea21b66000526004601cfd5b919050565b6115056128a0565b611510816000612a6b565b50565b60008161152857638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b61156b6128a0565b6115756000612b35565b565b61157f6128a0565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6116076128a0565b61161384848484612b9b565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610c7590613df2565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6116a96128a0565b6116b68585858585612cc7565b5050505050565b6116c56128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561175b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611767838583613ebb565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61179e6128a0565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611812576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156118375761183782612e07565b610d578183612e58565b6060341561184e57600080fd5b610c4061185b8484612ed5565b612f6c565b61186b858585610e88565b833b156116b6576116b685858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128ec92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906118f090613df2565b80601f016020809104026020016040519081016040528092919081815260200182805461191c90613df2565b80156119695780601f1061193e57610100808354040283529160200191611969565b820191906000526020600020905b81548152906001019060200180831161194c57829003601f168201915b50505050509050919050565b61197d6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a13576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611767838583613ebb565b6060611a618260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611a97576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611bba5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611b6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611bb39190810190614032565b9392505050565b600083815260028201602052604081208054611bd590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611c0190613df2565b8015611c4e5780601f10611c2357610100808354040283529160200191611c4e565b820191906000526020600020905b815481529060010190602001808311611c3157829003601f168201915b505050505090508051600014611c65579392505050565b81548290611c7290613df2565b9050600003611c9257505060408051602081019091526000815292915050565b611d28826000018054611ca490613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611cd090613df2565b8015611d1d5780601f10611cf257610100808354040283529160200191611d1d565b820191906000526020600020905b815481529060010190602001808311611d0057829003601f168201915b505050505085612f7d565b949350505050565b611d386128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611dce576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611dda838583613ebb565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051611e0c92919061401e565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b611e7b6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450060209081526040808320848452909152812080546001820180546060939291908190611f5590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8190613df2565b8015611fce5780601f10611fa357610100808354040283529160200191611fce565b820191906000526020600020905b815481529060010190602001808311611fb157829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156120fe5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156120b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526120f89190810190614032565b91505090565b80600101805461210d90613df2565b1590506121a75780600101805461212390613df2565b80601f016020809104026020016040519081016040528092919081815260200182805461214f90613df2565b801561219c5780601f106121715761010080835404028352916020019161219c565b820191906000526020600020905b81548152906001019060200180831161217f57829003601f168201915b505050505091505090565b805481906121b490613df2565b90506000036121d157505060408051602081019091526000815290565b806121db46612fc5565b6121e430613027565b6040516020016121f693929190614140565b60405160208183030381529060405291505090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf601132805460038255801561225d5760018160011c14303b106122545763f92ee8a96000526004601cfd5b818160ff1b1b91505b5061227361226e6020840184613a73565b613069565b6122986122836080840184614245565b61229360c0860160a08701613a73565b6130cd565b6122ba6122a86040840184614245565b6122b56060860186614245565b613145565b6122c2613182565b6122ee6122d761012084016101008501613a73565b6122e9610140850161012086016142aa565b6131b8565b61230861230361016084016101408501613a73565b6131e3565b61232e600061231b6101608501856142c5565b6123296101808701876142c5565b613293565b61235461233e60c0840184614245565b61234f610100860160e08701613a73565b6133d1565b60006123666040840160208501613a73565b73ffffffffffffffffffffffffffffffffffffffff161461239b5761239b6123946040840160208501613a73565b6000612a6b565b8015610d57576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70061163d565b6124036128a0565b63389a75e1600c52806000526020600c20805442111561242b57636f5e88186000526004601cfd5b6000905561151081612b35565b6124406128a0565b8060601b61245657637448fbae6000526004601cfd5b61151081612b35565b6124676128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156124fd576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050565b60006125d382613470565b80610c405750610c40826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612627826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610c405750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b600061268082613470565b80610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b60006126dc82613470565b80610c405750632a55205a60e083901c9081146301ffc9a79190911417610c40565b600061270982613470565b80610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c0000000000000000000000000000000000000000000000000000000014806127a057507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610c4057507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816128465763ceea21b66000526004601cfd5b81851485151761286c57816000526030600c205461286c57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611575576382b429006000526004601cfd5b610fd9838383613508565b610fd983838361364a565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612933578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612956573d15612956573d6000843e3d83fd5b508060e01b8251146129705763d1a57ed66000526004601cfd5b505050505050565b6103e861ffff821611156129b8576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612a11576129d6600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612a1f828261ffff166136e7565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612a05565b612a77600083836128d6565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15612aca5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612aff5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610d57600083836128e1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612c25576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612c60576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101612c82848683613ebb565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051612cb79392919061432d565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612d5c576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612d97576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101612dc0848683613ebb565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051612df69392919061432d565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003611510576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101611e66565b600060405190506020815281816020015280604001808360051b808684378201808515612f54575b835187018035602082018337600038823584305af4612f1f573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410612efd575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082612f8946612fc5565b612f9230613027565b612f9b85612fc5565b604051602001612fae9493929190614347565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480612fe05750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061303282613737565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200806130fa848683613ebb565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613172858783613ebb565b5060018101612970838583613ebb565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6112f67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016137c4565b73ffffffffffffffffffffffffffffffffffffffff81166132015750565b61320a81612e07565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556118377f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016137c4565b61329b613853565b60005b838110156133365761332e868686848181106132bc576132bc614421565b90506020028101906132ce9190614450565b358787858181106132e1576132e1614421565b90506020028101906132f39190614450565b6020013588888681811061330957613309614421565b905060200281019061331b9190614450565b613329906040810190614245565b612cc7565b60010161329e565b5060005b81811015612970576133c983838381811061335757613357614421565b90506020028101906133699190614450565b3584848481811061337c5761337c614421565b905060200281019061338e9190614450565b602001358585858181106133a4576133a4614421565b90506020028101906133b69190614450565b6133c4906040810190614245565b612b9b565b60010161333a565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806133fe848683613ebb565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061354b5750505050565b73ffffffffffffffffffffffffffffffffffffffff84161580613582575073ffffffffffffffffffffffffffffffffffffffff8316155b1561358d5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036135b05750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561362c57600080fd5b505afa158015613640573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661369d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613694906144bd565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216610fd9577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613694906144f5565b6bffffffffffffffffffffffff166127108082111561370e5763350a88b36000526004601cfd5b8260601b806137255763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613777575050919050565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612a05565b6115757f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016137c4565b60006020828403121561389057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bb357600080fd5b60005b838110156138db5781810151838201526020016138c3565b50506000910152565b600081518084526138fc8160208601602086016138c0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bb360208301846138e4565b60006020828403121561395357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146114f857600080fd5b6000806040838503121561399157600080fd5b61399a8361395a565b946020939093013593505050565b60008083601f8401126139ba57600080fd5b50813567ffffffffffffffff8111156139d257600080fd5b602083019150836020828501011115611fdb57600080fd5b6000806000604084860312156139ff57600080fd5b83359250602084013567ffffffffffffffff811115613a1d57600080fd5b613a29868287016139a8565b9497909650939450505050565b600080600060608486031215613a4b57600080fd5b613a548461395a565b9250613a626020850161395a565b929592945050506040919091013590565b600060208284031215613a8557600080fd5b611bb38261395a565b60008060408385031215613aa157600080fd5b50508035926020909101359150565b803561ffff811681146114f857600080fd5b60008060408385031215613ad557600080fd5b613ade8361395a565b9150613aec60208401613ab0565b90509250929050565b828152604060208201526000611d2860408301846138e4565b60008060008060608587031215613b2457600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613b4957600080fd5b613b55878288016139a8565b95989497509550505050565b60008060408385031215613b7457600080fd5b613b7d8361395a565b915060208301358015158114613b9257600080fd5b809150509250929050565b600080600080600060808688031215613bb557600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115613be157600080fd5b613bed888289016139a8565b969995985093965092949392505050565b60008060208385031215613c1157600080fd5b823567ffffffffffffffff811115613c2857600080fd5b613c34858286016139a8565b90969095509350505050565b60008060208385031215613c5357600080fd5b823567ffffffffffffffff811115613c6a57600080fd5b8301601f81018513613c7b57600080fd5b803567ffffffffffffffff811115613c9257600080fd5b8560208260051b8401011115613ca757600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015613d2e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452613d198583516138e4565b94506020938401939190910190600101613cdf565b50929695505050505050565b600080600080600060808688031215613d5257600080fd5b613d5b8661395a565b9450613d696020870161395a565b935060408601359250606086013567ffffffffffffffff811115613be157600080fd5b60008060408385031215613d9f57600080fd5b613da88361395a565b9150613aec6020840161395a565b600060208284031215613dc857600080fd5b813567ffffffffffffffff811115613ddf57600080fd5b82016101a08185031215611bb357600080fd5b600181811c90821680613e0657607f821691505b602082108103613e3f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610fd957806000526020600020601f840160051c81016020851015613e9b5750805b601f840160051c820191505b818110156116b65760008155600101613ea7565b67ffffffffffffffff831115613ed357613ed3613e45565b613ee783613ee18354613df2565b83613e74565b6000601f841160018114613f395760008515613f035750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556116b6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613f885786850135825560209485019460019092019101613f68565b5086821015613fc3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000611d28602083018486613fd5565b60006020828403121561404457600080fd5b815167ffffffffffffffff81111561405b57600080fd5b8201601f8101841361406c57600080fd5b805167ffffffffffffffff81111561408657614086613e45565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156140f2576140f2613e45565b60405281815282820160200186101561410a57600080fd5b61411b8260208301602086016138c0565b95945050505050565b600081516141368185602086016138c0565b9290920192915050565b600080855461414e81613df2565b6001821680156141655760018114614198576141c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00831686528115158202860193506141c8565b88600052602060002060005b838110156141c0578154888201526001909101906020016141a4565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516142018160018401602089016138c0565b0161422e600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61423b6002820185614124565b9695505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261427a57600080fd5b83018035915067ffffffffffffffff82111561429557600080fd5b602001915036819003821315611fdb57600080fd5b6000602082840312156142bc57600080fd5b611bb382613ab0565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126142fa57600080fd5b83018035915067ffffffffffffffff82111561431557600080fd5b6020019150600581901b3603821315611fdb57600080fd5b83815260406020820152600061411b604083018486613fd5565b60008551614359818460208a016138c0565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551614393816001840160208a016138c0565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516143d18160028401602089016138c0565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516144138160028401602088016138c0565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261448457600080fd5b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036144ee576144ee61448e565b5060010190565b6000816145045761450461448e565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220fb52b27f8fb4c9e8c35f98f10c5a6b19a99d839f8a721e0c4c157aec2c2863c264736f6c634300081c0033";
8
+ export const seriesImageFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
9
+ export const seriesImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61525c80610cb083390190565b608051610c2261008e6000396000818160ae015281816101300152818161016c015281816101a401526103900152610c226000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c857b3e116100505780635c857b3e146100d0578063801eff7f14610103578063cbe70eb71461011657600080fd5b80635414dff01461006c5780635c60da1b146100a9575b600080fd5b61007f61007a3660046104e7565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6100f36100de366004610524565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f610111366004610558565b61015c565b61007f61012436600461059d565b61019d565b60006101567f000000000000000000000000000000000000000000000000000000000000000083306101d9565b92915050565b600061016782610236565b6101917f00000000000000000000000000000000000000000000000000000000000000008361029b565b905061015681846102b0565b60006101c87f000000000000000000000000000000000000000000000000000000000000000061040c565b90506101d481836102b0565b919050565b6000806102208560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061022d818585610419565b95945050505050565b606081901c8015801590610260575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610297576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006102a96000848461043b565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f249c3b0400000000000000000000000000000000000000000000000000000000815263249c3b04906103389084906004016108b9565b600060405180830381600087803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b50610378925050506020820182610524565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000610156600083610492565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104865763301164256000526004601cfd5b60006021529392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104dc5763301164256000526004601cfd5b600060215292915050565b6000602082840312156104f957600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d457600080fd5b60006020828403121561053657600080fd5b6102a982610500565b6000610240828403121561055257600080fd5b50919050565b6000806040838503121561056b57600080fd5b823567ffffffffffffffff81111561058257600080fd5b61058e8582860161053f565b95602094909401359450505050565b6000602082840312156105af57600080fd5b813567ffffffffffffffff8111156105c657600080fd5b6105d28482850161053f565b949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261060f57600080fd5b830160208101925035905067ffffffffffffffff81111561062f57600080fd5b80360382131561063e57600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff811681146101d457600080fd5b803580151581146101d457600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106e557600080fd5b830160208101925035905067ffffffffffffffff81111561070557600080fd5b8060051b360382131561063e57600080fd5b60008383855260208501945060208460051b8201018360005b868110156107e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8187360301811261079157600080fd5b86018035845260208082013590850152604080820135908501526107b860608201826105da565b9150608060608601526107cf608086018383610645565b60209a8b019a90955093909301925050600101610730565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b868110156107e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261086d57600080fd5b8601803584526020808201359085015261088a60408201826105da565b9150606060408601526108a1606086018383610645565b60209a8b019a9095509390930192505060010161080c565b602081526108e7602082016108cd84610500565b73ffffffffffffffffffffffffffffffffffffffff169052565b60006108f660208401846105da565b610240604085015261090d61026085018284610645565b91505061091d60408501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016060860152610952838284610645565b9250505061096360608501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016080860152610998838284610645565b925050506109a860808501610500565b73ffffffffffffffffffffffffffffffffffffffff811660a0850152506109d260a08501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c0860152610a07838284610645565b92505050610a1760c08501610500565b73ffffffffffffffffffffffffffffffffffffffff811660e085015250610a4060e08501610500565b73ffffffffffffffffffffffffffffffffffffffff811661010085015250610a6b610100850161068e565b61ffff811661012085015250610a846101208501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101408501525061014084013561016084810191909152610abd908501610500565b73ffffffffffffffffffffffffffffffffffffffff811661018085015250610ae86101808501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101a085015250610b136101a085016106a0565b8015156101c085015250610b2a6101c08501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101e0850152506101e084013561020084810191909152610b64908501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610220860152610b9a838284610717565b92505050610bac6102208501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610240860152610be28382846107f3565b969550505050505056fea2646970667358221220f0cc16307511289a9e970eba9729c7ef4358defcbefd52b3fd6703521dc3db4464736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6151cf8061008d6000396000f3fe6080604052600436106103f95760003560e01c8063738e14961161020d578063c3e617a211610128578063e8a3d485116100bb578063f04e283e1161008a578063fca3b5aa1161006f578063fca3b5aa14610cef578063fee81cf414610d0f578063ff87a5f514610d4257600080fd5b8063f04e283e14610cc9578063f2fde38b14610cdc57600080fd5b8063e8a3d48514610c19578063e8dc3e0914610c2e578063e985e9c514610c7e578063ee748f2c14610cb457600080fd5b8063da2bbfc7116100f7578063da2bbfc714610ba4578063e1c2ffad14610bc4578063e2969ba714610bd9578063e4df18ec14610bf957600080fd5b8063c3e617a214610b05578063c87b56dd14610b25578063d50bac3314610b45578063d8b4f8ac14610b8f57600080fd5b8063a22cb465116101a0578063ac9650d81161016f578063ac9650d814610a63578063ac998f4514610a83578063b88d4fde14610ad2578063bb77e79614610ae557600080fd5b8063a22cb465146109e3578063a482c94614610a03578063a8cdf07814610a23578063a9fc664e14610a4357600080fd5b8063913b385a116101dc578063913b385a1461093457806395d89b411461095457806397e950f714610969578063a148d8cf1461098957600080fd5b8063738e14961461087c57806375794a3c146108cb5780638da5cb5b146108e05780638e08141f1461091457600080fd5b80632a55205a116103185780635a50ca65116102ab5780636352211e1161027a5780636cbdef611161025f5780636cbdef611461083f57806370a0823114610854578063715018a61461087457600080fd5b80636352211e146107ff5780636a6278421461081f57600080fd5b80635a50ca65146107495780635c975abb146107935780635e5a9e30146107ca5780635e830656146107df57600080fd5b80634331f639116102e75780634331f639146106d05780634aa3adb3146106f057806354d1f13d1461071357806355828c501461071b57600080fd5b80632a55205a146106025780632e73cddb1461064e5780633dda44b01461069d57806342842e0e146106bd57600080fd5b806316c38b3c11610390578063256929621161035f57806325692962146105b0578063261220a3146105b857806326dfe8c7146105cd578063298bb40e146105ed57600080fd5b806316c38b3c1461053a57806318160ddd1461055a57806323b872dd1461057d578063249c3b041461059057600080fd5b8063095ea7b3116103cc578063095ea7b3146104af578063098144d4146104c45780630d705df6146104d95780631622326a1461051a57600080fd5b806301ffc9a7146103fe57806306fdde03146104335780630754617214610455578063081812fc1461048f575b600080fd5b34801561040a57600080fd5b5061041e6104193660046144a0565b610d62565b60405190151581526020015b60405180910390f35b34801561043f57600080fd5b50610448610e37565b60405161042a9190614550565b34801561046157600080fd5b5061046a610ee9565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161042a565b34801561049b57600080fd5b5061046a6104aa366004614563565b610f29565b6104c26104bd3660046145a0565b610f7d565b005b3480156104d057600080fd5b5061046a610f8c565b3480156104e557600080fd5b50604080517fcaee23ea000000000000000000000000000000000000000000000000000000008152600160208201520161042a565b34801561052657600080fd5b506104c261053536600461460c565b610fb4565b34801561054657600080fd5b506104c2610555366004614668565b6110e1565b34801561056657600080fd5b5061056f61116e565b60405190815260200161042a565b6104c261058b366004614683565b611198565b34801561059c57600080fd5b506104c26105ab3660046146c0565b6112ee565b6104c26115ae565b3480156105c457600080fd5b506104486115fe565b3480156105d957600080fd5b506104c26105e83660046146fc565b611626565b3480156105f957600080fd5b5061044861175f565b34801561060e57600080fd5b5061062261061d366004614717565b611787565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161042a565b34801561065a57600080fd5b5061041e610669366004614563565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156106a957600080fd5b506104c26106b8366004614717565b6117fa565b6104c26106cb366004614683565b611891565b3480156106dc57600080fd5b506104c26106eb36600461474b565b6118be565b3480156106fc57600080fd5b5060015b60405161ffff909116815260200161042a565b6104c26118d0565b34801561072757600080fd5b5061073b610736366004614563565b61190c565b60405161042a92919061477e565b34801561075557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff1661046a565b34801561079f57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661041e565b3480156107d657600080fd5b506104c26119dc565b3480156107eb57600080fd5b506104c26107fa3660046145a0565b611a6d565b34801561080b57600080fd5b5061046a61081a366004614563565b611a92565b34801561082b57600080fd5b5061056f61083a3660046146fc565b611af2565b34801561084b57600080fd5b5061056f611b05565b34801561086057600080fd5b5061056f61086f3660046146fc565b611b2d565b6104c2611b7d565b34801561088857600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661041e565b3480156108d757600080fd5b5061056f611b91565b3480156108ec57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275461046a565b34801561092057600080fd5b506104c261092f366004614563565b611bb9565b34801561094057600080fd5b506104c261094f366004614797565b611c41565b34801561096057600080fd5b50610448611c5b565b34801561097557600080fd5b506104c2610984366004614563565b611c8d565b34801561099557600080fd5b5061041e6109a4366004614717565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156109ef57600080fd5b506104c26109fe3660046147ea565b611d6d565b348015610a0f57600080fd5b506104c2610a1e366004614814565b611dc3565b348015610a2f57600080fd5b506104c2610a3e366004614875565b611ddf565b348015610a4f57600080fd5b506104c2610a5e3660046146fc565b611eb8565b610a76610a713660046148b7565b611f63565b60405161042a919061492e565b348015610a8f57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661041e565b6104c2610ae03660046149b1565b611f82565b348015610af157600080fd5b50610448610b00366004614563565b611fd6565b348015610b1157600080fd5b506104c2610b20366004614875565b612097565b348015610b3157600080fd5b50610448610b40366004614563565b612144565b348015610b5157600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff1661046a565b348015610b9b57600080fd5b5061046a612452565b348015610bb057600080fd5b506104c2610bbf366004614875565b61247a565b348015610bd057600080fd5b506104c26125bd565b348015610be557600080fd5b506104c2610bf43660046146fc565b61264e565b348015610c0557600080fd5b5061073b610c14366004614717565b6126e8565b348015610c2557600080fd5b506104486127c6565b348015610c3a57600080fd5b50610700610c49366004614563565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610c8a57600080fd5b5061041e610c99366004614a03565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610cc057600080fd5b506104486129ef565b6104c2610cd73660046146fc565b612a17565b6104c2610cea3660046146fc565b612a57565b348015610cfb57600080fd5b506104c2610d0a3660046146fc565b612a7e565b348015610d1b57600080fd5b5061056f610d2a3660046146fc565b63389a75e1600c908152600091909152602090205490565b348015610d4e57600080fd5b506104c2610d5d3660046146fc565b612b18565b6000610d6d82612c7a565b80610d7c5750610d7c82612cb1565b80610d8b5750610d8b82612d27565b80610d9a5750610d9a82612d83565b80610da95750610da982612db0565b80610db85750610db882612e9c565b80610dc75750610dc782612ef8565b80610dd65750610dd682612f54565b80610de55750610de582612fb0565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610e6690614a2d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9290614a2d565b8015610edf5780601f10610eb457610100808354040283529160200191610edf565b820191906000526020600020905b815481529060010190602001808311610ec257829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610f735763ceea21b66000526004601cfd5b6001015492915050565b610f8833838361300c565b5050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610f0d565b610fbc6130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611052576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600282016020526040902061106d838583614af6565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516110a0929190614c59565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6110e96130c2565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6111a38383836130f8565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff94851694938416938116919082861483026112175767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611245576030600c205461124557634b6e7f186000526004601cfd5b821561125357600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff811684026112b45767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a46112e9838383613103565b505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156113405760018160011c14303b106113375763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611380576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816101400135826101e0013511156113c4576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113d96113d460208401846146fc565b61310e565b6113fe6113e96060840184614c6d565b6113f960a08601608087016146fc565b613172565b61142061140e6020840184614c6d565b61141b6040860186614c6d565b6131ea565b61142861322f565b61145361143c610100840160e085016146fc565b61144e61012085016101008601614cd2565b613265565b61146d611468610140840161012085016146fc565b613290565b61147b826101400135613340565b6114956114906101a0840161018085016146fc565b6133be565b6114af6114aa610180840161016085016146fc565b61342c565b6114c96114c46101c084016101a08501614668565b61349a565b6114ed6114da610200840184614ced565b6114e8610220860186614ced565b613548565b6115126114fd60a0840184614c6d565b61150d60e0860160c087016146fc565b6136ad565b60006115266101e084016101c085016146fc565b73ffffffffffffffffffffffffffffffffffffffff16146115765760005b826101e001358110156115745761156b6115666101e085016101c086016146fc565b61374c565b50600101611544565b505b8015610f88576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610e5b565b61162e6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156116c4576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610e5b565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836117bb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6118026130c2565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b61189c838383611198565b813b156112e9576112e9838383604051806020016040528060008152506137ac565b6118c66130c2565b610f888282613830565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061195290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461197e90614a2d565b80156119cb5780601f106119a0576101008083540402835291602001916119cb565b820191906000526020600020905b8154815290600101906020018083116119ae57829003601f168201915b505050505090509250925050915091565b6119e46130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611a75613923565b60005b818110156112e957611a898361374c565b50600101611a78565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff1680611aed5763ceea21b66000526004601cfd5b919050565b6000611afc613923565b610e318261374c565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700611192565b600081611b4257638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b611b856130c2565b611b8f6000613a2b565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611192565b611bc16130c2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611c496130c2565b611c5584848484613a91565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610e6690614a2d565b611c956130c2565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557008054821115611cf1576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cf9613bbd565b821015611d32576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611dcb6130c2565b611dd88585858585613bcc565b5050505050565b611de76130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611e7d576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611e89838583614af6565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611ec06130c2565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611f34576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821615611f5957611f5982613d0c565b610f888183613d5d565b60603415611f7057600080fd5b610e31611f7d8484613dda565b613e71565b611f8d858585611198565b833b15611dd857611dd885858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506137ac92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061201290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461203e90614a2d565b801561208b5780601f106120605761010080835404028352916020019161208b565b820191906000526020600020905b81548152906001019060200180831161206e57829003601f168201915b50505050509050919050565b61209f6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612135576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611e89838583614af6565b60606121838260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b6121b9576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff16156122dc5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561228f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122d59190810190614d55565b9392505050565b6000838152600282016020526040812080546122f790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461232390614a2d565b80156123705780601f1061234557610100808354040283529160200191612370565b820191906000526020600020905b81548152906001019060200180831161235357829003601f168201915b505050505090508051600014612387579392505050565b8154829061239490614a2d565b90506000036123b457505060408051602081019091526000815292915050565b61244a8260000180546123c690614a2d565b80601f01602080910402602001604051908101604052809291908181526020018280546123f290614a2d565b801561243f5780601f106124145761010080835404028352916020019161243f565b820191906000526020600020905b81548152906001019060200180831161242257829003601f168201915b505050505085613e82565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610f0d565b6124826130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612518576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612524838583614af6565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612556929190614c59565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b6125c56130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6126566130c2565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061273990614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461276590614a2d565b80156127b25780601f10612787576101008083540402835291602001916127b2565b820191906000526020600020905b81548152906001019060200180831161279557829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156128e25760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612896573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128dc9190810190614d55565b91505090565b8060010180546128f190614a2d565b15905061298b5780600101805461290790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461293390614a2d565b80156129805780601f1061295557610100808354040283529160200191612980565b820191906000526020600020905b81548152906001019060200180831161296357829003601f168201915b505050505091505090565b8054819061299890614a2d565b90506000036129b557505060408051602081019091526000815290565b806129bf46613eca565b6129c830613f2c565b6040516020016129da93929190614e63565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611c7f565b612a1f6130c2565b63389a75e1600c52806000526020600c208054421115612a4757636f5e88186000526004601cfd5b60009055612a5481613a2b565b50565b612a5f6130c2565b8060601b612a7557637448fbae6000526004601cfd5b612a5481613a2b565b612a866130c2565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612b206130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612bb6576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611d61565b6000612c8582613f6e565b80610e315750610e31826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612cd9826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610e315750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612d3282613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b6000612d8e82613f6e565b80610e315750632a55205a60e083901c9081146301ffc9a79190911417610e31565b6000612dbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612e5257507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610e3157507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612ea782613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612f0382613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612f5f82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612fbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816130685763ceea21b66000526004601cfd5b81851485151761308e57816000526030600c205461308e57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611b8f576382b429006000526004601cfd5b6112e9838383614006565b6112e9838383614148565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382008061319f848683614af6565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613217858783614af6565b5060018101613227838583614af6565b505050505050565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6118c67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016141e5565b73ffffffffffffffffffffffffffffffffffffffff81166132ae5750565b6132b781613d0c565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155611f597f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016141e5565b61336b7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a360016141e5565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611163565b6133e97fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a0660016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612aa9565b6134577fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e45253560016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612679565b6134c57f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a260016141e5565b8015612a54577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611163565b613550614274565b60005b838110156136125761360a85858381811061357057613570614f68565b90506020028101906135829190614f97565b3586868481811061359557613595614f68565b90506020028101906135a79190614f97565b602001358787858181106135bd576135bd614f68565b90506020028101906135cf9190614f97565b604001358888868181106135e5576135e5614f68565b90506020028101906135f79190614f97565b613605906060810190614c6d565b613bcc565b600101613553565b5060005b81811015611dd8576136a583838381811061363357613633614f68565b90506020028101906136459190614fd5565b3584848481811061365857613658614f68565b905060200281019061366a9190614fd5565b6020013585858581811061368057613680614f68565b90506020028101906136929190614fd5565b6136a0906040810190614c6d565b613a91565b600101613616565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806136da848683614af6565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00546137778161429f565b61378182826142f9565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156137f3578060c08401826020870160045afa505b60208360a48301601c860160008a5af1613816573d15613816573d6000843e3d83fd5b508060e01b8251146132275763d1a57ed66000526004601cfd5b6103e861ffff82161115613870576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff166000036138c95761388e600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6138d7828261ffff166143c3565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016138bd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361396357565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16156139bf576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6139c7610ee9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b8f576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613b1b576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613b56576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101613b78848683614af6565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051613bad93929190615009565b60405180910390a2505050505050565b6000613bc761116e565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613c61576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613c9c576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101613cc5848683614af6565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051613cfb93929190615009565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003612a54576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac91016125b0565b600060405190506020815281816020015280604001808360051b808684378201808515613e59575b835187018035602082018337600038823584305af4613e24573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613e02575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082613e8e46613eca565b613e9730613f2c565b613ea085613eca565b604051602001613eb39493929190615023565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613ee55750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613f3782614413565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806140495750505050565b73ffffffffffffffffffffffffffffffffffffffff84161580614080575073ffffffffffffffffffffffffffffffffffffffff8316155b1561408b5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036140ae5750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561412a57600080fd5b505afa15801561413e573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661419b577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906141929061512c565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff82166112e9577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061419290615164565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016138bd565b611b8f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016141e5565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700548110612a54576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614305600083836130f8565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156143585763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff8116840261438d5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610f8860008383613103565b6bffffffffffffffffffffffff16612710808211156143ea5763350a88b36000526004601cfd5b8260601b806144015763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614453575050919050565b6000602082840312156144b257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146122d557600080fd5b60005b838110156144fd5781810151838201526020016144e5565b50506000910152565b6000815180845261451e8160208601602086016144e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006122d56020830184614506565b60006020828403121561457557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611aed57600080fd5b600080604083850312156145b357600080fd5b6145bc8361457c565b946020939093013593505050565b60008083601f8401126145dc57600080fd5b50813567ffffffffffffffff8111156145f457600080fd5b6020830191508360208285010111156127bf57600080fd5b60008060006040848603121561462157600080fd5b83359250602084013567ffffffffffffffff81111561463f57600080fd5b61464b868287016145ca565b9497909650939450505050565b80358015158114611aed57600080fd5b60006020828403121561467a57600080fd5b6122d582614658565b60008060006060848603121561469857600080fd5b6146a18461457c565b92506146af6020850161457c565b929592945050506040919091013590565b6000602082840312156146d257600080fd5b813567ffffffffffffffff8111156146e957600080fd5b820161024081850312156122d557600080fd5b60006020828403121561470e57600080fd5b6122d58261457c565b6000806040838503121561472a57600080fd5b50508035926020909101359150565b803561ffff81168114611aed57600080fd5b6000806040838503121561475e57600080fd5b6147678361457c565b915061477560208401614739565b90509250929050565b82815260406020820152600061244a6040830184614506565b600080600080606085870312156147ad57600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156147d257600080fd5b6147de878288016145ca565b95989497509550505050565b600080604083850312156147fd57600080fd5b6148068361457c565b915061477560208401614658565b60008060008060006080868803121561482c57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b614864888289016145ca565b969995985093965092949392505050565b6000806020838503121561488857600080fd5b823567ffffffffffffffff81111561489f57600080fd5b6148ab858286016145ca565b90969095509350505050565b600080602083850312156148ca57600080fd5b823567ffffffffffffffff8111156148e157600080fd5b8301601f810185136148f257600080fd5b803567ffffffffffffffff81111561490957600080fd5b8560208260051b840101111561491e57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156149a5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614990858351614506565b94506020938401939190910190600101614956565b50929695505050505050565b6000806000806000608086880312156149c957600080fd5b6149d28661457c565b94506149e06020870161457c565b935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b60008060408385031215614a1657600080fd5b614a1f8361457c565b91506147756020840161457c565b600181811c90821680614a4157607f821691505b602082108103614a7a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156112e957806000526020600020601f840160051c81016020851015614ad65750805b601f840160051c820191505b81811015611dd85760008155600101614ae2565b67ffffffffffffffff831115614b0e57614b0e614a80565b614b2283614b1c8354614a2d565b83614aaf565b6000601f841160018114614b745760008515614b3e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611dd8565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614bc35786850135825560209485019460019092019101614ba3565b5086821015614bfe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061244a602083018486614c10565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614ca257600080fd5b83018035915067ffffffffffffffff821115614cbd57600080fd5b6020019150368190038213156127bf57600080fd5b600060208284031215614ce457600080fd5b6122d582614739565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614d2257600080fd5b83018035915067ffffffffffffffff821115614d3d57600080fd5b6020019150600581901b36038213156127bf57600080fd5b600060208284031215614d6757600080fd5b815167ffffffffffffffff811115614d7e57600080fd5b8201601f81018413614d8f57600080fd5b805167ffffffffffffffff811115614da957614da9614a80565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614e1557614e15614a80565b604052818152828201602001861015614e2d57600080fd5b614e3e8260208301602086016144e2565b95945050505050565b60008151614e598185602086016144e2565b9290920192915050565b6000808554614e7181614a2d565b600182168015614e885760018114614ebb57614eeb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614eeb565b88600052602060002060005b83811015614ee357815488820152600190910190602001614ec7565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614f248160018401602089016144e2565b01614f51600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614f5e6002820185614e47565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614fcb57600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614fcb57600080fd5b838152604060208201526000614e3e604083018486614c10565b60008551615035818460208a016144e2565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152855161506f816001840160208a016144e2565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516150ad8160028401602089016144e2565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516150ef8160028401602088016144e2565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361515d5761515d6150fd565b5060010190565b600081615173576151736150fd565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212202e8edc2006b56a42b6ee115537dac2bb525ee4936d91794add593ab58da2ce9e64736f6c634300081c0033";
10
+ export const seriesImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintMany", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
11
+ export const seriesImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6151cf8061008d6000396000f3fe6080604052600436106103f95760003560e01c8063738e14961161020d578063c3e617a211610128578063e8a3d485116100bb578063f04e283e1161008a578063fca3b5aa1161006f578063fca3b5aa14610cef578063fee81cf414610d0f578063ff87a5f514610d4257600080fd5b8063f04e283e14610cc9578063f2fde38b14610cdc57600080fd5b8063e8a3d48514610c19578063e8dc3e0914610c2e578063e985e9c514610c7e578063ee748f2c14610cb457600080fd5b8063da2bbfc7116100f7578063da2bbfc714610ba4578063e1c2ffad14610bc4578063e2969ba714610bd9578063e4df18ec14610bf957600080fd5b8063c3e617a214610b05578063c87b56dd14610b25578063d50bac3314610b45578063d8b4f8ac14610b8f57600080fd5b8063a22cb465116101a0578063ac9650d81161016f578063ac9650d814610a63578063ac998f4514610a83578063b88d4fde14610ad2578063bb77e79614610ae557600080fd5b8063a22cb465146109e3578063a482c94614610a03578063a8cdf07814610a23578063a9fc664e14610a4357600080fd5b8063913b385a116101dc578063913b385a1461093457806395d89b411461095457806397e950f714610969578063a148d8cf1461098957600080fd5b8063738e14961461087c57806375794a3c146108cb5780638da5cb5b146108e05780638e08141f1461091457600080fd5b80632a55205a116103185780635a50ca65116102ab5780636352211e1161027a5780636cbdef611161025f5780636cbdef611461083f57806370a0823114610854578063715018a61461087457600080fd5b80636352211e146107ff5780636a6278421461081f57600080fd5b80635a50ca65146107495780635c975abb146107935780635e5a9e30146107ca5780635e830656146107df57600080fd5b80634331f639116102e75780634331f639146106d05780634aa3adb3146106f057806354d1f13d1461071357806355828c501461071b57600080fd5b80632a55205a146106025780632e73cddb1461064e5780633dda44b01461069d57806342842e0e146106bd57600080fd5b806316c38b3c11610390578063256929621161035f57806325692962146105b0578063261220a3146105b857806326dfe8c7146105cd578063298bb40e146105ed57600080fd5b806316c38b3c1461053a57806318160ddd1461055a57806323b872dd1461057d578063249c3b041461059057600080fd5b8063095ea7b3116103cc578063095ea7b3146104af578063098144d4146104c45780630d705df6146104d95780631622326a1461051a57600080fd5b806301ffc9a7146103fe57806306fdde03146104335780630754617214610455578063081812fc1461048f575b600080fd5b34801561040a57600080fd5b5061041e6104193660046144a0565b610d62565b60405190151581526020015b60405180910390f35b34801561043f57600080fd5b50610448610e37565b60405161042a9190614550565b34801561046157600080fd5b5061046a610ee9565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161042a565b34801561049b57600080fd5b5061046a6104aa366004614563565b610f29565b6104c26104bd3660046145a0565b610f7d565b005b3480156104d057600080fd5b5061046a610f8c565b3480156104e557600080fd5b50604080517fcaee23ea000000000000000000000000000000000000000000000000000000008152600160208201520161042a565b34801561052657600080fd5b506104c261053536600461460c565b610fb4565b34801561054657600080fd5b506104c2610555366004614668565b6110e1565b34801561056657600080fd5b5061056f61116e565b60405190815260200161042a565b6104c261058b366004614683565b611198565b34801561059c57600080fd5b506104c26105ab3660046146c0565b6112ee565b6104c26115ae565b3480156105c457600080fd5b506104486115fe565b3480156105d957600080fd5b506104c26105e83660046146fc565b611626565b3480156105f957600080fd5b5061044861175f565b34801561060e57600080fd5b5061062261061d366004614717565b611787565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161042a565b34801561065a57600080fd5b5061041e610669366004614563565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156106a957600080fd5b506104c26106b8366004614717565b6117fa565b6104c26106cb366004614683565b611891565b3480156106dc57600080fd5b506104c26106eb36600461474b565b6118be565b3480156106fc57600080fd5b5060015b60405161ffff909116815260200161042a565b6104c26118d0565b34801561072757600080fd5b5061073b610736366004614563565b61190c565b60405161042a92919061477e565b34801561075557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff1661046a565b34801561079f57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661041e565b3480156107d657600080fd5b506104c26119dc565b3480156107eb57600080fd5b506104c26107fa3660046145a0565b611a6d565b34801561080b57600080fd5b5061046a61081a366004614563565b611a92565b34801561082b57600080fd5b5061056f61083a3660046146fc565b611af2565b34801561084b57600080fd5b5061056f611b05565b34801561086057600080fd5b5061056f61086f3660046146fc565b611b2d565b6104c2611b7d565b34801561088857600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661041e565b3480156108d757600080fd5b5061056f611b91565b3480156108ec57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275461046a565b34801561092057600080fd5b506104c261092f366004614563565b611bb9565b34801561094057600080fd5b506104c261094f366004614797565b611c41565b34801561096057600080fd5b50610448611c5b565b34801561097557600080fd5b506104c2610984366004614563565b611c8d565b34801561099557600080fd5b5061041e6109a4366004614717565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156109ef57600080fd5b506104c26109fe3660046147ea565b611d6d565b348015610a0f57600080fd5b506104c2610a1e366004614814565b611dc3565b348015610a2f57600080fd5b506104c2610a3e366004614875565b611ddf565b348015610a4f57600080fd5b506104c2610a5e3660046146fc565b611eb8565b610a76610a713660046148b7565b611f63565b60405161042a919061492e565b348015610a8f57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661041e565b6104c2610ae03660046149b1565b611f82565b348015610af157600080fd5b50610448610b00366004614563565b611fd6565b348015610b1157600080fd5b506104c2610b20366004614875565b612097565b348015610b3157600080fd5b50610448610b40366004614563565b612144565b348015610b5157600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff1661046a565b348015610b9b57600080fd5b5061046a612452565b348015610bb057600080fd5b506104c2610bbf366004614875565b61247a565b348015610bd057600080fd5b506104c26125bd565b348015610be557600080fd5b506104c2610bf43660046146fc565b61264e565b348015610c0557600080fd5b5061073b610c14366004614717565b6126e8565b348015610c2557600080fd5b506104486127c6565b348015610c3a57600080fd5b50610700610c49366004614563565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610c8a57600080fd5b5061041e610c99366004614a03565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610cc057600080fd5b506104486129ef565b6104c2610cd73660046146fc565b612a17565b6104c2610cea3660046146fc565b612a57565b348015610cfb57600080fd5b506104c2610d0a3660046146fc565b612a7e565b348015610d1b57600080fd5b5061056f610d2a3660046146fc565b63389a75e1600c908152600091909152602090205490565b348015610d4e57600080fd5b506104c2610d5d3660046146fc565b612b18565b6000610d6d82612c7a565b80610d7c5750610d7c82612cb1565b80610d8b5750610d8b82612d27565b80610d9a5750610d9a82612d83565b80610da95750610da982612db0565b80610db85750610db882612e9c565b80610dc75750610dc782612ef8565b80610dd65750610dd682612f54565b80610de55750610de582612fb0565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610e6690614a2d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9290614a2d565b8015610edf5780601f10610eb457610100808354040283529160200191610edf565b820191906000526020600020905b815481529060010190602001808311610ec257829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610f735763ceea21b66000526004601cfd5b6001015492915050565b610f8833838361300c565b5050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610f0d565b610fbc6130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611052576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600282016020526040902061106d838583614af6565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516110a0929190614c59565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6110e96130c2565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6111a38383836130f8565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff94851694938416938116919082861483026112175767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611245576030600c205461124557634b6e7f186000526004601cfd5b821561125357600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff811684026112b45767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a46112e9838383613103565b505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156113405760018160011c14303b106113375763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611380576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816101400135826101e0013511156113c4576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113d96113d460208401846146fc565b61310e565b6113fe6113e96060840184614c6d565b6113f960a08601608087016146fc565b613172565b61142061140e6020840184614c6d565b61141b6040860186614c6d565b6131ea565b61142861322f565b61145361143c610100840160e085016146fc565b61144e61012085016101008601614cd2565b613265565b61146d611468610140840161012085016146fc565b613290565b61147b826101400135613340565b6114956114906101a0840161018085016146fc565b6133be565b6114af6114aa610180840161016085016146fc565b61342c565b6114c96114c46101c084016101a08501614668565b61349a565b6114ed6114da610200840184614ced565b6114e8610220860186614ced565b613548565b6115126114fd60a0840184614c6d565b61150d60e0860160c087016146fc565b6136ad565b60006115266101e084016101c085016146fc565b73ffffffffffffffffffffffffffffffffffffffff16146115765760005b826101e001358110156115745761156b6115666101e085016101c086016146fc565b61374c565b50600101611544565b505b8015610f88576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610e5b565b61162e6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156116c4576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610e5b565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836117bb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6118026130c2565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b61189c838383611198565b813b156112e9576112e9838383604051806020016040528060008152506137ac565b6118c66130c2565b610f888282613830565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061195290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461197e90614a2d565b80156119cb5780601f106119a0576101008083540402835291602001916119cb565b820191906000526020600020905b8154815290600101906020018083116119ae57829003601f168201915b505050505090509250925050915091565b6119e46130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611a75613923565b60005b818110156112e957611a898361374c565b50600101611a78565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff1680611aed5763ceea21b66000526004601cfd5b919050565b6000611afc613923565b610e318261374c565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700611192565b600081611b4257638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b611b856130c2565b611b8f6000613a2b565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611192565b611bc16130c2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611c496130c2565b611c5584848484613a91565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610e6690614a2d565b611c956130c2565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557008054821115611cf1576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cf9613bbd565b821015611d32576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611dcb6130c2565b611dd88585858585613bcc565b5050505050565b611de76130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611e7d576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611e89838583614af6565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611ec06130c2565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611f34576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821615611f5957611f5982613d0c565b610f888183613d5d565b60603415611f7057600080fd5b610e31611f7d8484613dda565b613e71565b611f8d858585611198565b833b15611dd857611dd885858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506137ac92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061201290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461203e90614a2d565b801561208b5780601f106120605761010080835404028352916020019161208b565b820191906000526020600020905b81548152906001019060200180831161206e57829003601f168201915b50505050509050919050565b61209f6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612135576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611e89838583614af6565b60606121838260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b6121b9576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff16156122dc5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561228f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122d59190810190614d55565b9392505050565b6000838152600282016020526040812080546122f790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461232390614a2d565b80156123705780601f1061234557610100808354040283529160200191612370565b820191906000526020600020905b81548152906001019060200180831161235357829003601f168201915b505050505090508051600014612387579392505050565b8154829061239490614a2d565b90506000036123b457505060408051602081019091526000815292915050565b61244a8260000180546123c690614a2d565b80601f01602080910402602001604051908101604052809291908181526020018280546123f290614a2d565b801561243f5780601f106124145761010080835404028352916020019161243f565b820191906000526020600020905b81548152906001019060200180831161242257829003601f168201915b505050505085613e82565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610f0d565b6124826130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612518576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612524838583614af6565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612556929190614c59565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b6125c56130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6126566130c2565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061273990614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461276590614a2d565b80156127b25780601f10612787576101008083540402835291602001916127b2565b820191906000526020600020905b81548152906001019060200180831161279557829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156128e25760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612896573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128dc9190810190614d55565b91505090565b8060010180546128f190614a2d565b15905061298b5780600101805461290790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461293390614a2d565b80156129805780601f1061295557610100808354040283529160200191612980565b820191906000526020600020905b81548152906001019060200180831161296357829003601f168201915b505050505091505090565b8054819061299890614a2d565b90506000036129b557505060408051602081019091526000815290565b806129bf46613eca565b6129c830613f2c565b6040516020016129da93929190614e63565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611c7f565b612a1f6130c2565b63389a75e1600c52806000526020600c208054421115612a4757636f5e88186000526004601cfd5b60009055612a5481613a2b565b50565b612a5f6130c2565b8060601b612a7557637448fbae6000526004601cfd5b612a5481613a2b565b612a866130c2565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612b206130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612bb6576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611d61565b6000612c8582613f6e565b80610e315750610e31826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612cd9826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610e315750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612d3282613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b6000612d8e82613f6e565b80610e315750632a55205a60e083901c9081146301ffc9a79190911417610e31565b6000612dbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612e5257507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610e3157507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612ea782613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612f0382613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612f5f82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612fbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816130685763ceea21b66000526004601cfd5b81851485151761308e57816000526030600c205461308e57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611b8f576382b429006000526004601cfd5b6112e9838383614006565b6112e9838383614148565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382008061319f848683614af6565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613217858783614af6565b5060018101613227838583614af6565b505050505050565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6118c67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016141e5565b73ffffffffffffffffffffffffffffffffffffffff81166132ae5750565b6132b781613d0c565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155611f597f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016141e5565b61336b7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a360016141e5565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611163565b6133e97fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a0660016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612aa9565b6134577fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e45253560016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612679565b6134c57f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a260016141e5565b8015612a54577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611163565b613550614274565b60005b838110156136125761360a85858381811061357057613570614f68565b90506020028101906135829190614f97565b3586868481811061359557613595614f68565b90506020028101906135a79190614f97565b602001358787858181106135bd576135bd614f68565b90506020028101906135cf9190614f97565b604001358888868181106135e5576135e5614f68565b90506020028101906135f79190614f97565b613605906060810190614c6d565b613bcc565b600101613553565b5060005b81811015611dd8576136a583838381811061363357613633614f68565b90506020028101906136459190614fd5565b3584848481811061365857613658614f68565b905060200281019061366a9190614fd5565b6020013585858581811061368057613680614f68565b90506020028101906136929190614fd5565b6136a0906040810190614c6d565b613a91565b600101613616565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806136da848683614af6565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00546137778161429f565b61378182826142f9565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156137f3578060c08401826020870160045afa505b60208360a48301601c860160008a5af1613816573d15613816573d6000843e3d83fd5b508060e01b8251146132275763d1a57ed66000526004601cfd5b6103e861ffff82161115613870576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff166000036138c95761388e600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6138d7828261ffff166143c3565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016138bd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361396357565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16156139bf576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6139c7610ee9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b8f576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613b1b576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613b56576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101613b78848683614af6565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051613bad93929190615009565b60405180910390a2505050505050565b6000613bc761116e565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613c61576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613c9c576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101613cc5848683614af6565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051613cfb93929190615009565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003612a54576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac91016125b0565b600060405190506020815281816020015280604001808360051b808684378201808515613e59575b835187018035602082018337600038823584305af4613e24573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613e02575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082613e8e46613eca565b613e9730613f2c565b613ea085613eca565b604051602001613eb39493929190615023565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613ee55750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613f3782614413565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806140495750505050565b73ffffffffffffffffffffffffffffffffffffffff84161580614080575073ffffffffffffffffffffffffffffffffffffffff8316155b1561408b5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036140ae5750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561412a57600080fd5b505afa15801561413e573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661419b577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906141929061512c565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff82166112e9577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061419290615164565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016138bd565b611b8f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016141e5565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700548110612a54576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614305600083836130f8565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156143585763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff8116840261438d5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610f8860008383613103565b6bffffffffffffffffffffffff16612710808211156143ea5763350a88b36000526004601cfd5b8260601b806144015763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614453575050919050565b6000602082840312156144b257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146122d557600080fd5b60005b838110156144fd5781810151838201526020016144e5565b50506000910152565b6000815180845261451e8160208601602086016144e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006122d56020830184614506565b60006020828403121561457557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611aed57600080fd5b600080604083850312156145b357600080fd5b6145bc8361457c565b946020939093013593505050565b60008083601f8401126145dc57600080fd5b50813567ffffffffffffffff8111156145f457600080fd5b6020830191508360208285010111156127bf57600080fd5b60008060006040848603121561462157600080fd5b83359250602084013567ffffffffffffffff81111561463f57600080fd5b61464b868287016145ca565b9497909650939450505050565b80358015158114611aed57600080fd5b60006020828403121561467a57600080fd5b6122d582614658565b60008060006060848603121561469857600080fd5b6146a18461457c565b92506146af6020850161457c565b929592945050506040919091013590565b6000602082840312156146d257600080fd5b813567ffffffffffffffff8111156146e957600080fd5b820161024081850312156122d557600080fd5b60006020828403121561470e57600080fd5b6122d58261457c565b6000806040838503121561472a57600080fd5b50508035926020909101359150565b803561ffff81168114611aed57600080fd5b6000806040838503121561475e57600080fd5b6147678361457c565b915061477560208401614739565b90509250929050565b82815260406020820152600061244a6040830184614506565b600080600080606085870312156147ad57600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156147d257600080fd5b6147de878288016145ca565b95989497509550505050565b600080604083850312156147fd57600080fd5b6148068361457c565b915061477560208401614658565b60008060008060006080868803121561482c57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b614864888289016145ca565b969995985093965092949392505050565b6000806020838503121561488857600080fd5b823567ffffffffffffffff81111561489f57600080fd5b6148ab858286016145ca565b90969095509350505050565b600080602083850312156148ca57600080fd5b823567ffffffffffffffff8111156148e157600080fd5b8301601f810185136148f257600080fd5b803567ffffffffffffffff81111561490957600080fd5b8560208260051b840101111561491e57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156149a5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614990858351614506565b94506020938401939190910190600101614956565b50929695505050505050565b6000806000806000608086880312156149c957600080fd5b6149d28661457c565b94506149e06020870161457c565b935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b60008060408385031215614a1657600080fd5b614a1f8361457c565b91506147756020840161457c565b600181811c90821680614a4157607f821691505b602082108103614a7a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156112e957806000526020600020601f840160051c81016020851015614ad65750805b601f840160051c820191505b81811015611dd85760008155600101614ae2565b67ffffffffffffffff831115614b0e57614b0e614a80565b614b2283614b1c8354614a2d565b83614aaf565b6000601f841160018114614b745760008515614b3e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611dd8565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614bc35786850135825560209485019460019092019101614ba3565b5086821015614bfe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061244a602083018486614c10565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614ca257600080fd5b83018035915067ffffffffffffffff821115614cbd57600080fd5b6020019150368190038213156127bf57600080fd5b600060208284031215614ce457600080fd5b6122d582614739565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614d2257600080fd5b83018035915067ffffffffffffffff821115614d3d57600080fd5b6020019150600581901b36038213156127bf57600080fd5b600060208284031215614d6757600080fd5b815167ffffffffffffffff811115614d7e57600080fd5b8201601f81018413614d8f57600080fd5b805167ffffffffffffffff811115614da957614da9614a80565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614e1557614e15614a80565b604052818152828201602001861015614e2d57600080fd5b614e3e8260208301602086016144e2565b95945050505050565b60008151614e598185602086016144e2565b9290920192915050565b6000808554614e7181614a2d565b600182168015614e885760018114614ebb57614eeb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614eeb565b88600052602060002060005b83811015614ee357815488820152600190910190602001614ec7565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614f248160018401602089016144e2565b01614f51600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614f5e6002820185614e47565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614fcb57600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614fcb57600080fd5b838152604060208201526000614e3e604083018486614c10565b60008551615035818460208a016144e2565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152855161506f816001840160208a016144e2565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516150ad8160028401602089016144e2565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516150ef8160028401602088016144e2565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361515d5761515d6150fd565b5060010190565b600081615173576151736150fd565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212202e8edc2006b56a42b6ee115537dac2bb525ee4936d91794add593ab58da2ce9e64736f6c634300081c0033";
12
+ export const seriesCodeFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
13
+ export const seriesCodeFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615fe780610a5a83390190565b6080516109cc61008e600039600081816091015281816101130152818161014f0152818161018701526102fc01526109cc6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80635414dff01461005c5780635c60da1b1461008c5780635c857b3e146100b35780637c9cf116146100e6578063cd9c7b24146100f9575b600080fd5b61006f61006a366004610439565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100d66100c1366004610469565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b61006f6100f436600461049d565b61013f565b61006f6101073660046104e2565b610180565b60006101397f000000000000000000000000000000000000000000000000000000000000000083306101bc565b92915050565b600061014a82610219565b6101747f000000000000000000000000000000000000000000000000000000000000000083610258565b9050610139818461026d565b60006101ab7f000000000000000000000000000000000000000000000000000000000000000061035e565b90506101b7818361026d565b919050565b6000806102038560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061021081858561036b565b95945050505050565b606081901c801580159061023657506001600160a01b0381163314155b156102545760405163c61a579960e01b815260040160405180910390fd5b5050565b60006102666000848461038d565b9392505050565b6001600160a01b03821660008181526020819052604090819020805460ff1916600117905551633d6e924b60e01b8152633d6e924b906102b190849060040161072c565b600060405180830381600087803b1580156102cb57600080fd5b505af11580156102df573d6000803e3d6000fd5b506102f1925050506020820182610469565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b60006101396000836103e4565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806103d85763301164256000526004601cfd5b60006021529392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061042e5763301164256000526004601cfd5b600060215292915050565b60006020828403121561044b57600080fd5b5035919050565b80356001600160a01b03811681146101b757600080fd5b60006020828403121561047b57600080fd5b61026682610452565b6000610280828403121561049757600080fd5b50919050565b600080604083850312156104b057600080fd5b823567ffffffffffffffff8111156104c757600080fd5b6104d385828601610484565b95602094909401359450505050565b6000602082840312156104f457600080fd5b813567ffffffffffffffff81111561050b57600080fd5b61051784828501610484565b949350505050565b6000808335601e1984360301811261053657600080fd5b830160208101925035905067ffffffffffffffff81111561055657600080fd5b80360382131561056557600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff811681146101b757600080fd5b803580151581146101b757600080fd5b6000808335601e198436030181126105ce57600080fd5b830160208101925035905067ffffffffffffffff8111156105ee57600080fd5b8060051b360382131561056557600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003607e1901811261063f57600080fd5b8601803584526020808201359085015260408082013590850152610666606082018261051f565b91506080606086015261067d60808601838361056c565b60209a8b019a90955093909301925050600101610619565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003605e190181126106e057600080fd5b860180358452602080820135908501526106fd604082018261051f565b91506060604086015261071460608601838361056c565b60209a8b019a909550939093019250506001016106ba565b6020815261074d6020820161074084610452565b6001600160a01b03169052565b600061075c602084018461051f565b61028060408501526107736102a08501828461056c565b915050610783604085018561051f565b848303601f1901606086015261079a83828461056c565b925050506107ab606085018561051f565b848303601f190160808601526107c283828461056c565b925050506107d260808501610452565b6001600160a01b03811660a0850152506107ef60a085018561051f565b848303601f190160c086015261080683828461056c565b9250505061081660c08501610452565b6001600160a01b03811660e08501525061083260e08501610452565b6001600160a01b038116610100850152506108506101008501610595565b61ffff8116610120850152506108696101208501610452565b6001600160a01b0381166101408501525061014084013561016084810191909152610895908501610452565b6001600160a01b038116610180850152506108b36101808501610452565b6001600160a01b0381166101a0850152506108d16101a085016105a7565b8015156101c0850152506108e86101c08501610452565b6001600160a01b0381166101e0850152506109066101e085016105a7565b8015156102008501525061091d6102008501610452565b6001600160a01b038116610220850152506102208401356102408481019190915261094a908501856105b7565b848303601f1901610260860152610962838284610600565b925050506109746102608501856105b7565b848303601f190161028086015261098c8382846106a1565b969550505050505056fea264697066735822122004e34019f312e64b4ff6ed5ac3563bfe0263930bdb58a67b2a07dbf0374bbf0464736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f5a8061008d6000396000f3fe6080604052600436106106315760003560e01c80637d0b7ae411610329578063c3e617a2116101b6578063e42b7baf11610102578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc814611309578063fca3b5aa14611329578063fee81cf414611349578063ff87a5f51461137c57600080fd5b8063f04e283e146112af578063f2235701146112c2578063f2fde38b146112f657600080fd5b8063e8dc3e09116100dc578063e8dc3e09146111ff578063e985e9c51461124f578063ea58f97114611285578063ee748f2c1461129a57600080fd5b8063e42b7baf146111aa578063e4df18ec146111ca578063e8a3d485146111ea57600080fd5b8063d8b4f8ac1161016f578063dc98387911610149578063dc98387914611140578063e1b7938114611155578063e1c2ffad14611175578063e2969ba71461118a57600080fd5b8063d8b4f8ac146110f6578063d90f5df21461110b578063da2bbfc71461112057600080fd5b8063c3e617a214611058578063c4f2604814611078578063c87b56dd14611093578063cc1cf51514611078578063cfc59afd146110b3578063d50bac33146110e157600080fd5b80639a5db50311610275578063a9fc664e1161022e578063ac998f4511610208578063ac998f4514610ffb578063b478424714611010578063b88d4fde14611025578063bb77e7961461103857600080fd5b8063a9fc664e14610f9b578063aa0de18d14610fbb578063ac9650d814610fdb57600080fd5b80639a5db50314610eac5780639aa1a1f014610ec1578063a148d8cf14610ee1578063a22cb46514610f3b578063a482c94614610f5b578063a8cdf07814610f7b57600080fd5b8063909206e3116102e257806392d9906f116102bc57806392d9906f14610e4257806395d89b4114610e5757806396f4205a14610e6c57806397e950f714610e8c57600080fd5b8063909206e314610ad1578063913b385a14610e0257806392b29b1714610e2257600080fd5b80637d0b7ae414610d3257806384f6687f14610d6957806386b7f6a414610d895780638da5cb5b14610da95780638e08141f14610dc25780638e4cc07014610de257600080fd5b80633c59f1bb116104c25780635e5a9e301161040e5780636cb02818116103ac578063715018a611610386578063715018a614610cc9578063738e149614610cd157806375794a3c14610cfd5780637b1d470714610d1257600080fd5b80636cb0281814610c745780636cbdef6114610c9457806370a0823114610ca957600080fd5b806369053374116103e85780636905337414610bf45780636a62784214610c145780636aaf760714610c345780636bd3922214610c5457600080fd5b80635e5a9e3014610b9f5780635e83065614610bb45780636352211e14610bd457600080fd5b80634efdb5ae1161047b57806355828c501161045557806355828c5014610af35780635a50ca6514610b215780635b02f81c14610b4c5780635c975abb14610b7a57600080fd5b80634efdb5ae14610aa957806354d1f13d14610ac957806355580cca14610ad157600080fd5b80633c59f1bb146109d45780633d6e924b14610a135780633dda44b014610a3357806342842e0e14610a535780634331f63914610a665780634aa3adb314610a8657600080fd5b806318160ddd11610581578063256929621161053a578063298bb40e11610514578063298bb40e146109115780632a55205a146109265780632e73cddb146109655780633990b221146109b457600080fd5b806325692962146108d4578063261220a3146108dc57806326dfe8c7146108f157600080fd5b806318160ddd146107d65780631c31cac3146107f957806320ac0944146108195780632352b33f1461082e57806323b872dd146108ac57806325628d34146108bf57600080fd5b8063098144d4116105ee57806313bfffac116105c857806313bfffac1461076c5780631622326a1461078157806316c38b3c146107a157806317afae43146107c157600080fd5b8063098144d41461070f5780630b4c562b146107245780630d705df61461074457600080fd5b806301ffc9a71461063657806306fdde031461066b578063075461721461068d578063081812fc146106ba57806308a38395146106da578063095ea7b3146106fc575b600080fd5b34801561064257600080fd5b50610656610651366004614f20565b61139c565b60405190151581526020015b60405180910390f35b34801561067757600080fd5b5061068061147c565b6040516106629190614f9a565b34801561069957600080fd5b506106a261152e565b6040516001600160a01b039091168152602001610662565b3480156106c657600080fd5b506106a26106d5366004614fad565b611561565b3480156106e657600080fd5b506106fa6106f5366004615037565b6115a0565b005b6106fa61070a3660046150e8565b61162a565b34801561071b57600080fd5b506106a2611639565b34801561073057600080fd5b506106fa61073f366004615153565b61164f565b34801561075057600080fd5b506040805163657711f560e11b81526001602082015201610662565b34801561077857600080fd5b506106a26116d5565b34801561078d57600080fd5b506106fa61079c366004615153565b6116df565b3480156107ad57600080fd5b506106fa6107bc3660046151ac565b6117be565b3480156107cd57600080fd5b506106a261181b565b3480156107e257600080fd5b506107eb611831565b604051908152602001610662565b34801561080557600080fd5b506106fa6108143660046151c9565b61185b565b34801561082557600080fd5b506106a26118d2565b34801561083a57600080fd5b5061088f610849366004614fad565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610662565b6106fa6108ba3660046151e4565b6118f6565b3480156108cb57600080fd5b506106fa611a0c565b6106fa611a72565b3480156108e857600080fd5b50610680611ac1565b3480156108fd57600080fd5b506106fa61090c3660046151c9565b611ad7565b34801561091d57600080fd5b50610680611b9d565b34801561093257600080fd5b50610946610941366004615221565b611bb3565b604080516001600160a01b039093168352602083019190915201610662565b34801561097157600080fd5b50610656610980366004614fad565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156109c057600080fd5b506106fa6109cf366004615221565b611c08565b3480156109e057600080fd5b506109e9611c98565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610662565b348015610a1f57600080fd5b506106fa610a2e366004615243565b611ca5565b348015610a3f57600080fd5b506106fa610a4e366004615221565b611f57565b6106fa610a613660046151e4565b611fd0565b348015610a7257600080fd5b506106fa610a81366004615290565b611ffd565b348015610a9257600080fd5b5060015b60405161ffff9091168152602001610662565b348015610ab557600080fd5b506106fa610ac43660046152c3565b61200f565b6106fa612090565b348015610add57600080fd5b50610ae66120cc565b6040516106629190615351565b348015610aff57600080fd5b50610b13610b0e366004614fad565b6120d6565b604051610662929190615364565b348015610b2d57600080fd5b50600080516020615ec5833981519152546001600160a01b03166106a2565b348015610b5857600080fd5b50610b6c610b6736600461537d565b6121a6565b6040516106629291906153a9565b348015610b8657600080fd5b50600080516020615e658339815191525460ff16610656565b348015610bab57600080fd5b506106fa6121b2565b348015610bc057600080fd5b506106fa610bcf3660046150e8565b612205565b348015610be057600080fd5b506106a2610bef366004614fad565b61222a565b348015610c0057600080fd5b506106fa610c0f366004614fad565b612268565b348015610c2057600080fd5b506107eb610c2f3660046151c9565b6122ba565b348015610c4057600080fd5b50610680610c4f366004614fad565b6122cd565b348015610c6057600080fd5b5061088f610c6f366004615221565b61234c565b348015610c8057600080fd5b50610680610c8f366004614fad565b6123a0565b348015610ca057600080fd5b506107eb612405565b348015610cb557600080fd5b506107eb610cc43660046151c9565b61241b565b6106fa612456565b348015610cdd57600080fd5b50600080516020615ec583398151915254600160a01b900460ff16610656565b348015610d0957600080fd5b506107eb61246a565b348015610d1e57600080fd5b506106fa610d2d3660046151c9565b612492565b348015610d3e57600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610656565b348015610d7557600080fd5b50610680610d84366004615221565b6124f5565b348015610d9557600080fd5b506106fa610da436600461537d565b612567565b348015610db557600080fd5b50638b78c6d819546106a2565b348015610dce57600080fd5b506106fa610ddd366004614fad565b6125ce565b348015610dee57600080fd5b506106fa610dfd3660046153cb565b612638565b348015610e0e57600080fd5b506106fa610e1d3660046152c3565b61267b565b348015610e2e57600080fd5b506106fa610e3d36600461537d565b61268f565b348015610e4e57600080fd5b506107eb6126f8565b348015610e6357600080fd5b50610680612720565b348015610e7857600080fd5b506106fa610e873660046151c9565b612752565b348015610e9857600080fd5b506106fa610ea7366004614fad565b61279a565b348015610eb857600080fd5b506106fa612836565b348015610ecd57600080fd5b506106fa610edc366004615153565b612882565b348015610eed57600080fd5b50610656610efc366004615221565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610f4757600080fd5b506106fa610f563660046153f6565b6128c5565b348015610f6757600080fd5b506106fa610f7636600461542d565b61291b565b348015610f8757600080fd5b506106fa610f9636600461548d565b612930565b348015610fa757600080fd5b506106fa610fb63660046151c9565b6129bb565b348015610fc757600080fd5b506106fa610fd63660046154ce565b612a1d565b610fee610fe9366004615511565b612a75565b6040516106629190615546565b34801561100757600080fd5b50610656612a94565b34801561101c57600080fd5b506106fa612ab9565b6106fa6110333660046155ab565b612b05565b34801561104457600080fd5b50610680611053366004614fad565b612b59565b34801561106457600080fd5b506106fa61107336600461548d565b612c1a565b34801561108457600080fd5b50610b6c610b67366004615221565b34801561109f57600080fd5b506106806110ae366004614fad565b612c79565b3480156110bf57600080fd5b506110d36110ce366004614fad565b612ed5565b604051610662929190615626565b3480156110ed57600080fd5b506106a2612f5a565b34801561110257600080fd5b506106a2612f70565b34801561111757600080fd5b506107eb612f98565b34801561112c57600080fd5b506106fa61113b36600461548d565b612fae565b34801561114c57600080fd5b506106fa613085565b34801561116157600080fd5b50610ae6611170366004614fad565b6120cc565b34801561118157600080fd5b506106fa6130d1565b34801561119657600080fd5b506106fa6111a53660046151c9565b613124565b3480156111b657600080fd5b506106fa6111c53660046152c3565b613199565b3480156111d657600080fd5b50610b136111e5366004615221565b6131eb565b3480156111f657600080fd5b506106806132c9565b34801561120b57600080fd5b50610a9661121a366004614fad565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561125b57600080fd5b5061065661126a366004615641565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561129157600080fd5b5061065661347d565b3480156112a657600080fd5b50610680613493565b6106fa6112bd3660046151c9565b6134a9565b3480156112ce57600080fd5b506112e26112dd366004614fad565b6134e9565b60405161066298979695949392919061568b565b6106fa6113043660046151c9565b6134fe565b34801561131557600080fd5b506106fa611324366004615221565b613525565b34801561133557600080fd5b506106fa6113443660046151c9565b61357e565b34801561135557600080fd5b506107eb6113643660046151c9565b63389a75e1600c908152600091909152602090205490565b34801561138857600080fd5b506106fa6113973660046151c9565b6135f3565b60006113a7826136c4565b806113b657506113b6826136fb565b806113c557506113c582613740565b806113d457506113d48261376b565b806113e357506113e382613798565b806113f257506113f2826137ff565b8061140157506114018261382a565b80611410575061141082613855565b8061141f575061141f82613880565b8061142e575061142e826138ab565b8061143d575061143d826138d6565b8061144c575061144c82613901565b8061145b575061145b8261392c565b8061147657506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546114ab90615747565b80601f01602080910402602001604051908101604052809291908181526020018280546114d790615747565b80156115245780601f106114f957610100808354040283529160200191611524565b820191906000526020600020905b81548152906001019060200180831161150757829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6115965763ceea21b66000526004601cfd5b6001015492915050565b6115a8613957565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906115ef908c908c908c908c908c908c908c908c908c906004016157aa565b60006040518083038186803b15801561160757600080fd5b505af415801561161b573d6000803e3d6000fd5b50505050505050505050505050565b611635338383613972565b5050565b6000600080516020615f05833981519152611552565b611657613957565b61166360008085613a13565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a906116a09086908690869033906004016158a4565b60006040518083038186803b1580156116b857600080fd5b505af41580156116cc573d6000803e3d6000fd5b50505050505050565b6000610631613a80565b6116e7613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff161561172f5760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061174a838583615934565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b8547848460405161177d9291906159f3565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6117c6613957565b600080516020615e65833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615ee5833981519152611552565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b611863613957565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b1580156118b757600080fd5b505af41580156118cb573d6000803e3d6000fd5b5050505050565b6000600080516020615e458339815191525b600101546001600160a01b0316919050565b611901838383613a90565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119535767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611981576030600c205461198157634b6e7f186000526004601cfd5b821561198f57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119d25767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611a07838383613a9b565b505050565b611a14613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b505af4158015611a6c573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e858339815191526114a0565b611adf613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615611b27576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615ea58339815191526114a0565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611be7576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611c10613957565b611c1c60008084613a13565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611c7c57600080fd5b505af4158015611c90573d6000803e3d6000fd5b505050505050565b6000806000610631613a80565b63409feecd198054600382558015611cdc5760018160011c14303b10611cd35763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611d035760405163fe5afcb960e01b815260040160405180910390fd5b8161014001358261022001351115611d2e57604051633f63c5bf60e01b815260040160405180910390fd5b611d43611d3e60208401846151c9565b613ab1565b611d68611d536060840184615a07565b611d6360a08601608087016151c9565b613aed565b611d8a611d786020840184615a07565b611d856040860186615a07565b613b2e565b611d92613b6b565b611dbd611da6610100840160e085016151c9565b611db861012085016101008601615a4d565b613ba1565b611dd7611dd2610140840161012085016151c9565b613bcc565b611de5826101400135613c31565b611dff611dfa6101a0840161018085016151c9565b613c9d565b611e19611e14610180840161016085016151c9565b613cfe565b611e33611e2e6101c084016101a085016151ac565b613d5f565b611e4d611e486101e084016101c085016151c9565b613ddd565b611e55613e2c565b611e6f611e6a61020084016101e085016151ac565b613e57565b611e77613f01565b611e7f613f2c565b611ea3611e90610240840184615a68565b611e9e610260860186615a68565b613f57565b611ec8611eb360a0840184615a07565b611ec360e0860160c087016151c9565b6140bc565b6000611edc610220840161020085016151c9565b6001600160a01b031614611f1f5760005b826102200135811015611f1d57611f14611f0f610220850161020086016151c9565b614124565b50600101611eed565b505b8015611635576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611f5f613957565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611fdb8383836118f6565b813b15611a0757611a07838383604051806020016040528060008152506141cd565b612005613957565b6116358282614251565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d148585858561203a638b78c6d8195490565b6040518663ffffffff1660e01b815260040161205a959493929190615ab1565b60006040518083038186803b15801561207257600080fd5b505af4158015612086573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060610631613a80565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061211c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461214890615747565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b505050505090509250925050915091565b60606000610631613a80565b6121ba613957565b600080516020615e25833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b61220d61431e565b60005b81811015611a075761222183614124565b50600101612210565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806122635763ceea21b66000526004601cfd5b919050565b612270613957565b61227c60008083613a13565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec9060440161189f565b60006122c461431e565b61147682614124565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061231357604051633fa417ed60e11b815260040160405180910390fd5b61234581600001848154811061232b5761232b615aeb565b6000918252602090912001546001600160a01b03166143a0565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156123ee576123e9816143a0565b612345565b604051806020016040528060008152509392505050565b6000600080516020615e05833981519152611855565b60008161243057638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61245e613957565b61246860006143ce565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611855565b61249a613957565b80600080516020615ee58339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b0316801561254e57612549816143a0565b61255f565b604051806020016040528060008152505b949350505050565b61256f613957565b61257b60018484613a13565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a4016116a0565b6125d6613957565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b612640613957565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906116a090869086908690600401615b01565b612683613957565b611a6c8484848461440c565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d64468484846126b9638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b031660648201526084016116a0565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900611855565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546114ab90615747565b61275a613957565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161189f565b6127a2613957565b600080516020615e0583398151915280548211156127d357604051632b953d0360e11b815260040160405180910390fd5b6127db614506565b8210156127fb57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b61283e613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b61288a613957565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906116a090869086908690600401615b23565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612923613957565b6118cb8585858585614515565b612938613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612980576040516352be865b60e01b815260040160405180910390fd5b8061298c838583615934565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6129c3613957565b600080516020615f058339815191528054600160a01b900460ff166129fb57604051638915b2e160e01b815260040160405180910390fd5b6001600160a01b03821615612a1357612a1382614623565b611635818361464e565b612a25613957565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d906064016116a0565b60603415612a8257600080fd5b611476612a8f84846146a6565b61473d565b6000600080516020615e858339815191525b60010154600160a01b900460ff16919050565b612ac1613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b612b108585856118f6565b833b156118cb576118cb85858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506141cd92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612b9590615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612bc190615747565b8015612c0e5780601f10612be357610100808354040283529160200191612c0e565b820191906000526020600020905b815481529060010190602001808311612bf157829003601f168201915b50505050509050919050565b612c22613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612c6a576040516352be865b60e01b815260040160405180910390fd5b6001810161298c838583615934565b6060612ca3826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612cc05760405163163a09e160e31b815260040160405180910390fd5b600080516020615e2583398151915254600080516020615e85833981519152906001600160a01b031615612d6757600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123459190810190615b46565b600083815260028201602052604081208054612d8290615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612dae90615747565b8015612dfb5780601f10612dd057610100808354040283529160200191612dfb565b820191906000526020600020905b815481529060010190602001808311612dde57829003601f168201915b505050505090508051600014612e12579392505050565b81548290612e1f90615747565b9050600003612e3f57505060408051602081019091526000815292915050565b61255f826000018054612e5190615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612e7d90615747565b8015612eca5780601f10612e9f57610100808354040283529160200191612eca565b820191906000526020600020905b815481529060010190602001808311612ead57829003601f168201915b50505050508561474d565b600080516020615e45833981519152805460009182918410612f0a5760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612f2157612f21615aeb565b60009182526020909120600290910201805490915060ff166001811115612f4a57612f4a6155fc565b8160010154935093505050915091565b6000600080516020615e858339815191526118e4565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611552565b6000600080516020615e45833981519152611855565b612fb6613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff1615612ffe5760405163dd48f3ab60e01b815260040160405180910390fd5b8061300a838583615934565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b838360405161303c9291906159f3565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61308d613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b6130d9613957565b600080516020615ec5833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61312c613957565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b6131a1613957565b6131ad60018585613a13565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed483009061205a9087908790879087903390600401615ab1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061323c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461326890615747565b80156132b55780601f1061328a576101008083540402835291602001916132b5565b820191906000526020600020905b81548152906001019060200180831161329857829003601f168201915b5050505050905092509250505b9250929050565b600080516020615ec583398151915254606090600080516020615ea5833981519152906001600160a01b03161561337057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015613342573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261336a9190810190615b46565b91505090565b80600101805461337f90615747565b1590506134195780600101805461339590615747565b80601f01602080910402602001604051908101604052809291908181526020018280546133c190615747565b801561340e5780601f106133e35761010080835404028352916020019161340e565b820191906000526020600020905b8154815290600101906020018083116133f157829003601f168201915b505050505091505090565b8054819061342690615747565b905060000361344357505060408051602081019091526000815290565b8061344d46614795565b613456306147d9565b60405160200161346893929190615c0b565b60405160208183030381529060405291505090565b6000600080516020615e45833981519152612aa6565b6060600080516020615ea5833981519152612744565b6134b1613957565b63389a75e1600c52806000526020600c2080544211156134d957636f5e88186000526004601cfd5b600090556134e6816143ce565b50565b60008060008060008060006060610631613a80565b613506613957565b8060601b61351c57637448fbae6000526004601cfd5b6134e6816143ce565b61352d613957565b61353960018383613a13565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611c64565b613586613957565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6135fb613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff16156136435760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910161282a565b60006136cf826147fd565b806114765750611476826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613723826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806114765750506001600160e01b031916632483248360e11b1490565b600061374b826147fd565b8061147657506001600160e01b031982166307ccd03560e31b1492915050565b6000613776826147fd565b806114765750632a55205a60e083901c9081146301ffc9a79190911417611476565b60006137a3826147fd565b8061147657506001600160e01b03198216632b435fdb60e21b14806137d857506001600160e01b0319821663503e914d60e11b145b80156114765750600080516020615f0583398151915254600160a01b900460ff1692915050565b600061380a826147fd565b8061147657506001600160e01b03198216636cbdef6160e01b1492915050565b6000613835826147fd565b8061147657506001600160e01b031982166303aa30b960e11b1492915050565b6000613860826147fd565b8061147657506001600160e01b0319821663362d3e2b60e21b1492915050565b600061388b826147fd565b8061147657506001600160e01b03198216635c975abb60e01b1492915050565b60006138b6826147fd565b8061147657506001600160e01b031982166317afae4360e01b1492915050565b60006138e182614833565b8061147657506001600160e01b0319821663040a5d5760e51b1492915050565b600061390c826147fd565b8061147657506001600160e01b0319821663215f672360e21b1492915050565b6000613937826147fd565b8061147657506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612468576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816139b95763ceea21b66000526004601cfd5b8185148515176139df57816000526030600c20546139df57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b828015613a265750631cd9595960e21b81145b8015613a3f5750613a3d631cd9595960e21b61485e565b155b8015613a575750613a5782631cd9595960e21b6148d5565b15613a755760405163108e179760e11b815260040160405180910390fd5b611a0783838361491c565b6149438061163563ffffffff8216565b611a0783838361497b565b613aa6838383614a47565b611a07818484614aca565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e8583398151915280613b08848683615934565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613b5b858783615934565b5060018101611c90838583615934565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6120057f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614b9e565b6001600160a01b038116613bdd5750565b613be681614623565b600080516020615f05833981519152805460ff60a01b1916600160a01b178155612a137f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614b9e565b613c5c7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614b9e565b80600080516020615e05833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611810565b613cc87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614b9e565b6001600160a01b038116156134e657807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006135a9565b613d297fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614b9e565b6001600160a01b038116156134e657807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061314f565b613d8a7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614b9e565b80156134e657600080516020615e65833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611810565b613e087fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614b9e565b6001600160a01b038116156134e65780600080516020615ee58339815191526124ab565b6124687f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614b9e565b613e827f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614b9e565b8015613ec057604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac39060240161189f565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6124687fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614b9e565b6124687fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614b9e565b613f5f614c10565b60005b8381101561402157614019858583818110613f7f57613f7f615aeb565b9050602002810190613f919190615cba565b35868684818110613fa457613fa4615aeb565b9050602002810190613fb69190615cba565b60200135878785818110613fcc57613fcc615aeb565b9050602002810190613fde9190615cba565b60400135888886818110613ff457613ff4615aeb565b90506020028101906140069190615cba565b614014906060810190615a07565b614515565b600101613f62565b5060005b818110156118cb576140b483838381811061404257614042615aeb565b90506020028101906140549190615cda565b3584848481811061406757614067615aeb565b90506020028101906140799190615cda565b6020013585858581811061408f5761408f615aeb565b90506020028101906140a19190615cda565b6140af906040810190615a07565b61440c565b600101614025565b600080516020615ea5833981519152806140d7848683615934565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461414f81614c3b565b61416081631cd9595960e21b6148d5565b6141985760008060006141738486614c6a565b92509250925082156141945761419484631cd9595960e21b84600085614d1d565b5050505b6141a28282614dac565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015614214578060c08401826020870160045afa505b60208360a48301601c860160008a5af1614237573d15614237573d6000843e3d83fd5b508060e01b825114611c905763d1a57ed66000526004601cfd5b6103e861ffff821611156142785760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff166000036142d157614296600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6142df828261ffff16614e61565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016142c5565b638b78c6d819546001600160a01b0316330361433657565b600080516020615e658339815191525460ff1615614367576040516375ab03ab60e11b815260040160405180910390fd5b61436f61152e565b6001600160a01b0316336001600160a01b0316146124685760405163263ab11d60e21b815260040160405180910390fd5b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561447d57604051635fde02f960e01b815260040160405180910390fd5b600082900361449f576040516366e0344f60e01b815260040160405180910390fd5b60008581526002820160205260409020848155600181016144c1848683615934565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516144f693929190615b23565b60405180910390a2505050505050565b6000614510611831565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561459157604051635fde02f960e01b815260040160405180910390fd5b60008290036145b3576040516366e0344f60e01b815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016145dc848683615934565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161461293929190615b23565b60405180910390a350505050505050565b806001600160a01b03163b6000036134e657604051631ab5243360e31b815260040160405180910390fd5b81546001600160a01b038281166001600160a01b031983168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101613078565b600060405190506020815281816020015280604001808360051b808684378201808515614725575b835187018035602082018337600038823584305af46146f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106146ce575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b60608261475946614795565b614762306147d9565b61476b85614795565b60405160200161477e9493929190615cf0565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806147b0575050819003601f19909101908152919050565b60606147e482614eb1565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061147657506001600160e01b0319821663513fc9dd60e11b1492915050565b600061483e826147fd565b8061147657506001600160e01b03198216638bd8666560e01b1492915050565b60405163016b37e160e11b81526004810182905260009073__$e7b790d12aa4dbca4f4490208141613ae5$__906302d66fc290602401602060405180830381865af41580156148b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114769190615d76565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b6149258161485e565b15611a075760405163149eae5760e01b815260040160405180910390fd5b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614975573d6000fd5b503d6000f35b600080516020615f05833981519152546001600160a01b03168061499f5750505050565b6001600160a01b03841615806149bc57506001600160a01b038316155b156149c75750505050565b6001600160a01b03811633036149dd5750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b158015614a3357600080fd5b505afa158015612086573d6000803e3d6000fd5b6001600160a01b038316614a8d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615da9565b90915550505050565b6001600160a01b038216611a07577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615dc2565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b031680614b005750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b17905251614b619190615dd9565b6000604051808303816000865af19150503d8060008114612086576040519150601f19603f3d011682016040523d82523d6000602084013e612086565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016142c5565b6124687f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614b9e565b600080516020615e058339815191525481106134e65760405163ba470cd560e01b815260040160405180910390fd5b600080516020615ee58339815191525460009081906001600160a01b031680614c9b57506000915081905080612399565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614cee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d129190615deb565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015614d8d57600080fd5b505af4158015614da1573d6000803e3d6000fd5b505050505050505050565b614db860008383613a90565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614df65763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614e2b5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a461163560008383613a9b565b6bffffffffffffffffffffffff1661271080821115614e885763350a88b36000526004601cfd5b8260601b80614e9f5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614ef1575050919050565b600060208284031215614f3257600080fd5b81356001600160e01b03198116811461234557600080fd5b60005b83811015614f65578181015183820152602001614f4d565b50506000910152565b60008151808452614f86816020860160208601614f4a565b601f01601f19169290920160200192915050565b6020815260006123456020830184614f6e565b600060208284031215614fbf57600080fd5b5035919050565b80356001600160a01b038116811461226357600080fd5b803565ffffffffffff8116811461226357600080fd5b60008083601f84011261500557600080fd5b5081356001600160401b0381111561501c57600080fd5b6020830191508360208260051b85010111156132c257600080fd5b60008060008060008060008060006101008a8c03121561505657600080fd5b8935985060208a01356009811061506c57600080fd5b975060408a01356007811061508057600080fd5b965061508e60608b01614fc6565b955061509c60808b01614fdd565b945060a08a0135935060c08a0135925060e08a01356001600160401b038111156150c557600080fd5b6150d18c828d01614ff3565b915080935050809150509295985092959850929598565b600080604083850312156150fb57600080fd5b61510483614fc6565b946020939093013593505050565b60008083601f84011261512457600080fd5b5081356001600160401b0381111561513b57600080fd5b6020830191508360208285010111156132c257600080fd5b60008060006040848603121561516857600080fd5b8335925060208401356001600160401b0381111561518557600080fd5b61519186828701615112565b9497909650939450505050565b80151581146134e657600080fd5b6000602082840312156151be57600080fd5b81356123458161519e565b6000602082840312156151db57600080fd5b61234582614fc6565b6000806000606084860312156151f957600080fd5b61520284614fc6565b925061521060208501614fc6565b929592945050506040919091013590565b6000806040838503121561523457600080fd5b50508035926020909101359150565b60006020828403121561525557600080fd5b81356001600160401b0381111561526b57600080fd5b8201610280818503121561234557600080fd5b803561ffff8116811461226357600080fd5b600080604083850312156152a357600080fd5b6152ac83614fc6565b91506152ba6020840161527e565b90509250929050565b600080600080606085870312156152d957600080fd5b843593506020850135925060408501356001600160401b038111156152fd57600080fd5b61530987828801615112565b95989497509550505050565b600081518084526020840193506020830160005b82811015615347578151865260209586019590910190600101615329565b5093949350505050565b6020815260006123456020830184615315565b82815260406020820152600061255f6040830184614f6e565b60008060006060848603121561539257600080fd5b505081359360208301359350604090920135919050565b6040815260006153bc6040830185615315565b90508260208301529392505050565b6000806000606084860312156153e057600080fd5b8335925060208401356002811061521057600080fd5b6000806040838503121561540957600080fd5b61541283614fc6565b915060208301356154228161519e565b809150509250929050565b60008060008060006080868803121561544557600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561547057600080fd5b61547c88828901615112565b969995985093965092949392505050565b600080602083850312156154a057600080fd5b82356001600160401b038111156154b657600080fd5b6154c285828601615112565b90969095509350505050565b6000806000606084860312156154e357600080fd5b6154ec84614fc6565b92506154fa60208501614fc6565b915061550860408501614fc6565b90509250925092565b6000806020838503121561552457600080fd5b82356001600160401b0381111561553a57600080fd5b6154c285828601614ff3565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561559f57603f1987860301845261558a858351614f6e565b9450602093840193919091019060010161556e565b50929695505050505050565b6000806000806000608086880312156155c357600080fd5b6155cc86614fc6565b94506155da60208701614fc6565b93506040860135925060608601356001600160401b0381111561547057600080fd5b634e487b7160e01b600052602160045260246000fd5b60028110615622576156226155fc565b9052565b604081016156348285615612565b8260208301529392505050565b6000806040838503121561565457600080fd5b61565d83614fc6565b91506152ba60208401614fc6565b60098110615622576156226155fc565b60078110615622576156226155fc565b600061010082018a151583526156a4602084018b61566b565b6156b1604084018a61567b565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156157345761011f1987860301845261571f858351614f6e565b94506020938401939190910190600101615702565b50929d9c50505050505050505050505050565b600181811c9082168061575b57607f821691505b60208210810361577b57634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157c1602084018c61566b565b6157ce604084018b61567b565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158905786850361011f19018452823581811261583f57600080fd5b89016020810190356001600160401b0381111561585b57600080fd5b80360382131561586a57600080fd5b615875878284615781565b9650505060208301925060208401935060018201915061581f565b50929e9d5050505050505050505050505050565b8481526060602082015260006158be606083018587615781565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611a0757806000526020600020601f840160051c810160208510156159145750805b601f840160051c820191505b818110156118cb5760008155600101615920565b6001600160401b0383111561594b5761594b6158d7565b61595f836159598354615747565b836158ed565b6000601f841160018114615993576000851561597b5750838201355b600019600387901b1c1916600186901b1783556118cb565b600083815260209020601f19861690835b828110156159c457868501358255602094850194600190920191016159a4565b50868210156159e15760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152600061255f602083018486615781565b6000808335601e19843603018112615a1e57600080fd5b8301803591506001600160401b03821115615a3857600080fd5b6020019150368190038213156132c257600080fd5b600060208284031215615a5f57600080fd5b6123458261527e565b6000808335601e19843603018112615a7f57600080fd5b8301803591506001600160401b03821115615a9957600080fd5b6020019150600581901b36038213156132c257600080fd5b858152846020820152608060408201526000615ad1608083018587615781565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b83815260608101615b156020830185615612565b826040830152949350505050565b838152604060208201526000615b3d604083018486615781565b95945050505050565b600060208284031215615b5857600080fd5b81516001600160401b03811115615b6e57600080fd5b8201601f81018413615b7f57600080fd5b80516001600160401b03811115615b9857615b986158d7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615bc657615bc66158d7565b604052818152828201602001861015615bde57600080fd5b615b3d826020830160208601614f4a565b60008151615c01818560208601614f4a565b9290920192915050565b6000808554615c1981615747565b600182168015615c305760018114615c4557615c75565b60ff1983168652811515820286019350615c75565b88600052602060002060005b83811015615c6d57815488820152600190910190602001615c51565b505081860193505b505050602f60f81b81528451615c92816001840160208901614f4a565b01615ca360018201602f60f81b9052565b615cb06002820185615bef565b9695505050505050565b60008235607e19833603018112615cd057600080fd5b9190910192915050565b60008235605e19833603018112615cd057600080fd5b60008551615d02818460208a01614f4a565b602f60f81b9083019081528551615d20816001840160208a01614f4a565b602f60f81b600192909101918201528451615d42816002840160208901614f4a565b600181830101915050602f60f81b60018201528351615d68816002840160208801614f4a565b016002019695505050505050565b600060208284031215615d8857600080fd5b81516123458161519e565b634e487b7160e01b600052601160045260246000fd5b600060018201615dbb57615dbb615d93565b5060010190565b600081615dd157615dd1615d93565b506000190190565b60008251615cd0818460208701614f4a565b600060208284031215615dfd57600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a264697066735822122017eedf70b3cf5efab234613900244038aedaef68ac7c17d8377b32dd2e49622464736f6c634300081c0033";
14
+ export const seriesCodeAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "clearContractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "clearTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "configureTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "configureTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "dependenciesLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyByIndex", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockDependencies", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockScript", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintMany", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint48", "internalType": "uint48" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "removeLastDependency", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLastScriptChunk", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "scriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "scriptChunkCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "scriptLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "seedSource", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDelegateRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependency", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependencyRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamHooks", "inputs": [{ "name": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setScriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "chunk", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSeedSource", "inputs": [{ "name": "source", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SeedSourceSet", "inputs": [{ "name": "seedSource", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "SchemaGoverned", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "SeedSettled", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
15
+ export const seriesCodeBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f5a8061008d6000396000f3fe6080604052600436106106315760003560e01c80637d0b7ae411610329578063c3e617a2116101b6578063e42b7baf11610102578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc814611309578063fca3b5aa14611329578063fee81cf414611349578063ff87a5f51461137c57600080fd5b8063f04e283e146112af578063f2235701146112c2578063f2fde38b146112f657600080fd5b8063e8dc3e09116100dc578063e8dc3e09146111ff578063e985e9c51461124f578063ea58f97114611285578063ee748f2c1461129a57600080fd5b8063e42b7baf146111aa578063e4df18ec146111ca578063e8a3d485146111ea57600080fd5b8063d8b4f8ac1161016f578063dc98387911610149578063dc98387914611140578063e1b7938114611155578063e1c2ffad14611175578063e2969ba71461118a57600080fd5b8063d8b4f8ac146110f6578063d90f5df21461110b578063da2bbfc71461112057600080fd5b8063c3e617a214611058578063c4f2604814611078578063c87b56dd14611093578063cc1cf51514611078578063cfc59afd146110b3578063d50bac33146110e157600080fd5b80639a5db50311610275578063a9fc664e1161022e578063ac998f4511610208578063ac998f4514610ffb578063b478424714611010578063b88d4fde14611025578063bb77e7961461103857600080fd5b8063a9fc664e14610f9b578063aa0de18d14610fbb578063ac9650d814610fdb57600080fd5b80639a5db50314610eac5780639aa1a1f014610ec1578063a148d8cf14610ee1578063a22cb46514610f3b578063a482c94614610f5b578063a8cdf07814610f7b57600080fd5b8063909206e3116102e257806392d9906f116102bc57806392d9906f14610e4257806395d89b4114610e5757806396f4205a14610e6c57806397e950f714610e8c57600080fd5b8063909206e314610ad1578063913b385a14610e0257806392b29b1714610e2257600080fd5b80637d0b7ae414610d3257806384f6687f14610d6957806386b7f6a414610d895780638da5cb5b14610da95780638e08141f14610dc25780638e4cc07014610de257600080fd5b80633c59f1bb116104c25780635e5a9e301161040e5780636cb02818116103ac578063715018a611610386578063715018a614610cc9578063738e149614610cd157806375794a3c14610cfd5780637b1d470714610d1257600080fd5b80636cb0281814610c745780636cbdef6114610c9457806370a0823114610ca957600080fd5b806369053374116103e85780636905337414610bf45780636a62784214610c145780636aaf760714610c345780636bd3922214610c5457600080fd5b80635e5a9e3014610b9f5780635e83065614610bb45780636352211e14610bd457600080fd5b80634efdb5ae1161047b57806355828c501161045557806355828c5014610af35780635a50ca6514610b215780635b02f81c14610b4c5780635c975abb14610b7a57600080fd5b80634efdb5ae14610aa957806354d1f13d14610ac957806355580cca14610ad157600080fd5b80633c59f1bb146109d45780633d6e924b14610a135780633dda44b014610a3357806342842e0e14610a535780634331f63914610a665780634aa3adb314610a8657600080fd5b806318160ddd11610581578063256929621161053a578063298bb40e11610514578063298bb40e146109115780632a55205a146109265780632e73cddb146109655780633990b221146109b457600080fd5b806325692962146108d4578063261220a3146108dc57806326dfe8c7146108f157600080fd5b806318160ddd146107d65780631c31cac3146107f957806320ac0944146108195780632352b33f1461082e57806323b872dd146108ac57806325628d34146108bf57600080fd5b8063098144d4116105ee57806313bfffac116105c857806313bfffac1461076c5780631622326a1461078157806316c38b3c146107a157806317afae43146107c157600080fd5b8063098144d41461070f5780630b4c562b146107245780630d705df61461074457600080fd5b806301ffc9a71461063657806306fdde031461066b578063075461721461068d578063081812fc146106ba57806308a38395146106da578063095ea7b3146106fc575b600080fd5b34801561064257600080fd5b50610656610651366004614f20565b61139c565b60405190151581526020015b60405180910390f35b34801561067757600080fd5b5061068061147c565b6040516106629190614f9a565b34801561069957600080fd5b506106a261152e565b6040516001600160a01b039091168152602001610662565b3480156106c657600080fd5b506106a26106d5366004614fad565b611561565b3480156106e657600080fd5b506106fa6106f5366004615037565b6115a0565b005b6106fa61070a3660046150e8565b61162a565b34801561071b57600080fd5b506106a2611639565b34801561073057600080fd5b506106fa61073f366004615153565b61164f565b34801561075057600080fd5b506040805163657711f560e11b81526001602082015201610662565b34801561077857600080fd5b506106a26116d5565b34801561078d57600080fd5b506106fa61079c366004615153565b6116df565b3480156107ad57600080fd5b506106fa6107bc3660046151ac565b6117be565b3480156107cd57600080fd5b506106a261181b565b3480156107e257600080fd5b506107eb611831565b604051908152602001610662565b34801561080557600080fd5b506106fa6108143660046151c9565b61185b565b34801561082557600080fd5b506106a26118d2565b34801561083a57600080fd5b5061088f610849366004614fad565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610662565b6106fa6108ba3660046151e4565b6118f6565b3480156108cb57600080fd5b506106fa611a0c565b6106fa611a72565b3480156108e857600080fd5b50610680611ac1565b3480156108fd57600080fd5b506106fa61090c3660046151c9565b611ad7565b34801561091d57600080fd5b50610680611b9d565b34801561093257600080fd5b50610946610941366004615221565b611bb3565b604080516001600160a01b039093168352602083019190915201610662565b34801561097157600080fd5b50610656610980366004614fad565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156109c057600080fd5b506106fa6109cf366004615221565b611c08565b3480156109e057600080fd5b506109e9611c98565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610662565b348015610a1f57600080fd5b506106fa610a2e366004615243565b611ca5565b348015610a3f57600080fd5b506106fa610a4e366004615221565b611f57565b6106fa610a613660046151e4565b611fd0565b348015610a7257600080fd5b506106fa610a81366004615290565b611ffd565b348015610a9257600080fd5b5060015b60405161ffff9091168152602001610662565b348015610ab557600080fd5b506106fa610ac43660046152c3565b61200f565b6106fa612090565b348015610add57600080fd5b50610ae66120cc565b6040516106629190615351565b348015610aff57600080fd5b50610b13610b0e366004614fad565b6120d6565b604051610662929190615364565b348015610b2d57600080fd5b50600080516020615ec5833981519152546001600160a01b03166106a2565b348015610b5857600080fd5b50610b6c610b6736600461537d565b6121a6565b6040516106629291906153a9565b348015610b8657600080fd5b50600080516020615e658339815191525460ff16610656565b348015610bab57600080fd5b506106fa6121b2565b348015610bc057600080fd5b506106fa610bcf3660046150e8565b612205565b348015610be057600080fd5b506106a2610bef366004614fad565b61222a565b348015610c0057600080fd5b506106fa610c0f366004614fad565b612268565b348015610c2057600080fd5b506107eb610c2f3660046151c9565b6122ba565b348015610c4057600080fd5b50610680610c4f366004614fad565b6122cd565b348015610c6057600080fd5b5061088f610c6f366004615221565b61234c565b348015610c8057600080fd5b50610680610c8f366004614fad565b6123a0565b348015610ca057600080fd5b506107eb612405565b348015610cb557600080fd5b506107eb610cc43660046151c9565b61241b565b6106fa612456565b348015610cdd57600080fd5b50600080516020615ec583398151915254600160a01b900460ff16610656565b348015610d0957600080fd5b506107eb61246a565b348015610d1e57600080fd5b506106fa610d2d3660046151c9565b612492565b348015610d3e57600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610656565b348015610d7557600080fd5b50610680610d84366004615221565b6124f5565b348015610d9557600080fd5b506106fa610da436600461537d565b612567565b348015610db557600080fd5b50638b78c6d819546106a2565b348015610dce57600080fd5b506106fa610ddd366004614fad565b6125ce565b348015610dee57600080fd5b506106fa610dfd3660046153cb565b612638565b348015610e0e57600080fd5b506106fa610e1d3660046152c3565b61267b565b348015610e2e57600080fd5b506106fa610e3d36600461537d565b61268f565b348015610e4e57600080fd5b506107eb6126f8565b348015610e6357600080fd5b50610680612720565b348015610e7857600080fd5b506106fa610e873660046151c9565b612752565b348015610e9857600080fd5b506106fa610ea7366004614fad565b61279a565b348015610eb857600080fd5b506106fa612836565b348015610ecd57600080fd5b506106fa610edc366004615153565b612882565b348015610eed57600080fd5b50610656610efc366004615221565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610f4757600080fd5b506106fa610f563660046153f6565b6128c5565b348015610f6757600080fd5b506106fa610f7636600461542d565b61291b565b348015610f8757600080fd5b506106fa610f9636600461548d565b612930565b348015610fa757600080fd5b506106fa610fb63660046151c9565b6129bb565b348015610fc757600080fd5b506106fa610fd63660046154ce565b612a1d565b610fee610fe9366004615511565b612a75565b6040516106629190615546565b34801561100757600080fd5b50610656612a94565b34801561101c57600080fd5b506106fa612ab9565b6106fa6110333660046155ab565b612b05565b34801561104457600080fd5b50610680611053366004614fad565b612b59565b34801561106457600080fd5b506106fa61107336600461548d565b612c1a565b34801561108457600080fd5b50610b6c610b67366004615221565b34801561109f57600080fd5b506106806110ae366004614fad565b612c79565b3480156110bf57600080fd5b506110d36110ce366004614fad565b612ed5565b604051610662929190615626565b3480156110ed57600080fd5b506106a2612f5a565b34801561110257600080fd5b506106a2612f70565b34801561111757600080fd5b506107eb612f98565b34801561112c57600080fd5b506106fa61113b36600461548d565b612fae565b34801561114c57600080fd5b506106fa613085565b34801561116157600080fd5b50610ae6611170366004614fad565b6120cc565b34801561118157600080fd5b506106fa6130d1565b34801561119657600080fd5b506106fa6111a53660046151c9565b613124565b3480156111b657600080fd5b506106fa6111c53660046152c3565b613199565b3480156111d657600080fd5b50610b136111e5366004615221565b6131eb565b3480156111f657600080fd5b506106806132c9565b34801561120b57600080fd5b50610a9661121a366004614fad565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561125b57600080fd5b5061065661126a366004615641565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561129157600080fd5b5061065661347d565b3480156112a657600080fd5b50610680613493565b6106fa6112bd3660046151c9565b6134a9565b3480156112ce57600080fd5b506112e26112dd366004614fad565b6134e9565b60405161066298979695949392919061568b565b6106fa6113043660046151c9565b6134fe565b34801561131557600080fd5b506106fa611324366004615221565b613525565b34801561133557600080fd5b506106fa6113443660046151c9565b61357e565b34801561135557600080fd5b506107eb6113643660046151c9565b63389a75e1600c908152600091909152602090205490565b34801561138857600080fd5b506106fa6113973660046151c9565b6135f3565b60006113a7826136c4565b806113b657506113b6826136fb565b806113c557506113c582613740565b806113d457506113d48261376b565b806113e357506113e382613798565b806113f257506113f2826137ff565b8061140157506114018261382a565b80611410575061141082613855565b8061141f575061141f82613880565b8061142e575061142e826138ab565b8061143d575061143d826138d6565b8061144c575061144c82613901565b8061145b575061145b8261392c565b8061147657506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546114ab90615747565b80601f01602080910402602001604051908101604052809291908181526020018280546114d790615747565b80156115245780601f106114f957610100808354040283529160200191611524565b820191906000526020600020905b81548152906001019060200180831161150757829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6115965763ceea21b66000526004601cfd5b6001015492915050565b6115a8613957565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906115ef908c908c908c908c908c908c908c908c908c906004016157aa565b60006040518083038186803b15801561160757600080fd5b505af415801561161b573d6000803e3d6000fd5b50505050505050505050505050565b611635338383613972565b5050565b6000600080516020615f05833981519152611552565b611657613957565b61166360008085613a13565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a906116a09086908690869033906004016158a4565b60006040518083038186803b1580156116b857600080fd5b505af41580156116cc573d6000803e3d6000fd5b50505050505050565b6000610631613a80565b6116e7613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff161561172f5760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061174a838583615934565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b8547848460405161177d9291906159f3565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6117c6613957565b600080516020615e65833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615ee5833981519152611552565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b611863613957565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b1580156118b757600080fd5b505af41580156118cb573d6000803e3d6000fd5b5050505050565b6000600080516020615e458339815191525b600101546001600160a01b0316919050565b611901838383613a90565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119535767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611981576030600c205461198157634b6e7f186000526004601cfd5b821561198f57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119d25767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611a07838383613a9b565b505050565b611a14613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b505af4158015611a6c573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e858339815191526114a0565b611adf613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615611b27576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615ea58339815191526114a0565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611be7576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611c10613957565b611c1c60008084613a13565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611c7c57600080fd5b505af4158015611c90573d6000803e3d6000fd5b505050505050565b6000806000610631613a80565b63409feecd198054600382558015611cdc5760018160011c14303b10611cd35763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611d035760405163fe5afcb960e01b815260040160405180910390fd5b8161014001358261022001351115611d2e57604051633f63c5bf60e01b815260040160405180910390fd5b611d43611d3e60208401846151c9565b613ab1565b611d68611d536060840184615a07565b611d6360a08601608087016151c9565b613aed565b611d8a611d786020840184615a07565b611d856040860186615a07565b613b2e565b611d92613b6b565b611dbd611da6610100840160e085016151c9565b611db861012085016101008601615a4d565b613ba1565b611dd7611dd2610140840161012085016151c9565b613bcc565b611de5826101400135613c31565b611dff611dfa6101a0840161018085016151c9565b613c9d565b611e19611e14610180840161016085016151c9565b613cfe565b611e33611e2e6101c084016101a085016151ac565b613d5f565b611e4d611e486101e084016101c085016151c9565b613ddd565b611e55613e2c565b611e6f611e6a61020084016101e085016151ac565b613e57565b611e77613f01565b611e7f613f2c565b611ea3611e90610240840184615a68565b611e9e610260860186615a68565b613f57565b611ec8611eb360a0840184615a07565b611ec360e0860160c087016151c9565b6140bc565b6000611edc610220840161020085016151c9565b6001600160a01b031614611f1f5760005b826102200135811015611f1d57611f14611f0f610220850161020086016151c9565b614124565b50600101611eed565b505b8015611635576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611f5f613957565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611fdb8383836118f6565b813b15611a0757611a07838383604051806020016040528060008152506141cd565b612005613957565b6116358282614251565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d148585858561203a638b78c6d8195490565b6040518663ffffffff1660e01b815260040161205a959493929190615ab1565b60006040518083038186803b15801561207257600080fd5b505af4158015612086573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060610631613a80565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061211c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461214890615747565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b505050505090509250925050915091565b60606000610631613a80565b6121ba613957565b600080516020615e25833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b61220d61431e565b60005b81811015611a075761222183614124565b50600101612210565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806122635763ceea21b66000526004601cfd5b919050565b612270613957565b61227c60008083613a13565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec9060440161189f565b60006122c461431e565b61147682614124565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061231357604051633fa417ed60e11b815260040160405180910390fd5b61234581600001848154811061232b5761232b615aeb565b6000918252602090912001546001600160a01b03166143a0565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156123ee576123e9816143a0565b612345565b604051806020016040528060008152509392505050565b6000600080516020615e05833981519152611855565b60008161243057638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61245e613957565b61246860006143ce565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611855565b61249a613957565b80600080516020615ee58339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b0316801561254e57612549816143a0565b61255f565b604051806020016040528060008152505b949350505050565b61256f613957565b61257b60018484613a13565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a4016116a0565b6125d6613957565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b612640613957565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906116a090869086908690600401615b01565b612683613957565b611a6c8484848461440c565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d64468484846126b9638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b031660648201526084016116a0565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900611855565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546114ab90615747565b61275a613957565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161189f565b6127a2613957565b600080516020615e0583398151915280548211156127d357604051632b953d0360e11b815260040160405180910390fd5b6127db614506565b8210156127fb57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b61283e613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b61288a613957565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906116a090869086908690600401615b23565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612923613957565b6118cb8585858585614515565b612938613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612980576040516352be865b60e01b815260040160405180910390fd5b8061298c838583615934565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6129c3613957565b600080516020615f058339815191528054600160a01b900460ff166129fb57604051638915b2e160e01b815260040160405180910390fd5b6001600160a01b03821615612a1357612a1382614623565b611635818361464e565b612a25613957565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d906064016116a0565b60603415612a8257600080fd5b611476612a8f84846146a6565b61473d565b6000600080516020615e858339815191525b60010154600160a01b900460ff16919050565b612ac1613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b612b108585856118f6565b833b156118cb576118cb85858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506141cd92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612b9590615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612bc190615747565b8015612c0e5780601f10612be357610100808354040283529160200191612c0e565b820191906000526020600020905b815481529060010190602001808311612bf157829003601f168201915b50505050509050919050565b612c22613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612c6a576040516352be865b60e01b815260040160405180910390fd5b6001810161298c838583615934565b6060612ca3826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612cc05760405163163a09e160e31b815260040160405180910390fd5b600080516020615e2583398151915254600080516020615e85833981519152906001600160a01b031615612d6757600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123459190810190615b46565b600083815260028201602052604081208054612d8290615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612dae90615747565b8015612dfb5780601f10612dd057610100808354040283529160200191612dfb565b820191906000526020600020905b815481529060010190602001808311612dde57829003601f168201915b505050505090508051600014612e12579392505050565b81548290612e1f90615747565b9050600003612e3f57505060408051602081019091526000815292915050565b61255f826000018054612e5190615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612e7d90615747565b8015612eca5780601f10612e9f57610100808354040283529160200191612eca565b820191906000526020600020905b815481529060010190602001808311612ead57829003601f168201915b50505050508561474d565b600080516020615e45833981519152805460009182918410612f0a5760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612f2157612f21615aeb565b60009182526020909120600290910201805490915060ff166001811115612f4a57612f4a6155fc565b8160010154935093505050915091565b6000600080516020615e858339815191526118e4565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611552565b6000600080516020615e45833981519152611855565b612fb6613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff1615612ffe5760405163dd48f3ab60e01b815260040160405180910390fd5b8061300a838583615934565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b838360405161303c9291906159f3565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61308d613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b6130d9613957565b600080516020615ec5833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61312c613957565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b6131a1613957565b6131ad60018585613a13565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed483009061205a9087908790879087903390600401615ab1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061323c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461326890615747565b80156132b55780601f1061328a576101008083540402835291602001916132b5565b820191906000526020600020905b81548152906001019060200180831161329857829003601f168201915b5050505050905092509250505b9250929050565b600080516020615ec583398151915254606090600080516020615ea5833981519152906001600160a01b03161561337057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015613342573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261336a9190810190615b46565b91505090565b80600101805461337f90615747565b1590506134195780600101805461339590615747565b80601f01602080910402602001604051908101604052809291908181526020018280546133c190615747565b801561340e5780601f106133e35761010080835404028352916020019161340e565b820191906000526020600020905b8154815290600101906020018083116133f157829003601f168201915b505050505091505090565b8054819061342690615747565b905060000361344357505060408051602081019091526000815290565b8061344d46614795565b613456306147d9565b60405160200161346893929190615c0b565b60405160208183030381529060405291505090565b6000600080516020615e45833981519152612aa6565b6060600080516020615ea5833981519152612744565b6134b1613957565b63389a75e1600c52806000526020600c2080544211156134d957636f5e88186000526004601cfd5b600090556134e6816143ce565b50565b60008060008060008060006060610631613a80565b613506613957565b8060601b61351c57637448fbae6000526004601cfd5b6134e6816143ce565b61352d613957565b61353960018383613a13565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611c64565b613586613957565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6135fb613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff16156136435760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910161282a565b60006136cf826147fd565b806114765750611476826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613723826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806114765750506001600160e01b031916632483248360e11b1490565b600061374b826147fd565b8061147657506001600160e01b031982166307ccd03560e31b1492915050565b6000613776826147fd565b806114765750632a55205a60e083901c9081146301ffc9a79190911417611476565b60006137a3826147fd565b8061147657506001600160e01b03198216632b435fdb60e21b14806137d857506001600160e01b0319821663503e914d60e11b145b80156114765750600080516020615f0583398151915254600160a01b900460ff1692915050565b600061380a826147fd565b8061147657506001600160e01b03198216636cbdef6160e01b1492915050565b6000613835826147fd565b8061147657506001600160e01b031982166303aa30b960e11b1492915050565b6000613860826147fd565b8061147657506001600160e01b0319821663362d3e2b60e21b1492915050565b600061388b826147fd565b8061147657506001600160e01b03198216635c975abb60e01b1492915050565b60006138b6826147fd565b8061147657506001600160e01b031982166317afae4360e01b1492915050565b60006138e182614833565b8061147657506001600160e01b0319821663040a5d5760e51b1492915050565b600061390c826147fd565b8061147657506001600160e01b0319821663215f672360e21b1492915050565b6000613937826147fd565b8061147657506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612468576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816139b95763ceea21b66000526004601cfd5b8185148515176139df57816000526030600c20546139df57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b828015613a265750631cd9595960e21b81145b8015613a3f5750613a3d631cd9595960e21b61485e565b155b8015613a575750613a5782631cd9595960e21b6148d5565b15613a755760405163108e179760e11b815260040160405180910390fd5b611a0783838361491c565b6149438061163563ffffffff8216565b611a0783838361497b565b613aa6838383614a47565b611a07818484614aca565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e8583398151915280613b08848683615934565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613b5b858783615934565b5060018101611c90838583615934565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6120057f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614b9e565b6001600160a01b038116613bdd5750565b613be681614623565b600080516020615f05833981519152805460ff60a01b1916600160a01b178155612a137f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614b9e565b613c5c7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614b9e565b80600080516020615e05833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611810565b613cc87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614b9e565b6001600160a01b038116156134e657807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006135a9565b613d297fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614b9e565b6001600160a01b038116156134e657807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061314f565b613d8a7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614b9e565b80156134e657600080516020615e65833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611810565b613e087fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614b9e565b6001600160a01b038116156134e65780600080516020615ee58339815191526124ab565b6124687f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614b9e565b613e827f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614b9e565b8015613ec057604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac39060240161189f565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6124687fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614b9e565b6124687fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614b9e565b613f5f614c10565b60005b8381101561402157614019858583818110613f7f57613f7f615aeb565b9050602002810190613f919190615cba565b35868684818110613fa457613fa4615aeb565b9050602002810190613fb69190615cba565b60200135878785818110613fcc57613fcc615aeb565b9050602002810190613fde9190615cba565b60400135888886818110613ff457613ff4615aeb565b90506020028101906140069190615cba565b614014906060810190615a07565b614515565b600101613f62565b5060005b818110156118cb576140b483838381811061404257614042615aeb565b90506020028101906140549190615cda565b3584848481811061406757614067615aeb565b90506020028101906140799190615cda565b6020013585858581811061408f5761408f615aeb565b90506020028101906140a19190615cda565b6140af906040810190615a07565b61440c565b600101614025565b600080516020615ea5833981519152806140d7848683615934565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461414f81614c3b565b61416081631cd9595960e21b6148d5565b6141985760008060006141738486614c6a565b92509250925082156141945761419484631cd9595960e21b84600085614d1d565b5050505b6141a28282614dac565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015614214578060c08401826020870160045afa505b60208360a48301601c860160008a5af1614237573d15614237573d6000843e3d83fd5b508060e01b825114611c905763d1a57ed66000526004601cfd5b6103e861ffff821611156142785760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff166000036142d157614296600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6142df828261ffff16614e61565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016142c5565b638b78c6d819546001600160a01b0316330361433657565b600080516020615e658339815191525460ff1615614367576040516375ab03ab60e11b815260040160405180910390fd5b61436f61152e565b6001600160a01b0316336001600160a01b0316146124685760405163263ab11d60e21b815260040160405180910390fd5b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561447d57604051635fde02f960e01b815260040160405180910390fd5b600082900361449f576040516366e0344f60e01b815260040160405180910390fd5b60008581526002820160205260409020848155600181016144c1848683615934565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516144f693929190615b23565b60405180910390a2505050505050565b6000614510611831565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561459157604051635fde02f960e01b815260040160405180910390fd5b60008290036145b3576040516366e0344f60e01b815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016145dc848683615934565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161461293929190615b23565b60405180910390a350505050505050565b806001600160a01b03163b6000036134e657604051631ab5243360e31b815260040160405180910390fd5b81546001600160a01b038281166001600160a01b031983168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101613078565b600060405190506020815281816020015280604001808360051b808684378201808515614725575b835187018035602082018337600038823584305af46146f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106146ce575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b60608261475946614795565b614762306147d9565b61476b85614795565b60405160200161477e9493929190615cf0565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806147b0575050819003601f19909101908152919050565b60606147e482614eb1565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061147657506001600160e01b0319821663513fc9dd60e11b1492915050565b600061483e826147fd565b8061147657506001600160e01b03198216638bd8666560e01b1492915050565b60405163016b37e160e11b81526004810182905260009073__$e7b790d12aa4dbca4f4490208141613ae5$__906302d66fc290602401602060405180830381865af41580156148b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114769190615d76565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b6149258161485e565b15611a075760405163149eae5760e01b815260040160405180910390fd5b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614975573d6000fd5b503d6000f35b600080516020615f05833981519152546001600160a01b03168061499f5750505050565b6001600160a01b03841615806149bc57506001600160a01b038316155b156149c75750505050565b6001600160a01b03811633036149dd5750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b158015614a3357600080fd5b505afa158015612086573d6000803e3d6000fd5b6001600160a01b038316614a8d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615da9565b90915550505050565b6001600160a01b038216611a07577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615dc2565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b031680614b005750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b17905251614b619190615dd9565b6000604051808303816000865af19150503d8060008114612086576040519150601f19603f3d011682016040523d82523d6000602084013e612086565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016142c5565b6124687f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614b9e565b600080516020615e058339815191525481106134e65760405163ba470cd560e01b815260040160405180910390fd5b600080516020615ee58339815191525460009081906001600160a01b031680614c9b57506000915081905080612399565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614cee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d129190615deb565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015614d8d57600080fd5b505af4158015614da1573d6000803e3d6000fd5b505050505050505050565b614db860008383613a90565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614df65763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614e2b5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a461163560008383613a9b565b6bffffffffffffffffffffffff1661271080821115614e885763350a88b36000526004601cfd5b8260601b80614e9f5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614ef1575050919050565b600060208284031215614f3257600080fd5b81356001600160e01b03198116811461234557600080fd5b60005b83811015614f65578181015183820152602001614f4d565b50506000910152565b60008151808452614f86816020860160208601614f4a565b601f01601f19169290920160200192915050565b6020815260006123456020830184614f6e565b600060208284031215614fbf57600080fd5b5035919050565b80356001600160a01b038116811461226357600080fd5b803565ffffffffffff8116811461226357600080fd5b60008083601f84011261500557600080fd5b5081356001600160401b0381111561501c57600080fd5b6020830191508360208260051b85010111156132c257600080fd5b60008060008060008060008060006101008a8c03121561505657600080fd5b8935985060208a01356009811061506c57600080fd5b975060408a01356007811061508057600080fd5b965061508e60608b01614fc6565b955061509c60808b01614fdd565b945060a08a0135935060c08a0135925060e08a01356001600160401b038111156150c557600080fd5b6150d18c828d01614ff3565b915080935050809150509295985092959850929598565b600080604083850312156150fb57600080fd5b61510483614fc6565b946020939093013593505050565b60008083601f84011261512457600080fd5b5081356001600160401b0381111561513b57600080fd5b6020830191508360208285010111156132c257600080fd5b60008060006040848603121561516857600080fd5b8335925060208401356001600160401b0381111561518557600080fd5b61519186828701615112565b9497909650939450505050565b80151581146134e657600080fd5b6000602082840312156151be57600080fd5b81356123458161519e565b6000602082840312156151db57600080fd5b61234582614fc6565b6000806000606084860312156151f957600080fd5b61520284614fc6565b925061521060208501614fc6565b929592945050506040919091013590565b6000806040838503121561523457600080fd5b50508035926020909101359150565b60006020828403121561525557600080fd5b81356001600160401b0381111561526b57600080fd5b8201610280818503121561234557600080fd5b803561ffff8116811461226357600080fd5b600080604083850312156152a357600080fd5b6152ac83614fc6565b91506152ba6020840161527e565b90509250929050565b600080600080606085870312156152d957600080fd5b843593506020850135925060408501356001600160401b038111156152fd57600080fd5b61530987828801615112565b95989497509550505050565b600081518084526020840193506020830160005b82811015615347578151865260209586019590910190600101615329565b5093949350505050565b6020815260006123456020830184615315565b82815260406020820152600061255f6040830184614f6e565b60008060006060848603121561539257600080fd5b505081359360208301359350604090920135919050565b6040815260006153bc6040830185615315565b90508260208301529392505050565b6000806000606084860312156153e057600080fd5b8335925060208401356002811061521057600080fd5b6000806040838503121561540957600080fd5b61541283614fc6565b915060208301356154228161519e565b809150509250929050565b60008060008060006080868803121561544557600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561547057600080fd5b61547c88828901615112565b969995985093965092949392505050565b600080602083850312156154a057600080fd5b82356001600160401b038111156154b657600080fd5b6154c285828601615112565b90969095509350505050565b6000806000606084860312156154e357600080fd5b6154ec84614fc6565b92506154fa60208501614fc6565b915061550860408501614fc6565b90509250925092565b6000806020838503121561552457600080fd5b82356001600160401b0381111561553a57600080fd5b6154c285828601614ff3565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561559f57603f1987860301845261558a858351614f6e565b9450602093840193919091019060010161556e565b50929695505050505050565b6000806000806000608086880312156155c357600080fd5b6155cc86614fc6565b94506155da60208701614fc6565b93506040860135925060608601356001600160401b0381111561547057600080fd5b634e487b7160e01b600052602160045260246000fd5b60028110615622576156226155fc565b9052565b604081016156348285615612565b8260208301529392505050565b6000806040838503121561565457600080fd5b61565d83614fc6565b91506152ba60208401614fc6565b60098110615622576156226155fc565b60078110615622576156226155fc565b600061010082018a151583526156a4602084018b61566b565b6156b1604084018a61567b565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156157345761011f1987860301845261571f858351614f6e565b94506020938401939190910190600101615702565b50929d9c50505050505050505050505050565b600181811c9082168061575b57607f821691505b60208210810361577b57634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157c1602084018c61566b565b6157ce604084018b61567b565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158905786850361011f19018452823581811261583f57600080fd5b89016020810190356001600160401b0381111561585b57600080fd5b80360382131561586a57600080fd5b615875878284615781565b9650505060208301925060208401935060018201915061581f565b50929e9d5050505050505050505050505050565b8481526060602082015260006158be606083018587615781565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611a0757806000526020600020601f840160051c810160208510156159145750805b601f840160051c820191505b818110156118cb5760008155600101615920565b6001600160401b0383111561594b5761594b6158d7565b61595f836159598354615747565b836158ed565b6000601f841160018114615993576000851561597b5750838201355b600019600387901b1c1916600186901b1783556118cb565b600083815260209020601f19861690835b828110156159c457868501358255602094850194600190920191016159a4565b50868210156159e15760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152600061255f602083018486615781565b6000808335601e19843603018112615a1e57600080fd5b8301803591506001600160401b03821115615a3857600080fd5b6020019150368190038213156132c257600080fd5b600060208284031215615a5f57600080fd5b6123458261527e565b6000808335601e19843603018112615a7f57600080fd5b8301803591506001600160401b03821115615a9957600080fd5b6020019150600581901b36038213156132c257600080fd5b858152846020820152608060408201526000615ad1608083018587615781565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b83815260608101615b156020830185615612565b826040830152949350505050565b838152604060208201526000615b3d604083018486615781565b95945050505050565b600060208284031215615b5857600080fd5b81516001600160401b03811115615b6e57600080fd5b8201601f81018413615b7f57600080fd5b80516001600160401b03811115615b9857615b986158d7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615bc657615bc66158d7565b604052818152828201602001861015615bde57600080fd5b615b3d826020830160208601614f4a565b60008151615c01818560208601614f4a565b9290920192915050565b6000808554615c1981615747565b600182168015615c305760018114615c4557615c75565b60ff1983168652811515820286019350615c75565b88600052602060002060005b83811015615c6d57815488820152600190910190602001615c51565b505081860193505b505050602f60f81b81528451615c92816001840160208901614f4a565b01615ca360018201602f60f81b9052565b615cb06002820185615bef565b9695505050505050565b60008235607e19833603018112615cd057600080fd5b9190910192915050565b60008235605e19833603018112615cd057600080fd5b60008551615d02818460208a01614f4a565b602f60f81b9083019081528551615d20816001840160208a01614f4a565b602f60f81b600192909101918201528451615d42816002840160208901614f4a565b600181830101915050602f60f81b60018201528351615d68816002840160208801614f4a565b016002019695505050505050565b600060208284031215615d8857600080fd5b81516123458161519e565b634e487b7160e01b600052601160045260246000fd5b600060018201615dbb57615dbb615d93565b5060010190565b600081615dd157615dd1615d93565b506000190190565b60008251615cd0818460208701614f4a565b600060208284031215615dfd57600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a264697066735822122017eedf70b3cf5efab234613900244038aedaef68ac7c17d8377b32dd2e49622464736f6c634300081c0033";
16
16
  export const abxSeedSourceAbi = [{ "type": "function", "name": "seed", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }];
17
17
  export const abxSeedSourceBytecode = "0x6080604052348015600f57600080fd5b5061019a8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80630b1c2e7214610030575b600080fd5b61004361003e3660046100e1565b610055565b60405190815260200160405180910390f35b60003383834461006660014361012a565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606096871b8116602083015260348201959095529290941b90921660548201526068810191909152904060888201524260a882015260c8016040516020818303038152906040528051906020012090505b92915050565b600080604083850312156100f457600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff8116811461011f57600080fd5b809150509250929050565b818103818111156100db577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212208bd690ae1228a7de1abfd64fc090e0e5de7506a54a027895d588571cf8851b7764736f6c634300081c0033";
18
- export const abxParamsLibAbi = [{ "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "EmptyParamValue", "inputs": [] }, { "type": "error", "name": "InvalidParamSchema", "inputs": [] }, { "type": "error", "name": "InvalidParamValue", "inputs": [] }, { "type": "error", "name": "NoParamSchema", "inputs": [] }, { "type": "error", "name": "NotParamAuthorized", "inputs": [] }, { "type": "error", "name": "ParamLockExpired", "inputs": [] }, { "type": "error", "name": "ParamNotSet", "inputs": [] }, { "type": "error", "name": "WrongValuePath", "inputs": [] }];
19
- export const abxParamsLibBytecode = "0x61277a610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100d35760003560e01c8063909d716e1161008b5780639ffefae6116100655780639ffefae6146101da578063aa0de18d146101fa578063d84d64461461021a57600080fd5b8063909d716e1461017a57806392b8e7391461019a5780639a851cec146101ba57600080fd5b80632ed48300116100bc5780632ed483001461011a57806333fe6d141461013a578063838128171461015a57600080fd5b80630ba2352a146100d85780631c31cac3146100fa575b600080fd5b8180156100e457600080fd5b506100f86100f3366004611eb2565b61023a565b005b81801561010657600080fd5b506100f8610115366004611f11565b610351565b81801561012657600080fd5b506100f8610135366004611f2e565b6103df565b81801561014657600080fd5b506100f8610155366004611f2e565b610504565b81801561016657600080fd5b506100f8610175366004611fa7565b610602565b81801561018657600080fd5b506100f8610195366004611fef565b610822565b8180156101a657600080fd5b506100f86101b536600461202e565b610a0b565b8180156101c657600080fd5b506100f86101d5366004612067565b610ba3565b8180156101e657600080fd5b506100f86101f53660046120f2565b610d54565b81801561020657600080fd5b506100f86102153660046121a4565b6111f3565b81801561022657600080fd5b506100f86102353660046121e4565b611313565b6000829003610275576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102b483838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113bf92505050565b60008581527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092179091555161034b90859061033b908690869061221a565b6040518091039020600184610822565b50505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f45f18b5e88ce952d701fc020d1b6358f7380553c64fd639216568803f072105590600090a250565b600082900361041a576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045983838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113bf92505050565b60008681527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208884529091529081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155516104fd90869086906104ed908790879061221a565b6040518091039020600185610602565b5050505050565b6000610511868684611403565b905060078154610100900460ff1660088111156105305761053061222a565b14158015610559575060088154610100900460ff1660088111156105565761055661222a565b14155b15610590576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008390036105cb576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105ed868686866040516105e092919061221a565b6040518091039020611526565b6105fa86868686336103df565b505050505050565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853008215801561066157506000868152600282016020908152604080832088845290915290205473ffffffffffffffffffffffffffffffffffffffff1615155b156106a85760008681526002820160209081526040808320888452909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008c81528784528681208c8252909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909316929092171790557f73656564000000000000000000000000000000000000000000000000000000008514610791576000868152600482016020908152604080832060058501909252909120610791919087611603565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff841691879189917fde0436cfd14f6250e38daf8e3605d7a54612abb0d9a1ac04278609edb949cd78910160405180910390a46040518681527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050505050565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300821580156108765750600085815260038201602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b156108b2576000858152600382016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008b8152878301909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090931692909217179055610957600682016007830187611603565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff84169187917fbf1b8f39d36a4cce40517cfc4e2f6dc657084b06295ee413186ecc58050e0a57910160405180910390a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050505050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020818152604080842086855290915290912060010154610100900460ff16610a86576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260208281526040808320868452825280832083815560010180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055868352600284018252808320868452825280832080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905586835260048401825280832060058501909252909120610b24919085611671565b8173ffffffffffffffffffffffffffffffffffffffff1683857feb7b2bd8dec13c1b2bc4577645e93c668e7071d4d417003ecf89c4dd718d8f9360405160405180910390a46040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020015b60405180910390a150505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530160205260409020600101547ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530090610100900460ff16610c34576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260018083016020908152604080842084815590920180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055600384019052902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055610cb3600682016007830185611671565b60405173ffffffffffffffffffffffffffffffffffffffff83169084907f64e0133266c985f5558f93bca4421f7ca6a7f4f1cce7c77b10b4bb6d2a7e5f1990600090a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b6001886008811115610d6857610d6861222a565b03610dad576000819003610da8576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610de5565b8015610de5576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003886008811115610df957610df961222a565b03610e3d5782841315610e38576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e82565b8215801590610e4b57508284115b15610e82576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002886006811115610e9857610e9861222a565b1480610eb557506004886006811115610eb357610eb361222a565b145b80610ed157506005886006811115610ecf57610ecf61222a565b145b80610eed57506006886006811115610eeb57610eeb61222a565b145b905080151573ffffffffffffffffffffffffffffffffffffffff8816151514610f42576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008a81527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060208190526040909120805460ff16610fbe576005820180546001818101835560009283526020909220018d905581547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00161781555b80548b9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100836008811115610ffb57610ffb61222a565b021790555080548a9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff166201000083600681111561103e5761103e61222a565b021790555080547fffffff0000000000000000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff8b16027fffffff000000000000ffffffffffffffffffffffffffffffffffffffffffffff16177701000000000000000000000000000000000000000000000065ffffffffffff8a160217815560018101879055600281018690556110e9600382016000611dab565b60005b84811015611145578160030186868381811061110a5761110a612259565b905060200281019061111c9190612288565b8254600181018455600093845260209093209092019161113c91836123bb565b506001016110ec565b508b7fa6fb8b1e69e21bd9e845799de9b9edf5cce8e3fb37c0c94a3889c0b90196cd798c8c8c8c8c8c8c8c60405161118498979695949392919061251e565b60405180910390a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050505050505050505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02805486831690841681179091557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e038054928616929093168217909255604080519384526020840192909252908201527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00907fb61a3c7213653cdbbf077c9c6ae03c44a5e6e9046e61048c4acd027dd54dcb0190606001610b95565b6000611320858584611403565b905060078154610100900460ff16600881111561133f5761133f61222a565b1480611365575060088154610100900460ff1660088111156113635761136361222a565b145b1561139c576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113a6818461175a565b6113b1858585611526565b6104fd858585600033610602565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816113fd5763301164256000526004601cfd5b90915290565b60008281527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060205260409020805460ff1661146b576040517f7993a72b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805477010000000000000000000000000000000000000000000000900465ffffffffffff1680158015906114a657508065ffffffffffff1642115b156114dd576040517f863a11b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114e882868561195f565b61151e576040517ff3ef0f8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509392505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e015473ffffffffffffffffffffffffffffffffffffffff16806115695750505050565b6040517f2962bf3e00000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810183905233606482015273ffffffffffffffffffffffffffffffffffffffff821690632962bf3e90608401600060405180830381600087803b1580156115e557600080fd5b505af11580156115f9573d6000803e3d6000fd5b5050505050505050565b7f736565640000000000000000000000000000000000000000000000000000000081148061163e575060008181526020839052604090205415155b1561164857505050565b825460018101845560008481526020808220909201839055935491845291909152604090912055565b6000818152602083905260408120549081900361168e5750505050565b8354818114611700576000856116a560018461266c565b815481106116b5576116b5612259565b9060005260206000200154905080866001856116d1919061266c565b815481106116e1576116e1612259565b6000918252602080832090910192909255918252859052604090208290555b84805480611710576117106126ac565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908101839055909201909255938152939092525050604081205550565b8154610100900460ff168160008260088111156117795761177961222a565b036117be5760018111156117b9576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61034b565b60018260088111156117d2576117d261222a565b0361181457600384015481106117b9576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60058260088111156118285761182861222a565b0361186a5762ffffff8111156117b9576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600382600881111561187e5761187e61222a565b036118d7576001840154819081128061189a5750600285015481135b156118d1576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5061034b565b6001840154811015611915576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002840154801580159061192857508082115b156104fd576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825460009062010000900460ff1681808260068111156119815761198161222a565b148061199e5750600382600681111561199c5761199c61222a565b145b806119ba575060048260068111156119b8576119b861222a565b145b806119d6575060068260068111156119d4576119d461222a565b145b90508080156119fa57503373ffffffffffffffffffffffffffffffffffffffff8516145b15611a0a57600192505050611bf7565b60006002836006811115611a2057611a2061222a565b1480611a3d57506004836006811115611a3b57611a3b61222a565b145b80611a5957506005836006811115611a5757611a5761222a565b145b80611a7557506006836006811115611a7357611a7361222a565b145b9050808015611aa1575086546301000000900473ffffffffffffffffffffffffffffffffffffffff1633145b15611ab25760019350505050611bf7565b60006001846006811115611ac857611ac861222a565b1480611ae557506003846006811115611ae357611ae361222a565b145b80611b0157506005846006811115611aff57611aff61222a565b145b80611b1d57506006846006811115611b1b57611b1b61222a565b145b90508015611bee576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018890526000903090636352211e90602401602060405180830381865afa158015611b7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba191906126db565b905073ffffffffffffffffffffffffffffffffffffffff81163303611bce57600195505050505050611bf7565b611bd933828a611bfe565b15611bec57600195505050505050611bf7565b505b60009450505050505b9392505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460009073ffffffffffffffffffffffffffffffffffffffff16801580611c5b575073ffffffffffffffffffffffffffffffffffffffff81163b155b15611c6a576000915050611bf7565b60405173ffffffffffffffffffffffffffffffffffffffff8681166024830152858116604483015230606483015260848201859052600060a4830181905291829184169060c401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9f368740000000000000000000000000000000000000000000000000000000017905251611d3291906126f8565b600060405180830381855afa9150503d8060008114611d6d576040519150601f19603f3d011682016040523d82523d6000602084013e611d72565b606091505b5091509150818015611d85575080516020145b8015611da0575080806020019051810190611da09190612727565b979650505050505050565b5080546000825590600052602060002090810190611dc99190611dcc565b50565b80821115611de9576000611de08282611ded565b50600101611dcc565b5090565b508054611df99061231c565b6000825580601f10611e09575050565b601f016020900490600052602060002090810190611dc991905b80821115611de95760008155600101611e23565b60008083601f840112611e4957600080fd5b50813567ffffffffffffffff811115611e6157600080fd5b602083019150836020828501011115611e7957600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff81168114611dc957600080fd5b8035611ead81611e80565b919050565b60008060008060608587031215611ec857600080fd5b84359350602085013567ffffffffffffffff811115611ee657600080fd5b611ef287828801611e37565b9094509250506040850135611f0681611e80565b939692955090935050565b600060208284031215611f2357600080fd5b8135611bf781611e80565b600080600080600060808688031215611f4657600080fd5b8535945060208601359350604086013567ffffffffffffffff811115611f6b57600080fd5b611f7788828901611e37565b9094509250506060860135611f8b81611e80565b809150509295509295909350565b8015158114611dc957600080fd5b600080600080600060a08688031215611fbf57600080fd5b8535945060208601359350604086013592506060860135611fdf81611f99565b91506080860135611f8b81611e80565b6000806000806080858703121561200557600080fd5b8435935060208501359250604085013561201e81611f99565b91506060850135611f0681611e80565b60008060006060848603121561204357600080fd5b8335925060208401359150604084013561205c81611e80565b809150509250925092565b6000806040838503121561207a57600080fd5b82359150602083013561208c81611e80565b809150509250929050565b803565ffffffffffff81168114611ead57600080fd5b60008083601f8401126120bf57600080fd5b50813567ffffffffffffffff8111156120d757600080fd5b6020830191508360208260051b8501011115611e7957600080fd5b60008060008060008060008060006101008a8c03121561211157600080fd5b8935985060208a01356009811061212757600080fd5b975060408a01356007811061213b57600080fd5b965061214960608b01611ea2565b955061215760808b01612097565b945060a08a0135935060c08a0135925060e08a013567ffffffffffffffff81111561218157600080fd5b61218d8c828d016120ad565b915080935050809150509295985092959850929598565b6000806000606084860312156121b957600080fd5b83356121c481611e80565b925060208401356121d481611e80565b9150604084013561205c81611e80565b600080600080608085870312156121fa57600080fd5b8435935060208501359250604085013591506060850135611f0681611e80565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126122bd57600080fd5b83018035915067ffffffffffffffff8211156122d857600080fd5b602001915036819003821315611e7957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c9082168061233057607f821691505b602082108103612369577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156123b657806000526020600020601f840160051c810160208510156123965750805b601f840160051c820191505b818110156104fd57600081556001016123a2565b505050565b67ffffffffffffffff8311156123d3576123d36122ed565b6123e7836123e1835461231c565b8361236f565b6000601f84116001811461243957600085156124035750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556104fd565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156124885786850135825560209485019460019092019101612468565b50868210156124c3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060e0820160098b106125345761253461222a565b8a835260078a106125475761254761222a565b89602084015273ffffffffffffffffffffffffffffffffffffffff8916604084015265ffffffffffff881660608401528660808401528560a084015260e060c084015280848252610100840190506101008560051b85010191508560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1883603015b87821015612659577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00878603018452823581811261260757600080fd5b890160208101903567ffffffffffffffff81111561262457600080fd5b80360382131561263357600080fd5b61263e8782846124d5565b965050506020830192506020840193506001820191506125ca565b50929d9c50505050505050505050505050565b818103818111156126a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6000602082840312156126ed57600080fd5b8151611bf781611e80565b6000825160005b8181101561271957602081860181015185830152016126ff565b506000920191825250919050565b60006020828403121561273957600080fd5b8151611bf781611f9956fea2646970667358221220360fd0347e3576677eedf02c53416057e111643e5592158f639055ca056f307564736f6c634300081c0033";
18
+ export const abxParamsLibAbi = [{ "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "hasSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "exists", "type": "bool", "internalType": "bool" }, { "name": "paramType", "type": "IAbxConfigurableParams.ParamType", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "IAbxConfigurableParams.AuthOption", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "EmptyParamValue", "inputs": [] }, { "type": "error", "name": "InvalidParamSchema", "inputs": [] }, { "type": "error", "name": "InvalidParamValue", "inputs": [] }, { "type": "error", "name": "NoParamSchema", "inputs": [] }, { "type": "error", "name": "NotParamAuthorized", "inputs": [] }, { "type": "error", "name": "ParamLockExpired", "inputs": [] }, { "type": "error", "name": "ParamNotSet", "inputs": [] }, { "type": "error", "name": "WrongValuePath", "inputs": [] }];
19
+ export const abxParamsLibBytecode = "0x61300f610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101815760003560e01c8063909206e3116100e2578063aa0de18d11610096578063d84d644611610070578063d84d644614610467578063e1b7938114610487578063f22357011461049a57600080fd5b8063aa0de18d14610421578063c4f2604814610441578063cc1cf5151461045457600080fd5b806392b8e739116100c757806392b8e739146103c15780639a851cec146103e15780639ffefae61461040157600080fd5b8063909206e314610399578063909d716e146103a157600080fd5b806333fe6d141161013957806355580cca1161011e57806355580cca146103435780635b02f81c14610358578063838128171461037957600080fd5b806333fe6d14146102865780633c59f1bb146102a657600080fd5b806313bfffac1161016a57806313bfffac146101ff5780631c31cac3146102465780632ed483001461026657600080fd5b806302d66fc2146101865780630ba2352a146101dd575b600080fd5b6101c86101943660046124d2565b60009081527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff1690565b60405190151581526020015b60405180910390f35b8180156101e957600080fd5b506101fd6101f836600461255f565b6104c1565b005b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d4565b81801561025257600080fd5b506101fd6102613660046125be565b6105d8565b81801561027257600080fd5b506101fd6102813660046125db565b610666565b81801561029257600080fd5b506101fd6102a13660046125db565b61078b565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546040805173ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529216918101919091526060016101d4565b61034b610889565b6040516101d49190612682565b61036b610366366004612695565b6108dd565b6040516101d49291906126c1565b81801561038557600080fd5b506101fd6103943660046126f1565b610926565b61034b610b46565b8180156103ad57600080fd5b506101fd6103bc366004612739565b610b94565b8180156103cd57600080fd5b506101fd6103dc366004612778565b610d7d565b8180156103ed57600080fd5b506101fd6103fc3660046127b1565b610f15565b81801561040d57600080fd5b506101fd61041c36600461283c565b6110c6565b81801561042d57600080fd5b506101fd61043c3660046128ee565b611565565b61036b61044f36600461292e565b611685565b61036b61046236600461292e565b6116c0565b81801561047357600080fd5b506101fd610482366004612950565b6116ef565b61034b6104953660046124d2565b61179b565b6104ad6104a83660046124d2565b6117fd565b6040516101d49897969594939291906129fd565b60008290036104fc576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61053b83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198c92505050565b60008581527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155516105d29085906105c29086908690612b1c565b6040518091039020600184610b94565b50505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f45f18b5e88ce952d701fc020d1b6358f7380553c64fd639216568803f072105590600090a250565b60008290036106a1576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106e083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198c92505050565b60008681527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208884529091529081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092179091555161078490869086906107749087908790612b1c565b6040518091039020600185610926565b5050505050565b60006107988686846119d0565b905060078154610100900460ff1660088111156107b7576107b7612986565b141580156107e0575060088154610100900460ff1660088111156107dd576107dd612986565b14155b15610817576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000839003610852576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087486868686604051610867929190612b1c565b6040518091039020611af3565b6108818686868633610666565b505050505050565b60606108d77ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530660007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b50919050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853046020526040812060609190610919908585611bd0565b915091505b935093915050565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853008215801561098557506000868152600282016020908152604080832088845290915290205473ffffffffffffffffffffffffffffffffffffffff1615155b156109cc5760008681526002820160209081526040808320888452909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008c81528784528681208c8252909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909316929092171790557f73656564000000000000000000000000000000000000000000000000000000008514610ab5576000868152600482016020908152604080832060058501909252909120610ab5919087611c9e565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff841691879189917fde0436cfd14f6250e38daf8e3605d7a54612abb0d9a1ac04278609edb949cd78910160405180910390a46040518681527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050505050565b60606108d77f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530082158015610be85750600085815260038201602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b15610c24576000858152600382016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008b8152878301909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090931692909217179055610cc9600682016007830187611c9e565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff84169187917fbf1b8f39d36a4cce40517cfc4e2f6dc657084b06295ee413186ecc58050e0a57910160405180910390a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050505050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020818152604080842086855290915290912060010154610100900460ff16610df8576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260208281526040808320868452825280832083815560010180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055868352600284018252808320868452825280832080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905586835260048401825280832060058501909252909120610e96919085611d0c565b8173ffffffffffffffffffffffffffffffffffffffff1683857feb7b2bd8dec13c1b2bc4577645e93c668e7071d4d417003ecf89c4dd718d8f9360405160405180910390a46040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020015b60405180910390a150505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530160205260409020600101547ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530090610100900460ff16610fa6576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260018083016020908152604080842084815590920180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055600384019052902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055611025600682016007830185611d0c565b60405173ffffffffffffffffffffffffffffffffffffffff83169084907f64e0133266c985f5558f93bca4421f7ca6a7f4f1cce7c77b10b4bb6d2a7e5f1990600090a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b60018860088111156110da576110da612986565b0361111f57600081900361111a576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611157565b8015611157576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600388600881111561116b5761116b612986565b036111af57828413156111aa576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111f4565b82158015906111bd57508284115b156111f4576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600288600681111561120a5761120a612986565b14806112275750600488600681111561122557611225612986565b145b806112435750600588600681111561124157611241612986565b145b8061125f5750600688600681111561125d5761125d612986565b145b905080151573ffffffffffffffffffffffffffffffffffffffff88161515146112b4576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008a81527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060208190526040909120805460ff16611330576005820180546001818101835560009283526020909220018d905581547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00161781555b80548b9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010083600881111561136d5761136d612986565b021790555080548a9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16620100008360068111156113b0576113b0612986565b021790555080547fffffff0000000000000000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff8b16027fffffff000000000000ffffffffffffffffffffffffffffffffffffffffffffff16177701000000000000000000000000000000000000000000000065ffffffffffff8a1602178155600181018790556002810186905561145b600382016000612446565b60005b848110156114b7578160030186868381811061147c5761147c612b2c565b905060200281019061148e9190612b5b565b825460018101845560009384526020909320909201916114ae9183612c88565b5060010161145e565b508b7fa6fb8b1e69e21bd9e845799de9b9edf5cce8e3fb37c0c94a3889c0b90196cd798c8c8c8c8c8c8c8c6040516114f6989796959493929190612deb565b60405180910390a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050505050505050505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02805486831690841681179091557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e038054928616929093168217909255604080519384526020840192909252908201527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00907fb61a3c7213653cdbbf077c9c6ae03c44a5e6e9046e61048c4acd027dd54dcb0190606001610f07565b606060006116b47ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853068585611bd0565b915091505b9250929050565b606060006116b47f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e058585611bd0565b60006116fc8585846119d0565b905060078154610100900460ff16600881111561171b5761171b612986565b1480611741575060088154610100900460ff16600881111561173f5761173f612986565b145b15611778576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117828184611df5565b61178d858585611af3565b610784858585600033610926565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885304602052604081206060916117f691907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b5092915050565b60008080808080806060817f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060008b8152602091825260408082208054600182015460028301546003840180548651818a0281018a0190975280875294985060ff808516986101008604821698620100008704909216976301000000870473ffffffffffffffffffffffffffffffffffffffff16977701000000000000000000000000000000000000000000000090970465ffffffffffff16969092849284015b8282101561196a5783829060005260206000200180546118dd90612bef565b80601f016020809104026020016040519081016040528092919081815260200182805461190990612bef565b80156119565780601f1061192b57610100808354040283529160200191611956565b820191906000526020600020905b81548152906001019060200180831161193957829003601f168201915b5050505050815260200190600101906118be565b5050505090509850985098509850985098509850985050919395975091939597565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816119ca5763301164256000526004601cfd5b90915290565b60008281527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060205260409020805460ff16611a38576040517f7993a72b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805477010000000000000000000000000000000000000000000000900465ffffffffffff168015801590611a7357508065ffffffffffff1642115b15611aaa576040517f863a11b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ab5828685611ffa565b611aeb576040517ff3ef0f8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509392505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e015473ffffffffffffffffffffffffffffffffffffffff1680611b365750505050565b6040517f2962bf3e00000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810183905233606482015273ffffffffffffffffffffffffffffffffffffffff821690632962bf3e90608401600060405180830381600087803b158015611bb257600080fd5b505af1158015611bc6573d6000803e3d6000fd5b5050505050505050565b8254606090808410611bf257604080516000815260208101909152915061091e565b83810383811115611c005750825b8067ffffffffffffffff811115611c1957611c19612bc0565b604051908082528060200260200182016040528015611c42578160200160208202803683370190505b50925060005b81811015611c94578681870181548110611c6457611c64612b2c565b9060005260206000200154848281518110611c8157611c81612b2c565b6020908102919091010152600101611c48565b5050935093915050565b7f7365656400000000000000000000000000000000000000000000000000000000811480611cd9575060008181526020839052604090205415155b15611ce357505050565b825460018101845560008481526020808220909201839055935491845291909152604090912055565b60008181526020839052604081205490819003611d295750505050565b8354818114611d9b57600085611d40600184612f14565b81548110611d5057611d50612b2c565b906000526020600020015490508086600185611d6c9190612f14565b81548110611d7c57611d7c612b2c565b6000918252602080832090910192909255918252859052604090208290555b84805480611dab57611dab612f54565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908101839055909201909255938152939092525050604081205550565b8154610100900460ff16816000826008811115611e1457611e14612986565b03611e59576001811115611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105d2565b6001826008811115611e6d57611e6d612986565b03611eaf5760038401548110611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005826008811115611ec357611ec3612986565b03611f055762ffffff811115611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003826008811115611f1957611f19612986565b03611f725760018401548190811280611f355750600285015481135b15611f6c576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506105d2565b6001840154811015611fb0576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028401548015801590611fc357508082115b15610784576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825460009062010000900460ff16818082600681111561201c5761201c612986565b14806120395750600382600681111561203757612037612986565b145b806120555750600482600681111561205357612053612986565b145b806120715750600682600681111561206f5761206f612986565b145b905080801561209557503373ffffffffffffffffffffffffffffffffffffffff8516145b156120a557600192505050612292565b600060028360068111156120bb576120bb612986565b14806120d8575060048360068111156120d6576120d6612986565b145b806120f4575060058360068111156120f2576120f2612986565b145b806121105750600683600681111561210e5761210e612986565b145b905080801561213c575086546301000000900473ffffffffffffffffffffffffffffffffffffffff1633145b1561214d5760019350505050612292565b6000600184600681111561216357612163612986565b14806121805750600384600681111561217e5761217e612986565b145b8061219c5750600584600681111561219a5761219a612986565b145b806121b8575060068460068111156121b6576121b6612986565b145b90508015612289576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018890526000903090636352211e90602401602060405180830381865afa158015612218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223c9190612f83565b905073ffffffffffffffffffffffffffffffffffffffff8116330361226957600195505050505050612292565b61227433828a612299565b1561228757600195505050505050612292565b505b60009450505050505b9392505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460009073ffffffffffffffffffffffffffffffffffffffff168015806122f6575073ffffffffffffffffffffffffffffffffffffffff81163b155b15612305576000915050612292565b60405173ffffffffffffffffffffffffffffffffffffffff8681166024830152858116604483015230606483015260848201859052600060a4830181905291829184169060c401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9f3687400000000000000000000000000000000000000000000000000000000179052516123cd9190612fa0565b600060405180830381855afa9150503d8060008114612408576040519150601f19603f3d011682016040523d82523d6000602084013e61240d565b606091505b5091509150818015612420575080516020145b801561243b57508080602001905181019061243b9190612fbc565b979650505050505050565b50805460008255906000526020600020908101906124649190612467565b50565b8082111561248457600061247b8282612488565b50600101612467565b5090565b50805461249490612bef565b6000825580601f106124a4575050565b601f01602090049060005260206000209081019061246491905b8082111561248457600081556001016124be565b6000602082840312156124e457600080fd5b5035919050565b60008083601f8401126124fd57600080fd5b50813567ffffffffffffffff81111561251557600080fd5b6020830191508360208285010111156116b957600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461246457600080fd5b803561255a8161252d565b919050565b6000806000806060858703121561257557600080fd5b84359350602085013567ffffffffffffffff81111561259357600080fd5b61259f878288016124eb565b90945092505060408501356125b38161252d565b939692955090935050565b6000602082840312156125d057600080fd5b81356122928161252d565b6000806000806000608086880312156125f357600080fd5b8535945060208601359350604086013567ffffffffffffffff81111561261857600080fd5b612624888289016124eb565b90945092505060608601356126388161252d565b809150509295509295909350565b600081518084526020840193506020830160005b8281101561267857815186526020958601959091019060010161265a565b5093949350505050565b6020815260006122926020830184612646565b6000806000606084860312156126aa57600080fd5b505081359360208301359350604090920135919050565b6040815260006126d46040830185612646565b90508260208301529392505050565b801515811461246457600080fd5b600080600080600060a0868803121561270957600080fd5b8535945060208601359350604086013592506060860135612729816126e3565b915060808601356126388161252d565b6000806000806080858703121561274f57600080fd5b84359350602085013592506040850135612768816126e3565b915060608501356125b38161252d565b60008060006060848603121561278d57600080fd5b833592506020840135915060408401356127a68161252d565b809150509250925092565b600080604083850312156127c457600080fd5b8235915060208301356127d68161252d565b809150509250929050565b803565ffffffffffff8116811461255a57600080fd5b60008083601f84011261280957600080fd5b50813567ffffffffffffffff81111561282157600080fd5b6020830191508360208260051b85010111156116b957600080fd5b60008060008060008060008060006101008a8c03121561285b57600080fd5b8935985060208a01356009811061287157600080fd5b975060408a01356007811061288557600080fd5b965061289360608b0161254f565b95506128a160808b016127e1565b945060a08a0135935060c08a0135925060e08a013567ffffffffffffffff8111156128cb57600080fd5b6128d78c828d016127f7565b915080935050809150509295985092959850929598565b60008060006060848603121561290357600080fd5b833561290e8161252d565b9250602084013561291e8161252d565b915060408401356127a68161252d565b6000806040838503121561294157600080fd5b50508035926020909101359150565b6000806000806080858703121561296657600080fd5b84359350602085013592506040850135915060608501356125b38161252d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600981106129c5576129c5612986565b9052565b600781106129c5576129c5612986565b60005b838110156129f45781810151838201526020016129dc565b50506000910152565b600061010082018a15158352612a16602084018b6129b5565b612a23604084018a6129c9565b73ffffffffffffffffffffffffffffffffffffffff8816606084015265ffffffffffff871660808401528560a08401528460c084015261010060e0840152808451808352610120850191506101208160051b86010192506020860160005b82811015612b09577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee087860301845281518051808752612ac88160208901602085016129d9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169590950160209081019550938401939190910190600101612a81565b50929d9c50505050505050505050505050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612b9057600080fd5b83018035915067ffffffffffffffff821115612bab57600080fd5b6020019150368190038213156116b957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c90821680612c0357607f821691505b6020821081036108d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115612c8357806000526020600020601f840160051c81016020851015612c635750805b601f840160051c820191505b818110156107845760008155600101612c6f565b505050565b67ffffffffffffffff831115612ca057612ca0612bc0565b612cb483612cae8354612bef565b83612c3c565b6000601f841160018114612d065760008515612cd05750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610784565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015612d555786850135825560209485019460019092019101612d35565b5086821015612d90577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060e08201612dfb838c6129b5565b612e08602084018b6129c9565b73ffffffffffffffffffffffffffffffffffffffff8916604084015265ffffffffffff881660608401528660808401528560a084015260e060c084015280848252610100840190506101008560051b85010191508560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1883603015b87821015612b09577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008786030184528235818112612ec257600080fd5b890160208101903567ffffffffffffffff811115612edf57600080fd5b803603821315612eee57600080fd5b612ef9878284612da2565b96505050602083019250602084019350600182019150612e85565b81810381811115612f4e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600060208284031215612f9557600080fd5b81516122928161252d565b60008251612fb28184602087016129d9565b9190910192915050565b600060208284031215612fce57600080fd5b8151612292816126e356fea264697066735822122062d27b6977c4261226f9a4b124f1b937cd8df977a426150ba660efec43da26f464736f6c634300081c0033";
20
20
  export const abxCodeLibAbi = [{ "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "DependenciesAreLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EmptyDependencyRef", "inputs": [] }, { "type": "error", "name": "EmptyScriptChunk", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "ScriptIsLocked", "inputs": [] }];
21
21
  export const abxCodeLibBytecode = "0x610dec610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c80639a5db503116100655780639a5db503146100e35780639aa1a1f0146100f8578063b478424714610118578063dc9838791461012d57600080fd5b806325628d341461008c5780636b40ee45146100a357806396f4205a146100c3575b600080fd5b81801561009857600080fd5b506100a1610142565b005b8180156100af57600080fd5b506100a16100be366004610ba7565b6102cb565b8180156100cf57600080fd5b506100a16100de366004610be3565b610502565b8180156100ef57600080fd5b506100a161060a565b81801561010457600080fd5b506100a1610113366004610c20565b6106e2565b81801561012457600080fd5b506100a1610910565b81801561013957600080fd5b506100a1610a60565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff16156101d8576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546000819003610215576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815482908061022657610226610c9e565b60008281526020812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016815560019081019190915591557fc96df06add4aa6dba310cd93d0b93d7b645252f40e11fa6089731c841315cd89906102b69083610ccd565b60405190815260200160405180910390a15050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610361576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81610398576040517f9897d85400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80548411156103d3576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060405180604001604052808560018111156103f2576103f2610d0d565b60ff1681526020018490528254909150850361045e578154600180820184556000848152602090819020845160029094020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9094169390931783558301519101556104c1565b8082600001868154811061047457610474610d3c565b600091825260209182902083516002929092020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9092169190911781559101516001909101555b827fd6e0b37570fc6877af91bb8c65badae70a76645133831804e22f7210d49f3be886866040516104f3929190610d6b565b60405180910390a25050505050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610598576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517feb9e3ffc4d2f7724ed3254f046d8fe50f39aee51914953e2e4a60e89b622b6c790600090a25050565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610688576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790556040517f1567d011622c31e8bf794e94f0067cd6edaa0a0b376498ec5407adbf8a22171090600090a150565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610760576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082900361079b576040517f69e19b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80548411156107d6576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061081784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b6392505050565b825490915085036108775781546001810183556000838152602090200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790556108d6565b8082600001868154811061088d5761088d610d3c565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6040518581527fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca89060200160405180910390a15050505050565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff161561098e576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460008190036109cb576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81548290806109dc576109dc610c9e565b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690550190557fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca86102b6600183610ccd565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610af6576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fe9d327ea777894d5424b19533354c3e728e73020d972cbd4bccf6d4505b1324590600090a150565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f0915081610ba15763301164256000526004601cfd5b90915290565b600080600060608486031215610bbc57600080fd5b83359250602084013560028110610bd257600080fd5b929592945050506040919091013590565b600060208284031215610bf557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610c1957600080fd5b9392505050565b600080600060408486031215610c3557600080fd5b83359250602084013567ffffffffffffffff811115610c5357600080fd5b8401601f81018613610c6457600080fd5b803567ffffffffffffffff811115610c7b57600080fd5b866020828401011115610c8d57600080fd5b939660209190910195509293505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b81810381811115610d07577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8281526040810160028310610da9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b826020830152939250505056fea2646970667358221220bc9d39b8fcd0299061fc38ce10548c7a0ccc1f5c94b148fec87c34d225bdd01964736f6c634300081c0033";
22
22
  export const abxFixedPriceMinterAbi = [{ "type": "function", "name": "configure", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "purchase", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "payable" }, { "type": "function", "name": "purchaseTo", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "payable" }, { "type": "function", "name": "sales", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }], "outputs": [{ "name": "configured", "type": "bool", "internalType": "bool" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }, { "name": "sold", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "event", "name": "Purchase", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SaleConfigured", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AllocationBelowSold", "inputs": [] }, { "type": "error", "name": "AllocationExhausted", "inputs": [] }, { "type": "error", "name": "NoPrimaryPayee", "inputs": [] }, { "type": "error", "name": "NotConfigured", "inputs": [] }, { "type": "error", "name": "NotProjectOwner", "inputs": [] }, { "type": "error", "name": "Reentrancy", "inputs": [] }, { "type": "error", "name": "WrongPayment", "inputs": [] }];