{
  "contractName": "BrightIdRegister",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "_interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_addrs",
          "type": "address[]"
        },
        {
          "name": "_timestamps",
          "type": "uint256[]"
        },
        {
          "name": "_v",
          "type": "uint8[]"
        },
        {
          "name": "_r",
          "type": "bytes32[]"
        },
        {
          "name": "_s",
          "type": "bytes32[]"
        },
        {
          "name": "_registerAndCall",
          "type": "address"
        },
        {
          "name": "_functionCallData",
          "type": "bytes"
        }
      ],
      "name": "register",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "hasInitialized",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "userRegistrations",
      "outputs": [
        {
          "name": "uniqueUserId",
          "type": "address"
        },
        {
          "name": "registerTime",
          "type": "uint256"
        },
        {
          "name": "addressVoid",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "requiredVerifications",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_script",
          "type": "bytes"
        }
      ],
      "name": "getEVMScriptExecutor",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getRecoveryVault",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_verificationTimestampVariance",
          "type": "uint256"
        }
      ],
      "name": "setVerificationTimestampVariance",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "brightIdContext",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "UPDATE_SETTINGS_ROLE",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_brightIdUser",
          "type": "address"
        }
      ],
      "name": "hasUniqueUserId",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "brightIdVerifiers",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "MAX_BRIGHTID_VERIFIERS",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_registrationPeriod",
          "type": "uint256"
        }
      ],
      "name": "setRegistrationPeriod",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "registrationPeriod",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getBrightIdVerifiers",
      "outputs": [
        {
          "name": "",
          "type": "address[]"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "token",
          "type": "address"
        }
      ],
      "name": "allowRecoverability",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "appId",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getInitializationBlock",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_token",
          "type": "address"
        }
      ],
      "name": "transferToVault",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_sender",
          "type": "address"
        },
        {
          "name": "_role",
          "type": "bytes32"
        },
        {
          "name": "_params",
          "type": "uint256[]"
        }
      ],
      "name": "canPerform",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getEVMScriptRegistry",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_brightIdUser",
          "type": "address"
        }
      ],
      "name": "isVerified",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_brightIdUser",
          "type": "address"
        }
      ],
      "name": "uniqueUserId",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "kernel",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isPetrified",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_brightIdVerifiers",
          "type": "address[]"
        },
        {
          "name": "_requiredVerifications",
          "type": "uint256"
        }
      ],
      "name": "setBrightIdVerifiers",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "verificationTimestampVariance",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "MIN_BRIGHTID_VERIFIERS",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_brightIdContext",
          "type": "bytes32"
        },
        {
          "name": "_brightIdVerifiers",
          "type": "address[]"
        },
        {
          "name": "_requiredVerifications",
          "type": "uint256"
        },
        {
          "name": "_registrationPeriod",
          "type": "uint256"
        },
        {
          "name": "_verificationTimestampVariance",
          "type": "uint256"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "sender",
          "type": "address"
        }
      ],
      "name": "Register",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "executor",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "script",
          "type": "bytes"
        },
        {
          "indexed": false,
          "name": "input",
          "type": "bytes"
        },
        {
          "indexed": false,
          "name": "returnData",
          "type": "bytes"
        }
      ],
      "name": "ScriptResult",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "vault",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "token",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "RecoverToVault",
      "type": "event"
    }
  ],
  "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f6000805160206200301f833981519152640100000000620024406200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b50620002306000805160206200301f8339815191528264010000000062002ce86200023782021704565b50565b5490565b9055565b612dd4806200024b6000396000f30060806040526004361061017f5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146101845780630311709d146101d25780630803fac014610367578063099837b71461037c5780630e1b8db4146103e15780632914b9bd1461040857806332f0a3b51461048a5780633eeca6f51461049f5780634c251adc146104b75780634f629fbb146104cc57806351e11fd5146104e15780635573ad581461050f57806356026f0a14610527578063569227581461053c5780635939ee04146105545780637a7dcb93146105695780637e7db6e1146105ce57806380afdea8146105fc5780638b3dd749146106115780639d4941d814610626578063a1658fad14610654578063a479e508146106c8578063b9209e33146106dd578063ca6f00071461070b578063d4aae0c414610739578063de4796ed1461074e578063e6bd1c6414610763578063ea7c7bb814610787578063ecfff1f71461079c578063f77a43d6146107b1575b600080fd5b34801561019057600080fd5b506101be7fffffffff0000000000000000000000000000000000000000000000000000000060043516610818565b604080519115158252519081900360200190f35b3480156101de57600080fd5b506040805160206004803580820135838102808601850190965280855261036595369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b73ffffffffffffffffffffffffffffffffffffffff8b35169b909a9099940197509195509182019350915081908401838280828437509497506108759650505050505050565b005b34801561037357600080fd5b506101be610d0a565b34801561038857600080fd5b506103aa73ffffffffffffffffffffffffffffffffffffffff60043516610d34565b6040805173ffffffffffffffffffffffffffffffffffffffff90941684526020840192909252151582820152519081900360600190f35b3480156103ed57600080fd5b506103f6610d6f565b60408051918252519081900360200190f35b34801561041457600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452610461943694929360249392840191908190840183828082843750949750610d759650505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561049657600080fd5b50610461610e81565b3480156104ab57600080fd5b50610365600435610f20565b3480156104c357600080fd5b506103f6611013565b3480156104d857600080fd5b506103f6611019565b3480156104ed57600080fd5b506101be73ffffffffffffffffffffffffffffffffffffffff6004351661104e565b34801561051b57600080fd5b50610461600435611083565b34801561053357600080fd5b506103f66110b8565b34801561054857600080fd5b506103656004356110bd565b34801561056057600080fd5b506103f66111b5565b34801561057557600080fd5b5061057e6111bb565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105ba5781810151838201526020016105a2565b505050509050019250505060405180910390f35b3480156105da57600080fd5b506101be73ffffffffffffffffffffffffffffffffffffffff6004351661122a565b34801561060857600080fd5b506103f6611230565b34801561061d57600080fd5b506103f6611260565b34801561063257600080fd5b5061036573ffffffffffffffffffffffffffffffffffffffff6004351661128b565b34801561066057600080fd5b5060408051602060046044358181013583810280860185019096528085526101be95833573ffffffffffffffffffffffffffffffffffffffff169560248035963696956064959394920192918291850190849080828437509497506115ad9650505050505050565b3480156106d457600080fd5b5061046161173d565b3480156106e957600080fd5b506101be73ffffffffffffffffffffffffffffffffffffffff600435166117ff565b34801561071757600080fd5b5061046173ffffffffffffffffffffffffffffffffffffffff60043516611882565b34801561074557600080fd5b5061046161196c565b34801561075a57600080fd5b506101be611997565b34801561076f57600080fd5b506103656024600480358281019291013590356119c8565b34801561079357600080fd5b506103f6611af1565b3480156107a857600080fd5b506103f6611af7565b3480156107bd57600080fd5b506040805160206004602480358281013584810280870186019097528086526103659684359636966044959194909101929182918501908490808284375094975050843595505050602083013592604001359150611afc9050565b600061082382611bcd565b8061086f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f54053e6c00000000000000000000000000000000000000000000000000000000145b92915050565b336000908152600560205260408120885190919089908290811061089557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614606060405190810160405280602381526020017f42524947485449445f53454e4445525f4e4f545f494e5f56455249464943415481526020017f494f4e00000000000000000000000000000000000000000000000000000000008152509015156109cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561099457818101518382015260200161097c565b50505050905090810190601f1680156109c15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506109dd8989898989611c17565b600282015460408051808201909152601781527f42524947485449445f414444524553535f564f4944454400000000000000000060208201529060ff1615610a81576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50610a8a612280565b6001830155885189907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610abf57fe5b60209081029091010151825490915073ffffffffffffffffffffffffffffffffffffffff161515610b315781547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8216178255610b3189612284565b73ffffffffffffffffffffffffffffffffffffffff818116600090815260056020526040902054161515610bae5773ffffffffffffffffffffffffffffffffffffffff8116600081815260056020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790555b73ffffffffffffffffffffffffffffffffffffffff841615610ccc5781546040517f870e73c2000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff93841660248401819052606060448501908152885160648601528851958a169563870e73c29592938a93909291608490910190602085019080838360005b83811015610c65578181015183820152602001610c4d565b50505050905090810190601f168015610c925780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610cb357600080fd5b505af1158015610cc7573d6000803e3d6000fd5b505050505b6040805133815290517feeda149c76076b34d4b9d8896c2f7efc0d33d1c7b53ea3c5db490d64613f603a9181900360200190a1505050505050505050565b600080610d15611260565b90508015801590610d2d575080610d2a612370565b10155b91505b5090565b60056020526000908152604090208054600182015460029092015473ffffffffffffffffffffffffffffffffffffffff909116919060ff1683565b60025481565b6000610d7f61173d565b73ffffffffffffffffffffffffffffffffffffffff166304bf2a7f836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e03578181015183820152602001610deb565b50505050905090810190601f168015610e305780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610e4f57600080fd5b505af1158015610e63573d6000803e3d6000fd5b505050506040513d6020811015610e7957600080fd5b505192915050565b6000610e8b61196c565b73ffffffffffffffffffffffffffffffffffffffff166332f0a3b56040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610eee57600080fd5b505af1158015610f02573d6000803e3d6000fd5b505050506040513d6020811015610f1857600080fd5b505190505b90565b604080517f5550444154455f53455454494e47535f524f4c450000000000000000000000008152815190819003601401812060008083526020830190935291610f6f9133918491905b506115ad565b60408051808201909152600f81527f4150505f415554485f4641494c45440000000000000000000000000000000000602082015290151561100c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b5050600455565b60005481565b604080517f5550444154455f53455454494e47535f524f4c450000000000000000000000008152905190819003601401902081565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260056020526040902080549091161515905b50919050565b600180548290811061109157fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b601481565b604080517f5550444154455f53455454494e47535f524f4c45000000000000000000000000815281519081900360140181206000808352602083019093529161110a913391849190610f69565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156111a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b506111b182612374565b5050565b60035481565b6060600180548060200260200160405190810160405280929190818152602001828054801561122057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116111f5575b5050505050905090565b50600190565b600061125b7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b612440565b905090565b600061125b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e612440565b60008060006112998461122a565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515611336576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b5061133f610e81565b925061134a83612448565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b5073ffffffffffffffffffffffffffffffffffffffff84161515611452576040513031925073ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f1935050505015801561144c573d6000803e3d6000fd5b50611542565b508261147a73ffffffffffffffffffffffffffffffffffffffff82163063ffffffff61247b16565b91506114a373ffffffffffffffffffffffffffffffffffffffff8216848463ffffffff6125b816565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515611540576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b505b8373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806115b8610d0a565b15156115c75760009150611735565b6115cf61196c565b905073ffffffffffffffffffffffffffffffffffffffff811615156115f75760009150611735565b8073ffffffffffffffffffffffffffffffffffffffff1663fdef910686308761161f88612650565b6040517c010000000000000000000000000000000000000000000000000000000063ffffffff871602815273ffffffffffffffffffffffffffffffffffffffff808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b838110156116b757818101518382015260200161169f565b50505050905090810190601f1680156116e45780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561170657600080fd5b505af115801561171a573d6000803e3d6000fd5b505050506040513d602081101561173057600080fd5b505191505b509392505050565b60008061174861196c565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd616024820152905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b158015610e4f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff80821660009081526005602052604081208054600354600183015493949293919092161515918491829161184e919063ffffffff61265a16565b611856612280565b60028601549111925060ff1615905082801561186f5750815b80156118785750805b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260056020908152604080832080548251808401909352601e83527f42524947485449445f4e4f5f554e495155455f49445f41535349474e45440000938301939093529293909116151561194e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b505473ffffffffffffffffffffffffffffffffffffffff1692915050565b600061125b7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b612440565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6119c2611260565b14905090565b604080517f5550444154455f53455454494e47535f524f4c450000000000000000000000008152815190819003601401812060008083526020830190935291611a15913391849190610f69565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515611ab2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50611aeb8484808060200260200160405190810160405280939291908181526020018383602002808284375088945061270b9350505050565b50505050565b60045481565b600181565b611b04611260565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015611ba0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50611bab848461270b565b611bb482612374565b60008590556004819055611bc66129d2565b5050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b606060008060008060006002548a5110156040805190810160405280601d81526020017f42524947485449445f494e434f52524543545f54494d455354414d5053000000815250901515611cc7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50600254895110158015611cde5750600254885110155b8015611ced5750600254875110155b60408051808201909152601d81527f42524947485449445f494e434f52524543545f5349474e4154555245530000006020820152901515611d8a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b5088518a51148015611d9d575086518851145b8015611daa575086518951145b606060405190810160405280602581526020017f42524947485449445f5349474e4154555245535f444946464552454e545f4c4581526020017f4e47544853000000000000000000000000000000000000000000000000000000815250901515611e70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b506001805480602002602001604051908101604052809291908181526020018280548015611ed457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611ea9575b5050505050955060009450600093505b60015485108015611ef6575060025484105b156121d2576000548b8b87815181101515611f0d57fe5b90602001906020020151604051602001808460001916600019168152602001838051906020019060200280838360005b83811015611f55578181015183820152602001611f3d565b5050505090500182815260200193505050506040516020818303038152906040526040518082805190602001908083835b60208310611fc357805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611f86565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092506001838a8781518110151561200357fe5b906020019060200201518a8881518110151561201b57fe5b906020019060200201518a8981518110151561203357fe5b60209081029091018101516040805160008082528185018084529790975260ff9095168582015260608501939093526080840152905160a08084019492937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0830193908390039091019190865af11580156120b2573d6000803e3d6000fd5b5050506020604051035191506120e86004548b878151811015156120d257fe5b602090810290910101519063ffffffff61265a16565b6120f0612280565b10905080801561210b575061210b868363ffffffff612ab116565b156121c757612120868363ffffffff612b2416565b6040805190810160405280602081526020017f42524947485449445f43414e5f4e4f545f44454c4554455f56455249464945528152509015156121bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b506001909301925b600190940193611ee4565b60025460408051808201909152601581527f42524947485449445f4e4f545f564552494649454400000000000000000000006020820152908514612272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b505050505050505050505050565b4290565b600060018251111515612296576111b1565b5060015b8151811080156122ef57506005600083838151811015156122b757fe5b602090810290910181015173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040016000206002015460ff16155b156111b157600160056000848481518110151561230857fe5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002060020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161229a565b4390565b60408051606081018252602181527f42524947485449445f524547495354524154494f4e5f504552494f445f5a455260208201527f4f00000000000000000000000000000000000000000000000000000000000000918101919091526000821161243a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50600355565b5490565b5490565b60008073ffffffffffffffffffffffffffffffffffffffff83161515612471576000915061107d565b50506000903b1190565b6040805173ffffffffffffffffffffffffffffffffffffffff83166024808301919091528251808303909101815260449091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806125088684612c69565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156125aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b508093505b50505092915050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906126478582612c9a565b95945050505050565b8051602002815290565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f57000000000000000000000000000000602082015260009083830190848210156126ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b508091505b5092915050565b815160408051808201909152601581527f42524947485449445f4e4f5f5645524946494552530000000000000000000000602082015290600111156127ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50815160408051808201909152601b81527f42524947485449445f544f4f5f4d414e595f56455249464945525300000000006020820152906014101561284e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b5060408051606081018252602181527f42524947485449445f4e4f545f454e4f5547485f564552494649434154494f4e60208201527f5300000000000000000000000000000000000000000000000000000000000000918101919091526001821015612916576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50815160408051808201909152601f81527f42524947485449445f544f4f5f4d414e595f564552494649434154494f4e53006020820152908211156129b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b5081516129cb906001906020850190612cec565b5060025550565b6129da611260565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015612a76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50612aaf612a82612370565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff612ce816565b565b6000805b8351811015612b1a578273ffffffffffffffffffffffffffffffffffffffff168482815181101515612ae357fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415612b125760019150612704565b600101612ab5565b5060009392505050565b815160009081805b82821015612c5d578473ffffffffffffffffffffffffffffffffffffffff168683815181101515612b5957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415612c52575084517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01818114612bf6578581815181101515612bb957fe5b906020019060200201518683815181101515612bd157fe5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302909101909101525b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8682815181101515612c2557fe5b73ffffffffffffffffffffffffffffffffffffffff909216602092830290910190910152600193506125af565b600190910190612b2c565b50600095945050505050565b6000806000806040516020818751602089018a5afa92506000831115612c8e57805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115612cde573d8015612ccb5760208114612cd457612cdc565b60019350612cdc565b600183511493505b505b5090949350505050565b9055565b828054828255906000526020600020908101928215612d66579160200282015b82811115612d6657825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190612d0c565b50610d3092610f1d9250905b80821115610d305780547fffffffffffffffffffffffff0000000000000000000000000000000000000000168155600101612d725600a165627a7a72305820475b6cd43ff77ae4d925a41ce9d9422d7b23cc41783ecb5b5b2aab5fc399f16d0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e",
  "deployedBytecode": "0x60806040526004361061017f5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146101845780630311709d146101d25780630803fac014610367578063099837b71461037c5780630e1b8db4146103e15780632914b9bd1461040857806332f0a3b51461048a5780633eeca6f51461049f5780634c251adc146104b75780634f629fbb146104cc57806351e11fd5146104e15780635573ad581461050f57806356026f0a14610527578063569227581461053c5780635939ee04146105545780637a7dcb93146105695780637e7db6e1146105ce57806380afdea8146105fc5780638b3dd749146106115780639d4941d814610626578063a1658fad14610654578063a479e508146106c8578063b9209e33146106dd578063ca6f00071461070b578063d4aae0c414610739578063de4796ed1461074e578063e6bd1c6414610763578063ea7c7bb814610787578063ecfff1f71461079c578063f77a43d6146107b1575b600080fd5b34801561019057600080fd5b506101be7fffffffff0000000000000000000000000000000000000000000000000000000060043516610818565b604080519115158252519081900360200190f35b3480156101de57600080fd5b506040805160206004803580820135838102808601850190965280855261036595369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b73ffffffffffffffffffffffffffffffffffffffff8b35169b909a9099940197509195509182019350915081908401838280828437509497506108759650505050505050565b005b34801561037357600080fd5b506101be610d0a565b34801561038857600080fd5b506103aa73ffffffffffffffffffffffffffffffffffffffff60043516610d34565b6040805173ffffffffffffffffffffffffffffffffffffffff90941684526020840192909252151582820152519081900360600190f35b3480156103ed57600080fd5b506103f6610d6f565b60408051918252519081900360200190f35b34801561041457600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452610461943694929360249392840191908190840183828082843750949750610d759650505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561049657600080fd5b50610461610e81565b3480156104ab57600080fd5b50610365600435610f20565b3480156104c357600080fd5b506103f6611013565b3480156104d857600080fd5b506103f6611019565b3480156104ed57600080fd5b506101be73ffffffffffffffffffffffffffffffffffffffff6004351661104e565b34801561051b57600080fd5b50610461600435611083565b34801561053357600080fd5b506103f66110b8565b34801561054857600080fd5b506103656004356110bd565b34801561056057600080fd5b506103f66111b5565b34801561057557600080fd5b5061057e6111bb565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105ba5781810151838201526020016105a2565b505050509050019250505060405180910390f35b3480156105da57600080fd5b506101be73ffffffffffffffffffffffffffffffffffffffff6004351661122a565b34801561060857600080fd5b506103f6611230565b34801561061d57600080fd5b506103f6611260565b34801561063257600080fd5b5061036573ffffffffffffffffffffffffffffffffffffffff6004351661128b565b34801561066057600080fd5b5060408051602060046044358181013583810280860185019096528085526101be95833573ffffffffffffffffffffffffffffffffffffffff169560248035963696956064959394920192918291850190849080828437509497506115ad9650505050505050565b3480156106d457600080fd5b5061046161173d565b3480156106e957600080fd5b506101be73ffffffffffffffffffffffffffffffffffffffff600435166117ff565b34801561071757600080fd5b5061046173ffffffffffffffffffffffffffffffffffffffff60043516611882565b34801561074557600080fd5b5061046161196c565b34801561075a57600080fd5b506101be611997565b34801561076f57600080fd5b506103656024600480358281019291013590356119c8565b34801561079357600080fd5b506103f6611af1565b3480156107a857600080fd5b506103f6611af7565b3480156107bd57600080fd5b506040805160206004602480358281013584810280870186019097528086526103659684359636966044959194909101929182918501908490808284375094975050843595505050602083013592604001359150611afc9050565b600061082382611bcd565b8061086f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f54053e6c00000000000000000000000000000000000000000000000000000000145b92915050565b336000908152600560205260408120885190919089908290811061089557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614606060405190810160405280602381526020017f42524947485449445f53454e4445525f4e4f545f494e5f56455249464943415481526020017f494f4e00000000000000000000000000000000000000000000000000000000008152509015156109cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561099457818101518382015260200161097c565b50505050905090810190601f1680156109c15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506109dd8989898989611c17565b600282015460408051808201909152601781527f42524947485449445f414444524553535f564f4944454400000000000000000060208201529060ff1615610a81576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50610a8a612280565b6001830155885189907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610abf57fe5b60209081029091010151825490915073ffffffffffffffffffffffffffffffffffffffff161515610b315781547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8216178255610b3189612284565b73ffffffffffffffffffffffffffffffffffffffff818116600090815260056020526040902054161515610bae5773ffffffffffffffffffffffffffffffffffffffff8116600081815260056020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790555b73ffffffffffffffffffffffffffffffffffffffff841615610ccc5781546040517f870e73c2000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff93841660248401819052606060448501908152885160648601528851958a169563870e73c29592938a93909291608490910190602085019080838360005b83811015610c65578181015183820152602001610c4d565b50505050905090810190601f168015610c925780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610cb357600080fd5b505af1158015610cc7573d6000803e3d6000fd5b505050505b6040805133815290517feeda149c76076b34d4b9d8896c2f7efc0d33d1c7b53ea3c5db490d64613f603a9181900360200190a1505050505050505050565b600080610d15611260565b90508015801590610d2d575080610d2a612370565b10155b91505b5090565b60056020526000908152604090208054600182015460029092015473ffffffffffffffffffffffffffffffffffffffff909116919060ff1683565b60025481565b6000610d7f61173d565b73ffffffffffffffffffffffffffffffffffffffff166304bf2a7f836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e03578181015183820152602001610deb565b50505050905090810190601f168015610e305780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610e4f57600080fd5b505af1158015610e63573d6000803e3d6000fd5b505050506040513d6020811015610e7957600080fd5b505192915050565b6000610e8b61196c565b73ffffffffffffffffffffffffffffffffffffffff166332f0a3b56040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610eee57600080fd5b505af1158015610f02573d6000803e3d6000fd5b505050506040513d6020811015610f1857600080fd5b505190505b90565b604080517f5550444154455f53455454494e47535f524f4c450000000000000000000000008152815190819003601401812060008083526020830190935291610f6f9133918491905b506115ad565b60408051808201909152600f81527f4150505f415554485f4641494c45440000000000000000000000000000000000602082015290151561100c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b5050600455565b60005481565b604080517f5550444154455f53455454494e47535f524f4c450000000000000000000000008152905190819003601401902081565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260056020526040902080549091161515905b50919050565b600180548290811061109157fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b601481565b604080517f5550444154455f53455454494e47535f524f4c45000000000000000000000000815281519081900360140181206000808352602083019093529161110a913391849190610f69565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156111a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b506111b182612374565b5050565b60035481565b6060600180548060200260200160405190810160405280929190818152602001828054801561122057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116111f5575b5050505050905090565b50600190565b600061125b7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b612440565b905090565b600061125b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e612440565b60008060006112998461122a565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515611336576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b5061133f610e81565b925061134a83612448565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b5073ffffffffffffffffffffffffffffffffffffffff84161515611452576040513031925073ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f1935050505015801561144c573d6000803e3d6000fd5b50611542565b508261147a73ffffffffffffffffffffffffffffffffffffffff82163063ffffffff61247b16565b91506114a373ffffffffffffffffffffffffffffffffffffffff8216848463ffffffff6125b816565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515611540576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b505b8373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b6000806115b8610d0a565b15156115c75760009150611735565b6115cf61196c565b905073ffffffffffffffffffffffffffffffffffffffff811615156115f75760009150611735565b8073ffffffffffffffffffffffffffffffffffffffff1663fdef910686308761161f88612650565b6040517c010000000000000000000000000000000000000000000000000000000063ffffffff871602815273ffffffffffffffffffffffffffffffffffffffff808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b838110156116b757818101518382015260200161169f565b50505050905090810190601f1680156116e45780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561170657600080fd5b505af115801561171a573d6000803e3d6000fd5b505050506040513d602081101561173057600080fd5b505191505b509392505050565b60008061174861196c565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd616024820152905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b158015610e4f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff80821660009081526005602052604081208054600354600183015493949293919092161515918491829161184e919063ffffffff61265a16565b611856612280565b60028601549111925060ff1615905082801561186f5750815b80156118785750805b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260056020908152604080832080548251808401909352601e83527f42524947485449445f4e4f5f554e495155455f49445f41535349474e45440000938301939093529293909116151561194e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b505473ffffffffffffffffffffffffffffffffffffffff1692915050565b600061125b7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b612440565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6119c2611260565b14905090565b604080517f5550444154455f53455454494e47535f524f4c450000000000000000000000008152815190819003601401812060008083526020830190935291611a15913391849190610f69565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515611ab2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50611aeb8484808060200260200160405190810160405280939291908181526020018383602002808284375088945061270b9350505050565b50505050565b60045481565b600181565b611b04611260565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015611ba0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50611bab848461270b565b611bb482612374565b60008590556004819055611bc66129d2565b5050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b606060008060008060006002548a5110156040805190810160405280601d81526020017f42524947485449445f494e434f52524543545f54494d455354414d5053000000815250901515611cc7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50600254895110158015611cde5750600254885110155b8015611ced5750600254875110155b60408051808201909152601d81527f42524947485449445f494e434f52524543545f5349474e4154555245530000006020820152901515611d8a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b5088518a51148015611d9d575086518851145b8015611daa575086518951145b606060405190810160405280602581526020017f42524947485449445f5349474e4154555245535f444946464552454e545f4c4581526020017f4e47544853000000000000000000000000000000000000000000000000000000815250901515611e70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b506001805480602002602001604051908101604052809291908181526020018280548015611ed457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611ea9575b5050505050955060009450600093505b60015485108015611ef6575060025484105b156121d2576000548b8b87815181101515611f0d57fe5b90602001906020020151604051602001808460001916600019168152602001838051906020019060200280838360005b83811015611f55578181015183820152602001611f3d565b5050505090500182815260200193505050506040516020818303038152906040526040518082805190602001908083835b60208310611fc357805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611f86565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092506001838a8781518110151561200357fe5b906020019060200201518a8881518110151561201b57fe5b906020019060200201518a8981518110151561203357fe5b60209081029091018101516040805160008082528185018084529790975260ff9095168582015260608501939093526080840152905160a08084019492937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0830193908390039091019190865af11580156120b2573d6000803e3d6000fd5b5050506020604051035191506120e86004548b878151811015156120d257fe5b602090810290910101519063ffffffff61265a16565b6120f0612280565b10905080801561210b575061210b868363ffffffff612ab116565b156121c757612120868363ffffffff612b2416565b6040805190810160405280602081526020017f42524947485449445f43414e5f4e4f545f44454c4554455f56455249464945528152509015156121bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b506001909301925b600190940193611ee4565b60025460408051808201909152601581527f42524947485449445f4e4f545f564552494649454400000000000000000000006020820152908514612272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b505050505050505050505050565b4290565b600060018251111515612296576111b1565b5060015b8151811080156122ef57506005600083838151811015156122b757fe5b602090810290910181015173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040016000206002015460ff16155b156111b157600160056000848481518110151561230857fe5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002060020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161229a565b4390565b60408051606081018252602181527f42524947485449445f524547495354524154494f4e5f504552494f445f5a455260208201527f4f00000000000000000000000000000000000000000000000000000000000000918101919091526000821161243a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50600355565b5490565b5490565b60008073ffffffffffffffffffffffffffffffffffffffff83161515612471576000915061107d565b50506000903b1190565b6040805173ffffffffffffffffffffffffffffffffffffffff83166024808301919091528251808303909101815260449091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806125088684612c69565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156125aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b508093505b50505092915050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906126478582612c9a565b95945050505050565b8051602002815290565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f57000000000000000000000000000000602082015260009083830190848210156126ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b508091505b5092915050565b815160408051808201909152601581527f42524947485449445f4e4f5f5645524946494552530000000000000000000000602082015290600111156127ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50815160408051808201909152601b81527f42524947485449445f544f4f5f4d414e595f56455249464945525300000000006020820152906014101561284e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b5060408051606081018252602181527f42524947485449445f4e4f545f454e4f5547485f564552494649434154494f4e60208201527f5300000000000000000000000000000000000000000000000000000000000000918101919091526001821015612916576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50815160408051808201909152601f81527f42524947485449445f544f4f5f4d414e595f564552494649434154494f4e53006020820152908211156129b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b5081516129cb906001906020850190612cec565b5060025550565b6129da611260565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015612a76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360008381101561099457818101518382015260200161097c565b50612aaf612a82612370565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff612ce816565b565b6000805b8351811015612b1a578273ffffffffffffffffffffffffffffffffffffffff168482815181101515612ae357fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415612b125760019150612704565b600101612ab5565b5060009392505050565b815160009081805b82821015612c5d578473ffffffffffffffffffffffffffffffffffffffff168683815181101515612b5957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415612c52575084517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01818114612bf6578581815181101515612bb957fe5b906020019060200201518683815181101515612bd157fe5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302909101909101525b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8682815181101515612c2557fe5b73ffffffffffffffffffffffffffffffffffffffff909216602092830290910190910152600193506125af565b600190910190612b2c565b50600095945050505050565b6000806000806040516020818751602089018a5afa92506000831115612c8e57805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115612cde573d8015612ccb5760208114612cd457612cdc565b60019350612cdc565b600183511493505b505b5090949350505050565b9055565b828054828255906000526020600020908101928215612d66579160200282015b82811115612d6657825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190612d0c565b50610d3092610f1d9250905b80821115610d305780547fffffffffffffffffffffffff0000000000000000000000000000000000000000168155600101612d725600a165627a7a72305820475b6cd43ff77ae4d925a41ce9d9422d7b23cc41783ecb5b5b2aab5fc399f16d0029",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
