/**
 * Skipped minification because the original files appears to be already minified.
 * Original file: /npm/@synthr/js@0.3.2/browser.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
!function(e,a){"object"==typeof exports&&"object"==typeof module?module.exports=a():"function"==typeof define&&define.amd?define([],a):"object"==typeof exports?exports.synthetix=a():e.synthetix=a()}(window,(function(){return function(e){var a={};function t(n){if(a[n])return a[n].exports;var b=a[n]={i:n,l:!1,exports:{}};return e[n].call(b.exports,b,b.exports,t),b.l=!0,b.exports}return t.m=e,t.c=a,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,a){if(1&a&&(e=t(e)),8&a)return e;if(4&a&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&a&&"string"!=typeof e)for(var b in e)t.d(n,b,function(a){return e[a]}.bind(null,b));return n},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="",t(t.s=73)}([function(e,a,t){"use strict";(function(e){
/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <http://feross.org>
 * @license  MIT
 */
var n=t(76),b=t(77),f=t(78);function d(){return i.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,a){if(d()<a)throw new RangeError("Invalid typed array length");return i.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(a)).__proto__=i.prototype:(null===e&&(e=new i(a)),e.length=a),e}function i(e,a,t){if(!(i.TYPED_ARRAY_SUPPORT||this instanceof i))return new i(e,a,t);if("number"==typeof e){if("string"==typeof a)throw new Error("If encoding is specified then the first argument must be a string");return y(this,e)}return p(this,e,a,t)}function p(e,a,t,n){if("number"==typeof a)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&a instanceof ArrayBuffer?function(e,a,t,n){if(a.byteLength,t<0||a.byteLength<t)throw new RangeError("'offset' is out of bounds");if(a.byteLength<t+(n||0))throw new RangeError("'length' is out of bounds");a=void 0===t&&void 0===n?new Uint8Array(a):void 0===n?new Uint8Array(a,t):new Uint8Array(a,t,n);i.TYPED_ARRAY_SUPPORT?(e=a).__proto__=i.prototype:e=r(e,a);return e}(e,a,t,n):"string"==typeof a?function(e,a,t){"string"==typeof t&&""!==t||(t="utf8");if(!i.isEncoding(t))throw new TypeError('"encoding" must be a valid string encoding');var n=0|l(a,t),b=(e=s(e,n)).write(a,t);b!==n&&(e=e.slice(0,b));return e}(e,a,t):function(e,a){if(i.isBuffer(a)){var t=0|c(a.length);return 0===(e=s(e,t)).length||a.copy(e,0,0,t),e}if(a){if("undefined"!=typeof ArrayBuffer&&a.buffer instanceof ArrayBuffer||"length"in a)return"number"!=typeof a.length||(n=a.length)!=n?s(e,0):r(e,a);if("Buffer"===a.type&&f(a.data))return r(e,a.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,a)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function y(e,a){if(u(a),e=s(e,a<0?0:0|c(a)),!i.TYPED_ARRAY_SUPPORT)for(var t=0;t<a;++t)e[t]=0;return e}function r(e,a){var t=a.length<0?0:0|c(a.length);e=s(e,t);for(var n=0;n<t;n+=1)e[n]=255&a[n];return e}function c(e){if(e>=d())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+d().toString(16)+" bytes");return 0|e}function l(e,a){if(i.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var t=e.length;if(0===t)return 0;for(var n=!1;;)switch(a){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":case void 0:return U(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*t;case"hex":return t>>>1;case"base64":return V(e).length;default:if(n)return U(e).length;a=(""+a).toLowerCase(),n=!0}}function o(e,a,t){var n=!1;if((void 0===a||a<0)&&(a=0),a>this.length)return"";if((void 0===t||t>this.length)&&(t=this.length),t<=0)return"";if((t>>>=0)<=(a>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return _(this,a,t);case"utf8":case"utf-8":return E(this,a,t);case"ascii":return S(this,a,t);case"latin1":case"binary":return D(this,a,t);case"base64":return C(this,a,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,a,t);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function m(e,a,t){var n=e[a];e[a]=e[t],e[t]=n}function T(e,a,t,n,b){if(0===e.length)return-1;if("string"==typeof t?(n=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,isNaN(t)&&(t=b?0:e.length-1),t<0&&(t=e.length+t),t>=e.length){if(b)return-1;t=e.length-1}else if(t<0){if(!b)return-1;t=0}if("string"==typeof a&&(a=i.from(a,n)),i.isBuffer(a))return 0===a.length?-1:w(e,a,t,n,b);if("number"==typeof a)return a&=255,i.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?b?Uint8Array.prototype.indexOf.call(e,a,t):Uint8Array.prototype.lastIndexOf.call(e,a,t):w(e,[a],t,n,b);throw new TypeError("val must be string, number or Buffer")}function w(e,a,t,n,b){var f,d=1,s=e.length,i=a.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||a.length<2)return-1;d=2,s/=2,i/=2,t/=2}function p(e,a){return 1===d?e[a]:e.readUInt16BE(a*d)}if(b){var u=-1;for(f=t;f<s;f++)if(p(e,f)===p(a,-1===u?0:f-u)){if(-1===u&&(u=f),f-u+1===i)return u*d}else-1!==u&&(f-=f-u),u=-1}else for(t+i>s&&(t=s-i),f=t;f>=0;f--){for(var y=!0,r=0;r<i;r++)if(p(e,f+r)!==p(a,r)){y=!1;break}if(y)return f}return-1}function h(e,a,t,n){t=Number(t)||0;var b=e.length-t;n?(n=Number(n))>b&&(n=b):n=b;var f=a.length;if(f%2!=0)throw new TypeError("Invalid hex string");n>f/2&&(n=f/2);for(var d=0;d<n;++d){var s=parseInt(a.substr(2*d,2),16);if(isNaN(s))return d;e[t+d]=s}return d}function v(e,a,t,n){return z(U(a,e.length-t),e,t,n)}function x(e,a,t,n){return z(function(e){for(var a=[],t=0;t<e.length;++t)a.push(255&e.charCodeAt(t));return a}(a),e,t,n)}function M(e,a,t,n){return x(e,a,t,n)}function g(e,a,t,n){return z(V(a),e,t,n)}function A(e,a,t,n){return z(function(e,a){for(var t,n,b,f=[],d=0;d<e.length&&!((a-=2)<0);++d)t=e.charCodeAt(d),n=t>>8,b=t%256,f.push(b),f.push(n);return f}(a,e.length-t),e,t,n)}function C(e,a,t){return 0===a&&t===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(a,t))}function E(e,a,t){t=Math.min(e.length,t);for(var n=[],b=a;b<t;){var f,d,s,i,p=e[b],u=null,y=p>239?4:p>223?3:p>191?2:1;if(b+y<=t)switch(y){case 1:p<128&&(u=p);break;case 2:128==(192&(f=e[b+1]))&&(i=(31&p)<<6|63&f)>127&&(u=i);break;case 3:f=e[b+1],d=e[b+2],128==(192&f)&&128==(192&d)&&(i=(15&p)<<12|(63&f)<<6|63&d)>2047&&(i<55296||i>57343)&&(u=i);break;case 4:f=e[b+1],d=e[b+2],s=e[b+3],128==(192&f)&&128==(192&d)&&128==(192&s)&&(i=(15&p)<<18|(63&f)<<12|(63&d)<<6|63&s)>65535&&i<1114112&&(u=i)}null===u?(u=65533,y=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),b+=y}return function(e){var a=e.length;if(a<=4096)return String.fromCharCode.apply(String,e);var t="",n=0;for(;n<a;)t+=String.fromCharCode.apply(String,e.slice(n,n+=4096));return t}(n)}a.Buffer=i,a.SlowBuffer=function(e){+e!=e&&(e=0);return i.alloc(+e)},a.INSPECT_MAX_BYTES=50,i.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),a.kMaxLength=d(),i.poolSize=8192,i._augment=function(e){return e.__proto__=i.prototype,e},i.from=function(e,a,t){return p(null,e,a,t)},i.TYPED_ARRAY_SUPPORT&&(i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&i[Symbol.species]===i&&Object.defineProperty(i,Symbol.species,{value:null,configurable:!0})),i.alloc=function(e,a,t){return function(e,a,t,n){return u(a),a<=0?s(e,a):void 0!==t?"string"==typeof n?s(e,a).fill(t,n):s(e,a).fill(t):s(e,a)}(null,e,a,t)},i.allocUnsafe=function(e){return y(null,e)},i.allocUnsafeSlow=function(e){return y(null,e)},i.isBuffer=function(e){return!(null==e||!e._isBuffer)},i.compare=function(e,a){if(!i.isBuffer(e)||!i.isBuffer(a))throw new TypeError("Arguments must be Buffers");if(e===a)return 0;for(var t=e.length,n=a.length,b=0,f=Math.min(t,n);b<f;++b)if(e[b]!==a[b]){t=e[b],n=a[b];break}return t<n?-1:n<t?1:0},i.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},i.concat=function(e,a){if(!f(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return i.alloc(0);var t;if(void 0===a)for(a=0,t=0;t<e.length;++t)a+=e[t].length;var n=i.allocUnsafe(a),b=0;for(t=0;t<e.length;++t){var d=e[t];if(!i.isBuffer(d))throw new TypeError('"list" argument must be an Array of Buffers');d.copy(n,b),b+=d.length}return n},i.byteLength=l,i.prototype._isBuffer=!0,i.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var a=0;a<e;a+=2)m(this,a,a+1);return this},i.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var a=0;a<e;a+=4)m(this,a,a+3),m(this,a+1,a+2);return this},i.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var a=0;a<e;a+=8)m(this,a,a+7),m(this,a+1,a+6),m(this,a+2,a+5),m(this,a+3,a+4);return this},i.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?E(this,0,e):o.apply(this,arguments)},i.prototype.equals=function(e){if(!i.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===i.compare(this,e)},i.prototype.inspect=function(){var e="",t=a.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),"<Buffer "+e+">"},i.prototype.compare=function(e,a,t,n,b){if(!i.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===a&&(a=0),void 0===t&&(t=e?e.length:0),void 0===n&&(n=0),void 0===b&&(b=this.length),a<0||t>e.length||n<0||b>this.length)throw new RangeError("out of range index");if(n>=b&&a>=t)return 0;if(n>=b)return-1;if(a>=t)return 1;if(this===e)return 0;for(var f=(b>>>=0)-(n>>>=0),d=(t>>>=0)-(a>>>=0),s=Math.min(f,d),p=this.slice(n,b),u=e.slice(a,t),y=0;y<s;++y)if(p[y]!==u[y]){f=p[y],d=u[y];break}return f<d?-1:d<f?1:0},i.prototype.includes=function(e,a,t){return-1!==this.indexOf(e,a,t)},i.prototype.indexOf=function(e,a,t){return T(this,e,a,t,!0)},i.prototype.lastIndexOf=function(e,a,t){return T(this,e,a,t,!1)},i.prototype.write=function(e,a,t,n){if(void 0===a)n="utf8",t=this.length,a=0;else if(void 0===t&&"string"==typeof a)n=a,t=this.length,a=0;else{if(!isFinite(a))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");a|=0,isFinite(t)?(t|=0,void 0===n&&(n="utf8")):(n=t,t=void 0)}var b=this.length-a;if((void 0===t||t>b)&&(t=b),e.length>0&&(t<0||a<0)||a>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var f=!1;;)switch(n){case"hex":return h(this,e,a,t);case"utf8":case"utf-8":return v(this,e,a,t);case"ascii":return x(this,e,a,t);case"latin1":case"binary":return M(this,e,a,t);case"base64":return g(this,e,a,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,e,a,t);default:if(f)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),f=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function S(e,a,t){var n="";t=Math.min(e.length,t);for(var b=a;b<t;++b)n+=String.fromCharCode(127&e[b]);return n}function D(e,a,t){var n="";t=Math.min(e.length,t);for(var b=a;b<t;++b)n+=String.fromCharCode(e[b]);return n}function _(e,a,t){var n=e.length;(!a||a<0)&&(a=0),(!t||t<0||t>n)&&(t=n);for(var b="",f=a;f<t;++f)b+=L(e[f]);return b}function k(e,a,t){for(var n=e.slice(a,t),b="",f=0;f<n.length;f+=2)b+=String.fromCharCode(n[f]+256*n[f+1]);return b}function F(e,a,t){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+a>t)throw new RangeError("Trying to access beyond buffer length")}function R(e,a,t,n,b,f){if(!i.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(a>b||a<f)throw new RangeError('"value" argument is out of bounds');if(t+n>e.length)throw new RangeError("Index out of range")}function B(e,a,t,n){a<0&&(a=65535+a+1);for(var b=0,f=Math.min(e.length-t,2);b<f;++b)e[t+b]=(a&255<<8*(n?b:1-b))>>>8*(n?b:1-b)}function O(e,a,t,n){a<0&&(a=4294967295+a+1);for(var b=0,f=Math.min(e.length-t,4);b<f;++b)e[t+b]=a>>>8*(n?b:3-b)&255}function I(e,a,t,n,b,f){if(t+n>e.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function N(e,a,t,n,f){return f||I(e,0,t,4),b.write(e,a,t,n,23,4),t+4}function P(e,a,t,n,f){return f||I(e,0,t,8),b.write(e,a,t,n,52,8),t+8}i.prototype.slice=function(e,a){var t,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(a=void 0===a?n:~~a)<0?(a+=n)<0&&(a=0):a>n&&(a=n),a<e&&(a=e),i.TYPED_ARRAY_SUPPORT)(t=this.subarray(e,a)).__proto__=i.prototype;else{var b=a-e;t=new i(b,void 0);for(var f=0;f<b;++f)t[f]=this[f+e]}return t},i.prototype.readUIntLE=function(e,a,t){e|=0,a|=0,t||F(e,a,this.length);for(var n=this[e],b=1,f=0;++f<a&&(b*=256);)n+=this[e+f]*b;return n},i.prototype.readUIntBE=function(e,a,t){e|=0,a|=0,t||F(e,a,this.length);for(var n=this[e+--a],b=1;a>0&&(b*=256);)n+=this[e+--a]*b;return n},i.prototype.readUInt8=function(e,a){return a||F(e,1,this.length),this[e]},i.prototype.readUInt16LE=function(e,a){return a||F(e,2,this.length),this[e]|this[e+1]<<8},i.prototype.readUInt16BE=function(e,a){return a||F(e,2,this.length),this[e]<<8|this[e+1]},i.prototype.readUInt32LE=function(e,a){return a||F(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},i.prototype.readUInt32BE=function(e,a){return a||F(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},i.prototype.readIntLE=function(e,a,t){e|=0,a|=0,t||F(e,a,this.length);for(var n=this[e],b=1,f=0;++f<a&&(b*=256);)n+=this[e+f]*b;return n>=(b*=128)&&(n-=Math.pow(2,8*a)),n},i.prototype.readIntBE=function(e,a,t){e|=0,a|=0,t||F(e,a,this.length);for(var n=a,b=1,f=this[e+--n];n>0&&(b*=256);)f+=this[e+--n]*b;return f>=(b*=128)&&(f-=Math.pow(2,8*a)),f},i.prototype.readInt8=function(e,a){return a||F(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},i.prototype.readInt16LE=function(e,a){a||F(e,2,this.length);var t=this[e]|this[e+1]<<8;return 32768&t?4294901760|t:t},i.prototype.readInt16BE=function(e,a){a||F(e,2,this.length);var t=this[e+1]|this[e]<<8;return 32768&t?4294901760|t:t},i.prototype.readInt32LE=function(e,a){return a||F(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},i.prototype.readInt32BE=function(e,a){return a||F(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},i.prototype.readFloatLE=function(e,a){return a||F(e,4,this.length),b.read(this,e,!0,23,4)},i.prototype.readFloatBE=function(e,a){return a||F(e,4,this.length),b.read(this,e,!1,23,4)},i.prototype.readDoubleLE=function(e,a){return a||F(e,8,this.length),b.read(this,e,!0,52,8)},i.prototype.readDoubleBE=function(e,a){return a||F(e,8,this.length),b.read(this,e,!1,52,8)},i.prototype.writeUIntLE=function(e,a,t,n){(e=+e,a|=0,t|=0,n)||R(this,e,a,t,Math.pow(2,8*t)-1,0);var b=1,f=0;for(this[a]=255&e;++f<t&&(b*=256);)this[a+f]=e/b&255;return a+t},i.prototype.writeUIntBE=function(e,a,t,n){(e=+e,a|=0,t|=0,n)||R(this,e,a,t,Math.pow(2,8*t)-1,0);var b=t-1,f=1;for(this[a+b]=255&e;--b>=0&&(f*=256);)this[a+b]=e/f&255;return a+t},i.prototype.writeUInt8=function(e,a,t){return e=+e,a|=0,t||R(this,e,a,1,255,0),i.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[a]=255&e,a+1},i.prototype.writeUInt16LE=function(e,a,t){return e=+e,a|=0,t||R(this,e,a,2,65535,0),i.TYPED_ARRAY_SUPPORT?(this[a]=255&e,this[a+1]=e>>>8):B(this,e,a,!0),a+2},i.prototype.writeUInt16BE=function(e,a,t){return e=+e,a|=0,t||R(this,e,a,2,65535,0),i.TYPED_ARRAY_SUPPORT?(this[a]=e>>>8,this[a+1]=255&e):B(this,e,a,!1),a+2},i.prototype.writeUInt32LE=function(e,a,t){return e=+e,a|=0,t||R(this,e,a,4,4294967295,0),i.TYPED_ARRAY_SUPPORT?(this[a+3]=e>>>24,this[a+2]=e>>>16,this[a+1]=e>>>8,this[a]=255&e):O(this,e,a,!0),a+4},i.prototype.writeUInt32BE=function(e,a,t){return e=+e,a|=0,t||R(this,e,a,4,4294967295,0),i.TYPED_ARRAY_SUPPORT?(this[a]=e>>>24,this[a+1]=e>>>16,this[a+2]=e>>>8,this[a+3]=255&e):O(this,e,a,!1),a+4},i.prototype.writeIntLE=function(e,a,t,n){if(e=+e,a|=0,!n){var b=Math.pow(2,8*t-1);R(this,e,a,t,b-1,-b)}var f=0,d=1,s=0;for(this[a]=255&e;++f<t&&(d*=256);)e<0&&0===s&&0!==this[a+f-1]&&(s=1),this[a+f]=(e/d>>0)-s&255;return a+t},i.prototype.writeIntBE=function(e,a,t,n){if(e=+e,a|=0,!n){var b=Math.pow(2,8*t-1);R(this,e,a,t,b-1,-b)}var f=t-1,d=1,s=0;for(this[a+f]=255&e;--f>=0&&(d*=256);)e<0&&0===s&&0!==this[a+f+1]&&(s=1),this[a+f]=(e/d>>0)-s&255;return a+t},i.prototype.writeInt8=function(e,a,t){return e=+e,a|=0,t||R(this,e,a,1,127,-128),i.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[a]=255&e,a+1},i.prototype.writeInt16LE=function(e,a,t){return e=+e,a|=0,t||R(this,e,a,2,32767,-32768),i.TYPED_ARRAY_SUPPORT?(this[a]=255&e,this[a+1]=e>>>8):B(this,e,a,!0),a+2},i.prototype.writeInt16BE=function(e,a,t){return e=+e,a|=0,t||R(this,e,a,2,32767,-32768),i.TYPED_ARRAY_SUPPORT?(this[a]=e>>>8,this[a+1]=255&e):B(this,e,a,!1),a+2},i.prototype.writeInt32LE=function(e,a,t){return e=+e,a|=0,t||R(this,e,a,4,2147483647,-2147483648),i.TYPED_ARRAY_SUPPORT?(this[a]=255&e,this[a+1]=e>>>8,this[a+2]=e>>>16,this[a+3]=e>>>24):O(this,e,a,!0),a+4},i.prototype.writeInt32BE=function(e,a,t){return e=+e,a|=0,t||R(this,e,a,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),i.TYPED_ARRAY_SUPPORT?(this[a]=e>>>24,this[a+1]=e>>>16,this[a+2]=e>>>8,this[a+3]=255&e):O(this,e,a,!1),a+4},i.prototype.writeFloatLE=function(e,a,t){return N(this,e,a,!0,t)},i.prototype.writeFloatBE=function(e,a,t){return N(this,e,a,!1,t)},i.prototype.writeDoubleLE=function(e,a,t){return P(this,e,a,!0,t)},i.prototype.writeDoubleBE=function(e,a,t){return P(this,e,a,!1,t)},i.prototype.copy=function(e,a,t,n){if(t||(t=0),n||0===n||(n=this.length),a>=e.length&&(a=e.length),a||(a=0),n>0&&n<t&&(n=t),n===t)return 0;if(0===e.length||0===this.length)return 0;if(a<0)throw new RangeError("targetStart out of bounds");if(t<0||t>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-a<n-t&&(n=e.length-a+t);var b,f=n-t;if(this===e&&t<a&&a<n)for(b=f-1;b>=0;--b)e[b+a]=this[b+t];else if(f<1e3||!i.TYPED_ARRAY_SUPPORT)for(b=0;b<f;++b)e[b+a]=this[b+t];else Uint8Array.prototype.set.call(e,this.subarray(t,t+f),a);return f},i.prototype.fill=function(e,a,t,n){if("string"==typeof e){if("string"==typeof a?(n=a,a=0,t=this.length):"string"==typeof t&&(n=t,t=this.length),1===e.length){var b=e.charCodeAt(0);b<256&&(e=b)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!i.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof e&&(e&=255);if(a<0||this.length<a||this.length<t)throw new RangeError("Out of range index");if(t<=a)return this;var f;if(a>>>=0,t=void 0===t?this.length:t>>>0,e||(e=0),"number"==typeof e)for(f=a;f<t;++f)this[f]=e;else{var d=i.isBuffer(e)?e:U(new i(e,n).toString()),s=d.length;for(f=0;f<t-a;++f)this[f+a]=d[f%s]}return this};var K=/[^+\/0-9A-Za-z-_]/g;function L(e){return e<16?"0"+e.toString(16):e.toString(16)}function U(e,a){var t;a=a||1/0;for(var n=e.length,b=null,f=[],d=0;d<n;++d){if((t=e.charCodeAt(d))>55295&&t<57344){if(!b){if(t>56319){(a-=3)>-1&&f.push(239,191,189);continue}if(d+1===n){(a-=3)>-1&&f.push(239,191,189);continue}b=t;continue}if(t<56320){(a-=3)>-1&&f.push(239,191,189),b=t;continue}t=65536+(b-55296<<10|t-56320)}else b&&(a-=3)>-1&&f.push(239,191,189);if(b=null,t<128){if((a-=1)<0)break;f.push(t)}else if(t<2048){if((a-=2)<0)break;f.push(t>>6|192,63&t|128)}else if(t<65536){if((a-=3)<0)break;f.push(t>>12|224,t>>6&63|128,63&t|128)}else{if(!(t<1114112))throw new Error("Invalid code point");if((a-=4)<0)break;f.push(t>>18|240,t>>12&63|128,t>>6&63|128,63&t|128)}}return f}function V(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(K,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function z(e,a,t,n){for(var b=0;b<n&&!(b+t>=a.length||b>=e.length);++b)a[b+t]=e[b];return b}}).call(this,t(2))},function(e,a){"function"==typeof Object.create?e.exports=function(e,a){a&&(e.super_=a,e.prototype=Object.create(a.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,a){if(a){e.super_=a;var t=function(){};t.prototype=a.prototype,e.prototype=new t,e.prototype.constructor=e}}},function(e,a){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(e){"object"==typeof window&&(t=window)}e.exports=t},function(e,a){var t,n,b=e.exports={};function f(){throw new Error("setTimeout has not been defined")}function d(){throw new Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===f||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(a){try{return t.call(null,e,0)}catch(a){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:f}catch(e){t=f}try{n="function"==typeof clearTimeout?clearTimeout:d}catch(e){n=d}}();var i,p=[],u=!1,y=-1;function r(){u&&i&&(u=!1,i.length?p=i.concat(p):y=-1,p.length&&c())}function c(){if(!u){var e=s(r);u=!0;for(var a=p.length;a;){for(i=p,p=[];++y<a;)i&&i[y].run();y=-1,a=p.length}i=null,u=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===d||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(a){try{return n.call(null,e)}catch(a){return n.call(this,e)}}}(e)}}function l(e,a){this.fun=e,this.array=a}function o(){}b.nextTick=function(e){var a=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)a[t-1]=arguments[t];p.push(new l(e,a)),1!==p.length||u||s(c)},l.prototype.run=function(){this.fun.apply(null,this.array)},b.title="browser",b.browser=!0,b.env={},b.argv=[],b.version="",b.versions={},b.on=o,b.addListener=o,b.once=o,b.off=o,b.removeListener=o,b.removeAllListeners=o,b.emit=o,b.prependListener=o,b.prependOnceListener=o,b.listeners=function(e){return[]},b.binding=function(e){throw new Error("process.binding is not supported")},b.cwd=function(){return"/"},b.chdir=function(e){throw new Error("process.chdir is not supported")},b.umask=function(){return 0}},function(e,a,t){"use strict";var n=a,b=t(9),f=t(10),d=t(51);n.assert=f,n.toArray=d.toArray,n.zero2=d.zero2,n.toHex=d.toHex,n.encode=d.encode,n.getNAF=function(e,a,t){var n=new Array(Math.max(e.bitLength(),t)+1);n.fill(0);for(var b=1<<a+1,f=e.clone(),d=0;d<n.length;d++){var s,i=f.andln(b-1);f.isOdd()?(s=i>(b>>1)-1?(b>>1)-i:i,f.isubn(s)):s=0,n[d]=s,f.iushrn(1)}return n},n.getJSF=function(e,a){var t=[[],[]];e=e.clone(),a=a.clone();for(var n,b=0,f=0;e.cmpn(-b)>0||a.cmpn(-f)>0;){var d,s,i=e.andln(3)+b&3,p=a.andln(3)+f&3;3===i&&(i=-1),3===p&&(p=-1),d=0==(1&i)?0:3!==(n=e.andln(7)+b&7)&&5!==n||2!==p?i:-i,t[0].push(d),s=0==(1&p)?0:3!==(n=a.andln(7)+f&7)&&5!==n||2!==i?p:-p,t[1].push(s),2*b===d+1&&(b=1-b),2*f===s+1&&(f=1-f),e.iushrn(1),a.iushrn(1)}return t},n.cachedProperty=function(e,a,t){var n="_"+a;e.prototype[a]=function(){return void 0!==this[n]?this[n]:this[n]=t.call(this)}},n.parseBytes=function(e){return"string"==typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new b(e,"hex","le")}},function(e,a,t){
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
var n=t(0),b=n.Buffer;function f(e,a){for(var t in e)a[t]=e[t]}function d(e,a,t){return b(e,a,t)}b.from&&b.alloc&&b.allocUnsafe&&b.allocUnsafeSlow?e.exports=n:(f(n,a),a.Buffer=d),d.prototype=Object.create(b.prototype),f(b,d),d.from=function(e,a,t){if("number"==typeof e)throw new TypeError("Argument must not be a number");return b(e,a,t)},d.alloc=function(e,a,t){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=b(e);return void 0!==a?"string"==typeof t?n.fill(a,t):n.fill(a):n.fill(0),n},d.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return b(e)},d.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,a,t){"use strict";var n=t(10),b=t(1);function f(e,a){return 55296==(64512&e.charCodeAt(a))&&(!(a<0||a+1>=e.length)&&56320==(64512&e.charCodeAt(a+1)))}function d(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function s(e){return 1===e.length?"0"+e:e}function i(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}a.inherits=b,a.toArray=function(e,a){if(Array.isArray(e))return e.slice();if(!e)return[];var t=[];if("string"==typeof e)if(a){if("hex"===a)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),b=0;b<e.length;b+=2)t.push(parseInt(e[b]+e[b+1],16))}else for(var n=0,b=0;b<e.length;b++){var d=e.charCodeAt(b);d<128?t[n++]=d:d<2048?(t[n++]=d>>6|192,t[n++]=63&d|128):f(e,b)?(d=65536+((1023&d)<<10)+(1023&e.charCodeAt(++b)),t[n++]=d>>18|240,t[n++]=d>>12&63|128,t[n++]=d>>6&63|128,t[n++]=63&d|128):(t[n++]=d>>12|224,t[n++]=d>>6&63|128,t[n++]=63&d|128)}else for(b=0;b<e.length;b++)t[b]=0|e[b];return t},a.toHex=function(e){for(var a="",t=0;t<e.length;t++)a+=s(e[t].toString(16));return a},a.htonl=d,a.toHex32=function(e,a){for(var t="",n=0;n<e.length;n++){var b=e[n];"little"===a&&(b=d(b)),t+=i(b.toString(16))}return t},a.zero2=s,a.zero8=i,a.join32=function(e,a,t,b){var f=t-a;n(f%4==0);for(var d=new Array(f/4),s=0,i=a;s<d.length;s++,i+=4){var p;p="big"===b?e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3]:e[i+3]<<24|e[i+2]<<16|e[i+1]<<8|e[i],d[s]=p>>>0}return d},a.split32=function(e,a){for(var t=new Array(4*e.length),n=0,b=0;n<e.length;n++,b+=4){var f=e[n];"big"===a?(t[b]=f>>>24,t[b+1]=f>>>16&255,t[b+2]=f>>>8&255,t[b+3]=255&f):(t[b+3]=f>>>24,t[b+2]=f>>>16&255,t[b+1]=f>>>8&255,t[b]=255&f)}return t},a.rotr32=function(e,a){return e>>>a|e<<32-a},a.rotl32=function(e,a){return e<<a|e>>>32-a},a.sum32=function(e,a){return e+a>>>0},a.sum32_3=function(e,a,t){return e+a+t>>>0},a.sum32_4=function(e,a,t,n){return e+a+t+n>>>0},a.sum32_5=function(e,a,t,n,b){return e+a+t+n+b>>>0},a.sum64=function(e,a,t,n){var b=e[a],f=n+e[a+1]>>>0,d=(f<n?1:0)+t+b;e[a]=d>>>0,e[a+1]=f},a.sum64_hi=function(e,a,t,n){return(a+n>>>0<a?1:0)+e+t>>>0},a.sum64_lo=function(e,a,t,n){return a+n>>>0},a.sum64_4_hi=function(e,a,t,n,b,f,d,s){var i=0,p=a;return i+=(p=p+n>>>0)<a?1:0,i+=(p=p+f>>>0)<f?1:0,e+t+b+d+(i+=(p=p+s>>>0)<s?1:0)>>>0},a.sum64_4_lo=function(e,a,t,n,b,f,d,s){return a+n+f+s>>>0},a.sum64_5_hi=function(e,a,t,n,b,f,d,s,i,p){var u=0,y=a;return u+=(y=y+n>>>0)<a?1:0,u+=(y=y+f>>>0)<f?1:0,u+=(y=y+s>>>0)<s?1:0,e+t+b+d+i+(u+=(y=y+p>>>0)<p?1:0)>>>0},a.sum64_5_lo=function(e,a,t,n,b,f,d,s,i,p){return a+n+f+s+p>>>0},a.rotr64_hi=function(e,a,t){return(a<<32-t|e>>>t)>>>0},a.rotr64_lo=function(e,a,t){return(e<<32-t|a>>>t)>>>0},a.shr64_hi=function(e,a,t){return e>>>t},a.shr64_lo=function(e,a,t){return(e<<32-t|a>>>t)>>>0}},function(e,a){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,a,t){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,a,t,n){void 0===n&&(n=t),Object.defineProperty(e,n,{enumerable:!0,get:function(){return a[t]}})}:function(e,a,t,n){void 0===n&&(n=t),e[n]=a[t]}),b=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:!0,value:a})}:function(e,a){e.default=a}),f=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&n(a,e,t);return b(a,e),a},d=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:!0}),a.rlp=a.BN=void 0;var s=d(t(92));a.BN=s.default;var i=f(t(94));a.rlp=i},function(e,a,t){(function(e){!function(e,a){"use strict";function n(e,a){if(!e)throw new Error(a||"Assertion failed")}function b(e,a){e.super_=a;var t=function(){};t.prototype=a.prototype,e.prototype=new t,e.prototype.constructor=e}function f(e,a,t){if(f.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==a&&"be"!==a||(t=a,a=10),this._init(e||0,a||10,t||"be"))}var d;"object"==typeof e?e.exports=f:a.BN=f,f.BN=f,f.wordSize=26;try{d="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:t(105).Buffer}catch(e){}function s(e,a){var t=e.charCodeAt(a);return t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:t-48&15}function i(e,a,t){var n=s(e,t);return t-1>=a&&(n|=s(e,t-1)<<4),n}function p(e,a,t,n){for(var b=0,f=Math.min(e.length,t),d=a;d<f;d++){var s=e.charCodeAt(d)-48;b*=n,b+=s>=49?s-49+10:s>=17?s-17+10:s}return b}f.isBN=function(e){return e instanceof f||null!==e&&"object"==typeof e&&e.constructor.wordSize===f.wordSize&&Array.isArray(e.words)},f.max=function(e,a){return e.cmp(a)>0?e:a},f.min=function(e,a){return e.cmp(a)<0?e:a},f.prototype._init=function(e,a,t){if("number"==typeof e)return this._initNumber(e,a,t);if("object"==typeof e)return this._initArray(e,a,t);"hex"===a&&(a=16),n(a===(0|a)&&a>=2&&a<=36);var b=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(b++,this.negative=1),b<e.length&&(16===a?this._parseHex(e,b,t):(this._parseBase(e,a,b),"le"===t&&this._initArray(this.toArray(),a,t)))},f.prototype._initNumber=function(e,a,t){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===t&&this._initArray(this.toArray(),a,t)},f.prototype._initArray=function(e,a,t){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var b=0;b<this.length;b++)this.words[b]=0;var f,d,s=0;if("be"===t)for(b=e.length-1,f=0;b>=0;b-=3)d=e[b]|e[b-1]<<8|e[b-2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);else if("le"===t)for(b=0,f=0;b<e.length;b+=3)d=e[b]|e[b+1]<<8|e[b+2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);return this.strip()},f.prototype._parseHex=function(e,a,t){this.length=Math.ceil((e.length-a)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var b,f=0,d=0;if("be"===t)for(n=e.length-1;n>=a;n-=2)b=i(e,a,n)<<f,this.words[d]|=67108863&b,f>=18?(f-=18,d+=1,this.words[d]|=b>>>26):f+=8;else for(n=(e.length-a)%2==0?a+1:a;n<e.length;n+=2)b=i(e,a,n)<<f,this.words[d]|=67108863&b,f>=18?(f-=18,d+=1,this.words[d]|=b>>>26):f+=8;this.strip()},f.prototype._parseBase=function(e,a,t){this.words=[0],this.length=1;for(var n=0,b=1;b<=67108863;b*=a)n++;n--,b=b/a|0;for(var f=e.length-t,d=f%n,s=Math.min(f,f-d)+t,i=0,u=t;u<s;u+=n)i=p(e,u,u+n,a),this.imuln(b),this.words[0]+i<67108864?this.words[0]+=i:this._iaddn(i);if(0!==d){var y=1;for(i=p(e,u,e.length,a),u=0;u<d;u++)y*=a;this.imuln(y),this.words[0]+i<67108864?this.words[0]+=i:this._iaddn(i)}this.strip()},f.prototype.copy=function(e){e.words=new Array(this.length);for(var a=0;a<this.length;a++)e.words[a]=this.words[a];e.length=this.length,e.negative=this.negative,e.red=this.red},f.prototype.clone=function(){var e=new f(null);return this.copy(e),e},f.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},f.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},f.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],y=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],r=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(e,a,t){t.negative=a.negative^e.negative;var n=e.length+a.length|0;t.length=n,n=n-1|0;var b=0|e.words[0],f=0|a.words[0],d=b*f,s=67108863&d,i=d/67108864|0;t.words[0]=s;for(var p=1;p<n;p++){for(var u=i>>>26,y=67108863&i,r=Math.min(p,a.length-1),c=Math.max(0,p-e.length+1);c<=r;c++){var l=p-c|0;u+=(d=(b=0|e.words[l])*(f=0|a.words[c])+y)/67108864|0,y=67108863&d}t.words[p]=0|y,i=0|u}return 0!==i?t.words[p]=0|i:t.length--,t.strip()}f.prototype.toString=function(e,a){var t;if(a=0|a||1,16===(e=e||10)||"hex"===e){t="";for(var b=0,f=0,d=0;d<this.length;d++){var s=this.words[d],i=(16777215&(s<<b|f)).toString(16);t=0!==(f=s>>>24-b&16777215)||d!==this.length-1?u[6-i.length]+i+t:i+t,(b+=2)>=26&&(b-=26,d--)}for(0!==f&&(t=f.toString(16)+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}if(e===(0|e)&&e>=2&&e<=36){var p=y[e],c=r[e];t="";var l=this.clone();for(l.negative=0;!l.isZero();){var o=l.modn(c).toString(e);t=(l=l.idivn(c)).isZero()?o+t:u[p-o.length]+o+t}for(this.isZero()&&(t="0"+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}n(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(e,a){return n(void 0!==d),this.toArrayLike(d,e,a)},f.prototype.toArray=function(e,a){return this.toArrayLike(Array,e,a)},f.prototype.toArrayLike=function(e,a,t){var b=this.byteLength(),f=t||Math.max(1,b);n(b<=f,"byte array longer than desired length"),n(f>0,"Requested array length <= 0"),this.strip();var d,s,i="le"===a,p=new e(f),u=this.clone();if(i){for(s=0;!u.isZero();s++)d=u.andln(255),u.iushrn(8),p[s]=d;for(;s<f;s++)p[s]=0}else{for(s=0;s<f-b;s++)p[s]=0;for(s=0;!u.isZero();s++)d=u.andln(255),u.iushrn(8),p[f-s-1]=d}return p},Math.clz32?f.prototype._countBits=function(e){return 32-Math.clz32(e)}:f.prototype._countBits=function(e){var a=e,t=0;return a>=4096&&(t+=13,a>>>=13),a>=64&&(t+=7,a>>>=7),a>=8&&(t+=4,a>>>=4),a>=2&&(t+=2,a>>>=2),t+a},f.prototype._zeroBits=function(e){if(0===e)return 26;var a=e,t=0;return 0==(8191&a)&&(t+=13,a>>>=13),0==(127&a)&&(t+=7,a>>>=7),0==(15&a)&&(t+=4,a>>>=4),0==(3&a)&&(t+=2,a>>>=2),0==(1&a)&&t++,t},f.prototype.bitLength=function(){var e=this.words[this.length-1],a=this._countBits(e);return 26*(this.length-1)+a},f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,a=0;a<this.length;a++){var t=this._zeroBits(this.words[a]);if(e+=t,26!==t)break}return e},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},f.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return 0!==this.negative},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var a=0;a<e.length;a++)this.words[a]=this.words[a]|e.words[a];return this.strip()},f.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},f.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},f.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},f.prototype.iuand=function(e){var a;a=this.length>e.length?e:this;for(var t=0;t<a.length;t++)this.words[t]=this.words[t]&e.words[t];return this.length=a.length,this.strip()},f.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},f.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},f.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},f.prototype.iuxor=function(e){var a,t;this.length>e.length?(a=this,t=e):(a=e,t=this);for(var n=0;n<t.length;n++)this.words[n]=a.words[n]^t.words[n];if(this!==a)for(;n<a.length;n++)this.words[n]=a.words[n];return this.length=a.length,this.strip()},f.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},f.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},f.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},f.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var a=0|Math.ceil(e/26),t=e%26;this._expand(a),t>0&&a--;for(var b=0;b<a;b++)this.words[b]=67108863&~this.words[b];return t>0&&(this.words[b]=~this.words[b]&67108863>>26-t),this.strip()},f.prototype.notn=function(e){return this.clone().inotn(e)},f.prototype.setn=function(e,a){n("number"==typeof e&&e>=0);var t=e/26|0,b=e%26;return this._expand(t+1),this.words[t]=a?this.words[t]|1<<b:this.words[t]&~(1<<b),this.strip()},f.prototype.iadd=function(e){var a,t,n;if(0!==this.negative&&0===e.negative)return this.negative=0,a=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,a=this.isub(e),e.negative=1,a._normSign();this.length>e.length?(t=this,n=e):(t=e,n=this);for(var b=0,f=0;f<n.length;f++)a=(0|t.words[f])+(0|n.words[f])+b,this.words[f]=67108863&a,b=a>>>26;for(;0!==b&&f<t.length;f++)a=(0|t.words[f])+b,this.words[f]=67108863&a,b=a>>>26;if(this.length=t.length,0!==b)this.words[this.length]=b,this.length++;else if(t!==this)for(;f<t.length;f++)this.words[f]=t.words[f];return this},f.prototype.add=function(e){var a;return 0!==e.negative&&0===this.negative?(e.negative=0,a=this.sub(e),e.negative^=1,a):0===e.negative&&0!==this.negative?(this.negative=0,a=e.sub(this),this.negative=1,a):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},f.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var a=this.iadd(e);return e.negative=1,a._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var t,n,b=this.cmp(e);if(0===b)return this.negative=0,this.length=1,this.words[0]=0,this;b>0?(t=this,n=e):(t=e,n=this);for(var f=0,d=0;d<n.length;d++)f=(a=(0|t.words[d])-(0|n.words[d])+f)>>26,this.words[d]=67108863&a;for(;0!==f&&d<t.length;d++)f=(a=(0|t.words[d])+f)>>26,this.words[d]=67108863&a;if(0===f&&d<t.length&&t!==this)for(;d<t.length;d++)this.words[d]=t.words[d];return this.length=Math.max(this.length,d),t!==this&&(this.negative=1),this.strip()},f.prototype.sub=function(e){return this.clone().isub(e)};var l=function(e,a,t){var n,b,f,d=e.words,s=a.words,i=t.words,p=0,u=0|d[0],y=8191&u,r=u>>>13,c=0|d[1],l=8191&c,o=c>>>13,m=0|d[2],T=8191&m,w=m>>>13,h=0|d[3],v=8191&h,x=h>>>13,M=0|d[4],g=8191&M,A=M>>>13,C=0|d[5],E=8191&C,S=C>>>13,D=0|d[6],_=8191&D,k=D>>>13,F=0|d[7],R=8191&F,B=F>>>13,O=0|d[8],I=8191&O,N=O>>>13,P=0|d[9],K=8191&P,L=P>>>13,U=0|s[0],V=8191&U,z=U>>>13,q=0|s[1],W=8191&q,H=q>>>13,Q=0|s[2],X=8191&Q,Z=Q>>>13,j=0|s[3],G=8191&j,$=j>>>13,Y=0|s[4],J=8191&Y,ee=Y>>>13,ae=0|s[5],te=8191&ae,ne=ae>>>13,be=0|s[6],fe=8191&be,de=be>>>13,se=0|s[7],ie=8191&se,pe=se>>>13,ue=0|s[8],ye=8191&ue,re=ue>>>13,ce=0|s[9],le=8191&ce,oe=ce>>>13;t.negative=e.negative^a.negative,t.length=19;var me=(p+(n=Math.imul(y,V))|0)+((8191&(b=(b=Math.imul(y,z))+Math.imul(r,V)|0))<<13)|0;p=((f=Math.imul(r,z))+(b>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(l,V),b=(b=Math.imul(l,z))+Math.imul(o,V)|0,f=Math.imul(o,z);var Te=(p+(n=n+Math.imul(y,W)|0)|0)+((8191&(b=(b=b+Math.imul(y,H)|0)+Math.imul(r,W)|0))<<13)|0;p=((f=f+Math.imul(r,H)|0)+(b>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(T,V),b=(b=Math.imul(T,z))+Math.imul(w,V)|0,f=Math.imul(w,z),n=n+Math.imul(l,W)|0,b=(b=b+Math.imul(l,H)|0)+Math.imul(o,W)|0,f=f+Math.imul(o,H)|0;var we=(p+(n=n+Math.imul(y,X)|0)|0)+((8191&(b=(b=b+Math.imul(y,Z)|0)+Math.imul(r,X)|0))<<13)|0;p=((f=f+Math.imul(r,Z)|0)+(b>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(v,V),b=(b=Math.imul(v,z))+Math.imul(x,V)|0,f=Math.imul(x,z),n=n+Math.imul(T,W)|0,b=(b=b+Math.imul(T,H)|0)+Math.imul(w,W)|0,f=f+Math.imul(w,H)|0,n=n+Math.imul(l,X)|0,b=(b=b+Math.imul(l,Z)|0)+Math.imul(o,X)|0,f=f+Math.imul(o,Z)|0;var he=(p+(n=n+Math.imul(y,G)|0)|0)+((8191&(b=(b=b+Math.imul(y,$)|0)+Math.imul(r,G)|0))<<13)|0;p=((f=f+Math.imul(r,$)|0)+(b>>>13)|0)+(he>>>26)|0,he&=67108863,n=Math.imul(g,V),b=(b=Math.imul(g,z))+Math.imul(A,V)|0,f=Math.imul(A,z),n=n+Math.imul(v,W)|0,b=(b=b+Math.imul(v,H)|0)+Math.imul(x,W)|0,f=f+Math.imul(x,H)|0,n=n+Math.imul(T,X)|0,b=(b=b+Math.imul(T,Z)|0)+Math.imul(w,X)|0,f=f+Math.imul(w,Z)|0,n=n+Math.imul(l,G)|0,b=(b=b+Math.imul(l,$)|0)+Math.imul(o,G)|0,f=f+Math.imul(o,$)|0;var ve=(p+(n=n+Math.imul(y,J)|0)|0)+((8191&(b=(b=b+Math.imul(y,ee)|0)+Math.imul(r,J)|0))<<13)|0;p=((f=f+Math.imul(r,ee)|0)+(b>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(E,V),b=(b=Math.imul(E,z))+Math.imul(S,V)|0,f=Math.imul(S,z),n=n+Math.imul(g,W)|0,b=(b=b+Math.imul(g,H)|0)+Math.imul(A,W)|0,f=f+Math.imul(A,H)|0,n=n+Math.imul(v,X)|0,b=(b=b+Math.imul(v,Z)|0)+Math.imul(x,X)|0,f=f+Math.imul(x,Z)|0,n=n+Math.imul(T,G)|0,b=(b=b+Math.imul(T,$)|0)+Math.imul(w,G)|0,f=f+Math.imul(w,$)|0,n=n+Math.imul(l,J)|0,b=(b=b+Math.imul(l,ee)|0)+Math.imul(o,J)|0,f=f+Math.imul(o,ee)|0;var xe=(p+(n=n+Math.imul(y,te)|0)|0)+((8191&(b=(b=b+Math.imul(y,ne)|0)+Math.imul(r,te)|0))<<13)|0;p=((f=f+Math.imul(r,ne)|0)+(b>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(_,V),b=(b=Math.imul(_,z))+Math.imul(k,V)|0,f=Math.imul(k,z),n=n+Math.imul(E,W)|0,b=(b=b+Math.imul(E,H)|0)+Math.imul(S,W)|0,f=f+Math.imul(S,H)|0,n=n+Math.imul(g,X)|0,b=(b=b+Math.imul(g,Z)|0)+Math.imul(A,X)|0,f=f+Math.imul(A,Z)|0,n=n+Math.imul(v,G)|0,b=(b=b+Math.imul(v,$)|0)+Math.imul(x,G)|0,f=f+Math.imul(x,$)|0,n=n+Math.imul(T,J)|0,b=(b=b+Math.imul(T,ee)|0)+Math.imul(w,J)|0,f=f+Math.imul(w,ee)|0,n=n+Math.imul(l,te)|0,b=(b=b+Math.imul(l,ne)|0)+Math.imul(o,te)|0,f=f+Math.imul(o,ne)|0;var Me=(p+(n=n+Math.imul(y,fe)|0)|0)+((8191&(b=(b=b+Math.imul(y,de)|0)+Math.imul(r,fe)|0))<<13)|0;p=((f=f+Math.imul(r,de)|0)+(b>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(R,V),b=(b=Math.imul(R,z))+Math.imul(B,V)|0,f=Math.imul(B,z),n=n+Math.imul(_,W)|0,b=(b=b+Math.imul(_,H)|0)+Math.imul(k,W)|0,f=f+Math.imul(k,H)|0,n=n+Math.imul(E,X)|0,b=(b=b+Math.imul(E,Z)|0)+Math.imul(S,X)|0,f=f+Math.imul(S,Z)|0,n=n+Math.imul(g,G)|0,b=(b=b+Math.imul(g,$)|0)+Math.imul(A,G)|0,f=f+Math.imul(A,$)|0,n=n+Math.imul(v,J)|0,b=(b=b+Math.imul(v,ee)|0)+Math.imul(x,J)|0,f=f+Math.imul(x,ee)|0,n=n+Math.imul(T,te)|0,b=(b=b+Math.imul(T,ne)|0)+Math.imul(w,te)|0,f=f+Math.imul(w,ne)|0,n=n+Math.imul(l,fe)|0,b=(b=b+Math.imul(l,de)|0)+Math.imul(o,fe)|0,f=f+Math.imul(o,de)|0;var ge=(p+(n=n+Math.imul(y,ie)|0)|0)+((8191&(b=(b=b+Math.imul(y,pe)|0)+Math.imul(r,ie)|0))<<13)|0;p=((f=f+Math.imul(r,pe)|0)+(b>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(I,V),b=(b=Math.imul(I,z))+Math.imul(N,V)|0,f=Math.imul(N,z),n=n+Math.imul(R,W)|0,b=(b=b+Math.imul(R,H)|0)+Math.imul(B,W)|0,f=f+Math.imul(B,H)|0,n=n+Math.imul(_,X)|0,b=(b=b+Math.imul(_,Z)|0)+Math.imul(k,X)|0,f=f+Math.imul(k,Z)|0,n=n+Math.imul(E,G)|0,b=(b=b+Math.imul(E,$)|0)+Math.imul(S,G)|0,f=f+Math.imul(S,$)|0,n=n+Math.imul(g,J)|0,b=(b=b+Math.imul(g,ee)|0)+Math.imul(A,J)|0,f=f+Math.imul(A,ee)|0,n=n+Math.imul(v,te)|0,b=(b=b+Math.imul(v,ne)|0)+Math.imul(x,te)|0,f=f+Math.imul(x,ne)|0,n=n+Math.imul(T,fe)|0,b=(b=b+Math.imul(T,de)|0)+Math.imul(w,fe)|0,f=f+Math.imul(w,de)|0,n=n+Math.imul(l,ie)|0,b=(b=b+Math.imul(l,pe)|0)+Math.imul(o,ie)|0,f=f+Math.imul(o,pe)|0;var Ae=(p+(n=n+Math.imul(y,ye)|0)|0)+((8191&(b=(b=b+Math.imul(y,re)|0)+Math.imul(r,ye)|0))<<13)|0;p=((f=f+Math.imul(r,re)|0)+(b>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(K,V),b=(b=Math.imul(K,z))+Math.imul(L,V)|0,f=Math.imul(L,z),n=n+Math.imul(I,W)|0,b=(b=b+Math.imul(I,H)|0)+Math.imul(N,W)|0,f=f+Math.imul(N,H)|0,n=n+Math.imul(R,X)|0,b=(b=b+Math.imul(R,Z)|0)+Math.imul(B,X)|0,f=f+Math.imul(B,Z)|0,n=n+Math.imul(_,G)|0,b=(b=b+Math.imul(_,$)|0)+Math.imul(k,G)|0,f=f+Math.imul(k,$)|0,n=n+Math.imul(E,J)|0,b=(b=b+Math.imul(E,ee)|0)+Math.imul(S,J)|0,f=f+Math.imul(S,ee)|0,n=n+Math.imul(g,te)|0,b=(b=b+Math.imul(g,ne)|0)+Math.imul(A,te)|0,f=f+Math.imul(A,ne)|0,n=n+Math.imul(v,fe)|0,b=(b=b+Math.imul(v,de)|0)+Math.imul(x,fe)|0,f=f+Math.imul(x,de)|0,n=n+Math.imul(T,ie)|0,b=(b=b+Math.imul(T,pe)|0)+Math.imul(w,ie)|0,f=f+Math.imul(w,pe)|0,n=n+Math.imul(l,ye)|0,b=(b=b+Math.imul(l,re)|0)+Math.imul(o,ye)|0,f=f+Math.imul(o,re)|0;var Ce=(p+(n=n+Math.imul(y,le)|0)|0)+((8191&(b=(b=b+Math.imul(y,oe)|0)+Math.imul(r,le)|0))<<13)|0;p=((f=f+Math.imul(r,oe)|0)+(b>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(K,W),b=(b=Math.imul(K,H))+Math.imul(L,W)|0,f=Math.imul(L,H),n=n+Math.imul(I,X)|0,b=(b=b+Math.imul(I,Z)|0)+Math.imul(N,X)|0,f=f+Math.imul(N,Z)|0,n=n+Math.imul(R,G)|0,b=(b=b+Math.imul(R,$)|0)+Math.imul(B,G)|0,f=f+Math.imul(B,$)|0,n=n+Math.imul(_,J)|0,b=(b=b+Math.imul(_,ee)|0)+Math.imul(k,J)|0,f=f+Math.imul(k,ee)|0,n=n+Math.imul(E,te)|0,b=(b=b+Math.imul(E,ne)|0)+Math.imul(S,te)|0,f=f+Math.imul(S,ne)|0,n=n+Math.imul(g,fe)|0,b=(b=b+Math.imul(g,de)|0)+Math.imul(A,fe)|0,f=f+Math.imul(A,de)|0,n=n+Math.imul(v,ie)|0,b=(b=b+Math.imul(v,pe)|0)+Math.imul(x,ie)|0,f=f+Math.imul(x,pe)|0,n=n+Math.imul(T,ye)|0,b=(b=b+Math.imul(T,re)|0)+Math.imul(w,ye)|0,f=f+Math.imul(w,re)|0;var Ee=(p+(n=n+Math.imul(l,le)|0)|0)+((8191&(b=(b=b+Math.imul(l,oe)|0)+Math.imul(o,le)|0))<<13)|0;p=((f=f+Math.imul(o,oe)|0)+(b>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(K,X),b=(b=Math.imul(K,Z))+Math.imul(L,X)|0,f=Math.imul(L,Z),n=n+Math.imul(I,G)|0,b=(b=b+Math.imul(I,$)|0)+Math.imul(N,G)|0,f=f+Math.imul(N,$)|0,n=n+Math.imul(R,J)|0,b=(b=b+Math.imul(R,ee)|0)+Math.imul(B,J)|0,f=f+Math.imul(B,ee)|0,n=n+Math.imul(_,te)|0,b=(b=b+Math.imul(_,ne)|0)+Math.imul(k,te)|0,f=f+Math.imul(k,ne)|0,n=n+Math.imul(E,fe)|0,b=(b=b+Math.imul(E,de)|0)+Math.imul(S,fe)|0,f=f+Math.imul(S,de)|0,n=n+Math.imul(g,ie)|0,b=(b=b+Math.imul(g,pe)|0)+Math.imul(A,ie)|0,f=f+Math.imul(A,pe)|0,n=n+Math.imul(v,ye)|0,b=(b=b+Math.imul(v,re)|0)+Math.imul(x,ye)|0,f=f+Math.imul(x,re)|0;var Se=(p+(n=n+Math.imul(T,le)|0)|0)+((8191&(b=(b=b+Math.imul(T,oe)|0)+Math.imul(w,le)|0))<<13)|0;p=((f=f+Math.imul(w,oe)|0)+(b>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(K,G),b=(b=Math.imul(K,$))+Math.imul(L,G)|0,f=Math.imul(L,$),n=n+Math.imul(I,J)|0,b=(b=b+Math.imul(I,ee)|0)+Math.imul(N,J)|0,f=f+Math.imul(N,ee)|0,n=n+Math.imul(R,te)|0,b=(b=b+Math.imul(R,ne)|0)+Math.imul(B,te)|0,f=f+Math.imul(B,ne)|0,n=n+Math.imul(_,fe)|0,b=(b=b+Math.imul(_,de)|0)+Math.imul(k,fe)|0,f=f+Math.imul(k,de)|0,n=n+Math.imul(E,ie)|0,b=(b=b+Math.imul(E,pe)|0)+Math.imul(S,ie)|0,f=f+Math.imul(S,pe)|0,n=n+Math.imul(g,ye)|0,b=(b=b+Math.imul(g,re)|0)+Math.imul(A,ye)|0,f=f+Math.imul(A,re)|0;var De=(p+(n=n+Math.imul(v,le)|0)|0)+((8191&(b=(b=b+Math.imul(v,oe)|0)+Math.imul(x,le)|0))<<13)|0;p=((f=f+Math.imul(x,oe)|0)+(b>>>13)|0)+(De>>>26)|0,De&=67108863,n=Math.imul(K,J),b=(b=Math.imul(K,ee))+Math.imul(L,J)|0,f=Math.imul(L,ee),n=n+Math.imul(I,te)|0,b=(b=b+Math.imul(I,ne)|0)+Math.imul(N,te)|0,f=f+Math.imul(N,ne)|0,n=n+Math.imul(R,fe)|0,b=(b=b+Math.imul(R,de)|0)+Math.imul(B,fe)|0,f=f+Math.imul(B,de)|0,n=n+Math.imul(_,ie)|0,b=(b=b+Math.imul(_,pe)|0)+Math.imul(k,ie)|0,f=f+Math.imul(k,pe)|0,n=n+Math.imul(E,ye)|0,b=(b=b+Math.imul(E,re)|0)+Math.imul(S,ye)|0,f=f+Math.imul(S,re)|0;var _e=(p+(n=n+Math.imul(g,le)|0)|0)+((8191&(b=(b=b+Math.imul(g,oe)|0)+Math.imul(A,le)|0))<<13)|0;p=((f=f+Math.imul(A,oe)|0)+(b>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(K,te),b=(b=Math.imul(K,ne))+Math.imul(L,te)|0,f=Math.imul(L,ne),n=n+Math.imul(I,fe)|0,b=(b=b+Math.imul(I,de)|0)+Math.imul(N,fe)|0,f=f+Math.imul(N,de)|0,n=n+Math.imul(R,ie)|0,b=(b=b+Math.imul(R,pe)|0)+Math.imul(B,ie)|0,f=f+Math.imul(B,pe)|0,n=n+Math.imul(_,ye)|0,b=(b=b+Math.imul(_,re)|0)+Math.imul(k,ye)|0,f=f+Math.imul(k,re)|0;var ke=(p+(n=n+Math.imul(E,le)|0)|0)+((8191&(b=(b=b+Math.imul(E,oe)|0)+Math.imul(S,le)|0))<<13)|0;p=((f=f+Math.imul(S,oe)|0)+(b>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(K,fe),b=(b=Math.imul(K,de))+Math.imul(L,fe)|0,f=Math.imul(L,de),n=n+Math.imul(I,ie)|0,b=(b=b+Math.imul(I,pe)|0)+Math.imul(N,ie)|0,f=f+Math.imul(N,pe)|0,n=n+Math.imul(R,ye)|0,b=(b=b+Math.imul(R,re)|0)+Math.imul(B,ye)|0,f=f+Math.imul(B,re)|0;var Fe=(p+(n=n+Math.imul(_,le)|0)|0)+((8191&(b=(b=b+Math.imul(_,oe)|0)+Math.imul(k,le)|0))<<13)|0;p=((f=f+Math.imul(k,oe)|0)+(b>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(K,ie),b=(b=Math.imul(K,pe))+Math.imul(L,ie)|0,f=Math.imul(L,pe),n=n+Math.imul(I,ye)|0,b=(b=b+Math.imul(I,re)|0)+Math.imul(N,ye)|0,f=f+Math.imul(N,re)|0;var Re=(p+(n=n+Math.imul(R,le)|0)|0)+((8191&(b=(b=b+Math.imul(R,oe)|0)+Math.imul(B,le)|0))<<13)|0;p=((f=f+Math.imul(B,oe)|0)+(b>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(K,ye),b=(b=Math.imul(K,re))+Math.imul(L,ye)|0,f=Math.imul(L,re);var Be=(p+(n=n+Math.imul(I,le)|0)|0)+((8191&(b=(b=b+Math.imul(I,oe)|0)+Math.imul(N,le)|0))<<13)|0;p=((f=f+Math.imul(N,oe)|0)+(b>>>13)|0)+(Be>>>26)|0,Be&=67108863;var Oe=(p+(n=Math.imul(K,le))|0)+((8191&(b=(b=Math.imul(K,oe))+Math.imul(L,le)|0))<<13)|0;return p=((f=Math.imul(L,oe))+(b>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,i[0]=me,i[1]=Te,i[2]=we,i[3]=he,i[4]=ve,i[5]=xe,i[6]=Me,i[7]=ge,i[8]=Ae,i[9]=Ce,i[10]=Ee,i[11]=Se,i[12]=De,i[13]=_e,i[14]=ke,i[15]=Fe,i[16]=Re,i[17]=Be,i[18]=Oe,0!==p&&(i[19]=p,t.length++),t};function o(e,a,t){return(new m).mulp(e,a,t)}function m(e,a){this.x=e,this.y=a}Math.imul||(l=c),f.prototype.mulTo=function(e,a){var t=this.length+e.length;return 10===this.length&&10===e.length?l(this,e,a):t<63?c(this,e,a):t<1024?function(e,a,t){t.negative=a.negative^e.negative,t.length=e.length+a.length;for(var n=0,b=0,f=0;f<t.length-1;f++){var d=b;b=0;for(var s=67108863&n,i=Math.min(f,a.length-1),p=Math.max(0,f-e.length+1);p<=i;p++){var u=f-p,y=(0|e.words[u])*(0|a.words[p]),r=67108863&y;s=67108863&(r=r+s|0),b+=(d=(d=d+(y/67108864|0)|0)+(r>>>26)|0)>>>26,d&=67108863}t.words[f]=s,n=d,d=b}return 0!==n?t.words[f]=n:t.length--,t.strip()}(this,e,a):o(this,e,a)},m.prototype.makeRBT=function(e){for(var a=new Array(e),t=f.prototype._countBits(e)-1,n=0;n<e;n++)a[n]=this.revBin(n,t,e);return a},m.prototype.revBin=function(e,a,t){if(0===e||e===t-1)return e;for(var n=0,b=0;b<a;b++)n|=(1&e)<<a-b-1,e>>=1;return n},m.prototype.permute=function(e,a,t,n,b,f){for(var d=0;d<f;d++)n[d]=a[e[d]],b[d]=t[e[d]]},m.prototype.transform=function(e,a,t,n,b,f){this.permute(f,e,a,t,n,b);for(var d=1;d<b;d<<=1)for(var s=d<<1,i=Math.cos(2*Math.PI/s),p=Math.sin(2*Math.PI/s),u=0;u<b;u+=s)for(var y=i,r=p,c=0;c<d;c++){var l=t[u+c],o=n[u+c],m=t[u+c+d],T=n[u+c+d],w=y*m-r*T;T=y*T+r*m,m=w,t[u+c]=l+m,n[u+c]=o+T,t[u+c+d]=l-m,n[u+c+d]=o-T,c!==s&&(w=i*y-p*r,r=i*r+p*y,y=w)}},m.prototype.guessLen13b=function(e,a){var t=1|Math.max(a,e),n=1&t,b=0;for(t=t/2|0;t;t>>>=1)b++;return 1<<b+1+n},m.prototype.conjugate=function(e,a,t){if(!(t<=1))for(var n=0;n<t/2;n++){var b=e[n];e[n]=e[t-n-1],e[t-n-1]=b,b=a[n],a[n]=-a[t-n-1],a[t-n-1]=-b}},m.prototype.normalize13b=function(e,a){for(var t=0,n=0;n<a/2;n++){var b=8192*Math.round(e[2*n+1]/a)+Math.round(e[2*n]/a)+t;e[n]=67108863&b,t=b<67108864?0:b/67108864|0}return e},m.prototype.convert13b=function(e,a,t,b){for(var f=0,d=0;d<a;d++)f+=0|e[d],t[2*d]=8191&f,f>>>=13,t[2*d+1]=8191&f,f>>>=13;for(d=2*a;d<b;++d)t[d]=0;n(0===f),n(0==(-8192&f))},m.prototype.stub=function(e){for(var a=new Array(e),t=0;t<e;t++)a[t]=0;return a},m.prototype.mulp=function(e,a,t){var n=2*this.guessLen13b(e.length,a.length),b=this.makeRBT(n),f=this.stub(n),d=new Array(n),s=new Array(n),i=new Array(n),p=new Array(n),u=new Array(n),y=new Array(n),r=t.words;r.length=n,this.convert13b(e.words,e.length,d,n),this.convert13b(a.words,a.length,p,n),this.transform(d,f,s,i,n,b),this.transform(p,f,u,y,n,b);for(var c=0;c<n;c++){var l=s[c]*u[c]-i[c]*y[c];i[c]=s[c]*y[c]+i[c]*u[c],s[c]=l}return this.conjugate(s,i,n),this.transform(s,i,r,f,n,b),this.conjugate(r,f,n),this.normalize13b(r,n),t.negative=e.negative^a.negative,t.length=e.length+a.length,t.strip()},f.prototype.mul=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),this.mulTo(e,a)},f.prototype.mulf=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),o(this,e,a)},f.prototype.imul=function(e){return this.clone().mulTo(e,this)},f.prototype.imuln=function(e){n("number"==typeof e),n(e<67108864);for(var a=0,t=0;t<this.length;t++){var b=(0|this.words[t])*e,f=(67108863&b)+(67108863&a);a>>=26,a+=b/67108864|0,a+=f>>>26,this.words[t]=67108863&f}return 0!==a&&(this.words[t]=a,this.length++),this},f.prototype.muln=function(e){return this.clone().imuln(e)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(e){var a=function(e){for(var a=new Array(e.bitLength()),t=0;t<a.length;t++){var n=t/26|0,b=t%26;a[t]=(e.words[n]&1<<b)>>>b}return a}(e);if(0===a.length)return new f(1);for(var t=this,n=0;n<a.length&&0===a[n];n++,t=t.sqr());if(++n<a.length)for(var b=t.sqr();n<a.length;n++,b=b.sqr())0!==a[n]&&(t=t.mul(b));return t},f.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var a,t=e%26,b=(e-t)/26,f=67108863>>>26-t<<26-t;if(0!==t){var d=0;for(a=0;a<this.length;a++){var s=this.words[a]&f,i=(0|this.words[a])-s<<t;this.words[a]=i|d,d=s>>>26-t}d&&(this.words[a]=d,this.length++)}if(0!==b){for(a=this.length-1;a>=0;a--)this.words[a+b]=this.words[a];for(a=0;a<b;a++)this.words[a]=0;this.length+=b}return this.strip()},f.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},f.prototype.iushrn=function(e,a,t){var b;n("number"==typeof e&&e>=0),b=a?(a-a%26)/26:0;var f=e%26,d=Math.min((e-f)/26,this.length),s=67108863^67108863>>>f<<f,i=t;if(b-=d,b=Math.max(0,b),i){for(var p=0;p<d;p++)i.words[p]=this.words[p];i.length=d}if(0===d);else if(this.length>d)for(this.length-=d,p=0;p<this.length;p++)this.words[p]=this.words[p+d];else this.words[0]=0,this.length=1;var u=0;for(p=this.length-1;p>=0&&(0!==u||p>=b);p--){var y=0|this.words[p];this.words[p]=u<<26-f|y>>>f,u=y&s}return i&&0!==u&&(i.words[i.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(e,a,t){return n(0===this.negative),this.iushrn(e,a,t)},f.prototype.shln=function(e){return this.clone().ishln(e)},f.prototype.ushln=function(e){return this.clone().iushln(e)},f.prototype.shrn=function(e){return this.clone().ishrn(e)},f.prototype.ushrn=function(e){return this.clone().iushrn(e)},f.prototype.testn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26,b=1<<a;return!(this.length<=t)&&!!(this.words[t]&b)},f.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=t)return this;if(0!==a&&t++,this.length=Math.min(t,this.length),0!==a){var b=67108863^67108863>>>a<<a;this.words[this.length-1]&=b}return this.strip()},f.prototype.maskn=function(e){return this.clone().imaskn(e)},f.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},f.prototype._iaddn=function(e){this.words[0]+=e;for(var a=0;a<this.length&&this.words[a]>=67108864;a++)this.words[a]-=67108864,a===this.length-1?this.words[a+1]=1:this.words[a+1]++;return this.length=Math.max(this.length,a+1),this},f.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var a=0;a<this.length&&this.words[a]<0;a++)this.words[a]+=67108864,this.words[a+1]-=1;return this.strip()},f.prototype.addn=function(e){return this.clone().iaddn(e)},f.prototype.subn=function(e){return this.clone().isubn(e)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(e,a,t){var b,f,d=e.length+t;this._expand(d);var s=0;for(b=0;b<e.length;b++){f=(0|this.words[b+t])+s;var i=(0|e.words[b])*a;s=((f-=67108863&i)>>26)-(i/67108864|0),this.words[b+t]=67108863&f}for(;b<this.length-t;b++)s=(f=(0|this.words[b+t])+s)>>26,this.words[b+t]=67108863&f;if(0===s)return this.strip();for(n(-1===s),s=0,b=0;b<this.length;b++)s=(f=-(0|this.words[b])+s)>>26,this.words[b]=67108863&f;return this.negative=1,this.strip()},f.prototype._wordDiv=function(e,a){var t=(this.length,e.length),n=this.clone(),b=e,d=0|b.words[b.length-1];0!==(t=26-this._countBits(d))&&(b=b.ushln(t),n.iushln(t),d=0|b.words[b.length-1]);var s,i=n.length-b.length;if("mod"!==a){(s=new f(null)).length=i+1,s.words=new Array(s.length);for(var p=0;p<s.length;p++)s.words[p]=0}var u=n.clone()._ishlnsubmul(b,1,i);0===u.negative&&(n=u,s&&(s.words[i]=1));for(var y=i-1;y>=0;y--){var r=67108864*(0|n.words[b.length+y])+(0|n.words[b.length+y-1]);for(r=Math.min(r/d|0,67108863),n._ishlnsubmul(b,r,y);0!==n.negative;)r--,n.negative=0,n._ishlnsubmul(b,1,y),n.isZero()||(n.negative^=1);s&&(s.words[y]=r)}return s&&s.strip(),n.strip(),"div"!==a&&0!==t&&n.iushrn(t),{div:s||null,mod:n}},f.prototype.divmod=function(e,a,t){return n(!e.isZero()),this.isZero()?{div:new f(0),mod:new f(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,a),"mod"!==a&&(b=s.div.neg()),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.iadd(e)),{div:b,mod:d}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),a),"mod"!==a&&(b=s.div.neg()),{div:b,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),a),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.isub(e)),{div:s.div,mod:d}):e.length>this.length||this.cmp(e)<0?{div:new f(0),mod:this}:1===e.length?"div"===a?{div:this.divn(e.words[0]),mod:null}:"mod"===a?{div:null,mod:new f(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new f(this.modn(e.words[0]))}:this._wordDiv(e,a);var b,d,s},f.prototype.div=function(e){return this.divmod(e,"div",!1).div},f.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},f.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},f.prototype.divRound=function(e){var a=this.divmod(e);if(a.mod.isZero())return a.div;var t=0!==a.div.negative?a.mod.isub(e):a.mod,n=e.ushrn(1),b=e.andln(1),f=t.cmp(n);return f<0||1===b&&0===f?a.div:0!==a.div.negative?a.div.isubn(1):a.div.iaddn(1)},f.prototype.modn=function(e){n(e<=67108863);for(var a=(1<<26)%e,t=0,b=this.length-1;b>=0;b--)t=(a*t+(0|this.words[b]))%e;return t},f.prototype.idivn=function(e){n(e<=67108863);for(var a=0,t=this.length-1;t>=0;t--){var b=(0|this.words[t])+67108864*a;this.words[t]=b/e|0,a=b%e}return this.strip()},f.prototype.divn=function(e){return this.clone().idivn(e)},f.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b=new f(1),d=new f(0),s=new f(0),i=new f(1),p=0;a.isEven()&&t.isEven();)a.iushrn(1),t.iushrn(1),++p;for(var u=t.clone(),y=a.clone();!a.isZero();){for(var r=0,c=1;0==(a.words[0]&c)&&r<26;++r,c<<=1);if(r>0)for(a.iushrn(r);r-- >0;)(b.isOdd()||d.isOdd())&&(b.iadd(u),d.isub(y)),b.iushrn(1),d.iushrn(1);for(var l=0,o=1;0==(t.words[0]&o)&&l<26;++l,o<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(s.isOdd()||i.isOdd())&&(s.iadd(u),i.isub(y)),s.iushrn(1),i.iushrn(1);a.cmp(t)>=0?(a.isub(t),b.isub(s),d.isub(i)):(t.isub(a),s.isub(b),i.isub(d))}return{a:s,b:i,gcd:t.iushln(p)}},f.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b,d=new f(1),s=new f(0),i=t.clone();a.cmpn(1)>0&&t.cmpn(1)>0;){for(var p=0,u=1;0==(a.words[0]&u)&&p<26;++p,u<<=1);if(p>0)for(a.iushrn(p);p-- >0;)d.isOdd()&&d.iadd(i),d.iushrn(1);for(var y=0,r=1;0==(t.words[0]&r)&&y<26;++y,r<<=1);if(y>0)for(t.iushrn(y);y-- >0;)s.isOdd()&&s.iadd(i),s.iushrn(1);a.cmp(t)>=0?(a.isub(t),d.isub(s)):(t.isub(a),s.isub(d))}return(b=0===a.cmpn(1)?d:s).cmpn(0)<0&&b.iadd(e),b},f.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var a=this.clone(),t=e.clone();a.negative=0,t.negative=0;for(var n=0;a.isEven()&&t.isEven();n++)a.iushrn(1),t.iushrn(1);for(;;){for(;a.isEven();)a.iushrn(1);for(;t.isEven();)t.iushrn(1);var b=a.cmp(t);if(b<0){var f=a;a=t,t=f}else if(0===b||0===t.cmpn(1))break;a.isub(t)}return t.iushln(n)},f.prototype.invm=function(e){return this.egcd(e).a.umod(e)},f.prototype.isEven=function(){return 0==(1&this.words[0])},f.prototype.isOdd=function(){return 1==(1&this.words[0])},f.prototype.andln=function(e){return this.words[0]&e},f.prototype.bincn=function(e){n("number"==typeof e);var a=e%26,t=(e-a)/26,b=1<<a;if(this.length<=t)return this._expand(t+1),this.words[t]|=b,this;for(var f=b,d=t;0!==f&&d<this.length;d++){var s=0|this.words[d];f=(s+=f)>>>26,s&=67108863,this.words[d]=s}return 0!==f&&(this.words[d]=f,this.length++),this},f.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},f.prototype.cmpn=function(e){var a,t=e<0;if(0!==this.negative&&!t)return-1;if(0===this.negative&&t)return 1;if(this.strip(),this.length>1)a=1;else{t&&(e=-e),n(e<=67108863,"Number is too big");var b=0|this.words[0];a=b===e?0:b<e?-1:1}return 0!==this.negative?0|-a:a},f.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var a=this.ucmp(e);return 0!==this.negative?0|-a:a},f.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var a=0,t=this.length-1;t>=0;t--){var n=0|this.words[t],b=0|e.words[t];if(n!==b){n<b?a=-1:n>b&&(a=1);break}}return a},f.prototype.gtn=function(e){return 1===this.cmpn(e)},f.prototype.gt=function(e){return 1===this.cmp(e)},f.prototype.gten=function(e){return this.cmpn(e)>=0},f.prototype.gte=function(e){return this.cmp(e)>=0},f.prototype.ltn=function(e){return-1===this.cmpn(e)},f.prototype.lt=function(e){return-1===this.cmp(e)},f.prototype.lten=function(e){return this.cmpn(e)<=0},f.prototype.lte=function(e){return this.cmp(e)<=0},f.prototype.eqn=function(e){return 0===this.cmpn(e)},f.prototype.eq=function(e){return 0===this.cmp(e)},f.red=function(e){return new g(e)},f.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},f.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(e){return this.red=e,this},f.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},f.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},f.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},f.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},f.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},f.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},f.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},f.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},f.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var T={k256:null,p224:null,p192:null,p25519:null};function w(e,a){this.name=e,this.p=new f(a,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function h(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function v(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function x(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function g(e){if("string"==typeof e){var a=f._prime(e);this.m=a.p,this.prime=a}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function A(e){g.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new f(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var e=new f(null);return e.words=new Array(Math.ceil(this.n/13)),e},w.prototype.ireduce=function(e){var a,t=e;do{this.split(t,this.tmp),a=(t=(t=this.imulK(t)).iadd(this.tmp)).bitLength()}while(a>this.n);var n=a<this.n?-1:t.ucmp(this.p);return 0===n?(t.words[0]=0,t.length=1):n>0?t.isub(this.p):void 0!==t.strip?t.strip():t._strip(),t},w.prototype.split=function(e,a){e.iushrn(this.n,0,a)},w.prototype.imulK=function(e){return e.imul(this.k)},b(h,w),h.prototype.split=function(e,a){for(var t=Math.min(e.length,9),n=0;n<t;n++)a.words[n]=e.words[n];if(a.length=t,e.length<=9)return e.words[0]=0,void(e.length=1);var b=e.words[9];for(a.words[a.length++]=4194303&b,n=10;n<e.length;n++){var f=0|e.words[n];e.words[n-10]=(4194303&f)<<4|b>>>22,b=f}b>>>=22,e.words[n-10]=b,0===b&&e.length>10?e.length-=10:e.length-=9},h.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var a=0,t=0;t<e.length;t++){var n=0|e.words[t];a+=977*n,e.words[t]=67108863&a,a=64*n+(a/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},b(v,w),b(x,w),b(M,w),M.prototype.imulK=function(e){for(var a=0,t=0;t<e.length;t++){var n=19*(0|e.words[t])+a,b=67108863&n;n>>>=26,e.words[t]=b,a=n}return 0!==a&&(e.words[e.length++]=a),e},f._prime=function(e){if(T[e])return T[e];var a;if("k256"===e)a=new h;else if("p224"===e)a=new v;else if("p192"===e)a=new x;else{if("p25519"!==e)throw new Error("Unknown prime "+e);a=new M}return T[e]=a,a},g.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},g.prototype._verify2=function(e,a){n(0==(e.negative|a.negative),"red works only with positives"),n(e.red&&e.red===a.red,"red works only with red numbers")},g.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},g.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},g.prototype.add=function(e,a){this._verify2(e,a);var t=e.add(a);return t.cmp(this.m)>=0&&t.isub(this.m),t._forceRed(this)},g.prototype.iadd=function(e,a){this._verify2(e,a);var t=e.iadd(a);return t.cmp(this.m)>=0&&t.isub(this.m),t},g.prototype.sub=function(e,a){this._verify2(e,a);var t=e.sub(a);return t.cmpn(0)<0&&t.iadd(this.m),t._forceRed(this)},g.prototype.isub=function(e,a){this._verify2(e,a);var t=e.isub(a);return t.cmpn(0)<0&&t.iadd(this.m),t},g.prototype.shl=function(e,a){return this._verify1(e),this.imod(e.ushln(a))},g.prototype.imul=function(e,a){return this._verify2(e,a),this.imod(e.imul(a))},g.prototype.mul=function(e,a){return this._verify2(e,a),this.imod(e.mul(a))},g.prototype.isqr=function(e){return this.imul(e,e.clone())},g.prototype.sqr=function(e){return this.mul(e,e)},g.prototype.sqrt=function(e){if(e.isZero())return e.clone();var a=this.m.andln(3);if(n(a%2==1),3===a){var t=this.m.add(new f(1)).iushrn(2);return this.pow(e,t)}for(var b=this.m.subn(1),d=0;!b.isZero()&&0===b.andln(1);)d++,b.iushrn(1);n(!b.isZero());var s=new f(1).toRed(this),i=s.redNeg(),p=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new f(2*u*u).toRed(this);0!==this.pow(u,p).cmp(i);)u.redIAdd(i);for(var y=this.pow(u,b),r=this.pow(e,b.addn(1).iushrn(1)),c=this.pow(e,b),l=d;0!==c.cmp(s);){for(var o=c,m=0;0!==o.cmp(s);m++)o=o.redSqr();n(m<l);var T=this.pow(y,new f(1).iushln(l-m-1));r=r.redMul(T),y=T.redSqr(),c=c.redMul(y),l=m}return r},g.prototype.invm=function(e){var a=e._invmp(this.m);return 0!==a.negative?(a.negative=0,this.imod(a).redNeg()):this.imod(a)},g.prototype.pow=function(e,a){if(a.isZero())return new f(1).toRed(this);if(0===a.cmpn(1))return e.clone();var t=new Array(16);t[0]=new f(1).toRed(this),t[1]=e;for(var n=2;n<t.length;n++)t[n]=this.mul(t[n-1],e);var b=t[0],d=0,s=0,i=a.bitLength()%26;for(0===i&&(i=26),n=a.length-1;n>=0;n--){for(var p=a.words[n],u=i-1;u>=0;u--){var y=p>>u&1;b!==t[0]&&(b=this.sqr(b)),0!==y||0!==d?(d<<=1,d|=y,(4===++s||0===n&&0===u)&&(b=this.mul(b,t[d]),s=0,d=0)):s=0}i=26}return b},g.prototype.convertTo=function(e){var a=e.umod(this.m);return a===e?a.clone():a},g.prototype.convertFrom=function(e){var a=e.clone();return a.red=null,a},f.mont=function(e){return new A(e)},b(A,g),A.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},A.prototype.convertFrom=function(e){var a=this.imod(e.mul(this.rinv));return a.red=null,a},A.prototype.imul=function(e,a){if(e.isZero()||a.isZero())return e.words[0]=0,e.length=1,e;var t=e.imul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),f=b;return b.cmp(this.m)>=0?f=b.isub(this.m):b.cmpn(0)<0&&(f=b.iadd(this.m)),f._forceRed(this)},A.prototype.mul=function(e,a){if(e.isZero()||a.isZero())return new f(0)._forceRed(this);var t=e.mul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),d=b;return b.cmp(this.m)>=0?d=b.isub(this.m):b.cmpn(0)<0&&(d=b.iadd(this.m)),d._forceRed(this)},A.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,t(7)(e))},function(e,a){function t(e,a){if(!e)throw new Error(a||"Assertion failed")}e.exports=t,t.equal=function(e,a,t){if(e!=a)throw new Error(t||"Assertion failed: "+e+" != "+a)}},function(e,a,t){"use strict";(function(e){var n=this&&this.__values||function(e){var a="function"==typeof Symbol&&Symbol.iterator,t=a&&e[a],n=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")},b=this&&this.__read||function(e,a){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,b,f=t.call(e),d=[];try{for(;(void 0===a||a-- >0)&&!(n=f.next()).done;)d.push(n.value)}catch(e){b={error:e}}finally{try{n&&!n.done&&(t=f.return)&&t.call(f)}finally{if(b)throw b.error}}return d};Object.defineProperty(a,"__esModule",{value:!0}),a.bufArrToArr=a.arrToBufArr=a.validateNoLeadingZeroes=a.baToJSON=a.toUtf8=a.addHexPrefix=a.toUnsigned=a.fromSigned=a.bufferToHex=a.bufferToInt=a.toBuffer=a.unpadHexString=a.unpadArray=a.unpadBuffer=a.setLengthRight=a.setLengthLeft=a.zeros=a.intToBuffer=a.intToHex=void 0;var f=t(8),d=t(13),s=t(23);a.intToHex=function(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("Received an invalid integer type: ".concat(e));return"0x".concat(e.toString(16))};a.intToBuffer=function(t){var n=(0,a.intToHex)(t);return e.from((0,d.padToEven)(n.slice(2)),"hex")};a.zeros=function(a){return e.allocUnsafe(a).fill(0)};var i=function(e,t,n){var b=(0,a.zeros)(t);return n?e.length<t?(e.copy(b),b):e.slice(0,t):e.length<t?(e.copy(b,t-e.length),b):e.slice(-t)};a.setLengthLeft=function(e,a){return(0,s.assertIsBuffer)(e),i(e,a,!1)};a.setLengthRight=function(e,a){return(0,s.assertIsBuffer)(e),i(e,a,!0)};var p=function(e){for(var a=e[0];e.length>0&&"0"===a.toString();)a=(e=e.slice(1))[0];return e};a.unpadBuffer=function(e){return(0,s.assertIsBuffer)(e),p(e)};a.unpadArray=function(e){return(0,s.assertIsArray)(e),p(e)};a.unpadHexString=function(e){return(0,s.assertIsHexString)(e),e=(0,d.stripHexPrefix)(e),p(e)};a.toBuffer=function(t){if(null==t)return e.allocUnsafe(0);if(e.isBuffer(t))return e.from(t);if(Array.isArray(t)||t instanceof Uint8Array)return e.from(t);if("string"==typeof t){if(!(0,d.isHexString)(t))throw new Error("Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: ".concat(t));return e.from((0,d.padToEven)((0,d.stripHexPrefix)(t)),"hex")}if("number"==typeof t)return(0,a.intToBuffer)(t);if(f.BN.isBN(t)){if(t.isNeg())throw new Error("Cannot convert negative BN to buffer. Given: ".concat(t));return t.toArrayLike(e)}if(t.toArray)return e.from(t.toArray());if(t.toBuffer)return e.from(t.toBuffer());throw new Error("invalid type")};a.bufferToInt=function(e){return new f.BN((0,a.toBuffer)(e)).toNumber()};a.bufferToHex=function(e){return"0x"+(e=(0,a.toBuffer)(e)).toString("hex")};a.fromSigned=function(e){return new f.BN(e).fromTwos(256)};a.toUnsigned=function(a){return e.from(a.toTwos(256).toArray())};a.addHexPrefix=function(e){return"string"!=typeof e||(0,d.isHexPrefixed)(e)?e:"0x"+e};a.toUtf8=function(a){if((a=(0,d.stripHexPrefix)(a)).length%2!=0)throw new Error("Invalid non-even hex string input for toUtf8() provided");return e.from(a.replace(/^(00)+|(00)+$/g,""),"hex").toString("utf8")};a.baToJSON=function(t){if(e.isBuffer(t))return"0x".concat(t.toString("hex"));if(t instanceof Array){for(var n=[],b=0;b<t.length;b++)n.push((0,a.baToJSON)(t[b]));return n}};a.validateNoLeadingZeroes=function(e){var a,t;try{for(var f=n(Object.entries(e)),d=f.next();!d.done;d=f.next()){var s=b(d.value,2),i=s[0],p=s[1];if(void 0!==p&&p.length>0&&0===p[0])throw new Error("".concat(i," cannot have leading zeroes, received: ").concat(p.toString("hex")))}}catch(e){a={error:e}}finally{try{d&&!d.done&&(t=f.return)&&t.call(f)}finally{if(a)throw a.error}}},a.arrToBufArr=function a(t){return Array.isArray(t)?t.map((function(e){return a(e)})):e.from(t)},a.bufArrToArr=function e(a){return Array.isArray(a)?a.map((function(a){return e(a)})):Uint8Array.from(null!=a?a:[])}}).call(this,t(0).Buffer)},function(e,a,t){"use strict";var n=t(24),b=Object.keys||function(e){var a=[];for(var t in e)a.push(t);return a};e.exports=y;var f=Object.create(t(21));f.inherits=t(1);var d=t(67),s=t(37);f.inherits(y,d);for(var i=b(s.prototype),p=0;p<i.length;p++){var u=i[p];y.prototype[u]||(y.prototype[u]=s.prototype[u])}function y(e){if(!(this instanceof y))return new y(e);d.call(this,e),s.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",r)}function r(){this.allowHalfOpen||this._writableState.ended||n.nextTick(c,this)}function c(e){e.end()}Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),y.prototype._destroy=function(e,a){this.push(null),this.end(),n.nextTick(a,e)}},function(e,a,t){"use strict";(function(e){function t(e){if("string"!=typeof e)throw new Error("[isHexPrefixed] input must be type 'string', received type ".concat(typeof e));return"0"===e[0]&&"x"===e[1]}Object.defineProperty(a,"__esModule",{value:!0}),a.isHexString=a.getKeys=a.fromAscii=a.fromUtf8=a.toAscii=a.arrayContainsArray=a.getBinarySize=a.padToEven=a.stripHexPrefix=a.isHexPrefixed=void 0,a.isHexPrefixed=t;function n(e){var a=e;if("string"!=typeof a)throw new Error("[padToEven] value must be type 'string', received ".concat(typeof a));return a.length%2&&(a="0".concat(a)),a}a.stripHexPrefix=function(e){if("string"!=typeof e)throw new Error("[stripHexPrefix] input must be type 'string', received ".concat(typeof e));return t(e)?e.slice(2):e},a.padToEven=n,a.getBinarySize=function(a){if("string"!=typeof a)throw new Error("[getBinarySize] method requires input type 'string', recieved ".concat(typeof a));return e.byteLength(a,"utf8")},a.arrayContainsArray=function(e,a,t){if(!0!==Array.isArray(e))throw new Error("[arrayContainsArray] method requires input 'superset' to be an array, got type '".concat(typeof e,"'"));if(!0!==Array.isArray(a))throw new Error("[arrayContainsArray] method requires input 'subset' to be an array, got type '".concat(typeof a,"'"));return a[t?"some":"every"]((function(a){return e.indexOf(a)>=0}))},a.toAscii=function(e){var a="",t=0,n=e.length;for("0x"===e.substring(0,2)&&(t=2);t<n;t+=2){var b=parseInt(e.substr(t,2),16);a+=String.fromCharCode(b)}return a},a.fromUtf8=function(a){var t=e.from(a,"utf8");return"0x".concat(n(t.toString("hex")).replace(/^0+|0+$/g,""))},a.fromAscii=function(e){for(var a="",t=0;t<e.length;t++){var n=e.charCodeAt(t).toString(16);a+=n.length<2?"0".concat(n):n}return"0x".concat(a)},a.getKeys=function(e,a,t){if(!Array.isArray(e))throw new Error("[getKeys] method expects input 'params' to be an array, got ".concat(typeof e));if("string"!=typeof a)throw new Error("[getKeys] method expects input 'key' to be type 'string', got ".concat(typeof e));for(var n=[],b=0;b<e.length;b++){var f=e[b][a];if(t&&!f)f="";else if("string"!=typeof f)throw new Error("invalid abi - expected type 'string', received ".concat(typeof f));n.push(f)}return n},a.isHexString=function(e,a){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/))&&(!a||e.length===2+2*a)}}).call(this,t(0).Buffer)},function(e,a,t){"use strict";var n={};function b(e,a,t){t||(t=Error);var b=function(e){var t,n;function b(t,n,b){return e.call(this,function(e,t,n){return"string"==typeof a?a:a(e,t,n)}(t,n,b))||this}return n=e,(t=b).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,b}(t);b.prototype.name=t.name,b.prototype.code=e,n[e]=b}function f(e,a){if(Array.isArray(e)){var t=e.length;return e=e.map((function(e){return String(e)})),t>2?"one of ".concat(a," ").concat(e.slice(0,t-1).join(", "),", or ")+e[t-1]:2===t?"one of ".concat(a," ").concat(e[0]," or ").concat(e[1]):"of ".concat(a," ").concat(e[0])}return"of ".concat(a," ").concat(String(e))}b("ERR_INVALID_OPT_VALUE",(function(e,a){return'The value "'+a+'" is invalid for option "'+e+'"'}),TypeError),b("ERR_INVALID_ARG_TYPE",(function(e,a,t){var n,b,d,s;if("string"==typeof a&&(b="not ",a.substr(!d||d<0?0:+d,b.length)===b)?(n="must not be",a=a.replace(/^not /,"")):n="must be",function(e,a,t){return(void 0===t||t>e.length)&&(t=e.length),e.substring(t-a.length,t)===a}(e," argument"))s="The ".concat(e," ").concat(n," ").concat(f(a,"type"));else{var i=function(e,a,t){return"number"!=typeof t&&(t=0),!(t+a.length>e.length)&&-1!==e.indexOf(a,t)}(e,".")?"property":"argument";s='The "'.concat(e,'" ').concat(i," ").concat(n," ").concat(f(a,"type"))}return s+=". Received type ".concat(typeof t)}),TypeError),b("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),b("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),b("ERR_STREAM_PREMATURE_CLOSE","Premature close"),b("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),b("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),b("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),b("ERR_STREAM_WRITE_AFTER_END","write after end"),b("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),b("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),b("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=n},function(e,a,t){"use strict";(function(a){var n=Object.keys||function(e){var a=[];for(var t in e)a.push(t);return a};e.exports=p;var b=t(57),f=t(61);t(1)(p,b);for(var d=n(f.prototype),s=0;s<d.length;s++){var i=d[s];p.prototype[i]||(p.prototype[i]=f.prototype[i])}function p(e){if(!(this instanceof p))return new p(e);b.call(this,e),f.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",u)))}function u(){this._writableState.ended||a.nextTick(y,this)}function y(e){e.end()}Object.defineProperty(p.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(p.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(p.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(p.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}})}).call(this,t(3))},function(e,a,t){var n=t(5).Buffer;function b(e,a){this._block=n.alloc(e),this._finalSize=a,this._blockSize=e,this._len=0}b.prototype.update=function(e,a){"string"==typeof e&&(a=a||"utf8",e=n.from(e,a));for(var t=this._block,b=this._blockSize,f=e.length,d=this._len,s=0;s<f;){for(var i=d%b,p=Math.min(f-s,b-i),u=0;u<p;u++)t[i+u]=e[s+u];s+=p,(d+=p)%b==0&&this._update(t)}return this._len+=f,this},b.prototype.digest=function(e){var a=this._len%this._blockSize;this._block[a]=128,this._block.fill(0,a+1),a>=this._finalSize&&(this._update(this._block),this._block.fill(0));var t=8*this._len;if(t<=4294967295)this._block.writeUInt32BE(t,this._blockSize-4);else{var n=(4294967295&t)>>>0,b=(t-n)/4294967296;this._block.writeUInt32BE(b,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var f=this._hash();return e?f.toString(e):f},b.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=b},,function(e,a,t){"use strict";var n=t(6),b=t(10);function f(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}a.BlockHash=f,f.prototype.update=function(e,a){if(e=n.toArray(e,a),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var t=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-t,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-t,this.endian);for(var b=0;b<e.length;b+=this._delta32)this._update(e,b,b+this._delta32)}return this},f.prototype.digest=function(e){return this.update(this._pad()),b(null===this.pending),this._digest(e)},f.prototype._pad=function(){var e=this.pendingTotal,a=this._delta8,t=a-(e+this.padLength)%a,n=new Array(t+this.padLength);n[0]=128;for(var b=1;b<t;b++)n[b]=0;if(e<<=3,"big"===this.endian){for(var f=8;f<this.padLength;f++)n[b++]=0;n[b++]=0,n[b++]=0,n[b++]=0,n[b++]=0,n[b++]=e>>>24&255,n[b++]=e>>>16&255,n[b++]=e>>>8&255,n[b++]=255&e}else for(n[b++]=255&e,n[b++]=e>>>8&255,n[b++]=e>>>16&255,n[b++]=e>>>24&255,n[b++]=0,n[b++]=0,n[b++]=0,n[b++]=0,f=8;f<this.padLength;f++)n[b++]=0;return n}},function(e,a,t){"use strict";var n,b="object"==typeof Reflect?Reflect:null,f=b&&"function"==typeof b.apply?b.apply:function(e,a,t){return Function.prototype.apply.call(e,a,t)};n=b&&"function"==typeof b.ownKeys?b.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var d=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(e,a){return new Promise((function(t,n){function b(t){e.removeListener(a,f),n(t)}function f(){"function"==typeof e.removeListener&&e.removeListener("error",b),t([].slice.call(arguments))}T(e,a,f,{once:!0}),"error"!==a&&function(e,a,t){"function"==typeof e.on&&T(e,"error",a,t)}(e,b,{once:!0})}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var i=10;function p(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function y(e,a,t,n){var b,f,d,s;if(p(t),void 0===(f=e._events)?(f=e._events=Object.create(null),e._eventsCount=0):(void 0!==f.newListener&&(e.emit("newListener",a,t.listener?t.listener:t),f=e._events),d=f[a]),void 0===d)d=f[a]=t,++e._eventsCount;else if("function"==typeof d?d=f[a]=n?[t,d]:[d,t]:n?d.unshift(t):d.push(t),(b=u(e))>0&&d.length>b&&!d.warned){d.warned=!0;var i=new Error("Possible EventEmitter memory leak detected. "+d.length+" "+String(a)+" listeners added. Use emitter.setMaxListeners() to increase limit");i.name="MaxListenersExceededWarning",i.emitter=e,i.type=a,i.count=d.length,s=i,console&&console.warn&&console.warn(s)}return e}function r(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function c(e,a,t){var n={fired:!1,wrapFn:void 0,target:e,type:a,listener:t},b=r.bind(n);return b.listener=t,n.wrapFn=b,b}function l(e,a,t){var n=e._events;if(void 0===n)return[];var b=n[a];return void 0===b?[]:"function"==typeof b?t?[b.listener||b]:[b]:t?function(e){for(var a=new Array(e.length),t=0;t<a.length;++t)a[t]=e[t].listener||e[t];return a}(b):m(b,b.length)}function o(e){var a=this._events;if(void 0!==a){var t=a[e];if("function"==typeof t)return 1;if(void 0!==t)return t.length}return 0}function m(e,a){for(var t=new Array(a),n=0;n<a;++n)t[n]=e[n];return t}function T(e,a,t,n){if("function"==typeof e.on)n.once?e.once(a,t):e.on(a,t);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(a,(function b(f){n.once&&e.removeEventListener(a,b),t(f)}))}}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(e){if("number"!=typeof e||e<0||d(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");i=e}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||d(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(e){for(var a=[],t=1;t<arguments.length;t++)a.push(arguments[t]);var n="error"===e,b=this._events;if(void 0!==b)n=n&&void 0===b.error;else if(!n)return!1;if(n){var d;if(a.length>0&&(d=a[0]),d instanceof Error)throw d;var s=new Error("Unhandled error."+(d?" ("+d.message+")":""));throw s.context=d,s}var i=b[e];if(void 0===i)return!1;if("function"==typeof i)f(i,this,a);else{var p=i.length,u=m(i,p);for(t=0;t<p;++t)f(u[t],this,a)}return!0},s.prototype.addListener=function(e,a){return y(this,e,a,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,a){return y(this,e,a,!0)},s.prototype.once=function(e,a){return p(a),this.on(e,c(this,e,a)),this},s.prototype.prependOnceListener=function(e,a){return p(a),this.prependListener(e,c(this,e,a)),this},s.prototype.removeListener=function(e,a){var t,n,b,f,d;if(p(a),void 0===(n=this._events))return this;if(void 0===(t=n[e]))return this;if(t===a||t.listener===a)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,t.listener||a));else if("function"!=typeof t){for(b=-1,f=t.length-1;f>=0;f--)if(t[f]===a||t[f].listener===a){d=t[f].listener,b=f;break}if(b<0)return this;0===b?t.shift():function(e,a){for(;a+1<e.length;a++)e[a]=e[a+1];e.pop()}(t,b),1===t.length&&(n[e]=t[0]),void 0!==n.removeListener&&this.emit("removeListener",e,d||a)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var a,t,n;if(void 0===(t=this._events))return this;if(void 0===t.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==t[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete t[e]),this;if(0===arguments.length){var b,f=Object.keys(t);for(n=0;n<f.length;++n)"removeListener"!==(b=f[n])&&this.removeAllListeners(b);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(a=t[e]))this.removeListener(e,a);else if(void 0!==a)for(n=a.length-1;n>=0;n--)this.removeListener(e,a[n]);return this},s.prototype.listeners=function(e){return l(this,e,!0)},s.prototype.rawListeners=function(e){return l(this,e,!1)},s.listenerCount=function(e,a){return"function"==typeof e.listenerCount?e.listenerCount(a):o.call(e,a)},s.prototype.listenerCount=o,s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,a,t){"use strict";var n=t(133).Buffer,b=n.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function f(e){var a;switch(this.encoding=function(e){var a=function(e){if(!e)return"utf8";for(var a;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(a)return;e=(""+e).toLowerCase(),a=!0}}(e);if("string"!=typeof a&&(n.isEncoding===b||!b(e)))throw new Error("Unknown encoding: "+e);return a||e}(e),this.encoding){case"utf16le":this.text=i,this.end=p,a=4;break;case"utf8":this.fillLast=s,a=4;break;case"base64":this.text=u,this.end=y,a=3;break;default:return this.write=r,void(this.end=c)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(a)}function d(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var a=this.lastTotal-this.lastNeed,t=function(e,a,t){if(128!=(192&a[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&a.length>1){if(128!=(192&a[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&a.length>2&&128!=(192&a[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==t?t:this.lastNeed<=e.length?(e.copy(this.lastChar,a,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,a,0,e.length),void(this.lastNeed-=e.length))}function i(e,a){if((e.length-a)%2==0){var t=e.toString("utf16le",a);if(t){var n=t.charCodeAt(t.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",a,e.length-1)}function p(e){var a=e&&e.length?this.write(e):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return a+this.lastChar.toString("utf16le",0,t)}return a}function u(e,a){var t=(e.length-a)%3;return 0===t?e.toString("base64",a):(this.lastNeed=3-t,this.lastTotal=3,1===t?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",a,e.length-t))}function y(e){var a=e&&e.length?this.write(e):"";return this.lastNeed?a+this.lastChar.toString("base64",0,3-this.lastNeed):a}function r(e){return e.toString(this.encoding)}function c(e){return e&&e.length?this.write(e):""}a.StringDecoder=f,f.prototype.write=function(e){if(0===e.length)return"";var a,t;if(this.lastNeed){if(void 0===(a=this.fillLast(e)))return"";t=this.lastNeed,this.lastNeed=0}else t=0;return t<e.length?a?a+this.text(e,t):this.text(e,t):a||""},f.prototype.end=function(e){var a=e&&e.length?this.write(e):"";return this.lastNeed?a+"�":a},f.prototype.text=function(e,a){var t=function(e,a,t){var n=a.length-1;if(n<t)return 0;var b=d(a[n]);if(b>=0)return b>0&&(e.lastNeed=b-1),b;if(--n<t||-2===b)return 0;if((b=d(a[n]))>=0)return b>0&&(e.lastNeed=b-2),b;if(--n<t||-2===b)return 0;if((b=d(a[n]))>=0)return b>0&&(2===b?b=0:e.lastNeed=b-3),b;return 0}(this,e,a);if(!this.lastNeed)return e.toString("utf8",a);this.lastTotal=t;var n=e.length-(t-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",a,n)},f.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,a,t){(function(e){function t(e){return Object.prototype.toString.call(e)}a.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===t(e)},a.isBoolean=function(e){return"boolean"==typeof e},a.isNull=function(e){return null===e},a.isNullOrUndefined=function(e){return null==e},a.isNumber=function(e){return"number"==typeof e},a.isString=function(e){return"string"==typeof e},a.isSymbol=function(e){return"symbol"==typeof e},a.isUndefined=function(e){return void 0===e},a.isRegExp=function(e){return"[object RegExp]"===t(e)},a.isObject=function(e){return"object"==typeof e&&null!==e},a.isDate=function(e){return"[object Date]"===t(e)},a.isError=function(e){return"[object Error]"===t(e)||e instanceof Error},a.isFunction=function(e){return"function"==typeof e},a.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},a.isBuffer=e.isBuffer}).call(this,t(0).Buffer)},function(e,a,t){"use strict";var n=t(9),b=t(4),f=b.getNAF,d=b.getJSF,s=b.assert;function i(e,a){this.type=e,this.p=new n(a.p,16),this.red=a.prime?n.red(a.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=a.n&&new n(a.n,16),this.g=a.g&&this.pointFromJSON(a.g,a.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var t=this.n&&this.p.div(this.n);!t||t.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function p(e,a){this.curve=e,this.type=a,this.precomputed=null}e.exports=i,i.prototype.point=function(){throw new Error("Not implemented")},i.prototype.validate=function(){throw new Error("Not implemented")},i.prototype._fixedNafMul=function(e,a){s(e.precomputed);var t=e._getDoubles(),n=f(a,1,this._bitLength),b=(1<<t.step+1)-(t.step%2==0?2:1);b/=3;var d,i,p=[];for(d=0;d<n.length;d+=t.step){i=0;for(var u=d+t.step-1;u>=d;u--)i=(i<<1)+n[u];p.push(i)}for(var y=this.jpoint(null,null,null),r=this.jpoint(null,null,null),c=b;c>0;c--){for(d=0;d<p.length;d++)(i=p[d])===c?r=r.mixedAdd(t.points[d]):i===-c&&(r=r.mixedAdd(t.points[d].neg()));y=y.add(r)}return y.toP()},i.prototype._wnafMul=function(e,a){var t=4,n=e._getNAFPoints(t);t=n.wnd;for(var b=n.points,d=f(a,t,this._bitLength),i=this.jpoint(null,null,null),p=d.length-1;p>=0;p--){for(var u=0;p>=0&&0===d[p];p--)u++;if(p>=0&&u++,i=i.dblp(u),p<0)break;var y=d[p];s(0!==y),i="affine"===e.type?y>0?i.mixedAdd(b[y-1>>1]):i.mixedAdd(b[-y-1>>1].neg()):y>0?i.add(b[y-1>>1]):i.add(b[-y-1>>1].neg())}return"affine"===e.type?i.toP():i},i.prototype._wnafMulAdd=function(e,a,t,n,b){var s,i,p,u=this._wnafT1,y=this._wnafT2,r=this._wnafT3,c=0;for(s=0;s<n;s++){var l=(p=a[s])._getNAFPoints(e);u[s]=l.wnd,y[s]=l.points}for(s=n-1;s>=1;s-=2){var o=s-1,m=s;if(1===u[o]&&1===u[m]){var T=[a[o],null,null,a[m]];0===a[o].y.cmp(a[m].y)?(T[1]=a[o].add(a[m]),T[2]=a[o].toJ().mixedAdd(a[m].neg())):0===a[o].y.cmp(a[m].y.redNeg())?(T[1]=a[o].toJ().mixedAdd(a[m]),T[2]=a[o].add(a[m].neg())):(T[1]=a[o].toJ().mixedAdd(a[m]),T[2]=a[o].toJ().mixedAdd(a[m].neg()));var w=[-3,-1,-5,-7,0,7,5,1,3],h=d(t[o],t[m]);for(c=Math.max(h[0].length,c),r[o]=new Array(c),r[m]=new Array(c),i=0;i<c;i++){var v=0|h[0][i],x=0|h[1][i];r[o][i]=w[3*(v+1)+(x+1)],r[m][i]=0,y[o]=T}}else r[o]=f(t[o],u[o],this._bitLength),r[m]=f(t[m],u[m],this._bitLength),c=Math.max(r[o].length,c),c=Math.max(r[m].length,c)}var M=this.jpoint(null,null,null),g=this._wnafT4;for(s=c;s>=0;s--){for(var A=0;s>=0;){var C=!0;for(i=0;i<n;i++)g[i]=0|r[i][s],0!==g[i]&&(C=!1);if(!C)break;A++,s--}if(s>=0&&A++,M=M.dblp(A),s<0)break;for(i=0;i<n;i++){var E=g[i];0!==E&&(E>0?p=y[i][E-1>>1]:E<0&&(p=y[i][-E-1>>1].neg()),M="affine"===p.type?M.mixedAdd(p):M.add(p))}}for(s=0;s<n;s++)y[s]=null;return b?M:M.toP()},i.BasePoint=p,p.prototype.eq=function(){throw new Error("Not implemented")},p.prototype.validate=function(){return this.curve.validate(this)},i.prototype.decodePoint=function(e,a){e=b.toArray(e,a);var t=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*t)return 6===e[0]?s(e[e.length-1]%2==0):7===e[0]&&s(e[e.length-1]%2==1),this.point(e.slice(1,1+t),e.slice(1+t,1+2*t));if((2===e[0]||3===e[0])&&e.length-1===t)return this.pointFromX(e.slice(1,1+t),3===e[0]);throw new Error("Unknown point format")},p.prototype.encodeCompressed=function(e){return this.encode(e,!0)},p.prototype._encode=function(e){var a=this.curve.p.byteLength(),t=this.getX().toArray("be",a);return e?[this.getY().isEven()?2:3].concat(t):[4].concat(t,this.getY().toArray("be",a))},p.prototype.encode=function(e,a){return b.encode(this._encode(a),e)},p.prototype.precompute=function(e){if(this.precomputed)return this;var a={doubles:null,naf:null,beta:null};return a.naf=this._getNAFPoints(8),a.doubles=this._getDoubles(4,e),a.beta=this._getBeta(),this.precomputed=a,this},p.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var a=this.precomputed.doubles;return!!a&&a.points.length>=Math.ceil((e.bitLength()+1)/a.step)},p.prototype._getDoubles=function(e,a){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var t=[this],n=this,b=0;b<a;b+=e){for(var f=0;f<e;f++)n=n.dbl();t.push(n)}return{step:e,points:t}},p.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var a=[this],t=(1<<e)-1,n=1===t?null:this.dbl(),b=1;b<t;b++)a[b]=a[b-1].add(n);return{wnd:e,points:a}},p.prototype._getBeta=function(){return null},p.prototype.dblp=function(e){for(var a=this,t=0;t<e;t++)a=a.dbl();return a}},function(e,a,t){"use strict";(function(e){Object.defineProperty(a,"__esModule",{value:!0}),a.assertIsString=a.assertIsArray=a.assertIsBuffer=a.assertIsHexString=void 0;var n=t(13);a.assertIsHexString=function(e){if(!(0,n.isHexString)(e)){var a="This method only supports 0x-prefixed hex strings but input was: ".concat(e);throw new Error(a)}};a.assertIsBuffer=function(a){if(!e.isBuffer(a)){var t="This method only supports Buffer but input was: ".concat(a);throw new Error(t)}};a.assertIsArray=function(e){if(!Array.isArray(e)){var a="This method only supports number arrays but input was: ".concat(e);throw new Error(a)}};a.assertIsString=function(e){if("string"!=typeof e){var a="This method only supports strings but input was: ".concat(e);throw new Error(a)}}}).call(this,t(0).Buffer)},function(e,a,t){"use strict";(function(a){void 0===a||!a.version||0===a.version.indexOf("v0.")||0===a.version.indexOf("v1.")&&0!==a.version.indexOf("v1.8.")?e.exports={nextTick:function(e,t,n,b){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var f,d,s=arguments.length;switch(s){case 0:case 1:return a.nextTick(e);case 2:return a.nextTick((function(){e.call(null,t)}));case 3:return a.nextTick((function(){e.call(null,t,n)}));case 4:return a.nextTick((function(){e.call(null,t,n,b)}));default:for(f=new Array(s-1),d=0;d<f.length;)f[d++]=arguments[d];return a.nextTick((function(){e.apply(null,f)}))}}}:e.exports=a}).call(this,t(3))},function(e,a,t){(function(e,t){var n;!function(){var b="object"==typeof self&&self.self===self&&self||"object"==typeof e&&e.global===e&&e||this||{},f=b._,d=Array.prototype,s=Object.prototype,i="undefined"!=typeof Symbol?Symbol.prototype:null,p=d.push,u=d.slice,y=s.toString,r=s.hasOwnProperty,c=Array.isArray,l=Object.keys,o=Object.create,m=function(){},T=function(e){return e instanceof T?e:this instanceof T?void(this._wrapped=e):new T(e)};a.nodeType?b._=T:(!t.nodeType&&t.exports&&(a=t.exports=T),a._=T),T.VERSION="1.9.1";var w,h=function(e,a,t){if(void 0===a)return e;switch(null==t?3:t){case 1:return function(t){return e.call(a,t)};case 3:return function(t,n,b){return e.call(a,t,n,b)};case 4:return function(t,n,b,f){return e.call(a,t,n,b,f)}}return function(){return e.apply(a,arguments)}},v=function(e,a,t){return T.iteratee!==w?T.iteratee(e,a):null==e?T.identity:T.isFunction(e)?h(e,a,t):T.isObject(e)&&!T.isArray(e)?T.matcher(e):T.property(e)};T.iteratee=w=function(e,a){return v(e,a,1/0)};var x=function(e,a){return a=null==a?e.length-1:+a,function(){for(var t=Math.max(arguments.length-a,0),n=Array(t),b=0;b<t;b++)n[b]=arguments[b+a];switch(a){case 0:return e.call(this,n);case 1:return e.call(this,arguments[0],n);case 2:return e.call(this,arguments[0],arguments[1],n)}var f=Array(a+1);for(b=0;b<a;b++)f[b]=arguments[b];return f[a]=n,e.apply(this,f)}},M=function(e){if(!T.isObject(e))return{};if(o)return o(e);m.prototype=e;var a=new m;return m.prototype=null,a},g=function(e){return function(a){return null==a?void 0:a[e]}},A=function(e,a){return null!=e&&r.call(e,a)},C=function(e,a){for(var t=a.length,n=0;n<t;n++){if(null==e)return;e=e[a[n]]}return t?e:void 0},E=Math.pow(2,53)-1,S=g("length"),D=function(e){var a=S(e);return"number"==typeof a&&a>=0&&a<=E};T.each=T.forEach=function(e,a,t){var n,b;if(a=h(a,t),D(e))for(n=0,b=e.length;n<b;n++)a(e[n],n,e);else{var f=T.keys(e);for(n=0,b=f.length;n<b;n++)a(e[f[n]],f[n],e)}return e},T.map=T.collect=function(e,a,t){a=v(a,t);for(var n=!D(e)&&T.keys(e),b=(n||e).length,f=Array(b),d=0;d<b;d++){var s=n?n[d]:d;f[d]=a(e[s],s,e)}return f};var _=function(e){var a=function(a,t,n,b){var f=!D(a)&&T.keys(a),d=(f||a).length,s=e>0?0:d-1;for(b||(n=a[f?f[s]:s],s+=e);s>=0&&s<d;s+=e){var i=f?f[s]:s;n=t(n,a[i],i,a)}return n};return function(e,t,n,b){var f=arguments.length>=3;return a(e,h(t,b,4),n,f)}};T.reduce=T.foldl=T.inject=_(1),T.reduceRight=T.foldr=_(-1),T.find=T.detect=function(e,a,t){var n=(D(e)?T.findIndex:T.findKey)(e,a,t);if(void 0!==n&&-1!==n)return e[n]},T.filter=T.select=function(e,a,t){var n=[];return a=v(a,t),T.each(e,(function(e,t,b){a(e,t,b)&&n.push(e)})),n},T.reject=function(e,a,t){return T.filter(e,T.negate(v(a)),t)},T.every=T.all=function(e,a,t){a=v(a,t);for(var n=!D(e)&&T.keys(e),b=(n||e).length,f=0;f<b;f++){var d=n?n[f]:f;if(!a(e[d],d,e))return!1}return!0},T.some=T.any=function(e,a,t){a=v(a,t);for(var n=!D(e)&&T.keys(e),b=(n||e).length,f=0;f<b;f++){var d=n?n[f]:f;if(a(e[d],d,e))return!0}return!1},T.contains=T.includes=T.include=function(e,a,t,n){return D(e)||(e=T.values(e)),("number"!=typeof t||n)&&(t=0),T.indexOf(e,a,t)>=0},T.invoke=x((function(e,a,t){var n,b;return T.isFunction(a)?b=a:T.isArray(a)&&(n=a.slice(0,-1),a=a[a.length-1]),T.map(e,(function(e){var f=b;if(!f){if(n&&n.length&&(e=C(e,n)),null==e)return;f=e[a]}return null==f?f:f.apply(e,t)}))})),T.pluck=function(e,a){return T.map(e,T.property(a))},T.where=function(e,a){return T.filter(e,T.matcher(a))},T.findWhere=function(e,a){return T.find(e,T.matcher(a))},T.max=function(e,a,t){var n,b,f=-1/0,d=-1/0;if(null==a||"number"==typeof a&&"object"!=typeof e[0]&&null!=e)for(var s=0,i=(e=D(e)?e:T.values(e)).length;s<i;s++)null!=(n=e[s])&&n>f&&(f=n);else a=v(a,t),T.each(e,(function(e,t,n){((b=a(e,t,n))>d||b===-1/0&&f===-1/0)&&(f=e,d=b)}));return f},T.min=function(e,a,t){var n,b,f=1/0,d=1/0;if(null==a||"number"==typeof a&&"object"!=typeof e[0]&&null!=e)for(var s=0,i=(e=D(e)?e:T.values(e)).length;s<i;s++)null!=(n=e[s])&&n<f&&(f=n);else a=v(a,t),T.each(e,(function(e,t,n){((b=a(e,t,n))<d||b===1/0&&f===1/0)&&(f=e,d=b)}));return f},T.shuffle=function(e){return T.sample(e,1/0)},T.sample=function(e,a,t){if(null==a||t)return D(e)||(e=T.values(e)),e[T.random(e.length-1)];var n=D(e)?T.clone(e):T.values(e),b=S(n);a=Math.max(Math.min(a,b),0);for(var f=b-1,d=0;d<a;d++){var s=T.random(d,f),i=n[d];n[d]=n[s],n[s]=i}return n.slice(0,a)},T.sortBy=function(e,a,t){var n=0;return a=v(a,t),T.pluck(T.map(e,(function(e,t,b){return{value:e,index:n++,criteria:a(e,t,b)}})).sort((function(e,a){var t=e.criteria,n=a.criteria;if(t!==n){if(t>n||void 0===t)return 1;if(t<n||void 0===n)return-1}return e.index-a.index})),"value")};var k=function(e,a){return function(t,n,b){var f=a?[[],[]]:{};return n=v(n,b),T.each(t,(function(a,b){var d=n(a,b,t);e(f,a,d)})),f}};T.groupBy=k((function(e,a,t){A(e,t)?e[t].push(a):e[t]=[a]})),T.indexBy=k((function(e,a,t){e[t]=a})),T.countBy=k((function(e,a,t){A(e,t)?e[t]++:e[t]=1}));var F=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;T.toArray=function(e){return e?T.isArray(e)?u.call(e):T.isString(e)?e.match(F):D(e)?T.map(e,T.identity):T.values(e):[]},T.size=function(e){return null==e?0:D(e)?e.length:T.keys(e).length},T.partition=k((function(e,a,t){e[t?0:1].push(a)}),!0),T.first=T.head=T.take=function(e,a,t){return null==e||e.length<1?null==a?void 0:[]:null==a||t?e[0]:T.initial(e,e.length-a)},T.initial=function(e,a,t){return u.call(e,0,Math.max(0,e.length-(null==a||t?1:a)))},T.last=function(e,a,t){return null==e||e.length<1?null==a?void 0:[]:null==a||t?e[e.length-1]:T.rest(e,Math.max(0,e.length-a))},T.rest=T.tail=T.drop=function(e,a,t){return u.call(e,null==a||t?1:a)},T.compact=function(e){return T.filter(e,Boolean)};var R=function(e,a,t,n){for(var b=(n=n||[]).length,f=0,d=S(e);f<d;f++){var s=e[f];if(D(s)&&(T.isArray(s)||T.isArguments(s)))if(a)for(var i=0,p=s.length;i<p;)n[b++]=s[i++];else R(s,a,t,n),b=n.length;else t||(n[b++]=s)}return n};T.flatten=function(e,a){return R(e,a,!1)},T.without=x((function(e,a){return T.difference(e,a)})),T.uniq=T.unique=function(e,a,t,n){T.isBoolean(a)||(n=t,t=a,a=!1),null!=t&&(t=v(t,n));for(var b=[],f=[],d=0,s=S(e);d<s;d++){var i=e[d],p=t?t(i,d,e):i;a&&!t?(d&&f===p||b.push(i),f=p):t?T.contains(f,p)||(f.push(p),b.push(i)):T.contains(b,i)||b.push(i)}return b},T.union=x((function(e){return T.uniq(R(e,!0,!0))})),T.intersection=function(e){for(var a=[],t=arguments.length,n=0,b=S(e);n<b;n++){var f=e[n];if(!T.contains(a,f)){var d;for(d=1;d<t&&T.contains(arguments[d],f);d++);d===t&&a.push(f)}}return a},T.difference=x((function(e,a){return a=R(a,!0,!0),T.filter(e,(function(e){return!T.contains(a,e)}))})),T.unzip=function(e){for(var a=e&&T.max(e,S).length||0,t=Array(a),n=0;n<a;n++)t[n]=T.pluck(e,n);return t},T.zip=x(T.unzip),T.object=function(e,a){for(var t={},n=0,b=S(e);n<b;n++)a?t[e[n]]=a[n]:t[e[n][0]]=e[n][1];return t};var B=function(e){return function(a,t,n){t=v(t,n);for(var b=S(a),f=e>0?0:b-1;f>=0&&f<b;f+=e)if(t(a[f],f,a))return f;return-1}};T.findIndex=B(1),T.findLastIndex=B(-1),T.sortedIndex=function(e,a,t,n){for(var b=(t=v(t,n,1))(a),f=0,d=S(e);f<d;){var s=Math.floor((f+d)/2);t(e[s])<b?f=s+1:d=s}return f};var O=function(e,a,t){return function(n,b,f){var d=0,s=S(n);if("number"==typeof f)e>0?d=f>=0?f:Math.max(f+s,d):s=f>=0?Math.min(f+1,s):f+s+1;else if(t&&f&&s)return n[f=t(n,b)]===b?f:-1;if(b!=b)return(f=a(u.call(n,d,s),T.isNaN))>=0?f+d:-1;for(f=e>0?d:s-1;f>=0&&f<s;f+=e)if(n[f]===b)return f;return-1}};T.indexOf=O(1,T.findIndex,T.sortedIndex),T.lastIndexOf=O(-1,T.findLastIndex),T.range=function(e,a,t){null==a&&(a=e||0,e=0),t||(t=a<e?-1:1);for(var n=Math.max(Math.ceil((a-e)/t),0),b=Array(n),f=0;f<n;f++,e+=t)b[f]=e;return b},T.chunk=function(e,a){if(null==a||a<1)return[];for(var t=[],n=0,b=e.length;n<b;)t.push(u.call(e,n,n+=a));return t};var I=function(e,a,t,n,b){if(!(n instanceof a))return e.apply(t,b);var f=M(e.prototype),d=e.apply(f,b);return T.isObject(d)?d:f};T.bind=x((function(e,a,t){if(!T.isFunction(e))throw new TypeError("Bind must be called on a function");var n=x((function(b){return I(e,n,a,this,t.concat(b))}));return n})),T.partial=x((function(e,a){var t=T.partial.placeholder,n=function(){for(var b=0,f=a.length,d=Array(f),s=0;s<f;s++)d[s]=a[s]===t?arguments[b++]:a[s];for(;b<arguments.length;)d.push(arguments[b++]);return I(e,n,this,this,d)};return n})),T.partial.placeholder=T,T.bindAll=x((function(e,a){var t=(a=R(a,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var n=a[t];e[n]=T.bind(e[n],e)}})),T.memoize=function(e,a){var t=function(n){var b=t.cache,f=""+(a?a.apply(this,arguments):n);return A(b,f)||(b[f]=e.apply(this,arguments)),b[f]};return t.cache={},t},T.delay=x((function(e,a,t){return setTimeout((function(){return e.apply(null,t)}),a)})),T.defer=T.partial(T.delay,T,1),T.throttle=function(e,a,t){var n,b,f,d,s=0;t||(t={});var i=function(){s=!1===t.leading?0:T.now(),n=null,d=e.apply(b,f),n||(b=f=null)},p=function(){var p=T.now();s||!1!==t.leading||(s=p);var u=a-(p-s);return b=this,f=arguments,u<=0||u>a?(n&&(clearTimeout(n),n=null),s=p,d=e.apply(b,f),n||(b=f=null)):n||!1===t.trailing||(n=setTimeout(i,u)),d};return p.cancel=function(){clearTimeout(n),s=0,n=b=f=null},p},T.debounce=function(e,a,t){var n,b,f=function(a,t){n=null,t&&(b=e.apply(a,t))},d=x((function(d){if(n&&clearTimeout(n),t){var s=!n;n=setTimeout(f,a),s&&(b=e.apply(this,d))}else n=T.delay(f,a,this,d);return b}));return d.cancel=function(){clearTimeout(n),n=null},d},T.wrap=function(e,a){return T.partial(a,e)},T.negate=function(e){return function(){return!e.apply(this,arguments)}},T.compose=function(){var e=arguments,a=e.length-1;return function(){for(var t=a,n=e[a].apply(this,arguments);t--;)n=e[t].call(this,n);return n}},T.after=function(e,a){return function(){if(--e<1)return a.apply(this,arguments)}},T.before=function(e,a){var t;return function(){return--e>0&&(t=a.apply(this,arguments)),e<=1&&(a=null),t}},T.once=T.partial(T.before,2),T.restArguments=x;var N=!{toString:null}.propertyIsEnumerable("toString"),P=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],K=function(e,a){var t=P.length,n=e.constructor,b=T.isFunction(n)&&n.prototype||s,f="constructor";for(A(e,f)&&!T.contains(a,f)&&a.push(f);t--;)(f=P[t])in e&&e[f]!==b[f]&&!T.contains(a,f)&&a.push(f)};T.keys=function(e){if(!T.isObject(e))return[];if(l)return l(e);var a=[];for(var t in e)A(e,t)&&a.push(t);return N&&K(e,a),a},T.allKeys=function(e){if(!T.isObject(e))return[];var a=[];for(var t in e)a.push(t);return N&&K(e,a),a},T.values=function(e){for(var a=T.keys(e),t=a.length,n=Array(t),b=0;b<t;b++)n[b]=e[a[b]];return n},T.mapObject=function(e,a,t){a=v(a,t);for(var n=T.keys(e),b=n.length,f={},d=0;d<b;d++){var s=n[d];f[s]=a(e[s],s,e)}return f},T.pairs=function(e){for(var a=T.keys(e),t=a.length,n=Array(t),b=0;b<t;b++)n[b]=[a[b],e[a[b]]];return n},T.invert=function(e){for(var a={},t=T.keys(e),n=0,b=t.length;n<b;n++)a[e[t[n]]]=t[n];return a},T.functions=T.methods=function(e){var a=[];for(var t in e)T.isFunction(e[t])&&a.push(t);return a.sort()};var L=function(e,a){return function(t){var n=arguments.length;if(a&&(t=Object(t)),n<2||null==t)return t;for(var b=1;b<n;b++)for(var f=arguments[b],d=e(f),s=d.length,i=0;i<s;i++){var p=d[i];a&&void 0!==t[p]||(t[p]=f[p])}return t}};T.extend=L(T.allKeys),T.extendOwn=T.assign=L(T.keys),T.findKey=function(e,a,t){a=v(a,t);for(var n,b=T.keys(e),f=0,d=b.length;f<d;f++)if(a(e[n=b[f]],n,e))return n};var U,V,z=function(e,a,t){return a in t};T.pick=x((function(e,a){var t={},n=a[0];if(null==e)return t;T.isFunction(n)?(a.length>1&&(n=h(n,a[1])),a=T.allKeys(e)):(n=z,a=R(a,!1,!1),e=Object(e));for(var b=0,f=a.length;b<f;b++){var d=a[b],s=e[d];n(s,d,e)&&(t[d]=s)}return t})),T.omit=x((function(e,a){var t,n=a[0];return T.isFunction(n)?(n=T.negate(n),a.length>1&&(t=a[1])):(a=T.map(R(a,!1,!1),String),n=function(e,t){return!T.contains(a,t)}),T.pick(e,n,t)})),T.defaults=L(T.allKeys,!0),T.create=function(e,a){var t=M(e);return a&&T.extendOwn(t,a),t},T.clone=function(e){return T.isObject(e)?T.isArray(e)?e.slice():T.extend({},e):e},T.tap=function(e,a){return a(e),e},T.isMatch=function(e,a){var t=T.keys(a),n=t.length;if(null==e)return!n;for(var b=Object(e),f=0;f<n;f++){var d=t[f];if(a[d]!==b[d]||!(d in b))return!1}return!0},U=function(e,a,t,n){if(e===a)return 0!==e||1/e==1/a;if(null==e||null==a)return!1;if(e!=e)return a!=a;var b=typeof e;return("function"===b||"object"===b||"object"==typeof a)&&V(e,a,t,n)},V=function(e,a,t,n){e instanceof T&&(e=e._wrapped),a instanceof T&&(a=a._wrapped);var b=y.call(e);if(b!==y.call(a))return!1;switch(b){case"[object RegExp]":case"[object String]":return""+e==""+a;case"[object Number]":return+e!=+e?+a!=+a:0==+e?1/+e==1/a:+e==+a;case"[object Date]":case"[object Boolean]":return+e==+a;case"[object Symbol]":return i.valueOf.call(e)===i.valueOf.call(a)}var f="[object Array]"===b;if(!f){if("object"!=typeof e||"object"!=typeof a)return!1;var d=e.constructor,s=a.constructor;if(d!==s&&!(T.isFunction(d)&&d instanceof d&&T.isFunction(s)&&s instanceof s)&&"constructor"in e&&"constructor"in a)return!1}n=n||[];for(var p=(t=t||[]).length;p--;)if(t[p]===e)return n[p]===a;if(t.push(e),n.push(a),f){if((p=e.length)!==a.length)return!1;for(;p--;)if(!U(e[p],a[p],t,n))return!1}else{var u,r=T.keys(e);if(p=r.length,T.keys(a).length!==p)return!1;for(;p--;)if(u=r[p],!A(a,u)||!U(e[u],a[u],t,n))return!1}return t.pop(),n.pop(),!0},T.isEqual=function(e,a){return U(e,a)},T.isEmpty=function(e){return null==e||(D(e)&&(T.isArray(e)||T.isString(e)||T.isArguments(e))?0===e.length:0===T.keys(e).length)},T.isElement=function(e){return!(!e||1!==e.nodeType)},T.isArray=c||function(e){return"[object Array]"===y.call(e)},T.isObject=function(e){var a=typeof e;return"function"===a||"object"===a&&!!e},T.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],(function(e){T["is"+e]=function(a){return y.call(a)==="[object "+e+"]"}})),T.isArguments(arguments)||(T.isArguments=function(e){return A(e,"callee")});var q=b.document&&b.document.childNodes;"object"!=typeof Int8Array&&"function"!=typeof q&&(T.isFunction=function(e){return"function"==typeof e||!1}),T.isFinite=function(e){return!T.isSymbol(e)&&isFinite(e)&&!isNaN(parseFloat(e))},T.isNaN=function(e){return T.isNumber(e)&&isNaN(e)},T.isBoolean=function(e){return!0===e||!1===e||"[object Boolean]"===y.call(e)},T.isNull=function(e){return null===e},T.isUndefined=function(e){return void 0===e},T.has=function(e,a){if(!T.isArray(a))return A(e,a);for(var t=a.length,n=0;n<t;n++){var b=a[n];if(null==e||!r.call(e,b))return!1;e=e[b]}return!!t},T.noConflict=function(){return b._=f,this},T.identity=function(e){return e},T.constant=function(e){return function(){return e}},T.noop=function(){},T.property=function(e){return T.isArray(e)?function(a){return C(a,e)}:g(e)},T.propertyOf=function(e){return null==e?function(){}:function(a){return T.isArray(a)?C(e,a):e[a]}},T.matcher=T.matches=function(e){return e=T.extendOwn({},e),function(a){return T.isMatch(a,e)}},T.times=function(e,a,t){var n=Array(Math.max(0,e));a=h(a,t,1);for(var b=0;b<e;b++)n[b]=a(b);return n},T.random=function(e,a){return null==a&&(a=e,e=0),e+Math.floor(Math.random()*(a-e+1))},T.now=Date.now||function(){return(new Date).getTime()};var W={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},H=T.invert(W),Q=function(e){var a=function(a){return e[a]},t="(?:"+T.keys(e).join("|")+")",n=RegExp(t),b=RegExp(t,"g");return function(e){return e=null==e?"":""+e,n.test(e)?e.replace(b,a):e}};T.escape=Q(W),T.unescape=Q(H),T.result=function(e,a,t){T.isArray(a)||(a=[a]);var n=a.length;if(!n)return T.isFunction(t)?t.call(e):t;for(var b=0;b<n;b++){var f=null==e?void 0:e[a[b]];void 0===f&&(f=t,b=n),e=T.isFunction(f)?f.call(e):f}return e};var X=0;T.uniqueId=function(e){var a=++X+"";return e?e+a:a},T.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var Z=/(.)^/,j={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},G=/\\|'|\r|\n|\u2028|\u2029/g,$=function(e){return"\\"+j[e]};T.template=function(e,a,t){!a&&t&&(a=t),a=T.defaults({},a,T.templateSettings);var n,b=RegExp([(a.escape||Z).source,(a.interpolate||Z).source,(a.evaluate||Z).source].join("|")+"|$","g"),f=0,d="__p+='";e.replace(b,(function(a,t,n,b,s){return d+=e.slice(f,s).replace(G,$),f=s+a.length,t?d+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":n?d+="'+\n((__t=("+n+"))==null?'':__t)+\n'":b&&(d+="';\n"+b+"\n__p+='"),a})),d+="';\n",a.variable||(d="with(obj||{}){\n"+d+"}\n"),d="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+d+"return __p;\n";try{n=new Function(a.variable||"obj","_",d)}catch(e){throw e.source=d,e}var s=function(e){return n.call(this,e,T)},i=a.variable||"obj";return s.source="function("+i+"){\n"+d+"}",s},T.chain=function(e){var a=T(e);return a._chain=!0,a};var Y=function(e,a){return e._chain?T(a).chain():a};T.mixin=function(e){return T.each(T.functions(e),(function(a){var t=T[a]=e[a];T.prototype[a]=function(){var e=[this._wrapped];return p.apply(e,arguments),Y(this,t.apply(T,e))}})),T},T.mixin(T),T.each(["pop","push","reverse","shift","sort","splice","unshift"],(function(e){var a=d[e];T.prototype[e]=function(){var t=this._wrapped;return a.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],Y(this,t)}})),T.each(["concat","join","slice"],(function(e){var a=d[e];T.prototype[e]=function(){return Y(this,a.apply(this._wrapped,arguments))}})),T.prototype.value=function(){return this._wrapped},T.prototype.valueOf=T.prototype.toJSON=T.prototype.value,T.prototype.toString=function(){return String(this._wrapped)},void 0===(n=function(){return T}.apply(a,[]))||(t.exports=n)}()}).call(this,t(2),t(7)(e))},function(e,a,t){var n=t(79),b=t(80);e.exports=function(e){if("string"==typeof e||"number"==typeof e){var a=new n(1),t=String(e).toLowerCase().trim(),f="0x"===t.substr(0,2)||"-0x"===t.substr(0,3),d=b(t);if("-"===d.substr(0,1)&&(d=b(d.slice(1)),a=new n(-1,10)),!(d=""===d?"0":d).match(/^-?[0-9]+$/)&&d.match(/^[0-9A-Fa-f]+$/)||d.match(/^[a-fA-F]+$/)||!0===f&&d.match(/^[0-9A-Fa-f]+$/))return new n(d,16).mul(a);if((d.match(/^-?[0-9]+$/)||""===d)&&!1===f)return new n(d,10).mul(a)}else if("object"==typeof e&&e.toString&&!e.pop&&!e.push&&e.toString(10).match(/^-?[0-9]+$/)&&(e.mul||e.dividedToIntegerBy))return new n(e.toString(10),10);throw new Error("[number-to-bn] while converting number "+JSON.stringify(e)+" to BN.js instance, error: invalid number value. Value must be an integer, hex string, BN or BigNumber instance. Note, decimals are not supported.")}},function(e,a,t){"use strict";(function(a,n){var b=t(5).Buffer,f=a.crypto||a.msCrypto;f&&f.getRandomValues?e.exports=function(e,a){if(e>4294967295)throw new RangeError("requested too many random bytes");var t=b.allocUnsafe(e);if(e>0)if(e>65536)for(var d=0;d<e;d+=65536)f.getRandomValues(t.slice(d,d+65536));else f.getRandomValues(t);if("function"==typeof a)return n.nextTick((function(){a(null,t)}));return t}:e.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,t(2),t(3))},function(e,a,t){(function(e){!function(e,a){"use strict";function n(e,a){if(!e)throw new Error(a||"Assertion failed")}function b(e,a){e.super_=a;var t=function(){};t.prototype=a.prototype,e.prototype=new t,e.prototype.constructor=e}function f(e,a,t){if(f.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==a&&"be"!==a||(t=a,a=10),this._init(e||0,a||10,t||"be"))}var d;"object"==typeof e?e.exports=f:a.BN=f,f.BN=f,f.wordSize=26;try{d="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:t(90).Buffer}catch(e){}function s(e,a){var t=e.charCodeAt(a);return t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:t-48&15}function i(e,a,t){var n=s(e,t);return t-1>=a&&(n|=s(e,t-1)<<4),n}function p(e,a,t,n){for(var b=0,f=Math.min(e.length,t),d=a;d<f;d++){var s=e.charCodeAt(d)-48;b*=n,b+=s>=49?s-49+10:s>=17?s-17+10:s}return b}f.isBN=function(e){return e instanceof f||null!==e&&"object"==typeof e&&e.constructor.wordSize===f.wordSize&&Array.isArray(e.words)},f.max=function(e,a){return e.cmp(a)>0?e:a},f.min=function(e,a){return e.cmp(a)<0?e:a},f.prototype._init=function(e,a,t){if("number"==typeof e)return this._initNumber(e,a,t);if("object"==typeof e)return this._initArray(e,a,t);"hex"===a&&(a=16),n(a===(0|a)&&a>=2&&a<=36);var b=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(b++,this.negative=1),b<e.length&&(16===a?this._parseHex(e,b,t):(this._parseBase(e,a,b),"le"===t&&this._initArray(this.toArray(),a,t)))},f.prototype._initNumber=function(e,a,t){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===t&&this._initArray(this.toArray(),a,t)},f.prototype._initArray=function(e,a,t){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var b=0;b<this.length;b++)this.words[b]=0;var f,d,s=0;if("be"===t)for(b=e.length-1,f=0;b>=0;b-=3)d=e[b]|e[b-1]<<8|e[b-2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);else if("le"===t)for(b=0,f=0;b<e.length;b+=3)d=e[b]|e[b+1]<<8|e[b+2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);return this.strip()},f.prototype._parseHex=function(e,a,t){this.length=Math.ceil((e.length-a)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var b,f=0,d=0;if("be"===t)for(n=e.length-1;n>=a;n-=2)b=i(e,a,n)<<f,this.words[d]|=67108863&b,f>=18?(f-=18,d+=1,this.words[d]|=b>>>26):f+=8;else for(n=(e.length-a)%2==0?a+1:a;n<e.length;n+=2)b=i(e,a,n)<<f,this.words[d]|=67108863&b,f>=18?(f-=18,d+=1,this.words[d]|=b>>>26):f+=8;this.strip()},f.prototype._parseBase=function(e,a,t){this.words=[0],this.length=1;for(var n=0,b=1;b<=67108863;b*=a)n++;n--,b=b/a|0;for(var f=e.length-t,d=f%n,s=Math.min(f,f-d)+t,i=0,u=t;u<s;u+=n)i=p(e,u,u+n,a),this.imuln(b),this.words[0]+i<67108864?this.words[0]+=i:this._iaddn(i);if(0!==d){var y=1;for(i=p(e,u,e.length,a),u=0;u<d;u++)y*=a;this.imuln(y),this.words[0]+i<67108864?this.words[0]+=i:this._iaddn(i)}this.strip()},f.prototype.copy=function(e){e.words=new Array(this.length);for(var a=0;a<this.length;a++)e.words[a]=this.words[a];e.length=this.length,e.negative=this.negative,e.red=this.red},f.prototype.clone=function(){var e=new f(null);return this.copy(e),e},f.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},f.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},f.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],y=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],r=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(e,a,t){t.negative=a.negative^e.negative;var n=e.length+a.length|0;t.length=n,n=n-1|0;var b=0|e.words[0],f=0|a.words[0],d=b*f,s=67108863&d,i=d/67108864|0;t.words[0]=s;for(var p=1;p<n;p++){for(var u=i>>>26,y=67108863&i,r=Math.min(p,a.length-1),c=Math.max(0,p-e.length+1);c<=r;c++){var l=p-c|0;u+=(d=(b=0|e.words[l])*(f=0|a.words[c])+y)/67108864|0,y=67108863&d}t.words[p]=0|y,i=0|u}return 0!==i?t.words[p]=0|i:t.length--,t.strip()}f.prototype.toString=function(e,a){var t;if(a=0|a||1,16===(e=e||10)||"hex"===e){t="";for(var b=0,f=0,d=0;d<this.length;d++){var s=this.words[d],i=(16777215&(s<<b|f)).toString(16);t=0!==(f=s>>>24-b&16777215)||d!==this.length-1?u[6-i.length]+i+t:i+t,(b+=2)>=26&&(b-=26,d--)}for(0!==f&&(t=f.toString(16)+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}if(e===(0|e)&&e>=2&&e<=36){var p=y[e],c=r[e];t="";var l=this.clone();for(l.negative=0;!l.isZero();){var o=l.modn(c).toString(e);t=(l=l.idivn(c)).isZero()?o+t:u[p-o.length]+o+t}for(this.isZero()&&(t="0"+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}n(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(e,a){return n(void 0!==d),this.toArrayLike(d,e,a)},f.prototype.toArray=function(e,a){return this.toArrayLike(Array,e,a)},f.prototype.toArrayLike=function(e,a,t){var b=this.byteLength(),f=t||Math.max(1,b);n(b<=f,"byte array longer than desired length"),n(f>0,"Requested array length <= 0"),this.strip();var d,s,i="le"===a,p=new e(f),u=this.clone();if(i){for(s=0;!u.isZero();s++)d=u.andln(255),u.iushrn(8),p[s]=d;for(;s<f;s++)p[s]=0}else{for(s=0;s<f-b;s++)p[s]=0;for(s=0;!u.isZero();s++)d=u.andln(255),u.iushrn(8),p[f-s-1]=d}return p},Math.clz32?f.prototype._countBits=function(e){return 32-Math.clz32(e)}:f.prototype._countBits=function(e){var a=e,t=0;return a>=4096&&(t+=13,a>>>=13),a>=64&&(t+=7,a>>>=7),a>=8&&(t+=4,a>>>=4),a>=2&&(t+=2,a>>>=2),t+a},f.prototype._zeroBits=function(e){if(0===e)return 26;var a=e,t=0;return 0==(8191&a)&&(t+=13,a>>>=13),0==(127&a)&&(t+=7,a>>>=7),0==(15&a)&&(t+=4,a>>>=4),0==(3&a)&&(t+=2,a>>>=2),0==(1&a)&&t++,t},f.prototype.bitLength=function(){var e=this.words[this.length-1],a=this._countBits(e);return 26*(this.length-1)+a},f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,a=0;a<this.length;a++){var t=this._zeroBits(this.words[a]);if(e+=t,26!==t)break}return e},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},f.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return 0!==this.negative},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var a=0;a<e.length;a++)this.words[a]=this.words[a]|e.words[a];return this.strip()},f.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},f.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},f.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},f.prototype.iuand=function(e){var a;a=this.length>e.length?e:this;for(var t=0;t<a.length;t++)this.words[t]=this.words[t]&e.words[t];return this.length=a.length,this.strip()},f.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},f.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},f.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},f.prototype.iuxor=function(e){var a,t;this.length>e.length?(a=this,t=e):(a=e,t=this);for(var n=0;n<t.length;n++)this.words[n]=a.words[n]^t.words[n];if(this!==a)for(;n<a.length;n++)this.words[n]=a.words[n];return this.length=a.length,this.strip()},f.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},f.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},f.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},f.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var a=0|Math.ceil(e/26),t=e%26;this._expand(a),t>0&&a--;for(var b=0;b<a;b++)this.words[b]=67108863&~this.words[b];return t>0&&(this.words[b]=~this.words[b]&67108863>>26-t),this.strip()},f.prototype.notn=function(e){return this.clone().inotn(e)},f.prototype.setn=function(e,a){n("number"==typeof e&&e>=0);var t=e/26|0,b=e%26;return this._expand(t+1),this.words[t]=a?this.words[t]|1<<b:this.words[t]&~(1<<b),this.strip()},f.prototype.iadd=function(e){var a,t,n;if(0!==this.negative&&0===e.negative)return this.negative=0,a=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,a=this.isub(e),e.negative=1,a._normSign();this.length>e.length?(t=this,n=e):(t=e,n=this);for(var b=0,f=0;f<n.length;f++)a=(0|t.words[f])+(0|n.words[f])+b,this.words[f]=67108863&a,b=a>>>26;for(;0!==b&&f<t.length;f++)a=(0|t.words[f])+b,this.words[f]=67108863&a,b=a>>>26;if(this.length=t.length,0!==b)this.words[this.length]=b,this.length++;else if(t!==this)for(;f<t.length;f++)this.words[f]=t.words[f];return this},f.prototype.add=function(e){var a;return 0!==e.negative&&0===this.negative?(e.negative=0,a=this.sub(e),e.negative^=1,a):0===e.negative&&0!==this.negative?(this.negative=0,a=e.sub(this),this.negative=1,a):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},f.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var a=this.iadd(e);return e.negative=1,a._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var t,n,b=this.cmp(e);if(0===b)return this.negative=0,this.length=1,this.words[0]=0,this;b>0?(t=this,n=e):(t=e,n=this);for(var f=0,d=0;d<n.length;d++)f=(a=(0|t.words[d])-(0|n.words[d])+f)>>26,this.words[d]=67108863&a;for(;0!==f&&d<t.length;d++)f=(a=(0|t.words[d])+f)>>26,this.words[d]=67108863&a;if(0===f&&d<t.length&&t!==this)for(;d<t.length;d++)this.words[d]=t.words[d];return this.length=Math.max(this.length,d),t!==this&&(this.negative=1),this.strip()},f.prototype.sub=function(e){return this.clone().isub(e)};var l=function(e,a,t){var n,b,f,d=e.words,s=a.words,i=t.words,p=0,u=0|d[0],y=8191&u,r=u>>>13,c=0|d[1],l=8191&c,o=c>>>13,m=0|d[2],T=8191&m,w=m>>>13,h=0|d[3],v=8191&h,x=h>>>13,M=0|d[4],g=8191&M,A=M>>>13,C=0|d[5],E=8191&C,S=C>>>13,D=0|d[6],_=8191&D,k=D>>>13,F=0|d[7],R=8191&F,B=F>>>13,O=0|d[8],I=8191&O,N=O>>>13,P=0|d[9],K=8191&P,L=P>>>13,U=0|s[0],V=8191&U,z=U>>>13,q=0|s[1],W=8191&q,H=q>>>13,Q=0|s[2],X=8191&Q,Z=Q>>>13,j=0|s[3],G=8191&j,$=j>>>13,Y=0|s[4],J=8191&Y,ee=Y>>>13,ae=0|s[5],te=8191&ae,ne=ae>>>13,be=0|s[6],fe=8191&be,de=be>>>13,se=0|s[7],ie=8191&se,pe=se>>>13,ue=0|s[8],ye=8191&ue,re=ue>>>13,ce=0|s[9],le=8191&ce,oe=ce>>>13;t.negative=e.negative^a.negative,t.length=19;var me=(p+(n=Math.imul(y,V))|0)+((8191&(b=(b=Math.imul(y,z))+Math.imul(r,V)|0))<<13)|0;p=((f=Math.imul(r,z))+(b>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(l,V),b=(b=Math.imul(l,z))+Math.imul(o,V)|0,f=Math.imul(o,z);var Te=(p+(n=n+Math.imul(y,W)|0)|0)+((8191&(b=(b=b+Math.imul(y,H)|0)+Math.imul(r,W)|0))<<13)|0;p=((f=f+Math.imul(r,H)|0)+(b>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(T,V),b=(b=Math.imul(T,z))+Math.imul(w,V)|0,f=Math.imul(w,z),n=n+Math.imul(l,W)|0,b=(b=b+Math.imul(l,H)|0)+Math.imul(o,W)|0,f=f+Math.imul(o,H)|0;var we=(p+(n=n+Math.imul(y,X)|0)|0)+((8191&(b=(b=b+Math.imul(y,Z)|0)+Math.imul(r,X)|0))<<13)|0;p=((f=f+Math.imul(r,Z)|0)+(b>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(v,V),b=(b=Math.imul(v,z))+Math.imul(x,V)|0,f=Math.imul(x,z),n=n+Math.imul(T,W)|0,b=(b=b+Math.imul(T,H)|0)+Math.imul(w,W)|0,f=f+Math.imul(w,H)|0,n=n+Math.imul(l,X)|0,b=(b=b+Math.imul(l,Z)|0)+Math.imul(o,X)|0,f=f+Math.imul(o,Z)|0;var he=(p+(n=n+Math.imul(y,G)|0)|0)+((8191&(b=(b=b+Math.imul(y,$)|0)+Math.imul(r,G)|0))<<13)|0;p=((f=f+Math.imul(r,$)|0)+(b>>>13)|0)+(he>>>26)|0,he&=67108863,n=Math.imul(g,V),b=(b=Math.imul(g,z))+Math.imul(A,V)|0,f=Math.imul(A,z),n=n+Math.imul(v,W)|0,b=(b=b+Math.imul(v,H)|0)+Math.imul(x,W)|0,f=f+Math.imul(x,H)|0,n=n+Math.imul(T,X)|0,b=(b=b+Math.imul(T,Z)|0)+Math.imul(w,X)|0,f=f+Math.imul(w,Z)|0,n=n+Math.imul(l,G)|0,b=(b=b+Math.imul(l,$)|0)+Math.imul(o,G)|0,f=f+Math.imul(o,$)|0;var ve=(p+(n=n+Math.imul(y,J)|0)|0)+((8191&(b=(b=b+Math.imul(y,ee)|0)+Math.imul(r,J)|0))<<13)|0;p=((f=f+Math.imul(r,ee)|0)+(b>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(E,V),b=(b=Math.imul(E,z))+Math.imul(S,V)|0,f=Math.imul(S,z),n=n+Math.imul(g,W)|0,b=(b=b+Math.imul(g,H)|0)+Math.imul(A,W)|0,f=f+Math.imul(A,H)|0,n=n+Math.imul(v,X)|0,b=(b=b+Math.imul(v,Z)|0)+Math.imul(x,X)|0,f=f+Math.imul(x,Z)|0,n=n+Math.imul(T,G)|0,b=(b=b+Math.imul(T,$)|0)+Math.imul(w,G)|0,f=f+Math.imul(w,$)|0,n=n+Math.imul(l,J)|0,b=(b=b+Math.imul(l,ee)|0)+Math.imul(o,J)|0,f=f+Math.imul(o,ee)|0;var xe=(p+(n=n+Math.imul(y,te)|0)|0)+((8191&(b=(b=b+Math.imul(y,ne)|0)+Math.imul(r,te)|0))<<13)|0;p=((f=f+Math.imul(r,ne)|0)+(b>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(_,V),b=(b=Math.imul(_,z))+Math.imul(k,V)|0,f=Math.imul(k,z),n=n+Math.imul(E,W)|0,b=(b=b+Math.imul(E,H)|0)+Math.imul(S,W)|0,f=f+Math.imul(S,H)|0,n=n+Math.imul(g,X)|0,b=(b=b+Math.imul(g,Z)|0)+Math.imul(A,X)|0,f=f+Math.imul(A,Z)|0,n=n+Math.imul(v,G)|0,b=(b=b+Math.imul(v,$)|0)+Math.imul(x,G)|0,f=f+Math.imul(x,$)|0,n=n+Math.imul(T,J)|0,b=(b=b+Math.imul(T,ee)|0)+Math.imul(w,J)|0,f=f+Math.imul(w,ee)|0,n=n+Math.imul(l,te)|0,b=(b=b+Math.imul(l,ne)|0)+Math.imul(o,te)|0,f=f+Math.imul(o,ne)|0;var Me=(p+(n=n+Math.imul(y,fe)|0)|0)+((8191&(b=(b=b+Math.imul(y,de)|0)+Math.imul(r,fe)|0))<<13)|0;p=((f=f+Math.imul(r,de)|0)+(b>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(R,V),b=(b=Math.imul(R,z))+Math.imul(B,V)|0,f=Math.imul(B,z),n=n+Math.imul(_,W)|0,b=(b=b+Math.imul(_,H)|0)+Math.imul(k,W)|0,f=f+Math.imul(k,H)|0,n=n+Math.imul(E,X)|0,b=(b=b+Math.imul(E,Z)|0)+Math.imul(S,X)|0,f=f+Math.imul(S,Z)|0,n=n+Math.imul(g,G)|0,b=(b=b+Math.imul(g,$)|0)+Math.imul(A,G)|0,f=f+Math.imul(A,$)|0,n=n+Math.imul(v,J)|0,b=(b=b+Math.imul(v,ee)|0)+Math.imul(x,J)|0,f=f+Math.imul(x,ee)|0,n=n+Math.imul(T,te)|0,b=(b=b+Math.imul(T,ne)|0)+Math.imul(w,te)|0,f=f+Math.imul(w,ne)|0,n=n+Math.imul(l,fe)|0,b=(b=b+Math.imul(l,de)|0)+Math.imul(o,fe)|0,f=f+Math.imul(o,de)|0;var ge=(p+(n=n+Math.imul(y,ie)|0)|0)+((8191&(b=(b=b+Math.imul(y,pe)|0)+Math.imul(r,ie)|0))<<13)|0;p=((f=f+Math.imul(r,pe)|0)+(b>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(I,V),b=(b=Math.imul(I,z))+Math.imul(N,V)|0,f=Math.imul(N,z),n=n+Math.imul(R,W)|0,b=(b=b+Math.imul(R,H)|0)+Math.imul(B,W)|0,f=f+Math.imul(B,H)|0,n=n+Math.imul(_,X)|0,b=(b=b+Math.imul(_,Z)|0)+Math.imul(k,X)|0,f=f+Math.imul(k,Z)|0,n=n+Math.imul(E,G)|0,b=(b=b+Math.imul(E,$)|0)+Math.imul(S,G)|0,f=f+Math.imul(S,$)|0,n=n+Math.imul(g,J)|0,b=(b=b+Math.imul(g,ee)|0)+Math.imul(A,J)|0,f=f+Math.imul(A,ee)|0,n=n+Math.imul(v,te)|0,b=(b=b+Math.imul(v,ne)|0)+Math.imul(x,te)|0,f=f+Math.imul(x,ne)|0,n=n+Math.imul(T,fe)|0,b=(b=b+Math.imul(T,de)|0)+Math.imul(w,fe)|0,f=f+Math.imul(w,de)|0,n=n+Math.imul(l,ie)|0,b=(b=b+Math.imul(l,pe)|0)+Math.imul(o,ie)|0,f=f+Math.imul(o,pe)|0;var Ae=(p+(n=n+Math.imul(y,ye)|0)|0)+((8191&(b=(b=b+Math.imul(y,re)|0)+Math.imul(r,ye)|0))<<13)|0;p=((f=f+Math.imul(r,re)|0)+(b>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(K,V),b=(b=Math.imul(K,z))+Math.imul(L,V)|0,f=Math.imul(L,z),n=n+Math.imul(I,W)|0,b=(b=b+Math.imul(I,H)|0)+Math.imul(N,W)|0,f=f+Math.imul(N,H)|0,n=n+Math.imul(R,X)|0,b=(b=b+Math.imul(R,Z)|0)+Math.imul(B,X)|0,f=f+Math.imul(B,Z)|0,n=n+Math.imul(_,G)|0,b=(b=b+Math.imul(_,$)|0)+Math.imul(k,G)|0,f=f+Math.imul(k,$)|0,n=n+Math.imul(E,J)|0,b=(b=b+Math.imul(E,ee)|0)+Math.imul(S,J)|0,f=f+Math.imul(S,ee)|0,n=n+Math.imul(g,te)|0,b=(b=b+Math.imul(g,ne)|0)+Math.imul(A,te)|0,f=f+Math.imul(A,ne)|0,n=n+Math.imul(v,fe)|0,b=(b=b+Math.imul(v,de)|0)+Math.imul(x,fe)|0,f=f+Math.imul(x,de)|0,n=n+Math.imul(T,ie)|0,b=(b=b+Math.imul(T,pe)|0)+Math.imul(w,ie)|0,f=f+Math.imul(w,pe)|0,n=n+Math.imul(l,ye)|0,b=(b=b+Math.imul(l,re)|0)+Math.imul(o,ye)|0,f=f+Math.imul(o,re)|0;var Ce=(p+(n=n+Math.imul(y,le)|0)|0)+((8191&(b=(b=b+Math.imul(y,oe)|0)+Math.imul(r,le)|0))<<13)|0;p=((f=f+Math.imul(r,oe)|0)+(b>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(K,W),b=(b=Math.imul(K,H))+Math.imul(L,W)|0,f=Math.imul(L,H),n=n+Math.imul(I,X)|0,b=(b=b+Math.imul(I,Z)|0)+Math.imul(N,X)|0,f=f+Math.imul(N,Z)|0,n=n+Math.imul(R,G)|0,b=(b=b+Math.imul(R,$)|0)+Math.imul(B,G)|0,f=f+Math.imul(B,$)|0,n=n+Math.imul(_,J)|0,b=(b=b+Math.imul(_,ee)|0)+Math.imul(k,J)|0,f=f+Math.imul(k,ee)|0,n=n+Math.imul(E,te)|0,b=(b=b+Math.imul(E,ne)|0)+Math.imul(S,te)|0,f=f+Math.imul(S,ne)|0,n=n+Math.imul(g,fe)|0,b=(b=b+Math.imul(g,de)|0)+Math.imul(A,fe)|0,f=f+Math.imul(A,de)|0,n=n+Math.imul(v,ie)|0,b=(b=b+Math.imul(v,pe)|0)+Math.imul(x,ie)|0,f=f+Math.imul(x,pe)|0,n=n+Math.imul(T,ye)|0,b=(b=b+Math.imul(T,re)|0)+Math.imul(w,ye)|0,f=f+Math.imul(w,re)|0;var Ee=(p+(n=n+Math.imul(l,le)|0)|0)+((8191&(b=(b=b+Math.imul(l,oe)|0)+Math.imul(o,le)|0))<<13)|0;p=((f=f+Math.imul(o,oe)|0)+(b>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(K,X),b=(b=Math.imul(K,Z))+Math.imul(L,X)|0,f=Math.imul(L,Z),n=n+Math.imul(I,G)|0,b=(b=b+Math.imul(I,$)|0)+Math.imul(N,G)|0,f=f+Math.imul(N,$)|0,n=n+Math.imul(R,J)|0,b=(b=b+Math.imul(R,ee)|0)+Math.imul(B,J)|0,f=f+Math.imul(B,ee)|0,n=n+Math.imul(_,te)|0,b=(b=b+Math.imul(_,ne)|0)+Math.imul(k,te)|0,f=f+Math.imul(k,ne)|0,n=n+Math.imul(E,fe)|0,b=(b=b+Math.imul(E,de)|0)+Math.imul(S,fe)|0,f=f+Math.imul(S,de)|0,n=n+Math.imul(g,ie)|0,b=(b=b+Math.imul(g,pe)|0)+Math.imul(A,ie)|0,f=f+Math.imul(A,pe)|0,n=n+Math.imul(v,ye)|0,b=(b=b+Math.imul(v,re)|0)+Math.imul(x,ye)|0,f=f+Math.imul(x,re)|0;var Se=(p+(n=n+Math.imul(T,le)|0)|0)+((8191&(b=(b=b+Math.imul(T,oe)|0)+Math.imul(w,le)|0))<<13)|0;p=((f=f+Math.imul(w,oe)|0)+(b>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(K,G),b=(b=Math.imul(K,$))+Math.imul(L,G)|0,f=Math.imul(L,$),n=n+Math.imul(I,J)|0,b=(b=b+Math.imul(I,ee)|0)+Math.imul(N,J)|0,f=f+Math.imul(N,ee)|0,n=n+Math.imul(R,te)|0,b=(b=b+Math.imul(R,ne)|0)+Math.imul(B,te)|0,f=f+Math.imul(B,ne)|0,n=n+Math.imul(_,fe)|0,b=(b=b+Math.imul(_,de)|0)+Math.imul(k,fe)|0,f=f+Math.imul(k,de)|0,n=n+Math.imul(E,ie)|0,b=(b=b+Math.imul(E,pe)|0)+Math.imul(S,ie)|0,f=f+Math.imul(S,pe)|0,n=n+Math.imul(g,ye)|0,b=(b=b+Math.imul(g,re)|0)+Math.imul(A,ye)|0,f=f+Math.imul(A,re)|0;var De=(p+(n=n+Math.imul(v,le)|0)|0)+((8191&(b=(b=b+Math.imul(v,oe)|0)+Math.imul(x,le)|0))<<13)|0;p=((f=f+Math.imul(x,oe)|0)+(b>>>13)|0)+(De>>>26)|0,De&=67108863,n=Math.imul(K,J),b=(b=Math.imul(K,ee))+Math.imul(L,J)|0,f=Math.imul(L,ee),n=n+Math.imul(I,te)|0,b=(b=b+Math.imul(I,ne)|0)+Math.imul(N,te)|0,f=f+Math.imul(N,ne)|0,n=n+Math.imul(R,fe)|0,b=(b=b+Math.imul(R,de)|0)+Math.imul(B,fe)|0,f=f+Math.imul(B,de)|0,n=n+Math.imul(_,ie)|0,b=(b=b+Math.imul(_,pe)|0)+Math.imul(k,ie)|0,f=f+Math.imul(k,pe)|0,n=n+Math.imul(E,ye)|0,b=(b=b+Math.imul(E,re)|0)+Math.imul(S,ye)|0,f=f+Math.imul(S,re)|0;var _e=(p+(n=n+Math.imul(g,le)|0)|0)+((8191&(b=(b=b+Math.imul(g,oe)|0)+Math.imul(A,le)|0))<<13)|0;p=((f=f+Math.imul(A,oe)|0)+(b>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(K,te),b=(b=Math.imul(K,ne))+Math.imul(L,te)|0,f=Math.imul(L,ne),n=n+Math.imul(I,fe)|0,b=(b=b+Math.imul(I,de)|0)+Math.imul(N,fe)|0,f=f+Math.imul(N,de)|0,n=n+Math.imul(R,ie)|0,b=(b=b+Math.imul(R,pe)|0)+Math.imul(B,ie)|0,f=f+Math.imul(B,pe)|0,n=n+Math.imul(_,ye)|0,b=(b=b+Math.imul(_,re)|0)+Math.imul(k,ye)|0,f=f+Math.imul(k,re)|0;var ke=(p+(n=n+Math.imul(E,le)|0)|0)+((8191&(b=(b=b+Math.imul(E,oe)|0)+Math.imul(S,le)|0))<<13)|0;p=((f=f+Math.imul(S,oe)|0)+(b>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(K,fe),b=(b=Math.imul(K,de))+Math.imul(L,fe)|0,f=Math.imul(L,de),n=n+Math.imul(I,ie)|0,b=(b=b+Math.imul(I,pe)|0)+Math.imul(N,ie)|0,f=f+Math.imul(N,pe)|0,n=n+Math.imul(R,ye)|0,b=(b=b+Math.imul(R,re)|0)+Math.imul(B,ye)|0,f=f+Math.imul(B,re)|0;var Fe=(p+(n=n+Math.imul(_,le)|0)|0)+((8191&(b=(b=b+Math.imul(_,oe)|0)+Math.imul(k,le)|0))<<13)|0;p=((f=f+Math.imul(k,oe)|0)+(b>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(K,ie),b=(b=Math.imul(K,pe))+Math.imul(L,ie)|0,f=Math.imul(L,pe),n=n+Math.imul(I,ye)|0,b=(b=b+Math.imul(I,re)|0)+Math.imul(N,ye)|0,f=f+Math.imul(N,re)|0;var Re=(p+(n=n+Math.imul(R,le)|0)|0)+((8191&(b=(b=b+Math.imul(R,oe)|0)+Math.imul(B,le)|0))<<13)|0;p=((f=f+Math.imul(B,oe)|0)+(b>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(K,ye),b=(b=Math.imul(K,re))+Math.imul(L,ye)|0,f=Math.imul(L,re);var Be=(p+(n=n+Math.imul(I,le)|0)|0)+((8191&(b=(b=b+Math.imul(I,oe)|0)+Math.imul(N,le)|0))<<13)|0;p=((f=f+Math.imul(N,oe)|0)+(b>>>13)|0)+(Be>>>26)|0,Be&=67108863;var Oe=(p+(n=Math.imul(K,le))|0)+((8191&(b=(b=Math.imul(K,oe))+Math.imul(L,le)|0))<<13)|0;return p=((f=Math.imul(L,oe))+(b>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,i[0]=me,i[1]=Te,i[2]=we,i[3]=he,i[4]=ve,i[5]=xe,i[6]=Me,i[7]=ge,i[8]=Ae,i[9]=Ce,i[10]=Ee,i[11]=Se,i[12]=De,i[13]=_e,i[14]=ke,i[15]=Fe,i[16]=Re,i[17]=Be,i[18]=Oe,0!==p&&(i[19]=p,t.length++),t};function o(e,a,t){return(new m).mulp(e,a,t)}function m(e,a){this.x=e,this.y=a}Math.imul||(l=c),f.prototype.mulTo=function(e,a){var t=this.length+e.length;return 10===this.length&&10===e.length?l(this,e,a):t<63?c(this,e,a):t<1024?function(e,a,t){t.negative=a.negative^e.negative,t.length=e.length+a.length;for(var n=0,b=0,f=0;f<t.length-1;f++){var d=b;b=0;for(var s=67108863&n,i=Math.min(f,a.length-1),p=Math.max(0,f-e.length+1);p<=i;p++){var u=f-p,y=(0|e.words[u])*(0|a.words[p]),r=67108863&y;s=67108863&(r=r+s|0),b+=(d=(d=d+(y/67108864|0)|0)+(r>>>26)|0)>>>26,d&=67108863}t.words[f]=s,n=d,d=b}return 0!==n?t.words[f]=n:t.length--,t.strip()}(this,e,a):o(this,e,a)},m.prototype.makeRBT=function(e){for(var a=new Array(e),t=f.prototype._countBits(e)-1,n=0;n<e;n++)a[n]=this.revBin(n,t,e);return a},m.prototype.revBin=function(e,a,t){if(0===e||e===t-1)return e;for(var n=0,b=0;b<a;b++)n|=(1&e)<<a-b-1,e>>=1;return n},m.prototype.permute=function(e,a,t,n,b,f){for(var d=0;d<f;d++)n[d]=a[e[d]],b[d]=t[e[d]]},m.prototype.transform=function(e,a,t,n,b,f){this.permute(f,e,a,t,n,b);for(var d=1;d<b;d<<=1)for(var s=d<<1,i=Math.cos(2*Math.PI/s),p=Math.sin(2*Math.PI/s),u=0;u<b;u+=s)for(var y=i,r=p,c=0;c<d;c++){var l=t[u+c],o=n[u+c],m=t[u+c+d],T=n[u+c+d],w=y*m-r*T;T=y*T+r*m,m=w,t[u+c]=l+m,n[u+c]=o+T,t[u+c+d]=l-m,n[u+c+d]=o-T,c!==s&&(w=i*y-p*r,r=i*r+p*y,y=w)}},m.prototype.guessLen13b=function(e,a){var t=1|Math.max(a,e),n=1&t,b=0;for(t=t/2|0;t;t>>>=1)b++;return 1<<b+1+n},m.prototype.conjugate=function(e,a,t){if(!(t<=1))for(var n=0;n<t/2;n++){var b=e[n];e[n]=e[t-n-1],e[t-n-1]=b,b=a[n],a[n]=-a[t-n-1],a[t-n-1]=-b}},m.prototype.normalize13b=function(e,a){for(var t=0,n=0;n<a/2;n++){var b=8192*Math.round(e[2*n+1]/a)+Math.round(e[2*n]/a)+t;e[n]=67108863&b,t=b<67108864?0:b/67108864|0}return e},m.prototype.convert13b=function(e,a,t,b){for(var f=0,d=0;d<a;d++)f+=0|e[d],t[2*d]=8191&f,f>>>=13,t[2*d+1]=8191&f,f>>>=13;for(d=2*a;d<b;++d)t[d]=0;n(0===f),n(0==(-8192&f))},m.prototype.stub=function(e){for(var a=new Array(e),t=0;t<e;t++)a[t]=0;return a},m.prototype.mulp=function(e,a,t){var n=2*this.guessLen13b(e.length,a.length),b=this.makeRBT(n),f=this.stub(n),d=new Array(n),s=new Array(n),i=new Array(n),p=new Array(n),u=new Array(n),y=new Array(n),r=t.words;r.length=n,this.convert13b(e.words,e.length,d,n),this.convert13b(a.words,a.length,p,n),this.transform(d,f,s,i,n,b),this.transform(p,f,u,y,n,b);for(var c=0;c<n;c++){var l=s[c]*u[c]-i[c]*y[c];i[c]=s[c]*y[c]+i[c]*u[c],s[c]=l}return this.conjugate(s,i,n),this.transform(s,i,r,f,n,b),this.conjugate(r,f,n),this.normalize13b(r,n),t.negative=e.negative^a.negative,t.length=e.length+a.length,t.strip()},f.prototype.mul=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),this.mulTo(e,a)},f.prototype.mulf=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),o(this,e,a)},f.prototype.imul=function(e){return this.clone().mulTo(e,this)},f.prototype.imuln=function(e){n("number"==typeof e),n(e<67108864);for(var a=0,t=0;t<this.length;t++){var b=(0|this.words[t])*e,f=(67108863&b)+(67108863&a);a>>=26,a+=b/67108864|0,a+=f>>>26,this.words[t]=67108863&f}return 0!==a&&(this.words[t]=a,this.length++),this},f.prototype.muln=function(e){return this.clone().imuln(e)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(e){var a=function(e){for(var a=new Array(e.bitLength()),t=0;t<a.length;t++){var n=t/26|0,b=t%26;a[t]=(e.words[n]&1<<b)>>>b}return a}(e);if(0===a.length)return new f(1);for(var t=this,n=0;n<a.length&&0===a[n];n++,t=t.sqr());if(++n<a.length)for(var b=t.sqr();n<a.length;n++,b=b.sqr())0!==a[n]&&(t=t.mul(b));return t},f.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var a,t=e%26,b=(e-t)/26,f=67108863>>>26-t<<26-t;if(0!==t){var d=0;for(a=0;a<this.length;a++){var s=this.words[a]&f,i=(0|this.words[a])-s<<t;this.words[a]=i|d,d=s>>>26-t}d&&(this.words[a]=d,this.length++)}if(0!==b){for(a=this.length-1;a>=0;a--)this.words[a+b]=this.words[a];for(a=0;a<b;a++)this.words[a]=0;this.length+=b}return this.strip()},f.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},f.prototype.iushrn=function(e,a,t){var b;n("number"==typeof e&&e>=0),b=a?(a-a%26)/26:0;var f=e%26,d=Math.min((e-f)/26,this.length),s=67108863^67108863>>>f<<f,i=t;if(b-=d,b=Math.max(0,b),i){for(var p=0;p<d;p++)i.words[p]=this.words[p];i.length=d}if(0===d);else if(this.length>d)for(this.length-=d,p=0;p<this.length;p++)this.words[p]=this.words[p+d];else this.words[0]=0,this.length=1;var u=0;for(p=this.length-1;p>=0&&(0!==u||p>=b);p--){var y=0|this.words[p];this.words[p]=u<<26-f|y>>>f,u=y&s}return i&&0!==u&&(i.words[i.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(e,a,t){return n(0===this.negative),this.iushrn(e,a,t)},f.prototype.shln=function(e){return this.clone().ishln(e)},f.prototype.ushln=function(e){return this.clone().iushln(e)},f.prototype.shrn=function(e){return this.clone().ishrn(e)},f.prototype.ushrn=function(e){return this.clone().iushrn(e)},f.prototype.testn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26,b=1<<a;return!(this.length<=t)&&!!(this.words[t]&b)},f.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=t)return this;if(0!==a&&t++,this.length=Math.min(t,this.length),0!==a){var b=67108863^67108863>>>a<<a;this.words[this.length-1]&=b}return this.strip()},f.prototype.maskn=function(e){return this.clone().imaskn(e)},f.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},f.prototype._iaddn=function(e){this.words[0]+=e;for(var a=0;a<this.length&&this.words[a]>=67108864;a++)this.words[a]-=67108864,a===this.length-1?this.words[a+1]=1:this.words[a+1]++;return this.length=Math.max(this.length,a+1),this},f.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var a=0;a<this.length&&this.words[a]<0;a++)this.words[a]+=67108864,this.words[a+1]-=1;return this.strip()},f.prototype.addn=function(e){return this.clone().iaddn(e)},f.prototype.subn=function(e){return this.clone().isubn(e)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(e,a,t){var b,f,d=e.length+t;this._expand(d);var s=0;for(b=0;b<e.length;b++){f=(0|this.words[b+t])+s;var i=(0|e.words[b])*a;s=((f-=67108863&i)>>26)-(i/67108864|0),this.words[b+t]=67108863&f}for(;b<this.length-t;b++)s=(f=(0|this.words[b+t])+s)>>26,this.words[b+t]=67108863&f;if(0===s)return this.strip();for(n(-1===s),s=0,b=0;b<this.length;b++)s=(f=-(0|this.words[b])+s)>>26,this.words[b]=67108863&f;return this.negative=1,this.strip()},f.prototype._wordDiv=function(e,a){var t=(this.length,e.length),n=this.clone(),b=e,d=0|b.words[b.length-1];0!==(t=26-this._countBits(d))&&(b=b.ushln(t),n.iushln(t),d=0|b.words[b.length-1]);var s,i=n.length-b.length;if("mod"!==a){(s=new f(null)).length=i+1,s.words=new Array(s.length);for(var p=0;p<s.length;p++)s.words[p]=0}var u=n.clone()._ishlnsubmul(b,1,i);0===u.negative&&(n=u,s&&(s.words[i]=1));for(var y=i-1;y>=0;y--){var r=67108864*(0|n.words[b.length+y])+(0|n.words[b.length+y-1]);for(r=Math.min(r/d|0,67108863),n._ishlnsubmul(b,r,y);0!==n.negative;)r--,n.negative=0,n._ishlnsubmul(b,1,y),n.isZero()||(n.negative^=1);s&&(s.words[y]=r)}return s&&s.strip(),n.strip(),"div"!==a&&0!==t&&n.iushrn(t),{div:s||null,mod:n}},f.prototype.divmod=function(e,a,t){return n(!e.isZero()),this.isZero()?{div:new f(0),mod:new f(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,a),"mod"!==a&&(b=s.div.neg()),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.iadd(e)),{div:b,mod:d}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),a),"mod"!==a&&(b=s.div.neg()),{div:b,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),a),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.isub(e)),{div:s.div,mod:d}):e.length>this.length||this.cmp(e)<0?{div:new f(0),mod:this}:1===e.length?"div"===a?{div:this.divn(e.words[0]),mod:null}:"mod"===a?{div:null,mod:new f(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new f(this.modn(e.words[0]))}:this._wordDiv(e,a);var b,d,s},f.prototype.div=function(e){return this.divmod(e,"div",!1).div},f.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},f.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},f.prototype.divRound=function(e){var a=this.divmod(e);if(a.mod.isZero())return a.div;var t=0!==a.div.negative?a.mod.isub(e):a.mod,n=e.ushrn(1),b=e.andln(1),f=t.cmp(n);return f<0||1===b&&0===f?a.div:0!==a.div.negative?a.div.isubn(1):a.div.iaddn(1)},f.prototype.modn=function(e){n(e<=67108863);for(var a=(1<<26)%e,t=0,b=this.length-1;b>=0;b--)t=(a*t+(0|this.words[b]))%e;return t},f.prototype.idivn=function(e){n(e<=67108863);for(var a=0,t=this.length-1;t>=0;t--){var b=(0|this.words[t])+67108864*a;this.words[t]=b/e|0,a=b%e}return this.strip()},f.prototype.divn=function(e){return this.clone().idivn(e)},f.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b=new f(1),d=new f(0),s=new f(0),i=new f(1),p=0;a.isEven()&&t.isEven();)a.iushrn(1),t.iushrn(1),++p;for(var u=t.clone(),y=a.clone();!a.isZero();){for(var r=0,c=1;0==(a.words[0]&c)&&r<26;++r,c<<=1);if(r>0)for(a.iushrn(r);r-- >0;)(b.isOdd()||d.isOdd())&&(b.iadd(u),d.isub(y)),b.iushrn(1),d.iushrn(1);for(var l=0,o=1;0==(t.words[0]&o)&&l<26;++l,o<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(s.isOdd()||i.isOdd())&&(s.iadd(u),i.isub(y)),s.iushrn(1),i.iushrn(1);a.cmp(t)>=0?(a.isub(t),b.isub(s),d.isub(i)):(t.isub(a),s.isub(b),i.isub(d))}return{a:s,b:i,gcd:t.iushln(p)}},f.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b,d=new f(1),s=new f(0),i=t.clone();a.cmpn(1)>0&&t.cmpn(1)>0;){for(var p=0,u=1;0==(a.words[0]&u)&&p<26;++p,u<<=1);if(p>0)for(a.iushrn(p);p-- >0;)d.isOdd()&&d.iadd(i),d.iushrn(1);for(var y=0,r=1;0==(t.words[0]&r)&&y<26;++y,r<<=1);if(y>0)for(t.iushrn(y);y-- >0;)s.isOdd()&&s.iadd(i),s.iushrn(1);a.cmp(t)>=0?(a.isub(t),d.isub(s)):(t.isub(a),s.isub(d))}return(b=0===a.cmpn(1)?d:s).cmpn(0)<0&&b.iadd(e),b},f.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var a=this.clone(),t=e.clone();a.negative=0,t.negative=0;for(var n=0;a.isEven()&&t.isEven();n++)a.iushrn(1),t.iushrn(1);for(;;){for(;a.isEven();)a.iushrn(1);for(;t.isEven();)t.iushrn(1);var b=a.cmp(t);if(b<0){var f=a;a=t,t=f}else if(0===b||0===t.cmpn(1))break;a.isub(t)}return t.iushln(n)},f.prototype.invm=function(e){return this.egcd(e).a.umod(e)},f.prototype.isEven=function(){return 0==(1&this.words[0])},f.prototype.isOdd=function(){return 1==(1&this.words[0])},f.prototype.andln=function(e){return this.words[0]&e},f.prototype.bincn=function(e){n("number"==typeof e);var a=e%26,t=(e-a)/26,b=1<<a;if(this.length<=t)return this._expand(t+1),this.words[t]|=b,this;for(var f=b,d=t;0!==f&&d<this.length;d++){var s=0|this.words[d];f=(s+=f)>>>26,s&=67108863,this.words[d]=s}return 0!==f&&(this.words[d]=f,this.length++),this},f.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},f.prototype.cmpn=function(e){var a,t=e<0;if(0!==this.negative&&!t)return-1;if(0===this.negative&&t)return 1;if(this.strip(),this.length>1)a=1;else{t&&(e=-e),n(e<=67108863,"Number is too big");var b=0|this.words[0];a=b===e?0:b<e?-1:1}return 0!==this.negative?0|-a:a},f.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var a=this.ucmp(e);return 0!==this.negative?0|-a:a},f.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var a=0,t=this.length-1;t>=0;t--){var n=0|this.words[t],b=0|e.words[t];if(n!==b){n<b?a=-1:n>b&&(a=1);break}}return a},f.prototype.gtn=function(e){return 1===this.cmpn(e)},f.prototype.gt=function(e){return 1===this.cmp(e)},f.prototype.gten=function(e){return this.cmpn(e)>=0},f.prototype.gte=function(e){return this.cmp(e)>=0},f.prototype.ltn=function(e){return-1===this.cmpn(e)},f.prototype.lt=function(e){return-1===this.cmp(e)},f.prototype.lten=function(e){return this.cmpn(e)<=0},f.prototype.lte=function(e){return this.cmp(e)<=0},f.prototype.eqn=function(e){return 0===this.cmpn(e)},f.prototype.eq=function(e){return 0===this.cmp(e)},f.red=function(e){return new g(e)},f.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},f.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(e){return this.red=e,this},f.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},f.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},f.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},f.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},f.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},f.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},f.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},f.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},f.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var T={k256:null,p224:null,p192:null,p25519:null};function w(e,a){this.name=e,this.p=new f(a,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function h(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function v(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function x(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function g(e){if("string"==typeof e){var a=f._prime(e);this.m=a.p,this.prime=a}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function A(e){g.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new f(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var e=new f(null);return e.words=new Array(Math.ceil(this.n/13)),e},w.prototype.ireduce=function(e){var a,t=e;do{this.split(t,this.tmp),a=(t=(t=this.imulK(t)).iadd(this.tmp)).bitLength()}while(a>this.n);var n=a<this.n?-1:t.ucmp(this.p);return 0===n?(t.words[0]=0,t.length=1):n>0?t.isub(this.p):void 0!==t.strip?t.strip():t._strip(),t},w.prototype.split=function(e,a){e.iushrn(this.n,0,a)},w.prototype.imulK=function(e){return e.imul(this.k)},b(h,w),h.prototype.split=function(e,a){for(var t=Math.min(e.length,9),n=0;n<t;n++)a.words[n]=e.words[n];if(a.length=t,e.length<=9)return e.words[0]=0,void(e.length=1);var b=e.words[9];for(a.words[a.length++]=4194303&b,n=10;n<e.length;n++){var f=0|e.words[n];e.words[n-10]=(4194303&f)<<4|b>>>22,b=f}b>>>=22,e.words[n-10]=b,0===b&&e.length>10?e.length-=10:e.length-=9},h.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var a=0,t=0;t<e.length;t++){var n=0|e.words[t];a+=977*n,e.words[t]=67108863&a,a=64*n+(a/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},b(v,w),b(x,w),b(M,w),M.prototype.imulK=function(e){for(var a=0,t=0;t<e.length;t++){var n=19*(0|e.words[t])+a,b=67108863&n;n>>>=26,e.words[t]=b,a=n}return 0!==a&&(e.words[e.length++]=a),e},f._prime=function(e){if(T[e])return T[e];var a;if("k256"===e)a=new h;else if("p224"===e)a=new v;else if("p192"===e)a=new x;else{if("p25519"!==e)throw new Error("Unknown prime "+e);a=new M}return T[e]=a,a},g.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},g.prototype._verify2=function(e,a){n(0==(e.negative|a.negative),"red works only with positives"),n(e.red&&e.red===a.red,"red works only with red numbers")},g.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},g.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},g.prototype.add=function(e,a){this._verify2(e,a);var t=e.add(a);return t.cmp(this.m)>=0&&t.isub(this.m),t._forceRed(this)},g.prototype.iadd=function(e,a){this._verify2(e,a);var t=e.iadd(a);return t.cmp(this.m)>=0&&t.isub(this.m),t},g.prototype.sub=function(e,a){this._verify2(e,a);var t=e.sub(a);return t.cmpn(0)<0&&t.iadd(this.m),t._forceRed(this)},g.prototype.isub=function(e,a){this._verify2(e,a);var t=e.isub(a);return t.cmpn(0)<0&&t.iadd(this.m),t},g.prototype.shl=function(e,a){return this._verify1(e),this.imod(e.ushln(a))},g.prototype.imul=function(e,a){return this._verify2(e,a),this.imod(e.imul(a))},g.prototype.mul=function(e,a){return this._verify2(e,a),this.imod(e.mul(a))},g.prototype.isqr=function(e){return this.imul(e,e.clone())},g.prototype.sqr=function(e){return this.mul(e,e)},g.prototype.sqrt=function(e){if(e.isZero())return e.clone();var a=this.m.andln(3);if(n(a%2==1),3===a){var t=this.m.add(new f(1)).iushrn(2);return this.pow(e,t)}for(var b=this.m.subn(1),d=0;!b.isZero()&&0===b.andln(1);)d++,b.iushrn(1);n(!b.isZero());var s=new f(1).toRed(this),i=s.redNeg(),p=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new f(2*u*u).toRed(this);0!==this.pow(u,p).cmp(i);)u.redIAdd(i);for(var y=this.pow(u,b),r=this.pow(e,b.addn(1).iushrn(1)),c=this.pow(e,b),l=d;0!==c.cmp(s);){for(var o=c,m=0;0!==o.cmp(s);m++)o=o.redSqr();n(m<l);var T=this.pow(y,new f(1).iushln(l-m-1));r=r.redMul(T),y=T.redSqr(),c=c.redMul(y),l=m}return r},g.prototype.invm=function(e){var a=e._invmp(this.m);return 0!==a.negative?(a.negative=0,this.imod(a).redNeg()):this.imod(a)},g.prototype.pow=function(e,a){if(a.isZero())return new f(1).toRed(this);if(0===a.cmpn(1))return e.clone();var t=new Array(16);t[0]=new f(1).toRed(this),t[1]=e;for(var n=2;n<t.length;n++)t[n]=this.mul(t[n-1],e);var b=t[0],d=0,s=0,i=a.bitLength()%26;for(0===i&&(i=26),n=a.length-1;n>=0;n--){for(var p=a.words[n],u=i-1;u>=0;u--){var y=p>>u&1;b!==t[0]&&(b=this.sqr(b)),0!==y||0!==d?(d<<=1,d|=y,(4===++s||0===n&&0===u)&&(b=this.mul(b,t[d]),s=0,d=0)):s=0}i=26}return b},g.prototype.convertTo=function(e){var a=e.umod(this.m);return a===e?a.clone():a},g.prototype.convertFrom=function(e){var a=e.clone();return a.red=null,a},f.mont=function(e){return new A(e)},b(A,g),A.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},A.prototype.convertFrom=function(e){var a=this.imod(e.mul(this.rinv));return a.red=null,a},A.prototype.imul=function(e,a){if(e.isZero()||a.isZero())return e.words[0]=0,e.length=1,e;var t=e.imul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),f=b;return b.cmp(this.m)>=0?f=b.isub(this.m):b.cmpn(0)<0&&(f=b.iadd(this.m)),f._forceRed(this)},A.prototype.mul=function(e,a){if(e.isZero()||a.isZero())return new f(0)._forceRed(this);var t=e.mul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),d=b;return b.cmp(this.m)>=0?d=b.isub(this.m):b.cmpn(0)<0&&(d=b.iadd(this.m)),d._forceRed(this)},A.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,t(7)(e))},function(e,a,t){"use strict";(function(a){var n=t(97);
/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
 * @license  MIT
 */function b(e,a){if(e===a)return 0;for(var t=e.length,n=a.length,b=0,f=Math.min(t,n);b<f;++b)if(e[b]!==a[b]){t=e[b],n=a[b];break}return t<n?-1:n<t?1:0}function f(e){return a.Buffer&&"function"==typeof a.Buffer.isBuffer?a.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var d=t(98),s=Object.prototype.hasOwnProperty,i=Array.prototype.slice,p="foo"===function(){}.name;function u(e){return Object.prototype.toString.call(e)}function y(e){return!f(e)&&("function"==typeof a.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}var r=e.exports=w,c=/\s*function\s+([^\(\s]*)\s*/;function l(e){if(d.isFunction(e)){if(p)return e.name;var a=e.toString().match(c);return a&&a[1]}}function o(e,a){return"string"==typeof e?e.length<a?e:e.slice(0,a):e}function m(e){if(p||!d.isFunction(e))return d.inspect(e);var a=l(e);return"[Function"+(a?": "+a:"")+"]"}function T(e,a,t,n,b){throw new r.AssertionError({message:t,actual:e,expected:a,operator:n,stackStartFunction:b})}function w(e,a){e||T(e,!0,a,"==",r.ok)}function h(e,a,t,n){if(e===a)return!0;if(f(e)&&f(a))return 0===b(e,a);if(d.isDate(e)&&d.isDate(a))return e.getTime()===a.getTime();if(d.isRegExp(e)&&d.isRegExp(a))return e.source===a.source&&e.global===a.global&&e.multiline===a.multiline&&e.lastIndex===a.lastIndex&&e.ignoreCase===a.ignoreCase;if(null!==e&&"object"==typeof e||null!==a&&"object"==typeof a){if(y(e)&&y(a)&&u(e)===u(a)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===b(new Uint8Array(e.buffer),new Uint8Array(a.buffer));if(f(e)!==f(a))return!1;var s=(n=n||{actual:[],expected:[]}).actual.indexOf(e);return-1!==s&&s===n.expected.indexOf(a)||(n.actual.push(e),n.expected.push(a),function(e,a,t,n){if(null==e||null==a)return!1;if(d.isPrimitive(e)||d.isPrimitive(a))return e===a;if(t&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(a))return!1;var b=v(e),f=v(a);if(b&&!f||!b&&f)return!1;if(b)return e=i.call(e),a=i.call(a),h(e,a,t);var s,p,u=g(e),y=g(a);if(u.length!==y.length)return!1;for(u.sort(),y.sort(),p=u.length-1;p>=0;p--)if(u[p]!==y[p])return!1;for(p=u.length-1;p>=0;p--)if(s=u[p],!h(e[s],a[s],t,n))return!1;return!0}(e,a,t,n))}return t?e===a:e==a}function v(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function x(e,a){if(!e||!a)return!1;if("[object RegExp]"==Object.prototype.toString.call(a))return a.test(e);try{if(e instanceof a)return!0}catch(e){}return!Error.isPrototypeOf(a)&&!0===a.call({},e)}function M(e,a,t,n){var b;if("function"!=typeof a)throw new TypeError('"block" argument must be a function');"string"==typeof t&&(n=t,t=null),b=function(e){var a;try{e()}catch(e){a=e}return a}(a),n=(t&&t.name?" ("+t.name+").":".")+(n?" "+n:"."),e&&!b&&T(b,t,"Missing expected exception"+n);var f="string"==typeof n,s=!e&&b&&!t;if((!e&&d.isError(b)&&f&&x(b,t)||s)&&T(b,t,"Got unwanted exception"+n),e&&b&&t&&!x(b,t)||!e&&b)throw b}r.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return o(m(e.actual),128)+" "+e.operator+" "+o(m(e.expected),128)}(this),this.generatedMessage=!0);var a=e.stackStartFunction||T;if(Error.captureStackTrace)Error.captureStackTrace(this,a);else{var t=new Error;if(t.stack){var n=t.stack,b=l(a),f=n.indexOf("\n"+b);if(f>=0){var d=n.indexOf("\n",f+1);n=n.substring(d+1)}this.stack=n}}},d.inherits(r.AssertionError,Error),r.fail=T,r.ok=w,r.equal=function(e,a,t){e!=a&&T(e,a,t,"==",r.equal)},r.notEqual=function(e,a,t){e==a&&T(e,a,t,"!=",r.notEqual)},r.deepEqual=function(e,a,t){h(e,a,!1)||T(e,a,t,"deepEqual",r.deepEqual)},r.deepStrictEqual=function(e,a,t){h(e,a,!0)||T(e,a,t,"deepStrictEqual",r.deepStrictEqual)},r.notDeepEqual=function(e,a,t){h(e,a,!1)&&T(e,a,t,"notDeepEqual",r.notDeepEqual)},r.notDeepStrictEqual=function e(a,t,n){h(a,t,!0)&&T(a,t,n,"notDeepStrictEqual",e)},r.strictEqual=function(e,a,t){e!==a&&T(e,a,t,"===",r.strictEqual)},r.notStrictEqual=function(e,a,t){e===a&&T(e,a,t,"!==",r.notStrictEqual)},r.throws=function(e,a,t){M(!0,e,a,t)},r.doesNotThrow=function(e,a,t){M(!1,e,a,t)},r.ifError=function(e){if(e)throw e},r.strict=n((function e(a,t){a||T(a,!0,t,"==",e)}),r,{equal:r.strictEqual,deepEqual:r.deepStrictEqual,notEqual:r.notStrictEqual,notDeepEqual:r.notDeepStrictEqual}),r.strict.strict=r.strict;var g=Object.keys||function(e){var a=[];for(var t in e)s.call(e,t)&&a.push(t);return a}}).call(this,t(2))},function(e,a,t){"use strict";var n,b=a,f=t(31),d=t(53),s=t(4).assert;function i(e){"short"===e.type?this.curve=new d.short(e):"edwards"===e.type?this.curve=new d.edwards(e):this.curve=new d.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function p(e,a){Object.defineProperty(b,e,{configurable:!0,enumerable:!0,get:function(){var t=new i(a);return Object.defineProperty(b,e,{configurable:!0,enumerable:!0,value:t}),t}})}b.PresetCurve=i,p("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:f.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),p("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:f.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),p("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:f.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),p("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:f.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),p("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:f.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),p("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:f.sha256,gRed:!1,g:["9"]}),p("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:f.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=t(116)}catch(e){n=void 0}p("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:f.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},function(e,a,t){var n=a;n.utils=t(6),n.common=t(18),n.sha=t(110),n.ripemd=t(114),n.hmac=t(115),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},function(e,a,t){"use strict";(function(e){Object.defineProperty(a,"__esModule",{value:!0}),a.rlphash=a.ripemd160FromArray=a.ripemd160FromString=a.ripemd160=a.sha256FromArray=a.sha256FromString=a.sha256=a.keccakFromArray=a.keccakFromHexString=a.keccakFromString=a.keccak256=a.keccak=void 0;var n=t(125),b=t(141),f=t(8),d=t(11),s=t(23);a.keccak=function(e,a){switch(void 0===a&&(a=256),(0,s.assertIsBuffer)(e),a){case 224:return(0,n.keccak224)(e);case 256:return(0,n.keccak256)(e);case 384:return(0,n.keccak384)(e);case 512:return(0,n.keccak512)(e);default:throw new Error("Invald algorithm: keccak".concat(a))}};a.keccak256=function(e){return(0,a.keccak)(e)};a.keccakFromString=function(t,n){void 0===n&&(n=256),(0,s.assertIsString)(t);var b=e.from(t,"utf8");return(0,a.keccak)(b,n)};a.keccakFromHexString=function(e,t){return void 0===t&&(t=256),(0,s.assertIsHexString)(e),(0,a.keccak)((0,d.toBuffer)(e),t)};a.keccakFromArray=function(e,t){return void 0===t&&(t=256),(0,s.assertIsArray)(e),(0,a.keccak)((0,d.toBuffer)(e),t)};var i=function(e){return e=(0,d.toBuffer)(e),b("sha256").update(e).digest()};a.sha256=function(e){return(0,s.assertIsBuffer)(e),i(e)};a.sha256FromString=function(e){return(0,s.assertIsString)(e),i(e)};a.sha256FromArray=function(e){return(0,s.assertIsArray)(e),i(e)};var p=function(e,a){e=(0,d.toBuffer)(e);var t=b("rmd160").update(e).digest();return!0===a?(0,d.setLengthLeft)(t,32):t};a.ripemd160=function(e,a){return(0,s.assertIsBuffer)(e),p(e,a)};a.ripemd160FromString=function(e,a){return(0,s.assertIsString)(e),p(e,a)};a.ripemd160FromArray=function(e,a){return(0,s.assertIsArray)(e),p(e,a)};a.rlphash=function(e){return(0,a.keccak)(f.rlp.encode(e))}}).call(this,t(0).Buffer)},function(e,a,t){(a=e.exports=t(57)).Stream=a,a.Readable=a,a.Writable=t(61),a.Duplex=t(15),a.Transform=t(63),a.PassThrough=t(136),a.finished=t(34),a.pipeline=t(137)},function(e,a,t){"use strict";var n=t(14).codes.ERR_STREAM_PREMATURE_CLOSE;function b(){}e.exports=function e(a,t,f){if("function"==typeof t)return e(a,null,t);t||(t={}),f=function(e){var a=!1;return function(){if(!a){a=!0;for(var t=arguments.length,n=new Array(t),b=0;b<t;b++)n[b]=arguments[b];e.apply(this,n)}}}(f||b);var d=t.readable||!1!==t.readable&&a.readable,s=t.writable||!1!==t.writable&&a.writable,i=function(){a.writable||u()},p=a._writableState&&a._writableState.finished,u=function(){s=!1,p=!0,d||f.call(a)},y=a._readableState&&a._readableState.endEmitted,r=function(){d=!1,y=!0,s||f.call(a)},c=function(e){f.call(a,e)},l=function(){var e;return d&&!y?(a._readableState&&a._readableState.ended||(e=new n),f.call(a,e)):s&&!p?(a._writableState&&a._writableState.ended||(e=new n),f.call(a,e)):void 0},o=function(){a.req.on("finish",u)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(a)?s&&!a._writableState&&(a.on("end",i),a.on("close",i)):(a.on("complete",u),a.on("abort",l),a.req?o():a.on("request",o)),a.on("end",r),a.on("finish",u),!1!==t.error&&a.on("error",c),a.on("close",l),function(){a.removeListener("complete",u),a.removeListener("abort",l),a.removeListener("request",o),a.req&&a.req.removeListener("finish",u),a.removeListener("end",i),a.removeListener("close",i),a.removeListener("finish",u),a.removeListener("end",r),a.removeListener("error",c),a.removeListener("close",l)}}},function(e,a,t){(a=e.exports=t(67)).Stream=a,a.Readable=a,a.Writable=t(37),a.Duplex=t(12),a.Transform=t(70),a.PassThrough=t(157)},function(e,a,t){var n=t(0),b=n.Buffer;function f(e,a){for(var t in e)a[t]=e[t]}function d(e,a,t){return b(e,a,t)}b.from&&b.alloc&&b.allocUnsafe&&b.allocUnsafeSlow?e.exports=n:(f(n,a),a.Buffer=d),f(b,d),d.from=function(e,a,t){if("number"==typeof e)throw new TypeError("Argument must not be a number");return b(e,a,t)},d.alloc=function(e,a,t){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=b(e);return void 0!==a?"string"==typeof t?n.fill(a,t):n.fill(a):n.fill(0),n},d.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return b(e)},d.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,a,t){"use strict";(function(a,n,b){var f=t(24);function d(e){var a=this;this.next=null,this.entry=null,this.finish=function(){!function(e,a,t){var n=e.entry;e.entry=null;for(;n;){var b=n.callback;a.pendingcb--,b(t),n=n.next}a.corkedRequestsFree?a.corkedRequestsFree.next=e:a.corkedRequestsFree=e}(a,e)}}e.exports=w;var s,i=!a.browser&&["v0.10","v0.9."].indexOf(a.version.slice(0,5))>-1?n:f.nextTick;w.WritableState=T;var p=Object.create(t(21));p.inherits=t(1);var u={deprecate:t(62)},y=t(68),r=t(36).Buffer,c=b.Uint8Array||function(){};var l,o=t(69);function m(){}function T(e,a){s=s||t(12),e=e||{};var n=a instanceof s;this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var b=e.highWaterMark,p=e.writableHighWaterMark,u=this.objectMode?16:16384;this.highWaterMark=b||0===b?b:n&&(p||0===p)?p:u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var y=!1===e.decodeStrings;this.decodeStrings=!y,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,a){var t=e._writableState,n=t.sync,b=t.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(t),a)!function(e,a,t,n,b){--a.pendingcb,t?(f.nextTick(b,n),f.nextTick(A,e,a),e._writableState.errorEmitted=!0,e.emit("error",n)):(b(n),e._writableState.errorEmitted=!0,e.emit("error",n),A(e,a))}(e,t,n,a,b);else{var d=M(t);d||t.corked||t.bufferProcessing||!t.bufferedRequest||x(e,t),n?i(v,e,t,d,b):v(e,t,d,b)}}(a,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new d(this)}function w(e){if(s=s||t(12),!(l.call(w,this)||this instanceof s))return new w(e);this._writableState=new T(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),y.call(this)}function h(e,a,t,n,b,f,d){a.writelen=n,a.writecb=d,a.writing=!0,a.sync=!0,t?e._writev(b,a.onwrite):e._write(b,f,a.onwrite),a.sync=!1}function v(e,a,t,n){t||function(e,a){0===a.length&&a.needDrain&&(a.needDrain=!1,e.emit("drain"))}(e,a),a.pendingcb--,n(),A(e,a)}function x(e,a){a.bufferProcessing=!0;var t=a.bufferedRequest;if(e._writev&&t&&t.next){var n=a.bufferedRequestCount,b=new Array(n),f=a.corkedRequestsFree;f.entry=t;for(var s=0,i=!0;t;)b[s]=t,t.isBuf||(i=!1),t=t.next,s+=1;b.allBuffers=i,h(e,a,!0,a.length,b,"",f.finish),a.pendingcb++,a.lastBufferedRequest=null,f.next?(a.corkedRequestsFree=f.next,f.next=null):a.corkedRequestsFree=new d(a),a.bufferedRequestCount=0}else{for(;t;){var p=t.chunk,u=t.encoding,y=t.callback;if(h(e,a,!1,a.objectMode?1:p.length,p,u,y),t=t.next,a.bufferedRequestCount--,a.writing)break}null===t&&(a.lastBufferedRequest=null)}a.bufferedRequest=t,a.bufferProcessing=!1}function M(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function g(e,a){e._final((function(t){a.pendingcb--,t&&e.emit("error",t),a.prefinished=!0,e.emit("prefinish"),A(e,a)}))}function A(e,a){var t=M(a);return t&&(!function(e,a){a.prefinished||a.finalCalled||("function"==typeof e._final?(a.pendingcb++,a.finalCalled=!0,f.nextTick(g,e,a)):(a.prefinished=!0,e.emit("prefinish")))}(e,a),0===a.pendingcb&&(a.finished=!0,e.emit("finish"))),t}p.inherits(w,y),T.prototype.getBuffer=function(){for(var e=this.bufferedRequest,a=[];e;)a.push(e),e=e.next;return a},function(){try{Object.defineProperty(T.prototype,"buffer",{get:u.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(l=Function.prototype[Symbol.hasInstance],Object.defineProperty(w,Symbol.hasInstance,{value:function(e){return!!l.call(this,e)||this===w&&(e&&e._writableState instanceof T)}})):l=function(e){return e instanceof this},w.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},w.prototype.write=function(e,a,t){var n,b=this._writableState,d=!1,s=!b.objectMode&&(n=e,r.isBuffer(n)||n instanceof c);return s&&!r.isBuffer(e)&&(e=function(e){return r.from(e)}(e)),"function"==typeof a&&(t=a,a=null),s?a="buffer":a||(a=b.defaultEncoding),"function"!=typeof t&&(t=m),b.ended?function(e,a){var t=new Error("write after end");e.emit("error",t),f.nextTick(a,t)}(this,t):(s||function(e,a,t,n){var b=!0,d=!1;return null===t?d=new TypeError("May not write null values to stream"):"string"==typeof t||void 0===t||a.objectMode||(d=new TypeError("Invalid non-string/buffer chunk")),d&&(e.emit("error",d),f.nextTick(n,d),b=!1),b}(this,b,e,t))&&(b.pendingcb++,d=function(e,a,t,n,b,f){if(!t){var d=function(e,a,t){e.objectMode||!1===e.decodeStrings||"string"!=typeof a||(a=r.from(a,t));return a}(a,n,b);n!==d&&(t=!0,b="buffer",n=d)}var s=a.objectMode?1:n.length;a.length+=s;var i=a.length<a.highWaterMark;i||(a.needDrain=!0);if(a.writing||a.corked){var p=a.lastBufferedRequest;a.lastBufferedRequest={chunk:n,encoding:b,isBuf:t,callback:f,next:null},p?p.next=a.lastBufferedRequest:a.bufferedRequest=a.lastBufferedRequest,a.bufferedRequestCount+=1}else h(e,a,!1,s,n,b,f);return i}(this,b,s,e,a,t)),d},w.prototype.cork=function(){this._writableState.corked++},w.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||x(this,e))},w.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(w.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),w.prototype._write=function(e,a,t){t(new Error("_write() is not implemented"))},w.prototype._writev=null,w.prototype.end=function(e,a,t){var n=this._writableState;"function"==typeof e?(t=e,e=null,a=null):"function"==typeof a&&(t=a,a=null),null!=e&&this.write(e,a),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,a,t){a.ending=!0,A(e,a),t&&(a.finished?f.nextTick(t):e.once("finish",t));a.ended=!0,e.writable=!1}(this,n,t)},Object.defineProperty(w.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),w.prototype.destroy=o.destroy,w.prototype._undestroy=o.undestroy,w.prototype._destroy=function(e,a){this.end(),a(e)}}).call(this,t(3),t(155).setImmediate,t(2))},function(e,a,t){"use strict";(function(e){Object.defineProperty(a,"__esModule",{value:!0}),a.toType=a.TypeOutput=a.bnToRlp=a.bnToUnpaddedBuffer=a.bnToHex=void 0;var n,b=t(8),f=t(13),d=t(11);function s(a){return(0,d.unpadBuffer)(a.toArrayLike(e))}a.bnToHex=function(e){return"0x".concat(e.toString(16))},a.bnToUnpaddedBuffer=s,a.bnToRlp=function(e){return s(e)},function(e){e[e.Number=0]="Number",e[e.BN=1]="BN",e[e.Buffer=2]="Buffer",e[e.PrefixedHexString=3]="PrefixedHexString"}(n=a.TypeOutput||(a.TypeOutput={})),a.toType=function(e,a){if(null===e)return null;if(void 0!==e){if("string"==typeof e&&!(0,f.isHexString)(e))throw new Error("A string must be provided with a 0x-prefix, given: ".concat(e));if("number"==typeof e&&!Number.isSafeInteger(e))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");var t=(0,d.toBuffer)(e);if(a===n.Buffer)return t;if(a===n.BN)return new b.BN(t);if(a===n.Number){var s=new b.BN(t),i=new b.BN(Number.MAX_SAFE_INTEGER.toString());if(s.gt(i))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)");return s.toNumber()}return"0x".concat(t.toString("hex"))}}}).call(this,t(0).Buffer)},function(e,a,t){(function(n,b){var f;
/**
 * [js-sha3]{@link https://github.com/emn178/js-sha3}
 *
 * @version 0.8.0
 * @author Chen, Yi-Cyuan [emn178@gmail.com]
 * @copyright Chen, Yi-Cyuan 2015-2018
 * @license MIT
 */!function(){"use strict";var d="input is invalid type",s="object"==typeof window,i=s?window:{};i.JS_SHA3_NO_WINDOW&&(s=!1);var p=!s&&"object"==typeof self;!i.JS_SHA3_NO_NODE_JS&&"object"==typeof n&&n.versions&&n.versions.node?i=b:p&&(i=self);var u=!i.JS_SHA3_NO_COMMON_JS&&"object"==typeof e&&e.exports,y=t(85),r=!i.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,c="0123456789abcdef".split(""),l=[4,1024,262144,67108864],o=[0,8,16,24],m=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],T=[224,256,384,512],w=[128,256],h=["hex","buffer","arrayBuffer","array","digest"],v={128:168,256:136};!i.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!r||!i.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});for(var x=function(e,a,t){return function(n){return new N(e,a,e).update(n)[t]()}},M=function(e,a,t){return function(n,b){return new N(e,a,b).update(n)[t]()}},g=function(e,a,t){return function(a,n,b,f){return D["cshake"+e].update(a,n,b,f)[t]()}},A=function(e,a,t){return function(a,n,b,f){return D["kmac"+e].update(a,n,b,f)[t]()}},C=function(e,a,t,n){for(var b=0;b<h.length;++b){var f=h[b];e[f]=a(t,n,f)}return e},E=function(e,a){var t=x(e,a,"hex");return t.create=function(){return new N(e,a,e)},t.update=function(e){return t.create().update(e)},C(t,x,e,a)},S=[{name:"keccak",padding:[1,256,65536,16777216],bits:T,createMethod:E},{name:"sha3",padding:[6,1536,393216,100663296],bits:T,createMethod:E},{name:"shake",padding:[31,7936,2031616,520093696],bits:w,createMethod:function(e,a){var t=M(e,a,"hex");return t.create=function(t){return new N(e,a,t)},t.update=function(e,a){return t.create(a).update(e)},C(t,M,e,a)}},{name:"cshake",padding:l,bits:w,createMethod:function(e,a){var t=v[e],n=g(e,0,"hex");return n.create=function(n,b,f){return b||f?new N(e,a,n).bytepad([b,f],t):D["shake"+e].create(n)},n.update=function(e,a,t,b){return n.create(a,t,b).update(e)},C(n,g,e,a)}},{name:"kmac",padding:l,bits:w,createMethod:function(e,a){var t=v[e],n=A(e,0,"hex");return n.create=function(n,b,f){return new P(e,a,b).bytepad(["KMAC",f],t).bytepad([n],t)},n.update=function(e,a,t,b){return n.create(e,t,b).update(a)},C(n,A,e,a)}}],D={},_=[],k=0;k<S.length;++k)for(var F=S[k],R=F.bits,B=0;B<R.length;++B){var O=F.name+"_"+R[B];if(_.push(O),D[O]=F.createMethod(R[B],F.padding),"sha3"!==F.name){var I=F.name+R[B];_.push(I),D[I]=D[O]}}function N(e,a,t){this.blocks=[],this.s=[],this.padding=a,this.outputBits=t,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(e<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=t>>5,this.extraBytes=(31&t)>>3;for(var n=0;n<50;++n)this.s[n]=0}function P(e,a,t){N.call(this,e,a,t)}N.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");var a,t=typeof e;if("string"!==t){if("object"!==t)throw new Error(d);if(null===e)throw new Error(d);if(r&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||r&&ArrayBuffer.isView(e)))throw new Error(d);a=!0}for(var n,b,f=this.blocks,s=this.byteCount,i=e.length,p=this.blockCount,u=0,y=this.s;u<i;){if(this.reset)for(this.reset=!1,f[0]=this.block,n=1;n<p+1;++n)f[n]=0;if(a)for(n=this.start;u<i&&n<s;++u)f[n>>2]|=e[u]<<o[3&n++];else for(n=this.start;u<i&&n<s;++u)(b=e.charCodeAt(u))<128?f[n>>2]|=b<<o[3&n++]:b<2048?(f[n>>2]|=(192|b>>6)<<o[3&n++],f[n>>2]|=(128|63&b)<<o[3&n++]):b<55296||b>=57344?(f[n>>2]|=(224|b>>12)<<o[3&n++],f[n>>2]|=(128|b>>6&63)<<o[3&n++],f[n>>2]|=(128|63&b)<<o[3&n++]):(b=65536+((1023&b)<<10|1023&e.charCodeAt(++u)),f[n>>2]|=(240|b>>18)<<o[3&n++],f[n>>2]|=(128|b>>12&63)<<o[3&n++],f[n>>2]|=(128|b>>6&63)<<o[3&n++],f[n>>2]|=(128|63&b)<<o[3&n++]);if(this.lastByteIndex=n,n>=s){for(this.start=n-s,this.block=f[p],n=0;n<p;++n)y[n]^=f[n];K(y),this.reset=!0}else this.start=n}return this},N.prototype.encode=function(e,a){var t=255&e,n=1,b=[t];for(t=255&(e>>=8);t>0;)b.unshift(t),t=255&(e>>=8),++n;return a?b.push(n):b.unshift(n),this.update(b),b.length},N.prototype.encodeString=function(e){var a,t=typeof e;if("string"!==t){if("object"!==t)throw new Error(d);if(null===e)throw new Error(d);if(r&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||r&&ArrayBuffer.isView(e)))throw new Error(d);a=!0}var n=0,b=e.length;if(a)n=b;else for(var f=0;f<e.length;++f){var s=e.charCodeAt(f);s<128?n+=1:s<2048?n+=2:s<55296||s>=57344?n+=3:(s=65536+((1023&s)<<10|1023&e.charCodeAt(++f)),n+=4)}return n+=this.encode(8*n),this.update(e),n},N.prototype.bytepad=function(e,a){for(var t=this.encode(a),n=0;n<e.length;++n)t+=this.encodeString(e[n]);var b=a-t%a,f=[];return f.length=b,this.update(f),this},N.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,a=this.lastByteIndex,t=this.blockCount,n=this.s;if(e[a>>2]|=this.padding[3&a],this.lastByteIndex===this.byteCount)for(e[0]=e[t],a=1;a<t+1;++a)e[a]=0;for(e[t-1]|=2147483648,a=0;a<t;++a)n[a]^=e[a];K(n)}},N.prototype.toString=N.prototype.hex=function(){this.finalize();for(var e,a=this.blockCount,t=this.s,n=this.outputBlocks,b=this.extraBytes,f=0,d=0,s="";d<n;){for(f=0;f<a&&d<n;++f,++d)e=t[f],s+=c[e>>4&15]+c[15&e]+c[e>>12&15]+c[e>>8&15]+c[e>>20&15]+c[e>>16&15]+c[e>>28&15]+c[e>>24&15];d%a==0&&(K(t),f=0)}return b&&(e=t[f],s+=c[e>>4&15]+c[15&e],b>1&&(s+=c[e>>12&15]+c[e>>8&15]),b>2&&(s+=c[e>>20&15]+c[e>>16&15])),s},N.prototype.arrayBuffer=function(){this.finalize();var e,a=this.blockCount,t=this.s,n=this.outputBlocks,b=this.extraBytes,f=0,d=0,s=this.outputBits>>3;e=b?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var i=new Uint32Array(e);d<n;){for(f=0;f<a&&d<n;++f,++d)i[d]=t[f];d%a==0&&K(t)}return b&&(i[f]=t[f],e=e.slice(0,s)),e},N.prototype.buffer=N.prototype.arrayBuffer,N.prototype.digest=N.prototype.array=function(){this.finalize();for(var e,a,t=this.blockCount,n=this.s,b=this.outputBlocks,f=this.extraBytes,d=0,s=0,i=[];s<b;){for(d=0;d<t&&s<b;++d,++s)e=s<<2,a=n[d],i[e]=255&a,i[e+1]=a>>8&255,i[e+2]=a>>16&255,i[e+3]=a>>24&255;s%t==0&&K(n)}return f&&(e=s<<2,a=n[d],i[e]=255&a,f>1&&(i[e+1]=a>>8&255),f>2&&(i[e+2]=a>>16&255)),i},P.prototype=new N,P.prototype.finalize=function(){return this.encode(this.outputBits,!0),N.prototype.finalize.call(this)};var K=function(e){var a,t,n,b,f,d,s,i,p,u,y,r,c,l,o,T,w,h,v,x,M,g,A,C,E,S,D,_,k,F,R,B,O,I,N,P,K,L,U,V,z,q,W,H,Q,X,Z,j,G,$,Y,J,ee,ae,te,ne,be,fe,de,se,ie,pe,ue;for(n=0;n<48;n+=2)b=e[0]^e[10]^e[20]^e[30]^e[40],f=e[1]^e[11]^e[21]^e[31]^e[41],d=e[2]^e[12]^e[22]^e[32]^e[42],s=e[3]^e[13]^e[23]^e[33]^e[43],i=e[4]^e[14]^e[24]^e[34]^e[44],p=e[5]^e[15]^e[25]^e[35]^e[45],u=e[6]^e[16]^e[26]^e[36]^e[46],y=e[7]^e[17]^e[27]^e[37]^e[47],a=(r=e[8]^e[18]^e[28]^e[38]^e[48])^(d<<1|s>>>31),t=(c=e[9]^e[19]^e[29]^e[39]^e[49])^(s<<1|d>>>31),e[0]^=a,e[1]^=t,e[10]^=a,e[11]^=t,e[20]^=a,e[21]^=t,e[30]^=a,e[31]^=t,e[40]^=a,e[41]^=t,a=b^(i<<1|p>>>31),t=f^(p<<1|i>>>31),e[2]^=a,e[3]^=t,e[12]^=a,e[13]^=t,e[22]^=a,e[23]^=t,e[32]^=a,e[33]^=t,e[42]^=a,e[43]^=t,a=d^(u<<1|y>>>31),t=s^(y<<1|u>>>31),e[4]^=a,e[5]^=t,e[14]^=a,e[15]^=t,e[24]^=a,e[25]^=t,e[34]^=a,e[35]^=t,e[44]^=a,e[45]^=t,a=i^(r<<1|c>>>31),t=p^(c<<1|r>>>31),e[6]^=a,e[7]^=t,e[16]^=a,e[17]^=t,e[26]^=a,e[27]^=t,e[36]^=a,e[37]^=t,e[46]^=a,e[47]^=t,a=u^(b<<1|f>>>31),t=y^(f<<1|b>>>31),e[8]^=a,e[9]^=t,e[18]^=a,e[19]^=t,e[28]^=a,e[29]^=t,e[38]^=a,e[39]^=t,e[48]^=a,e[49]^=t,l=e[0],o=e[1],X=e[11]<<4|e[10]>>>28,Z=e[10]<<4|e[11]>>>28,_=e[20]<<3|e[21]>>>29,k=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ie=e[30]<<9|e[31]>>>23,q=e[40]<<18|e[41]>>>14,W=e[41]<<18|e[40]>>>14,I=e[2]<<1|e[3]>>>31,N=e[3]<<1|e[2]>>>31,T=e[13]<<12|e[12]>>>20,w=e[12]<<12|e[13]>>>20,j=e[22]<<10|e[23]>>>22,G=e[23]<<10|e[22]>>>22,F=e[33]<<13|e[32]>>>19,R=e[32]<<13|e[33]>>>19,pe=e[42]<<2|e[43]>>>30,ue=e[43]<<2|e[42]>>>30,ae=e[5]<<30|e[4]>>>2,te=e[4]<<30|e[5]>>>2,P=e[14]<<6|e[15]>>>26,K=e[15]<<6|e[14]>>>26,h=e[25]<<11|e[24]>>>21,v=e[24]<<11|e[25]>>>21,$=e[34]<<15|e[35]>>>17,Y=e[35]<<15|e[34]>>>17,B=e[45]<<29|e[44]>>>3,O=e[44]<<29|e[45]>>>3,C=e[6]<<28|e[7]>>>4,E=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,be=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,U=e[27]<<25|e[26]>>>7,x=e[36]<<21|e[37]>>>11,M=e[37]<<21|e[36]>>>11,J=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,H=e[8]<<27|e[9]>>>5,Q=e[9]<<27|e[8]>>>5,S=e[18]<<20|e[19]>>>12,D=e[19]<<20|e[18]>>>12,fe=e[29]<<7|e[28]>>>25,de=e[28]<<7|e[29]>>>25,V=e[38]<<8|e[39]>>>24,z=e[39]<<8|e[38]>>>24,g=e[48]<<14|e[49]>>>18,A=e[49]<<14|e[48]>>>18,e[0]=l^~T&h,e[1]=o^~w&v,e[10]=C^~S&_,e[11]=E^~D&k,e[20]=I^~P&L,e[21]=N^~K&U,e[30]=H^~X&j,e[31]=Q^~Z&G,e[40]=ae^~ne&fe,e[41]=te^~be&de,e[2]=T^~h&x,e[3]=w^~v&M,e[12]=S^~_&F,e[13]=D^~k&R,e[22]=P^~L&V,e[23]=K^~U&z,e[32]=X^~j&$,e[33]=Z^~G&Y,e[42]=ne^~fe&se,e[43]=be^~de&ie,e[4]=h^~x&g,e[5]=v^~M&A,e[14]=_^~F&B,e[15]=k^~R&O,e[24]=L^~V&q,e[25]=U^~z&W,e[34]=j^~$&J,e[35]=G^~Y&ee,e[44]=fe^~se&pe,e[45]=de^~ie&ue,e[6]=x^~g&l,e[7]=M^~A&o,e[16]=F^~B&C,e[17]=R^~O&E,e[26]=V^~q&I,e[27]=z^~W&N,e[36]=$^~J&H,e[37]=Y^~ee&Q,e[46]=se^~pe&ae,e[47]=ie^~ue&te,e[8]=g^~l&T,e[9]=A^~o&w,e[18]=B^~C&S,e[19]=O^~E&D,e[28]=q^~I&P,e[29]=W^~N&K,e[38]=J^~H&X,e[39]=ee^~Q&Z,e[48]=pe^~ae&ne,e[49]=ue^~te&be,e[0]^=m[n],e[1]^=m[n+1]};if(u)e.exports=D;else{for(k=0;k<_.length;++k)i[_[k]]=D[_[k]];y&&(void 0===(f=function(){return D}.call(a,t,a,e))||(e.exports=f))}}()}).call(this,t(3),t(2))},function(e,a,t){var n=t(25),b=t(41),f=t(42),d=t(86),s=t(27),i=function(e,a){var t=[];return a.forEach((function(a){if("object"==typeof a.components){if("tuple"!==a.type.substring(0,5))throw new Error("components found but type is not tuple; report on GitHub");var b="",f=a.type.indexOf("[");f>=0&&(b=a.type.substring(f));var d=i(e,a.components);n.isArray(d)&&e?t.push("tuple("+d.join(",")+")"+b):e?t.push("("+d+")"):t.push("("+d.join(",")+")"+b)}else t.push(a.type)})),t},p=function(e){if(!f.isHexStrict(e))throw new Error("The parameter must be a valid HEX string.");var a="",t=0,n=e.length;for("0x"===e.substring(0,2)&&(t=2);t<n;t+=2){var b=parseInt(e.substr(t,2),16);a+=String.fromCharCode(b)}return a},u=function(e){if(!e)return"0x00";for(var a="",t=0;t<e.length;t++){var n=e.charCodeAt(t).toString(16);a+=n.length<2?"0"+n:n}return"0x"+a},y=function(e){if(e=e?e.toLowerCase():"ether",!b.unitMap[e])throw new Error('This unit "'+e+"\" doesn't exist, please use the one of the following units"+JSON.stringify(b.unitMap,null,2));return e};e.exports={_fireError:function(e,a,t,b,f){return!n.isObject(e)||e instanceof Error||!e.data||((n.isObject(e.data)||n.isArray(e.data))&&(e.data=JSON.stringify(e.data,null,2)),e=e.message+"\n"+e.data),n.isString(e)&&(e=new Error(e)),n.isFunction(b)&&b(e,f),n.isFunction(t)&&((a&&n.isFunction(a.listeners)&&a.listeners("error").length||n.isFunction(b))&&a.catch((function(){})),setTimeout((function(){t(e)}),1)),a&&n.isFunction(a.emit)&&setTimeout((function(){a.emit("error",e,f),a.removeAllListeners()}),1),a},_jsonInterfaceMethodToString:function(e){return n.isObject(e)&&e.name&&-1!==e.name.indexOf("(")?e.name:e.name+"("+i(!1,e.inputs).join(",")+")"},_flattenTypes:i,randomHex:function(e){return"0x"+s(e).toString("hex")},_:n,BN:f.BN,isBN:f.isBN,isBigNumber:f.isBigNumber,isHex:f.isHex,isHexStrict:f.isHexStrict,sha3:f.sha3,keccak256:f.sha3,soliditySha3:d,isAddress:f.isAddress,checkAddressChecksum:f.checkAddressChecksum,toChecksumAddress:function(e){if(void 0===e)return"";if(!/^(0x)?[0-9a-f]{40}$/i.test(e))throw new Error('Given address "'+e+'" is not a valid Ethereum address.');e=e.toLowerCase().replace(/^0x/i,"");for(var a=f.sha3(e).replace(/^0x/i,""),t="0x",n=0;n<e.length;n++)parseInt(a[n],16)>7?t+=e[n].toUpperCase():t+=e[n];return t},toHex:f.toHex,toBN:f.toBN,bytesToHex:f.bytesToHex,hexToBytes:f.hexToBytes,hexToNumberString:f.hexToNumberString,hexToNumber:f.hexToNumber,toDecimal:f.hexToNumber,numberToHex:f.numberToHex,fromDecimal:f.numberToHex,hexToUtf8:f.hexToUtf8,hexToString:f.hexToUtf8,toUtf8:f.hexToUtf8,utf8ToHex:f.utf8ToHex,stringToHex:f.utf8ToHex,fromUtf8:f.utf8ToHex,hexToAscii:p,toAscii:p,asciiToHex:u,fromAscii:u,unitMap:b.unitMap,toWei:function(e,a){if(a=y(a),!f.isBN(e)&&!n.isString(e))throw new Error("Please pass numbers as strings or BN objects to avoid precision errors.");return f.isBN(e)?b.toWei(e,a):b.toWei(e,a).toString(10)},fromWei:function(e,a){if(a=y(a),!f.isBN(e)&&!n.isString(e))throw new Error("Please pass numbers as strings or BN objects to avoid precision errors.");return f.isBN(e)?b.fromWei(e,a):b.fromWei(e,a).toString(10)},padLeft:f.leftPad,leftPad:f.leftPad,padRight:f.rightPad,rightPad:f.rightPad,toTwosComplement:f.toTwosComplement}},function(e,a,t){"use strict";var n=t(75),b=t(26),f=new n(0),d=new n(-1),s={noether:"0",wei:"1",kwei:"1000",Kwei:"1000",babbage:"1000",femtoether:"1000",mwei:"1000000",Mwei:"1000000",lovelace:"1000000",picoether:"1000000",gwei:"1000000000",Gwei:"1000000000",shannon:"1000000000",nanoether:"1000000000",nano:"1000000000",szabo:"1000000000000",microether:"1000000000000",micro:"1000000000000",finney:"1000000000000000",milliether:"1000000000000000",milli:"1000000000000000",ether:"1000000000000000000",kether:"1000000000000000000000",grand:"1000000000000000000000",mether:"1000000000000000000000000",gether:"1000000000000000000000000000",tether:"1000000000000000000000000000000"};function i(e){var a=e?e.toLowerCase():"ether",t=s[a];if("string"!=typeof t)throw new Error("[ethjs-unit] the unit provided "+e+" doesn't exists, please use the one of the following units "+JSON.stringify(s,null,2));return new n(t,10)}function p(e){if("string"==typeof e){if(!e.match(/^-?[0-9.]+$/))throw new Error("while converting number to string, invalid number value '"+e+"', should be a number matching (^-?[0-9.]+).");return e}if("number"==typeof e)return String(e);if("object"==typeof e&&e.toString&&(e.toTwos||e.dividedToIntegerBy))return e.toPrecision?String(e.toPrecision()):e.toString(10);throw new Error("while converting number to string, invalid number value '"+e+"' type "+typeof e+".")}e.exports={unitMap:s,numberToString:p,getValueOfUnit:i,fromWei:function(e,a,t){var n=b(e),p=n.lt(f),u=i(a),y=s[a].length-1||1,r=t||{};p&&(n=n.mul(d));for(var c=n.mod(u).toString(10);c.length<y;)c="0"+c;r.pad||(c=c.match(/^([0-9]*[1-9]|0)(0*)/)[1]);var l=n.div(u).toString(10);r.commify&&(l=l.replace(/\B(?=(\d{3})+(?!\d))/g,","));var o=l+("0"==c?"":"."+c);return p&&(o="-"+o),o},toWei:function(e,a){var t=p(e),b=i(a),f=s[a].length-1||1,u="-"===t.substring(0,1);if(u&&(t=t.substring(1)),"."===t)throw new Error("[ethjs-unit] while converting number "+e+" to wei, invalid value");var y=t.split(".");if(y.length>2)throw new Error("[ethjs-unit] while converting number "+e+" to wei,  too many decimal points");var r=y[0],c=y[1];if(r||(r="0"),c||(c="0"),c.length>f)throw new Error("[ethjs-unit] while converting number "+e+" to wei, too many decimal places");for(;c.length<f;)c+="0";r=new n(r),c=new n(c);var l=r.mul(b).add(c);return u&&(l=l.mul(d)),new n(l.toString(10),10)}}},function(e,a,t){(function(a){var n=t(25),b=t(43),f=t(26),d=t(44),s=t(83),i=t(45),p=function(e){return b.isBN(e)},u=function(e){return e&&e.constructor&&"BigNumber"===e.constructor.name},y=function(e){try{return f.apply(null,arguments)}catch(a){throw new Error(a+' Given value: "'+e+'"')}},r=function(e){return!!/^(0x)?[0-9a-f]{40}$/i.test(e)&&(!(!/^(0x|0X)?[0-9a-f]{40}$/.test(e)&&!/^(0x|0X)?[0-9A-F]{40}$/.test(e))||c(e))},c=function(e){e=e.replace(/^0x/i,"");for(var a=w(e.toLowerCase()).replace(/^0x/i,""),t=0;t<40;t++)if(parseInt(a[t],16)>7&&e[t].toUpperCase()!==e[t]||parseInt(a[t],16)<=7&&e[t].toLowerCase()!==e[t])return!1;return!0},l=function(e){var a="";e=(e=(e=(e=(e=d.encode(e)).replace(/^(?:\u0000)*/,"")).split("").reverse().join("")).replace(/^(?:\u0000)*/,"")).split("").reverse().join("");for(var t=0;t<e.length;t++){var n=e.charCodeAt(t).toString(16);a+=n.length<2?"0"+n:n}return"0x"+a},o=function(e){if(n.isNull(e)||n.isUndefined(e))return e;if(!isFinite(e)&&!T(e))throw new Error('Given input "'+e+'" is not a number.');var a=y(e),t=a.toString(16);return a.lt(new b(0))?"-0x"+t.substr(1):"0x"+t},m=function(e){if(e=e.toString(16),!T(e))throw new Error('Given value "'+e+'" is not a valid hex string.');e=e.replace(/^0x/i,"");for(var a=[],t=0;t<e.length;t+=2)a.push(parseInt(e.substr(t,2),16));return a},T=function(e){return(n.isString(e)||n.isNumber(e))&&/^(-)?0x[0-9a-f]*$/i.test(e)},w=function(e){p(e)&&(e=e.toString()),T(e)&&/^0x/i.test(e.toString())&&(e=m(e));var a=s.keccak256(e);return"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"===a?null:a};w._Hash=s,e.exports={BN:b,isBN:p,isBigNumber:u,toBN:y,isAddress:r,isBloom:function(e){return i.isBloom(e)},isUserEthereumAddressInBloom:function(e,a){return i.isUserEthereumAddressInBloom(e,a)},isContractAddressInBloom:function(e,a){return i.isContractAddressInBloom(e,a)},isTopic:function(e){return i.isTopic(e)},isTopicInBloom:function(e,a){return i.isTopicInBloom(e,a)},isInBloom:function(e,a){return i.isInBloom(e,a)},checkAddressChecksum:c,utf8ToHex:l,hexToUtf8:function(e){if(!T(e))throw new Error('The parameter "'+e+'" must be a valid HEX string.');for(var a="",t=0,n=(e=(e=(e=(e=(e=e.replace(/^0x/i,"")).replace(/^(?:00)*/,"")).split("").reverse().join("")).replace(/^(?:00)*/,"")).split("").reverse().join("")).length,b=0;b<n;b+=2)t=parseInt(e.substr(b,2),16),a+=String.fromCharCode(t);return d.decode(a)},hexToNumber:function(e){if(!e)return e;if(n.isString(e)&&!T(e))throw new Error('Given value "'+e+'" is not a valid hex string.');return y(e).toNumber()},hexToNumberString:function(e){if(!e)return e;if(n.isString(e)&&!T(e))throw new Error('Given value "'+e+'" is not a valid hex string.');return y(e).toString(10)},numberToHex:o,toHex:function(e,t){if(r(e))return t?"address":"0x"+e.toLowerCase().replace(/^0x/i,"");if(n.isBoolean(e))return t?"bool":e?"0x01":"0x00";if(a.isBuffer(e))return"0x"+e.toString("hex");if(n.isObject(e)&&!u(e)&&!p(e))return t?"string":l(JSON.stringify(e));if(n.isString(e)){if(0===e.indexOf("-0x")||0===e.indexOf("-0X"))return t?"int256":o(e);if(0===e.indexOf("0x")||0===e.indexOf("0X"))return t?"bytes":e;if(!isFinite(e))return t?"string":l(e)}return t?e<0?"int256":"uint256":o(e)},hexToBytes:m,bytesToHex:function(e){for(var a=[],t=0;t<e.length;t++)a.push((e[t]>>>4).toString(16)),a.push((15&e[t]).toString(16));return"0x"+a.join("")},isHex:function(e){return(n.isString(e)||n.isNumber(e))&&/^(-0x|0x)?[0-9a-f]*$/i.test(e)},isHexStrict:T,leftPad:function(e,a,t){var n=/^0x/i.test(e)||"number"==typeof e,b=a-(e=e.toString(16).replace(/^0x/i,"")).length+1>=0?a-e.length+1:0;return(n?"0x":"")+new Array(b).join(t||"0")+e},rightPad:function(e,a,t){var n=/^0x/i.test(e)||"number"==typeof e,b=a-(e=e.toString(16).replace(/^0x/i,"")).length+1>=0?a-e.length+1:0;return(n?"0x":"")+e+new Array(b).join(t||"0")},toTwosComplement:function(e){return"0x"+y(e).toTwos(256).toString(16,64)},sha3:w}}).call(this,t(0).Buffer)},function(e,a,t){(function(e){!function(e,a){"use strict";function n(e,a){if(!e)throw new Error(a||"Assertion failed")}function b(e,a){e.super_=a;var t=function(){};t.prototype=a.prototype,e.prototype=new t,e.prototype.constructor=e}function f(e,a,t){if(f.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==a&&"be"!==a||(t=a,a=10),this._init(e||0,a||10,t||"be"))}var d;"object"==typeof e?e.exports=f:a.BN=f,f.BN=f,f.wordSize=26;try{d=t(82).Buffer}catch(e){}function s(e,a,t){for(var n=0,b=Math.min(e.length,t),f=a;f<b;f++){var d=e.charCodeAt(f)-48;n<<=4,n|=d>=49&&d<=54?d-49+10:d>=17&&d<=22?d-17+10:15&d}return n}function i(e,a,t,n){for(var b=0,f=Math.min(e.length,t),d=a;d<f;d++){var s=e.charCodeAt(d)-48;b*=n,b+=s>=49?s-49+10:s>=17?s-17+10:s}return b}f.isBN=function(e){return e instanceof f||null!==e&&"object"==typeof e&&e.constructor.wordSize===f.wordSize&&Array.isArray(e.words)},f.max=function(e,a){return e.cmp(a)>0?e:a},f.min=function(e,a){return e.cmp(a)<0?e:a},f.prototype._init=function(e,a,t){if("number"==typeof e)return this._initNumber(e,a,t);if("object"==typeof e)return this._initArray(e,a,t);"hex"===a&&(a=16),n(a===(0|a)&&a>=2&&a<=36);var b=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&b++,16===a?this._parseHex(e,b):this._parseBase(e,a,b),"-"===e[0]&&(this.negative=1),this.strip(),"le"===t&&this._initArray(this.toArray(),a,t)},f.prototype._initNumber=function(e,a,t){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===t&&this._initArray(this.toArray(),a,t)},f.prototype._initArray=function(e,a,t){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var b=0;b<this.length;b++)this.words[b]=0;var f,d,s=0;if("be"===t)for(b=e.length-1,f=0;b>=0;b-=3)d=e[b]|e[b-1]<<8|e[b-2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);else if("le"===t)for(b=0,f=0;b<e.length;b+=3)d=e[b]|e[b+1]<<8|e[b+2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);return this.strip()},f.prototype._parseHex=function(e,a){this.length=Math.ceil((e.length-a)/6),this.words=new Array(this.length);for(var t=0;t<this.length;t++)this.words[t]=0;var n,b,f=0;for(t=e.length-6,n=0;t>=a;t-=6)b=s(e,t,t+6),this.words[n]|=b<<f&67108863,this.words[n+1]|=b>>>26-f&4194303,(f+=24)>=26&&(f-=26,n++);t+6!==a&&(b=s(e,a,t+6),this.words[n]|=b<<f&67108863,this.words[n+1]|=b>>>26-f&4194303),this.strip()},f.prototype._parseBase=function(e,a,t){this.words=[0],this.length=1;for(var n=0,b=1;b<=67108863;b*=a)n++;n--,b=b/a|0;for(var f=e.length-t,d=f%n,s=Math.min(f,f-d)+t,p=0,u=t;u<s;u+=n)p=i(e,u,u+n,a),this.imuln(b),this.words[0]+p<67108864?this.words[0]+=p:this._iaddn(p);if(0!==d){var y=1;for(p=i(e,u,e.length,a),u=0;u<d;u++)y*=a;this.imuln(y),this.words[0]+p<67108864?this.words[0]+=p:this._iaddn(p)}},f.prototype.copy=function(e){e.words=new Array(this.length);for(var a=0;a<this.length;a++)e.words[a]=this.words[a];e.length=this.length,e.negative=this.negative,e.red=this.red},f.prototype.clone=function(){var e=new f(null);return this.copy(e),e},f.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},f.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},f.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var p=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],y=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function r(e,a,t){t.negative=a.negative^e.negative;var n=e.length+a.length|0;t.length=n,n=n-1|0;var b=0|e.words[0],f=0|a.words[0],d=b*f,s=67108863&d,i=d/67108864|0;t.words[0]=s;for(var p=1;p<n;p++){for(var u=i>>>26,y=67108863&i,r=Math.min(p,a.length-1),c=Math.max(0,p-e.length+1);c<=r;c++){var l=p-c|0;u+=(d=(b=0|e.words[l])*(f=0|a.words[c])+y)/67108864|0,y=67108863&d}t.words[p]=0|y,i=0|u}return 0!==i?t.words[p]=0|i:t.length--,t.strip()}f.prototype.toString=function(e,a){var t;if(a=0|a||1,16===(e=e||10)||"hex"===e){t="";for(var b=0,f=0,d=0;d<this.length;d++){var s=this.words[d],i=(16777215&(s<<b|f)).toString(16);t=0!==(f=s>>>24-b&16777215)||d!==this.length-1?p[6-i.length]+i+t:i+t,(b+=2)>=26&&(b-=26,d--)}for(0!==f&&(t=f.toString(16)+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}if(e===(0|e)&&e>=2&&e<=36){var r=u[e],c=y[e];t="";var l=this.clone();for(l.negative=0;!l.isZero();){var o=l.modn(c).toString(e);t=(l=l.idivn(c)).isZero()?o+t:p[r-o.length]+o+t}for(this.isZero()&&(t="0"+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}n(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(e,a){return n(void 0!==d),this.toArrayLike(d,e,a)},f.prototype.toArray=function(e,a){return this.toArrayLike(Array,e,a)},f.prototype.toArrayLike=function(e,a,t){var b=this.byteLength(),f=t||Math.max(1,b);n(b<=f,"byte array longer than desired length"),n(f>0,"Requested array length <= 0"),this.strip();var d,s,i="le"===a,p=new e(f),u=this.clone();if(i){for(s=0;!u.isZero();s++)d=u.andln(255),u.iushrn(8),p[s]=d;for(;s<f;s++)p[s]=0}else{for(s=0;s<f-b;s++)p[s]=0;for(s=0;!u.isZero();s++)d=u.andln(255),u.iushrn(8),p[f-s-1]=d}return p},Math.clz32?f.prototype._countBits=function(e){return 32-Math.clz32(e)}:f.prototype._countBits=function(e){var a=e,t=0;return a>=4096&&(t+=13,a>>>=13),a>=64&&(t+=7,a>>>=7),a>=8&&(t+=4,a>>>=4),a>=2&&(t+=2,a>>>=2),t+a},f.prototype._zeroBits=function(e){if(0===e)return 26;var a=e,t=0;return 0==(8191&a)&&(t+=13,a>>>=13),0==(127&a)&&(t+=7,a>>>=7),0==(15&a)&&(t+=4,a>>>=4),0==(3&a)&&(t+=2,a>>>=2),0==(1&a)&&t++,t},f.prototype.bitLength=function(){var e=this.words[this.length-1],a=this._countBits(e);return 26*(this.length-1)+a},f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,a=0;a<this.length;a++){var t=this._zeroBits(this.words[a]);if(e+=t,26!==t)break}return e},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},f.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return 0!==this.negative},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var a=0;a<e.length;a++)this.words[a]=this.words[a]|e.words[a];return this.strip()},f.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},f.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},f.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},f.prototype.iuand=function(e){var a;a=this.length>e.length?e:this;for(var t=0;t<a.length;t++)this.words[t]=this.words[t]&e.words[t];return this.length=a.length,this.strip()},f.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},f.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},f.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},f.prototype.iuxor=function(e){var a,t;this.length>e.length?(a=this,t=e):(a=e,t=this);for(var n=0;n<t.length;n++)this.words[n]=a.words[n]^t.words[n];if(this!==a)for(;n<a.length;n++)this.words[n]=a.words[n];return this.length=a.length,this.strip()},f.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},f.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},f.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},f.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var a=0|Math.ceil(e/26),t=e%26;this._expand(a),t>0&&a--;for(var b=0;b<a;b++)this.words[b]=67108863&~this.words[b];return t>0&&(this.words[b]=~this.words[b]&67108863>>26-t),this.strip()},f.prototype.notn=function(e){return this.clone().inotn(e)},f.prototype.setn=function(e,a){n("number"==typeof e&&e>=0);var t=e/26|0,b=e%26;return this._expand(t+1),this.words[t]=a?this.words[t]|1<<b:this.words[t]&~(1<<b),this.strip()},f.prototype.iadd=function(e){var a,t,n;if(0!==this.negative&&0===e.negative)return this.negative=0,a=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,a=this.isub(e),e.negative=1,a._normSign();this.length>e.length?(t=this,n=e):(t=e,n=this);for(var b=0,f=0;f<n.length;f++)a=(0|t.words[f])+(0|n.words[f])+b,this.words[f]=67108863&a,b=a>>>26;for(;0!==b&&f<t.length;f++)a=(0|t.words[f])+b,this.words[f]=67108863&a,b=a>>>26;if(this.length=t.length,0!==b)this.words[this.length]=b,this.length++;else if(t!==this)for(;f<t.length;f++)this.words[f]=t.words[f];return this},f.prototype.add=function(e){var a;return 0!==e.negative&&0===this.negative?(e.negative=0,a=this.sub(e),e.negative^=1,a):0===e.negative&&0!==this.negative?(this.negative=0,a=e.sub(this),this.negative=1,a):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},f.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var a=this.iadd(e);return e.negative=1,a._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var t,n,b=this.cmp(e);if(0===b)return this.negative=0,this.length=1,this.words[0]=0,this;b>0?(t=this,n=e):(t=e,n=this);for(var f=0,d=0;d<n.length;d++)f=(a=(0|t.words[d])-(0|n.words[d])+f)>>26,this.words[d]=67108863&a;for(;0!==f&&d<t.length;d++)f=(a=(0|t.words[d])+f)>>26,this.words[d]=67108863&a;if(0===f&&d<t.length&&t!==this)for(;d<t.length;d++)this.words[d]=t.words[d];return this.length=Math.max(this.length,d),t!==this&&(this.negative=1),this.strip()},f.prototype.sub=function(e){return this.clone().isub(e)};var c=function(e,a,t){var n,b,f,d=e.words,s=a.words,i=t.words,p=0,u=0|d[0],y=8191&u,r=u>>>13,c=0|d[1],l=8191&c,o=c>>>13,m=0|d[2],T=8191&m,w=m>>>13,h=0|d[3],v=8191&h,x=h>>>13,M=0|d[4],g=8191&M,A=M>>>13,C=0|d[5],E=8191&C,S=C>>>13,D=0|d[6],_=8191&D,k=D>>>13,F=0|d[7],R=8191&F,B=F>>>13,O=0|d[8],I=8191&O,N=O>>>13,P=0|d[9],K=8191&P,L=P>>>13,U=0|s[0],V=8191&U,z=U>>>13,q=0|s[1],W=8191&q,H=q>>>13,Q=0|s[2],X=8191&Q,Z=Q>>>13,j=0|s[3],G=8191&j,$=j>>>13,Y=0|s[4],J=8191&Y,ee=Y>>>13,ae=0|s[5],te=8191&ae,ne=ae>>>13,be=0|s[6],fe=8191&be,de=be>>>13,se=0|s[7],ie=8191&se,pe=se>>>13,ue=0|s[8],ye=8191&ue,re=ue>>>13,ce=0|s[9],le=8191&ce,oe=ce>>>13;t.negative=e.negative^a.negative,t.length=19;var me=(p+(n=Math.imul(y,V))|0)+((8191&(b=(b=Math.imul(y,z))+Math.imul(r,V)|0))<<13)|0;p=((f=Math.imul(r,z))+(b>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(l,V),b=(b=Math.imul(l,z))+Math.imul(o,V)|0,f=Math.imul(o,z);var Te=(p+(n=n+Math.imul(y,W)|0)|0)+((8191&(b=(b=b+Math.imul(y,H)|0)+Math.imul(r,W)|0))<<13)|0;p=((f=f+Math.imul(r,H)|0)+(b>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(T,V),b=(b=Math.imul(T,z))+Math.imul(w,V)|0,f=Math.imul(w,z),n=n+Math.imul(l,W)|0,b=(b=b+Math.imul(l,H)|0)+Math.imul(o,W)|0,f=f+Math.imul(o,H)|0;var we=(p+(n=n+Math.imul(y,X)|0)|0)+((8191&(b=(b=b+Math.imul(y,Z)|0)+Math.imul(r,X)|0))<<13)|0;p=((f=f+Math.imul(r,Z)|0)+(b>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(v,V),b=(b=Math.imul(v,z))+Math.imul(x,V)|0,f=Math.imul(x,z),n=n+Math.imul(T,W)|0,b=(b=b+Math.imul(T,H)|0)+Math.imul(w,W)|0,f=f+Math.imul(w,H)|0,n=n+Math.imul(l,X)|0,b=(b=b+Math.imul(l,Z)|0)+Math.imul(o,X)|0,f=f+Math.imul(o,Z)|0;var he=(p+(n=n+Math.imul(y,G)|0)|0)+((8191&(b=(b=b+Math.imul(y,$)|0)+Math.imul(r,G)|0))<<13)|0;p=((f=f+Math.imul(r,$)|0)+(b>>>13)|0)+(he>>>26)|0,he&=67108863,n=Math.imul(g,V),b=(b=Math.imul(g,z))+Math.imul(A,V)|0,f=Math.imul(A,z),n=n+Math.imul(v,W)|0,b=(b=b+Math.imul(v,H)|0)+Math.imul(x,W)|0,f=f+Math.imul(x,H)|0,n=n+Math.imul(T,X)|0,b=(b=b+Math.imul(T,Z)|0)+Math.imul(w,X)|0,f=f+Math.imul(w,Z)|0,n=n+Math.imul(l,G)|0,b=(b=b+Math.imul(l,$)|0)+Math.imul(o,G)|0,f=f+Math.imul(o,$)|0;var ve=(p+(n=n+Math.imul(y,J)|0)|0)+((8191&(b=(b=b+Math.imul(y,ee)|0)+Math.imul(r,J)|0))<<13)|0;p=((f=f+Math.imul(r,ee)|0)+(b>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(E,V),b=(b=Math.imul(E,z))+Math.imul(S,V)|0,f=Math.imul(S,z),n=n+Math.imul(g,W)|0,b=(b=b+Math.imul(g,H)|0)+Math.imul(A,W)|0,f=f+Math.imul(A,H)|0,n=n+Math.imul(v,X)|0,b=(b=b+Math.imul(v,Z)|0)+Math.imul(x,X)|0,f=f+Math.imul(x,Z)|0,n=n+Math.imul(T,G)|0,b=(b=b+Math.imul(T,$)|0)+Math.imul(w,G)|0,f=f+Math.imul(w,$)|0,n=n+Math.imul(l,J)|0,b=(b=b+Math.imul(l,ee)|0)+Math.imul(o,J)|0,f=f+Math.imul(o,ee)|0;var xe=(p+(n=n+Math.imul(y,te)|0)|0)+((8191&(b=(b=b+Math.imul(y,ne)|0)+Math.imul(r,te)|0))<<13)|0;p=((f=f+Math.imul(r,ne)|0)+(b>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(_,V),b=(b=Math.imul(_,z))+Math.imul(k,V)|0,f=Math.imul(k,z),n=n+Math.imul(E,W)|0,b=(b=b+Math.imul(E,H)|0)+Math.imul(S,W)|0,f=f+Math.imul(S,H)|0,n=n+Math.imul(g,X)|0,b=(b=b+Math.imul(g,Z)|0)+Math.imul(A,X)|0,f=f+Math.imul(A,Z)|0,n=n+Math.imul(v,G)|0,b=(b=b+Math.imul(v,$)|0)+Math.imul(x,G)|0,f=f+Math.imul(x,$)|0,n=n+Math.imul(T,J)|0,b=(b=b+Math.imul(T,ee)|0)+Math.imul(w,J)|0,f=f+Math.imul(w,ee)|0,n=n+Math.imul(l,te)|0,b=(b=b+Math.imul(l,ne)|0)+Math.imul(o,te)|0,f=f+Math.imul(o,ne)|0;var Me=(p+(n=n+Math.imul(y,fe)|0)|0)+((8191&(b=(b=b+Math.imul(y,de)|0)+Math.imul(r,fe)|0))<<13)|0;p=((f=f+Math.imul(r,de)|0)+(b>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(R,V),b=(b=Math.imul(R,z))+Math.imul(B,V)|0,f=Math.imul(B,z),n=n+Math.imul(_,W)|0,b=(b=b+Math.imul(_,H)|0)+Math.imul(k,W)|0,f=f+Math.imul(k,H)|0,n=n+Math.imul(E,X)|0,b=(b=b+Math.imul(E,Z)|0)+Math.imul(S,X)|0,f=f+Math.imul(S,Z)|0,n=n+Math.imul(g,G)|0,b=(b=b+Math.imul(g,$)|0)+Math.imul(A,G)|0,f=f+Math.imul(A,$)|0,n=n+Math.imul(v,J)|0,b=(b=b+Math.imul(v,ee)|0)+Math.imul(x,J)|0,f=f+Math.imul(x,ee)|0,n=n+Math.imul(T,te)|0,b=(b=b+Math.imul(T,ne)|0)+Math.imul(w,te)|0,f=f+Math.imul(w,ne)|0,n=n+Math.imul(l,fe)|0,b=(b=b+Math.imul(l,de)|0)+Math.imul(o,fe)|0,f=f+Math.imul(o,de)|0;var ge=(p+(n=n+Math.imul(y,ie)|0)|0)+((8191&(b=(b=b+Math.imul(y,pe)|0)+Math.imul(r,ie)|0))<<13)|0;p=((f=f+Math.imul(r,pe)|0)+(b>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(I,V),b=(b=Math.imul(I,z))+Math.imul(N,V)|0,f=Math.imul(N,z),n=n+Math.imul(R,W)|0,b=(b=b+Math.imul(R,H)|0)+Math.imul(B,W)|0,f=f+Math.imul(B,H)|0,n=n+Math.imul(_,X)|0,b=(b=b+Math.imul(_,Z)|0)+Math.imul(k,X)|0,f=f+Math.imul(k,Z)|0,n=n+Math.imul(E,G)|0,b=(b=b+Math.imul(E,$)|0)+Math.imul(S,G)|0,f=f+Math.imul(S,$)|0,n=n+Math.imul(g,J)|0,b=(b=b+Math.imul(g,ee)|0)+Math.imul(A,J)|0,f=f+Math.imul(A,ee)|0,n=n+Math.imul(v,te)|0,b=(b=b+Math.imul(v,ne)|0)+Math.imul(x,te)|0,f=f+Math.imul(x,ne)|0,n=n+Math.imul(T,fe)|0,b=(b=b+Math.imul(T,de)|0)+Math.imul(w,fe)|0,f=f+Math.imul(w,de)|0,n=n+Math.imul(l,ie)|0,b=(b=b+Math.imul(l,pe)|0)+Math.imul(o,ie)|0,f=f+Math.imul(o,pe)|0;var Ae=(p+(n=n+Math.imul(y,ye)|0)|0)+((8191&(b=(b=b+Math.imul(y,re)|0)+Math.imul(r,ye)|0))<<13)|0;p=((f=f+Math.imul(r,re)|0)+(b>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(K,V),b=(b=Math.imul(K,z))+Math.imul(L,V)|0,f=Math.imul(L,z),n=n+Math.imul(I,W)|0,b=(b=b+Math.imul(I,H)|0)+Math.imul(N,W)|0,f=f+Math.imul(N,H)|0,n=n+Math.imul(R,X)|0,b=(b=b+Math.imul(R,Z)|0)+Math.imul(B,X)|0,f=f+Math.imul(B,Z)|0,n=n+Math.imul(_,G)|0,b=(b=b+Math.imul(_,$)|0)+Math.imul(k,G)|0,f=f+Math.imul(k,$)|0,n=n+Math.imul(E,J)|0,b=(b=b+Math.imul(E,ee)|0)+Math.imul(S,J)|0,f=f+Math.imul(S,ee)|0,n=n+Math.imul(g,te)|0,b=(b=b+Math.imul(g,ne)|0)+Math.imul(A,te)|0,f=f+Math.imul(A,ne)|0,n=n+Math.imul(v,fe)|0,b=(b=b+Math.imul(v,de)|0)+Math.imul(x,fe)|0,f=f+Math.imul(x,de)|0,n=n+Math.imul(T,ie)|0,b=(b=b+Math.imul(T,pe)|0)+Math.imul(w,ie)|0,f=f+Math.imul(w,pe)|0,n=n+Math.imul(l,ye)|0,b=(b=b+Math.imul(l,re)|0)+Math.imul(o,ye)|0,f=f+Math.imul(o,re)|0;var Ce=(p+(n=n+Math.imul(y,le)|0)|0)+((8191&(b=(b=b+Math.imul(y,oe)|0)+Math.imul(r,le)|0))<<13)|0;p=((f=f+Math.imul(r,oe)|0)+(b>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(K,W),b=(b=Math.imul(K,H))+Math.imul(L,W)|0,f=Math.imul(L,H),n=n+Math.imul(I,X)|0,b=(b=b+Math.imul(I,Z)|0)+Math.imul(N,X)|0,f=f+Math.imul(N,Z)|0,n=n+Math.imul(R,G)|0,b=(b=b+Math.imul(R,$)|0)+Math.imul(B,G)|0,f=f+Math.imul(B,$)|0,n=n+Math.imul(_,J)|0,b=(b=b+Math.imul(_,ee)|0)+Math.imul(k,J)|0,f=f+Math.imul(k,ee)|0,n=n+Math.imul(E,te)|0,b=(b=b+Math.imul(E,ne)|0)+Math.imul(S,te)|0,f=f+Math.imul(S,ne)|0,n=n+Math.imul(g,fe)|0,b=(b=b+Math.imul(g,de)|0)+Math.imul(A,fe)|0,f=f+Math.imul(A,de)|0,n=n+Math.imul(v,ie)|0,b=(b=b+Math.imul(v,pe)|0)+Math.imul(x,ie)|0,f=f+Math.imul(x,pe)|0,n=n+Math.imul(T,ye)|0,b=(b=b+Math.imul(T,re)|0)+Math.imul(w,ye)|0,f=f+Math.imul(w,re)|0;var Ee=(p+(n=n+Math.imul(l,le)|0)|0)+((8191&(b=(b=b+Math.imul(l,oe)|0)+Math.imul(o,le)|0))<<13)|0;p=((f=f+Math.imul(o,oe)|0)+(b>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(K,X),b=(b=Math.imul(K,Z))+Math.imul(L,X)|0,f=Math.imul(L,Z),n=n+Math.imul(I,G)|0,b=(b=b+Math.imul(I,$)|0)+Math.imul(N,G)|0,f=f+Math.imul(N,$)|0,n=n+Math.imul(R,J)|0,b=(b=b+Math.imul(R,ee)|0)+Math.imul(B,J)|0,f=f+Math.imul(B,ee)|0,n=n+Math.imul(_,te)|0,b=(b=b+Math.imul(_,ne)|0)+Math.imul(k,te)|0,f=f+Math.imul(k,ne)|0,n=n+Math.imul(E,fe)|0,b=(b=b+Math.imul(E,de)|0)+Math.imul(S,fe)|0,f=f+Math.imul(S,de)|0,n=n+Math.imul(g,ie)|0,b=(b=b+Math.imul(g,pe)|0)+Math.imul(A,ie)|0,f=f+Math.imul(A,pe)|0,n=n+Math.imul(v,ye)|0,b=(b=b+Math.imul(v,re)|0)+Math.imul(x,ye)|0,f=f+Math.imul(x,re)|0;var Se=(p+(n=n+Math.imul(T,le)|0)|0)+((8191&(b=(b=b+Math.imul(T,oe)|0)+Math.imul(w,le)|0))<<13)|0;p=((f=f+Math.imul(w,oe)|0)+(b>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(K,G),b=(b=Math.imul(K,$))+Math.imul(L,G)|0,f=Math.imul(L,$),n=n+Math.imul(I,J)|0,b=(b=b+Math.imul(I,ee)|0)+Math.imul(N,J)|0,f=f+Math.imul(N,ee)|0,n=n+Math.imul(R,te)|0,b=(b=b+Math.imul(R,ne)|0)+Math.imul(B,te)|0,f=f+Math.imul(B,ne)|0,n=n+Math.imul(_,fe)|0,b=(b=b+Math.imul(_,de)|0)+Math.imul(k,fe)|0,f=f+Math.imul(k,de)|0,n=n+Math.imul(E,ie)|0,b=(b=b+Math.imul(E,pe)|0)+Math.imul(S,ie)|0,f=f+Math.imul(S,pe)|0,n=n+Math.imul(g,ye)|0,b=(b=b+Math.imul(g,re)|0)+Math.imul(A,ye)|0,f=f+Math.imul(A,re)|0;var De=(p+(n=n+Math.imul(v,le)|0)|0)+((8191&(b=(b=b+Math.imul(v,oe)|0)+Math.imul(x,le)|0))<<13)|0;p=((f=f+Math.imul(x,oe)|0)+(b>>>13)|0)+(De>>>26)|0,De&=67108863,n=Math.imul(K,J),b=(b=Math.imul(K,ee))+Math.imul(L,J)|0,f=Math.imul(L,ee),n=n+Math.imul(I,te)|0,b=(b=b+Math.imul(I,ne)|0)+Math.imul(N,te)|0,f=f+Math.imul(N,ne)|0,n=n+Math.imul(R,fe)|0,b=(b=b+Math.imul(R,de)|0)+Math.imul(B,fe)|0,f=f+Math.imul(B,de)|0,n=n+Math.imul(_,ie)|0,b=(b=b+Math.imul(_,pe)|0)+Math.imul(k,ie)|0,f=f+Math.imul(k,pe)|0,n=n+Math.imul(E,ye)|0,b=(b=b+Math.imul(E,re)|0)+Math.imul(S,ye)|0,f=f+Math.imul(S,re)|0;var _e=(p+(n=n+Math.imul(g,le)|0)|0)+((8191&(b=(b=b+Math.imul(g,oe)|0)+Math.imul(A,le)|0))<<13)|0;p=((f=f+Math.imul(A,oe)|0)+(b>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(K,te),b=(b=Math.imul(K,ne))+Math.imul(L,te)|0,f=Math.imul(L,ne),n=n+Math.imul(I,fe)|0,b=(b=b+Math.imul(I,de)|0)+Math.imul(N,fe)|0,f=f+Math.imul(N,de)|0,n=n+Math.imul(R,ie)|0,b=(b=b+Math.imul(R,pe)|0)+Math.imul(B,ie)|0,f=f+Math.imul(B,pe)|0,n=n+Math.imul(_,ye)|0,b=(b=b+Math.imul(_,re)|0)+Math.imul(k,ye)|0,f=f+Math.imul(k,re)|0;var ke=(p+(n=n+Math.imul(E,le)|0)|0)+((8191&(b=(b=b+Math.imul(E,oe)|0)+Math.imul(S,le)|0))<<13)|0;p=((f=f+Math.imul(S,oe)|0)+(b>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(K,fe),b=(b=Math.imul(K,de))+Math.imul(L,fe)|0,f=Math.imul(L,de),n=n+Math.imul(I,ie)|0,b=(b=b+Math.imul(I,pe)|0)+Math.imul(N,ie)|0,f=f+Math.imul(N,pe)|0,n=n+Math.imul(R,ye)|0,b=(b=b+Math.imul(R,re)|0)+Math.imul(B,ye)|0,f=f+Math.imul(B,re)|0;var Fe=(p+(n=n+Math.imul(_,le)|0)|0)+((8191&(b=(b=b+Math.imul(_,oe)|0)+Math.imul(k,le)|0))<<13)|0;p=((f=f+Math.imul(k,oe)|0)+(b>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(K,ie),b=(b=Math.imul(K,pe))+Math.imul(L,ie)|0,f=Math.imul(L,pe),n=n+Math.imul(I,ye)|0,b=(b=b+Math.imul(I,re)|0)+Math.imul(N,ye)|0,f=f+Math.imul(N,re)|0;var Re=(p+(n=n+Math.imul(R,le)|0)|0)+((8191&(b=(b=b+Math.imul(R,oe)|0)+Math.imul(B,le)|0))<<13)|0;p=((f=f+Math.imul(B,oe)|0)+(b>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(K,ye),b=(b=Math.imul(K,re))+Math.imul(L,ye)|0,f=Math.imul(L,re);var Be=(p+(n=n+Math.imul(I,le)|0)|0)+((8191&(b=(b=b+Math.imul(I,oe)|0)+Math.imul(N,le)|0))<<13)|0;p=((f=f+Math.imul(N,oe)|0)+(b>>>13)|0)+(Be>>>26)|0,Be&=67108863;var Oe=(p+(n=Math.imul(K,le))|0)+((8191&(b=(b=Math.imul(K,oe))+Math.imul(L,le)|0))<<13)|0;return p=((f=Math.imul(L,oe))+(b>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,i[0]=me,i[1]=Te,i[2]=we,i[3]=he,i[4]=ve,i[5]=xe,i[6]=Me,i[7]=ge,i[8]=Ae,i[9]=Ce,i[10]=Ee,i[11]=Se,i[12]=De,i[13]=_e,i[14]=ke,i[15]=Fe,i[16]=Re,i[17]=Be,i[18]=Oe,0!==p&&(i[19]=p,t.length++),t};function l(e,a,t){return(new o).mulp(e,a,t)}function o(e,a){this.x=e,this.y=a}Math.imul||(c=r),f.prototype.mulTo=function(e,a){var t=this.length+e.length;return 10===this.length&&10===e.length?c(this,e,a):t<63?r(this,e,a):t<1024?function(e,a,t){t.negative=a.negative^e.negative,t.length=e.length+a.length;for(var n=0,b=0,f=0;f<t.length-1;f++){var d=b;b=0;for(var s=67108863&n,i=Math.min(f,a.length-1),p=Math.max(0,f-e.length+1);p<=i;p++){var u=f-p,y=(0|e.words[u])*(0|a.words[p]),r=67108863&y;s=67108863&(r=r+s|0),b+=(d=(d=d+(y/67108864|0)|0)+(r>>>26)|0)>>>26,d&=67108863}t.words[f]=s,n=d,d=b}return 0!==n?t.words[f]=n:t.length--,t.strip()}(this,e,a):l(this,e,a)},o.prototype.makeRBT=function(e){for(var a=new Array(e),t=f.prototype._countBits(e)-1,n=0;n<e;n++)a[n]=this.revBin(n,t,e);return a},o.prototype.revBin=function(e,a,t){if(0===e||e===t-1)return e;for(var n=0,b=0;b<a;b++)n|=(1&e)<<a-b-1,e>>=1;return n},o.prototype.permute=function(e,a,t,n,b,f){for(var d=0;d<f;d++)n[d]=a[e[d]],b[d]=t[e[d]]},o.prototype.transform=function(e,a,t,n,b,f){this.permute(f,e,a,t,n,b);for(var d=1;d<b;d<<=1)for(var s=d<<1,i=Math.cos(2*Math.PI/s),p=Math.sin(2*Math.PI/s),u=0;u<b;u+=s)for(var y=i,r=p,c=0;c<d;c++){var l=t[u+c],o=n[u+c],m=t[u+c+d],T=n[u+c+d],w=y*m-r*T;T=y*T+r*m,m=w,t[u+c]=l+m,n[u+c]=o+T,t[u+c+d]=l-m,n[u+c+d]=o-T,c!==s&&(w=i*y-p*r,r=i*r+p*y,y=w)}},o.prototype.guessLen13b=function(e,a){var t=1|Math.max(a,e),n=1&t,b=0;for(t=t/2|0;t;t>>>=1)b++;return 1<<b+1+n},o.prototype.conjugate=function(e,a,t){if(!(t<=1))for(var n=0;n<t/2;n++){var b=e[n];e[n]=e[t-n-1],e[t-n-1]=b,b=a[n],a[n]=-a[t-n-1],a[t-n-1]=-b}},o.prototype.normalize13b=function(e,a){for(var t=0,n=0;n<a/2;n++){var b=8192*Math.round(e[2*n+1]/a)+Math.round(e[2*n]/a)+t;e[n]=67108863&b,t=b<67108864?0:b/67108864|0}return e},o.prototype.convert13b=function(e,a,t,b){for(var f=0,d=0;d<a;d++)f+=0|e[d],t[2*d]=8191&f,f>>>=13,t[2*d+1]=8191&f,f>>>=13;for(d=2*a;d<b;++d)t[d]=0;n(0===f),n(0==(-8192&f))},o.prototype.stub=function(e){for(var a=new Array(e),t=0;t<e;t++)a[t]=0;return a},o.prototype.mulp=function(e,a,t){var n=2*this.guessLen13b(e.length,a.length),b=this.makeRBT(n),f=this.stub(n),d=new Array(n),s=new Array(n),i=new Array(n),p=new Array(n),u=new Array(n),y=new Array(n),r=t.words;r.length=n,this.convert13b(e.words,e.length,d,n),this.convert13b(a.words,a.length,p,n),this.transform(d,f,s,i,n,b),this.transform(p,f,u,y,n,b);for(var c=0;c<n;c++){var l=s[c]*u[c]-i[c]*y[c];i[c]=s[c]*y[c]+i[c]*u[c],s[c]=l}return this.conjugate(s,i,n),this.transform(s,i,r,f,n,b),this.conjugate(r,f,n),this.normalize13b(r,n),t.negative=e.negative^a.negative,t.length=e.length+a.length,t.strip()},f.prototype.mul=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),this.mulTo(e,a)},f.prototype.mulf=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),l(this,e,a)},f.prototype.imul=function(e){return this.clone().mulTo(e,this)},f.prototype.imuln=function(e){n("number"==typeof e),n(e<67108864);for(var a=0,t=0;t<this.length;t++){var b=(0|this.words[t])*e,f=(67108863&b)+(67108863&a);a>>=26,a+=b/67108864|0,a+=f>>>26,this.words[t]=67108863&f}return 0!==a&&(this.words[t]=a,this.length++),this},f.prototype.muln=function(e){return this.clone().imuln(e)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(e){var a=function(e){for(var a=new Array(e.bitLength()),t=0;t<a.length;t++){var n=t/26|0,b=t%26;a[t]=(e.words[n]&1<<b)>>>b}return a}(e);if(0===a.length)return new f(1);for(var t=this,n=0;n<a.length&&0===a[n];n++,t=t.sqr());if(++n<a.length)for(var b=t.sqr();n<a.length;n++,b=b.sqr())0!==a[n]&&(t=t.mul(b));return t},f.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var a,t=e%26,b=(e-t)/26,f=67108863>>>26-t<<26-t;if(0!==t){var d=0;for(a=0;a<this.length;a++){var s=this.words[a]&f,i=(0|this.words[a])-s<<t;this.words[a]=i|d,d=s>>>26-t}d&&(this.words[a]=d,this.length++)}if(0!==b){for(a=this.length-1;a>=0;a--)this.words[a+b]=this.words[a];for(a=0;a<b;a++)this.words[a]=0;this.length+=b}return this.strip()},f.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},f.prototype.iushrn=function(e,a,t){var b;n("number"==typeof e&&e>=0),b=a?(a-a%26)/26:0;var f=e%26,d=Math.min((e-f)/26,this.length),s=67108863^67108863>>>f<<f,i=t;if(b-=d,b=Math.max(0,b),i){for(var p=0;p<d;p++)i.words[p]=this.words[p];i.length=d}if(0===d);else if(this.length>d)for(this.length-=d,p=0;p<this.length;p++)this.words[p]=this.words[p+d];else this.words[0]=0,this.length=1;var u=0;for(p=this.length-1;p>=0&&(0!==u||p>=b);p--){var y=0|this.words[p];this.words[p]=u<<26-f|y>>>f,u=y&s}return i&&0!==u&&(i.words[i.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(e,a,t){return n(0===this.negative),this.iushrn(e,a,t)},f.prototype.shln=function(e){return this.clone().ishln(e)},f.prototype.ushln=function(e){return this.clone().iushln(e)},f.prototype.shrn=function(e){return this.clone().ishrn(e)},f.prototype.ushrn=function(e){return this.clone().iushrn(e)},f.prototype.testn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26,b=1<<a;return!(this.length<=t)&&!!(this.words[t]&b)},f.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=t)return this;if(0!==a&&t++,this.length=Math.min(t,this.length),0!==a){var b=67108863^67108863>>>a<<a;this.words[this.length-1]&=b}return this.strip()},f.prototype.maskn=function(e){return this.clone().imaskn(e)},f.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},f.prototype._iaddn=function(e){this.words[0]+=e;for(var a=0;a<this.length&&this.words[a]>=67108864;a++)this.words[a]-=67108864,a===this.length-1?this.words[a+1]=1:this.words[a+1]++;return this.length=Math.max(this.length,a+1),this},f.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var a=0;a<this.length&&this.words[a]<0;a++)this.words[a]+=67108864,this.words[a+1]-=1;return this.strip()},f.prototype.addn=function(e){return this.clone().iaddn(e)},f.prototype.subn=function(e){return this.clone().isubn(e)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(e,a,t){var b,f,d=e.length+t;this._expand(d);var s=0;for(b=0;b<e.length;b++){f=(0|this.words[b+t])+s;var i=(0|e.words[b])*a;s=((f-=67108863&i)>>26)-(i/67108864|0),this.words[b+t]=67108863&f}for(;b<this.length-t;b++)s=(f=(0|this.words[b+t])+s)>>26,this.words[b+t]=67108863&f;if(0===s)return this.strip();for(n(-1===s),s=0,b=0;b<this.length;b++)s=(f=-(0|this.words[b])+s)>>26,this.words[b]=67108863&f;return this.negative=1,this.strip()},f.prototype._wordDiv=function(e,a){var t=(this.length,e.length),n=this.clone(),b=e,d=0|b.words[b.length-1];0!==(t=26-this._countBits(d))&&(b=b.ushln(t),n.iushln(t),d=0|b.words[b.length-1]);var s,i=n.length-b.length;if("mod"!==a){(s=new f(null)).length=i+1,s.words=new Array(s.length);for(var p=0;p<s.length;p++)s.words[p]=0}var u=n.clone()._ishlnsubmul(b,1,i);0===u.negative&&(n=u,s&&(s.words[i]=1));for(var y=i-1;y>=0;y--){var r=67108864*(0|n.words[b.length+y])+(0|n.words[b.length+y-1]);for(r=Math.min(r/d|0,67108863),n._ishlnsubmul(b,r,y);0!==n.negative;)r--,n.negative=0,n._ishlnsubmul(b,1,y),n.isZero()||(n.negative^=1);s&&(s.words[y]=r)}return s&&s.strip(),n.strip(),"div"!==a&&0!==t&&n.iushrn(t),{div:s||null,mod:n}},f.prototype.divmod=function(e,a,t){return n(!e.isZero()),this.isZero()?{div:new f(0),mod:new f(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,a),"mod"!==a&&(b=s.div.neg()),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.iadd(e)),{div:b,mod:d}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),a),"mod"!==a&&(b=s.div.neg()),{div:b,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),a),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.isub(e)),{div:s.div,mod:d}):e.length>this.length||this.cmp(e)<0?{div:new f(0),mod:this}:1===e.length?"div"===a?{div:this.divn(e.words[0]),mod:null}:"mod"===a?{div:null,mod:new f(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new f(this.modn(e.words[0]))}:this._wordDiv(e,a);var b,d,s},f.prototype.div=function(e){return this.divmod(e,"div",!1).div},f.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},f.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},f.prototype.divRound=function(e){var a=this.divmod(e);if(a.mod.isZero())return a.div;var t=0!==a.div.negative?a.mod.isub(e):a.mod,n=e.ushrn(1),b=e.andln(1),f=t.cmp(n);return f<0||1===b&&0===f?a.div:0!==a.div.negative?a.div.isubn(1):a.div.iaddn(1)},f.prototype.modn=function(e){n(e<=67108863);for(var a=(1<<26)%e,t=0,b=this.length-1;b>=0;b--)t=(a*t+(0|this.words[b]))%e;return t},f.prototype.idivn=function(e){n(e<=67108863);for(var a=0,t=this.length-1;t>=0;t--){var b=(0|this.words[t])+67108864*a;this.words[t]=b/e|0,a=b%e}return this.strip()},f.prototype.divn=function(e){return this.clone().idivn(e)},f.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b=new f(1),d=new f(0),s=new f(0),i=new f(1),p=0;a.isEven()&&t.isEven();)a.iushrn(1),t.iushrn(1),++p;for(var u=t.clone(),y=a.clone();!a.isZero();){for(var r=0,c=1;0==(a.words[0]&c)&&r<26;++r,c<<=1);if(r>0)for(a.iushrn(r);r-- >0;)(b.isOdd()||d.isOdd())&&(b.iadd(u),d.isub(y)),b.iushrn(1),d.iushrn(1);for(var l=0,o=1;0==(t.words[0]&o)&&l<26;++l,o<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(s.isOdd()||i.isOdd())&&(s.iadd(u),i.isub(y)),s.iushrn(1),i.iushrn(1);a.cmp(t)>=0?(a.isub(t),b.isub(s),d.isub(i)):(t.isub(a),s.isub(b),i.isub(d))}return{a:s,b:i,gcd:t.iushln(p)}},f.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b,d=new f(1),s=new f(0),i=t.clone();a.cmpn(1)>0&&t.cmpn(1)>0;){for(var p=0,u=1;0==(a.words[0]&u)&&p<26;++p,u<<=1);if(p>0)for(a.iushrn(p);p-- >0;)d.isOdd()&&d.iadd(i),d.iushrn(1);for(var y=0,r=1;0==(t.words[0]&r)&&y<26;++y,r<<=1);if(y>0)for(t.iushrn(y);y-- >0;)s.isOdd()&&s.iadd(i),s.iushrn(1);a.cmp(t)>=0?(a.isub(t),d.isub(s)):(t.isub(a),s.isub(d))}return(b=0===a.cmpn(1)?d:s).cmpn(0)<0&&b.iadd(e),b},f.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var a=this.clone(),t=e.clone();a.negative=0,t.negative=0;for(var n=0;a.isEven()&&t.isEven();n++)a.iushrn(1),t.iushrn(1);for(;;){for(;a.isEven();)a.iushrn(1);for(;t.isEven();)t.iushrn(1);var b=a.cmp(t);if(b<0){var f=a;a=t,t=f}else if(0===b||0===t.cmpn(1))break;a.isub(t)}return t.iushln(n)},f.prototype.invm=function(e){return this.egcd(e).a.umod(e)},f.prototype.isEven=function(){return 0==(1&this.words[0])},f.prototype.isOdd=function(){return 1==(1&this.words[0])},f.prototype.andln=function(e){return this.words[0]&e},f.prototype.bincn=function(e){n("number"==typeof e);var a=e%26,t=(e-a)/26,b=1<<a;if(this.length<=t)return this._expand(t+1),this.words[t]|=b,this;for(var f=b,d=t;0!==f&&d<this.length;d++){var s=0|this.words[d];f=(s+=f)>>>26,s&=67108863,this.words[d]=s}return 0!==f&&(this.words[d]=f,this.length++),this},f.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},f.prototype.cmpn=function(e){var a,t=e<0;if(0!==this.negative&&!t)return-1;if(0===this.negative&&t)return 1;if(this.strip(),this.length>1)a=1;else{t&&(e=-e),n(e<=67108863,"Number is too big");var b=0|this.words[0];a=b===e?0:b<e?-1:1}return 0!==this.negative?0|-a:a},f.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var a=this.ucmp(e);return 0!==this.negative?0|-a:a},f.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var a=0,t=this.length-1;t>=0;t--){var n=0|this.words[t],b=0|e.words[t];if(n!==b){n<b?a=-1:n>b&&(a=1);break}}return a},f.prototype.gtn=function(e){return 1===this.cmpn(e)},f.prototype.gt=function(e){return 1===this.cmp(e)},f.prototype.gten=function(e){return this.cmpn(e)>=0},f.prototype.gte=function(e){return this.cmp(e)>=0},f.prototype.ltn=function(e){return-1===this.cmpn(e)},f.prototype.lt=function(e){return-1===this.cmp(e)},f.prototype.lten=function(e){return this.cmpn(e)<=0},f.prototype.lte=function(e){return this.cmp(e)<=0},f.prototype.eqn=function(e){return 0===this.cmpn(e)},f.prototype.eq=function(e){return 0===this.cmp(e)},f.red=function(e){return new M(e)},f.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},f.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(e){return this.red=e,this},f.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},f.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},f.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},f.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},f.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},f.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},f.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},f.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},f.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function T(e,a){this.name=e,this.p=new f(a,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){T.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function h(){T.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){T.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){T.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(e){if("string"==typeof e){var a=f._prime(e);this.m=a.p,this.prime=a}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function g(e){M.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new f(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}T.prototype._tmp=function(){var e=new f(null);return e.words=new Array(Math.ceil(this.n/13)),e},T.prototype.ireduce=function(e){var a,t=e;do{this.split(t,this.tmp),a=(t=(t=this.imulK(t)).iadd(this.tmp)).bitLength()}while(a>this.n);var n=a<this.n?-1:t.ucmp(this.p);return 0===n?(t.words[0]=0,t.length=1):n>0?t.isub(this.p):t.strip(),t},T.prototype.split=function(e,a){e.iushrn(this.n,0,a)},T.prototype.imulK=function(e){return e.imul(this.k)},b(w,T),w.prototype.split=function(e,a){for(var t=Math.min(e.length,9),n=0;n<t;n++)a.words[n]=e.words[n];if(a.length=t,e.length<=9)return e.words[0]=0,void(e.length=1);var b=e.words[9];for(a.words[a.length++]=4194303&b,n=10;n<e.length;n++){var f=0|e.words[n];e.words[n-10]=(4194303&f)<<4|b>>>22,b=f}b>>>=22,e.words[n-10]=b,0===b&&e.length>10?e.length-=10:e.length-=9},w.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var a=0,t=0;t<e.length;t++){var n=0|e.words[t];a+=977*n,e.words[t]=67108863&a,a=64*n+(a/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},b(h,T),b(v,T),b(x,T),x.prototype.imulK=function(e){for(var a=0,t=0;t<e.length;t++){var n=19*(0|e.words[t])+a,b=67108863&n;n>>>=26,e.words[t]=b,a=n}return 0!==a&&(e.words[e.length++]=a),e},f._prime=function(e){if(m[e])return m[e];var a;if("k256"===e)a=new w;else if("p224"===e)a=new h;else if("p192"===e)a=new v;else{if("p25519"!==e)throw new Error("Unknown prime "+e);a=new x}return m[e]=a,a},M.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},M.prototype._verify2=function(e,a){n(0==(e.negative|a.negative),"red works only with positives"),n(e.red&&e.red===a.red,"red works only with red numbers")},M.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},M.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},M.prototype.add=function(e,a){this._verify2(e,a);var t=e.add(a);return t.cmp(this.m)>=0&&t.isub(this.m),t._forceRed(this)},M.prototype.iadd=function(e,a){this._verify2(e,a);var t=e.iadd(a);return t.cmp(this.m)>=0&&t.isub(this.m),t},M.prototype.sub=function(e,a){this._verify2(e,a);var t=e.sub(a);return t.cmpn(0)<0&&t.iadd(this.m),t._forceRed(this)},M.prototype.isub=function(e,a){this._verify2(e,a);var t=e.isub(a);return t.cmpn(0)<0&&t.iadd(this.m),t},M.prototype.shl=function(e,a){return this._verify1(e),this.imod(e.ushln(a))},M.prototype.imul=function(e,a){return this._verify2(e,a),this.imod(e.imul(a))},M.prototype.mul=function(e,a){return this._verify2(e,a),this.imod(e.mul(a))},M.prototype.isqr=function(e){return this.imul(e,e.clone())},M.prototype.sqr=function(e){return this.mul(e,e)},M.prototype.sqrt=function(e){if(e.isZero())return e.clone();var a=this.m.andln(3);if(n(a%2==1),3===a){var t=this.m.add(new f(1)).iushrn(2);return this.pow(e,t)}for(var b=this.m.subn(1),d=0;!b.isZero()&&0===b.andln(1);)d++,b.iushrn(1);n(!b.isZero());var s=new f(1).toRed(this),i=s.redNeg(),p=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new f(2*u*u).toRed(this);0!==this.pow(u,p).cmp(i);)u.redIAdd(i);for(var y=this.pow(u,b),r=this.pow(e,b.addn(1).iushrn(1)),c=this.pow(e,b),l=d;0!==c.cmp(s);){for(var o=c,m=0;0!==o.cmp(s);m++)o=o.redSqr();n(m<l);var T=this.pow(y,new f(1).iushln(l-m-1));r=r.redMul(T),y=T.redSqr(),c=c.redMul(y),l=m}return r},M.prototype.invm=function(e){var a=e._invmp(this.m);return 0!==a.negative?(a.negative=0,this.imod(a).redNeg()):this.imod(a)},M.prototype.pow=function(e,a){if(a.isZero())return new f(1).toRed(this);if(0===a.cmpn(1))return e.clone();var t=new Array(16);t[0]=new f(1).toRed(this),t[1]=e;for(var n=2;n<t.length;n++)t[n]=this.mul(t[n-1],e);var b=t[0],d=0,s=0,i=a.bitLength()%26;for(0===i&&(i=26),n=a.length-1;n>=0;n--){for(var p=a.words[n],u=i-1;u>=0;u--){var y=p>>u&1;b!==t[0]&&(b=this.sqr(b)),0!==y||0!==d?(d<<=1,d|=y,(4===++s||0===n&&0===u)&&(b=this.mul(b,t[d]),s=0,d=0)):s=0}i=26}return b},M.prototype.convertTo=function(e){var a=e.umod(this.m);return a===e?a.clone():a},M.prototype.convertFrom=function(e){var a=e.clone();return a.red=null,a},f.mont=function(e){return new g(e)},b(g,M),g.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},g.prototype.convertFrom=function(e){var a=this.imod(e.mul(this.rinv));return a.red=null,a},g.prototype.imul=function(e,a){if(e.isZero()||a.isZero())return e.words[0]=0,e.length=1,e;var t=e.imul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),f=b;return b.cmp(this.m)>=0?f=b.isub(this.m):b.cmpn(0)<0&&(f=b.iadd(this.m)),f._forceRed(this)},g.prototype.mul=function(e,a){if(e.isZero()||a.isZero())return new f(0)._forceRed(this);var t=e.mul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),d=b;return b.cmp(this.m)>=0?d=b.isub(this.m):b.cmpn(0)<0&&(d=b.iadd(this.m)),d._forceRed(this)},g.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,t(7)(e))},function(e,a,t){!function(e){var a,t,n,b=String.fromCharCode;function f(e){for(var a,t,n=[],b=0,f=e.length;b<f;)(a=e.charCodeAt(b++))>=55296&&a<=56319&&b<f?56320==(64512&(t=e.charCodeAt(b++)))?n.push(((1023&a)<<10)+(1023&t)+65536):(n.push(a),b--):n.push(a);return n}function d(e){if(e>=55296&&e<=57343)throw Error("Lone surrogate U+"+e.toString(16).toUpperCase()+" is not a scalar value")}function s(e,a){return b(e>>a&63|128)}function i(e){if(0==(4294967168&e))return b(e);var a="";return 0==(4294965248&e)?a=b(e>>6&31|192):0==(4294901760&e)?(d(e),a=b(e>>12&15|224),a+=s(e,6)):0==(4292870144&e)&&(a=b(e>>18&7|240),a+=s(e,12),a+=s(e,6)),a+=b(63&e|128)}function p(){if(n>=t)throw Error("Invalid byte index");var e=255&a[n];if(n++,128==(192&e))return 63&e;throw Error("Invalid continuation byte")}function u(){var e,b;if(n>t)throw Error("Invalid byte index");if(n==t)return!1;if(e=255&a[n],n++,0==(128&e))return e;if(192==(224&e)){if((b=(31&e)<<6|p())>=128)return b;throw Error("Invalid continuation byte")}if(224==(240&e)){if((b=(15&e)<<12|p()<<6|p())>=2048)return d(b),b;throw Error("Invalid continuation byte")}if(240==(248&e)&&(b=(7&e)<<18|p()<<12|p()<<6|p())>=65536&&b<=1114111)return b;throw Error("Invalid UTF-8 detected")}e.version="3.0.0",e.encode=function(e){for(var a=f(e),t=a.length,n=-1,b="";++n<t;)b+=i(a[n]);return b},e.decode=function(e){a=f(e),t=a.length,n=0;for(var d,s=[];!1!==(d=u());)s.push(d);return function(e){for(var a,t=e.length,n=-1,f="";++n<t;)(a=e[n])>65535&&(f+=b((a-=65536)>>>10&1023|55296),a=56320|1023&a),f+=b(a);return f}(s)}}(a)},function(e,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0});const n=t(84);function b(e){return"string"==typeof e&&(!!/^(0x)?[0-9a-f]{512}$/i.test(e)&&!(!/^(0x)?[0-9a-f]{512}$/.test(e)&&!/^(0x)?[0-9A-F]{512}$/.test(e)))}function f(e,a){"object"==typeof a&&a.constructor===Uint8Array&&(a=n.bytesToHex(a));const t=n.keccak256(a).replace("0x","");for(let a=0;a<12;a+=4){const n=(parseInt(t.substr(a,2),16)<<8)+parseInt(t.substr(a+2,2),16)&2047,b=1<<n%4;if((d(e.charCodeAt(e.length-1-Math.floor(n/4)))&b)!==b)return!1}return!0}function d(e){if(e>=48&&e<=57)return e-48;if(e>=65&&e<=70)return e-55;if(e>=97&&e<=102)return e-87;throw new Error("invalid bloom")}function s(e){return"string"==typeof e&&(!!/^(0x)?[0-9a-f]{64}$/i.test(e)&&!(!/^(0x)?[0-9a-f]{64}$/.test(e)&&!/^(0x)?[0-9A-F]{64}$/.test(e)))}function i(e){return"string"==typeof e&&(!!e.match(/^(0x)?[0-9a-fA-F]{40}$/)||!!e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/))}a.isBloom=b,a.isInBloom=f,a.isUserEthereumAddressInBloom=function(e,a){if(!b(e))throw new Error("Invalid bloom given");if(!i(a))throw new Error(`Invalid ethereum address given: "${a}"`);return f(e,n.padLeft(a,64))},a.isContractAddressInBloom=function(e,a){if(!b(e))throw new Error("Invalid bloom given");if(!i(a))throw new Error(`Invalid contract address given: "${a}"`);return f(e,a)},a.isTopicInBloom=function(e,a){if(!b(e))throw new Error("Invalid bloom given");if(!s(a))throw new Error("Invalid topic");return f(e,a)},a.isTopic=s,a.isAddress=i},function(e,a,t){(function(a){var n=t(28),b=t(26),f=t(44),d=t(91),s=t(45),i=function(e){return n.isBN(e)},p=function(e){return e&&e.constructor&&"BigNumber"===e.constructor.name},u=function(e){try{return b.apply(null,arguments)}catch(a){throw new Error(a+' Given value: "'+e+'"')}},y=function(e){return!!/^(0x)?[0-9a-f]{40}$/i.test(e)&&(!(!/^(0x|0X)?[0-9a-f]{40}$/.test(e)&&!/^(0x|0X)?[0-9A-F]{40}$/.test(e))||r(e))},r=function(e){e=e.replace(/^0x/i,"");for(var a=v(e.toLowerCase()).replace(/^0x/i,""),t=0;t<40;t++)if(parseInt(a[t],16)>7&&e[t].toUpperCase()!==e[t]||parseInt(a[t],16)<=7&&e[t].toLowerCase()!==e[t])return!1;return!0},c=function(e){var a="";e=(e=(e=(e=(e=f.encode(e)).replace(/^(?:\u0000)*/,"")).split("").reverse().join("")).replace(/^(?:\u0000)*/,"")).split("").reverse().join("");for(var t=0;t<e.length;t++){var n=e.charCodeAt(t).toString(16);a+=n.length<2?"0"+n:n}return"0x"+a},l=function(e){if(!e)return e;if("string"==typeof e&&!T(e))throw new Error('Given value "'+e+'" is not a valid hex string.');return u(e).toNumber()},o=function(e){if(null==e)return e;if(!isFinite(e)&&!T(e))throw new Error('Given input "'+e+'" is not a number.');var a=u(e),t=a.toString(16);return a.lt(new n(0))?"-0x"+t.substr(1):"0x"+t},m=function(e,t){if(y(e))return t?"address":"0x"+e.toLowerCase().replace(/^0x/i,"");if("boolean"==typeof e)return t?"bool":e?"0x01":"0x00";if(a.isBuffer(e))return"0x"+e.toString("hex");if("object"==typeof e&&e&&!p(e)&&!i(e))return t?"string":c(JSON.stringify(e));if("string"==typeof e){if(0===e.indexOf("-0x")||0===e.indexOf("-0X"))return t?"int256":o(e);if(0===e.indexOf("0x")||0===e.indexOf("0X"))return t?"bytes":e;if(!isFinite(e))return t?"string":c(e)}return t?e<0?"int256":"uint256":o(e)},T=function(e){return("string"==typeof e||"number"==typeof e)&&/^(-)?0x[0-9a-f]*$/i.test(e)},w=function(e){return("string"==typeof e||"number"==typeof e)&&/^(-0x|0x)?[0-9a-f]*$/i.test(e)},h="0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",v=function(e){i(e)&&(e=e.toString()),T(e)&&/^0x/i.test(e.toString())?e=d.toBuffer(e):"string"==typeof e&&(e=a.from(e,"utf-8"));var t=d.bufferToHex(d.keccak256(e));return t===h?null:t};v._Hash=d.keccak256;e.exports={BN:n,isBN:i,isBigNumber:p,toBN:u,isAddress:y,isBloom:function(e){return s.isBloom(e)},isUserEthereumAddressInBloom:function(e,a){return s.isUserEthereumAddressInBloom(e,a)},isContractAddressInBloom:function(e,a){return s.isContractAddressInBloom(e,a)},isTopic:function(e){return s.isTopic(e)},isTopicInBloom:function(e,a){return s.isTopicInBloom(e,a)},isInBloom:function(e,a){return s.isInBloom(e,a)},checkAddressChecksum:r,utf8ToHex:c,hexToUtf8:function(e){if(!T(e))throw new Error('The parameter "'+e+'" must be a valid HEX string.');for(var a="",t=0,n=(e=(e=(e=(e=(e=e.replace(/^0x/i,"")).replace(/^(?:00)*/,"")).split("").reverse().join("")).replace(/^(?:00)*/,"")).split("").reverse().join("")).length,b=0;b<n;b+=2)t=parseInt(e.substr(b,2),16),a+=String.fromCharCode(t);return f.decode(a)},hexToNumber:l,hexToNumberString:function(e){if(!e)return e;if("string"==typeof e&&!T(e))throw new Error('Given value "'+e+'" is not a valid hex string.');return u(e).toString(10)},numberToHex:o,toHex:m,hexToBytes:function(e){if(e=e.toString(16),!T(e))throw new Error('Given value "'+e+'" is not a valid hex string.');e=e.replace(/^0x/i,"");for(var a=[],t=0;t<e.length;t+=2)a.push(parseInt(e.substr(t,2),16));return a},bytesToHex:function(e){for(var a=[],t=0;t<e.length;t++)a.push((e[t]>>>4).toString(16)),a.push((15&e[t]).toString(16));return"0x"+a.join("")},isHex:w,isHexStrict:T,stripHexPrefix:function(e){return 0!==e&&w(e)?e.replace(/^(-)?0x/i,"$1"):e},leftPad:function(e,a,t){var n=/^0x/i.test(e)||"number"==typeof e,b=a-(e=e.toString(16).replace(/^0x/i,"")).length+1>=0?a-e.length+1:0;return(n?"0x":"")+new Array(b).join(t||"0")+e},rightPad:function(e,a,t){var n=/^0x/i.test(e)||"number"==typeof e,b=a-(e=e.toString(16).replace(/^0x/i,"")).length+1>=0?a-e.length+1:0;return(n?"0x":"")+e+new Array(b).join(t||"0")},toTwosComplement:function(e){return"0x"+u(e).toTwos(256).toString(16,64)},sha3:v,sha3Raw:function(e){return null===(e=v(e))?h:e},toNumber:function(e){return"number"==typeof e?e:l(m(e))}}}).call(this,t(0).Buffer)},function(e,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.KECCAK256_RLP=a.KECCAK256_RLP_S=a.KECCAK256_RLP_ARRAY=a.KECCAK256_RLP_ARRAY_S=a.KECCAK256_NULL=a.KECCAK256_NULL_S=a.TWO_POW256=a.MAX_INTEGER=a.MAX_UINT64=void 0;var n=t(0),b=t(8);a.MAX_UINT64=new b.BN("ffffffffffffffff",16),a.MAX_INTEGER=new b.BN("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",16),a.TWO_POW256=new b.BN("10000000000000000000000000000000000000000000000000000000000000000",16),a.KECCAK256_NULL_S="c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",a.KECCAK256_NULL=n.Buffer.from(a.KECCAK256_NULL_S,"hex"),a.KECCAK256_RLP_ARRAY_S="1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",a.KECCAK256_RLP_ARRAY=n.Buffer.from(a.KECCAK256_RLP_ARRAY_S,"hex"),a.KECCAK256_RLP_S="56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",a.KECCAK256_RLP=n.Buffer.from(a.KECCAK256_RLP_S,"hex")},function(e,a,t){"use strict";(function(e){var n=this&&this.__read||function(e,a){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,b,f=t.call(e),d=[];try{for(;(void 0===a||a-- >0)&&!(n=f.next()).done;)d.push(n.value)}catch(e){b={error:e}}finally{try{n&&!n.done&&(t=f.return)&&t.call(f)}finally{if(b)throw b.error}}return d},b=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:!0}),a.isZeroAddress=a.zeroAddress=a.importPublic=a.privateToAddress=a.privateToPublic=a.publicToAddress=a.pubToAddress=a.isValidPublic=a.isValidPrivate=a.generateAddress2=a.generateAddress=a.isValidChecksumAddress=a.toChecksumAddress=a.isValidAddress=a.Account=void 0;var f=b(t(29)),d=t(8),s=t(49),i=t(13),p=t(47),u=t(11),y=t(32),r=t(23),c=t(38),l=function(){function e(e,a,t,n){void 0===e&&(e=new d.BN(0)),void 0===a&&(a=new d.BN(0)),void 0===t&&(t=p.KECCAK256_RLP),void 0===n&&(n=p.KECCAK256_NULL),this.nonce=e,this.balance=a,this.stateRoot=t,this.codeHash=n,this._validate()}return e.fromAccountData=function(a){var t=a.nonce,n=a.balance,b=a.stateRoot,f=a.codeHash;return new e(t?new d.BN((0,u.toBuffer)(t)):void 0,n?new d.BN((0,u.toBuffer)(n)):void 0,b?(0,u.toBuffer)(b):void 0,f?(0,u.toBuffer)(f):void 0)},e.fromRlpSerializedAccount=function(e){var a=d.rlp.decode(e);if(!Array.isArray(a))throw new Error("Invalid serialized account input. Must be array");return this.fromValuesArray(a)},e.fromValuesArray=function(a){var t=n(a,4),b=t[0],f=t[1],s=t[2],i=t[3];return new e(new d.BN(b),new d.BN(f),s,i)},e.prototype._validate=function(){if(this.nonce.lt(new d.BN(0)))throw new Error("nonce must be greater than zero");if(this.balance.lt(new d.BN(0)))throw new Error("balance must be greater than zero");if(32!==this.stateRoot.length)throw new Error("stateRoot must have a length of 32");if(32!==this.codeHash.length)throw new Error("codeHash must have a length of 32")},e.prototype.raw=function(){return[(0,c.bnToUnpaddedBuffer)(this.nonce),(0,c.bnToUnpaddedBuffer)(this.balance),this.stateRoot,this.codeHash]},e.prototype.serialize=function(){return d.rlp.encode(this.raw())},e.prototype.isContract=function(){return!this.codeHash.equals(p.KECCAK256_NULL)},e.prototype.isEmpty=function(){return this.balance.isZero()&&this.nonce.isZero()&&this.codeHash.equals(p.KECCAK256_NULL)},e}();a.Account=l;a.isValidAddress=function(e){try{(0,r.assertIsString)(e)}catch(e){return!1}return/^0x[0-9a-fA-F]{40}$/.test(e)};a.toChecksumAddress=function(e,a){(0,r.assertIsHexString)(e);var t=(0,i.stripHexPrefix)(e).toLowerCase(),n="";a&&(n=(0,c.toType)(a,c.TypeOutput.BN).toString()+"0x");for(var b=(0,y.keccakFromString)(n+t).toString("hex"),f="0x",d=0;d<t.length;d++)parseInt(b[d],16)>=8?f+=t[d].toUpperCase():f+=t[d];return f};a.isValidChecksumAddress=function(e,t){return(0,a.isValidAddress)(e)&&(0,a.toChecksumAddress)(e,t)===e};a.generateAddress=function(a,t){(0,r.assertIsBuffer)(a),(0,r.assertIsBuffer)(t);var n=new d.BN(t);return n.isZero()?(0,y.rlphash)([a,null]).slice(-20):(0,y.rlphash)([a,e.from(n.toArray())]).slice(-20)};a.generateAddress2=function(a,t,n){return(0,r.assertIsBuffer)(a),(0,r.assertIsBuffer)(t),(0,r.assertIsBuffer)(n),(0,f.default)(20===a.length),(0,f.default)(32===t.length),(0,y.keccak256)(e.concat([e.from("ff","hex"),a,t,(0,y.keccak256)(n)])).slice(-20)};a.isValidPrivate=function(e){return(0,s.privateKeyVerify)(e)};a.isValidPublic=function(a,t){return void 0===t&&(t=!1),(0,r.assertIsBuffer)(a),64===a.length?(0,s.publicKeyVerify)(e.concat([e.from([4]),a])):!!t&&(0,s.publicKeyVerify)(a)};a.pubToAddress=function(a,t){return void 0===t&&(t=!1),(0,r.assertIsBuffer)(a),t&&64!==a.length&&(a=e.from((0,s.publicKeyConvert)(a,!1).slice(1))),(0,f.default)(64===a.length),(0,y.keccak)(a).slice(-20)},a.publicToAddress=a.pubToAddress;a.privateToPublic=function(a){return(0,r.assertIsBuffer)(a),e.from((0,s.publicKeyCreate)(a,!1)).slice(1)};a.privateToAddress=function(e){return(0,a.publicToAddress)((0,a.privateToPublic)(e))};a.importPublic=function(a){return(0,r.assertIsBuffer)(a),64!==a.length&&(a=e.from((0,s.publicKeyConvert)(a,!1).slice(1))),a};a.zeroAddress=function(){var e=(0,u.zeros)(20);return(0,u.bufferToHex)(e)};a.isZeroAddress=function(e){try{(0,r.assertIsString)(e)}catch(e){return!1}return(0,a.zeroAddress)()===e}}).call(this,t(0).Buffer)},function(e,a,t){"use strict";var n=this&&this.__awaiter||function(e,a,t,n){return new(t||(t=Promise))((function(b,f){function d(e){try{i(n.next(e))}catch(e){f(e)}}function s(e){try{i(n.throw(e))}catch(e){f(e)}}function i(e){var a;e.done?b(e.value):(a=e.value,a instanceof t?a:new t((function(e){e(a)}))).then(d,s)}i((n=n.apply(e,a||[])).next())}))},b=this&&this.__generator||function(e,a){var t,n,b,f,d={label:0,sent:function(){if(1&b[0])throw b[1];return b[1]},trys:[],ops:[]};return f={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(f[Symbol.iterator]=function(){return this}),f;function s(f){return function(s){return function(f){if(t)throw new TypeError("Generator is already executing.");for(;d;)try{if(t=1,n&&(b=2&f[0]?n.return:f[0]?n.throw||((b=n.return)&&b.call(n),0):n.next)&&!(b=b.call(n,f[1])).done)return b;switch(n=0,b&&(f=[2&f[0],b.value]),f[0]){case 0:case 1:b=f;break;case 4:return d.label++,{value:f[1],done:!1};case 5:d.label++,n=f[1],f=[0];continue;case 7:f=d.ops.pop(),d.trys.pop();continue;default:if(!(b=d.trys,(b=b.length>0&&b[b.length-1])||6!==f[0]&&2!==f[0])){d=0;continue}if(3===f[0]&&(!b||f[1]>b[0]&&f[1]<b[3])){d.label=f[1];break}if(6===f[0]&&d.label<b[1]){d.label=b[1],b=f;break}if(b&&d.label<b[2]){d.label=b[2],d.ops.push(f);break}b[2]&&d.ops.pop(),d.trys.pop();continue}f=a.call(e,d)}catch(e){f=[6,e],n=0}finally{t=b=0}if(5&f[0])throw f[1];return{value:f[0]?f[1]:void 0,done:!0}}([f,s])}}};Object.defineProperty(a,"__esModule",{value:!0});var f=t(50),d=t(124);a.createPrivateKey=function(){return n(this,void 0,void 0,(function(){var e;return b(this,(function(a){switch(a.label){case 0:return[4,d.getRandomBytes(32)];case 1:return e=a.sent(),f.privateKeyVerify(e)?[2,e]:[3,0];case 2:return[2]}}))}))},a.createPrivateKeySync=function(){for(;;){var e=d.getRandomBytesSync(32);if(f.privateKeyVerify(e))return e}},function(e){for(var t in e)a.hasOwnProperty(t)||(a[t]=e[t])}(t(50))},function(e,a,t){e.exports=t(101)(t(102))},function(e,a,t){"use strict";var n=a;function b(e){return 1===e.length?"0"+e:e}function f(e){for(var a="",t=0;t<e.length;t++)a+=b(e[t].toString(16));return a}n.toArray=function(e,a){if(Array.isArray(e))return e.slice();if(!e)return[];var t=[];if("string"!=typeof e){for(var n=0;n<e.length;n++)t[n]=0|e[n];return t}if("hex"===a){(e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e);for(n=0;n<e.length;n+=2)t.push(parseInt(e[n]+e[n+1],16))}else for(n=0;n<e.length;n++){var b=e.charCodeAt(n),f=b>>8,d=255&b;f?t.push(f,d):t.push(d)}return t},n.zero2=b,n.toHex=f,n.encode=function(e,a){return"hex"===a?f(e):e}},function(e,a,t){var n;function b(e){this.rand=e}if(e.exports=function(e){return n||(n=new b(null)),n.generate(e)},e.exports.Rand=b,b.prototype.generate=function(e){return this._rand(e)},b.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var a=new Uint8Array(e),t=0;t<a.length;t++)a[t]=this.rand.getByte();return a},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?b.prototype._rand=function(e){var a=new Uint8Array(e);return self.crypto.getRandomValues(a),a}:self.msCrypto&&self.msCrypto.getRandomValues?b.prototype._rand=function(e){var a=new Uint8Array(e);return self.msCrypto.getRandomValues(a),a}:"object"==typeof window&&(b.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var f=t(106);if("function"!=typeof f.randomBytes)throw new Error("Not supported");b.prototype._rand=function(e){return f.randomBytes(e)}}catch(e){}},function(e,a,t){"use strict";var n=a;n.base=t(22),n.short=t(107),n.mont=t(108),n.edwards=t(109)},function(e,a,t){"use strict";var n=t(6).rotr32;function b(e,a,t){return e&a^~e&t}function f(e,a,t){return e&a^e&t^a&t}function d(e,a,t){return e^a^t}a.ft_1=function(e,a,t,n){return 0===e?b(a,t,n):1===e||3===e?d(a,t,n):2===e?f(a,t,n):void 0},a.ch32=b,a.maj32=f,a.p32=d,a.s0_256=function(e){return n(e,2)^n(e,13)^n(e,22)},a.s1_256=function(e){return n(e,6)^n(e,11)^n(e,25)},a.g0_256=function(e){return n(e,7)^n(e,18)^e>>>3},a.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},function(e,a,t){"use strict";var n=t(6),b=t(18),f=t(54),d=t(10),s=n.sum32,i=n.sum32_4,p=n.sum32_5,u=f.ch32,y=f.maj32,r=f.s0_256,c=f.s1_256,l=f.g0_256,o=f.g1_256,m=b.BlockHash,T=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function w(){if(!(this instanceof w))return new w;m.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=T,this.W=new Array(64)}n.inherits(w,m),e.exports=w,w.blockSize=512,w.outSize=256,w.hmacStrength=192,w.padLength=64,w.prototype._update=function(e,a){for(var t=this.W,n=0;n<16;n++)t[n]=e[a+n];for(;n<t.length;n++)t[n]=i(o(t[n-2]),t[n-7],l(t[n-15]),t[n-16]);var b=this.h[0],f=this.h[1],m=this.h[2],T=this.h[3],w=this.h[4],h=this.h[5],v=this.h[6],x=this.h[7];for(d(this.k.length===t.length),n=0;n<t.length;n++){var M=p(x,c(w),u(w,h,v),this.k[n],t[n]),g=s(r(b),y(b,f,m));x=v,v=h,h=w,w=s(T,M),T=m,m=f,f=b,b=s(M,g)}this.h[0]=s(this.h[0],b),this.h[1]=s(this.h[1],f),this.h[2]=s(this.h[2],m),this.h[3]=s(this.h[3],T),this.h[4]=s(this.h[4],w),this.h[5]=s(this.h[5],h),this.h[6]=s(this.h[6],v),this.h[7]=s(this.h[7],x)},w.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},function(e,a,t){"use strict";var n=t(6),b=t(18),f=t(10),d=n.rotr64_hi,s=n.rotr64_lo,i=n.shr64_hi,p=n.shr64_lo,u=n.sum64,y=n.sum64_hi,r=n.sum64_lo,c=n.sum64_4_hi,l=n.sum64_4_lo,o=n.sum64_5_hi,m=n.sum64_5_lo,T=b.BlockHash,w=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function h(){if(!(this instanceof h))return new h;T.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=w,this.W=new Array(160)}function v(e,a,t,n,b){var f=e&t^~e&b;return f<0&&(f+=4294967296),f}function x(e,a,t,n,b,f){var d=a&n^~a&f;return d<0&&(d+=4294967296),d}function M(e,a,t,n,b){var f=e&t^e&b^t&b;return f<0&&(f+=4294967296),f}function g(e,a,t,n,b,f){var d=a&n^a&f^n&f;return d<0&&(d+=4294967296),d}function A(e,a){var t=d(e,a,28)^d(a,e,2)^d(a,e,7);return t<0&&(t+=4294967296),t}function C(e,a){var t=s(e,a,28)^s(a,e,2)^s(a,e,7);return t<0&&(t+=4294967296),t}function E(e,a){var t=d(e,a,14)^d(e,a,18)^d(a,e,9);return t<0&&(t+=4294967296),t}function S(e,a){var t=s(e,a,14)^s(e,a,18)^s(a,e,9);return t<0&&(t+=4294967296),t}function D(e,a){var t=d(e,a,1)^d(e,a,8)^i(e,a,7);return t<0&&(t+=4294967296),t}function _(e,a){var t=s(e,a,1)^s(e,a,8)^p(e,a,7);return t<0&&(t+=4294967296),t}function k(e,a){var t=d(e,a,19)^d(a,e,29)^i(e,a,6);return t<0&&(t+=4294967296),t}function F(e,a){var t=s(e,a,19)^s(a,e,29)^p(e,a,6);return t<0&&(t+=4294967296),t}n.inherits(h,T),e.exports=h,h.blockSize=1024,h.outSize=512,h.hmacStrength=192,h.padLength=128,h.prototype._prepareBlock=function(e,a){for(var t=this.W,n=0;n<32;n++)t[n]=e[a+n];for(;n<t.length;n+=2){var b=k(t[n-4],t[n-3]),f=F(t[n-4],t[n-3]),d=t[n-14],s=t[n-13],i=D(t[n-30],t[n-29]),p=_(t[n-30],t[n-29]),u=t[n-32],y=t[n-31];t[n]=c(b,f,d,s,i,p,u,y),t[n+1]=l(b,f,d,s,i,p,u,y)}},h.prototype._update=function(e,a){this._prepareBlock(e,a);var t=this.W,n=this.h[0],b=this.h[1],d=this.h[2],s=this.h[3],i=this.h[4],p=this.h[5],c=this.h[6],l=this.h[7],T=this.h[8],w=this.h[9],h=this.h[10],D=this.h[11],_=this.h[12],k=this.h[13],F=this.h[14],R=this.h[15];f(this.k.length===t.length);for(var B=0;B<t.length;B+=2){var O=F,I=R,N=E(T,w),P=S(T,w),K=v(T,w,h,D,_),L=x(T,w,h,D,_,k),U=this.k[B],V=this.k[B+1],z=t[B],q=t[B+1],W=o(O,I,N,P,K,L,U,V,z,q),H=m(O,I,N,P,K,L,U,V,z,q);O=A(n,b),I=C(n,b),N=M(n,b,d,s,i),P=g(n,b,d,s,i,p);var Q=y(O,I,N,P),X=r(O,I,N,P);F=_,R=k,_=h,k=D,h=T,D=w,T=y(c,l,W,H),w=r(l,l,W,H),c=i,l=p,i=d,p=s,d=n,s=b,n=y(W,H,Q,X),b=r(W,H,Q,X)}u(this.h,0,n,b),u(this.h,2,d,s),u(this.h,4,i,p),u(this.h,6,c,l),u(this.h,8,T,w),u(this.h,10,h,D),u(this.h,12,_,k),u(this.h,14,F,R)},h.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},function(e,a,t){"use strict";(function(a,n){var b;e.exports=C,C.ReadableState=A;t(19).EventEmitter;var f=function(e,a){return e.listeners(a).length},d=t(58),s=t(0).Buffer,i=a.Uint8Array||function(){};var p,u=t(130);p=u&&u.debuglog?u.debuglog("stream"):function(){};var y,r,c,l=t(131),o=t(59),m=t(60).getHighWaterMark,T=t(14).codes,w=T.ERR_INVALID_ARG_TYPE,h=T.ERR_STREAM_PUSH_AFTER_EOF,v=T.ERR_METHOD_NOT_IMPLEMENTED,x=T.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;t(1)(C,d);var M=o.errorOrDestroy,g=["error","close","destroy","pause","resume"];function A(e,a,n){b=b||t(15),e=e||{},"boolean"!=typeof n&&(n=a instanceof b),this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=m(this,e,"readableHighWaterMark",n),this.buffer=new l,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(y||(y=t(20).StringDecoder),this.decoder=new y(e.encoding),this.encoding=e.encoding)}function C(e){if(b=b||t(15),!(this instanceof C))return new C(e);var a=this instanceof b;this._readableState=new A(e,this,a),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),d.call(this)}function E(e,a,t,n,b){p("readableAddChunk",a);var f,d=e._readableState;if(null===a)d.reading=!1,function(e,a){if(p("onEofChunk"),a.ended)return;if(a.decoder){var t=a.decoder.end();t&&t.length&&(a.buffer.push(t),a.length+=a.objectMode?1:t.length)}a.ended=!0,a.sync?_(e):(a.needReadable=!1,a.emittedReadable||(a.emittedReadable=!0,k(e)))}(e,d);else if(b||(f=function(e,a){var t;n=a,s.isBuffer(n)||n instanceof i||"string"==typeof a||void 0===a||e.objectMode||(t=new w("chunk",["string","Buffer","Uint8Array"],a));var n;return t}(d,a)),f)M(e,f);else if(d.objectMode||a&&a.length>0)if("string"==typeof a||d.objectMode||Object.getPrototypeOf(a)===s.prototype||(a=function(e){return s.from(e)}(a)),n)d.endEmitted?M(e,new x):S(e,d,a,!0);else if(d.ended)M(e,new h);else{if(d.destroyed)return!1;d.reading=!1,d.decoder&&!t?(a=d.decoder.write(a),d.objectMode||0!==a.length?S(e,d,a,!1):F(e,d)):S(e,d,a,!1)}else n||(d.reading=!1,F(e,d));return!d.ended&&(d.length<d.highWaterMark||0===d.length)}function S(e,a,t,n){a.flowing&&0===a.length&&!a.sync?(a.awaitDrain=0,e.emit("data",t)):(a.length+=a.objectMode?1:t.length,n?a.buffer.unshift(t):a.buffer.push(t),a.needReadable&&_(e)),F(e,a)}Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),C.prototype.destroy=o.destroy,C.prototype._undestroy=o.undestroy,C.prototype._destroy=function(e,a){a(e)},C.prototype.push=function(e,a){var t,n=this._readableState;return n.objectMode?t=!0:"string"==typeof e&&((a=a||n.defaultEncoding)!==n.encoding&&(e=s.from(e,a),a=""),t=!0),E(this,e,a,!1,t)},C.prototype.unshift=function(e){return E(this,e,null,!0,!1)},C.prototype.isPaused=function(){return!1===this._readableState.flowing},C.prototype.setEncoding=function(e){y||(y=t(20).StringDecoder);var a=new y(e);this._readableState.decoder=a,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,b="";null!==n;)b+=a.write(n.data),n=n.next;return this._readableState.buffer.clear(),""!==b&&this._readableState.buffer.push(b),this._readableState.length=b.length,this};function D(e,a){return e<=0||0===a.length&&a.ended?0:a.objectMode?1:e!=e?a.flowing&&a.length?a.buffer.head.data.length:a.length:(e>a.highWaterMark&&(a.highWaterMark=function(e){return e>=1073741824?e=1073741824:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=a.length?e:a.ended?a.length:(a.needReadable=!0,0))}function _(e){var a=e._readableState;p("emitReadable",a.needReadable,a.emittedReadable),a.needReadable=!1,a.emittedReadable||(p("emitReadable",a.flowing),a.emittedReadable=!0,n.nextTick(k,e))}function k(e){var a=e._readableState;p("emitReadable_",a.destroyed,a.length,a.ended),a.destroyed||!a.length&&!a.ended||(e.emit("readable"),a.emittedReadable=!1),a.needReadable=!a.flowing&&!a.ended&&a.length<=a.highWaterMark,N(e)}function F(e,a){a.readingMore||(a.readingMore=!0,n.nextTick(R,e,a))}function R(e,a){for(;!a.reading&&!a.ended&&(a.length<a.highWaterMark||a.flowing&&0===a.length);){var t=a.length;if(p("maybeReadMore read 0"),e.read(0),t===a.length)break}a.readingMore=!1}function B(e){var a=e._readableState;a.readableListening=e.listenerCount("readable")>0,a.resumeScheduled&&!a.paused?a.flowing=!0:e.listenerCount("data")>0&&e.resume()}function O(e){p("readable nexttick read 0"),e.read(0)}function I(e,a){p("resume",a.reading),a.reading||e.read(0),a.resumeScheduled=!1,e.emit("resume"),N(e),a.flowing&&!a.reading&&e.read(0)}function N(e){var a=e._readableState;for(p("flow",a.flowing);a.flowing&&null!==e.read(););}function P(e,a){return 0===a.length?null:(a.objectMode?t=a.buffer.shift():!e||e>=a.length?(t=a.decoder?a.buffer.join(""):1===a.buffer.length?a.buffer.first():a.buffer.concat(a.length),a.buffer.clear()):t=a.buffer.consume(e,a.decoder),t);var t}function K(e){var a=e._readableState;p("endReadable",a.endEmitted),a.endEmitted||(a.ended=!0,n.nextTick(L,a,e))}function L(e,a){if(p("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,a.readable=!1,a.emit("end"),e.autoDestroy)){var t=a._writableState;(!t||t.autoDestroy&&t.finished)&&a.destroy()}}function U(e,a){for(var t=0,n=e.length;t<n;t++)if(e[t]===a)return t;return-1}C.prototype.read=function(e){p("read",e),e=parseInt(e,10);var a=this._readableState,t=e;if(0!==e&&(a.emittedReadable=!1),0===e&&a.needReadable&&((0!==a.highWaterMark?a.length>=a.highWaterMark:a.length>0)||a.ended))return p("read: emitReadable",a.length,a.ended),0===a.length&&a.ended?K(this):_(this),null;if(0===(e=D(e,a))&&a.ended)return 0===a.length&&K(this),null;var n,b=a.needReadable;return p("need readable",b),(0===a.length||a.length-e<a.highWaterMark)&&p("length less than watermark",b=!0),a.ended||a.reading?p("reading or ended",b=!1):b&&(p("do read"),a.reading=!0,a.sync=!0,0===a.length&&(a.needReadable=!0),this._read(a.highWaterMark),a.sync=!1,a.reading||(e=D(t,a))),null===(n=e>0?P(e,a):null)?(a.needReadable=a.length<=a.highWaterMark,e=0):(a.length-=e,a.awaitDrain=0),0===a.length&&(a.ended||(a.needReadable=!0),t!==e&&a.ended&&K(this)),null!==n&&this.emit("data",n),n},C.prototype._read=function(e){M(this,new v("_read()"))},C.prototype.pipe=function(e,a){var t=this,b=this._readableState;switch(b.pipesCount){case 0:b.pipes=e;break;case 1:b.pipes=[b.pipes,e];break;default:b.pipes.push(e)}b.pipesCount+=1,p("pipe count=%d opts=%j",b.pipesCount,a);var d=(!a||!1!==a.end)&&e!==n.stdout&&e!==n.stderr?i:m;function s(a,n){p("onunpipe"),a===t&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,p("cleanup"),e.removeListener("close",l),e.removeListener("finish",o),e.removeListener("drain",u),e.removeListener("error",c),e.removeListener("unpipe",s),t.removeListener("end",i),t.removeListener("end",m),t.removeListener("data",r),y=!0,!b.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}function i(){p("onend"),e.end()}b.endEmitted?n.nextTick(d):t.once("end",d),e.on("unpipe",s);var u=function(e){return function(){var a=e._readableState;p("pipeOnDrain",a.awaitDrain),a.awaitDrain&&a.awaitDrain--,0===a.awaitDrain&&f(e,"data")&&(a.flowing=!0,N(e))}}(t);e.on("drain",u);var y=!1;function r(a){p("ondata");var n=e.write(a);p("dest.write",n),!1===n&&((1===b.pipesCount&&b.pipes===e||b.pipesCount>1&&-1!==U(b.pipes,e))&&!y&&(p("false write response, pause",b.awaitDrain),b.awaitDrain++),t.pause())}function c(a){p("onerror",a),m(),e.removeListener("error",c),0===f(e,"error")&&M(e,a)}function l(){e.removeListener("finish",o),m()}function o(){p("onfinish"),e.removeListener("close",l),m()}function m(){p("unpipe"),t.unpipe(e)}return t.on("data",r),function(e,a,t){if("function"==typeof e.prependListener)return e.prependListener(a,t);e._events&&e._events[a]?Array.isArray(e._events[a])?e._events[a].unshift(t):e._events[a]=[t,e._events[a]]:e.on(a,t)}(e,"error",c),e.once("close",l),e.once("finish",o),e.emit("pipe",t),b.flowing||(p("pipe resume"),t.resume()),e},C.prototype.unpipe=function(e){var a=this._readableState,t={hasUnpiped:!1};if(0===a.pipesCount)return this;if(1===a.pipesCount)return e&&e!==a.pipes||(e||(e=a.pipes),a.pipes=null,a.pipesCount=0,a.flowing=!1,e&&e.emit("unpipe",this,t)),this;if(!e){var n=a.pipes,b=a.pipesCount;a.pipes=null,a.pipesCount=0,a.flowing=!1;for(var f=0;f<b;f++)n[f].emit("unpipe",this,{hasUnpiped:!1});return this}var d=U(a.pipes,e);return-1===d||(a.pipes.splice(d,1),a.pipesCount-=1,1===a.pipesCount&&(a.pipes=a.pipes[0]),e.emit("unpipe",this,t)),this},C.prototype.on=function(e,a){var t=d.prototype.on.call(this,e,a),b=this._readableState;return"data"===e?(b.readableListening=this.listenerCount("readable")>0,!1!==b.flowing&&this.resume()):"readable"===e&&(b.endEmitted||b.readableListening||(b.readableListening=b.needReadable=!0,b.flowing=!1,b.emittedReadable=!1,p("on readable",b.length,b.reading),b.length?_(this):b.reading||n.nextTick(O,this))),t},C.prototype.addListener=C.prototype.on,C.prototype.removeListener=function(e,a){var t=d.prototype.removeListener.call(this,e,a);return"readable"===e&&n.nextTick(B,this),t},C.prototype.removeAllListeners=function(e){var a=d.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(B,this),a},C.prototype.resume=function(){var e=this._readableState;return e.flowing||(p("resume"),e.flowing=!e.readableListening,function(e,a){a.resumeScheduled||(a.resumeScheduled=!0,n.nextTick(I,e,a))}(this,e)),e.paused=!1,this},C.prototype.pause=function(){return p("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(p("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},C.prototype.wrap=function(e){var a=this,t=this._readableState,n=!1;for(var b in e.on("end",(function(){if(p("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&a.push(e)}a.push(null)})),e.on("data",(function(b){(p("wrapped data"),t.decoder&&(b=t.decoder.write(b)),t.objectMode&&null==b)||(t.objectMode||b&&b.length)&&(a.push(b)||(n=!0,e.pause()))})),e)void 0===this[b]&&"function"==typeof e[b]&&(this[b]=function(a){return function(){return e[a].apply(e,arguments)}}(b));for(var f=0;f<g.length;f++)e.on(g[f],this.emit.bind(this,g[f]));return this._read=function(a){p("wrapped _read",a),n&&(n=!1,e.resume())},this},"function"==typeof Symbol&&(C.prototype[Symbol.asyncIterator]=function(){return void 0===r&&(r=t(134)),r(this)}),Object.defineProperty(C.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(C.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(C.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),C._fromList=P,Object.defineProperty(C.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(C.from=function(e,a){return void 0===c&&(c=t(135)),c(C,e,a)})}).call(this,t(2),t(3))},function(e,a,t){e.exports=t(19).EventEmitter},function(e,a,t){"use strict";(function(a){function t(e,a){b(e,a),n(e)}function n(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function b(e,a){e.emit("error",a)}e.exports={destroy:function(e,f){var d=this,s=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return s||i?(f?f(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,a.nextTick(b,this,e)):a.nextTick(b,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!f&&e?d._writableState?d._writableState.errorEmitted?a.nextTick(n,d):(d._writableState.errorEmitted=!0,a.nextTick(t,d,e)):a.nextTick(t,d,e):f?(a.nextTick(n,d),f(e)):a.nextTick(n,d)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,a){var t=e._readableState,n=e._writableState;t&&t.autoDestroy||n&&n.autoDestroy?e.destroy(a):e.emit("error",a)}}}).call(this,t(3))},function(e,a,t){"use strict";var n=t(14).codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,a,t,b){var f=function(e,a,t){return null!=e.highWaterMark?e.highWaterMark:a?e[t]:null}(a,b,t);if(null!=f){if(!isFinite(f)||Math.floor(f)!==f||f<0)throw new n(b?t:"highWaterMark",f);return Math.floor(f)}return e.objectMode?16:16384}}},function(e,a,t){"use strict";(function(a,n){function b(e){var a=this;this.next=null,this.entry=null,this.finish=function(){!function(e,a,t){var n=e.entry;e.entry=null;for(;n;){var b=n.callback;a.pendingcb--,b(t),n=n.next}a.corkedRequestsFree.next=e}(a,e)}}var f;e.exports=C,C.WritableState=A;var d={deprecate:t(62)},s=t(58),i=t(0).Buffer,p=a.Uint8Array||function(){};var u,y=t(59),r=t(60).getHighWaterMark,c=t(14).codes,l=c.ERR_INVALID_ARG_TYPE,o=c.ERR_METHOD_NOT_IMPLEMENTED,m=c.ERR_MULTIPLE_CALLBACK,T=c.ERR_STREAM_CANNOT_PIPE,w=c.ERR_STREAM_DESTROYED,h=c.ERR_STREAM_NULL_VALUES,v=c.ERR_STREAM_WRITE_AFTER_END,x=c.ERR_UNKNOWN_ENCODING,M=y.errorOrDestroy;function g(){}function A(e,a,d){f=f||t(15),e=e||{},"boolean"!=typeof d&&(d=a instanceof f),this.objectMode=!!e.objectMode,d&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=r(this,e,"writableHighWaterMark",d),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===e.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,a){var t=e._writableState,b=t.sync,f=t.writecb;if("function"!=typeof f)throw new m;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(t),a)!function(e,a,t,b,f){--a.pendingcb,t?(n.nextTick(f,b),n.nextTick(F,e,a),e._writableState.errorEmitted=!0,M(e,b)):(f(b),e._writableState.errorEmitted=!0,M(e,b),F(e,a))}(e,t,b,a,f);else{var d=_(t)||e.destroyed;d||t.corked||t.bufferProcessing||!t.bufferedRequest||D(e,t),b?n.nextTick(S,e,t,d,f):S(e,t,d,f)}}(a,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new b(this)}function C(e){var a=this instanceof(f=f||t(15));if(!a&&!u.call(C,this))return new C(e);this._writableState=new A(e,this,a),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),s.call(this)}function E(e,a,t,n,b,f,d){a.writelen=n,a.writecb=d,a.writing=!0,a.sync=!0,a.destroyed?a.onwrite(new w("write")):t?e._writev(b,a.onwrite):e._write(b,f,a.onwrite),a.sync=!1}function S(e,a,t,n){t||function(e,a){0===a.length&&a.needDrain&&(a.needDrain=!1,e.emit("drain"))}(e,a),a.pendingcb--,n(),F(e,a)}function D(e,a){a.bufferProcessing=!0;var t=a.bufferedRequest;if(e._writev&&t&&t.next){var n=a.bufferedRequestCount,f=new Array(n),d=a.corkedRequestsFree;d.entry=t;for(var s=0,i=!0;t;)f[s]=t,t.isBuf||(i=!1),t=t.next,s+=1;f.allBuffers=i,E(e,a,!0,a.length,f,"",d.finish),a.pendingcb++,a.lastBufferedRequest=null,d.next?(a.corkedRequestsFree=d.next,d.next=null):a.corkedRequestsFree=new b(a),a.bufferedRequestCount=0}else{for(;t;){var p=t.chunk,u=t.encoding,y=t.callback;if(E(e,a,!1,a.objectMode?1:p.length,p,u,y),t=t.next,a.bufferedRequestCount--,a.writing)break}null===t&&(a.lastBufferedRequest=null)}a.bufferedRequest=t,a.bufferProcessing=!1}function _(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function k(e,a){e._final((function(t){a.pendingcb--,t&&M(e,t),a.prefinished=!0,e.emit("prefinish"),F(e,a)}))}function F(e,a){var t=_(a);if(t&&(function(e,a){a.prefinished||a.finalCalled||("function"!=typeof e._final||a.destroyed?(a.prefinished=!0,e.emit("prefinish")):(a.pendingcb++,a.finalCalled=!0,n.nextTick(k,e,a)))}(e,a),0===a.pendingcb&&(a.finished=!0,e.emit("finish"),a.autoDestroy))){var b=e._readableState;(!b||b.autoDestroy&&b.endEmitted)&&e.destroy()}return t}t(1)(C,s),A.prototype.getBuffer=function(){for(var e=this.bufferedRequest,a=[];e;)a.push(e),e=e.next;return a},function(){try{Object.defineProperty(A.prototype,"buffer",{get:d.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(u=Function.prototype[Symbol.hasInstance],Object.defineProperty(C,Symbol.hasInstance,{value:function(e){return!!u.call(this,e)||this===C&&(e&&e._writableState instanceof A)}})):u=function(e){return e instanceof this},C.prototype.pipe=function(){M(this,new T)},C.prototype.write=function(e,a,t){var b,f=this._writableState,d=!1,s=!f.objectMode&&(b=e,i.isBuffer(b)||b instanceof p);return s&&!i.isBuffer(e)&&(e=function(e){return i.from(e)}(e)),"function"==typeof a&&(t=a,a=null),s?a="buffer":a||(a=f.defaultEncoding),"function"!=typeof t&&(t=g),f.ending?function(e,a){var t=new v;M(e,t),n.nextTick(a,t)}(this,t):(s||function(e,a,t,b){var f;return null===t?f=new h:"string"==typeof t||a.objectMode||(f=new l("chunk",["string","Buffer"],t)),!f||(M(e,f),n.nextTick(b,f),!1)}(this,f,e,t))&&(f.pendingcb++,d=function(e,a,t,n,b,f){if(!t){var d=function(e,a,t){e.objectMode||!1===e.decodeStrings||"string"!=typeof a||(a=i.from(a,t));return a}(a,n,b);n!==d&&(t=!0,b="buffer",n=d)}var s=a.objectMode?1:n.length;a.length+=s;var p=a.length<a.highWaterMark;p||(a.needDrain=!0);if(a.writing||a.corked){var u=a.lastBufferedRequest;a.lastBufferedRequest={chunk:n,encoding:b,isBuf:t,callback:f,next:null},u?u.next=a.lastBufferedRequest:a.bufferedRequest=a.lastBufferedRequest,a.bufferedRequestCount+=1}else E(e,a,!1,s,n,b,f);return p}(this,f,s,e,a,t)),d},C.prototype.cork=function(){this._writableState.corked++},C.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||D(this,e))},C.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new x(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(e,a,t){t(new o("_write()"))},C.prototype._writev=null,C.prototype.end=function(e,a,t){var b=this._writableState;return"function"==typeof e?(t=e,e=null,a=null):"function"==typeof a&&(t=a,a=null),null!=e&&this.write(e,a),b.corked&&(b.corked=1,this.uncork()),b.ending||function(e,a,t){a.ending=!0,F(e,a),t&&(a.finished?n.nextTick(t):e.once("finish",t));a.ended=!0,e.writable=!1}(this,b,t),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),C.prototype.destroy=y.destroy,C.prototype._undestroy=y.undestroy,C.prototype._destroy=function(e,a){a(e)}}).call(this,t(2),t(3))},function(e,a,t){(function(a){function t(e){try{if(!a.localStorage)return!1}catch(e){return!1}var t=a.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}e.exports=function(e,a){if(t("noDeprecation"))return e;var n=!1;return function(){if(!n){if(t("throwDeprecation"))throw new Error(a);t("traceDeprecation")?console.trace(a):console.warn(a),n=!0}return e.apply(this,arguments)}}}).call(this,t(2))},function(e,a,t){"use strict";e.exports=u;var n=t(14).codes,b=n.ERR_METHOD_NOT_IMPLEMENTED,f=n.ERR_MULTIPLE_CALLBACK,d=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0,i=t(15);function p(e,a){var t=this._transformState;t.transforming=!1;var n=t.writecb;if(null===n)return this.emit("error",new f);t.writechunk=null,t.writecb=null,null!=a&&this.push(a),n(e);var b=this._readableState;b.reading=!1,(b.needReadable||b.length<b.highWaterMark)&&this._read(b.highWaterMark)}function u(e){if(!(this instanceof u))return new u(e);i.call(this,e),this._transformState={afterTransform:p.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",y)}function y(){var e=this;"function"!=typeof this._flush||this._readableState.destroyed?r(this,null,null):this._flush((function(a,t){r(e,a,t)}))}function r(e,a,t){if(a)return e.emit("error",a);if(null!=t&&e.push(t),e._writableState.length)throw new s;if(e._transformState.transforming)throw new d;return e.push(null)}t(1)(u,i),u.prototype.push=function(e,a){return this._transformState.needTransform=!1,i.prototype.push.call(this,e,a)},u.prototype._transform=function(e,a,t){t(new b("_transform()"))},u.prototype._write=function(e,a,t){var n=this._transformState;if(n.writecb=t,n.writechunk=e,n.writeencoding=a,!n.transforming){var b=this._readableState;(n.needTransform||b.needReadable||b.length<b.highWaterMark)&&this._read(b.highWaterMark)}},u.prototype._read=function(e){var a=this._transformState;null===a.writechunk||a.transforming?a.needTransform=!0:(a.transforming=!0,this._transform(a.writechunk,a.writeencoding,a.afterTransform))},u.prototype._destroy=function(e,a){i.prototype._destroy.call(this,e,(function(e){a(e)}))}},function(e,a,t){"use strict";var n=t(5).Buffer,b=t(33).Transform;function f(e){b.call(this),this._block=n.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}t(1)(f,b),f.prototype._transform=function(e,a,t){var n=null;try{this.update(e,a)}catch(e){n=e}t(n)},f.prototype._flush=function(e){var a=null;try{this.push(this.digest())}catch(e){a=e}e(a)},f.prototype.update=function(e,a){if(function(e,a){if(!n.isBuffer(e)&&"string"!=typeof e)throw new TypeError(a+" must be a string or a buffer")}(e,"Data"),this._finalized)throw new Error("Digest already called");n.isBuffer(e)||(e=n.from(e,a));for(var t=this._block,b=0;this._blockOffset+e.length-b>=this._blockSize;){for(var f=this._blockOffset;f<this._blockSize;)t[f++]=e[b++];this._update(),this._blockOffset=0}for(;b<e.length;)t[this._blockOffset++]=e[b++];for(var d=0,s=8*e.length;s>0;++d)this._length[d]+=s,(s=this._length[d]/4294967296|0)>0&&(this._length[d]-=4294967296*s);return this},f.prototype._update=function(){throw new Error("_update is not implemented")},f.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var a=this._digest();void 0!==e&&(a=a.toString(e)),this._block.fill(0),this._blockOffset=0;for(var t=0;t<4;++t)this._length[t]=0;return a},f.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=f},function(e,a,t){var n=t(1),b=t(16),f=t(5).Buffer,d=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=new Array(64);function i(){this.init(),this._w=s,b.call(this,64,56)}function p(e,a,t){return t^e&(a^t)}function u(e,a,t){return e&a|t&(e|a)}function y(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function r(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function c(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}n(i,b),i.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},i.prototype._update=function(e){for(var a,t=this._w,n=0|this._a,b=0|this._b,f=0|this._c,s=0|this._d,i=0|this._e,l=0|this._f,o=0|this._g,m=0|this._h,T=0;T<16;++T)t[T]=e.readInt32BE(4*T);for(;T<64;++T)t[T]=0|(((a=t[T-2])>>>17|a<<15)^(a>>>19|a<<13)^a>>>10)+t[T-7]+c(t[T-15])+t[T-16];for(var w=0;w<64;++w){var h=m+r(i)+p(i,l,o)+d[w]+t[w]|0,v=y(n)+u(n,b,f)|0;m=o,o=l,l=i,i=s+h|0,s=f,f=b,b=n,n=h+v|0}this._a=n+this._a|0,this._b=b+this._b|0,this._c=f+this._c|0,this._d=s+this._d|0,this._e=i+this._e|0,this._f=l+this._f|0,this._g=o+this._g|0,this._h=m+this._h|0},i.prototype._hash=function(){var e=f.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=i},function(e,a,t){var n=t(1),b=t(16),f=t(5).Buffer,d=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function i(){this.init(),this._w=s,b.call(this,128,112)}function p(e,a,t){return t^e&(a^t)}function u(e,a,t){return e&a|t&(e|a)}function y(e,a){return(e>>>28|a<<4)^(a>>>2|e<<30)^(a>>>7|e<<25)}function r(e,a){return(e>>>14|a<<18)^(e>>>18|a<<14)^(a>>>9|e<<23)}function c(e,a){return(e>>>1|a<<31)^(e>>>8|a<<24)^e>>>7}function l(e,a){return(e>>>1|a<<31)^(e>>>8|a<<24)^(e>>>7|a<<25)}function o(e,a){return(e>>>19|a<<13)^(a>>>29|e<<3)^e>>>6}function m(e,a){return(e>>>19|a<<13)^(a>>>29|e<<3)^(e>>>6|a<<26)}function T(e,a){return e>>>0<a>>>0?1:0}n(i,b),i.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},i.prototype._update=function(e){for(var a=this._w,t=0|this._ah,n=0|this._bh,b=0|this._ch,f=0|this._dh,s=0|this._eh,i=0|this._fh,w=0|this._gh,h=0|this._hh,v=0|this._al,x=0|this._bl,M=0|this._cl,g=0|this._dl,A=0|this._el,C=0|this._fl,E=0|this._gl,S=0|this._hl,D=0;D<32;D+=2)a[D]=e.readInt32BE(4*D),a[D+1]=e.readInt32BE(4*D+4);for(;D<160;D+=2){var _=a[D-30],k=a[D-30+1],F=c(_,k),R=l(k,_),B=o(_=a[D-4],k=a[D-4+1]),O=m(k,_),I=a[D-14],N=a[D-14+1],P=a[D-32],K=a[D-32+1],L=R+N|0,U=F+I+T(L,R)|0;U=(U=U+B+T(L=L+O|0,O)|0)+P+T(L=L+K|0,K)|0,a[D]=U,a[D+1]=L}for(var V=0;V<160;V+=2){U=a[V],L=a[V+1];var z=u(t,n,b),q=u(v,x,M),W=y(t,v),H=y(v,t),Q=r(s,A),X=r(A,s),Z=d[V],j=d[V+1],G=p(s,i,w),$=p(A,C,E),Y=S+X|0,J=h+Q+T(Y,S)|0;J=(J=(J=J+G+T(Y=Y+$|0,$)|0)+Z+T(Y=Y+j|0,j)|0)+U+T(Y=Y+L|0,L)|0;var ee=H+q|0,ae=W+z+T(ee,H)|0;h=w,S=E,w=i,E=C,i=s,C=A,s=f+J+T(A=g+Y|0,g)|0,f=b,g=M,b=n,M=x,n=t,x=v,t=J+ae+T(v=Y+ee|0,Y)|0}this._al=this._al+v|0,this._bl=this._bl+x|0,this._cl=this._cl+M|0,this._dl=this._dl+g|0,this._el=this._el+A|0,this._fl=this._fl+C|0,this._gl=this._gl+E|0,this._hl=this._hl+S|0,this._ah=this._ah+t+T(this._al,v)|0,this._bh=this._bh+n+T(this._bl,x)|0,this._ch=this._ch+b+T(this._cl,M)|0,this._dh=this._dh+f+T(this._dl,g)|0,this._eh=this._eh+s+T(this._el,A)|0,this._fh=this._fh+i+T(this._fl,C)|0,this._gh=this._gh+w+T(this._gl,E)|0,this._hh=this._hh+h+T(this._hl,S)|0},i.prototype._hash=function(){var e=f.allocUnsafe(64);function a(a,t,n){e.writeInt32BE(a,n),e.writeInt32BE(t,n+4)}return a(this._ah,this._al,0),a(this._bh,this._bl,8),a(this._ch,this._cl,16),a(this._dh,this._dl,24),a(this._eh,this._el,32),a(this._fh,this._fl,40),a(this._gh,this._gl,48),a(this._hh,this._hl,56),e},e.exports=i},function(e,a,t){"use strict";(function(a,n){var b=t(24);e.exports=h;var f,d=t(151);h.ReadableState=w;t(19).EventEmitter;var s=function(e,a){return e.listeners(a).length},i=t(68),p=t(36).Buffer,u=a.Uint8Array||function(){};var y=Object.create(t(21));y.inherits=t(1);var r=t(152),c=void 0;c=r&&r.debuglog?r.debuglog("stream"):function(){};var l,o=t(153),m=t(69);y.inherits(h,i);var T=["error","close","destroy","pause","resume"];function w(e,a){e=e||{};var n=a instanceof(f=f||t(12));this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var b=e.highWaterMark,d=e.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=b||0===b?b:n&&(d||0===d)?d:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new o,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(l||(l=t(20).StringDecoder),this.decoder=new l(e.encoding),this.encoding=e.encoding)}function h(e){if(f=f||t(12),!(this instanceof h))return new h(e);this._readableState=new w(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),i.call(this)}function v(e,a,t,n,b){var f,d=e._readableState;null===a?(d.reading=!1,function(e,a){if(a.ended)return;if(a.decoder){var t=a.decoder.end();t&&t.length&&(a.buffer.push(t),a.length+=a.objectMode?1:t.length)}a.ended=!0,g(e)}(e,d)):(b||(f=function(e,a){var t;n=a,p.isBuffer(n)||n instanceof u||"string"==typeof a||void 0===a||e.objectMode||(t=new TypeError("Invalid non-string/buffer chunk"));var n;return t}(d,a)),f?e.emit("error",f):d.objectMode||a&&a.length>0?("string"==typeof a||d.objectMode||Object.getPrototypeOf(a)===p.prototype||(a=function(e){return p.from(e)}(a)),n?d.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):x(e,d,a,!0):d.ended?e.emit("error",new Error("stream.push() after EOF")):(d.reading=!1,d.decoder&&!t?(a=d.decoder.write(a),d.objectMode||0!==a.length?x(e,d,a,!1):C(e,d)):x(e,d,a,!1))):n||(d.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(d)}function x(e,a,t,n){a.flowing&&0===a.length&&!a.sync?(e.emit("data",t),e.read(0)):(a.length+=a.objectMode?1:t.length,n?a.buffer.unshift(t):a.buffer.push(t),a.needReadable&&g(e)),C(e,a)}Object.defineProperty(h.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),h.prototype.destroy=m.destroy,h.prototype._undestroy=m.undestroy,h.prototype._destroy=function(e,a){this.push(null),a(e)},h.prototype.push=function(e,a){var t,n=this._readableState;return n.objectMode?t=!0:"string"==typeof e&&((a=a||n.defaultEncoding)!==n.encoding&&(e=p.from(e,a),a=""),t=!0),v(this,e,a,!1,t)},h.prototype.unshift=function(e){return v(this,e,null,!0,!1)},h.prototype.isPaused=function(){return!1===this._readableState.flowing},h.prototype.setEncoding=function(e){return l||(l=t(20).StringDecoder),this._readableState.decoder=new l(e),this._readableState.encoding=e,this};function M(e,a){return e<=0||0===a.length&&a.ended?0:a.objectMode?1:e!=e?a.flowing&&a.length?a.buffer.head.data.length:a.length:(e>a.highWaterMark&&(a.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=a.length?e:a.ended?a.length:(a.needReadable=!0,0))}function g(e){var a=e._readableState;a.needReadable=!1,a.emittedReadable||(c("emitReadable",a.flowing),a.emittedReadable=!0,a.sync?b.nextTick(A,e):A(e))}function A(e){c("emit readable"),e.emit("readable"),_(e)}function C(e,a){a.readingMore||(a.readingMore=!0,b.nextTick(E,e,a))}function E(e,a){for(var t=a.length;!a.reading&&!a.flowing&&!a.ended&&a.length<a.highWaterMark&&(c("maybeReadMore read 0"),e.read(0),t!==a.length);)t=a.length;a.readingMore=!1}function S(e){c("readable nexttick read 0"),e.read(0)}function D(e,a){a.reading||(c("resume read 0"),e.read(0)),a.resumeScheduled=!1,a.awaitDrain=0,e.emit("resume"),_(e),a.flowing&&!a.reading&&e.read(0)}function _(e){var a=e._readableState;for(c("flow",a.flowing);a.flowing&&null!==e.read(););}function k(e,a){return 0===a.length?null:(a.objectMode?t=a.buffer.shift():!e||e>=a.length?(t=a.decoder?a.buffer.join(""):1===a.buffer.length?a.buffer.head.data:a.buffer.concat(a.length),a.buffer.clear()):t=function(e,a,t){var n;e<a.head.data.length?(n=a.head.data.slice(0,e),a.head.data=a.head.data.slice(e)):n=e===a.head.data.length?a.shift():t?function(e,a){var t=a.head,n=1,b=t.data;e-=b.length;for(;t=t.next;){var f=t.data,d=e>f.length?f.length:e;if(d===f.length?b+=f:b+=f.slice(0,e),0===(e-=d)){d===f.length?(++n,t.next?a.head=t.next:a.head=a.tail=null):(a.head=t,t.data=f.slice(d));break}++n}return a.length-=n,b}(e,a):function(e,a){var t=p.allocUnsafe(e),n=a.head,b=1;n.data.copy(t),e-=n.data.length;for(;n=n.next;){var f=n.data,d=e>f.length?f.length:e;if(f.copy(t,t.length-e,0,d),0===(e-=d)){d===f.length?(++b,n.next?a.head=n.next:a.head=a.tail=null):(a.head=n,n.data=f.slice(d));break}++b}return a.length-=b,t}(e,a);return n}(e,a.buffer,a.decoder),t);var t}function F(e){var a=e._readableState;if(a.length>0)throw new Error('"endReadable()" called on non-empty stream');a.endEmitted||(a.ended=!0,b.nextTick(R,a,e))}function R(e,a){e.endEmitted||0!==e.length||(e.endEmitted=!0,a.readable=!1,a.emit("end"))}function B(e,a){for(var t=0,n=e.length;t<n;t++)if(e[t]===a)return t;return-1}h.prototype.read=function(e){c("read",e),e=parseInt(e,10);var a=this._readableState,t=e;if(0!==e&&(a.emittedReadable=!1),0===e&&a.needReadable&&(a.length>=a.highWaterMark||a.ended))return c("read: emitReadable",a.length,a.ended),0===a.length&&a.ended?F(this):g(this),null;if(0===(e=M(e,a))&&a.ended)return 0===a.length&&F(this),null;var n,b=a.needReadable;return c("need readable",b),(0===a.length||a.length-e<a.highWaterMark)&&c("length less than watermark",b=!0),a.ended||a.reading?c("reading or ended",b=!1):b&&(c("do read"),a.reading=!0,a.sync=!0,0===a.length&&(a.needReadable=!0),this._read(a.highWaterMark),a.sync=!1,a.reading||(e=M(t,a))),null===(n=e>0?k(e,a):null)?(a.needReadable=!0,e=0):a.length-=e,0===a.length&&(a.ended||(a.needReadable=!0),t!==e&&a.ended&&F(this)),null!==n&&this.emit("data",n),n},h.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},h.prototype.pipe=function(e,a){var t=this,f=this._readableState;switch(f.pipesCount){case 0:f.pipes=e;break;case 1:f.pipes=[f.pipes,e];break;default:f.pipes.push(e)}f.pipesCount+=1,c("pipe count=%d opts=%j",f.pipesCount,a);var i=(!a||!1!==a.end)&&e!==n.stdout&&e!==n.stderr?u:h;function p(a,n){c("onunpipe"),a===t&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,c("cleanup"),e.removeListener("close",T),e.removeListener("finish",w),e.removeListener("drain",y),e.removeListener("error",m),e.removeListener("unpipe",p),t.removeListener("end",u),t.removeListener("end",h),t.removeListener("data",o),r=!0,!f.awaitDrain||e._writableState&&!e._writableState.needDrain||y())}function u(){c("onend"),e.end()}f.endEmitted?b.nextTick(i):t.once("end",i),e.on("unpipe",p);var y=function(e){return function(){var a=e._readableState;c("pipeOnDrain",a.awaitDrain),a.awaitDrain&&a.awaitDrain--,0===a.awaitDrain&&s(e,"data")&&(a.flowing=!0,_(e))}}(t);e.on("drain",y);var r=!1;var l=!1;function o(a){c("ondata"),l=!1,!1!==e.write(a)||l||((1===f.pipesCount&&f.pipes===e||f.pipesCount>1&&-1!==B(f.pipes,e))&&!r&&(c("false write response, pause",t._readableState.awaitDrain),t._readableState.awaitDrain++,l=!0),t.pause())}function m(a){c("onerror",a),h(),e.removeListener("error",m),0===s(e,"error")&&e.emit("error",a)}function T(){e.removeListener("finish",w),h()}function w(){c("onfinish"),e.removeListener("close",T),h()}function h(){c("unpipe"),t.unpipe(e)}return t.on("data",o),function(e,a,t){if("function"==typeof e.prependListener)return e.prependListener(a,t);e._events&&e._events[a]?d(e._events[a])?e._events[a].unshift(t):e._events[a]=[t,e._events[a]]:e.on(a,t)}(e,"error",m),e.once("close",T),e.once("finish",w),e.emit("pipe",t),f.flowing||(c("pipe resume"),t.resume()),e},h.prototype.unpipe=function(e){var a=this._readableState,t={hasUnpiped:!1};if(0===a.pipesCount)return this;if(1===a.pipesCount)return e&&e!==a.pipes||(e||(e=a.pipes),a.pipes=null,a.pipesCount=0,a.flowing=!1,e&&e.emit("unpipe",this,t)),this;if(!e){var n=a.pipes,b=a.pipesCount;a.pipes=null,a.pipesCount=0,a.flowing=!1;for(var f=0;f<b;f++)n[f].emit("unpipe",this,t);return this}var d=B(a.pipes,e);return-1===d||(a.pipes.splice(d,1),a.pipesCount-=1,1===a.pipesCount&&(a.pipes=a.pipes[0]),e.emit("unpipe",this,t)),this},h.prototype.on=function(e,a){var t=i.prototype.on.call(this,e,a);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var n=this._readableState;n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&g(this):b.nextTick(S,this))}return t},h.prototype.addListener=h.prototype.on,h.prototype.resume=function(){var e=this._readableState;return e.flowing||(c("resume"),e.flowing=!0,function(e,a){a.resumeScheduled||(a.resumeScheduled=!0,b.nextTick(D,e,a))}(this,e)),this},h.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this},h.prototype.wrap=function(e){var a=this,t=this._readableState,n=!1;for(var b in e.on("end",(function(){if(c("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&a.push(e)}a.push(null)})),e.on("data",(function(b){(c("wrapped data"),t.decoder&&(b=t.decoder.write(b)),t.objectMode&&null==b)||(t.objectMode||b&&b.length)&&(a.push(b)||(n=!0,e.pause()))})),e)void 0===this[b]&&"function"==typeof e[b]&&(this[b]=function(a){return function(){return e[a].apply(e,arguments)}}(b));for(var f=0;f<T.length;f++)e.on(T[f],this.emit.bind(this,T[f]));return this._read=function(a){c("wrapped _read",a),n&&(n=!1,e.resume())},this},Object.defineProperty(h.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),h._fromList=k}).call(this,t(2),t(3))},function(e,a,t){e.exports=t(19).EventEmitter},function(e,a,t){"use strict";var n=t(24);function b(e,a){e.emit("error",a)}e.exports={destroy:function(e,a){var t=this,f=this._readableState&&this._readableState.destroyed,d=this._writableState&&this._writableState.destroyed;return f||d?(a?a(e):!e||this._writableState&&this._writableState.errorEmitted||n.nextTick(b,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!a&&e?(n.nextTick(b,t,e),t._writableState&&(t._writableState.errorEmitted=!0)):a&&a(e)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,a,t){"use strict";e.exports=d;var n=t(12),b=Object.create(t(21));function f(e,a){var t=this._transformState;t.transforming=!1;var n=t.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));t.writechunk=null,t.writecb=null,null!=a&&this.push(a),n(e);var b=this._readableState;b.reading=!1,(b.needReadable||b.length<b.highWaterMark)&&this._read(b.highWaterMark)}function d(e){if(!(this instanceof d))return new d(e);n.call(this,e),this._transformState={afterTransform:f.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",s)}function s(){var e=this;"function"==typeof this._flush?this._flush((function(a,t){i(e,a,t)})):i(this,null,null)}function i(e,a,t){if(a)return e.emit("error",a);if(null!=t&&e.push(t),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}b.inherits=t(1),b.inherits(d,n),d.prototype.push=function(e,a){return this._transformState.needTransform=!1,n.prototype.push.call(this,e,a)},d.prototype._transform=function(e,a,t){throw new Error("_transform() is not implemented")},d.prototype._write=function(e,a,t){var n=this._transformState;if(n.writecb=t,n.writechunk=e,n.writeencoding=a,!n.transforming){var b=this._readableState;(n.needTransform||b.needReadable||b.length<b.highWaterMark)&&this._read(b.highWaterMark)}},d.prototype._read=function(e){var a=this._transformState;null!==a.writechunk&&a.writecb&&!a.transforming?(a.transforming=!0,this._transform(a.writechunk,a.writeencoding,a.afterTransform)):a.needTransform=!0},d.prototype._destroy=function(e,a){var t=this;n.prototype._destroy.call(this,e,(function(e){a(e),t.emit("close")}))}},function(e,a,t){"use strict";t.r(a),t.d(a,"ConstructorFragment",(function(){return ne})),t.d(a,"EventFragment",(function(){return J})),t.d(a,"Fragment",(function(){return Y})),t.d(a,"FunctionFragment",(function(){return be})),t.d(a,"ParamType",(function(){return G})),t.d(a,"FormatTypes",(function(){return Z})),t.d(a,"AbiCoder",(function(){return Je})),t.d(a,"defaultAbiCoder",(function(){return ea})),t.d(a,"Interface",(function(){return sa})),t.d(a,"Indexed",(function(){return fa})),t.d(a,"checkResultErrors",(function(){return ue})),t.d(a,"LogDescription",(function(){return na})),t.d(a,"TransactionDescription",(function(){return ba}));var n=t(72),b=t.n(n);let f=!1,d=!1;const s={debug:1,default:2,info:2,warning:3,error:4,off:5};let i=s.default,p=null;const u=function(){try{const e=[];if(["NFD","NFC","NFKD","NFKC"].forEach(a=>{try{if("test"!=="test".normalize(a))throw new Error("bad normalize")}catch(t){e.push(a)}}),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();var y,r;!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(y||(y={})),function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",e.TRANSACTION_REPLACED="TRANSACTION_REPLACED"}(r||(r={}));const c="0123456789abcdef";class l{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,a){const t=e.toLowerCase();null==s[t]&&this.throwArgumentError("invalid log level name","logLevel",e),i>s[t]||console.log.apply(console,a)}debug(...e){this._log(l.levels.DEBUG,e)}info(...e){this._log(l.levels.INFO,e)}warn(...e){this._log(l.levels.WARNING,e)}makeError(e,a,t){if(d)return this.makeError("censored error",a,{});a||(a=l.errors.UNKNOWN_ERROR),t||(t={});const n=[];Object.keys(t).forEach(e=>{const a=t[e];try{if(a instanceof Uint8Array){let t="";for(let e=0;e<a.length;e++)t+=c[a[e]>>4],t+=c[15&a[e]];n.push(e+"=Uint8Array(0x"+t+")")}else n.push(e+"="+JSON.stringify(a))}catch(a){n.push(e+"="+JSON.stringify(t[e].toString()))}}),n.push("code="+a),n.push("version="+this.version);const b=e;n.length&&(e+=" ("+n.join(", ")+")");const f=new Error(e);return f.reason=b,f.code=a,Object.keys(t).forEach((function(e){f[e]=t[e]})),f}throwError(e,a,t){throw this.makeError(e,a,t)}throwArgumentError(e,a,t){return this.throwError(e,l.errors.INVALID_ARGUMENT,{argument:a,value:t})}assert(e,a,t,n){e||this.throwError(a,t,n)}assertArgument(e,a,t,n){e||this.throwArgumentError(a,t,n)}checkNormalize(e){null==e&&(e="platform missing String.prototype.normalize"),u&&this.throwError("platform missing String.prototype.normalize",l.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:u})}checkSafeUint53(e,a){"number"==typeof e&&(null==a&&(a="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(a,l.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(a,l.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,a,t){t=t?": "+t:"",e<a&&this.throwError("missing argument"+t,l.errors.MISSING_ARGUMENT,{count:e,expectedCount:a}),e>a&&this.throwError("too many arguments"+t,l.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:a})}checkNew(e,a){e!==Object&&null!=e||this.throwError("missing new",l.errors.MISSING_NEW,{name:a.name})}checkAbstract(e,a){e===a?this.throwError("cannot instantiate abstract class "+JSON.stringify(a.name)+" directly; use a sub-class",l.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||this.throwError("missing new",l.errors.MISSING_NEW,{name:a.name})}static globalLogger(){return p||(p=new l("logger/5.5.0")),p}static setCensorship(e,a){if(!e&&a&&this.globalLogger().throwError("cannot permanently disable censorship",l.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),f){if(!e)return;this.globalLogger().throwError("error censorship permanent",l.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}d=!!e,f=!!a}static setLogLevel(e){const a=s[e.toLowerCase()];null!=a?i=a:l.globalLogger().warn("invalid log level - "+e)}static from(e){return new l(e)}}l.errors=r,l.levels=y;const o=new l("bytes/5.5.0");function m(e){return!!e.toHexString}function T(e){return e.slice||(e.slice=function(){const a=Array.prototype.slice.call(arguments);return T(new Uint8Array(Array.prototype.slice.apply(e,a)))}),e}function w(e){return"number"==typeof e&&e==e&&e%1==0}function h(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(!w(e.length)||e.length<0)return!1;for(let a=0;a<e.length;a++){const t=e[a];if(!w(t)||t<0||t>=256)return!1}return!0}function v(e,a){if(a||(a={}),"number"==typeof e){o.checkSafeUint53(e,"invalid arrayify value");const a=[];for(;e;)a.unshift(255&e),e=parseInt(String(e/256));return 0===a.length&&a.push(0),T(new Uint8Array(a))}if(a.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),m(e)&&(e=e.toHexString()),M(e)){let t=e.substring(2);t.length%2&&("left"===a.hexPad?t="0x0"+t.substring(2):"right"===a.hexPad?t+="0":o.throwArgumentError("hex data is odd-length","value",e));const n=[];for(let e=0;e<t.length;e+=2)n.push(parseInt(t.substring(e,e+2),16));return T(new Uint8Array(n))}return h(e)?T(new Uint8Array(e)):o.throwArgumentError("invalid arrayify value","value",e)}function x(e){const a=e.map(e=>v(e)),t=a.reduce((e,a)=>e+a.length,0),n=new Uint8Array(t);return a.reduce((e,a)=>(n.set(a,e),e+a.length),0),T(n)}function M(e,a){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/))&&(!a||e.length===2+2*a)}function g(e,a){if(a||(a={}),"number"==typeof e){o.checkSafeUint53(e,"invalid hexlify value");let a="";for(;e;)a="0123456789abcdef"[15&e]+a,e=Math.floor(e/16);return a.length?(a.length%2&&(a="0"+a),"0x"+a):"0x00"}if("bigint"==typeof e)return(e=e.toString(16)).length%2?"0x0"+e:"0x"+e;if(a.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),m(e))return e.toHexString();if(M(e))return e.length%2&&("left"===a.hexPad?e="0x0"+e.substring(2):"right"===a.hexPad?e+="0":o.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(h(e)){let a="0x";for(let t=0;t<e.length;t++){let n=e[t];a+="0123456789abcdef"[(240&n)>>4]+"0123456789abcdef"[15&n]}return a}return o.throwArgumentError("invalid hexlify value","value",e)}function A(e,a,t){return"string"!=typeof e?e=g(e):(!M(e)||e.length%2)&&o.throwArgumentError("invalid hexData","value",e),a=2+2*a,null!=t?"0x"+e.substring(a,2+2*t):"0x"+e.substring(a)}function C(e,a){for("string"!=typeof e?e=g(e):M(e)||o.throwArgumentError("invalid hex string","value",e),e.length>2*a+2&&o.throwArgumentError("value out of range","value",arguments[1]);e.length<2*a+2;)e="0x0"+e.substring(2);return e}var E=b.a.BN;const S=new l("bignumber/5.5.0"),D={};let _=!1;class k{constructor(e,a){S.checkNew(new.target,k),e!==D&&S.throwError("cannot call constructor directly; use BigNumber.from",l.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=a,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return R(B(this).fromTwos(e))}toTwos(e){return R(B(this).toTwos(e))}abs(){return"-"===this._hex[0]?k.from(this._hex.substring(1)):this}add(e){return R(B(this).add(B(e)))}sub(e){return R(B(this).sub(B(e)))}div(e){return k.from(e).isZero()&&O("division by zero","div"),R(B(this).div(B(e)))}mul(e){return R(B(this).mul(B(e)))}mod(e){const a=B(e);return a.isNeg()&&O("cannot modulo negative values","mod"),R(B(this).umod(a))}pow(e){const a=B(e);return a.isNeg()&&O("cannot raise to negative values","pow"),R(B(this).pow(a))}and(e){const a=B(e);return(this.isNegative()||a.isNeg())&&O("cannot 'and' negative values","and"),R(B(this).and(a))}or(e){const a=B(e);return(this.isNegative()||a.isNeg())&&O("cannot 'or' negative values","or"),R(B(this).or(a))}xor(e){const a=B(e);return(this.isNegative()||a.isNeg())&&O("cannot 'xor' negative values","xor"),R(B(this).xor(a))}mask(e){return(this.isNegative()||e<0)&&O("cannot mask negative values","mask"),R(B(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&O("cannot shift negative values","shl"),R(B(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&O("cannot shift negative values","shr"),R(B(this).shrn(e))}eq(e){return B(this).eq(B(e))}lt(e){return B(this).lt(B(e))}lte(e){return B(this).lte(B(e))}gt(e){return B(this).gt(B(e))}gte(e){return B(this).gte(B(e))}isNegative(){return"-"===this._hex[0]}isZero(){return B(this).isZero()}toNumber(){try{return B(this).toNumber()}catch(e){O("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(e){}return S.throwError("this platform does not support BigInt",l.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?_||(_=!0,S.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?S.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",l.errors.UNEXPECTED_ARGUMENT,{}):S.throwError("BigNumber.toString does not accept parameters",l.errors.UNEXPECTED_ARGUMENT,{})),B(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof k)return e;if("string"==typeof e)return e.match(/^-?0x[0-9a-f]+$/i)?new k(D,F(e)):e.match(/^-?[0-9]+$/)?new k(D,F(new E(e))):S.throwArgumentError("invalid BigNumber string","value",e);if("number"==typeof e)return e%1&&O("underflow","BigNumber.from",e),(e>=9007199254740991||e<=-9007199254740991)&&O("overflow","BigNumber.from",e),k.from(String(e));const a=e;if("bigint"==typeof a)return k.from(a.toString());if(h(a))return k.from(g(a));if(a)if(a.toHexString){const e=a.toHexString();if("string"==typeof e)return k.from(e)}else{let e=a._hex;if(null==e&&"BigNumber"===a.type&&(e=a.hex),"string"==typeof e&&(M(e)||"-"===e[0]&&M(e.substring(1))))return k.from(e)}return S.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!(!e||!e._isBigNumber)}}function F(e){if("string"!=typeof e)return F(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&S.throwArgumentError("invalid hex","value",e),"0x00"===(e=F(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function R(e){return k.from(F(e))}function B(e){const a=k.from(e).toHexString();return"-"===a[0]?new E("-"+a.substring(3),16):new E(a.substring(2),16)}function O(e,a,t){const n={fault:e,operation:a};return null!=t&&(n.value=t),S.throwError(e,l.errors.NUMERIC_FAULT,n)}const I=new l("properties/5.5.0");function N(e,a,t){Object.defineProperty(e,a,{enumerable:!0,value:t,writable:!1})}function P(e,a){for(let t=0;t<32;t++){if(e[a])return e[a];if(!e.prototype||"object"!=typeof e.prototype)break;e=Object.getPrototypeOf(e.prototype).constructor}return null}const K={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function L(e){if(function e(a){if(null==a||K[typeof a])return!0;if(Array.isArray(a)||"object"==typeof a){if(!Object.isFrozen(a))return!1;const t=Object.keys(a);for(let n=0;n<t.length;n++){let b=null;try{b=a[t[n]]}catch(e){continue}if(!e(b))return!1}return!0}return I.throwArgumentError("Cannot deepCopy "+typeof a,"object",a)}(e))return e;if(Array.isArray(e))return Object.freeze(e.map(e=>U(e)));if("object"==typeof e){const a={};for(const t in e){const n=e[t];void 0!==n&&N(a,t,U(n))}return a}return I.throwArgumentError("Cannot deepCopy "+typeof e,"object",e)}function U(e){return L(e)}class V{constructor(e){for(const a in e)this[a]=U(e[a])}}const z=new l("abi/5.0.7"),q={};let W={calldata:!0,memory:!0,storage:!0},H={calldata:!0,memory:!0};function Q(e,a){if("bytes"===e||"string"===e){if(W[a])return!0}else if("address"===e){if("payable"===a)return!0}else if((e.indexOf("[")>=0||"tuple"===e)&&H[a])return!0;return(W[a]||"payable"===a)&&z.throwArgumentError("invalid modifier","name",a),!1}function X(e,a){for(let t in a)N(e,t,a[t])}const Z=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),j=new RegExp(/^(.*)\[([0-9]*)\]$/);class G{constructor(e,a){e!==q&&z.throwError("use fromString",l.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),X(this,a);let t=this.type.match(j);X(this,t?{arrayLength:parseInt(t[2]||"-1"),arrayChildren:G.fromObject({type:t[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(e){if(e||(e=Z.sighash),Z[e]||z.throwArgumentError("invalid format type","format",e),e===Z.json){let a={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(a.indexed=this.indexed),this.components&&(a.components=this.components.map(a=>JSON.parse(a.format(e)))),JSON.stringify(a)}let a="";return"array"===this.baseType?(a+=this.arrayChildren.format(e),a+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(e!==Z.sighash&&(a+=this.type),a+="("+this.components.map(a=>a.format(e)).join(e===Z.full?", ":",")+")"):a+=this.type,e!==Z.sighash&&(!0===this.indexed&&(a+=" indexed"),e===Z.full&&this.name&&(a+=" "+this.name)),a}static from(e,a){return"string"==typeof e?G.fromString(e,a):G.fromObject(e)}static fromObject(e){return G.isParamType(e)?e:new G(q,{name:e.name||null,type:fe(e.type),indexed:null==e.indexed?null:!!e.indexed,components:e.components?e.components.map(G.fromObject):null})}static fromString(e,a){return function(e){return G.fromObject({name:e.name,type:e.type,indexed:e.indexed,components:e.components})}(function(e,a){let t=e;function n(a){z.throwArgumentError("unexpected character at position "+a,"param",e)}function b(e){let t={type:"",name:"",parent:e,state:{allowType:!0}};return a&&(t.indexed=!1),t}e=e.replace(/\s/g," ");let f={type:"",name:"",state:{allowType:!0}},d=f;for(let t=0;t<e.length;t++){let f=e[t];switch(f){case"(":d.state.allowType&&""===d.type?d.type="tuple":d.state.allowParams||n(t),d.state.allowType=!1,d.type=fe(d.type),d.components=[b(d)],d=d.components[0];break;case")":delete d.state,"indexed"===d.name&&(a||n(t),d.indexed=!0,d.name=""),Q(d.type,d.name)&&(d.name=""),d.type=fe(d.type);let e=d;d=d.parent,d||n(t),delete e.parent,d.state.allowParams=!1,d.state.allowName=!0,d.state.allowArray=!0;break;case",":delete d.state,"indexed"===d.name&&(a||n(t),d.indexed=!0,d.name=""),Q(d.type,d.name)&&(d.name=""),d.type=fe(d.type);let s=b(d.parent);d.parent.components.push(s),delete d.parent,d=s;break;case" ":d.state.allowType&&""!==d.type&&(d.type=fe(d.type),delete d.state.allowType,d.state.allowName=!0,d.state.allowParams=!0),d.state.allowName&&""!==d.name&&("indexed"===d.name?(a||n(t),d.indexed&&n(t),d.indexed=!0,d.name=""):Q(d.type,d.name)?d.name="":d.state.allowName=!1);break;case"[":d.state.allowArray||n(t),d.type+=f,d.state.allowArray=!1,d.state.allowName=!1,d.state.readArray=!0;break;case"]":d.state.readArray||n(t),d.type+=f,d.state.readArray=!1,d.state.allowArray=!0,d.state.allowName=!0;break;default:d.state.allowType?(d.type+=f,d.state.allowParams=!0,d.state.allowArray=!0):d.state.allowName?(d.name+=f,delete d.state.allowArray):d.state.readArray?d.type+=f:n(t)}}return d.parent&&z.throwArgumentError("unexpected eof","param",e),delete f.state,"indexed"===d.name?(a||n(t.length-7),d.indexed&&n(t.length-7),d.indexed=!0,d.name=""):Q(d.type,d.name)&&(d.name=""),f.type=fe(f.type),f}(e,!!a))}static isParamType(e){return!(null==e||!e._isParamType)}}function $(e,a){return function(e){e=e.trim();let a=[],t="",n=0;for(let b=0;b<e.length;b++){let f=e[b];","===f&&0===n?(a.push(t),t=""):(t+=f,"("===f?n++:")"===f&&(n--,-1===n&&z.throwArgumentError("unbalanced parenthesis","value",e)))}t&&a.push(t);return a}(e).map(e=>G.fromString(e,a))}class Y{constructor(e,a){e!==q&&z.throwError("use a static from method",l.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),X(this,a),this._isFragment=!0,Object.freeze(this)}static from(e){return Y.isFragment(e)?e:"string"==typeof e?Y.fromString(e):Y.fromObject(e)}static fromObject(e){if(Y.isFragment(e))return e;switch(e.type){case"function":return be.fromObject(e);case"event":return J.fromObject(e);case"constructor":return ne.fromObject(e);case"fallback":case"receive":return null}return z.throwArgumentError("invalid fragment object","value",e)}static fromString(e){return"event"===(e=(e=(e=e.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?J.fromString(e.substring(5).trim()):"function"===e.split(" ")[0]?be.fromString(e.substring(8).trim()):"constructor"===e.split("(")[0].trim()?ne.fromString(e.trim()):z.throwArgumentError("unsupported fragment","value",e)}static isFragment(e){return!(!e||!e._isFragment)}}class J extends Y{format(e){if(e||(e=Z.sighash),Z[e]||z.throwArgumentError("invalid format type","format",e),e===Z.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(a=>JSON.parse(a.format(e)))});let a="";return e!==Z.sighash&&(a+="event "),a+=this.name+"("+this.inputs.map(a=>a.format(e)).join(e===Z.full?", ":",")+") ",e!==Z.sighash&&this.anonymous&&(a+="anonymous "),a.trim()}static from(e){return"string"==typeof e?J.fromString(e):J.fromObject(e)}static fromObject(e){if(J.isEventFragment(e))return e;"event"!==e.type&&z.throwArgumentError("invalid event object","value",e);const a={name:se(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(G.fromObject):[],type:"event"};return new J(q,a)}static fromString(e){let a=e.match(ie);a||z.throwArgumentError("invalid event string","value",e);let t=!1;return a[3].split(" ").forEach(e=>{switch(e.trim()){case"anonymous":t=!0;break;case"":break;default:z.warn("unknown modifier: "+e)}}),J.fromObject({name:a[1].trim(),anonymous:t,inputs:$(a[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&"event"===e.type}}function ee(e,a){a.gas=null;let t=e.split("@");return 1!==t.length?(t.length>2&&z.throwArgumentError("invalid human-readable ABI signature","value",e),t[1].match(/^[0-9]+$/)||z.throwArgumentError("invalid human-readable ABI signature gas","value",e),a.gas=k.from(t[1]),t[0]):e}function ae(e,a){a.constant=!1,a.payable=!1,a.stateMutability="nonpayable",e.split(" ").forEach(e=>{switch(e.trim()){case"constant":a.constant=!0;break;case"payable":a.payable=!0,a.stateMutability="payable";break;case"nonpayable":a.payable=!1,a.stateMutability="nonpayable";break;case"pure":a.constant=!0,a.stateMutability="pure";break;case"view":a.constant=!0,a.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}})}function te(e){let a={constant:!1,payable:!0,stateMutability:"payable"};return null!=e.stateMutability?(a.stateMutability=e.stateMutability,a.constant="view"===a.stateMutability||"pure"===a.stateMutability,null!=e.constant&&!!e.constant!==a.constant&&z.throwArgumentError("cannot have constant function with mutability "+a.stateMutability,"value",e),a.payable="payable"===a.stateMutability,null!=e.payable&&!!e.payable!==a.payable&&z.throwArgumentError("cannot have payable function with mutability "+a.stateMutability,"value",e)):null!=e.payable?(a.payable=!!e.payable,null!=e.constant||a.payable||"constructor"===e.type||z.throwArgumentError("unable to determine stateMutability","value",e),a.constant=!!e.constant,a.constant?a.stateMutability="view":a.stateMutability=a.payable?"payable":"nonpayable",a.payable&&a.constant&&z.throwArgumentError("cannot have constant payable function","value",e)):null!=e.constant?(a.constant=!!e.constant,a.payable=!a.constant,a.stateMutability=a.constant?"view":"payable"):"constructor"!==e.type&&z.throwArgumentError("unable to determine stateMutability","value",e),a}class ne extends Y{format(e){if(e||(e=Z.sighash),Z[e]||z.throwArgumentError("invalid format type","format",e),e===Z.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(a=>JSON.parse(a.format(e)))});e===Z.sighash&&z.throwError("cannot format a constructor for sighash",l.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let a="constructor("+this.inputs.map(a=>a.format(e)).join(e===Z.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(a+=this.stateMutability+" "),a.trim()}static from(e){return"string"==typeof e?ne.fromString(e):ne.fromObject(e)}static fromObject(e){if(ne.isConstructorFragment(e))return e;"constructor"!==e.type&&z.throwArgumentError("invalid constructor object","value",e);let a=te(e);a.constant&&z.throwArgumentError("constructor cannot be constant","value",e);const t={name:null,type:e.type,inputs:e.inputs?e.inputs.map(G.fromObject):[],payable:a.payable,stateMutability:a.stateMutability,gas:e.gas?k.from(e.gas):null};return new ne(q,t)}static fromString(e){let a={type:"constructor"},t=(e=ee(e,a)).match(ie);return t&&"constructor"===t[1].trim()||z.throwArgumentError("invalid constructor string","value",e),a.inputs=$(t[2].trim(),!1),ae(t[3].trim(),a),ne.fromObject(a)}static isConstructorFragment(e){return e&&e._isFragment&&"constructor"===e.type}}class be extends ne{format(e){if(e||(e=Z.sighash),Z[e]||z.throwArgumentError("invalid format type","format",e),e===Z.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(a=>JSON.parse(a.format(e))),ouputs:this.outputs.map(a=>JSON.parse(a.format(e)))});let a="";return e!==Z.sighash&&(a+="function "),a+=this.name+"("+this.inputs.map(a=>a.format(e)).join(e===Z.full?", ":",")+") ",e!==Z.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(a+=this.stateMutability+" "):this.constant&&(a+="view "),this.outputs&&this.outputs.length&&(a+="returns ("+this.outputs.map(a=>a.format(e)).join(", ")+") "),null!=this.gas&&(a+="@"+this.gas.toString()+" ")),a.trim()}static from(e){return"string"==typeof e?be.fromString(e):be.fromObject(e)}static fromObject(e){if(be.isFunctionFragment(e))return e;"function"!==e.type&&z.throwArgumentError("invalid function object","value",e);let a=te(e);const t={type:e.type,name:se(e.name),constant:a.constant,inputs:e.inputs?e.inputs.map(G.fromObject):[],outputs:e.outputs?e.outputs.map(G.fromObject):[],payable:a.payable,stateMutability:a.stateMutability,gas:e.gas?k.from(e.gas):null};return new be(q,t)}static fromString(e){let a={type:"function"},t=(e=ee(e,a)).split(" returns ");t.length>2&&z.throwArgumentError("invalid function string","value",e);let n=t[0].match(ie);if(n||z.throwArgumentError("invalid function signature","value",e),a.name=n[1].trim(),a.name&&se(a.name),a.inputs=$(n[2],!1),ae(n[3].trim(),a),t.length>1){let n=t[1].match(ie);""==n[1].trim()&&""==n[3].trim()||z.throwArgumentError("unexpected tokens","value",e),a.outputs=$(n[2],!1)}else a.outputs=[];return be.fromObject(a)}static isFunctionFragment(e){return e&&e._isFragment&&"function"===e.type}}function fe(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}const de=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function se(e){return e&&e.match(de)||z.throwArgumentError(`invalid identifier "${e}"`,"value",e),e}const ie=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");const pe=new l("abi/5.0.7");function ue(e){const a=[],t=function(e,n){if(Array.isArray(n))for(let b in n){const f=e.slice();f.push(b);try{t(f,n[b])}catch(e){a.push({path:f,error:e})}}};return t([],e),a}class ye{constructor(e,a,t,n){this.name=e,this.type=a,this.localName=t,this.dynamic=n}_throwError(e,a){pe.throwArgumentError(e,this.localName,a)}}class re{constructor(e){N(this,"wordSize",e||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(e)}get data(){return function(e){let a="0x";return e.forEach(e=>{a+=g(e).substring(2)}),a}(this._data)}get length(){return this._dataLength}_writeData(e){return this._data.push(e),this._dataLength+=e.length,e.length}appendWriter(e){return this._writeData(x(e._data))}writeBytes(e){let a=v(e);const t=a.length%this.wordSize;return t&&(a=x([a,this._padding.slice(t)])),this._writeData(a)}_getValue(e){let a=v(k.from(e));return a.length>this.wordSize&&pe.throwError("value out-of-bounds",l.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:a.length}),a.length%this.wordSize&&(a=x([this._padding.slice(a.length%this.wordSize),a])),a}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){const e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,a=>{this._data[e]=this._getValue(a)}}}class ce{constructor(e,a,t,n){N(this,"_data",v(e)),N(this,"wordSize",a||32),N(this,"_coerceFunc",t),N(this,"allowLoose",n),this._offset=0}get data(){return g(this._data)}get consumed(){return this._offset}static coerce(e,a){let t=e.match("^u?int([0-9]+)$");return t&&parseInt(t[1])<=48&&(a=a.toNumber()),a}coerce(e,a){return this._coerceFunc?this._coerceFunc(e,a):ce.coerce(e,a)}_peekBytes(e,a,t){let n=Math.ceil(a/this.wordSize)*this.wordSize;return this._offset+n>this._data.length&&(this.allowLoose&&t&&this._offset+a<=this._data.length?n=a:pe.throwError("data out-of-bounds",l.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+n})),this._data.slice(this._offset,this._offset+n)}subReader(e){return new ce(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,a){let t=this._peekBytes(0,e,!!a);return this._offset+=t.length,t.slice(0,e)}readValue(){return k.from(this.readBytes(this.wordSize))}}var le=t(39),oe=t.n(le);function me(e){return"0x"+oe.a.keccak_256(v(e))}new l("rlp/5.5.0");const Te=new l("address/5.5.0");function we(e){M(e,20)||Te.throwArgumentError("invalid address","address",e);const a=(e=e.toLowerCase()).substring(2).split(""),t=new Uint8Array(40);for(let e=0;e<40;e++)t[e]=a[e].charCodeAt(0);const n=v(me(t));for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&(a[e]=a[e].toUpperCase()),(15&n[e>>1])>=8&&(a[e+1]=a[e+1].toUpperCase());return"0x"+a.join("")}const he={};for(let e=0;e<10;e++)he[String(e)]=String(e);for(let e=0;e<26;e++)he[String.fromCharCode(65+e)]=String(10+e);const ve=Math.floor((xe=9007199254740991,Math.log10?Math.log10(xe):Math.log(xe)/Math.LN10));var xe;function Me(e){let a=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map(e=>he[e]).join("");for(;a.length>=ve;){let e=a.substring(0,ve);a=parseInt(e,10)%97+a.substring(e.length)}let t=String(98-parseInt(a,10)%97);for(;t.length<2;)t="0"+t;return t}function ge(e){let a=null;if("string"!=typeof e&&Te.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),a=we(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&a!==e&&Te.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==Me(e)&&Te.throwArgumentError("bad icap checksum","address",e),t=e.substring(4),a=new E(t,36).toString(16);a.length<40;)a="0"+a;a=we("0x"+a)}else Te.throwArgumentError("invalid address","address",e);var t;return a}class Ae extends ye{constructor(e){super("address","address",e,!1)}encode(e,a){try{ge(a)}catch(e){this._throwError(e.message,a)}return e.writeValue(a)}decode(e){return ge(C(e.readValue().toHexString(),20))}}class Ce extends ye{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}encode(e,a){return this.coder.encode(e,a)}decode(e){return this.coder.decode(e)}}const Ee=new l("abi/5.0.7");function Se(e,a,t){let n=null;if(Array.isArray(t))n=t;else if(t&&"object"==typeof t){let e={};n=a.map(a=>{const n=a.localName;return n||Ee.throwError("cannot encode object for signature with missing names",l.errors.INVALID_ARGUMENT,{argument:"values",coder:a,value:t}),e[n]&&Ee.throwError("cannot encode object for signature with duplicate names",l.errors.INVALID_ARGUMENT,{argument:"values",coder:a,value:t}),e[n]=!0,t[n]})}else Ee.throwArgumentError("invalid tuple value","tuple",t);a.length!==n.length&&Ee.throwArgumentError("types/value length mismatch","tuple",t);let b=new re(e.wordSize),f=new re(e.wordSize),d=[];a.forEach((e,a)=>{let t=n[a];if(e.dynamic){let a=f.length;e.encode(f,t);let n=b.writeUpdatableValue();d.push(e=>{n(e+a)})}else e.encode(b,t)}),d.forEach(e=>{e(b.length)});let s=e.appendWriter(b);return s+=e.appendWriter(f),s}function De(e,a){let t=[],n=e.subReader(0);a.forEach(a=>{let b=null;if(a.dynamic){let t=e.readValue(),f=n.subReader(t.toNumber());try{b=a.decode(f)}catch(e){if(e.code===l.errors.BUFFER_OVERRUN)throw e;b=e,b.baseType=a.name,b.name=a.localName,b.type=a.type}}else try{b=a.decode(e)}catch(e){if(e.code===l.errors.BUFFER_OVERRUN)throw e;b=e,b.baseType=a.name,b.name=a.localName,b.type=a.type}null!=b&&t.push(b)});const b=a.reduce((e,a)=>{const t=a.localName;return t&&(e[t]||(e[t]=0),e[t]++),e},{});a.forEach((e,a)=>{let n=e.localName;if(!n||1!==b[n])return;if("length"===n&&(n="_length"),null!=t[n])return;const f=t[a];f instanceof Error?Object.defineProperty(t,n,{get:()=>{throw f}}):t[n]=f});for(let e=0;e<t.length;e++){const a=t[e];a instanceof Error&&Object.defineProperty(t,e,{get:()=>{throw a}})}return Object.freeze(t)}class _e extends ye{constructor(e,a,t){super("array",e.type+"["+(a>=0?a:"")+"]",t,-1===a||e.dynamic),this.coder=e,this.length=a}encode(e,a){Array.isArray(a)||this._throwError("expected array value",a);let t=this.length;-1===t&&(t=a.length,e.writeValue(a.length)),Ee.checkArgumentCount(a.length,t,"coder array"+(this.localName?" "+this.localName:""));let n=[];for(let e=0;e<a.length;e++)n.push(this.coder);return Se(e,n,a)}decode(e){let a=this.length;-1===a&&(a=e.readValue().toNumber());let t=[];for(let e=0;e<a;e++)t.push(new Ce(this.coder));return e.coerce(this.name,De(e,t))}}class ke extends ye{constructor(e){super("bool","bool",e,!1)}encode(e,a){return e.writeValue(a?1:0)}decode(e){return e.coerce(this.type,!e.readValue().isZero())}}class Fe extends ye{constructor(e,a){super(e,e,a,!0)}encode(e,a){a=v(a);let t=e.writeValue(a.length);return t+=e.writeBytes(a),t}decode(e){return e.readBytes(e.readValue().toNumber(),!0)}}class Re extends Fe{constructor(e){super("bytes",e)}decode(e){return e.coerce(this.name,g(super.decode(e)))}}class Be extends ye{constructor(e,a){let t="bytes"+String(e);super(t,t,a,!1),this.size=e}encode(e,a){let t=v(a);return t.length!==this.size&&this._throwError("incorrect data length",a),e.writeBytes(t)}decode(e){return e.coerce(this.name,g(e.readBytes(this.size)))}}class Oe extends ye{constructor(e){super("null","",e,!1)}encode(e,a){return null!=a&&this._throwError("not null",a),e.writeBytes([])}decode(e){return e.readBytes(0),e.coerce(this.name,null)}}const Ie=k.from(-1),Ne=k.from(0),Pe=k.from(1),Ke=k.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class Le extends ye{constructor(e,a,t){const n=(a?"int":"uint")+8*e;super(n,n,t,!1),this.size=e,this.signed=a}encode(e,a){let t=k.from(a),n=Ke.mask(8*e.wordSize);if(this.signed){let e=n.mask(8*this.size-1);(t.gt(e)||t.lt(e.add(Pe).mul(Ie)))&&this._throwError("value out-of-bounds",a)}else(t.lt(Ne)||t.gt(n.mask(8*this.size)))&&this._throwError("value out-of-bounds",a);return t=t.toTwos(8*this.size).mask(8*this.size),this.signed&&(t=t.fromTwos(8*this.size).toTwos(8*e.wordSize)),e.writeValue(t)}decode(e){let a=e.readValue().mask(8*this.size);return this.signed&&(a=a.fromTwos(8*this.size)),e.coerce(this.name,a)}}const Ue=new l("strings/5.5.0");var Ve,ze;function qe(e,a,t,n,b){if(e===ze.BAD_PREFIX||e===ze.UNEXPECTED_CONTINUE){let e=0;for(let n=a+1;n<t.length&&t[n]>>6==2;n++)e++;return e}return e===ze.OVERRUN?t.length-a-1:0}!function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(Ve||(Ve={})),function(e){e.UNEXPECTED_CONTINUE="unexpected continuation byte",e.BAD_PREFIX="bad codepoint prefix",e.OVERRUN="string overrun",e.MISSING_CONTINUE="missing continuation byte",e.OUT_OF_RANGE="out of UTF-8 range",e.UTF16_SURROGATE="UTF-16 surrogate",e.OVERLONG="overlong representation"}(ze||(ze={}));const We=Object.freeze({error:function(e,a,t,n,b){return Ue.throwArgumentError(`invalid codepoint at offset ${a}; ${e}`,"bytes",t)},ignore:qe,replace:function(e,a,t,n,b){return e===ze.OVERLONG?(n.push(b),0):(n.push(65533),qe(e,a,t))}});function He(e,a){null==a&&(a=We.error),e=v(e);const t=[];let n=0;for(;n<e.length;){const b=e[n++];if(b>>7==0){t.push(b);continue}let f=null,d=null;if(192==(224&b))f=1,d=127;else if(224==(240&b))f=2,d=2047;else{if(240!=(248&b)){n+=a(128==(192&b)?ze.UNEXPECTED_CONTINUE:ze.BAD_PREFIX,n-1,e,t);continue}f=3,d=65535}if(n-1+f>=e.length){n+=a(ze.OVERRUN,n-1,e,t);continue}let s=b&(1<<8-f-1)-1;for(let b=0;b<f;b++){let b=e[n];if(128!=(192&b)){n+=a(ze.MISSING_CONTINUE,n,e,t),s=null;break}s=s<<6|63&b,n++}null!==s&&(s>1114111?n+=a(ze.OUT_OF_RANGE,n-1-f,e,t,s):s>=55296&&s<=57343?n+=a(ze.UTF16_SURROGATE,n-1-f,e,t,s):s<=d?n+=a(ze.OVERLONG,n-1-f,e,t,s):t.push(s))}return t}function Qe(e,a=Ve.current){a!=Ve.current&&(Ue.checkNormalize(),e=e.normalize(a));let t=[];for(let a=0;a<e.length;a++){const n=e.charCodeAt(a);if(n<128)t.push(n);else if(n<2048)t.push(n>>6|192),t.push(63&n|128);else if(55296==(64512&n)){a++;const b=e.charCodeAt(a);if(a>=e.length||56320!=(64512&b))throw new Error("invalid utf-8 string");const f=65536+((1023&n)<<10)+(1023&b);t.push(f>>18|240),t.push(f>>12&63|128),t.push(f>>6&63|128),t.push(63&f|128)}else t.push(n>>12|224),t.push(n>>6&63|128),t.push(63&n|128)}return v(t)}function Xe(e,a){return He(e,a).map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10&1023),56320+(1023&e)))).join("")}class Ze extends Fe{constructor(e){super("string",e)}encode(e,a){return super.encode(e,Qe(a))}decode(e){return Xe(super.decode(e))}}class je extends ye{constructor(e,a){let t=!1;const n=[];e.forEach(e=>{e.dynamic&&(t=!0),n.push(e.type)});super("tuple","tuple("+n.join(",")+")",a,t),this.coders=e}encode(e,a){return Se(e,this.coders,a)}decode(e){return e.coerce(this.name,De(e,this.coders))}}const Ge=new l("abi/5.0.7"),$e=new RegExp(/^bytes([0-9]*)$/),Ye=new RegExp(/^(u?int)([0-9]*)$/);class Je{constructor(e){Ge.checkNew(new.target,Je),N(this,"coerceFunc",e||null)}_getCoder(e){switch(e.baseType){case"address":return new Ae(e.name);case"bool":return new ke(e.name);case"string":return new Ze(e.name);case"bytes":return new Re(e.name);case"array":return new _e(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new je((e.components||[]).map(e=>this._getCoder(e)),e.name);case"":return new Oe(e.name)}let a=e.type.match(Ye);if(a){let t=parseInt(a[2]||"256");return(0===t||t>256||t%8!=0)&&Ge.throwArgumentError("invalid "+a[1]+" bit length","param",e),new Le(t/8,"int"===a[1],e.name)}if(a=e.type.match($e),a){let t=parseInt(a[1]);return(0===t||t>32)&&Ge.throwArgumentError("invalid bytes length","param",e),new Be(t,e.name)}return Ge.throwArgumentError("invalid type","type",e.type)}_getWordSize(){return 32}_getReader(e,a){return new ce(e,this._getWordSize(),this.coerceFunc,a)}_getWriter(){return new re(this._getWordSize())}encode(e,a){e.length!==a.length&&Ge.throwError("types/values length mismatch",l.errors.INVALID_ARGUMENT,{count:{types:e.length,values:a.length},value:{types:e,values:a}});const t=e.map(e=>this._getCoder(G.from(e))),n=new je(t,"_"),b=this._getWriter();return n.encode(b,a),b.data}decode(e,a,t){const n=e.map(e=>this._getCoder(G.from(e)));return new je(n,"_").decode(this._getReader(v(a),t))}}const ea=new Je;function aa(e){return me(Qe(e))}const ta=new l("abi/5.0.7");class na extends V{}class ba extends V{}class fa extends V{static isIndexed(e){return!(!e||!e._isIndexed)}}function da(e,a){const t=new Error("deferred error during ABI decoding triggered accessing "+e);return t.error=a,t}class sa{constructor(e){ta.checkNew(new.target,sa);let a=[];a="string"==typeof e?JSON.parse(e):e,N(this,"fragments",a.map(e=>Y.from(e)).filter(e=>null!=e)),N(this,"_abiCoder",P(new.target,"getAbiCoder")()),N(this,"functions",{}),N(this,"errors",{}),N(this,"events",{}),N(this,"structs",{}),this.fragments.forEach(e=>{let a=null;switch(e.type){case"constructor":return this.deploy?void ta.warn("duplicate definition - constructor"):void N(this,"deploy",e);case"function":a=this.functions;break;case"event":a=this.events;break;default:return}let t=e.format();a[t]?ta.warn("duplicate definition - "+t):a[t]=e}),this.deploy||N(this,"deploy",ne.from({payable:!1,type:"constructor"})),N(this,"_isInterface",!0)}format(e){e||(e=Z.full),e===Z.sighash&&ta.throwArgumentError("interface does not support formatting sighash","format",e);const a=this.fragments.map(a=>a.format(e));return e===Z.json?JSON.stringify(a.map(e=>JSON.parse(e))):a}static getAbiCoder(){return ea}static getAddress(e){return ge(e)}static getSighash(e){return A(aa(e.format()),0,4)}static getEventTopic(e){return aa(e.format())}getFunction(e){if(M(e)){for(const a in this.functions)if(e===this.getSighash(a))return this.functions[a];ta.throwArgumentError("no matching function","sighash",e)}if(-1===e.indexOf("(")){const a=e.trim(),t=Object.keys(this.functions).filter(e=>e.split("(")[0]===a);return 0===t.length?ta.throwArgumentError("no matching function","name",a):t.length>1&&ta.throwArgumentError("multiple matching functions","name",a),this.functions[t[0]]}const a=this.functions[be.fromString(e).format()];return a||ta.throwArgumentError("no matching function","signature",e),a}getEvent(e){if(M(e)){const a=e.toLowerCase();for(const e in this.events)if(a===this.getEventTopic(e))return this.events[e];ta.throwArgumentError("no matching event","topichash",a)}if(-1===e.indexOf("(")){const a=e.trim(),t=Object.keys(this.events).filter(e=>e.split("(")[0]===a);return 0===t.length?ta.throwArgumentError("no matching event","name",a):t.length>1&&ta.throwArgumentError("multiple matching events","name",a),this.events[t[0]]}const a=this.events[J.fromString(e).format()];return a||ta.throwArgumentError("no matching event","signature",e),a}getSighash(e){return"string"==typeof e&&(e=this.getFunction(e)),P(this.constructor,"getSighash")(e)}getEventTopic(e){return"string"==typeof e&&(e=this.getEvent(e)),P(this.constructor,"getEventTopic")(e)}_decodeParams(e,a){return this._abiCoder.decode(e,a)}_encodeParams(e,a){return this._abiCoder.encode(e,a)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeFunctionData(e,a){"string"==typeof e&&(e=this.getFunction(e));const t=v(a);return g(t.slice(0,4))!==this.getSighash(e)&&ta.throwArgumentError(`data signature does not match function ${e.name}.`,"data",g(t)),this._decodeParams(e.inputs,t.slice(4))}encodeFunctionData(e,a){return"string"==typeof e&&(e=this.getFunction(e)),g(x([this.getSighash(e),this._encodeParams(e.inputs,a||[])]))}decodeFunctionResult(e,a){"string"==typeof e&&(e=this.getFunction(e));let t=v(a),n=null,b=null;switch(t.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,t)}catch(e){}break;case 4:"0x08c379a0"===g(t.slice(0,4))&&(b="Error(string)",n=this._abiCoder.decode(["string"],t.slice(4))[0])}return ta.throwError("call revert exception",l.errors.CALL_EXCEPTION,{method:e.format(),errorSignature:b,errorArgs:[n],reason:n})}encodeFunctionResult(e,a){return"string"==typeof e&&(e=this.getFunction(e)),g(this._abiCoder.encode(e.outputs,a||[]))}encodeFilterTopics(e,a){"string"==typeof e&&(e=this.getEvent(e)),a.length>e.inputs.length&&ta.throwError("too many arguments for "+e.format(),l.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:a});let t=[];e.anonymous||t.push(this.getEventTopic(e));const n=(e,a)=>"string"===e.type?aa(a):"bytes"===e.type?me(g(a)):("address"===e.type&&this._abiCoder.encode(["address"],[a]),C(g(a),32));for(a.forEach((a,b)=>{let f=e.inputs[b];f.indexed?null==a?t.push(null):"array"===f.baseType||"tuple"===f.baseType?ta.throwArgumentError("filtering with tuples or arrays not supported","contract."+f.name,a):Array.isArray(a)?t.push(a.map(e=>n(f,e))):t.push(n(f,a)):null!=a&&ta.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+f.name,a)});t.length&&null===t[t.length-1];)t.pop();return t}encodeEventLog(e,a){"string"==typeof e&&(e=this.getEvent(e));const t=[],n=[],b=[];return e.anonymous||t.push(this.getEventTopic(e)),a.length!==e.inputs.length&&ta.throwArgumentError("event arguments/values mismatch","values",a),e.inputs.forEach((e,f)=>{const d=a[f];if(e.indexed)if("string"===e.type)t.push(aa(d));else if("bytes"===e.type)t.push(me(d));else{if("tuple"===e.baseType||"array"===e.baseType)throw new Error("not implemented");t.push(this._abiCoder.encode([e.type],[d]))}else n.push(e),b.push(d)}),{data:this._abiCoder.encode(n,b),topics:t}}decodeEventLog(e,a,t){if("string"==typeof e&&(e=this.getEvent(e)),null!=t&&!e.anonymous){let a=this.getEventTopic(e);M(t[0],32)&&t[0].toLowerCase()===a||ta.throwError("fragment/topic mismatch",l.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:a,value:t[0]}),t=t.slice(1)}let n=[],b=[],f=[];e.inputs.forEach((e,a)=>{e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(n.push(G.fromObject({type:"bytes32",name:e.name})),f.push(!0)):(n.push(e),f.push(!1)):(b.push(e),f.push(!1))});let d=null!=t?this._abiCoder.decode(n,x(t)):null,s=this._abiCoder.decode(b,a,!0),i=[],p=0,u=0;e.inputs.forEach((e,a)=>{if(e.indexed)if(null==d)i[a]=new fa({_isIndexed:!0,hash:null});else if(f[a])i[a]=new fa({_isIndexed:!0,hash:d[u++]});else try{i[a]=d[u++]}catch(e){i[a]=e}else try{i[a]=s[p++]}catch(e){i[a]=e}if(e.name&&null==i[e.name]){const t=i[a];t instanceof Error?Object.defineProperty(i,e.name,{get:()=>{throw da("property "+JSON.stringify(e.name),t)}}):i[e.name]=t}});for(let e=0;e<i.length;e++){const a=i[e];a instanceof Error&&Object.defineProperty(i,e,{get:()=>{throw da("index "+e,a)}})}return Object.freeze(i)}parseTransaction(e){let a=this.getFunction(e.data.substring(0,10).toLowerCase());return a?new ba({args:this._abiCoder.decode(a.inputs,"0x"+e.data.substring(10)),functionFragment:a,name:a.name,signature:a.format(),sighash:this.getSighash(a),value:k.from(e.value||"0")}):null}parseLog(e){let a=this.getEvent(e.topics[0]);return!a||a.anonymous?null:new na({eventFragment:a,name:a.name,signature:a.format(),topic:this.getEventTopic(a),args:this.decodeEventLog(a,e.data,e.topics)})}static isInterface(e){return!(!e||!e._isInterface)}}},function(e,a,t){(function(e){!function(e,a){"use strict";function n(e,a){if(!e)throw new Error(a||"Assertion failed")}function b(e,a){e.super_=a;var t=function(){};t.prototype=a.prototype,e.prototype=new t,e.prototype.constructor=e}function f(e,a,t){if(f.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==a&&"be"!==a||(t=a,a=10),this._init(e||0,a||10,t||"be"))}var d;"object"==typeof e?e.exports=f:a.BN=f,f.BN=f,f.wordSize=26;try{d="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:t(166).Buffer}catch(e){}function s(e,a){var t=e.charCodeAt(a);return t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:t-48&15}function i(e,a,t){var n=s(e,t);return t-1>=a&&(n|=s(e,t-1)<<4),n}function p(e,a,t,n){for(var b=0,f=Math.min(e.length,t),d=a;d<f;d++){var s=e.charCodeAt(d)-48;b*=n,b+=s>=49?s-49+10:s>=17?s-17+10:s}return b}f.isBN=function(e){return e instanceof f||null!==e&&"object"==typeof e&&e.constructor.wordSize===f.wordSize&&Array.isArray(e.words)},f.max=function(e,a){return e.cmp(a)>0?e:a},f.min=function(e,a){return e.cmp(a)<0?e:a},f.prototype._init=function(e,a,t){if("number"==typeof e)return this._initNumber(e,a,t);if("object"==typeof e)return this._initArray(e,a,t);"hex"===a&&(a=16),n(a===(0|a)&&a>=2&&a<=36);var b=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(b++,this.negative=1),b<e.length&&(16===a?this._parseHex(e,b,t):(this._parseBase(e,a,b),"le"===t&&this._initArray(this.toArray(),a,t)))},f.prototype._initNumber=function(e,a,t){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===t&&this._initArray(this.toArray(),a,t)},f.prototype._initArray=function(e,a,t){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var b=0;b<this.length;b++)this.words[b]=0;var f,d,s=0;if("be"===t)for(b=e.length-1,f=0;b>=0;b-=3)d=e[b]|e[b-1]<<8|e[b-2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);else if("le"===t)for(b=0,f=0;b<e.length;b+=3)d=e[b]|e[b+1]<<8|e[b+2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);return this.strip()},f.prototype._parseHex=function(e,a,t){this.length=Math.ceil((e.length-a)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var b,f=0,d=0;if("be"===t)for(n=e.length-1;n>=a;n-=2)b=i(e,a,n)<<f,this.words[d]|=67108863&b,f>=18?(f-=18,d+=1,this.words[d]|=b>>>26):f+=8;else for(n=(e.length-a)%2==0?a+1:a;n<e.length;n+=2)b=i(e,a,n)<<f,this.words[d]|=67108863&b,f>=18?(f-=18,d+=1,this.words[d]|=b>>>26):f+=8;this.strip()},f.prototype._parseBase=function(e,a,t){this.words=[0],this.length=1;for(var n=0,b=1;b<=67108863;b*=a)n++;n--,b=b/a|0;for(var f=e.length-t,d=f%n,s=Math.min(f,f-d)+t,i=0,u=t;u<s;u+=n)i=p(e,u,u+n,a),this.imuln(b),this.words[0]+i<67108864?this.words[0]+=i:this._iaddn(i);if(0!==d){var y=1;for(i=p(e,u,e.length,a),u=0;u<d;u++)y*=a;this.imuln(y),this.words[0]+i<67108864?this.words[0]+=i:this._iaddn(i)}this.strip()},f.prototype.copy=function(e){e.words=new Array(this.length);for(var a=0;a<this.length;a++)e.words[a]=this.words[a];e.length=this.length,e.negative=this.negative,e.red=this.red},f.prototype.clone=function(){var e=new f(null);return this.copy(e),e},f.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},f.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},f.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],y=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],r=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(e,a,t){t.negative=a.negative^e.negative;var n=e.length+a.length|0;t.length=n,n=n-1|0;var b=0|e.words[0],f=0|a.words[0],d=b*f,s=67108863&d,i=d/67108864|0;t.words[0]=s;for(var p=1;p<n;p++){for(var u=i>>>26,y=67108863&i,r=Math.min(p,a.length-1),c=Math.max(0,p-e.length+1);c<=r;c++){var l=p-c|0;u+=(d=(b=0|e.words[l])*(f=0|a.words[c])+y)/67108864|0,y=67108863&d}t.words[p]=0|y,i=0|u}return 0!==i?t.words[p]=0|i:t.length--,t.strip()}f.prototype.toString=function(e,a){var t;if(a=0|a||1,16===(e=e||10)||"hex"===e){t="";for(var b=0,f=0,d=0;d<this.length;d++){var s=this.words[d],i=(16777215&(s<<b|f)).toString(16);t=0!==(f=s>>>24-b&16777215)||d!==this.length-1?u[6-i.length]+i+t:i+t,(b+=2)>=26&&(b-=26,d--)}for(0!==f&&(t=f.toString(16)+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}if(e===(0|e)&&e>=2&&e<=36){var p=y[e],c=r[e];t="";var l=this.clone();for(l.negative=0;!l.isZero();){var o=l.modn(c).toString(e);t=(l=l.idivn(c)).isZero()?o+t:u[p-o.length]+o+t}for(this.isZero()&&(t="0"+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}n(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(e,a){return n(void 0!==d),this.toArrayLike(d,e,a)},f.prototype.toArray=function(e,a){return this.toArrayLike(Array,e,a)},f.prototype.toArrayLike=function(e,a,t){var b=this.byteLength(),f=t||Math.max(1,b);n(b<=f,"byte array longer than desired length"),n(f>0,"Requested array length <= 0"),this.strip();var d,s,i="le"===a,p=new e(f),u=this.clone();if(i){for(s=0;!u.isZero();s++)d=u.andln(255),u.iushrn(8),p[s]=d;for(;s<f;s++)p[s]=0}else{for(s=0;s<f-b;s++)p[s]=0;for(s=0;!u.isZero();s++)d=u.andln(255),u.iushrn(8),p[f-s-1]=d}return p},Math.clz32?f.prototype._countBits=function(e){return 32-Math.clz32(e)}:f.prototype._countBits=function(e){var a=e,t=0;return a>=4096&&(t+=13,a>>>=13),a>=64&&(t+=7,a>>>=7),a>=8&&(t+=4,a>>>=4),a>=2&&(t+=2,a>>>=2),t+a},f.prototype._zeroBits=function(e){if(0===e)return 26;var a=e,t=0;return 0==(8191&a)&&(t+=13,a>>>=13),0==(127&a)&&(t+=7,a>>>=7),0==(15&a)&&(t+=4,a>>>=4),0==(3&a)&&(t+=2,a>>>=2),0==(1&a)&&t++,t},f.prototype.bitLength=function(){var e=this.words[this.length-1],a=this._countBits(e);return 26*(this.length-1)+a},f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,a=0;a<this.length;a++){var t=this._zeroBits(this.words[a]);if(e+=t,26!==t)break}return e},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},f.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return 0!==this.negative},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var a=0;a<e.length;a++)this.words[a]=this.words[a]|e.words[a];return this.strip()},f.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},f.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},f.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},f.prototype.iuand=function(e){var a;a=this.length>e.length?e:this;for(var t=0;t<a.length;t++)this.words[t]=this.words[t]&e.words[t];return this.length=a.length,this.strip()},f.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},f.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},f.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},f.prototype.iuxor=function(e){var a,t;this.length>e.length?(a=this,t=e):(a=e,t=this);for(var n=0;n<t.length;n++)this.words[n]=a.words[n]^t.words[n];if(this!==a)for(;n<a.length;n++)this.words[n]=a.words[n];return this.length=a.length,this.strip()},f.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},f.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},f.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},f.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var a=0|Math.ceil(e/26),t=e%26;this._expand(a),t>0&&a--;for(var b=0;b<a;b++)this.words[b]=67108863&~this.words[b];return t>0&&(this.words[b]=~this.words[b]&67108863>>26-t),this.strip()},f.prototype.notn=function(e){return this.clone().inotn(e)},f.prototype.setn=function(e,a){n("number"==typeof e&&e>=0);var t=e/26|0,b=e%26;return this._expand(t+1),this.words[t]=a?this.words[t]|1<<b:this.words[t]&~(1<<b),this.strip()},f.prototype.iadd=function(e){var a,t,n;if(0!==this.negative&&0===e.negative)return this.negative=0,a=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,a=this.isub(e),e.negative=1,a._normSign();this.length>e.length?(t=this,n=e):(t=e,n=this);for(var b=0,f=0;f<n.length;f++)a=(0|t.words[f])+(0|n.words[f])+b,this.words[f]=67108863&a,b=a>>>26;for(;0!==b&&f<t.length;f++)a=(0|t.words[f])+b,this.words[f]=67108863&a,b=a>>>26;if(this.length=t.length,0!==b)this.words[this.length]=b,this.length++;else if(t!==this)for(;f<t.length;f++)this.words[f]=t.words[f];return this},f.prototype.add=function(e){var a;return 0!==e.negative&&0===this.negative?(e.negative=0,a=this.sub(e),e.negative^=1,a):0===e.negative&&0!==this.negative?(this.negative=0,a=e.sub(this),this.negative=1,a):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},f.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var a=this.iadd(e);return e.negative=1,a._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var t,n,b=this.cmp(e);if(0===b)return this.negative=0,this.length=1,this.words[0]=0,this;b>0?(t=this,n=e):(t=e,n=this);for(var f=0,d=0;d<n.length;d++)f=(a=(0|t.words[d])-(0|n.words[d])+f)>>26,this.words[d]=67108863&a;for(;0!==f&&d<t.length;d++)f=(a=(0|t.words[d])+f)>>26,this.words[d]=67108863&a;if(0===f&&d<t.length&&t!==this)for(;d<t.length;d++)this.words[d]=t.words[d];return this.length=Math.max(this.length,d),t!==this&&(this.negative=1),this.strip()},f.prototype.sub=function(e){return this.clone().isub(e)};var l=function(e,a,t){var n,b,f,d=e.words,s=a.words,i=t.words,p=0,u=0|d[0],y=8191&u,r=u>>>13,c=0|d[1],l=8191&c,o=c>>>13,m=0|d[2],T=8191&m,w=m>>>13,h=0|d[3],v=8191&h,x=h>>>13,M=0|d[4],g=8191&M,A=M>>>13,C=0|d[5],E=8191&C,S=C>>>13,D=0|d[6],_=8191&D,k=D>>>13,F=0|d[7],R=8191&F,B=F>>>13,O=0|d[8],I=8191&O,N=O>>>13,P=0|d[9],K=8191&P,L=P>>>13,U=0|s[0],V=8191&U,z=U>>>13,q=0|s[1],W=8191&q,H=q>>>13,Q=0|s[2],X=8191&Q,Z=Q>>>13,j=0|s[3],G=8191&j,$=j>>>13,Y=0|s[4],J=8191&Y,ee=Y>>>13,ae=0|s[5],te=8191&ae,ne=ae>>>13,be=0|s[6],fe=8191&be,de=be>>>13,se=0|s[7],ie=8191&se,pe=se>>>13,ue=0|s[8],ye=8191&ue,re=ue>>>13,ce=0|s[9],le=8191&ce,oe=ce>>>13;t.negative=e.negative^a.negative,t.length=19;var me=(p+(n=Math.imul(y,V))|0)+((8191&(b=(b=Math.imul(y,z))+Math.imul(r,V)|0))<<13)|0;p=((f=Math.imul(r,z))+(b>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(l,V),b=(b=Math.imul(l,z))+Math.imul(o,V)|0,f=Math.imul(o,z);var Te=(p+(n=n+Math.imul(y,W)|0)|0)+((8191&(b=(b=b+Math.imul(y,H)|0)+Math.imul(r,W)|0))<<13)|0;p=((f=f+Math.imul(r,H)|0)+(b>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(T,V),b=(b=Math.imul(T,z))+Math.imul(w,V)|0,f=Math.imul(w,z),n=n+Math.imul(l,W)|0,b=(b=b+Math.imul(l,H)|0)+Math.imul(o,W)|0,f=f+Math.imul(o,H)|0;var we=(p+(n=n+Math.imul(y,X)|0)|0)+((8191&(b=(b=b+Math.imul(y,Z)|0)+Math.imul(r,X)|0))<<13)|0;p=((f=f+Math.imul(r,Z)|0)+(b>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(v,V),b=(b=Math.imul(v,z))+Math.imul(x,V)|0,f=Math.imul(x,z),n=n+Math.imul(T,W)|0,b=(b=b+Math.imul(T,H)|0)+Math.imul(w,W)|0,f=f+Math.imul(w,H)|0,n=n+Math.imul(l,X)|0,b=(b=b+Math.imul(l,Z)|0)+Math.imul(o,X)|0,f=f+Math.imul(o,Z)|0;var he=(p+(n=n+Math.imul(y,G)|0)|0)+((8191&(b=(b=b+Math.imul(y,$)|0)+Math.imul(r,G)|0))<<13)|0;p=((f=f+Math.imul(r,$)|0)+(b>>>13)|0)+(he>>>26)|0,he&=67108863,n=Math.imul(g,V),b=(b=Math.imul(g,z))+Math.imul(A,V)|0,f=Math.imul(A,z),n=n+Math.imul(v,W)|0,b=(b=b+Math.imul(v,H)|0)+Math.imul(x,W)|0,f=f+Math.imul(x,H)|0,n=n+Math.imul(T,X)|0,b=(b=b+Math.imul(T,Z)|0)+Math.imul(w,X)|0,f=f+Math.imul(w,Z)|0,n=n+Math.imul(l,G)|0,b=(b=b+Math.imul(l,$)|0)+Math.imul(o,G)|0,f=f+Math.imul(o,$)|0;var ve=(p+(n=n+Math.imul(y,J)|0)|0)+((8191&(b=(b=b+Math.imul(y,ee)|0)+Math.imul(r,J)|0))<<13)|0;p=((f=f+Math.imul(r,ee)|0)+(b>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(E,V),b=(b=Math.imul(E,z))+Math.imul(S,V)|0,f=Math.imul(S,z),n=n+Math.imul(g,W)|0,b=(b=b+Math.imul(g,H)|0)+Math.imul(A,W)|0,f=f+Math.imul(A,H)|0,n=n+Math.imul(v,X)|0,b=(b=b+Math.imul(v,Z)|0)+Math.imul(x,X)|0,f=f+Math.imul(x,Z)|0,n=n+Math.imul(T,G)|0,b=(b=b+Math.imul(T,$)|0)+Math.imul(w,G)|0,f=f+Math.imul(w,$)|0,n=n+Math.imul(l,J)|0,b=(b=b+Math.imul(l,ee)|0)+Math.imul(o,J)|0,f=f+Math.imul(o,ee)|0;var xe=(p+(n=n+Math.imul(y,te)|0)|0)+((8191&(b=(b=b+Math.imul(y,ne)|0)+Math.imul(r,te)|0))<<13)|0;p=((f=f+Math.imul(r,ne)|0)+(b>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(_,V),b=(b=Math.imul(_,z))+Math.imul(k,V)|0,f=Math.imul(k,z),n=n+Math.imul(E,W)|0,b=(b=b+Math.imul(E,H)|0)+Math.imul(S,W)|0,f=f+Math.imul(S,H)|0,n=n+Math.imul(g,X)|0,b=(b=b+Math.imul(g,Z)|0)+Math.imul(A,X)|0,f=f+Math.imul(A,Z)|0,n=n+Math.imul(v,G)|0,b=(b=b+Math.imul(v,$)|0)+Math.imul(x,G)|0,f=f+Math.imul(x,$)|0,n=n+Math.imul(T,J)|0,b=(b=b+Math.imul(T,ee)|0)+Math.imul(w,J)|0,f=f+Math.imul(w,ee)|0,n=n+Math.imul(l,te)|0,b=(b=b+Math.imul(l,ne)|0)+Math.imul(o,te)|0,f=f+Math.imul(o,ne)|0;var Me=(p+(n=n+Math.imul(y,fe)|0)|0)+((8191&(b=(b=b+Math.imul(y,de)|0)+Math.imul(r,fe)|0))<<13)|0;p=((f=f+Math.imul(r,de)|0)+(b>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(R,V),b=(b=Math.imul(R,z))+Math.imul(B,V)|0,f=Math.imul(B,z),n=n+Math.imul(_,W)|0,b=(b=b+Math.imul(_,H)|0)+Math.imul(k,W)|0,f=f+Math.imul(k,H)|0,n=n+Math.imul(E,X)|0,b=(b=b+Math.imul(E,Z)|0)+Math.imul(S,X)|0,f=f+Math.imul(S,Z)|0,n=n+Math.imul(g,G)|0,b=(b=b+Math.imul(g,$)|0)+Math.imul(A,G)|0,f=f+Math.imul(A,$)|0,n=n+Math.imul(v,J)|0,b=(b=b+Math.imul(v,ee)|0)+Math.imul(x,J)|0,f=f+Math.imul(x,ee)|0,n=n+Math.imul(T,te)|0,b=(b=b+Math.imul(T,ne)|0)+Math.imul(w,te)|0,f=f+Math.imul(w,ne)|0,n=n+Math.imul(l,fe)|0,b=(b=b+Math.imul(l,de)|0)+Math.imul(o,fe)|0,f=f+Math.imul(o,de)|0;var ge=(p+(n=n+Math.imul(y,ie)|0)|0)+((8191&(b=(b=b+Math.imul(y,pe)|0)+Math.imul(r,ie)|0))<<13)|0;p=((f=f+Math.imul(r,pe)|0)+(b>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(I,V),b=(b=Math.imul(I,z))+Math.imul(N,V)|0,f=Math.imul(N,z),n=n+Math.imul(R,W)|0,b=(b=b+Math.imul(R,H)|0)+Math.imul(B,W)|0,f=f+Math.imul(B,H)|0,n=n+Math.imul(_,X)|0,b=(b=b+Math.imul(_,Z)|0)+Math.imul(k,X)|0,f=f+Math.imul(k,Z)|0,n=n+Math.imul(E,G)|0,b=(b=b+Math.imul(E,$)|0)+Math.imul(S,G)|0,f=f+Math.imul(S,$)|0,n=n+Math.imul(g,J)|0,b=(b=b+Math.imul(g,ee)|0)+Math.imul(A,J)|0,f=f+Math.imul(A,ee)|0,n=n+Math.imul(v,te)|0,b=(b=b+Math.imul(v,ne)|0)+Math.imul(x,te)|0,f=f+Math.imul(x,ne)|0,n=n+Math.imul(T,fe)|0,b=(b=b+Math.imul(T,de)|0)+Math.imul(w,fe)|0,f=f+Math.imul(w,de)|0,n=n+Math.imul(l,ie)|0,b=(b=b+Math.imul(l,pe)|0)+Math.imul(o,ie)|0,f=f+Math.imul(o,pe)|0;var Ae=(p+(n=n+Math.imul(y,ye)|0)|0)+((8191&(b=(b=b+Math.imul(y,re)|0)+Math.imul(r,ye)|0))<<13)|0;p=((f=f+Math.imul(r,re)|0)+(b>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(K,V),b=(b=Math.imul(K,z))+Math.imul(L,V)|0,f=Math.imul(L,z),n=n+Math.imul(I,W)|0,b=(b=b+Math.imul(I,H)|0)+Math.imul(N,W)|0,f=f+Math.imul(N,H)|0,n=n+Math.imul(R,X)|0,b=(b=b+Math.imul(R,Z)|0)+Math.imul(B,X)|0,f=f+Math.imul(B,Z)|0,n=n+Math.imul(_,G)|0,b=(b=b+Math.imul(_,$)|0)+Math.imul(k,G)|0,f=f+Math.imul(k,$)|0,n=n+Math.imul(E,J)|0,b=(b=b+Math.imul(E,ee)|0)+Math.imul(S,J)|0,f=f+Math.imul(S,ee)|0,n=n+Math.imul(g,te)|0,b=(b=b+Math.imul(g,ne)|0)+Math.imul(A,te)|0,f=f+Math.imul(A,ne)|0,n=n+Math.imul(v,fe)|0,b=(b=b+Math.imul(v,de)|0)+Math.imul(x,fe)|0,f=f+Math.imul(x,de)|0,n=n+Math.imul(T,ie)|0,b=(b=b+Math.imul(T,pe)|0)+Math.imul(w,ie)|0,f=f+Math.imul(w,pe)|0,n=n+Math.imul(l,ye)|0,b=(b=b+Math.imul(l,re)|0)+Math.imul(o,ye)|0,f=f+Math.imul(o,re)|0;var Ce=(p+(n=n+Math.imul(y,le)|0)|0)+((8191&(b=(b=b+Math.imul(y,oe)|0)+Math.imul(r,le)|0))<<13)|0;p=((f=f+Math.imul(r,oe)|0)+(b>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(K,W),b=(b=Math.imul(K,H))+Math.imul(L,W)|0,f=Math.imul(L,H),n=n+Math.imul(I,X)|0,b=(b=b+Math.imul(I,Z)|0)+Math.imul(N,X)|0,f=f+Math.imul(N,Z)|0,n=n+Math.imul(R,G)|0,b=(b=b+Math.imul(R,$)|0)+Math.imul(B,G)|0,f=f+Math.imul(B,$)|0,n=n+Math.imul(_,J)|0,b=(b=b+Math.imul(_,ee)|0)+Math.imul(k,J)|0,f=f+Math.imul(k,ee)|0,n=n+Math.imul(E,te)|0,b=(b=b+Math.imul(E,ne)|0)+Math.imul(S,te)|0,f=f+Math.imul(S,ne)|0,n=n+Math.imul(g,fe)|0,b=(b=b+Math.imul(g,de)|0)+Math.imul(A,fe)|0,f=f+Math.imul(A,de)|0,n=n+Math.imul(v,ie)|0,b=(b=b+Math.imul(v,pe)|0)+Math.imul(x,ie)|0,f=f+Math.imul(x,pe)|0,n=n+Math.imul(T,ye)|0,b=(b=b+Math.imul(T,re)|0)+Math.imul(w,ye)|0,f=f+Math.imul(w,re)|0;var Ee=(p+(n=n+Math.imul(l,le)|0)|0)+((8191&(b=(b=b+Math.imul(l,oe)|0)+Math.imul(o,le)|0))<<13)|0;p=((f=f+Math.imul(o,oe)|0)+(b>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(K,X),b=(b=Math.imul(K,Z))+Math.imul(L,X)|0,f=Math.imul(L,Z),n=n+Math.imul(I,G)|0,b=(b=b+Math.imul(I,$)|0)+Math.imul(N,G)|0,f=f+Math.imul(N,$)|0,n=n+Math.imul(R,J)|0,b=(b=b+Math.imul(R,ee)|0)+Math.imul(B,J)|0,f=f+Math.imul(B,ee)|0,n=n+Math.imul(_,te)|0,b=(b=b+Math.imul(_,ne)|0)+Math.imul(k,te)|0,f=f+Math.imul(k,ne)|0,n=n+Math.imul(E,fe)|0,b=(b=b+Math.imul(E,de)|0)+Math.imul(S,fe)|0,f=f+Math.imul(S,de)|0,n=n+Math.imul(g,ie)|0,b=(b=b+Math.imul(g,pe)|0)+Math.imul(A,ie)|0,f=f+Math.imul(A,pe)|0,n=n+Math.imul(v,ye)|0,b=(b=b+Math.imul(v,re)|0)+Math.imul(x,ye)|0,f=f+Math.imul(x,re)|0;var Se=(p+(n=n+Math.imul(T,le)|0)|0)+((8191&(b=(b=b+Math.imul(T,oe)|0)+Math.imul(w,le)|0))<<13)|0;p=((f=f+Math.imul(w,oe)|0)+(b>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(K,G),b=(b=Math.imul(K,$))+Math.imul(L,G)|0,f=Math.imul(L,$),n=n+Math.imul(I,J)|0,b=(b=b+Math.imul(I,ee)|0)+Math.imul(N,J)|0,f=f+Math.imul(N,ee)|0,n=n+Math.imul(R,te)|0,b=(b=b+Math.imul(R,ne)|0)+Math.imul(B,te)|0,f=f+Math.imul(B,ne)|0,n=n+Math.imul(_,fe)|0,b=(b=b+Math.imul(_,de)|0)+Math.imul(k,fe)|0,f=f+Math.imul(k,de)|0,n=n+Math.imul(E,ie)|0,b=(b=b+Math.imul(E,pe)|0)+Math.imul(S,ie)|0,f=f+Math.imul(S,pe)|0,n=n+Math.imul(g,ye)|0,b=(b=b+Math.imul(g,re)|0)+Math.imul(A,ye)|0,f=f+Math.imul(A,re)|0;var De=(p+(n=n+Math.imul(v,le)|0)|0)+((8191&(b=(b=b+Math.imul(v,oe)|0)+Math.imul(x,le)|0))<<13)|0;p=((f=f+Math.imul(x,oe)|0)+(b>>>13)|0)+(De>>>26)|0,De&=67108863,n=Math.imul(K,J),b=(b=Math.imul(K,ee))+Math.imul(L,J)|0,f=Math.imul(L,ee),n=n+Math.imul(I,te)|0,b=(b=b+Math.imul(I,ne)|0)+Math.imul(N,te)|0,f=f+Math.imul(N,ne)|0,n=n+Math.imul(R,fe)|0,b=(b=b+Math.imul(R,de)|0)+Math.imul(B,fe)|0,f=f+Math.imul(B,de)|0,n=n+Math.imul(_,ie)|0,b=(b=b+Math.imul(_,pe)|0)+Math.imul(k,ie)|0,f=f+Math.imul(k,pe)|0,n=n+Math.imul(E,ye)|0,b=(b=b+Math.imul(E,re)|0)+Math.imul(S,ye)|0,f=f+Math.imul(S,re)|0;var _e=(p+(n=n+Math.imul(g,le)|0)|0)+((8191&(b=(b=b+Math.imul(g,oe)|0)+Math.imul(A,le)|0))<<13)|0;p=((f=f+Math.imul(A,oe)|0)+(b>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(K,te),b=(b=Math.imul(K,ne))+Math.imul(L,te)|0,f=Math.imul(L,ne),n=n+Math.imul(I,fe)|0,b=(b=b+Math.imul(I,de)|0)+Math.imul(N,fe)|0,f=f+Math.imul(N,de)|0,n=n+Math.imul(R,ie)|0,b=(b=b+Math.imul(R,pe)|0)+Math.imul(B,ie)|0,f=f+Math.imul(B,pe)|0,n=n+Math.imul(_,ye)|0,b=(b=b+Math.imul(_,re)|0)+Math.imul(k,ye)|0,f=f+Math.imul(k,re)|0;var ke=(p+(n=n+Math.imul(E,le)|0)|0)+((8191&(b=(b=b+Math.imul(E,oe)|0)+Math.imul(S,le)|0))<<13)|0;p=((f=f+Math.imul(S,oe)|0)+(b>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(K,fe),b=(b=Math.imul(K,de))+Math.imul(L,fe)|0,f=Math.imul(L,de),n=n+Math.imul(I,ie)|0,b=(b=b+Math.imul(I,pe)|0)+Math.imul(N,ie)|0,f=f+Math.imul(N,pe)|0,n=n+Math.imul(R,ye)|0,b=(b=b+Math.imul(R,re)|0)+Math.imul(B,ye)|0,f=f+Math.imul(B,re)|0;var Fe=(p+(n=n+Math.imul(_,le)|0)|0)+((8191&(b=(b=b+Math.imul(_,oe)|0)+Math.imul(k,le)|0))<<13)|0;p=((f=f+Math.imul(k,oe)|0)+(b>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(K,ie),b=(b=Math.imul(K,pe))+Math.imul(L,ie)|0,f=Math.imul(L,pe),n=n+Math.imul(I,ye)|0,b=(b=b+Math.imul(I,re)|0)+Math.imul(N,ye)|0,f=f+Math.imul(N,re)|0;var Re=(p+(n=n+Math.imul(R,le)|0)|0)+((8191&(b=(b=b+Math.imul(R,oe)|0)+Math.imul(B,le)|0))<<13)|0;p=((f=f+Math.imul(B,oe)|0)+(b>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(K,ye),b=(b=Math.imul(K,re))+Math.imul(L,ye)|0,f=Math.imul(L,re);var Be=(p+(n=n+Math.imul(I,le)|0)|0)+((8191&(b=(b=b+Math.imul(I,oe)|0)+Math.imul(N,le)|0))<<13)|0;p=((f=f+Math.imul(N,oe)|0)+(b>>>13)|0)+(Be>>>26)|0,Be&=67108863;var Oe=(p+(n=Math.imul(K,le))|0)+((8191&(b=(b=Math.imul(K,oe))+Math.imul(L,le)|0))<<13)|0;return p=((f=Math.imul(L,oe))+(b>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,i[0]=me,i[1]=Te,i[2]=we,i[3]=he,i[4]=ve,i[5]=xe,i[6]=Me,i[7]=ge,i[8]=Ae,i[9]=Ce,i[10]=Ee,i[11]=Se,i[12]=De,i[13]=_e,i[14]=ke,i[15]=Fe,i[16]=Re,i[17]=Be,i[18]=Oe,0!==p&&(i[19]=p,t.length++),t};function o(e,a,t){return(new m).mulp(e,a,t)}function m(e,a){this.x=e,this.y=a}Math.imul||(l=c),f.prototype.mulTo=function(e,a){var t=this.length+e.length;return 10===this.length&&10===e.length?l(this,e,a):t<63?c(this,e,a):t<1024?function(e,a,t){t.negative=a.negative^e.negative,t.length=e.length+a.length;for(var n=0,b=0,f=0;f<t.length-1;f++){var d=b;b=0;for(var s=67108863&n,i=Math.min(f,a.length-1),p=Math.max(0,f-e.length+1);p<=i;p++){var u=f-p,y=(0|e.words[u])*(0|a.words[p]),r=67108863&y;s=67108863&(r=r+s|0),b+=(d=(d=d+(y/67108864|0)|0)+(r>>>26)|0)>>>26,d&=67108863}t.words[f]=s,n=d,d=b}return 0!==n?t.words[f]=n:t.length--,t.strip()}(this,e,a):o(this,e,a)},m.prototype.makeRBT=function(e){for(var a=new Array(e),t=f.prototype._countBits(e)-1,n=0;n<e;n++)a[n]=this.revBin(n,t,e);return a},m.prototype.revBin=function(e,a,t){if(0===e||e===t-1)return e;for(var n=0,b=0;b<a;b++)n|=(1&e)<<a-b-1,e>>=1;return n},m.prototype.permute=function(e,a,t,n,b,f){for(var d=0;d<f;d++)n[d]=a[e[d]],b[d]=t[e[d]]},m.prototype.transform=function(e,a,t,n,b,f){this.permute(f,e,a,t,n,b);for(var d=1;d<b;d<<=1)for(var s=d<<1,i=Math.cos(2*Math.PI/s),p=Math.sin(2*Math.PI/s),u=0;u<b;u+=s)for(var y=i,r=p,c=0;c<d;c++){var l=t[u+c],o=n[u+c],m=t[u+c+d],T=n[u+c+d],w=y*m-r*T;T=y*T+r*m,m=w,t[u+c]=l+m,n[u+c]=o+T,t[u+c+d]=l-m,n[u+c+d]=o-T,c!==s&&(w=i*y-p*r,r=i*r+p*y,y=w)}},m.prototype.guessLen13b=function(e,a){var t=1|Math.max(a,e),n=1&t,b=0;for(t=t/2|0;t;t>>>=1)b++;return 1<<b+1+n},m.prototype.conjugate=function(e,a,t){if(!(t<=1))for(var n=0;n<t/2;n++){var b=e[n];e[n]=e[t-n-1],e[t-n-1]=b,b=a[n],a[n]=-a[t-n-1],a[t-n-1]=-b}},m.prototype.normalize13b=function(e,a){for(var t=0,n=0;n<a/2;n++){var b=8192*Math.round(e[2*n+1]/a)+Math.round(e[2*n]/a)+t;e[n]=67108863&b,t=b<67108864?0:b/67108864|0}return e},m.prototype.convert13b=function(e,a,t,b){for(var f=0,d=0;d<a;d++)f+=0|e[d],t[2*d]=8191&f,f>>>=13,t[2*d+1]=8191&f,f>>>=13;for(d=2*a;d<b;++d)t[d]=0;n(0===f),n(0==(-8192&f))},m.prototype.stub=function(e){for(var a=new Array(e),t=0;t<e;t++)a[t]=0;return a},m.prototype.mulp=function(e,a,t){var n=2*this.guessLen13b(e.length,a.length),b=this.makeRBT(n),f=this.stub(n),d=new Array(n),s=new Array(n),i=new Array(n),p=new Array(n),u=new Array(n),y=new Array(n),r=t.words;r.length=n,this.convert13b(e.words,e.length,d,n),this.convert13b(a.words,a.length,p,n),this.transform(d,f,s,i,n,b),this.transform(p,f,u,y,n,b);for(var c=0;c<n;c++){var l=s[c]*u[c]-i[c]*y[c];i[c]=s[c]*y[c]+i[c]*u[c],s[c]=l}return this.conjugate(s,i,n),this.transform(s,i,r,f,n,b),this.conjugate(r,f,n),this.normalize13b(r,n),t.negative=e.negative^a.negative,t.length=e.length+a.length,t.strip()},f.prototype.mul=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),this.mulTo(e,a)},f.prototype.mulf=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),o(this,e,a)},f.prototype.imul=function(e){return this.clone().mulTo(e,this)},f.prototype.imuln=function(e){n("number"==typeof e),n(e<67108864);for(var a=0,t=0;t<this.length;t++){var b=(0|this.words[t])*e,f=(67108863&b)+(67108863&a);a>>=26,a+=b/67108864|0,a+=f>>>26,this.words[t]=67108863&f}return 0!==a&&(this.words[t]=a,this.length++),this},f.prototype.muln=function(e){return this.clone().imuln(e)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(e){var a=function(e){for(var a=new Array(e.bitLength()),t=0;t<a.length;t++){var n=t/26|0,b=t%26;a[t]=(e.words[n]&1<<b)>>>b}return a}(e);if(0===a.length)return new f(1);for(var t=this,n=0;n<a.length&&0===a[n];n++,t=t.sqr());if(++n<a.length)for(var b=t.sqr();n<a.length;n++,b=b.sqr())0!==a[n]&&(t=t.mul(b));return t},f.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var a,t=e%26,b=(e-t)/26,f=67108863>>>26-t<<26-t;if(0!==t){var d=0;for(a=0;a<this.length;a++){var s=this.words[a]&f,i=(0|this.words[a])-s<<t;this.words[a]=i|d,d=s>>>26-t}d&&(this.words[a]=d,this.length++)}if(0!==b){for(a=this.length-1;a>=0;a--)this.words[a+b]=this.words[a];for(a=0;a<b;a++)this.words[a]=0;this.length+=b}return this.strip()},f.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},f.prototype.iushrn=function(e,a,t){var b;n("number"==typeof e&&e>=0),b=a?(a-a%26)/26:0;var f=e%26,d=Math.min((e-f)/26,this.length),s=67108863^67108863>>>f<<f,i=t;if(b-=d,b=Math.max(0,b),i){for(var p=0;p<d;p++)i.words[p]=this.words[p];i.length=d}if(0===d);else if(this.length>d)for(this.length-=d,p=0;p<this.length;p++)this.words[p]=this.words[p+d];else this.words[0]=0,this.length=1;var u=0;for(p=this.length-1;p>=0&&(0!==u||p>=b);p--){var y=0|this.words[p];this.words[p]=u<<26-f|y>>>f,u=y&s}return i&&0!==u&&(i.words[i.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(e,a,t){return n(0===this.negative),this.iushrn(e,a,t)},f.prototype.shln=function(e){return this.clone().ishln(e)},f.prototype.ushln=function(e){return this.clone().iushln(e)},f.prototype.shrn=function(e){return this.clone().ishrn(e)},f.prototype.ushrn=function(e){return this.clone().iushrn(e)},f.prototype.testn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26,b=1<<a;return!(this.length<=t)&&!!(this.words[t]&b)},f.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=t)return this;if(0!==a&&t++,this.length=Math.min(t,this.length),0!==a){var b=67108863^67108863>>>a<<a;this.words[this.length-1]&=b}return this.strip()},f.prototype.maskn=function(e){return this.clone().imaskn(e)},f.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},f.prototype._iaddn=function(e){this.words[0]+=e;for(var a=0;a<this.length&&this.words[a]>=67108864;a++)this.words[a]-=67108864,a===this.length-1?this.words[a+1]=1:this.words[a+1]++;return this.length=Math.max(this.length,a+1),this},f.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var a=0;a<this.length&&this.words[a]<0;a++)this.words[a]+=67108864,this.words[a+1]-=1;return this.strip()},f.prototype.addn=function(e){return this.clone().iaddn(e)},f.prototype.subn=function(e){return this.clone().isubn(e)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(e,a,t){var b,f,d=e.length+t;this._expand(d);var s=0;for(b=0;b<e.length;b++){f=(0|this.words[b+t])+s;var i=(0|e.words[b])*a;s=((f-=67108863&i)>>26)-(i/67108864|0),this.words[b+t]=67108863&f}for(;b<this.length-t;b++)s=(f=(0|this.words[b+t])+s)>>26,this.words[b+t]=67108863&f;if(0===s)return this.strip();for(n(-1===s),s=0,b=0;b<this.length;b++)s=(f=-(0|this.words[b])+s)>>26,this.words[b]=67108863&f;return this.negative=1,this.strip()},f.prototype._wordDiv=function(e,a){var t=(this.length,e.length),n=this.clone(),b=e,d=0|b.words[b.length-1];0!==(t=26-this._countBits(d))&&(b=b.ushln(t),n.iushln(t),d=0|b.words[b.length-1]);var s,i=n.length-b.length;if("mod"!==a){(s=new f(null)).length=i+1,s.words=new Array(s.length);for(var p=0;p<s.length;p++)s.words[p]=0}var u=n.clone()._ishlnsubmul(b,1,i);0===u.negative&&(n=u,s&&(s.words[i]=1));for(var y=i-1;y>=0;y--){var r=67108864*(0|n.words[b.length+y])+(0|n.words[b.length+y-1]);for(r=Math.min(r/d|0,67108863),n._ishlnsubmul(b,r,y);0!==n.negative;)r--,n.negative=0,n._ishlnsubmul(b,1,y),n.isZero()||(n.negative^=1);s&&(s.words[y]=r)}return s&&s.strip(),n.strip(),"div"!==a&&0!==t&&n.iushrn(t),{div:s||null,mod:n}},f.prototype.divmod=function(e,a,t){return n(!e.isZero()),this.isZero()?{div:new f(0),mod:new f(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,a),"mod"!==a&&(b=s.div.neg()),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.iadd(e)),{div:b,mod:d}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),a),"mod"!==a&&(b=s.div.neg()),{div:b,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),a),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.isub(e)),{div:s.div,mod:d}):e.length>this.length||this.cmp(e)<0?{div:new f(0),mod:this}:1===e.length?"div"===a?{div:this.divn(e.words[0]),mod:null}:"mod"===a?{div:null,mod:new f(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new f(this.modn(e.words[0]))}:this._wordDiv(e,a);var b,d,s},f.prototype.div=function(e){return this.divmod(e,"div",!1).div},f.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},f.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},f.prototype.divRound=function(e){var a=this.divmod(e);if(a.mod.isZero())return a.div;var t=0!==a.div.negative?a.mod.isub(e):a.mod,n=e.ushrn(1),b=e.andln(1),f=t.cmp(n);return f<0||1===b&&0===f?a.div:0!==a.div.negative?a.div.isubn(1):a.div.iaddn(1)},f.prototype.modn=function(e){n(e<=67108863);for(var a=(1<<26)%e,t=0,b=this.length-1;b>=0;b--)t=(a*t+(0|this.words[b]))%e;return t},f.prototype.idivn=function(e){n(e<=67108863);for(var a=0,t=this.length-1;t>=0;t--){var b=(0|this.words[t])+67108864*a;this.words[t]=b/e|0,a=b%e}return this.strip()},f.prototype.divn=function(e){return this.clone().idivn(e)},f.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b=new f(1),d=new f(0),s=new f(0),i=new f(1),p=0;a.isEven()&&t.isEven();)a.iushrn(1),t.iushrn(1),++p;for(var u=t.clone(),y=a.clone();!a.isZero();){for(var r=0,c=1;0==(a.words[0]&c)&&r<26;++r,c<<=1);if(r>0)for(a.iushrn(r);r-- >0;)(b.isOdd()||d.isOdd())&&(b.iadd(u),d.isub(y)),b.iushrn(1),d.iushrn(1);for(var l=0,o=1;0==(t.words[0]&o)&&l<26;++l,o<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(s.isOdd()||i.isOdd())&&(s.iadd(u),i.isub(y)),s.iushrn(1),i.iushrn(1);a.cmp(t)>=0?(a.isub(t),b.isub(s),d.isub(i)):(t.isub(a),s.isub(b),i.isub(d))}return{a:s,b:i,gcd:t.iushln(p)}},f.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b,d=new f(1),s=new f(0),i=t.clone();a.cmpn(1)>0&&t.cmpn(1)>0;){for(var p=0,u=1;0==(a.words[0]&u)&&p<26;++p,u<<=1);if(p>0)for(a.iushrn(p);p-- >0;)d.isOdd()&&d.iadd(i),d.iushrn(1);for(var y=0,r=1;0==(t.words[0]&r)&&y<26;++y,r<<=1);if(y>0)for(t.iushrn(y);y-- >0;)s.isOdd()&&s.iadd(i),s.iushrn(1);a.cmp(t)>=0?(a.isub(t),d.isub(s)):(t.isub(a),s.isub(d))}return(b=0===a.cmpn(1)?d:s).cmpn(0)<0&&b.iadd(e),b},f.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var a=this.clone(),t=e.clone();a.negative=0,t.negative=0;for(var n=0;a.isEven()&&t.isEven();n++)a.iushrn(1),t.iushrn(1);for(;;){for(;a.isEven();)a.iushrn(1);for(;t.isEven();)t.iushrn(1);var b=a.cmp(t);if(b<0){var f=a;a=t,t=f}else if(0===b||0===t.cmpn(1))break;a.isub(t)}return t.iushln(n)},f.prototype.invm=function(e){return this.egcd(e).a.umod(e)},f.prototype.isEven=function(){return 0==(1&this.words[0])},f.prototype.isOdd=function(){return 1==(1&this.words[0])},f.prototype.andln=function(e){return this.words[0]&e},f.prototype.bincn=function(e){n("number"==typeof e);var a=e%26,t=(e-a)/26,b=1<<a;if(this.length<=t)return this._expand(t+1),this.words[t]|=b,this;for(var f=b,d=t;0!==f&&d<this.length;d++){var s=0|this.words[d];f=(s+=f)>>>26,s&=67108863,this.words[d]=s}return 0!==f&&(this.words[d]=f,this.length++),this},f.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},f.prototype.cmpn=function(e){var a,t=e<0;if(0!==this.negative&&!t)return-1;if(0===this.negative&&t)return 1;if(this.strip(),this.length>1)a=1;else{t&&(e=-e),n(e<=67108863,"Number is too big");var b=0|this.words[0];a=b===e?0:b<e?-1:1}return 0!==this.negative?0|-a:a},f.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var a=this.ucmp(e);return 0!==this.negative?0|-a:a},f.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var a=0,t=this.length-1;t>=0;t--){var n=0|this.words[t],b=0|e.words[t];if(n!==b){n<b?a=-1:n>b&&(a=1);break}}return a},f.prototype.gtn=function(e){return 1===this.cmpn(e)},f.prototype.gt=function(e){return 1===this.cmp(e)},f.prototype.gten=function(e){return this.cmpn(e)>=0},f.prototype.gte=function(e){return this.cmp(e)>=0},f.prototype.ltn=function(e){return-1===this.cmpn(e)},f.prototype.lt=function(e){return-1===this.cmp(e)},f.prototype.lten=function(e){return this.cmpn(e)<=0},f.prototype.lte=function(e){return this.cmp(e)<=0},f.prototype.eqn=function(e){return 0===this.cmpn(e)},f.prototype.eq=function(e){return 0===this.cmp(e)},f.red=function(e){return new g(e)},f.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},f.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(e){return this.red=e,this},f.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},f.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},f.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},f.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},f.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},f.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},f.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},f.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},f.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var T={k256:null,p224:null,p192:null,p25519:null};function w(e,a){this.name=e,this.p=new f(a,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function h(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function v(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function x(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function g(e){if("string"==typeof e){var a=f._prime(e);this.m=a.p,this.prime=a}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function A(e){g.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new f(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var e=new f(null);return e.words=new Array(Math.ceil(this.n/13)),e},w.prototype.ireduce=function(e){var a,t=e;do{this.split(t,this.tmp),a=(t=(t=this.imulK(t)).iadd(this.tmp)).bitLength()}while(a>this.n);var n=a<this.n?-1:t.ucmp(this.p);return 0===n?(t.words[0]=0,t.length=1):n>0?t.isub(this.p):void 0!==t.strip?t.strip():t._strip(),t},w.prototype.split=function(e,a){e.iushrn(this.n,0,a)},w.prototype.imulK=function(e){return e.imul(this.k)},b(h,w),h.prototype.split=function(e,a){for(var t=Math.min(e.length,9),n=0;n<t;n++)a.words[n]=e.words[n];if(a.length=t,e.length<=9)return e.words[0]=0,void(e.length=1);var b=e.words[9];for(a.words[a.length++]=4194303&b,n=10;n<e.length;n++){var f=0|e.words[n];e.words[n-10]=(4194303&f)<<4|b>>>22,b=f}b>>>=22,e.words[n-10]=b,0===b&&e.length>10?e.length-=10:e.length-=9},h.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var a=0,t=0;t<e.length;t++){var n=0|e.words[t];a+=977*n,e.words[t]=67108863&a,a=64*n+(a/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},b(v,w),b(x,w),b(M,w),M.prototype.imulK=function(e){for(var a=0,t=0;t<e.length;t++){var n=19*(0|e.words[t])+a,b=67108863&n;n>>>=26,e.words[t]=b,a=n}return 0!==a&&(e.words[e.length++]=a),e},f._prime=function(e){if(T[e])return T[e];var a;if("k256"===e)a=new h;else if("p224"===e)a=new v;else if("p192"===e)a=new x;else{if("p25519"!==e)throw new Error("Unknown prime "+e);a=new M}return T[e]=a,a},g.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},g.prototype._verify2=function(e,a){n(0==(e.negative|a.negative),"red works only with positives"),n(e.red&&e.red===a.red,"red works only with red numbers")},g.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},g.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},g.prototype.add=function(e,a){this._verify2(e,a);var t=e.add(a);return t.cmp(this.m)>=0&&t.isub(this.m),t._forceRed(this)},g.prototype.iadd=function(e,a){this._verify2(e,a);var t=e.iadd(a);return t.cmp(this.m)>=0&&t.isub(this.m),t},g.prototype.sub=function(e,a){this._verify2(e,a);var t=e.sub(a);return t.cmpn(0)<0&&t.iadd(this.m),t._forceRed(this)},g.prototype.isub=function(e,a){this._verify2(e,a);var t=e.isub(a);return t.cmpn(0)<0&&t.iadd(this.m),t},g.prototype.shl=function(e,a){return this._verify1(e),this.imod(e.ushln(a))},g.prototype.imul=function(e,a){return this._verify2(e,a),this.imod(e.imul(a))},g.prototype.mul=function(e,a){return this._verify2(e,a),this.imod(e.mul(a))},g.prototype.isqr=function(e){return this.imul(e,e.clone())},g.prototype.sqr=function(e){return this.mul(e,e)},g.prototype.sqrt=function(e){if(e.isZero())return e.clone();var a=this.m.andln(3);if(n(a%2==1),3===a){var t=this.m.add(new f(1)).iushrn(2);return this.pow(e,t)}for(var b=this.m.subn(1),d=0;!b.isZero()&&0===b.andln(1);)d++,b.iushrn(1);n(!b.isZero());var s=new f(1).toRed(this),i=s.redNeg(),p=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new f(2*u*u).toRed(this);0!==this.pow(u,p).cmp(i);)u.redIAdd(i);for(var y=this.pow(u,b),r=this.pow(e,b.addn(1).iushrn(1)),c=this.pow(e,b),l=d;0!==c.cmp(s);){for(var o=c,m=0;0!==o.cmp(s);m++)o=o.redSqr();n(m<l);var T=this.pow(y,new f(1).iushln(l-m-1));r=r.redMul(T),y=T.redSqr(),c=c.redMul(y),l=m}return r},g.prototype.invm=function(e){var a=e._invmp(this.m);return 0!==a.negative?(a.negative=0,this.imod(a).redNeg()):this.imod(a)},g.prototype.pow=function(e,a){if(a.isZero())return new f(1).toRed(this);if(0===a.cmpn(1))return e.clone();var t=new Array(16);t[0]=new f(1).toRed(this),t[1]=e;for(var n=2;n<t.length;n++)t[n]=this.mul(t[n-1],e);var b=t[0],d=0,s=0,i=a.bitLength()%26;for(0===i&&(i=26),n=a.length-1;n>=0;n--){for(var p=a.words[n],u=i-1;u>=0;u--){var y=p>>u&1;b!==t[0]&&(b=this.sqr(b)),0!==y||0!==d?(d<<=1,d|=y,(4===++s||0===n&&0===u)&&(b=this.mul(b,t[d]),s=0,d=0)):s=0}i=26}return b},g.prototype.convertTo=function(e){var a=e.umod(this.m);return a===e?a.clone():a},g.prototype.convertFrom=function(e){var a=e.clone();return a.red=null,a},f.mont=function(e){return new A(e)},b(A,g),A.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},A.prototype.convertFrom=function(e){var a=this.imod(e.mul(this.rinv));return a.red=null,a},A.prototype.imul=function(e,a){if(e.isZero()||a.isZero())return e.words[0]=0,e.length=1,e;var t=e.imul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),f=b;return b.cmp(this.m)>=0?f=b.isub(this.m):b.cmpn(0)<0&&(f=b.iadd(this.m)),f._forceRed(this)},A.prototype.mul=function(e,a){if(e.isZero()||a.isZero())return new f(0)._forceRed(this);var t=e.mul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),d=b;return b.cmp(this.m)>=0?d=b.isub(this.m):b.cmpn(0)<0&&(d=b.iadd(this.m)),d._forceRed(this)},A.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,t(7)(e))},function(e,a,t){"use strict";(function(a){const n=t(40),b=t(87),f={mainnet:t(167),rinkeby:t(174),goerli:t(181),fuji:t(187),"goerli-ovm":t(193),"local-ovm":t(199),"mainnet-ovm":t(205),bsc:t(212),"bsc-testnet":t(218),polygon:t(224),mumbai:t(230),arbitrum:t(236),"arbitrum-goerli":t(242),metis:t(248),"metis-goerli":t(254)},d=t(260),s=t(261),i=t(262),p=Object.entries({1:{network:"mainnet"},4:{network:"rinkeby"},5:{network:"goerli"},43113:{network:"fuji"},56:{network:"bsc"},97:{network:"bsc-testnet"},137:{network:"polygon"},80001:{network:"mumbai"},42161:{network:"arbitrum"},421613:{network:"arbitrum-goerli"},31337:{network:"mainnet",fork:!0},1088:{network:"metis"},599:{network:"metis-goerli"},10:{network:"mainnet",useOvm:!0},420:{network:"goerli",useOvm:!0},"-1":{network:"unknown",useOvm:!0}}).reduce((e,[a,t])=>(e[a]=Object.assign({useOvm:!1,fork:!1},t),e),{}),u=Object.entries(p).reduce((e,[a,{network:t,useOvm:n,fork:b}])=>(e[t+(n?"-ovm":"")+(b?"-fork":"")]=a,e),{}),y={BUILD_FOLDER:"build",CONTRACTS_FOLDER:"contracts",MIGRATIONS_FOLDER:"migrations",COMPILED_FOLDER:"compiled",FLATTENED_FOLDER:"flattened",AST_FOLDER:"ast",CONFIG_FILENAME:"config.json",RELEASES_FILENAME:"releases.json",PARAMS_FILENAME:"params.json",SYNTHS_FILENAME:"synths.json",STAKING_REWARDS_FILENAME:"rewards.json",SHORTING_REWARDS_FILENAME:"shorting-rewards.json",OWNER_ACTIONS_FILENAME:"owner-actions.json",DEPLOYMENT_FILENAME:"deployment.json",VERSIONS_FILENAME:"versions.json",FEEDS_FILENAME:"feeds.json",FUTURES_MARKETS_FILENAME:"futures-markets.json",AST_FILENAME:"asts.json",ZERO_ADDRESS:"0x"+"0".repeat(40),ZERO_BYTES32:"0x"+"0".repeat(64),inflationStartTimestampInSecs:1551830400},r={TEMP_OWNER_DEFAULT_DURATION:5184e3,WAITING_PERIOD_SECS:300..toString(),PRICE_DEVIATION_THRESHOLD_FACTOR:n.toWei("3"),TRADING_REWARDS_ENABLED:!1,ISSUANCE_RATIO:n.toBN(1).mul(n.toBN(1e18)).div(n.toBN(3)).toString(),FEE_PERIOD_DURATION:604800..toString(),TARGET_THRESHOLD:"1",LIQUIDATION_DELAY:86400..toString(),LIQUIDATION_RATIO:n.toBN(1).mul(n.toBN(2e18)).div(n.toBN(3)).toString(),LIQUIDATION_ESCROW_DURATION:31536e3.toString(),LIQUIDATION_PENALTY:n.toWei("0.1"),SNX_LIQUIDATION_PENALTY:n.toWei("0.3"),SELF_LIQUIDATION_PENALTY:n.toWei("0.2"),FLAG_REWARD:n.toWei("10"),LIQUIDATE_REWARD:n.toWei("20"),RATE_STALE_PERIOD:9e4.toString(),EXCHANGE_FEE_RATES:{forex:n.toWei("0.003"),commodity:n.toWei("0.003"),equities:n.toWei("0.003"),crypto:n.toWei("0.01"),index:n.toWei("0.01")},EXCHANGE_DYNAMIC_FEE_THRESHOLD:n.toWei("0.0025"),EXCHANGE_DYNAMIC_FEE_WEIGHT_DECAY:n.toWei("0.95"),EXCHANGE_DYNAMIC_FEE_ROUNDS:"6",EXCHANGE_MAX_DYNAMIC_FEE:n.toWei("0.015"),MINIMUM_STAKE_TIME:86400..toString(),DEBT_SNAPSHOT_STALE_TIME:43800..toString(),AGGREGATOR_WARNING_FLAGS:{mainnet:"0x4A5b9B4aD08616D11F3A402FF7cBEAcB732a76C6",rinkeby:"0x6292aa9a6650ae14fbf974e5029f36f95a1848fd",goerli:"0x6292aa9a6650ae14fbf974e5029f36f95a1848fd"},RENBTC_ERC20_ADDRESSES:{mainnet:"0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D",rinkeby:"0x6292aa9a6650ae14fbf974e5029f36f95a1848fd",goerli:"0x9B2fE385cEDea62D839E4dE89B0A23EF4eacC717"},WETH_ERC20_ADDRESSES:{mainnet:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",rinkeby:"0x6292aa9a6650ae14fbf974e5029f36f95a1848fd",goerli:"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6","mainnet-ovm":"0x4200000000000000000000000000000000000006","goerli-ovm":"0x4200000000000000000000000000000000000006"},INITIAL_ISSUANCE:n.toWei("100000000"),CROSS_DOMAIN_DEPOSIT_GAS_LIMIT:"3000000",CROSS_DOMAIN_ESCROW_GAS_LIMIT:"8000000",CROSS_DOMAIN_REWARD_GAS_LIMIT:"8000000",CROSS_DOMAIN_WITHDRAWAL_GAS_LIMIT:"3000000",CROSS_DOMAIN_RELAY_GAS_LIMIT:"8000000",CROSS_DOMAIN_FEE_PERIOD_CLOSE_GAS_LIMIT:"8000000",COLLATERAL_MANAGER:{SYNTHS:["sUSD","sBTC","sETH"],SHORTS:["sBTC","sETH"],MAX_DEBT:n.toWei("75000000"),MAX_SKEW_RATE:n.toWei("0.2"),BASE_BORROW_RATE:Math.round(158443823.07706398).toString(),BASE_SHORT_RATE:Math.round(158443823.07706398).toString()},COLLATERAL_ETH:{SYNTHS:["sUSD","sETH"],MIN_CRATIO:n.toWei("1.3"),MIN_COLLATERAL:n.toWei("2"),ISSUE_FEE_RATE:n.toWei("0.001")},COLLATERAL_RENBTC:{SYNTHS:["sUSD","sBTC"],MIN_CRATIO:n.toWei("1.3"),MIN_COLLATERAL:n.toWei("0.05"),ISSUE_FEE_RATE:n.toWei("0.001")},COLLATERAL_SHORT:{SYNTHS:["sBTC","sETH"],MIN_CRATIO:n.toWei("1.2"),MIN_COLLATERAL:n.toWei("1000"),ISSUE_FEE_RATE:n.toWei("0.005"),INTERACTION_DELAY:"3600",COLLAPSE_FEE_RATE:"0"},ETHER_WRAPPER_MAX_ETH:n.toWei("5000"),ETHER_WRAPPER_MINT_FEE_RATE:n.toWei("0.005"),ETHER_WRAPPER_BURN_FEE_RATE:"0",FUTURES_MIN_KEEPER_FEE:n.toWei("1"),FUTURES_LIQUIDATION_FEE_RATIO:n.toWei("0.0035"),FUTURES_LIQUIDATION_BUFFER_RATIO:n.toWei("0.0025"),FUTURES_MIN_INITIAL_MARGIN:n.toWei("40"),ATOMIC_MAX_VOLUME_PER_BLOCK:n.toWei("200000"),ATOMIC_TWAP_WINDOW:"1800"},c=({network:e,useOvm:a=!1})=>e.includes("ovm")?e:a?e+"-ovm":e,l=({network:e="mainnet",file:t="",useOvm:n=!1,path:b}={})=>b.join(a,"publish","deployed",c({network:e,useOvm:n}),t),o=({network:e="mainnet",path:a,fs:t,deploymentPath:n,useOvm:b=!1})=>{if(!(n||a&&t))return f[c({network:e,useOvm:b})].deployment;const d=n?a.join(n,y.DEPLOYMENT_FILENAME):l({network:e,useOvm:b,path:a,file:y.DEPLOYMENT_FILENAME});if(!t.existsSync(d))throw Error(`Cannot find deployment for network: ${e}.`);return JSON.parse(t.readFileSync(d))},m=({network:e="mainnet",useOvm:a=!1,contract:t,path:n,fs:b,deploymentPath:f}={})=>{const d=o({network:e,useOvm:a,path:n,fs:b,deploymentPath:f});return t?d.targets[t]:d.targets},T=({network:e="mainnet",useOvm:a=!1,contract:t,path:n,fs:b,deploymentPath:f}={})=>{const d=o({network:e,useOvm:a,path:n,fs:b,deploymentPath:f});return t?d.sources[t]:d.sources},w=({network:e,path:a,fs:t,deploymentPath:n,useOvm:b=!1}={})=>{let s;if(n||a&&t){const f=n?a.join(n,y.FEEDS_FILENAME):l({network:e,path:a,useOvm:b,file:y.FEEDS_FILENAME});if(!t.existsSync(f))throw Error("Cannot find feeds file.");s=JSON.parse(t.readFileSync(f))}else s=f[c({network:e,useOvm:b})].feeds;return Object.entries(s).reduce((e,[a,t])=>(e[a]=Object.assign(d[a],t),e),{})},h=({network:e="mainnet",path:a,fs:t,deploymentPath:n,useOvm:b=!1,skipPopulate:s=!1}={})=>{let i;if(n||a&&t){const f=n?a.join(n,y.SYNTHS_FILENAME):l({network:e,useOvm:b,path:a,file:y.SYNTHS_FILENAME});if(!t.existsSync(f))throw Error("Cannot find synth list.");i=JSON.parse(t.readFileSync(f))}else i=f[c({network:e,useOvm:b})].synths;if(s)return i;const p=w({network:e,useOvm:b,path:a,fs:t,deploymentPath:n});return i.map(e=>{if(e=Object.assign({},d[e.asset],e),p[e.asset]){const{feed:a}=p[e.asset];e=Object.assign({feed:a},e)}if("string"==typeof e.index){const{index:a}=i.find(({name:a})=>a===e.index)||{};if(!a)throw Error(`While processing ${e.name}, it's index mapping "${e.index}" cannot be found - this is an error in the deployment config and should be fixed`);e=Object.assign({},e,{index:a})}return e.index&&(e.index=e.index.map(e=>Object.assign({},d[e.asset],e))),e})};e.exports={chainIdMapping:p,constants:y,decode:({network:e="mainnet",fs:a,path:t,data:n,target:f,useOvm:d=!1,decodeMigration:s=!1}={})=>{const i=T({network:e,path:t,fs:a,useOvm:d});for(const{abi:e}of Object.values(i))b.addABI(e);s&&b.addABI([{constant:!1,inputs:[],name:"migrate",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}]);const p=m({network:e,path:t,fs:a,useOvm:d});let u;return f&&(u=Object.values(p).filter(({address:e})=>e.toLowerCase()===f.toLowerCase())[0].name),{method:b.decodeMethod(n),contract:u}},defaults:r,getAST:({source:e,path:t,fs:n,match:b=/^contracts\//}={})=>{let d;if(t&&n){const e=t.resolve(a,y.BUILD_FOLDER,y.AST_FOLDER,y.AST_FILENAME);if(!n.existsSync(e))throw Error("Cannot find AST");d=JSON.parse(n.readFileSync(e))}else{if(!f.ast)throw Error("AST currently not supported in browser mode");d=f.ast}const s=Object.entries(d).filter(([e])=>b.test(e)).reduce((e,[a,t])=>(e[a]=t,e),{});if(e&&e in s)return s[e];if(e){const[a,t]=Object.entries(s).find(([a])=>a.includes("/"+e))||[];if(!a||!t)throw Error("Cannot find AST entry for source: "+e);return{[a]:t}}return s},getNetworkFromId:({id:e})=>p[e],getNextRelease:({useOvm:e})=>{const a=i.releases.find(({released:a,ovm:t})=>!a&&(e?t:!t));return Object.assign({},a,{releaseName:a.name.replace(/[^\w]/g,"")})},getPathToNetwork:l,getSource:T,getStakingRewards:({network:e="mainnet",useOvm:a=!1,path:t,fs:n,deploymentPath:b}={})=>{if(!(b||t&&n))return f[c({network:e,useOvm:a})].rewards;const d=b?t.join(b,y.STAKING_REWARDS_FILENAME):l({network:e,path:t,useOvm:a,file:y.STAKING_REWARDS_FILENAME});return n.existsSync(d)?JSON.parse(n.readFileSync(d)):[]},getShortingRewards:({network:e="mainnet",useOvm:a=!1,path:t,fs:n,deploymentPath:b}={})=>{if(!(b||t&&n))return f[c({network:e,useOvm:a})]["shorting-rewards"];const d=b?t.join(b,y.SHORTING_REWARDS_FILENAME):l({network:e,path:t,useOvm:a,file:y.SHORTING_REWARDS_FILENAME});return n.existsSync(d)?JSON.parse(n.readFileSync(d)):[]},getSuspensionReasons:({code:e}={})=>{const a={1:"System Upgrade",2:"Market Closure",4:"iSynth Reprice",6:"Index Rebalance",55:"Circuit Breaker (Phase one)",65:"Decentralized Circuit Breaker (Phase two)",80:"Futures configuration",231:"Latency Breaker",99999:"Emergency"};return e?a[e]:a},getFeeds:w,getSynths:h,getFuturesMarkets:({network:e="mainnet",useOvm:a=!1,path:t,fs:n,deploymentPath:b}={})=>{let s;if(b||t&&n){const f=b?t.join(b,y.FUTURES_MARKETS_FILENAME):l({network:e,path:t,useOvm:a,file:y.FUTURES_MARKETS_FILENAME});s=n.existsSync(f)&&JSON.parse(n.readFileSync(f))||[]}else s=f[c({network:e,useOvm:a})].futuresMarkets;return s.map(e=>{const a=["sBTC","sETH","sLINK"].includes(e.asset)?e.asset.slice(1):e.asset;return Object.assign({},d[a],e)})},getTarget:m,getTokens:({network:e="mainnet",path:a,fs:t,useOvm:n=!1}={})=>{const b=h({network:e,useOvm:n,path:a,fs:t}),f=m({network:e,useOvm:n,path:a,fs:t}),d=w({network:e,useOvm:n,path:a,fs:t});return[Object.assign({symbol:"SNX",asset:"SNX",name:"Synthetix",address:f.ProxySynthetix.address,decimals:18},d.SNX.feed?{feed:d.SNX.feed}:{})].concat(b.filter(({category:e})=>"internal"!==e).map(e=>({symbol:e.name,asset:e.asset,name:e.description,address:(f["Proxy"+e.name]||{}).address,index:e.index,decimals:18,feed:e.feed})).sort((e,a)=>e.symbol>a.symbol?1:-1))},getUsers:({network:e="mainnet",user:a,useOvm:t=!1}={})=>{const n="0x73570075092502472E4b61A7058Df1A4a1DB12f2",b={owner:n,deployer:n,marketClosure:n,oracle:"0xac1e8B385230970319906C03A1d8567e3996d1d5",fee:"0xfeEFEEfeefEeFeefEEFEEfEeFeefEEFeeFEEFEeF",zero:"0x"+"0".repeat(40)},f={mainnet:Object.assign({},b,{owner:"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",deployer:"0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe",marketClosure:"0xC105Ea57Eb434Fbe44690d7Dec2702e4a2FBFCf7",oracle:"0xaC1ED4Fabbd5204E02950D68b6FC8c446AC95362"}),rinkeby:Object.assign({},b),"mainnet-ovm":Object.assign({},b,{owner:"0x6d4a64C57612841c2C6745dB2a4E4db34F002D20",deployer:"0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"}),goerli:Object.assign({},b),fuji:Object.assign({},b),"goerli-ovm":Object.assign({},b),local:Object.assign({},b,{owner:"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"}),"local-ovm":Object.assign({},b,{owner:"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",deployer:"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",oracle:"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"}),bsc:Object.assign({},b),"bsc-testnet":Object.assign({},b),polygon:Object.assign({},b),mumbai:Object.assign({},b),arbitrum:Object.assign({},b),"arbitrum-goerli":Object.assign({},b),metis:Object.assign({},b),"metis-goerli":Object.assign({},b)},d=Object.entries(f[c({network:e,useOvm:t})]).map(([e,a])=>({name:e,address:a}));return a?d.find(({name:e})=>e===a):d},getVersions:({network:e="mainnet",path:a,fs:t,deploymentPath:n,useOvm:b,byContract:d=!1}={})=>{let s;if(n||a&&t){const f=n?a.join(n,y.VERSIONS_FILENAME):l({network:e,useOvm:b,path:a,file:y.VERSIONS_FILENAME});if(!t.existsSync(f))throw Error("Cannot find versions for network.");s=JSON.parse(t.readFileSync(f))}else s=f[c({network:e,useOvm:b})].versions;return d?Object.values(s).reduce((e,{tag:a,release:t,date:n,commit:b,block:f,contracts:d})=>{for(const[s,i]of Object.entries(d))e[s]=e[s]||[],e[s].push(Object.assign({tag:a,release:t,date:n,commit:b,block:f},i));return e},{}):s},networks:["local","mainnet","rinkeby","goerli","bsc","bsc-testnet","polygon","mumbai","arbitrum","arbitrum-goerli","fuji","metis","metis-goerli"],networkToChainId:u,toBytes32:e=>n.rightPad(n.asciiToHex(e),64),fromBytes32:e=>n.hexToAscii(e),wrap:({network:a,deploymentPath:t,fs:n,path:b,useOvm:f=!1})=>["decode","getAST","getPathToNetwork","getSource","getStakingRewards","getShortingRewards","getFeeds","getSynths","getTarget","getFuturesMarkets","getTokens","getUsers","getVersions"].reduce((d,s)=>(d[s]=(d={})=>e.exports[s](Object.assign({network:a,deploymentPath:t,fs:n,path:b,useOvm:f},d)),d),{}),nonUpgradeable:s,releases:i,knownAccounts:{mainnet:[{name:"binance",address:"0xF977814e90dA44bFA03b6295A0616a897441aceC"},{name:"renBTCWallet",address:"0x35ffd6e268610e764ff6944d07760d0efe5e40e5"},{name:"loansAccount",address:"0x62f7A1F94aba23eD2dD108F8D23Aa3e7d452565B"}],rinkeby:[{name:"binance",address:"0x02aB62496EE0b0dF9ff58f181E237923d8Ad1cBb"},{name:"renBTCWallet",address:"0x02aB62496EE0b0dF9ff58f181E237923d8Ad1cBb"},{name:"loansAccount",address:"0x02aB62496EE0b0dF9ff58f181E237923d8Ad1cBb"}]}}}).call(this,"/")},,function(e,a,t){(function(e){!function(e,a){"use strict";function n(e,a){if(!e)throw new Error(a||"Assertion failed")}function b(e,a){e.super_=a;var t=function(){};t.prototype=a.prototype,e.prototype=new t,e.prototype.constructor=e}function f(e,a,t){if(f.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==a&&"be"!==a||(t=a,a=10),this._init(e||0,a||10,t||"be"))}var d;"object"==typeof e?e.exports=f:a.BN=f,f.BN=f,f.wordSize=26;try{d=t(0).Buffer}catch(e){}function s(e,a,t){for(var n=0,b=Math.min(e.length,t),f=a;f<b;f++){var d=e.charCodeAt(f)-48;n<<=4,n|=d>=49&&d<=54?d-49+10:d>=17&&d<=22?d-17+10:15&d}return n}function i(e,a,t,n){for(var b=0,f=Math.min(e.length,t),d=a;d<f;d++){var s=e.charCodeAt(d)-48;b*=n,b+=s>=49?s-49+10:s>=17?s-17+10:s}return b}f.isBN=function(e){return e instanceof f||null!==e&&"object"==typeof e&&e.constructor.wordSize===f.wordSize&&Array.isArray(e.words)},f.max=function(e,a){return e.cmp(a)>0?e:a},f.min=function(e,a){return e.cmp(a)<0?e:a},f.prototype._init=function(e,a,t){if("number"==typeof e)return this._initNumber(e,a,t);if("object"==typeof e)return this._initArray(e,a,t);"hex"===a&&(a=16),n(a===(0|a)&&a>=2&&a<=36);var b=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&b++,16===a?this._parseHex(e,b):this._parseBase(e,a,b),"-"===e[0]&&(this.negative=1),this.strip(),"le"===t&&this._initArray(this.toArray(),a,t)},f.prototype._initNumber=function(e,a,t){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===t&&this._initArray(this.toArray(),a,t)},f.prototype._initArray=function(e,a,t){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var b=0;b<this.length;b++)this.words[b]=0;var f,d,s=0;if("be"===t)for(b=e.length-1,f=0;b>=0;b-=3)d=e[b]|e[b-1]<<8|e[b-2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);else if("le"===t)for(b=0,f=0;b<e.length;b+=3)d=e[b]|e[b+1]<<8|e[b+2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);return this.strip()},f.prototype._parseHex=function(e,a){this.length=Math.ceil((e.length-a)/6),this.words=new Array(this.length);for(var t=0;t<this.length;t++)this.words[t]=0;var n,b,f=0;for(t=e.length-6,n=0;t>=a;t-=6)b=s(e,t,t+6),this.words[n]|=b<<f&67108863,this.words[n+1]|=b>>>26-f&4194303,(f+=24)>=26&&(f-=26,n++);t+6!==a&&(b=s(e,a,t+6),this.words[n]|=b<<f&67108863,this.words[n+1]|=b>>>26-f&4194303),this.strip()},f.prototype._parseBase=function(e,a,t){this.words=[0],this.length=1;for(var n=0,b=1;b<=67108863;b*=a)n++;n--,b=b/a|0;for(var f=e.length-t,d=f%n,s=Math.min(f,f-d)+t,p=0,u=t;u<s;u+=n)p=i(e,u,u+n,a),this.imuln(b),this.words[0]+p<67108864?this.words[0]+=p:this._iaddn(p);if(0!==d){var y=1;for(p=i(e,u,e.length,a),u=0;u<d;u++)y*=a;this.imuln(y),this.words[0]+p<67108864?this.words[0]+=p:this._iaddn(p)}},f.prototype.copy=function(e){e.words=new Array(this.length);for(var a=0;a<this.length;a++)e.words[a]=this.words[a];e.length=this.length,e.negative=this.negative,e.red=this.red},f.prototype.clone=function(){var e=new f(null);return this.copy(e),e},f.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},f.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},f.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var p=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],y=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function r(e,a,t){t.negative=a.negative^e.negative;var n=e.length+a.length|0;t.length=n,n=n-1|0;var b=0|e.words[0],f=0|a.words[0],d=b*f,s=67108863&d,i=d/67108864|0;t.words[0]=s;for(var p=1;p<n;p++){for(var u=i>>>26,y=67108863&i,r=Math.min(p,a.length-1),c=Math.max(0,p-e.length+1);c<=r;c++){var l=p-c|0;u+=(d=(b=0|e.words[l])*(f=0|a.words[c])+y)/67108864|0,y=67108863&d}t.words[p]=0|y,i=0|u}return 0!==i?t.words[p]=0|i:t.length--,t.strip()}f.prototype.toString=function(e,a){var t;if(a=0|a||1,16===(e=e||10)||"hex"===e){t="";for(var b=0,f=0,d=0;d<this.length;d++){var s=this.words[d],i=(16777215&(s<<b|f)).toString(16);t=0!==(f=s>>>24-b&16777215)||d!==this.length-1?p[6-i.length]+i+t:i+t,(b+=2)>=26&&(b-=26,d--)}for(0!==f&&(t=f.toString(16)+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}if(e===(0|e)&&e>=2&&e<=36){var r=u[e],c=y[e];t="";var l=this.clone();for(l.negative=0;!l.isZero();){var o=l.modn(c).toString(e);t=(l=l.idivn(c)).isZero()?o+t:p[r-o.length]+o+t}for(this.isZero()&&(t="0"+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}n(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(e,a){return n(void 0!==d),this.toArrayLike(d,e,a)},f.prototype.toArray=function(e,a){return this.toArrayLike(Array,e,a)},f.prototype.toArrayLike=function(e,a,t){var b=this.byteLength(),f=t||Math.max(1,b);n(b<=f,"byte array longer than desired length"),n(f>0,"Requested array length <= 0"),this.strip();var d,s,i="le"===a,p=new e(f),u=this.clone();if(i){for(s=0;!u.isZero();s++)d=u.andln(255),u.iushrn(8),p[s]=d;for(;s<f;s++)p[s]=0}else{for(s=0;s<f-b;s++)p[s]=0;for(s=0;!u.isZero();s++)d=u.andln(255),u.iushrn(8),p[f-s-1]=d}return p},Math.clz32?f.prototype._countBits=function(e){return 32-Math.clz32(e)}:f.prototype._countBits=function(e){var a=e,t=0;return a>=4096&&(t+=13,a>>>=13),a>=64&&(t+=7,a>>>=7),a>=8&&(t+=4,a>>>=4),a>=2&&(t+=2,a>>>=2),t+a},f.prototype._zeroBits=function(e){if(0===e)return 26;var a=e,t=0;return 0==(8191&a)&&(t+=13,a>>>=13),0==(127&a)&&(t+=7,a>>>=7),0==(15&a)&&(t+=4,a>>>=4),0==(3&a)&&(t+=2,a>>>=2),0==(1&a)&&t++,t},f.prototype.bitLength=function(){var e=this.words[this.length-1],a=this._countBits(e);return 26*(this.length-1)+a},f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,a=0;a<this.length;a++){var t=this._zeroBits(this.words[a]);if(e+=t,26!==t)break}return e},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},f.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return 0!==this.negative},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var a=0;a<e.length;a++)this.words[a]=this.words[a]|e.words[a];return this.strip()},f.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},f.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},f.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},f.prototype.iuand=function(e){var a;a=this.length>e.length?e:this;for(var t=0;t<a.length;t++)this.words[t]=this.words[t]&e.words[t];return this.length=a.length,this.strip()},f.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},f.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},f.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},f.prototype.iuxor=function(e){var a,t;this.length>e.length?(a=this,t=e):(a=e,t=this);for(var n=0;n<t.length;n++)this.words[n]=a.words[n]^t.words[n];if(this!==a)for(;n<a.length;n++)this.words[n]=a.words[n];return this.length=a.length,this.strip()},f.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},f.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},f.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},f.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var a=0|Math.ceil(e/26),t=e%26;this._expand(a),t>0&&a--;for(var b=0;b<a;b++)this.words[b]=67108863&~this.words[b];return t>0&&(this.words[b]=~this.words[b]&67108863>>26-t),this.strip()},f.prototype.notn=function(e){return this.clone().inotn(e)},f.prototype.setn=function(e,a){n("number"==typeof e&&e>=0);var t=e/26|0,b=e%26;return this._expand(t+1),this.words[t]=a?this.words[t]|1<<b:this.words[t]&~(1<<b),this.strip()},f.prototype.iadd=function(e){var a,t,n;if(0!==this.negative&&0===e.negative)return this.negative=0,a=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,a=this.isub(e),e.negative=1,a._normSign();this.length>e.length?(t=this,n=e):(t=e,n=this);for(var b=0,f=0;f<n.length;f++)a=(0|t.words[f])+(0|n.words[f])+b,this.words[f]=67108863&a,b=a>>>26;for(;0!==b&&f<t.length;f++)a=(0|t.words[f])+b,this.words[f]=67108863&a,b=a>>>26;if(this.length=t.length,0!==b)this.words[this.length]=b,this.length++;else if(t!==this)for(;f<t.length;f++)this.words[f]=t.words[f];return this},f.prototype.add=function(e){var a;return 0!==e.negative&&0===this.negative?(e.negative=0,a=this.sub(e),e.negative^=1,a):0===e.negative&&0!==this.negative?(this.negative=0,a=e.sub(this),this.negative=1,a):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},f.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var a=this.iadd(e);return e.negative=1,a._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var t,n,b=this.cmp(e);if(0===b)return this.negative=0,this.length=1,this.words[0]=0,this;b>0?(t=this,n=e):(t=e,n=this);for(var f=0,d=0;d<n.length;d++)f=(a=(0|t.words[d])-(0|n.words[d])+f)>>26,this.words[d]=67108863&a;for(;0!==f&&d<t.length;d++)f=(a=(0|t.words[d])+f)>>26,this.words[d]=67108863&a;if(0===f&&d<t.length&&t!==this)for(;d<t.length;d++)this.words[d]=t.words[d];return this.length=Math.max(this.length,d),t!==this&&(this.negative=1),this.strip()},f.prototype.sub=function(e){return this.clone().isub(e)};var c=function(e,a,t){var n,b,f,d=e.words,s=a.words,i=t.words,p=0,u=0|d[0],y=8191&u,r=u>>>13,c=0|d[1],l=8191&c,o=c>>>13,m=0|d[2],T=8191&m,w=m>>>13,h=0|d[3],v=8191&h,x=h>>>13,M=0|d[4],g=8191&M,A=M>>>13,C=0|d[5],E=8191&C,S=C>>>13,D=0|d[6],_=8191&D,k=D>>>13,F=0|d[7],R=8191&F,B=F>>>13,O=0|d[8],I=8191&O,N=O>>>13,P=0|d[9],K=8191&P,L=P>>>13,U=0|s[0],V=8191&U,z=U>>>13,q=0|s[1],W=8191&q,H=q>>>13,Q=0|s[2],X=8191&Q,Z=Q>>>13,j=0|s[3],G=8191&j,$=j>>>13,Y=0|s[4],J=8191&Y,ee=Y>>>13,ae=0|s[5],te=8191&ae,ne=ae>>>13,be=0|s[6],fe=8191&be,de=be>>>13,se=0|s[7],ie=8191&se,pe=se>>>13,ue=0|s[8],ye=8191&ue,re=ue>>>13,ce=0|s[9],le=8191&ce,oe=ce>>>13;t.negative=e.negative^a.negative,t.length=19;var me=(p+(n=Math.imul(y,V))|0)+((8191&(b=(b=Math.imul(y,z))+Math.imul(r,V)|0))<<13)|0;p=((f=Math.imul(r,z))+(b>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(l,V),b=(b=Math.imul(l,z))+Math.imul(o,V)|0,f=Math.imul(o,z);var Te=(p+(n=n+Math.imul(y,W)|0)|0)+((8191&(b=(b=b+Math.imul(y,H)|0)+Math.imul(r,W)|0))<<13)|0;p=((f=f+Math.imul(r,H)|0)+(b>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(T,V),b=(b=Math.imul(T,z))+Math.imul(w,V)|0,f=Math.imul(w,z),n=n+Math.imul(l,W)|0,b=(b=b+Math.imul(l,H)|0)+Math.imul(o,W)|0,f=f+Math.imul(o,H)|0;var we=(p+(n=n+Math.imul(y,X)|0)|0)+((8191&(b=(b=b+Math.imul(y,Z)|0)+Math.imul(r,X)|0))<<13)|0;p=((f=f+Math.imul(r,Z)|0)+(b>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(v,V),b=(b=Math.imul(v,z))+Math.imul(x,V)|0,f=Math.imul(x,z),n=n+Math.imul(T,W)|0,b=(b=b+Math.imul(T,H)|0)+Math.imul(w,W)|0,f=f+Math.imul(w,H)|0,n=n+Math.imul(l,X)|0,b=(b=b+Math.imul(l,Z)|0)+Math.imul(o,X)|0,f=f+Math.imul(o,Z)|0;var he=(p+(n=n+Math.imul(y,G)|0)|0)+((8191&(b=(b=b+Math.imul(y,$)|0)+Math.imul(r,G)|0))<<13)|0;p=((f=f+Math.imul(r,$)|0)+(b>>>13)|0)+(he>>>26)|0,he&=67108863,n=Math.imul(g,V),b=(b=Math.imul(g,z))+Math.imul(A,V)|0,f=Math.imul(A,z),n=n+Math.imul(v,W)|0,b=(b=b+Math.imul(v,H)|0)+Math.imul(x,W)|0,f=f+Math.imul(x,H)|0,n=n+Math.imul(T,X)|0,b=(b=b+Math.imul(T,Z)|0)+Math.imul(w,X)|0,f=f+Math.imul(w,Z)|0,n=n+Math.imul(l,G)|0,b=(b=b+Math.imul(l,$)|0)+Math.imul(o,G)|0,f=f+Math.imul(o,$)|0;var ve=(p+(n=n+Math.imul(y,J)|0)|0)+((8191&(b=(b=b+Math.imul(y,ee)|0)+Math.imul(r,J)|0))<<13)|0;p=((f=f+Math.imul(r,ee)|0)+(b>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(E,V),b=(b=Math.imul(E,z))+Math.imul(S,V)|0,f=Math.imul(S,z),n=n+Math.imul(g,W)|0,b=(b=b+Math.imul(g,H)|0)+Math.imul(A,W)|0,f=f+Math.imul(A,H)|0,n=n+Math.imul(v,X)|0,b=(b=b+Math.imul(v,Z)|0)+Math.imul(x,X)|0,f=f+Math.imul(x,Z)|0,n=n+Math.imul(T,G)|0,b=(b=b+Math.imul(T,$)|0)+Math.imul(w,G)|0,f=f+Math.imul(w,$)|0,n=n+Math.imul(l,J)|0,b=(b=b+Math.imul(l,ee)|0)+Math.imul(o,J)|0,f=f+Math.imul(o,ee)|0;var xe=(p+(n=n+Math.imul(y,te)|0)|0)+((8191&(b=(b=b+Math.imul(y,ne)|0)+Math.imul(r,te)|0))<<13)|0;p=((f=f+Math.imul(r,ne)|0)+(b>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(_,V),b=(b=Math.imul(_,z))+Math.imul(k,V)|0,f=Math.imul(k,z),n=n+Math.imul(E,W)|0,b=(b=b+Math.imul(E,H)|0)+Math.imul(S,W)|0,f=f+Math.imul(S,H)|0,n=n+Math.imul(g,X)|0,b=(b=b+Math.imul(g,Z)|0)+Math.imul(A,X)|0,f=f+Math.imul(A,Z)|0,n=n+Math.imul(v,G)|0,b=(b=b+Math.imul(v,$)|0)+Math.imul(x,G)|0,f=f+Math.imul(x,$)|0,n=n+Math.imul(T,J)|0,b=(b=b+Math.imul(T,ee)|0)+Math.imul(w,J)|0,f=f+Math.imul(w,ee)|0,n=n+Math.imul(l,te)|0,b=(b=b+Math.imul(l,ne)|0)+Math.imul(o,te)|0,f=f+Math.imul(o,ne)|0;var Me=(p+(n=n+Math.imul(y,fe)|0)|0)+((8191&(b=(b=b+Math.imul(y,de)|0)+Math.imul(r,fe)|0))<<13)|0;p=((f=f+Math.imul(r,de)|0)+(b>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(R,V),b=(b=Math.imul(R,z))+Math.imul(B,V)|0,f=Math.imul(B,z),n=n+Math.imul(_,W)|0,b=(b=b+Math.imul(_,H)|0)+Math.imul(k,W)|0,f=f+Math.imul(k,H)|0,n=n+Math.imul(E,X)|0,b=(b=b+Math.imul(E,Z)|0)+Math.imul(S,X)|0,f=f+Math.imul(S,Z)|0,n=n+Math.imul(g,G)|0,b=(b=b+Math.imul(g,$)|0)+Math.imul(A,G)|0,f=f+Math.imul(A,$)|0,n=n+Math.imul(v,J)|0,b=(b=b+Math.imul(v,ee)|0)+Math.imul(x,J)|0,f=f+Math.imul(x,ee)|0,n=n+Math.imul(T,te)|0,b=(b=b+Math.imul(T,ne)|0)+Math.imul(w,te)|0,f=f+Math.imul(w,ne)|0,n=n+Math.imul(l,fe)|0,b=(b=b+Math.imul(l,de)|0)+Math.imul(o,fe)|0,f=f+Math.imul(o,de)|0;var ge=(p+(n=n+Math.imul(y,ie)|0)|0)+((8191&(b=(b=b+Math.imul(y,pe)|0)+Math.imul(r,ie)|0))<<13)|0;p=((f=f+Math.imul(r,pe)|0)+(b>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(I,V),b=(b=Math.imul(I,z))+Math.imul(N,V)|0,f=Math.imul(N,z),n=n+Math.imul(R,W)|0,b=(b=b+Math.imul(R,H)|0)+Math.imul(B,W)|0,f=f+Math.imul(B,H)|0,n=n+Math.imul(_,X)|0,b=(b=b+Math.imul(_,Z)|0)+Math.imul(k,X)|0,f=f+Math.imul(k,Z)|0,n=n+Math.imul(E,G)|0,b=(b=b+Math.imul(E,$)|0)+Math.imul(S,G)|0,f=f+Math.imul(S,$)|0,n=n+Math.imul(g,J)|0,b=(b=b+Math.imul(g,ee)|0)+Math.imul(A,J)|0,f=f+Math.imul(A,ee)|0,n=n+Math.imul(v,te)|0,b=(b=b+Math.imul(v,ne)|0)+Math.imul(x,te)|0,f=f+Math.imul(x,ne)|0,n=n+Math.imul(T,fe)|0,b=(b=b+Math.imul(T,de)|0)+Math.imul(w,fe)|0,f=f+Math.imul(w,de)|0,n=n+Math.imul(l,ie)|0,b=(b=b+Math.imul(l,pe)|0)+Math.imul(o,ie)|0,f=f+Math.imul(o,pe)|0;var Ae=(p+(n=n+Math.imul(y,ye)|0)|0)+((8191&(b=(b=b+Math.imul(y,re)|0)+Math.imul(r,ye)|0))<<13)|0;p=((f=f+Math.imul(r,re)|0)+(b>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(K,V),b=(b=Math.imul(K,z))+Math.imul(L,V)|0,f=Math.imul(L,z),n=n+Math.imul(I,W)|0,b=(b=b+Math.imul(I,H)|0)+Math.imul(N,W)|0,f=f+Math.imul(N,H)|0,n=n+Math.imul(R,X)|0,b=(b=b+Math.imul(R,Z)|0)+Math.imul(B,X)|0,f=f+Math.imul(B,Z)|0,n=n+Math.imul(_,G)|0,b=(b=b+Math.imul(_,$)|0)+Math.imul(k,G)|0,f=f+Math.imul(k,$)|0,n=n+Math.imul(E,J)|0,b=(b=b+Math.imul(E,ee)|0)+Math.imul(S,J)|0,f=f+Math.imul(S,ee)|0,n=n+Math.imul(g,te)|0,b=(b=b+Math.imul(g,ne)|0)+Math.imul(A,te)|0,f=f+Math.imul(A,ne)|0,n=n+Math.imul(v,fe)|0,b=(b=b+Math.imul(v,de)|0)+Math.imul(x,fe)|0,f=f+Math.imul(x,de)|0,n=n+Math.imul(T,ie)|0,b=(b=b+Math.imul(T,pe)|0)+Math.imul(w,ie)|0,f=f+Math.imul(w,pe)|0,n=n+Math.imul(l,ye)|0,b=(b=b+Math.imul(l,re)|0)+Math.imul(o,ye)|0,f=f+Math.imul(o,re)|0;var Ce=(p+(n=n+Math.imul(y,le)|0)|0)+((8191&(b=(b=b+Math.imul(y,oe)|0)+Math.imul(r,le)|0))<<13)|0;p=((f=f+Math.imul(r,oe)|0)+(b>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(K,W),b=(b=Math.imul(K,H))+Math.imul(L,W)|0,f=Math.imul(L,H),n=n+Math.imul(I,X)|0,b=(b=b+Math.imul(I,Z)|0)+Math.imul(N,X)|0,f=f+Math.imul(N,Z)|0,n=n+Math.imul(R,G)|0,b=(b=b+Math.imul(R,$)|0)+Math.imul(B,G)|0,f=f+Math.imul(B,$)|0,n=n+Math.imul(_,J)|0,b=(b=b+Math.imul(_,ee)|0)+Math.imul(k,J)|0,f=f+Math.imul(k,ee)|0,n=n+Math.imul(E,te)|0,b=(b=b+Math.imul(E,ne)|0)+Math.imul(S,te)|0,f=f+Math.imul(S,ne)|0,n=n+Math.imul(g,fe)|0,b=(b=b+Math.imul(g,de)|0)+Math.imul(A,fe)|0,f=f+Math.imul(A,de)|0,n=n+Math.imul(v,ie)|0,b=(b=b+Math.imul(v,pe)|0)+Math.imul(x,ie)|0,f=f+Math.imul(x,pe)|0,n=n+Math.imul(T,ye)|0,b=(b=b+Math.imul(T,re)|0)+Math.imul(w,ye)|0,f=f+Math.imul(w,re)|0;var Ee=(p+(n=n+Math.imul(l,le)|0)|0)+((8191&(b=(b=b+Math.imul(l,oe)|0)+Math.imul(o,le)|0))<<13)|0;p=((f=f+Math.imul(o,oe)|0)+(b>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(K,X),b=(b=Math.imul(K,Z))+Math.imul(L,X)|0,f=Math.imul(L,Z),n=n+Math.imul(I,G)|0,b=(b=b+Math.imul(I,$)|0)+Math.imul(N,G)|0,f=f+Math.imul(N,$)|0,n=n+Math.imul(R,J)|0,b=(b=b+Math.imul(R,ee)|0)+Math.imul(B,J)|0,f=f+Math.imul(B,ee)|0,n=n+Math.imul(_,te)|0,b=(b=b+Math.imul(_,ne)|0)+Math.imul(k,te)|0,f=f+Math.imul(k,ne)|0,n=n+Math.imul(E,fe)|0,b=(b=b+Math.imul(E,de)|0)+Math.imul(S,fe)|0,f=f+Math.imul(S,de)|0,n=n+Math.imul(g,ie)|0,b=(b=b+Math.imul(g,pe)|0)+Math.imul(A,ie)|0,f=f+Math.imul(A,pe)|0,n=n+Math.imul(v,ye)|0,b=(b=b+Math.imul(v,re)|0)+Math.imul(x,ye)|0,f=f+Math.imul(x,re)|0;var Se=(p+(n=n+Math.imul(T,le)|0)|0)+((8191&(b=(b=b+Math.imul(T,oe)|0)+Math.imul(w,le)|0))<<13)|0;p=((f=f+Math.imul(w,oe)|0)+(b>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(K,G),b=(b=Math.imul(K,$))+Math.imul(L,G)|0,f=Math.imul(L,$),n=n+Math.imul(I,J)|0,b=(b=b+Math.imul(I,ee)|0)+Math.imul(N,J)|0,f=f+Math.imul(N,ee)|0,n=n+Math.imul(R,te)|0,b=(b=b+Math.imul(R,ne)|0)+Math.imul(B,te)|0,f=f+Math.imul(B,ne)|0,n=n+Math.imul(_,fe)|0,b=(b=b+Math.imul(_,de)|0)+Math.imul(k,fe)|0,f=f+Math.imul(k,de)|0,n=n+Math.imul(E,ie)|0,b=(b=b+Math.imul(E,pe)|0)+Math.imul(S,ie)|0,f=f+Math.imul(S,pe)|0,n=n+Math.imul(g,ye)|0,b=(b=b+Math.imul(g,re)|0)+Math.imul(A,ye)|0,f=f+Math.imul(A,re)|0;var De=(p+(n=n+Math.imul(v,le)|0)|0)+((8191&(b=(b=b+Math.imul(v,oe)|0)+Math.imul(x,le)|0))<<13)|0;p=((f=f+Math.imul(x,oe)|0)+(b>>>13)|0)+(De>>>26)|0,De&=67108863,n=Math.imul(K,J),b=(b=Math.imul(K,ee))+Math.imul(L,J)|0,f=Math.imul(L,ee),n=n+Math.imul(I,te)|0,b=(b=b+Math.imul(I,ne)|0)+Math.imul(N,te)|0,f=f+Math.imul(N,ne)|0,n=n+Math.imul(R,fe)|0,b=(b=b+Math.imul(R,de)|0)+Math.imul(B,fe)|0,f=f+Math.imul(B,de)|0,n=n+Math.imul(_,ie)|0,b=(b=b+Math.imul(_,pe)|0)+Math.imul(k,ie)|0,f=f+Math.imul(k,pe)|0,n=n+Math.imul(E,ye)|0,b=(b=b+Math.imul(E,re)|0)+Math.imul(S,ye)|0,f=f+Math.imul(S,re)|0;var _e=(p+(n=n+Math.imul(g,le)|0)|0)+((8191&(b=(b=b+Math.imul(g,oe)|0)+Math.imul(A,le)|0))<<13)|0;p=((f=f+Math.imul(A,oe)|0)+(b>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(K,te),b=(b=Math.imul(K,ne))+Math.imul(L,te)|0,f=Math.imul(L,ne),n=n+Math.imul(I,fe)|0,b=(b=b+Math.imul(I,de)|0)+Math.imul(N,fe)|0,f=f+Math.imul(N,de)|0,n=n+Math.imul(R,ie)|0,b=(b=b+Math.imul(R,pe)|0)+Math.imul(B,ie)|0,f=f+Math.imul(B,pe)|0,n=n+Math.imul(_,ye)|0,b=(b=b+Math.imul(_,re)|0)+Math.imul(k,ye)|0,f=f+Math.imul(k,re)|0;var ke=(p+(n=n+Math.imul(E,le)|0)|0)+((8191&(b=(b=b+Math.imul(E,oe)|0)+Math.imul(S,le)|0))<<13)|0;p=((f=f+Math.imul(S,oe)|0)+(b>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(K,fe),b=(b=Math.imul(K,de))+Math.imul(L,fe)|0,f=Math.imul(L,de),n=n+Math.imul(I,ie)|0,b=(b=b+Math.imul(I,pe)|0)+Math.imul(N,ie)|0,f=f+Math.imul(N,pe)|0,n=n+Math.imul(R,ye)|0,b=(b=b+Math.imul(R,re)|0)+Math.imul(B,ye)|0,f=f+Math.imul(B,re)|0;var Fe=(p+(n=n+Math.imul(_,le)|0)|0)+((8191&(b=(b=b+Math.imul(_,oe)|0)+Math.imul(k,le)|0))<<13)|0;p=((f=f+Math.imul(k,oe)|0)+(b>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(K,ie),b=(b=Math.imul(K,pe))+Math.imul(L,ie)|0,f=Math.imul(L,pe),n=n+Math.imul(I,ye)|0,b=(b=b+Math.imul(I,re)|0)+Math.imul(N,ye)|0,f=f+Math.imul(N,re)|0;var Re=(p+(n=n+Math.imul(R,le)|0)|0)+((8191&(b=(b=b+Math.imul(R,oe)|0)+Math.imul(B,le)|0))<<13)|0;p=((f=f+Math.imul(B,oe)|0)+(b>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(K,ye),b=(b=Math.imul(K,re))+Math.imul(L,ye)|0,f=Math.imul(L,re);var Be=(p+(n=n+Math.imul(I,le)|0)|0)+((8191&(b=(b=b+Math.imul(I,oe)|0)+Math.imul(N,le)|0))<<13)|0;p=((f=f+Math.imul(N,oe)|0)+(b>>>13)|0)+(Be>>>26)|0,Be&=67108863;var Oe=(p+(n=Math.imul(K,le))|0)+((8191&(b=(b=Math.imul(K,oe))+Math.imul(L,le)|0))<<13)|0;return p=((f=Math.imul(L,oe))+(b>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,i[0]=me,i[1]=Te,i[2]=we,i[3]=he,i[4]=ve,i[5]=xe,i[6]=Me,i[7]=ge,i[8]=Ae,i[9]=Ce,i[10]=Ee,i[11]=Se,i[12]=De,i[13]=_e,i[14]=ke,i[15]=Fe,i[16]=Re,i[17]=Be,i[18]=Oe,0!==p&&(i[19]=p,t.length++),t};function l(e,a,t){return(new o).mulp(e,a,t)}function o(e,a){this.x=e,this.y=a}Math.imul||(c=r),f.prototype.mulTo=function(e,a){var t=this.length+e.length;return 10===this.length&&10===e.length?c(this,e,a):t<63?r(this,e,a):t<1024?function(e,a,t){t.negative=a.negative^e.negative,t.length=e.length+a.length;for(var n=0,b=0,f=0;f<t.length-1;f++){var d=b;b=0;for(var s=67108863&n,i=Math.min(f,a.length-1),p=Math.max(0,f-e.length+1);p<=i;p++){var u=f-p,y=(0|e.words[u])*(0|a.words[p]),r=67108863&y;s=67108863&(r=r+s|0),b+=(d=(d=d+(y/67108864|0)|0)+(r>>>26)|0)>>>26,d&=67108863}t.words[f]=s,n=d,d=b}return 0!==n?t.words[f]=n:t.length--,t.strip()}(this,e,a):l(this,e,a)},o.prototype.makeRBT=function(e){for(var a=new Array(e),t=f.prototype._countBits(e)-1,n=0;n<e;n++)a[n]=this.revBin(n,t,e);return a},o.prototype.revBin=function(e,a,t){if(0===e||e===t-1)return e;for(var n=0,b=0;b<a;b++)n|=(1&e)<<a-b-1,e>>=1;return n},o.prototype.permute=function(e,a,t,n,b,f){for(var d=0;d<f;d++)n[d]=a[e[d]],b[d]=t[e[d]]},o.prototype.transform=function(e,a,t,n,b,f){this.permute(f,e,a,t,n,b);for(var d=1;d<b;d<<=1)for(var s=d<<1,i=Math.cos(2*Math.PI/s),p=Math.sin(2*Math.PI/s),u=0;u<b;u+=s)for(var y=i,r=p,c=0;c<d;c++){var l=t[u+c],o=n[u+c],m=t[u+c+d],T=n[u+c+d],w=y*m-r*T;T=y*T+r*m,m=w,t[u+c]=l+m,n[u+c]=o+T,t[u+c+d]=l-m,n[u+c+d]=o-T,c!==s&&(w=i*y-p*r,r=i*r+p*y,y=w)}},o.prototype.guessLen13b=function(e,a){var t=1|Math.max(a,e),n=1&t,b=0;for(t=t/2|0;t;t>>>=1)b++;return 1<<b+1+n},o.prototype.conjugate=function(e,a,t){if(!(t<=1))for(var n=0;n<t/2;n++){var b=e[n];e[n]=e[t-n-1],e[t-n-1]=b,b=a[n],a[n]=-a[t-n-1],a[t-n-1]=-b}},o.prototype.normalize13b=function(e,a){for(var t=0,n=0;n<a/2;n++){var b=8192*Math.round(e[2*n+1]/a)+Math.round(e[2*n]/a)+t;e[n]=67108863&b,t=b<67108864?0:b/67108864|0}return e},o.prototype.convert13b=function(e,a,t,b){for(var f=0,d=0;d<a;d++)f+=0|e[d],t[2*d]=8191&f,f>>>=13,t[2*d+1]=8191&f,f>>>=13;for(d=2*a;d<b;++d)t[d]=0;n(0===f),n(0==(-8192&f))},o.prototype.stub=function(e){for(var a=new Array(e),t=0;t<e;t++)a[t]=0;return a},o.prototype.mulp=function(e,a,t){var n=2*this.guessLen13b(e.length,a.length),b=this.makeRBT(n),f=this.stub(n),d=new Array(n),s=new Array(n),i=new Array(n),p=new Array(n),u=new Array(n),y=new Array(n),r=t.words;r.length=n,this.convert13b(e.words,e.length,d,n),this.convert13b(a.words,a.length,p,n),this.transform(d,f,s,i,n,b),this.transform(p,f,u,y,n,b);for(var c=0;c<n;c++){var l=s[c]*u[c]-i[c]*y[c];i[c]=s[c]*y[c]+i[c]*u[c],s[c]=l}return this.conjugate(s,i,n),this.transform(s,i,r,f,n,b),this.conjugate(r,f,n),this.normalize13b(r,n),t.negative=e.negative^a.negative,t.length=e.length+a.length,t.strip()},f.prototype.mul=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),this.mulTo(e,a)},f.prototype.mulf=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),l(this,e,a)},f.prototype.imul=function(e){return this.clone().mulTo(e,this)},f.prototype.imuln=function(e){n("number"==typeof e),n(e<67108864);for(var a=0,t=0;t<this.length;t++){var b=(0|this.words[t])*e,f=(67108863&b)+(67108863&a);a>>=26,a+=b/67108864|0,a+=f>>>26,this.words[t]=67108863&f}return 0!==a&&(this.words[t]=a,this.length++),this},f.prototype.muln=function(e){return this.clone().imuln(e)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(e){var a=function(e){for(var a=new Array(e.bitLength()),t=0;t<a.length;t++){var n=t/26|0,b=t%26;a[t]=(e.words[n]&1<<b)>>>b}return a}(e);if(0===a.length)return new f(1);for(var t=this,n=0;n<a.length&&0===a[n];n++,t=t.sqr());if(++n<a.length)for(var b=t.sqr();n<a.length;n++,b=b.sqr())0!==a[n]&&(t=t.mul(b));return t},f.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var a,t=e%26,b=(e-t)/26,f=67108863>>>26-t<<26-t;if(0!==t){var d=0;for(a=0;a<this.length;a++){var s=this.words[a]&f,i=(0|this.words[a])-s<<t;this.words[a]=i|d,d=s>>>26-t}d&&(this.words[a]=d,this.length++)}if(0!==b){for(a=this.length-1;a>=0;a--)this.words[a+b]=this.words[a];for(a=0;a<b;a++)this.words[a]=0;this.length+=b}return this.strip()},f.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},f.prototype.iushrn=function(e,a,t){var b;n("number"==typeof e&&e>=0),b=a?(a-a%26)/26:0;var f=e%26,d=Math.min((e-f)/26,this.length),s=67108863^67108863>>>f<<f,i=t;if(b-=d,b=Math.max(0,b),i){for(var p=0;p<d;p++)i.words[p]=this.words[p];i.length=d}if(0===d);else if(this.length>d)for(this.length-=d,p=0;p<this.length;p++)this.words[p]=this.words[p+d];else this.words[0]=0,this.length=1;var u=0;for(p=this.length-1;p>=0&&(0!==u||p>=b);p--){var y=0|this.words[p];this.words[p]=u<<26-f|y>>>f,u=y&s}return i&&0!==u&&(i.words[i.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(e,a,t){return n(0===this.negative),this.iushrn(e,a,t)},f.prototype.shln=function(e){return this.clone().ishln(e)},f.prototype.ushln=function(e){return this.clone().iushln(e)},f.prototype.shrn=function(e){return this.clone().ishrn(e)},f.prototype.ushrn=function(e){return this.clone().iushrn(e)},f.prototype.testn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26,b=1<<a;return!(this.length<=t)&&!!(this.words[t]&b)},f.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=t)return this;if(0!==a&&t++,this.length=Math.min(t,this.length),0!==a){var b=67108863^67108863>>>a<<a;this.words[this.length-1]&=b}return this.strip()},f.prototype.maskn=function(e){return this.clone().imaskn(e)},f.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},f.prototype._iaddn=function(e){this.words[0]+=e;for(var a=0;a<this.length&&this.words[a]>=67108864;a++)this.words[a]-=67108864,a===this.length-1?this.words[a+1]=1:this.words[a+1]++;return this.length=Math.max(this.length,a+1),this},f.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var a=0;a<this.length&&this.words[a]<0;a++)this.words[a]+=67108864,this.words[a+1]-=1;return this.strip()},f.prototype.addn=function(e){return this.clone().iaddn(e)},f.prototype.subn=function(e){return this.clone().isubn(e)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(e,a,t){var b,f,d=e.length+t;this._expand(d);var s=0;for(b=0;b<e.length;b++){f=(0|this.words[b+t])+s;var i=(0|e.words[b])*a;s=((f-=67108863&i)>>26)-(i/67108864|0),this.words[b+t]=67108863&f}for(;b<this.length-t;b++)s=(f=(0|this.words[b+t])+s)>>26,this.words[b+t]=67108863&f;if(0===s)return this.strip();for(n(-1===s),s=0,b=0;b<this.length;b++)s=(f=-(0|this.words[b])+s)>>26,this.words[b]=67108863&f;return this.negative=1,this.strip()},f.prototype._wordDiv=function(e,a){var t=(this.length,e.length),n=this.clone(),b=e,d=0|b.words[b.length-1];0!==(t=26-this._countBits(d))&&(b=b.ushln(t),n.iushln(t),d=0|b.words[b.length-1]);var s,i=n.length-b.length;if("mod"!==a){(s=new f(null)).length=i+1,s.words=new Array(s.length);for(var p=0;p<s.length;p++)s.words[p]=0}var u=n.clone()._ishlnsubmul(b,1,i);0===u.negative&&(n=u,s&&(s.words[i]=1));for(var y=i-1;y>=0;y--){var r=67108864*(0|n.words[b.length+y])+(0|n.words[b.length+y-1]);for(r=Math.min(r/d|0,67108863),n._ishlnsubmul(b,r,y);0!==n.negative;)r--,n.negative=0,n._ishlnsubmul(b,1,y),n.isZero()||(n.negative^=1);s&&(s.words[y]=r)}return s&&s.strip(),n.strip(),"div"!==a&&0!==t&&n.iushrn(t),{div:s||null,mod:n}},f.prototype.divmod=function(e,a,t){return n(!e.isZero()),this.isZero()?{div:new f(0),mod:new f(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,a),"mod"!==a&&(b=s.div.neg()),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.iadd(e)),{div:b,mod:d}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),a),"mod"!==a&&(b=s.div.neg()),{div:b,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),a),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.isub(e)),{div:s.div,mod:d}):e.length>this.length||this.cmp(e)<0?{div:new f(0),mod:this}:1===e.length?"div"===a?{div:this.divn(e.words[0]),mod:null}:"mod"===a?{div:null,mod:new f(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new f(this.modn(e.words[0]))}:this._wordDiv(e,a);var b,d,s},f.prototype.div=function(e){return this.divmod(e,"div",!1).div},f.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},f.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},f.prototype.divRound=function(e){var a=this.divmod(e);if(a.mod.isZero())return a.div;var t=0!==a.div.negative?a.mod.isub(e):a.mod,n=e.ushrn(1),b=e.andln(1),f=t.cmp(n);return f<0||1===b&&0===f?a.div:0!==a.div.negative?a.div.isubn(1):a.div.iaddn(1)},f.prototype.modn=function(e){n(e<=67108863);for(var a=(1<<26)%e,t=0,b=this.length-1;b>=0;b--)t=(a*t+(0|this.words[b]))%e;return t},f.prototype.idivn=function(e){n(e<=67108863);for(var a=0,t=this.length-1;t>=0;t--){var b=(0|this.words[t])+67108864*a;this.words[t]=b/e|0,a=b%e}return this.strip()},f.prototype.divn=function(e){return this.clone().idivn(e)},f.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b=new f(1),d=new f(0),s=new f(0),i=new f(1),p=0;a.isEven()&&t.isEven();)a.iushrn(1),t.iushrn(1),++p;for(var u=t.clone(),y=a.clone();!a.isZero();){for(var r=0,c=1;0==(a.words[0]&c)&&r<26;++r,c<<=1);if(r>0)for(a.iushrn(r);r-- >0;)(b.isOdd()||d.isOdd())&&(b.iadd(u),d.isub(y)),b.iushrn(1),d.iushrn(1);for(var l=0,o=1;0==(t.words[0]&o)&&l<26;++l,o<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(s.isOdd()||i.isOdd())&&(s.iadd(u),i.isub(y)),s.iushrn(1),i.iushrn(1);a.cmp(t)>=0?(a.isub(t),b.isub(s),d.isub(i)):(t.isub(a),s.isub(b),i.isub(d))}return{a:s,b:i,gcd:t.iushln(p)}},f.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b,d=new f(1),s=new f(0),i=t.clone();a.cmpn(1)>0&&t.cmpn(1)>0;){for(var p=0,u=1;0==(a.words[0]&u)&&p<26;++p,u<<=1);if(p>0)for(a.iushrn(p);p-- >0;)d.isOdd()&&d.iadd(i),d.iushrn(1);for(var y=0,r=1;0==(t.words[0]&r)&&y<26;++y,r<<=1);if(y>0)for(t.iushrn(y);y-- >0;)s.isOdd()&&s.iadd(i),s.iushrn(1);a.cmp(t)>=0?(a.isub(t),d.isub(s)):(t.isub(a),s.isub(d))}return(b=0===a.cmpn(1)?d:s).cmpn(0)<0&&b.iadd(e),b},f.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var a=this.clone(),t=e.clone();a.negative=0,t.negative=0;for(var n=0;a.isEven()&&t.isEven();n++)a.iushrn(1),t.iushrn(1);for(;;){for(;a.isEven();)a.iushrn(1);for(;t.isEven();)t.iushrn(1);var b=a.cmp(t);if(b<0){var f=a;a=t,t=f}else if(0===b||0===t.cmpn(1))break;a.isub(t)}return t.iushln(n)},f.prototype.invm=function(e){return this.egcd(e).a.umod(e)},f.prototype.isEven=function(){return 0==(1&this.words[0])},f.prototype.isOdd=function(){return 1==(1&this.words[0])},f.prototype.andln=function(e){return this.words[0]&e},f.prototype.bincn=function(e){n("number"==typeof e);var a=e%26,t=(e-a)/26,b=1<<a;if(this.length<=t)return this._expand(t+1),this.words[t]|=b,this;for(var f=b,d=t;0!==f&&d<this.length;d++){var s=0|this.words[d];f=(s+=f)>>>26,s&=67108863,this.words[d]=s}return 0!==f&&(this.words[d]=f,this.length++),this},f.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},f.prototype.cmpn=function(e){var a,t=e<0;if(0!==this.negative&&!t)return-1;if(0===this.negative&&t)return 1;if(this.strip(),this.length>1)a=1;else{t&&(e=-e),n(e<=67108863,"Number is too big");var b=0|this.words[0];a=b===e?0:b<e?-1:1}return 0!==this.negative?0|-a:a},f.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var a=this.ucmp(e);return 0!==this.negative?0|-a:a},f.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var a=0,t=this.length-1;t>=0;t--){var n=0|this.words[t],b=0|e.words[t];if(n!==b){n<b?a=-1:n>b&&(a=1);break}}return a},f.prototype.gtn=function(e){return 1===this.cmpn(e)},f.prototype.gt=function(e){return 1===this.cmp(e)},f.prototype.gten=function(e){return this.cmpn(e)>=0},f.prototype.gte=function(e){return this.cmp(e)>=0},f.prototype.ltn=function(e){return-1===this.cmpn(e)},f.prototype.lt=function(e){return-1===this.cmp(e)},f.prototype.lten=function(e){return this.cmpn(e)<=0},f.prototype.lte=function(e){return this.cmp(e)<=0},f.prototype.eqn=function(e){return 0===this.cmpn(e)},f.prototype.eq=function(e){return 0===this.cmp(e)},f.red=function(e){return new M(e)},f.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},f.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(e){return this.red=e,this},f.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},f.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},f.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},f.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},f.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},f.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},f.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},f.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},f.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function T(e,a){this.name=e,this.p=new f(a,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){T.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function h(){T.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){T.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){T.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(e){if("string"==typeof e){var a=f._prime(e);this.m=a.p,this.prime=a}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function g(e){M.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new f(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}T.prototype._tmp=function(){var e=new f(null);return e.words=new Array(Math.ceil(this.n/13)),e},T.prototype.ireduce=function(e){var a,t=e;do{this.split(t,this.tmp),a=(t=(t=this.imulK(t)).iadd(this.tmp)).bitLength()}while(a>this.n);var n=a<this.n?-1:t.ucmp(this.p);return 0===n?(t.words[0]=0,t.length=1):n>0?t.isub(this.p):t.strip(),t},T.prototype.split=function(e,a){e.iushrn(this.n,0,a)},T.prototype.imulK=function(e){return e.imul(this.k)},b(w,T),w.prototype.split=function(e,a){for(var t=Math.min(e.length,9),n=0;n<t;n++)a.words[n]=e.words[n];if(a.length=t,e.length<=9)return e.words[0]=0,void(e.length=1);var b=e.words[9];for(a.words[a.length++]=4194303&b,n=10;n<e.length;n++){var f=0|e.words[n];e.words[n-10]=(4194303&f)<<4|b>>>22,b=f}b>>>=22,e.words[n-10]=b,0===b&&e.length>10?e.length-=10:e.length-=9},w.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var a=0,t=0;t<e.length;t++){var n=0|e.words[t];a+=977*n,e.words[t]=67108863&a,a=64*n+(a/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},b(h,T),b(v,T),b(x,T),x.prototype.imulK=function(e){for(var a=0,t=0;t<e.length;t++){var n=19*(0|e.words[t])+a,b=67108863&n;n>>>=26,e.words[t]=b,a=n}return 0!==a&&(e.words[e.length++]=a),e},f._prime=function(e){if(m[e])return m[e];var a;if("k256"===e)a=new w;else if("p224"===e)a=new h;else if("p192"===e)a=new v;else{if("p25519"!==e)throw new Error("Unknown prime "+e);a=new x}return m[e]=a,a},M.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},M.prototype._verify2=function(e,a){n(0==(e.negative|a.negative),"red works only with positives"),n(e.red&&e.red===a.red,"red works only with red numbers")},M.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},M.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},M.prototype.add=function(e,a){this._verify2(e,a);var t=e.add(a);return t.cmp(this.m)>=0&&t.isub(this.m),t._forceRed(this)},M.prototype.iadd=function(e,a){this._verify2(e,a);var t=e.iadd(a);return t.cmp(this.m)>=0&&t.isub(this.m),t},M.prototype.sub=function(e,a){this._verify2(e,a);var t=e.sub(a);return t.cmpn(0)<0&&t.iadd(this.m),t._forceRed(this)},M.prototype.isub=function(e,a){this._verify2(e,a);var t=e.isub(a);return t.cmpn(0)<0&&t.iadd(this.m),t},M.prototype.shl=function(e,a){return this._verify1(e),this.imod(e.ushln(a))},M.prototype.imul=function(e,a){return this._verify2(e,a),this.imod(e.imul(a))},M.prototype.mul=function(e,a){return this._verify2(e,a),this.imod(e.mul(a))},M.prototype.isqr=function(e){return this.imul(e,e.clone())},M.prototype.sqr=function(e){return this.mul(e,e)},M.prototype.sqrt=function(e){if(e.isZero())return e.clone();var a=this.m.andln(3);if(n(a%2==1),3===a){var t=this.m.add(new f(1)).iushrn(2);return this.pow(e,t)}for(var b=this.m.subn(1),d=0;!b.isZero()&&0===b.andln(1);)d++,b.iushrn(1);n(!b.isZero());var s=new f(1).toRed(this),i=s.redNeg(),p=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new f(2*u*u).toRed(this);0!==this.pow(u,p).cmp(i);)u.redIAdd(i);for(var y=this.pow(u,b),r=this.pow(e,b.addn(1).iushrn(1)),c=this.pow(e,b),l=d;0!==c.cmp(s);){for(var o=c,m=0;0!==o.cmp(s);m++)o=o.redSqr();n(m<l);var T=this.pow(y,new f(1).iushln(l-m-1));r=r.redMul(T),y=T.redSqr(),c=c.redMul(y),l=m}return r},M.prototype.invm=function(e){var a=e._invmp(this.m);return 0!==a.negative?(a.negative=0,this.imod(a).redNeg()):this.imod(a)},M.prototype.pow=function(e,a){if(a.isZero())return new f(1);if(0===a.cmpn(1))return e.clone();var t=new Array(16);t[0]=new f(1).toRed(this),t[1]=e;for(var n=2;n<t.length;n++)t[n]=this.mul(t[n-1],e);var b=t[0],d=0,s=0,i=a.bitLength()%26;for(0===i&&(i=26),n=a.length-1;n>=0;n--){for(var p=a.words[n],u=i-1;u>=0;u--){var y=p>>u&1;b!==t[0]&&(b=this.sqr(b)),0!==y||0!==d?(d<<=1,d|=y,(4===++s||0===n&&0===u)&&(b=this.mul(b,t[d]),s=0,d=0)):s=0}i=26}return b},M.prototype.convertTo=function(e){var a=e.umod(this.m);return a===e?a.clone():a},M.prototype.convertFrom=function(e){var a=e.clone();return a.red=null,a},f.mont=function(e){return new g(e)},b(g,M),g.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},g.prototype.convertFrom=function(e){var a=this.imod(e.mul(this.rinv));return a.red=null,a},g.prototype.imul=function(e,a){if(e.isZero()||a.isZero())return e.words[0]=0,e.length=1,e;var t=e.imul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),f=b;return b.cmp(this.m)>=0?f=b.isub(this.m):b.cmpn(0)<0&&(f=b.iadd(this.m)),f._forceRed(this)},g.prototype.mul=function(e,a){if(e.isZero()||a.isZero())return new f(0)._forceRed(this);var t=e.mul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),d=b;return b.cmp(this.m)>=0?d=b.isub(this.m):b.cmpn(0)<0&&(d=b.iadd(this.m)),d._forceRed(this)},g.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,t(7)(e))},function(e,a,t){"use strict";a.byteLength=function(e){var a=p(e),t=a[0],n=a[1];return 3*(t+n)/4-n},a.toByteArray=function(e){var a,t,n=p(e),d=n[0],s=n[1],i=new f(function(e,a,t){return 3*(a+t)/4-t}(0,d,s)),u=0,y=s>0?d-4:d;for(t=0;t<y;t+=4)a=b[e.charCodeAt(t)]<<18|b[e.charCodeAt(t+1)]<<12|b[e.charCodeAt(t+2)]<<6|b[e.charCodeAt(t+3)],i[u++]=a>>16&255,i[u++]=a>>8&255,i[u++]=255&a;2===s&&(a=b[e.charCodeAt(t)]<<2|b[e.charCodeAt(t+1)]>>4,i[u++]=255&a);1===s&&(a=b[e.charCodeAt(t)]<<10|b[e.charCodeAt(t+1)]<<4|b[e.charCodeAt(t+2)]>>2,i[u++]=a>>8&255,i[u++]=255&a);return i},a.fromByteArray=function(e){for(var a,t=e.length,b=t%3,f=[],d=0,s=t-b;d<s;d+=16383)f.push(u(e,d,d+16383>s?s:d+16383));1===b?(a=e[t-1],f.push(n[a>>2]+n[a<<4&63]+"==")):2===b&&(a=(e[t-2]<<8)+e[t-1],f.push(n[a>>10]+n[a>>4&63]+n[a<<2&63]+"="));return f.join("")};for(var n=[],b=[],f="undefined"!=typeof Uint8Array?Uint8Array:Array,d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,i=d.length;s<i;++s)n[s]=d[s],b[d.charCodeAt(s)]=s;function p(e){var a=e.length;if(a%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=e.indexOf("=");return-1===t&&(t=a),[t,t===a?0:4-t%4]}function u(e,a,t){for(var b,f,d=[],s=a;s<t;s+=3)b=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),d.push(n[(f=b)>>18&63]+n[f>>12&63]+n[f>>6&63]+n[63&f]);return d.join("")}b["-".charCodeAt(0)]=62,b["_".charCodeAt(0)]=63},function(e,a){
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
a.read=function(e,a,t,n,b){var f,d,s=8*b-n-1,i=(1<<s)-1,p=i>>1,u=-7,y=t?b-1:0,r=t?-1:1,c=e[a+y];for(y+=r,f=c&(1<<-u)-1,c>>=-u,u+=s;u>0;f=256*f+e[a+y],y+=r,u-=8);for(d=f&(1<<-u)-1,f>>=-u,u+=n;u>0;d=256*d+e[a+y],y+=r,u-=8);if(0===f)f=1-p;else{if(f===i)return d?NaN:1/0*(c?-1:1);d+=Math.pow(2,n),f-=p}return(c?-1:1)*d*Math.pow(2,f-n)},a.write=function(e,a,t,n,b,f){var d,s,i,p=8*f-b-1,u=(1<<p)-1,y=u>>1,r=23===b?Math.pow(2,-24)-Math.pow(2,-77):0,c=n?0:f-1,l=n?1:-1,o=a<0||0===a&&1/a<0?1:0;for(a=Math.abs(a),isNaN(a)||a===1/0?(s=isNaN(a)?1:0,d=u):(d=Math.floor(Math.log(a)/Math.LN2),a*(i=Math.pow(2,-d))<1&&(d--,i*=2),(a+=d+y>=1?r/i:r*Math.pow(2,1-y))*i>=2&&(d++,i/=2),d+y>=u?(s=0,d=u):d+y>=1?(s=(a*i-1)*Math.pow(2,b),d+=y):(s=a*Math.pow(2,y-1)*Math.pow(2,b),d=0));b>=8;e[t+c]=255&s,c+=l,s/=256,b-=8);for(d=d<<b|s,p+=b;p>0;e[t+c]=255&d,c+=l,d/=256,p-=8);e[t+c-l]|=128*o}},function(e,a){var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},function(e,a,t){(function(e){!function(e,a){"use strict";function n(e,a){if(!e)throw new Error(a||"Assertion failed")}function b(e,a){e.super_=a;var t=function(){};t.prototype=a.prototype,e.prototype=new t,e.prototype.constructor=e}function f(e,a,t){if(f.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==a&&"be"!==a||(t=a,a=10),this._init(e||0,a||10,t||"be"))}var d;"object"==typeof e?e.exports=f:a.BN=f,f.BN=f,f.wordSize=26;try{d=t(0).Buffer}catch(e){}function s(e,a,t){for(var n=0,b=Math.min(e.length,t),f=a;f<b;f++){var d=e.charCodeAt(f)-48;n<<=4,n|=d>=49&&d<=54?d-49+10:d>=17&&d<=22?d-17+10:15&d}return n}function i(e,a,t,n){for(var b=0,f=Math.min(e.length,t),d=a;d<f;d++){var s=e.charCodeAt(d)-48;b*=n,b+=s>=49?s-49+10:s>=17?s-17+10:s}return b}f.isBN=function(e){return e instanceof f||null!==e&&"object"==typeof e&&e.constructor.wordSize===f.wordSize&&Array.isArray(e.words)},f.max=function(e,a){return e.cmp(a)>0?e:a},f.min=function(e,a){return e.cmp(a)<0?e:a},f.prototype._init=function(e,a,t){if("number"==typeof e)return this._initNumber(e,a,t);if("object"==typeof e)return this._initArray(e,a,t);"hex"===a&&(a=16),n(a===(0|a)&&a>=2&&a<=36);var b=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&b++,16===a?this._parseHex(e,b):this._parseBase(e,a,b),"-"===e[0]&&(this.negative=1),this.strip(),"le"===t&&this._initArray(this.toArray(),a,t)},f.prototype._initNumber=function(e,a,t){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===t&&this._initArray(this.toArray(),a,t)},f.prototype._initArray=function(e,a,t){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var b=0;b<this.length;b++)this.words[b]=0;var f,d,s=0;if("be"===t)for(b=e.length-1,f=0;b>=0;b-=3)d=e[b]|e[b-1]<<8|e[b-2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);else if("le"===t)for(b=0,f=0;b<e.length;b+=3)d=e[b]|e[b+1]<<8|e[b+2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);return this.strip()},f.prototype._parseHex=function(e,a){this.length=Math.ceil((e.length-a)/6),this.words=new Array(this.length);for(var t=0;t<this.length;t++)this.words[t]=0;var n,b,f=0;for(t=e.length-6,n=0;t>=a;t-=6)b=s(e,t,t+6),this.words[n]|=b<<f&67108863,this.words[n+1]|=b>>>26-f&4194303,(f+=24)>=26&&(f-=26,n++);t+6!==a&&(b=s(e,a,t+6),this.words[n]|=b<<f&67108863,this.words[n+1]|=b>>>26-f&4194303),this.strip()},f.prototype._parseBase=function(e,a,t){this.words=[0],this.length=1;for(var n=0,b=1;b<=67108863;b*=a)n++;n--,b=b/a|0;for(var f=e.length-t,d=f%n,s=Math.min(f,f-d)+t,p=0,u=t;u<s;u+=n)p=i(e,u,u+n,a),this.imuln(b),this.words[0]+p<67108864?this.words[0]+=p:this._iaddn(p);if(0!==d){var y=1;for(p=i(e,u,e.length,a),u=0;u<d;u++)y*=a;this.imuln(y),this.words[0]+p<67108864?this.words[0]+=p:this._iaddn(p)}},f.prototype.copy=function(e){e.words=new Array(this.length);for(var a=0;a<this.length;a++)e.words[a]=this.words[a];e.length=this.length,e.negative=this.negative,e.red=this.red},f.prototype.clone=function(){var e=new f(null);return this.copy(e),e},f.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},f.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},f.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var p=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],y=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function r(e,a,t){t.negative=a.negative^e.negative;var n=e.length+a.length|0;t.length=n,n=n-1|0;var b=0|e.words[0],f=0|a.words[0],d=b*f,s=67108863&d,i=d/67108864|0;t.words[0]=s;for(var p=1;p<n;p++){for(var u=i>>>26,y=67108863&i,r=Math.min(p,a.length-1),c=Math.max(0,p-e.length+1);c<=r;c++){var l=p-c|0;u+=(d=(b=0|e.words[l])*(f=0|a.words[c])+y)/67108864|0,y=67108863&d}t.words[p]=0|y,i=0|u}return 0!==i?t.words[p]=0|i:t.length--,t.strip()}f.prototype.toString=function(e,a){var t;if(a=0|a||1,16===(e=e||10)||"hex"===e){t="";for(var b=0,f=0,d=0;d<this.length;d++){var s=this.words[d],i=(16777215&(s<<b|f)).toString(16);t=0!==(f=s>>>24-b&16777215)||d!==this.length-1?p[6-i.length]+i+t:i+t,(b+=2)>=26&&(b-=26,d--)}for(0!==f&&(t=f.toString(16)+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}if(e===(0|e)&&e>=2&&e<=36){var r=u[e],c=y[e];t="";var l=this.clone();for(l.negative=0;!l.isZero();){var o=l.modn(c).toString(e);t=(l=l.idivn(c)).isZero()?o+t:p[r-o.length]+o+t}for(this.isZero()&&(t="0"+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}n(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(e,a){return n(void 0!==d),this.toArrayLike(d,e,a)},f.prototype.toArray=function(e,a){return this.toArrayLike(Array,e,a)},f.prototype.toArrayLike=function(e,a,t){var b=this.byteLength(),f=t||Math.max(1,b);n(b<=f,"byte array longer than desired length"),n(f>0,"Requested array length <= 0"),this.strip();var d,s,i="le"===a,p=new e(f),u=this.clone();if(i){for(s=0;!u.isZero();s++)d=u.andln(255),u.iushrn(8),p[s]=d;for(;s<f;s++)p[s]=0}else{for(s=0;s<f-b;s++)p[s]=0;for(s=0;!u.isZero();s++)d=u.andln(255),u.iushrn(8),p[f-s-1]=d}return p},Math.clz32?f.prototype._countBits=function(e){return 32-Math.clz32(e)}:f.prototype._countBits=function(e){var a=e,t=0;return a>=4096&&(t+=13,a>>>=13),a>=64&&(t+=7,a>>>=7),a>=8&&(t+=4,a>>>=4),a>=2&&(t+=2,a>>>=2),t+a},f.prototype._zeroBits=function(e){if(0===e)return 26;var a=e,t=0;return 0==(8191&a)&&(t+=13,a>>>=13),0==(127&a)&&(t+=7,a>>>=7),0==(15&a)&&(t+=4,a>>>=4),0==(3&a)&&(t+=2,a>>>=2),0==(1&a)&&t++,t},f.prototype.bitLength=function(){var e=this.words[this.length-1],a=this._countBits(e);return 26*(this.length-1)+a},f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,a=0;a<this.length;a++){var t=this._zeroBits(this.words[a]);if(e+=t,26!==t)break}return e},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},f.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return 0!==this.negative},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var a=0;a<e.length;a++)this.words[a]=this.words[a]|e.words[a];return this.strip()},f.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},f.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},f.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},f.prototype.iuand=function(e){var a;a=this.length>e.length?e:this;for(var t=0;t<a.length;t++)this.words[t]=this.words[t]&e.words[t];return this.length=a.length,this.strip()},f.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},f.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},f.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},f.prototype.iuxor=function(e){var a,t;this.length>e.length?(a=this,t=e):(a=e,t=this);for(var n=0;n<t.length;n++)this.words[n]=a.words[n]^t.words[n];if(this!==a)for(;n<a.length;n++)this.words[n]=a.words[n];return this.length=a.length,this.strip()},f.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},f.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},f.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},f.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var a=0|Math.ceil(e/26),t=e%26;this._expand(a),t>0&&a--;for(var b=0;b<a;b++)this.words[b]=67108863&~this.words[b];return t>0&&(this.words[b]=~this.words[b]&67108863>>26-t),this.strip()},f.prototype.notn=function(e){return this.clone().inotn(e)},f.prototype.setn=function(e,a){n("number"==typeof e&&e>=0);var t=e/26|0,b=e%26;return this._expand(t+1),this.words[t]=a?this.words[t]|1<<b:this.words[t]&~(1<<b),this.strip()},f.prototype.iadd=function(e){var a,t,n;if(0!==this.negative&&0===e.negative)return this.negative=0,a=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,a=this.isub(e),e.negative=1,a._normSign();this.length>e.length?(t=this,n=e):(t=e,n=this);for(var b=0,f=0;f<n.length;f++)a=(0|t.words[f])+(0|n.words[f])+b,this.words[f]=67108863&a,b=a>>>26;for(;0!==b&&f<t.length;f++)a=(0|t.words[f])+b,this.words[f]=67108863&a,b=a>>>26;if(this.length=t.length,0!==b)this.words[this.length]=b,this.length++;else if(t!==this)for(;f<t.length;f++)this.words[f]=t.words[f];return this},f.prototype.add=function(e){var a;return 0!==e.negative&&0===this.negative?(e.negative=0,a=this.sub(e),e.negative^=1,a):0===e.negative&&0!==this.negative?(this.negative=0,a=e.sub(this),this.negative=1,a):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},f.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var a=this.iadd(e);return e.negative=1,a._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var t,n,b=this.cmp(e);if(0===b)return this.negative=0,this.length=1,this.words[0]=0,this;b>0?(t=this,n=e):(t=e,n=this);for(var f=0,d=0;d<n.length;d++)f=(a=(0|t.words[d])-(0|n.words[d])+f)>>26,this.words[d]=67108863&a;for(;0!==f&&d<t.length;d++)f=(a=(0|t.words[d])+f)>>26,this.words[d]=67108863&a;if(0===f&&d<t.length&&t!==this)for(;d<t.length;d++)this.words[d]=t.words[d];return this.length=Math.max(this.length,d),t!==this&&(this.negative=1),this.strip()},f.prototype.sub=function(e){return this.clone().isub(e)};var c=function(e,a,t){var n,b,f,d=e.words,s=a.words,i=t.words,p=0,u=0|d[0],y=8191&u,r=u>>>13,c=0|d[1],l=8191&c,o=c>>>13,m=0|d[2],T=8191&m,w=m>>>13,h=0|d[3],v=8191&h,x=h>>>13,M=0|d[4],g=8191&M,A=M>>>13,C=0|d[5],E=8191&C,S=C>>>13,D=0|d[6],_=8191&D,k=D>>>13,F=0|d[7],R=8191&F,B=F>>>13,O=0|d[8],I=8191&O,N=O>>>13,P=0|d[9],K=8191&P,L=P>>>13,U=0|s[0],V=8191&U,z=U>>>13,q=0|s[1],W=8191&q,H=q>>>13,Q=0|s[2],X=8191&Q,Z=Q>>>13,j=0|s[3],G=8191&j,$=j>>>13,Y=0|s[4],J=8191&Y,ee=Y>>>13,ae=0|s[5],te=8191&ae,ne=ae>>>13,be=0|s[6],fe=8191&be,de=be>>>13,se=0|s[7],ie=8191&se,pe=se>>>13,ue=0|s[8],ye=8191&ue,re=ue>>>13,ce=0|s[9],le=8191&ce,oe=ce>>>13;t.negative=e.negative^a.negative,t.length=19;var me=(p+(n=Math.imul(y,V))|0)+((8191&(b=(b=Math.imul(y,z))+Math.imul(r,V)|0))<<13)|0;p=((f=Math.imul(r,z))+(b>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(l,V),b=(b=Math.imul(l,z))+Math.imul(o,V)|0,f=Math.imul(o,z);var Te=(p+(n=n+Math.imul(y,W)|0)|0)+((8191&(b=(b=b+Math.imul(y,H)|0)+Math.imul(r,W)|0))<<13)|0;p=((f=f+Math.imul(r,H)|0)+(b>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(T,V),b=(b=Math.imul(T,z))+Math.imul(w,V)|0,f=Math.imul(w,z),n=n+Math.imul(l,W)|0,b=(b=b+Math.imul(l,H)|0)+Math.imul(o,W)|0,f=f+Math.imul(o,H)|0;var we=(p+(n=n+Math.imul(y,X)|0)|0)+((8191&(b=(b=b+Math.imul(y,Z)|0)+Math.imul(r,X)|0))<<13)|0;p=((f=f+Math.imul(r,Z)|0)+(b>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(v,V),b=(b=Math.imul(v,z))+Math.imul(x,V)|0,f=Math.imul(x,z),n=n+Math.imul(T,W)|0,b=(b=b+Math.imul(T,H)|0)+Math.imul(w,W)|0,f=f+Math.imul(w,H)|0,n=n+Math.imul(l,X)|0,b=(b=b+Math.imul(l,Z)|0)+Math.imul(o,X)|0,f=f+Math.imul(o,Z)|0;var he=(p+(n=n+Math.imul(y,G)|0)|0)+((8191&(b=(b=b+Math.imul(y,$)|0)+Math.imul(r,G)|0))<<13)|0;p=((f=f+Math.imul(r,$)|0)+(b>>>13)|0)+(he>>>26)|0,he&=67108863,n=Math.imul(g,V),b=(b=Math.imul(g,z))+Math.imul(A,V)|0,f=Math.imul(A,z),n=n+Math.imul(v,W)|0,b=(b=b+Math.imul(v,H)|0)+Math.imul(x,W)|0,f=f+Math.imul(x,H)|0,n=n+Math.imul(T,X)|0,b=(b=b+Math.imul(T,Z)|0)+Math.imul(w,X)|0,f=f+Math.imul(w,Z)|0,n=n+Math.imul(l,G)|0,b=(b=b+Math.imul(l,$)|0)+Math.imul(o,G)|0,f=f+Math.imul(o,$)|0;var ve=(p+(n=n+Math.imul(y,J)|0)|0)+((8191&(b=(b=b+Math.imul(y,ee)|0)+Math.imul(r,J)|0))<<13)|0;p=((f=f+Math.imul(r,ee)|0)+(b>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(E,V),b=(b=Math.imul(E,z))+Math.imul(S,V)|0,f=Math.imul(S,z),n=n+Math.imul(g,W)|0,b=(b=b+Math.imul(g,H)|0)+Math.imul(A,W)|0,f=f+Math.imul(A,H)|0,n=n+Math.imul(v,X)|0,b=(b=b+Math.imul(v,Z)|0)+Math.imul(x,X)|0,f=f+Math.imul(x,Z)|0,n=n+Math.imul(T,G)|0,b=(b=b+Math.imul(T,$)|0)+Math.imul(w,G)|0,f=f+Math.imul(w,$)|0,n=n+Math.imul(l,J)|0,b=(b=b+Math.imul(l,ee)|0)+Math.imul(o,J)|0,f=f+Math.imul(o,ee)|0;var xe=(p+(n=n+Math.imul(y,te)|0)|0)+((8191&(b=(b=b+Math.imul(y,ne)|0)+Math.imul(r,te)|0))<<13)|0;p=((f=f+Math.imul(r,ne)|0)+(b>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(_,V),b=(b=Math.imul(_,z))+Math.imul(k,V)|0,f=Math.imul(k,z),n=n+Math.imul(E,W)|0,b=(b=b+Math.imul(E,H)|0)+Math.imul(S,W)|0,f=f+Math.imul(S,H)|0,n=n+Math.imul(g,X)|0,b=(b=b+Math.imul(g,Z)|0)+Math.imul(A,X)|0,f=f+Math.imul(A,Z)|0,n=n+Math.imul(v,G)|0,b=(b=b+Math.imul(v,$)|0)+Math.imul(x,G)|0,f=f+Math.imul(x,$)|0,n=n+Math.imul(T,J)|0,b=(b=b+Math.imul(T,ee)|0)+Math.imul(w,J)|0,f=f+Math.imul(w,ee)|0,n=n+Math.imul(l,te)|0,b=(b=b+Math.imul(l,ne)|0)+Math.imul(o,te)|0,f=f+Math.imul(o,ne)|0;var Me=(p+(n=n+Math.imul(y,fe)|0)|0)+((8191&(b=(b=b+Math.imul(y,de)|0)+Math.imul(r,fe)|0))<<13)|0;p=((f=f+Math.imul(r,de)|0)+(b>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(R,V),b=(b=Math.imul(R,z))+Math.imul(B,V)|0,f=Math.imul(B,z),n=n+Math.imul(_,W)|0,b=(b=b+Math.imul(_,H)|0)+Math.imul(k,W)|0,f=f+Math.imul(k,H)|0,n=n+Math.imul(E,X)|0,b=(b=b+Math.imul(E,Z)|0)+Math.imul(S,X)|0,f=f+Math.imul(S,Z)|0,n=n+Math.imul(g,G)|0,b=(b=b+Math.imul(g,$)|0)+Math.imul(A,G)|0,f=f+Math.imul(A,$)|0,n=n+Math.imul(v,J)|0,b=(b=b+Math.imul(v,ee)|0)+Math.imul(x,J)|0,f=f+Math.imul(x,ee)|0,n=n+Math.imul(T,te)|0,b=(b=b+Math.imul(T,ne)|0)+Math.imul(w,te)|0,f=f+Math.imul(w,ne)|0,n=n+Math.imul(l,fe)|0,b=(b=b+Math.imul(l,de)|0)+Math.imul(o,fe)|0,f=f+Math.imul(o,de)|0;var ge=(p+(n=n+Math.imul(y,ie)|0)|0)+((8191&(b=(b=b+Math.imul(y,pe)|0)+Math.imul(r,ie)|0))<<13)|0;p=((f=f+Math.imul(r,pe)|0)+(b>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(I,V),b=(b=Math.imul(I,z))+Math.imul(N,V)|0,f=Math.imul(N,z),n=n+Math.imul(R,W)|0,b=(b=b+Math.imul(R,H)|0)+Math.imul(B,W)|0,f=f+Math.imul(B,H)|0,n=n+Math.imul(_,X)|0,b=(b=b+Math.imul(_,Z)|0)+Math.imul(k,X)|0,f=f+Math.imul(k,Z)|0,n=n+Math.imul(E,G)|0,b=(b=b+Math.imul(E,$)|0)+Math.imul(S,G)|0,f=f+Math.imul(S,$)|0,n=n+Math.imul(g,J)|0,b=(b=b+Math.imul(g,ee)|0)+Math.imul(A,J)|0,f=f+Math.imul(A,ee)|0,n=n+Math.imul(v,te)|0,b=(b=b+Math.imul(v,ne)|0)+Math.imul(x,te)|0,f=f+Math.imul(x,ne)|0,n=n+Math.imul(T,fe)|0,b=(b=b+Math.imul(T,de)|0)+Math.imul(w,fe)|0,f=f+Math.imul(w,de)|0,n=n+Math.imul(l,ie)|0,b=(b=b+Math.imul(l,pe)|0)+Math.imul(o,ie)|0,f=f+Math.imul(o,pe)|0;var Ae=(p+(n=n+Math.imul(y,ye)|0)|0)+((8191&(b=(b=b+Math.imul(y,re)|0)+Math.imul(r,ye)|0))<<13)|0;p=((f=f+Math.imul(r,re)|0)+(b>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(K,V),b=(b=Math.imul(K,z))+Math.imul(L,V)|0,f=Math.imul(L,z),n=n+Math.imul(I,W)|0,b=(b=b+Math.imul(I,H)|0)+Math.imul(N,W)|0,f=f+Math.imul(N,H)|0,n=n+Math.imul(R,X)|0,b=(b=b+Math.imul(R,Z)|0)+Math.imul(B,X)|0,f=f+Math.imul(B,Z)|0,n=n+Math.imul(_,G)|0,b=(b=b+Math.imul(_,$)|0)+Math.imul(k,G)|0,f=f+Math.imul(k,$)|0,n=n+Math.imul(E,J)|0,b=(b=b+Math.imul(E,ee)|0)+Math.imul(S,J)|0,f=f+Math.imul(S,ee)|0,n=n+Math.imul(g,te)|0,b=(b=b+Math.imul(g,ne)|0)+Math.imul(A,te)|0,f=f+Math.imul(A,ne)|0,n=n+Math.imul(v,fe)|0,b=(b=b+Math.imul(v,de)|0)+Math.imul(x,fe)|0,f=f+Math.imul(x,de)|0,n=n+Math.imul(T,ie)|0,b=(b=b+Math.imul(T,pe)|0)+Math.imul(w,ie)|0,f=f+Math.imul(w,pe)|0,n=n+Math.imul(l,ye)|0,b=(b=b+Math.imul(l,re)|0)+Math.imul(o,ye)|0,f=f+Math.imul(o,re)|0;var Ce=(p+(n=n+Math.imul(y,le)|0)|0)+((8191&(b=(b=b+Math.imul(y,oe)|0)+Math.imul(r,le)|0))<<13)|0;p=((f=f+Math.imul(r,oe)|0)+(b>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(K,W),b=(b=Math.imul(K,H))+Math.imul(L,W)|0,f=Math.imul(L,H),n=n+Math.imul(I,X)|0,b=(b=b+Math.imul(I,Z)|0)+Math.imul(N,X)|0,f=f+Math.imul(N,Z)|0,n=n+Math.imul(R,G)|0,b=(b=b+Math.imul(R,$)|0)+Math.imul(B,G)|0,f=f+Math.imul(B,$)|0,n=n+Math.imul(_,J)|0,b=(b=b+Math.imul(_,ee)|0)+Math.imul(k,J)|0,f=f+Math.imul(k,ee)|0,n=n+Math.imul(E,te)|0,b=(b=b+Math.imul(E,ne)|0)+Math.imul(S,te)|0,f=f+Math.imul(S,ne)|0,n=n+Math.imul(g,fe)|0,b=(b=b+Math.imul(g,de)|0)+Math.imul(A,fe)|0,f=f+Math.imul(A,de)|0,n=n+Math.imul(v,ie)|0,b=(b=b+Math.imul(v,pe)|0)+Math.imul(x,ie)|0,f=f+Math.imul(x,pe)|0,n=n+Math.imul(T,ye)|0,b=(b=b+Math.imul(T,re)|0)+Math.imul(w,ye)|0,f=f+Math.imul(w,re)|0;var Ee=(p+(n=n+Math.imul(l,le)|0)|0)+((8191&(b=(b=b+Math.imul(l,oe)|0)+Math.imul(o,le)|0))<<13)|0;p=((f=f+Math.imul(o,oe)|0)+(b>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(K,X),b=(b=Math.imul(K,Z))+Math.imul(L,X)|0,f=Math.imul(L,Z),n=n+Math.imul(I,G)|0,b=(b=b+Math.imul(I,$)|0)+Math.imul(N,G)|0,f=f+Math.imul(N,$)|0,n=n+Math.imul(R,J)|0,b=(b=b+Math.imul(R,ee)|0)+Math.imul(B,J)|0,f=f+Math.imul(B,ee)|0,n=n+Math.imul(_,te)|0,b=(b=b+Math.imul(_,ne)|0)+Math.imul(k,te)|0,f=f+Math.imul(k,ne)|0,n=n+Math.imul(E,fe)|0,b=(b=b+Math.imul(E,de)|0)+Math.imul(S,fe)|0,f=f+Math.imul(S,de)|0,n=n+Math.imul(g,ie)|0,b=(b=b+Math.imul(g,pe)|0)+Math.imul(A,ie)|0,f=f+Math.imul(A,pe)|0,n=n+Math.imul(v,ye)|0,b=(b=b+Math.imul(v,re)|0)+Math.imul(x,ye)|0,f=f+Math.imul(x,re)|0;var Se=(p+(n=n+Math.imul(T,le)|0)|0)+((8191&(b=(b=b+Math.imul(T,oe)|0)+Math.imul(w,le)|0))<<13)|0;p=((f=f+Math.imul(w,oe)|0)+(b>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(K,G),b=(b=Math.imul(K,$))+Math.imul(L,G)|0,f=Math.imul(L,$),n=n+Math.imul(I,J)|0,b=(b=b+Math.imul(I,ee)|0)+Math.imul(N,J)|0,f=f+Math.imul(N,ee)|0,n=n+Math.imul(R,te)|0,b=(b=b+Math.imul(R,ne)|0)+Math.imul(B,te)|0,f=f+Math.imul(B,ne)|0,n=n+Math.imul(_,fe)|0,b=(b=b+Math.imul(_,de)|0)+Math.imul(k,fe)|0,f=f+Math.imul(k,de)|0,n=n+Math.imul(E,ie)|0,b=(b=b+Math.imul(E,pe)|0)+Math.imul(S,ie)|0,f=f+Math.imul(S,pe)|0,n=n+Math.imul(g,ye)|0,b=(b=b+Math.imul(g,re)|0)+Math.imul(A,ye)|0,f=f+Math.imul(A,re)|0;var De=(p+(n=n+Math.imul(v,le)|0)|0)+((8191&(b=(b=b+Math.imul(v,oe)|0)+Math.imul(x,le)|0))<<13)|0;p=((f=f+Math.imul(x,oe)|0)+(b>>>13)|0)+(De>>>26)|0,De&=67108863,n=Math.imul(K,J),b=(b=Math.imul(K,ee))+Math.imul(L,J)|0,f=Math.imul(L,ee),n=n+Math.imul(I,te)|0,b=(b=b+Math.imul(I,ne)|0)+Math.imul(N,te)|0,f=f+Math.imul(N,ne)|0,n=n+Math.imul(R,fe)|0,b=(b=b+Math.imul(R,de)|0)+Math.imul(B,fe)|0,f=f+Math.imul(B,de)|0,n=n+Math.imul(_,ie)|0,b=(b=b+Math.imul(_,pe)|0)+Math.imul(k,ie)|0,f=f+Math.imul(k,pe)|0,n=n+Math.imul(E,ye)|0,b=(b=b+Math.imul(E,re)|0)+Math.imul(S,ye)|0,f=f+Math.imul(S,re)|0;var _e=(p+(n=n+Math.imul(g,le)|0)|0)+((8191&(b=(b=b+Math.imul(g,oe)|0)+Math.imul(A,le)|0))<<13)|0;p=((f=f+Math.imul(A,oe)|0)+(b>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(K,te),b=(b=Math.imul(K,ne))+Math.imul(L,te)|0,f=Math.imul(L,ne),n=n+Math.imul(I,fe)|0,b=(b=b+Math.imul(I,de)|0)+Math.imul(N,fe)|0,f=f+Math.imul(N,de)|0,n=n+Math.imul(R,ie)|0,b=(b=b+Math.imul(R,pe)|0)+Math.imul(B,ie)|0,f=f+Math.imul(B,pe)|0,n=n+Math.imul(_,ye)|0,b=(b=b+Math.imul(_,re)|0)+Math.imul(k,ye)|0,f=f+Math.imul(k,re)|0;var ke=(p+(n=n+Math.imul(E,le)|0)|0)+((8191&(b=(b=b+Math.imul(E,oe)|0)+Math.imul(S,le)|0))<<13)|0;p=((f=f+Math.imul(S,oe)|0)+(b>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(K,fe),b=(b=Math.imul(K,de))+Math.imul(L,fe)|0,f=Math.imul(L,de),n=n+Math.imul(I,ie)|0,b=(b=b+Math.imul(I,pe)|0)+Math.imul(N,ie)|0,f=f+Math.imul(N,pe)|0,n=n+Math.imul(R,ye)|0,b=(b=b+Math.imul(R,re)|0)+Math.imul(B,ye)|0,f=f+Math.imul(B,re)|0;var Fe=(p+(n=n+Math.imul(_,le)|0)|0)+((8191&(b=(b=b+Math.imul(_,oe)|0)+Math.imul(k,le)|0))<<13)|0;p=((f=f+Math.imul(k,oe)|0)+(b>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(K,ie),b=(b=Math.imul(K,pe))+Math.imul(L,ie)|0,f=Math.imul(L,pe),n=n+Math.imul(I,ye)|0,b=(b=b+Math.imul(I,re)|0)+Math.imul(N,ye)|0,f=f+Math.imul(N,re)|0;var Re=(p+(n=n+Math.imul(R,le)|0)|0)+((8191&(b=(b=b+Math.imul(R,oe)|0)+Math.imul(B,le)|0))<<13)|0;p=((f=f+Math.imul(B,oe)|0)+(b>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(K,ye),b=(b=Math.imul(K,re))+Math.imul(L,ye)|0,f=Math.imul(L,re);var Be=(p+(n=n+Math.imul(I,le)|0)|0)+((8191&(b=(b=b+Math.imul(I,oe)|0)+Math.imul(N,le)|0))<<13)|0;p=((f=f+Math.imul(N,oe)|0)+(b>>>13)|0)+(Be>>>26)|0,Be&=67108863;var Oe=(p+(n=Math.imul(K,le))|0)+((8191&(b=(b=Math.imul(K,oe))+Math.imul(L,le)|0))<<13)|0;return p=((f=Math.imul(L,oe))+(b>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,i[0]=me,i[1]=Te,i[2]=we,i[3]=he,i[4]=ve,i[5]=xe,i[6]=Me,i[7]=ge,i[8]=Ae,i[9]=Ce,i[10]=Ee,i[11]=Se,i[12]=De,i[13]=_e,i[14]=ke,i[15]=Fe,i[16]=Re,i[17]=Be,i[18]=Oe,0!==p&&(i[19]=p,t.length++),t};function l(e,a,t){return(new o).mulp(e,a,t)}function o(e,a){this.x=e,this.y=a}Math.imul||(c=r),f.prototype.mulTo=function(e,a){var t=this.length+e.length;return 10===this.length&&10===e.length?c(this,e,a):t<63?r(this,e,a):t<1024?function(e,a,t){t.negative=a.negative^e.negative,t.length=e.length+a.length;for(var n=0,b=0,f=0;f<t.length-1;f++){var d=b;b=0;for(var s=67108863&n,i=Math.min(f,a.length-1),p=Math.max(0,f-e.length+1);p<=i;p++){var u=f-p,y=(0|e.words[u])*(0|a.words[p]),r=67108863&y;s=67108863&(r=r+s|0),b+=(d=(d=d+(y/67108864|0)|0)+(r>>>26)|0)>>>26,d&=67108863}t.words[f]=s,n=d,d=b}return 0!==n?t.words[f]=n:t.length--,t.strip()}(this,e,a):l(this,e,a)},o.prototype.makeRBT=function(e){for(var a=new Array(e),t=f.prototype._countBits(e)-1,n=0;n<e;n++)a[n]=this.revBin(n,t,e);return a},o.prototype.revBin=function(e,a,t){if(0===e||e===t-1)return e;for(var n=0,b=0;b<a;b++)n|=(1&e)<<a-b-1,e>>=1;return n},o.prototype.permute=function(e,a,t,n,b,f){for(var d=0;d<f;d++)n[d]=a[e[d]],b[d]=t[e[d]]},o.prototype.transform=function(e,a,t,n,b,f){this.permute(f,e,a,t,n,b);for(var d=1;d<b;d<<=1)for(var s=d<<1,i=Math.cos(2*Math.PI/s),p=Math.sin(2*Math.PI/s),u=0;u<b;u+=s)for(var y=i,r=p,c=0;c<d;c++){var l=t[u+c],o=n[u+c],m=t[u+c+d],T=n[u+c+d],w=y*m-r*T;T=y*T+r*m,m=w,t[u+c]=l+m,n[u+c]=o+T,t[u+c+d]=l-m,n[u+c+d]=o-T,c!==s&&(w=i*y-p*r,r=i*r+p*y,y=w)}},o.prototype.guessLen13b=function(e,a){var t=1|Math.max(a,e),n=1&t,b=0;for(t=t/2|0;t;t>>>=1)b++;return 1<<b+1+n},o.prototype.conjugate=function(e,a,t){if(!(t<=1))for(var n=0;n<t/2;n++){var b=e[n];e[n]=e[t-n-1],e[t-n-1]=b,b=a[n],a[n]=-a[t-n-1],a[t-n-1]=-b}},o.prototype.normalize13b=function(e,a){for(var t=0,n=0;n<a/2;n++){var b=8192*Math.round(e[2*n+1]/a)+Math.round(e[2*n]/a)+t;e[n]=67108863&b,t=b<67108864?0:b/67108864|0}return e},o.prototype.convert13b=function(e,a,t,b){for(var f=0,d=0;d<a;d++)f+=0|e[d],t[2*d]=8191&f,f>>>=13,t[2*d+1]=8191&f,f>>>=13;for(d=2*a;d<b;++d)t[d]=0;n(0===f),n(0==(-8192&f))},o.prototype.stub=function(e){for(var a=new Array(e),t=0;t<e;t++)a[t]=0;return a},o.prototype.mulp=function(e,a,t){var n=2*this.guessLen13b(e.length,a.length),b=this.makeRBT(n),f=this.stub(n),d=new Array(n),s=new Array(n),i=new Array(n),p=new Array(n),u=new Array(n),y=new Array(n),r=t.words;r.length=n,this.convert13b(e.words,e.length,d,n),this.convert13b(a.words,a.length,p,n),this.transform(d,f,s,i,n,b),this.transform(p,f,u,y,n,b);for(var c=0;c<n;c++){var l=s[c]*u[c]-i[c]*y[c];i[c]=s[c]*y[c]+i[c]*u[c],s[c]=l}return this.conjugate(s,i,n),this.transform(s,i,r,f,n,b),this.conjugate(r,f,n),this.normalize13b(r,n),t.negative=e.negative^a.negative,t.length=e.length+a.length,t.strip()},f.prototype.mul=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),this.mulTo(e,a)},f.prototype.mulf=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),l(this,e,a)},f.prototype.imul=function(e){return this.clone().mulTo(e,this)},f.prototype.imuln=function(e){n("number"==typeof e),n(e<67108864);for(var a=0,t=0;t<this.length;t++){var b=(0|this.words[t])*e,f=(67108863&b)+(67108863&a);a>>=26,a+=b/67108864|0,a+=f>>>26,this.words[t]=67108863&f}return 0!==a&&(this.words[t]=a,this.length++),this},f.prototype.muln=function(e){return this.clone().imuln(e)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(e){var a=function(e){for(var a=new Array(e.bitLength()),t=0;t<a.length;t++){var n=t/26|0,b=t%26;a[t]=(e.words[n]&1<<b)>>>b}return a}(e);if(0===a.length)return new f(1);for(var t=this,n=0;n<a.length&&0===a[n];n++,t=t.sqr());if(++n<a.length)for(var b=t.sqr();n<a.length;n++,b=b.sqr())0!==a[n]&&(t=t.mul(b));return t},f.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var a,t=e%26,b=(e-t)/26,f=67108863>>>26-t<<26-t;if(0!==t){var d=0;for(a=0;a<this.length;a++){var s=this.words[a]&f,i=(0|this.words[a])-s<<t;this.words[a]=i|d,d=s>>>26-t}d&&(this.words[a]=d,this.length++)}if(0!==b){for(a=this.length-1;a>=0;a--)this.words[a+b]=this.words[a];for(a=0;a<b;a++)this.words[a]=0;this.length+=b}return this.strip()},f.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},f.prototype.iushrn=function(e,a,t){var b;n("number"==typeof e&&e>=0),b=a?(a-a%26)/26:0;var f=e%26,d=Math.min((e-f)/26,this.length),s=67108863^67108863>>>f<<f,i=t;if(b-=d,b=Math.max(0,b),i){for(var p=0;p<d;p++)i.words[p]=this.words[p];i.length=d}if(0===d);else if(this.length>d)for(this.length-=d,p=0;p<this.length;p++)this.words[p]=this.words[p+d];else this.words[0]=0,this.length=1;var u=0;for(p=this.length-1;p>=0&&(0!==u||p>=b);p--){var y=0|this.words[p];this.words[p]=u<<26-f|y>>>f,u=y&s}return i&&0!==u&&(i.words[i.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(e,a,t){return n(0===this.negative),this.iushrn(e,a,t)},f.prototype.shln=function(e){return this.clone().ishln(e)},f.prototype.ushln=function(e){return this.clone().iushln(e)},f.prototype.shrn=function(e){return this.clone().ishrn(e)},f.prototype.ushrn=function(e){return this.clone().iushrn(e)},f.prototype.testn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26,b=1<<a;return!(this.length<=t)&&!!(this.words[t]&b)},f.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=t)return this;if(0!==a&&t++,this.length=Math.min(t,this.length),0!==a){var b=67108863^67108863>>>a<<a;this.words[this.length-1]&=b}return this.strip()},f.prototype.maskn=function(e){return this.clone().imaskn(e)},f.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},f.prototype._iaddn=function(e){this.words[0]+=e;for(var a=0;a<this.length&&this.words[a]>=67108864;a++)this.words[a]-=67108864,a===this.length-1?this.words[a+1]=1:this.words[a+1]++;return this.length=Math.max(this.length,a+1),this},f.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var a=0;a<this.length&&this.words[a]<0;a++)this.words[a]+=67108864,this.words[a+1]-=1;return this.strip()},f.prototype.addn=function(e){return this.clone().iaddn(e)},f.prototype.subn=function(e){return this.clone().isubn(e)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(e,a,t){var b,f,d=e.length+t;this._expand(d);var s=0;for(b=0;b<e.length;b++){f=(0|this.words[b+t])+s;var i=(0|e.words[b])*a;s=((f-=67108863&i)>>26)-(i/67108864|0),this.words[b+t]=67108863&f}for(;b<this.length-t;b++)s=(f=(0|this.words[b+t])+s)>>26,this.words[b+t]=67108863&f;if(0===s)return this.strip();for(n(-1===s),s=0,b=0;b<this.length;b++)s=(f=-(0|this.words[b])+s)>>26,this.words[b]=67108863&f;return this.negative=1,this.strip()},f.prototype._wordDiv=function(e,a){var t=(this.length,e.length),n=this.clone(),b=e,d=0|b.words[b.length-1];0!==(t=26-this._countBits(d))&&(b=b.ushln(t),n.iushln(t),d=0|b.words[b.length-1]);var s,i=n.length-b.length;if("mod"!==a){(s=new f(null)).length=i+1,s.words=new Array(s.length);for(var p=0;p<s.length;p++)s.words[p]=0}var u=n.clone()._ishlnsubmul(b,1,i);0===u.negative&&(n=u,s&&(s.words[i]=1));for(var y=i-1;y>=0;y--){var r=67108864*(0|n.words[b.length+y])+(0|n.words[b.length+y-1]);for(r=Math.min(r/d|0,67108863),n._ishlnsubmul(b,r,y);0!==n.negative;)r--,n.negative=0,n._ishlnsubmul(b,1,y),n.isZero()||(n.negative^=1);s&&(s.words[y]=r)}return s&&s.strip(),n.strip(),"div"!==a&&0!==t&&n.iushrn(t),{div:s||null,mod:n}},f.prototype.divmod=function(e,a,t){return n(!e.isZero()),this.isZero()?{div:new f(0),mod:new f(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,a),"mod"!==a&&(b=s.div.neg()),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.iadd(e)),{div:b,mod:d}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),a),"mod"!==a&&(b=s.div.neg()),{div:b,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),a),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.isub(e)),{div:s.div,mod:d}):e.length>this.length||this.cmp(e)<0?{div:new f(0),mod:this}:1===e.length?"div"===a?{div:this.divn(e.words[0]),mod:null}:"mod"===a?{div:null,mod:new f(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new f(this.modn(e.words[0]))}:this._wordDiv(e,a);var b,d,s},f.prototype.div=function(e){return this.divmod(e,"div",!1).div},f.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},f.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},f.prototype.divRound=function(e){var a=this.divmod(e);if(a.mod.isZero())return a.div;var t=0!==a.div.negative?a.mod.isub(e):a.mod,n=e.ushrn(1),b=e.andln(1),f=t.cmp(n);return f<0||1===b&&0===f?a.div:0!==a.div.negative?a.div.isubn(1):a.div.iaddn(1)},f.prototype.modn=function(e){n(e<=67108863);for(var a=(1<<26)%e,t=0,b=this.length-1;b>=0;b--)t=(a*t+(0|this.words[b]))%e;return t},f.prototype.idivn=function(e){n(e<=67108863);for(var a=0,t=this.length-1;t>=0;t--){var b=(0|this.words[t])+67108864*a;this.words[t]=b/e|0,a=b%e}return this.strip()},f.prototype.divn=function(e){return this.clone().idivn(e)},f.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b=new f(1),d=new f(0),s=new f(0),i=new f(1),p=0;a.isEven()&&t.isEven();)a.iushrn(1),t.iushrn(1),++p;for(var u=t.clone(),y=a.clone();!a.isZero();){for(var r=0,c=1;0==(a.words[0]&c)&&r<26;++r,c<<=1);if(r>0)for(a.iushrn(r);r-- >0;)(b.isOdd()||d.isOdd())&&(b.iadd(u),d.isub(y)),b.iushrn(1),d.iushrn(1);for(var l=0,o=1;0==(t.words[0]&o)&&l<26;++l,o<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(s.isOdd()||i.isOdd())&&(s.iadd(u),i.isub(y)),s.iushrn(1),i.iushrn(1);a.cmp(t)>=0?(a.isub(t),b.isub(s),d.isub(i)):(t.isub(a),s.isub(b),i.isub(d))}return{a:s,b:i,gcd:t.iushln(p)}},f.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b,d=new f(1),s=new f(0),i=t.clone();a.cmpn(1)>0&&t.cmpn(1)>0;){for(var p=0,u=1;0==(a.words[0]&u)&&p<26;++p,u<<=1);if(p>0)for(a.iushrn(p);p-- >0;)d.isOdd()&&d.iadd(i),d.iushrn(1);for(var y=0,r=1;0==(t.words[0]&r)&&y<26;++y,r<<=1);if(y>0)for(t.iushrn(y);y-- >0;)s.isOdd()&&s.iadd(i),s.iushrn(1);a.cmp(t)>=0?(a.isub(t),d.isub(s)):(t.isub(a),s.isub(d))}return(b=0===a.cmpn(1)?d:s).cmpn(0)<0&&b.iadd(e),b},f.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var a=this.clone(),t=e.clone();a.negative=0,t.negative=0;for(var n=0;a.isEven()&&t.isEven();n++)a.iushrn(1),t.iushrn(1);for(;;){for(;a.isEven();)a.iushrn(1);for(;t.isEven();)t.iushrn(1);var b=a.cmp(t);if(b<0){var f=a;a=t,t=f}else if(0===b||0===t.cmpn(1))break;a.isub(t)}return t.iushln(n)},f.prototype.invm=function(e){return this.egcd(e).a.umod(e)},f.prototype.isEven=function(){return 0==(1&this.words[0])},f.prototype.isOdd=function(){return 1==(1&this.words[0])},f.prototype.andln=function(e){return this.words[0]&e},f.prototype.bincn=function(e){n("number"==typeof e);var a=e%26,t=(e-a)/26,b=1<<a;if(this.length<=t)return this._expand(t+1),this.words[t]|=b,this;for(var f=b,d=t;0!==f&&d<this.length;d++){var s=0|this.words[d];f=(s+=f)>>>26,s&=67108863,this.words[d]=s}return 0!==f&&(this.words[d]=f,this.length++),this},f.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},f.prototype.cmpn=function(e){var a,t=e<0;if(0!==this.negative&&!t)return-1;if(0===this.negative&&t)return 1;if(this.strip(),this.length>1)a=1;else{t&&(e=-e),n(e<=67108863,"Number is too big");var b=0|this.words[0];a=b===e?0:b<e?-1:1}return 0!==this.negative?0|-a:a},f.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var a=this.ucmp(e);return 0!==this.negative?0|-a:a},f.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var a=0,t=this.length-1;t>=0;t--){var n=0|this.words[t],b=0|e.words[t];if(n!==b){n<b?a=-1:n>b&&(a=1);break}}return a},f.prototype.gtn=function(e){return 1===this.cmpn(e)},f.prototype.gt=function(e){return 1===this.cmp(e)},f.prototype.gten=function(e){return this.cmpn(e)>=0},f.prototype.gte=function(e){return this.cmp(e)>=0},f.prototype.ltn=function(e){return-1===this.cmpn(e)},f.prototype.lt=function(e){return-1===this.cmp(e)},f.prototype.lten=function(e){return this.cmpn(e)<=0},f.prototype.lte=function(e){return this.cmp(e)<=0},f.prototype.eqn=function(e){return 0===this.cmpn(e)},f.prototype.eq=function(e){return 0===this.cmp(e)},f.red=function(e){return new M(e)},f.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},f.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(e){return this.red=e,this},f.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},f.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},f.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},f.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},f.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},f.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},f.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},f.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},f.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function T(e,a){this.name=e,this.p=new f(a,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){T.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function h(){T.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){T.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){T.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(e){if("string"==typeof e){var a=f._prime(e);this.m=a.p,this.prime=a}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function g(e){M.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new f(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}T.prototype._tmp=function(){var e=new f(null);return e.words=new Array(Math.ceil(this.n/13)),e},T.prototype.ireduce=function(e){var a,t=e;do{this.split(t,this.tmp),a=(t=(t=this.imulK(t)).iadd(this.tmp)).bitLength()}while(a>this.n);var n=a<this.n?-1:t.ucmp(this.p);return 0===n?(t.words[0]=0,t.length=1):n>0?t.isub(this.p):t.strip(),t},T.prototype.split=function(e,a){e.iushrn(this.n,0,a)},T.prototype.imulK=function(e){return e.imul(this.k)},b(w,T),w.prototype.split=function(e,a){for(var t=Math.min(e.length,9),n=0;n<t;n++)a.words[n]=e.words[n];if(a.length=t,e.length<=9)return e.words[0]=0,void(e.length=1);var b=e.words[9];for(a.words[a.length++]=4194303&b,n=10;n<e.length;n++){var f=0|e.words[n];e.words[n-10]=(4194303&f)<<4|b>>>22,b=f}b>>>=22,e.words[n-10]=b,0===b&&e.length>10?e.length-=10:e.length-=9},w.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var a=0,t=0;t<e.length;t++){var n=0|e.words[t];a+=977*n,e.words[t]=67108863&a,a=64*n+(a/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},b(h,T),b(v,T),b(x,T),x.prototype.imulK=function(e){for(var a=0,t=0;t<e.length;t++){var n=19*(0|e.words[t])+a,b=67108863&n;n>>>=26,e.words[t]=b,a=n}return 0!==a&&(e.words[e.length++]=a),e},f._prime=function(e){if(m[e])return m[e];var a;if("k256"===e)a=new w;else if("p224"===e)a=new h;else if("p192"===e)a=new v;else{if("p25519"!==e)throw new Error("Unknown prime "+e);a=new x}return m[e]=a,a},M.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},M.prototype._verify2=function(e,a){n(0==(e.negative|a.negative),"red works only with positives"),n(e.red&&e.red===a.red,"red works only with red numbers")},M.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},M.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},M.prototype.add=function(e,a){this._verify2(e,a);var t=e.add(a);return t.cmp(this.m)>=0&&t.isub(this.m),t._forceRed(this)},M.prototype.iadd=function(e,a){this._verify2(e,a);var t=e.iadd(a);return t.cmp(this.m)>=0&&t.isub(this.m),t},M.prototype.sub=function(e,a){this._verify2(e,a);var t=e.sub(a);return t.cmpn(0)<0&&t.iadd(this.m),t._forceRed(this)},M.prototype.isub=function(e,a){this._verify2(e,a);var t=e.isub(a);return t.cmpn(0)<0&&t.iadd(this.m),t},M.prototype.shl=function(e,a){return this._verify1(e),this.imod(e.ushln(a))},M.prototype.imul=function(e,a){return this._verify2(e,a),this.imod(e.imul(a))},M.prototype.mul=function(e,a){return this._verify2(e,a),this.imod(e.mul(a))},M.prototype.isqr=function(e){return this.imul(e,e.clone())},M.prototype.sqr=function(e){return this.mul(e,e)},M.prototype.sqrt=function(e){if(e.isZero())return e.clone();var a=this.m.andln(3);if(n(a%2==1),3===a){var t=this.m.add(new f(1)).iushrn(2);return this.pow(e,t)}for(var b=this.m.subn(1),d=0;!b.isZero()&&0===b.andln(1);)d++,b.iushrn(1);n(!b.isZero());var s=new f(1).toRed(this),i=s.redNeg(),p=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new f(2*u*u).toRed(this);0!==this.pow(u,p).cmp(i);)u.redIAdd(i);for(var y=this.pow(u,b),r=this.pow(e,b.addn(1).iushrn(1)),c=this.pow(e,b),l=d;0!==c.cmp(s);){for(var o=c,m=0;0!==o.cmp(s);m++)o=o.redSqr();n(m<l);var T=this.pow(y,new f(1).iushln(l-m-1));r=r.redMul(T),y=T.redSqr(),c=c.redMul(y),l=m}return r},M.prototype.invm=function(e){var a=e._invmp(this.m);return 0!==a.negative?(a.negative=0,this.imod(a).redNeg()):this.imod(a)},M.prototype.pow=function(e,a){if(a.isZero())return new f(1);if(0===a.cmpn(1))return e.clone();var t=new Array(16);t[0]=new f(1).toRed(this),t[1]=e;for(var n=2;n<t.length;n++)t[n]=this.mul(t[n-1],e);var b=t[0],d=0,s=0,i=a.bitLength()%26;for(0===i&&(i=26),n=a.length-1;n>=0;n--){for(var p=a.words[n],u=i-1;u>=0;u--){var y=p>>u&1;b!==t[0]&&(b=this.sqr(b)),0!==y||0!==d?(d<<=1,d|=y,(4===++s||0===n&&0===u)&&(b=this.mul(b,t[d]),s=0,d=0)):s=0}i=26}return b},M.prototype.convertTo=function(e){var a=e.umod(this.m);return a===e?a.clone():a},M.prototype.convertFrom=function(e){var a=e.clone();return a.red=null,a},f.mont=function(e){return new g(e)},b(g,M),g.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},g.prototype.convertFrom=function(e){var a=this.imod(e.mul(this.rinv));return a.red=null,a},g.prototype.imul=function(e,a){if(e.isZero()||a.isZero())return e.words[0]=0,e.length=1,e;var t=e.imul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),f=b;return b.cmp(this.m)>=0?f=b.isub(this.m):b.cmpn(0)<0&&(f=b.iadd(this.m)),f._forceRed(this)},g.prototype.mul=function(e,a){if(e.isZero()||a.isZero())return new f(0)._forceRed(this);var t=e.mul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),d=b;return b.cmp(this.m)>=0?d=b.isub(this.m):b.cmpn(0)<0&&(d=b.iadd(this.m)),d._forceRed(this)},g.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,t(7)(e))},function(e,a,t){var n=t(81);e.exports=function(e){return"string"!=typeof e?e:n(e)?e.slice(2):e}},function(e,a){e.exports=function(e){if("string"!=typeof e)throw new Error("[is-hex-prefixed] value must be type 'string', is currently type "+typeof e+", while checking isHexPrefixed.");return"0x"===e.slice(0,2)}},function(e,a){},function(e,a){var t="0123456789abcdef".split(""),n=[1,256,65536,16777216],b=[0,8,16,24],f=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],d=function(e){var a,t,n,b,d,s,i,p,u,y,r,c,l,o,m,T,w,h,v,x,M,g,A,C,E,S,D,_,k,F,R,B,O,I,N,P,K,L,U,V,z,q,W,H,Q,X,Z,j,G,$,Y,J,ee,ae,te,ne,be,fe,de,se,ie,pe,ue;for(n=0;n<48;n+=2)b=e[0]^e[10]^e[20]^e[30]^e[40],d=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],i=e[3]^e[13]^e[23]^e[33]^e[43],p=e[4]^e[14]^e[24]^e[34]^e[44],u=e[5]^e[15]^e[25]^e[35]^e[45],y=e[6]^e[16]^e[26]^e[36]^e[46],r=e[7]^e[17]^e[27]^e[37]^e[47],a=(c=e[8]^e[18]^e[28]^e[38]^e[48])^(s<<1|i>>>31),t=(l=e[9]^e[19]^e[29]^e[39]^e[49])^(i<<1|s>>>31),e[0]^=a,e[1]^=t,e[10]^=a,e[11]^=t,e[20]^=a,e[21]^=t,e[30]^=a,e[31]^=t,e[40]^=a,e[41]^=t,a=b^(p<<1|u>>>31),t=d^(u<<1|p>>>31),e[2]^=a,e[3]^=t,e[12]^=a,e[13]^=t,e[22]^=a,e[23]^=t,e[32]^=a,e[33]^=t,e[42]^=a,e[43]^=t,a=s^(y<<1|r>>>31),t=i^(r<<1|y>>>31),e[4]^=a,e[5]^=t,e[14]^=a,e[15]^=t,e[24]^=a,e[25]^=t,e[34]^=a,e[35]^=t,e[44]^=a,e[45]^=t,a=p^(c<<1|l>>>31),t=u^(l<<1|c>>>31),e[6]^=a,e[7]^=t,e[16]^=a,e[17]^=t,e[26]^=a,e[27]^=t,e[36]^=a,e[37]^=t,e[46]^=a,e[47]^=t,a=y^(b<<1|d>>>31),t=r^(d<<1|b>>>31),e[8]^=a,e[9]^=t,e[18]^=a,e[19]^=t,e[28]^=a,e[29]^=t,e[38]^=a,e[39]^=t,e[48]^=a,e[49]^=t,o=e[0],m=e[1],X=e[11]<<4|e[10]>>>28,Z=e[10]<<4|e[11]>>>28,_=e[20]<<3|e[21]>>>29,k=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ie=e[30]<<9|e[31]>>>23,q=e[40]<<18|e[41]>>>14,W=e[41]<<18|e[40]>>>14,I=e[2]<<1|e[3]>>>31,N=e[3]<<1|e[2]>>>31,T=e[13]<<12|e[12]>>>20,w=e[12]<<12|e[13]>>>20,j=e[22]<<10|e[23]>>>22,G=e[23]<<10|e[22]>>>22,F=e[33]<<13|e[32]>>>19,R=e[32]<<13|e[33]>>>19,pe=e[42]<<2|e[43]>>>30,ue=e[43]<<2|e[42]>>>30,ae=e[5]<<30|e[4]>>>2,te=e[4]<<30|e[5]>>>2,P=e[14]<<6|e[15]>>>26,K=e[15]<<6|e[14]>>>26,h=e[25]<<11|e[24]>>>21,v=e[24]<<11|e[25]>>>21,$=e[34]<<15|e[35]>>>17,Y=e[35]<<15|e[34]>>>17,B=e[45]<<29|e[44]>>>3,O=e[44]<<29|e[45]>>>3,C=e[6]<<28|e[7]>>>4,E=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,be=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,U=e[27]<<25|e[26]>>>7,x=e[36]<<21|e[37]>>>11,M=e[37]<<21|e[36]>>>11,J=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,H=e[8]<<27|e[9]>>>5,Q=e[9]<<27|e[8]>>>5,S=e[18]<<20|e[19]>>>12,D=e[19]<<20|e[18]>>>12,fe=e[29]<<7|e[28]>>>25,de=e[28]<<7|e[29]>>>25,V=e[38]<<8|e[39]>>>24,z=e[39]<<8|e[38]>>>24,g=e[48]<<14|e[49]>>>18,A=e[49]<<14|e[48]>>>18,e[0]=o^~T&h,e[1]=m^~w&v,e[10]=C^~S&_,e[11]=E^~D&k,e[20]=I^~P&L,e[21]=N^~K&U,e[30]=H^~X&j,e[31]=Q^~Z&G,e[40]=ae^~ne&fe,e[41]=te^~be&de,e[2]=T^~h&x,e[3]=w^~v&M,e[12]=S^~_&F,e[13]=D^~k&R,e[22]=P^~L&V,e[23]=K^~U&z,e[32]=X^~j&$,e[33]=Z^~G&Y,e[42]=ne^~fe&se,e[43]=be^~de&ie,e[4]=h^~x&g,e[5]=v^~M&A,e[14]=_^~F&B,e[15]=k^~R&O,e[24]=L^~V&q,e[25]=U^~z&W,e[34]=j^~$&J,e[35]=G^~Y&ee,e[44]=fe^~se&pe,e[45]=de^~ie&ue,e[6]=x^~g&o,e[7]=M^~A&m,e[16]=F^~B&C,e[17]=R^~O&E,e[26]=V^~q&I,e[27]=z^~W&N,e[36]=$^~J&H,e[37]=Y^~ee&Q,e[46]=se^~pe&ae,e[47]=ie^~ue&te,e[8]=g^~o&T,e[9]=A^~m&w,e[18]=B^~C&S,e[19]=O^~E&D,e[28]=q^~I&P,e[29]=W^~N&K,e[38]=J^~H&X,e[39]=ee^~Q&Z,e[48]=pe^~ae&ne,e[49]=ue^~te&be,e[0]^=f[n],e[1]^=f[n+1]},s=function(e){return function(a){var f;if("0x"===a.slice(0,2)){f=[];for(var s=2,i=a.length;s<i;s+=2)f.push(parseInt(a.slice(s,s+2),16))}else f=a;return function(e,a){for(var f,s=a.length,i=e.blocks,p=e.blockCount<<2,u=e.blockCount,y=e.outputBlocks,r=e.s,c=0;c<s;){if(e.reset)for(e.reset=!1,i[0]=e.block,m=1;m<u+1;++m)i[m]=0;if("string"!=typeof a)for(m=e.start;c<s&&m<p;++c)i[m>>2]|=a[c]<<b[3&m++];else for(m=e.start;c<s&&m<p;++c)(f=a.charCodeAt(c))<128?i[m>>2]|=f<<b[3&m++]:f<2048?(i[m>>2]|=(192|f>>6)<<b[3&m++],i[m>>2]|=(128|63&f)<<b[3&m++]):f<55296||f>=57344?(i[m>>2]|=(224|f>>12)<<b[3&m++],i[m>>2]|=(128|f>>6&63)<<b[3&m++],i[m>>2]|=(128|63&f)<<b[3&m++]):(f=65536+((1023&f)<<10|1023&a.charCodeAt(++c)),i[m>>2]|=(240|f>>18)<<b[3&m++],i[m>>2]|=(128|f>>12&63)<<b[3&m++],i[m>>2]|=(128|f>>6&63)<<b[3&m++],i[m>>2]|=(128|63&f)<<b[3&m++]);if(e.lastByteIndex=m,m>=p){for(e.start=m-p,e.block=i[u],m=0;m<u;++m)r[m]^=i[m];d(r),e.reset=!0}else e.start=m}if(i[(m=e.lastByteIndex)>>2]|=n[3&m],e.lastByteIndex===p)for(i[0]=i[u],m=1;m<u+1;++m)i[m]=0;for(i[u-1]|=2147483648,m=0;m<u;++m)r[m]^=i[m];d(r);for(var l,o="",m=0,T=0;T<y;){for(m=0;m<u&&T<y;++m,++T)l=r[m],o+=t[l>>4&15]+t[15&l]+t[l>>12&15]+t[l>>8&15]+t[l>>20&15]+t[l>>16&15]+t[l>>28&15]+t[l>>24&15];T%u==0&&(d(r),m=0)}return"0x"+o}(function(e){return{blocks:[],reset:!0,block:0,start:0,blockCount:1600-(e<<1)>>5,outputBlocks:e>>5,s:(a=[0,0,0,0,0,0,0,0,0,0],[].concat(a,a,a,a,a))};var a}(e),f)}};e.exports={keccak256:s(256),keccak512:s(512),keccak256s:s(256),keccak512s:s(512)}},function(e,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0});const n=t(39);function b(e){if(null==e)throw new Error("cannot convert null value to array");if("string"==typeof e){const a=e.match(/^(0x)?[0-9a-fA-F]*$/);if(!a)throw new Error("invalid hexidecimal string");if("0x"!==a[1])throw new Error("hex string must have 0x prefix");(e=e.substring(2)).length%2&&(e="0"+e);const t=[];for(let a=0;a<e.length;a+=2)t.push(parseInt(e.substr(a,2),16));return f(new Uint8Array(t))}if(function(e){if(!e||parseInt(String(e.length))!=e.length||"string"==typeof e)return!1;for(let a=0;a<e.length;a++){const t=e[a];if(t<0||t>=256||parseInt(String(t))!=t)return!1}return!0}(e))return f(new Uint8Array(e));throw new Error("invalid arrayify value")}function f(e){return void 0!==e.slice||(e.slice=()=>{const a=Array.prototype.slice.call(arguments);return f(new Uint8Array(Array.prototype.slice.apply(e,a)))}),e}a.keccak256=function(e){return"0x"+n.keccak_256(b(e))},a.padLeft=(e,a)=>{const t=/^0x/i.test(e)||"number"==typeof e,n=a-(e=e.toString().replace(/^0x/i,"")).length+1>=0?a-e.length+1:0;return(t?"0x":"")+new Array(n).join("0")+e},a.bytesToHex=function(e){const a=[];for(let t=0;t<e.length;t++)a.push((e[t]>>>4).toString(16)),a.push((15&e[t]).toString(16));return"0x"+a.join("").replace(/^0+/,"")},a.toByteArray=b},function(e,a){(function(a){e.exports=a}).call(this,{})},function(e,a,t){var n=t(25),b=t(43),f=t(42),d=function(e){var a=typeof e;if("string"===a)return f.isHexStrict(e)?new b(e.replace(/0x/i,""),16):new b(e,10);if("number"===a)return new b(e);if(f.isBigNumber(e))return new b(e.toString(10));if(f.isBN(e))return e;throw new Error(e+" is not a number")},s=function(e,a,t){var n,s,i;if("bytes"===(e=(i=e).startsWith("int[")?"int256"+i.slice(3):"int"===i?"int256":i.startsWith("uint[")?"uint256"+i.slice(4):"uint"===i?"uint256":i.startsWith("fixed[")?"fixed128x128"+i.slice(5):"fixed"===i?"fixed128x128":i.startsWith("ufixed[")?"ufixed128x128"+i.slice(6):"ufixed"===i?"ufixed128x128":i)){if(a.replace(/^0x/i,"").length%2!=0)throw new Error("Invalid bytes characters "+a.length);return a}if("string"===e)return f.utf8ToHex(a);if("bool"===e)return a?"01":"00";if(e.startsWith("address")){if(n=t?64:40,!f.isAddress(a))throw new Error(a+" is not a valid address, or the checksum is invalid.");return f.leftPad(a.toLowerCase(),n)}if(n=function(e){var a=/^\D+(\d+).*$/.exec(e);return a?parseInt(a[1],10):null}(e),e.startsWith("bytes")){if(!n)throw new Error("bytes[] not yet supported in solidity");if(t&&(n=32),n<1||n>32||n<a.replace(/^0x/i,"").length/2)throw new Error("Invalid bytes"+n+" for "+a);return f.rightPad(a,2*n)}if(e.startsWith("uint")){if(n%8||n<8||n>256)throw new Error("Invalid uint"+n+" size");if((s=d(a)).bitLength()>n)throw new Error("Supplied uint exceeds width: "+n+" vs "+s.bitLength());if(s.lt(new b(0)))throw new Error("Supplied uint "+s.toString()+" is negative");return n?f.leftPad(s.toString("hex"),n/8*2):s}if(e.startsWith("int")){if(n%8||n<8||n>256)throw new Error("Invalid int"+n+" size");if((s=d(a)).bitLength()>n)throw new Error("Supplied int exceeds width: "+n+" vs "+s.bitLength());return s.lt(new b(0))?s.toTwos(n).toString("hex"):n?f.leftPad(s.toString("hex"),n/8*2):s}throw new Error("Unsupported or invalid type: "+e)},i=function(e){if(n.isArray(e))throw new Error("Autodetection of array types is not supported.");var a,t,d="";if(n.isObject(e)&&(e.hasOwnProperty("v")||e.hasOwnProperty("t")||e.hasOwnProperty("value")||e.hasOwnProperty("type"))?(a=e.hasOwnProperty("t")?e.t:e.type,d=e.hasOwnProperty("v")?e.v:e.value):(a=f.toHex(e,!0),d=f.toHex(e),a.startsWith("int")||a.startsWith("uint")||(a="bytes")),!a.startsWith("int")&&!a.startsWith("uint")||"string"!=typeof d||/^(-)?0x/i.test(d)||(d=new b(d)),n.isArray(d)){if((t=function(e){var a=/^\D+\d*\[(\d+)\]$/.exec(e);return a?parseInt(a[1],10):null}(a))&&d.length!==t)throw new Error(a+" is not matching the given array "+JSON.stringify(d));t=d.length}return n.isArray(d)?d.map((function(e){return s(a,e,t).toString("hex").replace("0x","")})).join(""):s(a,d,t).toString("hex").replace("0x","")};e.exports=function(){var e=Array.prototype.slice.call(arguments),a=n.map(e,i);return f.sha3("0x"+a.join(""))}},function(e,a,t){const{sha3:n,BN:b}=t(40),f=t(88),d={savedABIs:[],methodIDs:{}};function s(e){return"tuple"===e.type?"("+e.components.map(s).join(",")+")":e.type}e.exports={getABIs:function(){return d.savedABIs},addABI:function(e){if(!Array.isArray(e))throw new Error("Expected ABI array, got "+typeof e);e.map((function(e){if(e.name){const a=n(e.name+"("+e.inputs.map(s).join(",")+")");"event"===e.type?d.methodIDs[a.slice(2)]=e:d.methodIDs[a.slice(2,10)]=e}})),d.savedABIs=d.savedABIs.concat(e)},getMethodIDs:function(){return d.methodIDs},decodeMethod:function(e){const a=e.slice(2,10),t=d.methodIDs[a];if(t){let a=f.decodeParameters(t.inputs,e.slice(10)),n={name:t.name,params:[]};for(let e=0;e<a.__length__;e++){let f=a[e],d=f;const s=0===t.inputs[e].type.indexOf("uint"),i=0===t.inputs[e].type.indexOf("int"),p=0===t.inputs[e].type.indexOf("address");if(s||i){d=Array.isArray(f)?f.map(e=>new b(e).toString()):new b(f).toString()}if(p){d=Array.isArray(f)?f.map(e=>e.toLowerCase()):f.toLowerCase()}n.params.push({name:t.inputs[e].name,value:d,type:t.inputs[e].type})}return n}},decodeLogs:function(e){return e.filter(e=>e.topics.length>0).map(e=>{const a=e.topics[0].slice(2),t=d.methodIDs[a];if(t){const a=e.data;let n=[],d=0,s=1,i=[];t.inputs.map((function(e){e.indexed||i.push(e.type)}));const p=f.decodeParameters(i,a.slice(2));return t.inputs.map((function(a){let t={name:a.name,type:a.type};if(a.indexed?(t.value=e.topics[s],s++):(t.value=p[d],d++),"address"===a.type&&(t.value=t.value.toLowerCase(),t.value.length>42)){let e=t.value.length-42,a=t.value.split("");a.splice(2,e),t.value=a.join("")}"uint256"!==a.type&&"uint8"!==a.type&&"int"!==a.type||("string"==typeof t.value&&t.value.startsWith("0x")?t.value=new b(t.value.slice(2),16).toString(10):t.value=new b(t.value).toString(10)),n.push(t)})),{name:t.name,events:n,address:e.address}}})},removeABI:function(e){if(!Array.isArray(e))throw new Error("Expected ABI array, got "+typeof e);e.map((function(e){if(e.name){const a=n(e.name+"("+e.inputs.map((function(e){return e.type})).join(",")+")");"event"===e.type?d.methodIDs[a.slice(2)]&&delete d.methodIDs[a.slice(2)]:d.methodIDs[a.slice(2,10)]&&delete d.methodIDs[a.slice(2,10)]}}))}}},function(e,a,t){var n=t(0).Buffer,b=t(89),f=t(71).AbiCoder,d=t(71).ParamType,s=new f((function(e,a){return!e.match(/^u?int/)||Array.isArray(a)||a&&"object"==typeof a&&"BN"===a.constructor.name?a:a.toString()}));function i(){}var p=function(){};p.prototype.encodeFunctionSignature=function(e){return("function"==typeof e||"object"==typeof e&&e)&&(e=b._jsonInterfaceMethodToString(e)),b.sha3(e).slice(0,10)},p.prototype.encodeEventSignature=function(e){return("function"==typeof e||"object"==typeof e&&e)&&(e=b._jsonInterfaceMethodToString(e)),b.sha3(e)},p.prototype.encodeParameter=function(e,a){return this.encodeParameters([e],[a])},p.prototype.encodeParameters=function(e,a){var t=this;return e=t.mapTypes(e),a=a.map((function(a,n){let b=e[n];if("object"==typeof b&&b.type&&(b=b.type),a=t.formatParam(b,a),"string"==typeof b&&b.includes("tuple")){const e=s._getCoder(d.from(b)),n=(e,a)=>{if("array"===e.name)return a.map(a=>n(s._getCoder(d.from(e.type.replace("[]",""))),a));e.coders.forEach((e,b)=>{"tuple"===e.name?n(e,a[b]):a[b]=t.formatParam(e.name,a[b])})};n(e,a)}return a})),s.encode(e,a)},p.prototype.mapTypes=function(e){var a=this,t=[];return e.forEach((function(e){if("object"==typeof e&&"function"===e.type&&(e=Object.assign({},e,{type:"bytes24"})),a.isSimplifiedStructFormat(e)){var n=Object.keys(e)[0];t.push(Object.assign(a.mapStructNameAndType(n),{components:a.mapStructToCoderFormat(e[n])}))}else t.push(e)})),t},p.prototype.isSimplifiedStructFormat=function(e){return"object"==typeof e&&void 0===e.components&&void 0===e.name},p.prototype.mapStructNameAndType=function(e){var a="tuple";return e.indexOf("[]")>-1&&(a="tuple[]",e=e.slice(0,-2)),{type:a,name:e}},p.prototype.mapStructToCoderFormat=function(e){var a=this,t=[];return Object.keys(e).forEach((function(n){"object"!=typeof e[n]?t.push({name:n,type:e[n]}):t.push(Object.assign(a.mapStructNameAndType(n),{components:a.mapStructToCoderFormat(e[n])}))})),t},p.prototype.formatParam=function(e,a){const t=new RegExp(/^bytes([0-9]*)$/),f=new RegExp(/^bytes([0-9]*)\[\]$/),d=new RegExp(/^(u?int)([0-9]*)$/),s=new RegExp(/^(u?int)([0-9]*)\[\]$/);if(b.isBN(a)||b.isBigNumber(a))return a.toString(10);if(e.match(f)||e.match(s))return a.map(a=>this.formatParam(e.replace("[]",""),a));let i=e.match(d);if(i){let e=parseInt(i[2]||"256");e/8<a.length&&(a=b.leftPad(a,e))}if(i=e.match(t),i){n.isBuffer(a)&&(a=b.toHex(a));let e=parseInt(i[1]);if(e){let t=2*e;"0x"===a.substring(0,2)&&(t+=2),a.length<t&&(a=b.rightPad(a,2*e))}a.length%2==1&&(a="0x0"+a.substring(2))}return a},p.prototype.encodeFunctionCall=function(e,a){return this.encodeFunctionSignature(e)+this.encodeParameters(e.inputs,a).replace("0x","")},p.prototype.decodeParameter=function(e,a){return this.decodeParameters([e],a)[0]},p.prototype.decodeParameters=function(e,a){return this.decodeParametersWith(e,a,!1)},p.prototype.decodeParametersWith=function(e,a,t){if(e.length>0&&(!a||"0x"===a||"0X"===a))throw new Error("Returned values aren't valid, did it run Out of Gas? You might also see this error if you are not using the correct ABI for the contract you are retrieving data from, requesting data from a block number that does not exist, or querying a node which is not fully synced.");var n=s.decode(this.mapTypes(e),"0x"+a.replace(/0x/i,""),t),b=new i;return b.__length__=0,e.forEach((function(e,a){var t=n[b.__length__];const f="object"==typeof e&&e.type&&"string"===e.type;t="0x"!==t||f||"string"==typeof e&&"string"===e?t:null,b[a]=t,("function"==typeof e||e&&"object"==typeof e)&&e.name&&(b[e.name]=t),b.__length__++})),b},p.prototype.decodeLog=function(e,a,t){var n=this;t=Array.isArray(t)?t:[t],a=a||"";var b=[],f=[],d=0;e.forEach((function(e,a){e.indexed?(f[a]=["bool","int","uint","address","fixed","ufixed"].find((function(a){return-1!==e.type.indexOf(a)}))?n.decodeParameter(e.type,t[d]):t[d],d++):b[a]=e}));var s=a,p=s?this.decodeParametersWith(b,s,!0):[],u=new i;return u.__length__=0,e.forEach((function(e,a){u[a]="string"===e.type?"":null,void 0!==p[a]&&(u[a]=p[a]),void 0!==f[a]&&(u[a]=f[a]),e.name&&(u[e.name]=u[a]),u.__length__++})),u};var u=new p;e.exports=u},function(e,a,t){var n=t(41),b=t(46),f=t(165),d=t(27),s=t(28),i=function(e,a){var t=[];return a.forEach((function(a){if("object"==typeof a.components){if("tuple"!==a.type.substring(0,5))throw new Error("components found but type is not tuple; report on GitHub");var n="",b=a.type.indexOf("[");b>=0&&(n=a.type.substring(b));var f=i(e,a.components);Array.isArray(f)&&e?t.push("tuple("+f.join(",")+")"+n):e?t.push("("+f+")"):t.push("("+f.join(",")+")"+n)}else t.push(a.type)})),t},p=function(e){if(!b.isHexStrict(e))throw new Error("The parameter must be a valid HEX string.");var a="",t=0,n=e.length;for("0x"===e.substring(0,2)&&(t=2);t<n;t+=2){var f=parseInt(e.substr(t,2),16);a+=String.fromCharCode(f)}return a},u=function(e){if(!e)return"0x00";for(var a="",t=0;t<e.length;t++){var n=e.charCodeAt(t).toString(16);a+=n.length<2?"0"+n:n}return"0x"+a},y=function(e){if(e=e?e.toLowerCase():"ether",!n.unitMap[e])throw new Error('This unit "'+e+"\" doesn't exist, please use the one of the following units"+JSON.stringify(n.unitMap,null,2));return e};e.exports={_fireError:function(e,a,t,n,b){return!e||"object"!=typeof e||e instanceof Error||!e.data||((e.data&&"object"==typeof e.data||Array.isArray(e.data))&&(e.data=JSON.stringify(e.data,null,2)),e=e.message+"\n"+e.data),"string"==typeof e&&(e=new Error(e)),"function"==typeof n&&n(e,b),"function"==typeof t&&((a&&"function"==typeof a.listeners&&a.listeners("error").length||"function"==typeof n)&&a.catch((function(){})),setTimeout((function(){t(e)}),1)),a&&"function"==typeof a.emit&&setTimeout((function(){a.emit("error",e,b),a.removeAllListeners()}),1),a},_jsonInterfaceMethodToString:function(e){return e&&"object"==typeof e&&e.name&&-1!==e.name.indexOf("(")?e.name:e.name+"("+i(!1,e.inputs).join(",")+")"},_flattenTypes:i,randomHex:function(e){return"0x"+d(e).toString("hex")},BN:b.BN,isBN:b.isBN,isBigNumber:b.isBigNumber,isHex:b.isHex,isHexStrict:b.isHexStrict,sha3:b.sha3,sha3Raw:b.sha3Raw,keccak256:b.sha3,soliditySha3:f.soliditySha3,soliditySha3Raw:f.soliditySha3Raw,encodePacked:f.encodePacked,isAddress:b.isAddress,checkAddressChecksum:b.checkAddressChecksum,toChecksumAddress:function(e){if(void 0===e)return"";if(!/^(0x)?[0-9a-f]{40}$/i.test(e))throw new Error('Given address "'+e+'" is not a valid Ethereum address.');e=e.toLowerCase().replace(/^0x/i,"");for(var a=b.sha3(e).replace(/^0x/i,""),t="0x",n=0;n<e.length;n++)parseInt(a[n],16)>7?t+=e[n].toUpperCase():t+=e[n];return t},toHex:b.toHex,toBN:b.toBN,bytesToHex:b.bytesToHex,hexToBytes:b.hexToBytes,hexToNumberString:b.hexToNumberString,hexToNumber:b.hexToNumber,toDecimal:b.hexToNumber,numberToHex:b.numberToHex,fromDecimal:b.numberToHex,hexToUtf8:b.hexToUtf8,hexToString:b.hexToUtf8,toUtf8:b.hexToUtf8,stripHexPrefix:b.stripHexPrefix,utf8ToHex:b.utf8ToHex,stringToHex:b.utf8ToHex,fromUtf8:b.utf8ToHex,hexToAscii:p,toAscii:p,asciiToHex:u,fromAscii:u,unitMap:n.unitMap,toWei:function(e,a){if(a=y(a),!b.isBN(e)&&"string"!=typeof e)throw new Error("Please pass numbers as strings or BN objects to avoid precision errors.");return b.isBN(e)?n.toWei(e,a):n.toWei(e,a).toString(10)},fromWei:function(e,a){if(a=y(a),!b.isBN(e)&&"string"!=typeof e)throw new Error("Please pass numbers as strings or BN objects to avoid precision errors.");return b.isBN(e)?n.fromWei(e,a):n.fromWei(e,a).toString(10)},padLeft:b.leftPad,leftPad:b.leftPad,padRight:b.rightPad,rightPad:b.rightPad,toTwosComplement:b.toTwosComplement,isBloom:b.isBloom,isUserEthereumAddressInBloom:b.isUserEthereumAddressInBloom,isContractAddressInBloom:b.isContractAddressInBloom,isTopic:b.isTopic,isTopicInBloom:b.isTopicInBloom,isInBloom:b.isInBloom,compareBlockNumbers:function(e,a){if(e==a)return 0;if("genesis"!=e&&"earliest"!=e&&0!=e||"genesis"!=a&&"earliest"!=a&&0!=a){if("genesis"==e||"earliest"==e)return-1;if("genesis"==a||"earliest"==a)return 1;if("latest"==e)return"pending"==a?-1:1;if("latest"===a)return"pending"==e?1:-1;if("pending"==e)return 1;if("pending"==a)return-1;{let t=new s(e),n=new s(a);return t.lt(n)?-1:t.eq(n)?0:1}}return 0},toNumber:b.toNumber}},function(e,a){},function(e,a,t){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,a,t,n){void 0===n&&(n=t),Object.defineProperty(e,n,{enumerable:!0,get:function(){return a[t]}})}:function(e,a,t,n){void 0===n&&(n=t),e[n]=a[t]}),b=this&&this.__exportStar||function(e,a){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(a,t)||n(a,e,t)};Object.defineProperty(a,"__esModule",{value:!0}),a.isHexString=a.getKeys=a.fromAscii=a.fromUtf8=a.toAscii=a.arrayContainsArray=a.getBinarySize=a.padToEven=a.stripHexPrefix=a.isHexPrefixed=void 0,b(t(47),a),b(t(48),a),b(t(162),a),b(t(32),a),b(t(163),a),b(t(11),a),b(t(164),a),b(t(8),a),b(t(38),a);var f=t(13);Object.defineProperty(a,"isHexPrefixed",{enumerable:!0,get:function(){return f.isHexPrefixed}}),Object.defineProperty(a,"stripHexPrefix",{enumerable:!0,get:function(){return f.stripHexPrefix}}),Object.defineProperty(a,"padToEven",{enumerable:!0,get:function(){return f.padToEven}}),Object.defineProperty(a,"getBinarySize",{enumerable:!0,get:function(){return f.getBinarySize}}),Object.defineProperty(a,"arrayContainsArray",{enumerable:!0,get:function(){return f.arrayContainsArray}}),Object.defineProperty(a,"toAscii",{enumerable:!0,get:function(){return f.toAscii}}),Object.defineProperty(a,"fromUtf8",{enumerable:!0,get:function(){return f.fromUtf8}}),Object.defineProperty(a,"fromAscii",{enumerable:!0,get:function(){return f.fromAscii}}),Object.defineProperty(a,"getKeys",{enumerable:!0,get:function(){return f.getKeys}}),Object.defineProperty(a,"isHexString",{enumerable:!0,get:function(){return f.isHexString}})},function(e,a,t){(function(e){!function(e,a){"use strict";function n(e,a){if(!e)throw new Error(a||"Assertion failed")}function b(e,a){e.super_=a;var t=function(){};t.prototype=a.prototype,e.prototype=new t,e.prototype.constructor=e}function f(e,a,t){if(f.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==a&&"be"!==a||(t=a,a=10),this._init(e||0,a||10,t||"be"))}var d;"object"==typeof e?e.exports=f:a.BN=f,f.BN=f,f.wordSize=26;try{d="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:t(93).Buffer}catch(e){}function s(e,a){var t=e.charCodeAt(a);return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:void n(!1,"Invalid character in "+e)}function i(e,a,t){var n=s(e,t);return t-1>=a&&(n|=s(e,t-1)<<4),n}function p(e,a,t,b){for(var f=0,d=0,s=Math.min(e.length,t),i=a;i<s;i++){var p=e.charCodeAt(i)-48;f*=b,d=p>=49?p-49+10:p>=17?p-17+10:p,n(p>=0&&d<b,"Invalid character"),f+=d}return f}function u(e,a){e.words=a.words,e.length=a.length,e.negative=a.negative,e.red=a.red}if(f.isBN=function(e){return e instanceof f||null!==e&&"object"==typeof e&&e.constructor.wordSize===f.wordSize&&Array.isArray(e.words)},f.max=function(e,a){return e.cmp(a)>0?e:a},f.min=function(e,a){return e.cmp(a)<0?e:a},f.prototype._init=function(e,a,t){if("number"==typeof e)return this._initNumber(e,a,t);if("object"==typeof e)return this._initArray(e,a,t);"hex"===a&&(a=16),n(a===(0|a)&&a>=2&&a<=36);var b=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(b++,this.negative=1),b<e.length&&(16===a?this._parseHex(e,b,t):(this._parseBase(e,a,b),"le"===t&&this._initArray(this.toArray(),a,t)))},f.prototype._initNumber=function(e,a,t){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===t&&this._initArray(this.toArray(),a,t)},f.prototype._initArray=function(e,a,t){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var b=0;b<this.length;b++)this.words[b]=0;var f,d,s=0;if("be"===t)for(b=e.length-1,f=0;b>=0;b-=3)d=e[b]|e[b-1]<<8|e[b-2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);else if("le"===t)for(b=0,f=0;b<e.length;b+=3)d=e[b]|e[b+1]<<8|e[b+2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);return this._strip()},f.prototype._parseHex=function(e,a,t){this.length=Math.ceil((e.length-a)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var b,f=0,d=0;if("be"===t)for(n=e.length-1;n>=a;n-=2)b=i(e,a,n)<<f,this.words[d]|=67108863&b,f>=18?(f-=18,d+=1,this.words[d]|=b>>>26):f+=8;else for(n=(e.length-a)%2==0?a+1:a;n<e.length;n+=2)b=i(e,a,n)<<f,this.words[d]|=67108863&b,f>=18?(f-=18,d+=1,this.words[d]|=b>>>26):f+=8;this._strip()},f.prototype._parseBase=function(e,a,t){this.words=[0],this.length=1;for(var n=0,b=1;b<=67108863;b*=a)n++;n--,b=b/a|0;for(var f=e.length-t,d=f%n,s=Math.min(f,f-d)+t,i=0,u=t;u<s;u+=n)i=p(e,u,u+n,a),this.imuln(b),this.words[0]+i<67108864?this.words[0]+=i:this._iaddn(i);if(0!==d){var y=1;for(i=p(e,u,e.length,a),u=0;u<d;u++)y*=a;this.imuln(y),this.words[0]+i<67108864?this.words[0]+=i:this._iaddn(i)}this._strip()},f.prototype.copy=function(e){e.words=new Array(this.length);for(var a=0;a<this.length;a++)e.words[a]=this.words[a];e.length=this.length,e.negative=this.negative,e.red=this.red},f.prototype._move=function(e){u(e,this)},f.prototype.clone=function(){var e=new f(null);return this.copy(e),e},f.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},f.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},f.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{f.prototype[Symbol.for("nodejs.util.inspect.custom")]=y}catch(e){f.prototype.inspect=y}else f.prototype.inspect=y;function y(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var r=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];f.prototype.toString=function(e,a){var t;if(a=0|a||1,16===(e=e||10)||"hex"===e){t="";for(var b=0,f=0,d=0;d<this.length;d++){var s=this.words[d],i=(16777215&(s<<b|f)).toString(16);t=0!==(f=s>>>24-b&16777215)||d!==this.length-1?r[6-i.length]+i+t:i+t,(b+=2)>=26&&(b-=26,d--)}for(0!==f&&(t=f.toString(16)+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}if(e===(0|e)&&e>=2&&e<=36){var p=c[e],u=l[e];t="";var y=this.clone();for(y.negative=0;!y.isZero();){var o=y.modrn(u).toString(e);t=(y=y.idivn(u)).isZero()?o+t:r[p-o.length]+o+t}for(this.isZero()&&(t="0"+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}n(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},f.prototype.toJSON=function(){return this.toString(16,2)},d&&(f.prototype.toBuffer=function(e,a){return this.toArrayLike(d,e,a)}),f.prototype.toArray=function(e,a){return this.toArrayLike(Array,e,a)};function o(e,a,t){t.negative=a.negative^e.negative;var n=e.length+a.length|0;t.length=n,n=n-1|0;var b=0|e.words[0],f=0|a.words[0],d=b*f,s=67108863&d,i=d/67108864|0;t.words[0]=s;for(var p=1;p<n;p++){for(var u=i>>>26,y=67108863&i,r=Math.min(p,a.length-1),c=Math.max(0,p-e.length+1);c<=r;c++){var l=p-c|0;u+=(d=(b=0|e.words[l])*(f=0|a.words[c])+y)/67108864|0,y=67108863&d}t.words[p]=0|y,i=0|u}return 0!==i?t.words[p]=0|i:t.length--,t._strip()}f.prototype.toArrayLike=function(e,a,t){this._strip();var b=this.byteLength(),f=t||Math.max(1,b);n(b<=f,"byte array longer than desired length"),n(f>0,"Requested array length <= 0");var d=function(e,a){return e.allocUnsafe?e.allocUnsafe(a):new e(a)}(e,f);return this["_toArrayLike"+("le"===a?"LE":"BE")](d,b),d},f.prototype._toArrayLikeLE=function(e,a){for(var t=0,n=0,b=0,f=0;b<this.length;b++){var d=this.words[b]<<f|n;e[t++]=255&d,t<e.length&&(e[t++]=d>>8&255),t<e.length&&(e[t++]=d>>16&255),6===f?(t<e.length&&(e[t++]=d>>24&255),n=0,f=0):(n=d>>>24,f+=2)}if(t<e.length)for(e[t++]=n;t<e.length;)e[t++]=0},f.prototype._toArrayLikeBE=function(e,a){for(var t=e.length-1,n=0,b=0,f=0;b<this.length;b++){var d=this.words[b]<<f|n;e[t--]=255&d,t>=0&&(e[t--]=d>>8&255),t>=0&&(e[t--]=d>>16&255),6===f?(t>=0&&(e[t--]=d>>24&255),n=0,f=0):(n=d>>>24,f+=2)}if(t>=0)for(e[t--]=n;t>=0;)e[t--]=0},Math.clz32?f.prototype._countBits=function(e){return 32-Math.clz32(e)}:f.prototype._countBits=function(e){var a=e,t=0;return a>=4096&&(t+=13,a>>>=13),a>=64&&(t+=7,a>>>=7),a>=8&&(t+=4,a>>>=4),a>=2&&(t+=2,a>>>=2),t+a},f.prototype._zeroBits=function(e){if(0===e)return 26;var a=e,t=0;return 0==(8191&a)&&(t+=13,a>>>=13),0==(127&a)&&(t+=7,a>>>=7),0==(15&a)&&(t+=4,a>>>=4),0==(3&a)&&(t+=2,a>>>=2),0==(1&a)&&t++,t},f.prototype.bitLength=function(){var e=this.words[this.length-1],a=this._countBits(e);return 26*(this.length-1)+a},f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,a=0;a<this.length;a++){var t=this._zeroBits(this.words[a]);if(e+=t,26!==t)break}return e},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},f.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return 0!==this.negative},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var a=0;a<e.length;a++)this.words[a]=this.words[a]|e.words[a];return this._strip()},f.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},f.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},f.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},f.prototype.iuand=function(e){var a;a=this.length>e.length?e:this;for(var t=0;t<a.length;t++)this.words[t]=this.words[t]&e.words[t];return this.length=a.length,this._strip()},f.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},f.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},f.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},f.prototype.iuxor=function(e){var a,t;this.length>e.length?(a=this,t=e):(a=e,t=this);for(var n=0;n<t.length;n++)this.words[n]=a.words[n]^t.words[n];if(this!==a)for(;n<a.length;n++)this.words[n]=a.words[n];return this.length=a.length,this._strip()},f.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},f.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},f.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},f.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var a=0|Math.ceil(e/26),t=e%26;this._expand(a),t>0&&a--;for(var b=0;b<a;b++)this.words[b]=67108863&~this.words[b];return t>0&&(this.words[b]=~this.words[b]&67108863>>26-t),this._strip()},f.prototype.notn=function(e){return this.clone().inotn(e)},f.prototype.setn=function(e,a){n("number"==typeof e&&e>=0);var t=e/26|0,b=e%26;return this._expand(t+1),this.words[t]=a?this.words[t]|1<<b:this.words[t]&~(1<<b),this._strip()},f.prototype.iadd=function(e){var a,t,n;if(0!==this.negative&&0===e.negative)return this.negative=0,a=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,a=this.isub(e),e.negative=1,a._normSign();this.length>e.length?(t=this,n=e):(t=e,n=this);for(var b=0,f=0;f<n.length;f++)a=(0|t.words[f])+(0|n.words[f])+b,this.words[f]=67108863&a,b=a>>>26;for(;0!==b&&f<t.length;f++)a=(0|t.words[f])+b,this.words[f]=67108863&a,b=a>>>26;if(this.length=t.length,0!==b)this.words[this.length]=b,this.length++;else if(t!==this)for(;f<t.length;f++)this.words[f]=t.words[f];return this},f.prototype.add=function(e){var a;return 0!==e.negative&&0===this.negative?(e.negative=0,a=this.sub(e),e.negative^=1,a):0===e.negative&&0!==this.negative?(this.negative=0,a=e.sub(this),this.negative=1,a):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},f.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var a=this.iadd(e);return e.negative=1,a._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var t,n,b=this.cmp(e);if(0===b)return this.negative=0,this.length=1,this.words[0]=0,this;b>0?(t=this,n=e):(t=e,n=this);for(var f=0,d=0;d<n.length;d++)f=(a=(0|t.words[d])-(0|n.words[d])+f)>>26,this.words[d]=67108863&a;for(;0!==f&&d<t.length;d++)f=(a=(0|t.words[d])+f)>>26,this.words[d]=67108863&a;if(0===f&&d<t.length&&t!==this)for(;d<t.length;d++)this.words[d]=t.words[d];return this.length=Math.max(this.length,d),t!==this&&(this.negative=1),this._strip()},f.prototype.sub=function(e){return this.clone().isub(e)};var m=function(e,a,t){var n,b,f,d=e.words,s=a.words,i=t.words,p=0,u=0|d[0],y=8191&u,r=u>>>13,c=0|d[1],l=8191&c,o=c>>>13,m=0|d[2],T=8191&m,w=m>>>13,h=0|d[3],v=8191&h,x=h>>>13,M=0|d[4],g=8191&M,A=M>>>13,C=0|d[5],E=8191&C,S=C>>>13,D=0|d[6],_=8191&D,k=D>>>13,F=0|d[7],R=8191&F,B=F>>>13,O=0|d[8],I=8191&O,N=O>>>13,P=0|d[9],K=8191&P,L=P>>>13,U=0|s[0],V=8191&U,z=U>>>13,q=0|s[1],W=8191&q,H=q>>>13,Q=0|s[2],X=8191&Q,Z=Q>>>13,j=0|s[3],G=8191&j,$=j>>>13,Y=0|s[4],J=8191&Y,ee=Y>>>13,ae=0|s[5],te=8191&ae,ne=ae>>>13,be=0|s[6],fe=8191&be,de=be>>>13,se=0|s[7],ie=8191&se,pe=se>>>13,ue=0|s[8],ye=8191&ue,re=ue>>>13,ce=0|s[9],le=8191&ce,oe=ce>>>13;t.negative=e.negative^a.negative,t.length=19;var me=(p+(n=Math.imul(y,V))|0)+((8191&(b=(b=Math.imul(y,z))+Math.imul(r,V)|0))<<13)|0;p=((f=Math.imul(r,z))+(b>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(l,V),b=(b=Math.imul(l,z))+Math.imul(o,V)|0,f=Math.imul(o,z);var Te=(p+(n=n+Math.imul(y,W)|0)|0)+((8191&(b=(b=b+Math.imul(y,H)|0)+Math.imul(r,W)|0))<<13)|0;p=((f=f+Math.imul(r,H)|0)+(b>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(T,V),b=(b=Math.imul(T,z))+Math.imul(w,V)|0,f=Math.imul(w,z),n=n+Math.imul(l,W)|0,b=(b=b+Math.imul(l,H)|0)+Math.imul(o,W)|0,f=f+Math.imul(o,H)|0;var we=(p+(n=n+Math.imul(y,X)|0)|0)+((8191&(b=(b=b+Math.imul(y,Z)|0)+Math.imul(r,X)|0))<<13)|0;p=((f=f+Math.imul(r,Z)|0)+(b>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(v,V),b=(b=Math.imul(v,z))+Math.imul(x,V)|0,f=Math.imul(x,z),n=n+Math.imul(T,W)|0,b=(b=b+Math.imul(T,H)|0)+Math.imul(w,W)|0,f=f+Math.imul(w,H)|0,n=n+Math.imul(l,X)|0,b=(b=b+Math.imul(l,Z)|0)+Math.imul(o,X)|0,f=f+Math.imul(o,Z)|0;var he=(p+(n=n+Math.imul(y,G)|0)|0)+((8191&(b=(b=b+Math.imul(y,$)|0)+Math.imul(r,G)|0))<<13)|0;p=((f=f+Math.imul(r,$)|0)+(b>>>13)|0)+(he>>>26)|0,he&=67108863,n=Math.imul(g,V),b=(b=Math.imul(g,z))+Math.imul(A,V)|0,f=Math.imul(A,z),n=n+Math.imul(v,W)|0,b=(b=b+Math.imul(v,H)|0)+Math.imul(x,W)|0,f=f+Math.imul(x,H)|0,n=n+Math.imul(T,X)|0,b=(b=b+Math.imul(T,Z)|0)+Math.imul(w,X)|0,f=f+Math.imul(w,Z)|0,n=n+Math.imul(l,G)|0,b=(b=b+Math.imul(l,$)|0)+Math.imul(o,G)|0,f=f+Math.imul(o,$)|0;var ve=(p+(n=n+Math.imul(y,J)|0)|0)+((8191&(b=(b=b+Math.imul(y,ee)|0)+Math.imul(r,J)|0))<<13)|0;p=((f=f+Math.imul(r,ee)|0)+(b>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(E,V),b=(b=Math.imul(E,z))+Math.imul(S,V)|0,f=Math.imul(S,z),n=n+Math.imul(g,W)|0,b=(b=b+Math.imul(g,H)|0)+Math.imul(A,W)|0,f=f+Math.imul(A,H)|0,n=n+Math.imul(v,X)|0,b=(b=b+Math.imul(v,Z)|0)+Math.imul(x,X)|0,f=f+Math.imul(x,Z)|0,n=n+Math.imul(T,G)|0,b=(b=b+Math.imul(T,$)|0)+Math.imul(w,G)|0,f=f+Math.imul(w,$)|0,n=n+Math.imul(l,J)|0,b=(b=b+Math.imul(l,ee)|0)+Math.imul(o,J)|0,f=f+Math.imul(o,ee)|0;var xe=(p+(n=n+Math.imul(y,te)|0)|0)+((8191&(b=(b=b+Math.imul(y,ne)|0)+Math.imul(r,te)|0))<<13)|0;p=((f=f+Math.imul(r,ne)|0)+(b>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(_,V),b=(b=Math.imul(_,z))+Math.imul(k,V)|0,f=Math.imul(k,z),n=n+Math.imul(E,W)|0,b=(b=b+Math.imul(E,H)|0)+Math.imul(S,W)|0,f=f+Math.imul(S,H)|0,n=n+Math.imul(g,X)|0,b=(b=b+Math.imul(g,Z)|0)+Math.imul(A,X)|0,f=f+Math.imul(A,Z)|0,n=n+Math.imul(v,G)|0,b=(b=b+Math.imul(v,$)|0)+Math.imul(x,G)|0,f=f+Math.imul(x,$)|0,n=n+Math.imul(T,J)|0,b=(b=b+Math.imul(T,ee)|0)+Math.imul(w,J)|0,f=f+Math.imul(w,ee)|0,n=n+Math.imul(l,te)|0,b=(b=b+Math.imul(l,ne)|0)+Math.imul(o,te)|0,f=f+Math.imul(o,ne)|0;var Me=(p+(n=n+Math.imul(y,fe)|0)|0)+((8191&(b=(b=b+Math.imul(y,de)|0)+Math.imul(r,fe)|0))<<13)|0;p=((f=f+Math.imul(r,de)|0)+(b>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(R,V),b=(b=Math.imul(R,z))+Math.imul(B,V)|0,f=Math.imul(B,z),n=n+Math.imul(_,W)|0,b=(b=b+Math.imul(_,H)|0)+Math.imul(k,W)|0,f=f+Math.imul(k,H)|0,n=n+Math.imul(E,X)|0,b=(b=b+Math.imul(E,Z)|0)+Math.imul(S,X)|0,f=f+Math.imul(S,Z)|0,n=n+Math.imul(g,G)|0,b=(b=b+Math.imul(g,$)|0)+Math.imul(A,G)|0,f=f+Math.imul(A,$)|0,n=n+Math.imul(v,J)|0,b=(b=b+Math.imul(v,ee)|0)+Math.imul(x,J)|0,f=f+Math.imul(x,ee)|0,n=n+Math.imul(T,te)|0,b=(b=b+Math.imul(T,ne)|0)+Math.imul(w,te)|0,f=f+Math.imul(w,ne)|0,n=n+Math.imul(l,fe)|0,b=(b=b+Math.imul(l,de)|0)+Math.imul(o,fe)|0,f=f+Math.imul(o,de)|0;var ge=(p+(n=n+Math.imul(y,ie)|0)|0)+((8191&(b=(b=b+Math.imul(y,pe)|0)+Math.imul(r,ie)|0))<<13)|0;p=((f=f+Math.imul(r,pe)|0)+(b>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(I,V),b=(b=Math.imul(I,z))+Math.imul(N,V)|0,f=Math.imul(N,z),n=n+Math.imul(R,W)|0,b=(b=b+Math.imul(R,H)|0)+Math.imul(B,W)|0,f=f+Math.imul(B,H)|0,n=n+Math.imul(_,X)|0,b=(b=b+Math.imul(_,Z)|0)+Math.imul(k,X)|0,f=f+Math.imul(k,Z)|0,n=n+Math.imul(E,G)|0,b=(b=b+Math.imul(E,$)|0)+Math.imul(S,G)|0,f=f+Math.imul(S,$)|0,n=n+Math.imul(g,J)|0,b=(b=b+Math.imul(g,ee)|0)+Math.imul(A,J)|0,f=f+Math.imul(A,ee)|0,n=n+Math.imul(v,te)|0,b=(b=b+Math.imul(v,ne)|0)+Math.imul(x,te)|0,f=f+Math.imul(x,ne)|0,n=n+Math.imul(T,fe)|0,b=(b=b+Math.imul(T,de)|0)+Math.imul(w,fe)|0,f=f+Math.imul(w,de)|0,n=n+Math.imul(l,ie)|0,b=(b=b+Math.imul(l,pe)|0)+Math.imul(o,ie)|0,f=f+Math.imul(o,pe)|0;var Ae=(p+(n=n+Math.imul(y,ye)|0)|0)+((8191&(b=(b=b+Math.imul(y,re)|0)+Math.imul(r,ye)|0))<<13)|0;p=((f=f+Math.imul(r,re)|0)+(b>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(K,V),b=(b=Math.imul(K,z))+Math.imul(L,V)|0,f=Math.imul(L,z),n=n+Math.imul(I,W)|0,b=(b=b+Math.imul(I,H)|0)+Math.imul(N,W)|0,f=f+Math.imul(N,H)|0,n=n+Math.imul(R,X)|0,b=(b=b+Math.imul(R,Z)|0)+Math.imul(B,X)|0,f=f+Math.imul(B,Z)|0,n=n+Math.imul(_,G)|0,b=(b=b+Math.imul(_,$)|0)+Math.imul(k,G)|0,f=f+Math.imul(k,$)|0,n=n+Math.imul(E,J)|0,b=(b=b+Math.imul(E,ee)|0)+Math.imul(S,J)|0,f=f+Math.imul(S,ee)|0,n=n+Math.imul(g,te)|0,b=(b=b+Math.imul(g,ne)|0)+Math.imul(A,te)|0,f=f+Math.imul(A,ne)|0,n=n+Math.imul(v,fe)|0,b=(b=b+Math.imul(v,de)|0)+Math.imul(x,fe)|0,f=f+Math.imul(x,de)|0,n=n+Math.imul(T,ie)|0,b=(b=b+Math.imul(T,pe)|0)+Math.imul(w,ie)|0,f=f+Math.imul(w,pe)|0,n=n+Math.imul(l,ye)|0,b=(b=b+Math.imul(l,re)|0)+Math.imul(o,ye)|0,f=f+Math.imul(o,re)|0;var Ce=(p+(n=n+Math.imul(y,le)|0)|0)+((8191&(b=(b=b+Math.imul(y,oe)|0)+Math.imul(r,le)|0))<<13)|0;p=((f=f+Math.imul(r,oe)|0)+(b>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(K,W),b=(b=Math.imul(K,H))+Math.imul(L,W)|0,f=Math.imul(L,H),n=n+Math.imul(I,X)|0,b=(b=b+Math.imul(I,Z)|0)+Math.imul(N,X)|0,f=f+Math.imul(N,Z)|0,n=n+Math.imul(R,G)|0,b=(b=b+Math.imul(R,$)|0)+Math.imul(B,G)|0,f=f+Math.imul(B,$)|0,n=n+Math.imul(_,J)|0,b=(b=b+Math.imul(_,ee)|0)+Math.imul(k,J)|0,f=f+Math.imul(k,ee)|0,n=n+Math.imul(E,te)|0,b=(b=b+Math.imul(E,ne)|0)+Math.imul(S,te)|0,f=f+Math.imul(S,ne)|0,n=n+Math.imul(g,fe)|0,b=(b=b+Math.imul(g,de)|0)+Math.imul(A,fe)|0,f=f+Math.imul(A,de)|0,n=n+Math.imul(v,ie)|0,b=(b=b+Math.imul(v,pe)|0)+Math.imul(x,ie)|0,f=f+Math.imul(x,pe)|0,n=n+Math.imul(T,ye)|0,b=(b=b+Math.imul(T,re)|0)+Math.imul(w,ye)|0,f=f+Math.imul(w,re)|0;var Ee=(p+(n=n+Math.imul(l,le)|0)|0)+((8191&(b=(b=b+Math.imul(l,oe)|0)+Math.imul(o,le)|0))<<13)|0;p=((f=f+Math.imul(o,oe)|0)+(b>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(K,X),b=(b=Math.imul(K,Z))+Math.imul(L,X)|0,f=Math.imul(L,Z),n=n+Math.imul(I,G)|0,b=(b=b+Math.imul(I,$)|0)+Math.imul(N,G)|0,f=f+Math.imul(N,$)|0,n=n+Math.imul(R,J)|0,b=(b=b+Math.imul(R,ee)|0)+Math.imul(B,J)|0,f=f+Math.imul(B,ee)|0,n=n+Math.imul(_,te)|0,b=(b=b+Math.imul(_,ne)|0)+Math.imul(k,te)|0,f=f+Math.imul(k,ne)|0,n=n+Math.imul(E,fe)|0,b=(b=b+Math.imul(E,de)|0)+Math.imul(S,fe)|0,f=f+Math.imul(S,de)|0,n=n+Math.imul(g,ie)|0,b=(b=b+Math.imul(g,pe)|0)+Math.imul(A,ie)|0,f=f+Math.imul(A,pe)|0,n=n+Math.imul(v,ye)|0,b=(b=b+Math.imul(v,re)|0)+Math.imul(x,ye)|0,f=f+Math.imul(x,re)|0;var Se=(p+(n=n+Math.imul(T,le)|0)|0)+((8191&(b=(b=b+Math.imul(T,oe)|0)+Math.imul(w,le)|0))<<13)|0;p=((f=f+Math.imul(w,oe)|0)+(b>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(K,G),b=(b=Math.imul(K,$))+Math.imul(L,G)|0,f=Math.imul(L,$),n=n+Math.imul(I,J)|0,b=(b=b+Math.imul(I,ee)|0)+Math.imul(N,J)|0,f=f+Math.imul(N,ee)|0,n=n+Math.imul(R,te)|0,b=(b=b+Math.imul(R,ne)|0)+Math.imul(B,te)|0,f=f+Math.imul(B,ne)|0,n=n+Math.imul(_,fe)|0,b=(b=b+Math.imul(_,de)|0)+Math.imul(k,fe)|0,f=f+Math.imul(k,de)|0,n=n+Math.imul(E,ie)|0,b=(b=b+Math.imul(E,pe)|0)+Math.imul(S,ie)|0,f=f+Math.imul(S,pe)|0,n=n+Math.imul(g,ye)|0,b=(b=b+Math.imul(g,re)|0)+Math.imul(A,ye)|0,f=f+Math.imul(A,re)|0;var De=(p+(n=n+Math.imul(v,le)|0)|0)+((8191&(b=(b=b+Math.imul(v,oe)|0)+Math.imul(x,le)|0))<<13)|0;p=((f=f+Math.imul(x,oe)|0)+(b>>>13)|0)+(De>>>26)|0,De&=67108863,n=Math.imul(K,J),b=(b=Math.imul(K,ee))+Math.imul(L,J)|0,f=Math.imul(L,ee),n=n+Math.imul(I,te)|0,b=(b=b+Math.imul(I,ne)|0)+Math.imul(N,te)|0,f=f+Math.imul(N,ne)|0,n=n+Math.imul(R,fe)|0,b=(b=b+Math.imul(R,de)|0)+Math.imul(B,fe)|0,f=f+Math.imul(B,de)|0,n=n+Math.imul(_,ie)|0,b=(b=b+Math.imul(_,pe)|0)+Math.imul(k,ie)|0,f=f+Math.imul(k,pe)|0,n=n+Math.imul(E,ye)|0,b=(b=b+Math.imul(E,re)|0)+Math.imul(S,ye)|0,f=f+Math.imul(S,re)|0;var _e=(p+(n=n+Math.imul(g,le)|0)|0)+((8191&(b=(b=b+Math.imul(g,oe)|0)+Math.imul(A,le)|0))<<13)|0;p=((f=f+Math.imul(A,oe)|0)+(b>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(K,te),b=(b=Math.imul(K,ne))+Math.imul(L,te)|0,f=Math.imul(L,ne),n=n+Math.imul(I,fe)|0,b=(b=b+Math.imul(I,de)|0)+Math.imul(N,fe)|0,f=f+Math.imul(N,de)|0,n=n+Math.imul(R,ie)|0,b=(b=b+Math.imul(R,pe)|0)+Math.imul(B,ie)|0,f=f+Math.imul(B,pe)|0,n=n+Math.imul(_,ye)|0,b=(b=b+Math.imul(_,re)|0)+Math.imul(k,ye)|0,f=f+Math.imul(k,re)|0;var ke=(p+(n=n+Math.imul(E,le)|0)|0)+((8191&(b=(b=b+Math.imul(E,oe)|0)+Math.imul(S,le)|0))<<13)|0;p=((f=f+Math.imul(S,oe)|0)+(b>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(K,fe),b=(b=Math.imul(K,de))+Math.imul(L,fe)|0,f=Math.imul(L,de),n=n+Math.imul(I,ie)|0,b=(b=b+Math.imul(I,pe)|0)+Math.imul(N,ie)|0,f=f+Math.imul(N,pe)|0,n=n+Math.imul(R,ye)|0,b=(b=b+Math.imul(R,re)|0)+Math.imul(B,ye)|0,f=f+Math.imul(B,re)|0;var Fe=(p+(n=n+Math.imul(_,le)|0)|0)+((8191&(b=(b=b+Math.imul(_,oe)|0)+Math.imul(k,le)|0))<<13)|0;p=((f=f+Math.imul(k,oe)|0)+(b>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(K,ie),b=(b=Math.imul(K,pe))+Math.imul(L,ie)|0,f=Math.imul(L,pe),n=n+Math.imul(I,ye)|0,b=(b=b+Math.imul(I,re)|0)+Math.imul(N,ye)|0,f=f+Math.imul(N,re)|0;var Re=(p+(n=n+Math.imul(R,le)|0)|0)+((8191&(b=(b=b+Math.imul(R,oe)|0)+Math.imul(B,le)|0))<<13)|0;p=((f=f+Math.imul(B,oe)|0)+(b>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(K,ye),b=(b=Math.imul(K,re))+Math.imul(L,ye)|0,f=Math.imul(L,re);var Be=(p+(n=n+Math.imul(I,le)|0)|0)+((8191&(b=(b=b+Math.imul(I,oe)|0)+Math.imul(N,le)|0))<<13)|0;p=((f=f+Math.imul(N,oe)|0)+(b>>>13)|0)+(Be>>>26)|0,Be&=67108863;var Oe=(p+(n=Math.imul(K,le))|0)+((8191&(b=(b=Math.imul(K,oe))+Math.imul(L,le)|0))<<13)|0;return p=((f=Math.imul(L,oe))+(b>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,i[0]=me,i[1]=Te,i[2]=we,i[3]=he,i[4]=ve,i[5]=xe,i[6]=Me,i[7]=ge,i[8]=Ae,i[9]=Ce,i[10]=Ee,i[11]=Se,i[12]=De,i[13]=_e,i[14]=ke,i[15]=Fe,i[16]=Re,i[17]=Be,i[18]=Oe,0!==p&&(i[19]=p,t.length++),t};function T(e,a,t){t.negative=a.negative^e.negative,t.length=e.length+a.length;for(var n=0,b=0,f=0;f<t.length-1;f++){var d=b;b=0;for(var s=67108863&n,i=Math.min(f,a.length-1),p=Math.max(0,f-e.length+1);p<=i;p++){var u=f-p,y=(0|e.words[u])*(0|a.words[p]),r=67108863&y;s=67108863&(r=r+s|0),b+=(d=(d=d+(y/67108864|0)|0)+(r>>>26)|0)>>>26,d&=67108863}t.words[f]=s,n=d,d=b}return 0!==n?t.words[f]=n:t.length--,t._strip()}function w(e,a,t){return T(e,a,t)}function h(e,a){this.x=e,this.y=a}Math.imul||(m=o),f.prototype.mulTo=function(e,a){var t=this.length+e.length;return 10===this.length&&10===e.length?m(this,e,a):t<63?o(this,e,a):t<1024?T(this,e,a):w(this,e,a)},h.prototype.makeRBT=function(e){for(var a=new Array(e),t=f.prototype._countBits(e)-1,n=0;n<e;n++)a[n]=this.revBin(n,t,e);return a},h.prototype.revBin=function(e,a,t){if(0===e||e===t-1)return e;for(var n=0,b=0;b<a;b++)n|=(1&e)<<a-b-1,e>>=1;return n},h.prototype.permute=function(e,a,t,n,b,f){for(var d=0;d<f;d++)n[d]=a[e[d]],b[d]=t[e[d]]},h.prototype.transform=function(e,a,t,n,b,f){this.permute(f,e,a,t,n,b);for(var d=1;d<b;d<<=1)for(var s=d<<1,i=Math.cos(2*Math.PI/s),p=Math.sin(2*Math.PI/s),u=0;u<b;u+=s)for(var y=i,r=p,c=0;c<d;c++){var l=t[u+c],o=n[u+c],m=t[u+c+d],T=n[u+c+d],w=y*m-r*T;T=y*T+r*m,m=w,t[u+c]=l+m,n[u+c]=o+T,t[u+c+d]=l-m,n[u+c+d]=o-T,c!==s&&(w=i*y-p*r,r=i*r+p*y,y=w)}},h.prototype.guessLen13b=function(e,a){var t=1|Math.max(a,e),n=1&t,b=0;for(t=t/2|0;t;t>>>=1)b++;return 1<<b+1+n},h.prototype.conjugate=function(e,a,t){if(!(t<=1))for(var n=0;n<t/2;n++){var b=e[n];e[n]=e[t-n-1],e[t-n-1]=b,b=a[n],a[n]=-a[t-n-1],a[t-n-1]=-b}},h.prototype.normalize13b=function(e,a){for(var t=0,n=0;n<a/2;n++){var b=8192*Math.round(e[2*n+1]/a)+Math.round(e[2*n]/a)+t;e[n]=67108863&b,t=b<67108864?0:b/67108864|0}return e},h.prototype.convert13b=function(e,a,t,b){for(var f=0,d=0;d<a;d++)f+=0|e[d],t[2*d]=8191&f,f>>>=13,t[2*d+1]=8191&f,f>>>=13;for(d=2*a;d<b;++d)t[d]=0;n(0===f),n(0==(-8192&f))},h.prototype.stub=function(e){for(var a=new Array(e),t=0;t<e;t++)a[t]=0;return a},h.prototype.mulp=function(e,a,t){var n=2*this.guessLen13b(e.length,a.length),b=this.makeRBT(n),f=this.stub(n),d=new Array(n),s=new Array(n),i=new Array(n),p=new Array(n),u=new Array(n),y=new Array(n),r=t.words;r.length=n,this.convert13b(e.words,e.length,d,n),this.convert13b(a.words,a.length,p,n),this.transform(d,f,s,i,n,b),this.transform(p,f,u,y,n,b);for(var c=0;c<n;c++){var l=s[c]*u[c]-i[c]*y[c];i[c]=s[c]*y[c]+i[c]*u[c],s[c]=l}return this.conjugate(s,i,n),this.transform(s,i,r,f,n,b),this.conjugate(r,f,n),this.normalize13b(r,n),t.negative=e.negative^a.negative,t.length=e.length+a.length,t._strip()},f.prototype.mul=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),this.mulTo(e,a)},f.prototype.mulf=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),w(this,e,a)},f.prototype.imul=function(e){return this.clone().mulTo(e,this)},f.prototype.imuln=function(e){var a=e<0;a&&(e=-e),n("number"==typeof e),n(e<67108864);for(var t=0,b=0;b<this.length;b++){var f=(0|this.words[b])*e,d=(67108863&f)+(67108863&t);t>>=26,t+=f/67108864|0,t+=d>>>26,this.words[b]=67108863&d}return 0!==t&&(this.words[b]=t,this.length++),a?this.ineg():this},f.prototype.muln=function(e){return this.clone().imuln(e)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(e){var a=function(e){for(var a=new Array(e.bitLength()),t=0;t<a.length;t++){var n=t/26|0,b=t%26;a[t]=e.words[n]>>>b&1}return a}(e);if(0===a.length)return new f(1);for(var t=this,n=0;n<a.length&&0===a[n];n++,t=t.sqr());if(++n<a.length)for(var b=t.sqr();n<a.length;n++,b=b.sqr())0!==a[n]&&(t=t.mul(b));return t},f.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var a,t=e%26,b=(e-t)/26,f=67108863>>>26-t<<26-t;if(0!==t){var d=0;for(a=0;a<this.length;a++){var s=this.words[a]&f,i=(0|this.words[a])-s<<t;this.words[a]=i|d,d=s>>>26-t}d&&(this.words[a]=d,this.length++)}if(0!==b){for(a=this.length-1;a>=0;a--)this.words[a+b]=this.words[a];for(a=0;a<b;a++)this.words[a]=0;this.length+=b}return this._strip()},f.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},f.prototype.iushrn=function(e,a,t){var b;n("number"==typeof e&&e>=0),b=a?(a-a%26)/26:0;var f=e%26,d=Math.min((e-f)/26,this.length),s=67108863^67108863>>>f<<f,i=t;if(b-=d,b=Math.max(0,b),i){for(var p=0;p<d;p++)i.words[p]=this.words[p];i.length=d}if(0===d);else if(this.length>d)for(this.length-=d,p=0;p<this.length;p++)this.words[p]=this.words[p+d];else this.words[0]=0,this.length=1;var u=0;for(p=this.length-1;p>=0&&(0!==u||p>=b);p--){var y=0|this.words[p];this.words[p]=u<<26-f|y>>>f,u=y&s}return i&&0!==u&&(i.words[i.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},f.prototype.ishrn=function(e,a,t){return n(0===this.negative),this.iushrn(e,a,t)},f.prototype.shln=function(e){return this.clone().ishln(e)},f.prototype.ushln=function(e){return this.clone().iushln(e)},f.prototype.shrn=function(e){return this.clone().ishrn(e)},f.prototype.ushrn=function(e){return this.clone().iushrn(e)},f.prototype.testn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26,b=1<<a;return!(this.length<=t)&&!!(this.words[t]&b)},f.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=t)return this;if(0!==a&&t++,this.length=Math.min(t,this.length),0!==a){var b=67108863^67108863>>>a<<a;this.words[this.length-1]&=b}return this._strip()},f.prototype.maskn=function(e){return this.clone().imaskn(e)},f.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<=e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},f.prototype._iaddn=function(e){this.words[0]+=e;for(var a=0;a<this.length&&this.words[a]>=67108864;a++)this.words[a]-=67108864,a===this.length-1?this.words[a+1]=1:this.words[a+1]++;return this.length=Math.max(this.length,a+1),this},f.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var a=0;a<this.length&&this.words[a]<0;a++)this.words[a]+=67108864,this.words[a+1]-=1;return this._strip()},f.prototype.addn=function(e){return this.clone().iaddn(e)},f.prototype.subn=function(e){return this.clone().isubn(e)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(e,a,t){var b,f,d=e.length+t;this._expand(d);var s=0;for(b=0;b<e.length;b++){f=(0|this.words[b+t])+s;var i=(0|e.words[b])*a;s=((f-=67108863&i)>>26)-(i/67108864|0),this.words[b+t]=67108863&f}for(;b<this.length-t;b++)s=(f=(0|this.words[b+t])+s)>>26,this.words[b+t]=67108863&f;if(0===s)return this._strip();for(n(-1===s),s=0,b=0;b<this.length;b++)s=(f=-(0|this.words[b])+s)>>26,this.words[b]=67108863&f;return this.negative=1,this._strip()},f.prototype._wordDiv=function(e,a){var t=(this.length,e.length),n=this.clone(),b=e,d=0|b.words[b.length-1];0!==(t=26-this._countBits(d))&&(b=b.ushln(t),n.iushln(t),d=0|b.words[b.length-1]);var s,i=n.length-b.length;if("mod"!==a){(s=new f(null)).length=i+1,s.words=new Array(s.length);for(var p=0;p<s.length;p++)s.words[p]=0}var u=n.clone()._ishlnsubmul(b,1,i);0===u.negative&&(n=u,s&&(s.words[i]=1));for(var y=i-1;y>=0;y--){var r=67108864*(0|n.words[b.length+y])+(0|n.words[b.length+y-1]);for(r=Math.min(r/d|0,67108863),n._ishlnsubmul(b,r,y);0!==n.negative;)r--,n.negative=0,n._ishlnsubmul(b,1,y),n.isZero()||(n.negative^=1);s&&(s.words[y]=r)}return s&&s._strip(),n._strip(),"div"!==a&&0!==t&&n.iushrn(t),{div:s||null,mod:n}},f.prototype.divmod=function(e,a,t){return n(!e.isZero()),this.isZero()?{div:new f(0),mod:new f(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,a),"mod"!==a&&(b=s.div.neg()),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.iadd(e)),{div:b,mod:d}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),a),"mod"!==a&&(b=s.div.neg()),{div:b,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),a),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.isub(e)),{div:s.div,mod:d}):e.length>this.length||this.cmp(e)<0?{div:new f(0),mod:this}:1===e.length?"div"===a?{div:this.divn(e.words[0]),mod:null}:"mod"===a?{div:null,mod:new f(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new f(this.modrn(e.words[0]))}:this._wordDiv(e,a);var b,d,s},f.prototype.div=function(e){return this.divmod(e,"div",!1).div},f.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},f.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},f.prototype.divRound=function(e){var a=this.divmod(e);if(a.mod.isZero())return a.div;var t=0!==a.div.negative?a.mod.isub(e):a.mod,n=e.ushrn(1),b=e.andln(1),f=t.cmp(n);return f<0||1===b&&0===f?a.div:0!==a.div.negative?a.div.isubn(1):a.div.iaddn(1)},f.prototype.modrn=function(e){var a=e<0;a&&(e=-e),n(e<=67108863);for(var t=(1<<26)%e,b=0,f=this.length-1;f>=0;f--)b=(t*b+(0|this.words[f]))%e;return a?-b:b},f.prototype.modn=function(e){return this.modrn(e)},f.prototype.idivn=function(e){var a=e<0;a&&(e=-e),n(e<=67108863);for(var t=0,b=this.length-1;b>=0;b--){var f=(0|this.words[b])+67108864*t;this.words[b]=f/e|0,t=f%e}return this._strip(),a?this.ineg():this},f.prototype.divn=function(e){return this.clone().idivn(e)},f.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b=new f(1),d=new f(0),s=new f(0),i=new f(1),p=0;a.isEven()&&t.isEven();)a.iushrn(1),t.iushrn(1),++p;for(var u=t.clone(),y=a.clone();!a.isZero();){for(var r=0,c=1;0==(a.words[0]&c)&&r<26;++r,c<<=1);if(r>0)for(a.iushrn(r);r-- >0;)(b.isOdd()||d.isOdd())&&(b.iadd(u),d.isub(y)),b.iushrn(1),d.iushrn(1);for(var l=0,o=1;0==(t.words[0]&o)&&l<26;++l,o<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(s.isOdd()||i.isOdd())&&(s.iadd(u),i.isub(y)),s.iushrn(1),i.iushrn(1);a.cmp(t)>=0?(a.isub(t),b.isub(s),d.isub(i)):(t.isub(a),s.isub(b),i.isub(d))}return{a:s,b:i,gcd:t.iushln(p)}},f.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b,d=new f(1),s=new f(0),i=t.clone();a.cmpn(1)>0&&t.cmpn(1)>0;){for(var p=0,u=1;0==(a.words[0]&u)&&p<26;++p,u<<=1);if(p>0)for(a.iushrn(p);p-- >0;)d.isOdd()&&d.iadd(i),d.iushrn(1);for(var y=0,r=1;0==(t.words[0]&r)&&y<26;++y,r<<=1);if(y>0)for(t.iushrn(y);y-- >0;)s.isOdd()&&s.iadd(i),s.iushrn(1);a.cmp(t)>=0?(a.isub(t),d.isub(s)):(t.isub(a),s.isub(d))}return(b=0===a.cmpn(1)?d:s).cmpn(0)<0&&b.iadd(e),b},f.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var a=this.clone(),t=e.clone();a.negative=0,t.negative=0;for(var n=0;a.isEven()&&t.isEven();n++)a.iushrn(1),t.iushrn(1);for(;;){for(;a.isEven();)a.iushrn(1);for(;t.isEven();)t.iushrn(1);var b=a.cmp(t);if(b<0){var f=a;a=t,t=f}else if(0===b||0===t.cmpn(1))break;a.isub(t)}return t.iushln(n)},f.prototype.invm=function(e){return this.egcd(e).a.umod(e)},f.prototype.isEven=function(){return 0==(1&this.words[0])},f.prototype.isOdd=function(){return 1==(1&this.words[0])},f.prototype.andln=function(e){return this.words[0]&e},f.prototype.bincn=function(e){n("number"==typeof e);var a=e%26,t=(e-a)/26,b=1<<a;if(this.length<=t)return this._expand(t+1),this.words[t]|=b,this;for(var f=b,d=t;0!==f&&d<this.length;d++){var s=0|this.words[d];f=(s+=f)>>>26,s&=67108863,this.words[d]=s}return 0!==f&&(this.words[d]=f,this.length++),this},f.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},f.prototype.cmpn=function(e){var a,t=e<0;if(0!==this.negative&&!t)return-1;if(0===this.negative&&t)return 1;if(this._strip(),this.length>1)a=1;else{t&&(e=-e),n(e<=67108863,"Number is too big");var b=0|this.words[0];a=b===e?0:b<e?-1:1}return 0!==this.negative?0|-a:a},f.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var a=this.ucmp(e);return 0!==this.negative?0|-a:a},f.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var a=0,t=this.length-1;t>=0;t--){var n=0|this.words[t],b=0|e.words[t];if(n!==b){n<b?a=-1:n>b&&(a=1);break}}return a},f.prototype.gtn=function(e){return 1===this.cmpn(e)},f.prototype.gt=function(e){return 1===this.cmp(e)},f.prototype.gten=function(e){return this.cmpn(e)>=0},f.prototype.gte=function(e){return this.cmp(e)>=0},f.prototype.ltn=function(e){return-1===this.cmpn(e)},f.prototype.lt=function(e){return-1===this.cmp(e)},f.prototype.lten=function(e){return this.cmpn(e)<=0},f.prototype.lte=function(e){return this.cmp(e)<=0},f.prototype.eqn=function(e){return 0===this.cmpn(e)},f.prototype.eq=function(e){return 0===this.cmp(e)},f.red=function(e){return new E(e)},f.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},f.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(e){return this.red=e,this},f.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},f.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},f.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},f.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},f.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},f.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},f.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},f.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},f.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var v={k256:null,p224:null,p192:null,p25519:null};function x(e,a){this.name=e,this.p=new f(a,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function M(){x.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function g(){x.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){x.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){x.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var a=f._prime(e);this.m=a.p,this.prime=a}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new f(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}x.prototype._tmp=function(){var e=new f(null);return e.words=new Array(Math.ceil(this.n/13)),e},x.prototype.ireduce=function(e){var a,t=e;do{this.split(t,this.tmp),a=(t=(t=this.imulK(t)).iadd(this.tmp)).bitLength()}while(a>this.n);var n=a<this.n?-1:t.ucmp(this.p);return 0===n?(t.words[0]=0,t.length=1):n>0?t.isub(this.p):void 0!==t.strip?t.strip():t._strip(),t},x.prototype.split=function(e,a){e.iushrn(this.n,0,a)},x.prototype.imulK=function(e){return e.imul(this.k)},b(M,x),M.prototype.split=function(e,a){for(var t=Math.min(e.length,9),n=0;n<t;n++)a.words[n]=e.words[n];if(a.length=t,e.length<=9)return e.words[0]=0,void(e.length=1);var b=e.words[9];for(a.words[a.length++]=4194303&b,n=10;n<e.length;n++){var f=0|e.words[n];e.words[n-10]=(4194303&f)<<4|b>>>22,b=f}b>>>=22,e.words[n-10]=b,0===b&&e.length>10?e.length-=10:e.length-=9},M.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var a=0,t=0;t<e.length;t++){var n=0|e.words[t];a+=977*n,e.words[t]=67108863&a,a=64*n+(a/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},b(g,x),b(A,x),b(C,x),C.prototype.imulK=function(e){for(var a=0,t=0;t<e.length;t++){var n=19*(0|e.words[t])+a,b=67108863&n;n>>>=26,e.words[t]=b,a=n}return 0!==a&&(e.words[e.length++]=a),e},f._prime=function(e){if(v[e])return v[e];var a;if("k256"===e)a=new M;else if("p224"===e)a=new g;else if("p192"===e)a=new A;else{if("p25519"!==e)throw new Error("Unknown prime "+e);a=new C}return v[e]=a,a},E.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,a){n(0==(e.negative|a.negative),"red works only with positives"),n(e.red&&e.red===a.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(u(e,e.umod(this.m)._forceRed(this)),e)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,a){this._verify2(e,a);var t=e.add(a);return t.cmp(this.m)>=0&&t.isub(this.m),t._forceRed(this)},E.prototype.iadd=function(e,a){this._verify2(e,a);var t=e.iadd(a);return t.cmp(this.m)>=0&&t.isub(this.m),t},E.prototype.sub=function(e,a){this._verify2(e,a);var t=e.sub(a);return t.cmpn(0)<0&&t.iadd(this.m),t._forceRed(this)},E.prototype.isub=function(e,a){this._verify2(e,a);var t=e.isub(a);return t.cmpn(0)<0&&t.iadd(this.m),t},E.prototype.shl=function(e,a){return this._verify1(e),this.imod(e.ushln(a))},E.prototype.imul=function(e,a){return this._verify2(e,a),this.imod(e.imul(a))},E.prototype.mul=function(e,a){return this._verify2(e,a),this.imod(e.mul(a))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var a=this.m.andln(3);if(n(a%2==1),3===a){var t=this.m.add(new f(1)).iushrn(2);return this.pow(e,t)}for(var b=this.m.subn(1),d=0;!b.isZero()&&0===b.andln(1);)d++,b.iushrn(1);n(!b.isZero());var s=new f(1).toRed(this),i=s.redNeg(),p=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new f(2*u*u).toRed(this);0!==this.pow(u,p).cmp(i);)u.redIAdd(i);for(var y=this.pow(u,b),r=this.pow(e,b.addn(1).iushrn(1)),c=this.pow(e,b),l=d;0!==c.cmp(s);){for(var o=c,m=0;0!==o.cmp(s);m++)o=o.redSqr();n(m<l);var T=this.pow(y,new f(1).iushln(l-m-1));r=r.redMul(T),y=T.redSqr(),c=c.redMul(y),l=m}return r},E.prototype.invm=function(e){var a=e._invmp(this.m);return 0!==a.negative?(a.negative=0,this.imod(a).redNeg()):this.imod(a)},E.prototype.pow=function(e,a){if(a.isZero())return new f(1).toRed(this);if(0===a.cmpn(1))return e.clone();var t=new Array(16);t[0]=new f(1).toRed(this),t[1]=e;for(var n=2;n<t.length;n++)t[n]=this.mul(t[n-1],e);var b=t[0],d=0,s=0,i=a.bitLength()%26;for(0===i&&(i=26),n=a.length-1;n>=0;n--){for(var p=a.words[n],u=i-1;u>=0;u--){var y=p>>u&1;b!==t[0]&&(b=this.sqr(b)),0!==y||0!==d?(d<<=1,d|=y,(4===++s||0===n&&0===u)&&(b=this.mul(b,t[d]),s=0,d=0)):s=0}i=26}return b},E.prototype.convertTo=function(e){var a=e.umod(this.m);return a===e?a.clone():a},E.prototype.convertFrom=function(e){var a=e.clone();return a.red=null,a},f.mont=function(e){return new S(e)},b(S,E),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var a=this.imod(e.mul(this.rinv));return a.red=null,a},S.prototype.imul=function(e,a){if(e.isZero()||a.isZero())return e.words[0]=0,e.length=1,e;var t=e.imul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),f=b;return b.cmp(this.m)>=0?f=b.isub(this.m):b.cmpn(0)<0&&(f=b.iadd(this.m)),f._forceRed(this)},S.prototype.mul=function(e,a){if(e.isZero()||a.isZero())return new f(0)._forceRed(this);var t=e.mul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),d=b;return b.cmp(this.m)>=0?d=b.isub(this.m):b.cmpn(0)<0&&(d=b.iadd(this.m)),d._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,t(7)(e))},function(e,a){},function(e,a,t){"use strict";(function(e){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:!0}),a.getLength=a.decode=a.encode=void 0;var b=n(t(95));function f(e,a){if("0"===e[0]&&"0"===e[1])throw new Error("invalid RLP: extra zeros");return parseInt(e,a)}function d(a,t){if(a<56)return e.from([a+t]);var n=i(a),b=i(t+55+n.length/2);return e.from(b+n,"hex")}function s(e){return"0x"===e.slice(0,2)}function i(e){if(e<0)throw new Error("Invalid integer as argument, must be unsigned!");var a=e.toString(16);return a.length%2?"0"+a:a}function p(a){if(!e.isBuffer(a)){if("string"==typeof a)return s(a)?e.from((n="string"!=typeof(f=a)?f:s(f)?f.slice(2):f).length%2?"0"+n:n,"hex"):e.from(a);if("number"==typeof a||"bigint"==typeof a)return a?(t=i(a),e.from(t,"hex")):e.from([]);if(null==a)return e.from([]);if(a instanceof Uint8Array)return e.from(a);if(b.default.isBN(a))return e.from(a.toArray());throw new Error("invalid type")}var t,n,f;return a}a.encode=function a(t){if(Array.isArray(t)){for(var n=[],b=0;b<t.length;b++)n.push(a(t[b]));var f=e.concat(n);return e.concat([d(f.length,192),f])}var s=p(t);return 1===s.length&&s[0]<128?s:e.concat([d(s.length,128),s])},a.decode=function(a,t){if(void 0===t&&(t=!1),!a||0===a.length)return e.from([]);var n=function a(t){var n,b,d,s,i,p=[],u=t[0];if(u<=127)return{data:t.slice(0,1),remainder:t.slice(1)};if(u<=183){if(n=u-127,d=128===u?e.from([]):t.slice(1,n),2===n&&d[0]<128)throw new Error("invalid rlp encoding: byte must be less 0x80");return{data:d,remainder:t.slice(n)}}if(u<=191){if(b=u-182,t.length-1<b)throw new Error("invalid RLP: not enough bytes for string length");if((n=f(t.slice(1,b).toString("hex"),16))<=55)throw new Error("invalid RLP: expected string length to be greater than 55");if((d=t.slice(b,n+b)).length<n)throw new Error("invalid RLP: not enough bytes for string");return{data:d,remainder:t.slice(n+b)}}if(u<=247){for(n=u-191,s=t.slice(1,n);s.length;)i=a(s),p.push(i.data),s=i.remainder;return{data:p,remainder:t.slice(n)}}b=u-246,n=f(t.slice(1,b).toString("hex"),16);var y=b+n;if(y>t.length)throw new Error("invalid rlp: total length is larger than the data");if(0===(s=t.slice(b,y)).length)throw new Error("invalid rlp, List has a invalid length");for(;s.length;)i=a(s),p.push(i.data),s=i.remainder;return{data:p,remainder:t.slice(y)}}(p(a));if(t)return n;if(0!==n.remainder.length)throw new Error("invalid remainder");return n.data},a.getLength=function(a){if(!a||0===a.length)return e.from([]);var t=p(a),n=t[0];if(n<=127)return t.length;if(n<=183)return n-127;if(n<=191)return n-182;if(n<=247)return n-191;var b=n-246;return b+f(t.slice(1,b).toString("hex"),16)}}).call(this,t(0).Buffer)},function(e,a,t){(function(e){!function(e,a){"use strict";function n(e,a){if(!e)throw new Error(a||"Assertion failed")}function b(e,a){e.super_=a;var t=function(){};t.prototype=a.prototype,e.prototype=new t,e.prototype.constructor=e}function f(e,a,t){if(f.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==a&&"be"!==a||(t=a,a=10),this._init(e||0,a||10,t||"be"))}var d;"object"==typeof e?e.exports=f:a.BN=f,f.BN=f,f.wordSize=26;try{d="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:t(96).Buffer}catch(e){}function s(e,a){var t=e.charCodeAt(a);return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:void n(!1,"Invalid character in "+e)}function i(e,a,t){var n=s(e,t);return t-1>=a&&(n|=s(e,t-1)<<4),n}function p(e,a,t,b){for(var f=0,d=0,s=Math.min(e.length,t),i=a;i<s;i++){var p=e.charCodeAt(i)-48;f*=b,d=p>=49?p-49+10:p>=17?p-17+10:p,n(p>=0&&d<b,"Invalid character"),f+=d}return f}function u(e,a){e.words=a.words,e.length=a.length,e.negative=a.negative,e.red=a.red}if(f.isBN=function(e){return e instanceof f||null!==e&&"object"==typeof e&&e.constructor.wordSize===f.wordSize&&Array.isArray(e.words)},f.max=function(e,a){return e.cmp(a)>0?e:a},f.min=function(e,a){return e.cmp(a)<0?e:a},f.prototype._init=function(e,a,t){if("number"==typeof e)return this._initNumber(e,a,t);if("object"==typeof e)return this._initArray(e,a,t);"hex"===a&&(a=16),n(a===(0|a)&&a>=2&&a<=36);var b=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(b++,this.negative=1),b<e.length&&(16===a?this._parseHex(e,b,t):(this._parseBase(e,a,b),"le"===t&&this._initArray(this.toArray(),a,t)))},f.prototype._initNumber=function(e,a,t){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===t&&this._initArray(this.toArray(),a,t)},f.prototype._initArray=function(e,a,t){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var b=0;b<this.length;b++)this.words[b]=0;var f,d,s=0;if("be"===t)for(b=e.length-1,f=0;b>=0;b-=3)d=e[b]|e[b-1]<<8|e[b-2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);else if("le"===t)for(b=0,f=0;b<e.length;b+=3)d=e[b]|e[b+1]<<8|e[b+2]<<16,this.words[f]|=d<<s&67108863,this.words[f+1]=d>>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);return this._strip()},f.prototype._parseHex=function(e,a,t){this.length=Math.ceil((e.length-a)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var b,f=0,d=0;if("be"===t)for(n=e.length-1;n>=a;n-=2)b=i(e,a,n)<<f,this.words[d]|=67108863&b,f>=18?(f-=18,d+=1,this.words[d]|=b>>>26):f+=8;else for(n=(e.length-a)%2==0?a+1:a;n<e.length;n+=2)b=i(e,a,n)<<f,this.words[d]|=67108863&b,f>=18?(f-=18,d+=1,this.words[d]|=b>>>26):f+=8;this._strip()},f.prototype._parseBase=function(e,a,t){this.words=[0],this.length=1;for(var n=0,b=1;b<=67108863;b*=a)n++;n--,b=b/a|0;for(var f=e.length-t,d=f%n,s=Math.min(f,f-d)+t,i=0,u=t;u<s;u+=n)i=p(e,u,u+n,a),this.imuln(b),this.words[0]+i<67108864?this.words[0]+=i:this._iaddn(i);if(0!==d){var y=1;for(i=p(e,u,e.length,a),u=0;u<d;u++)y*=a;this.imuln(y),this.words[0]+i<67108864?this.words[0]+=i:this._iaddn(i)}this._strip()},f.prototype.copy=function(e){e.words=new Array(this.length);for(var a=0;a<this.length;a++)e.words[a]=this.words[a];e.length=this.length,e.negative=this.negative,e.red=this.red},f.prototype._move=function(e){u(e,this)},f.prototype.clone=function(){var e=new f(null);return this.copy(e),e},f.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},f.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},f.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{f.prototype[Symbol.for("nodejs.util.inspect.custom")]=y}catch(e){f.prototype.inspect=y}else f.prototype.inspect=y;function y(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var r=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];f.prototype.toString=function(e,a){var t;if(a=0|a||1,16===(e=e||10)||"hex"===e){t="";for(var b=0,f=0,d=0;d<this.length;d++){var s=this.words[d],i=(16777215&(s<<b|f)).toString(16);t=0!==(f=s>>>24-b&16777215)||d!==this.length-1?r[6-i.length]+i+t:i+t,(b+=2)>=26&&(b-=26,d--)}for(0!==f&&(t=f.toString(16)+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}if(e===(0|e)&&e>=2&&e<=36){var p=c[e],u=l[e];t="";var y=this.clone();for(y.negative=0;!y.isZero();){var o=y.modrn(u).toString(e);t=(y=y.idivn(u)).isZero()?o+t:r[p-o.length]+o+t}for(this.isZero()&&(t="0"+t);t.length%a!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}n(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},f.prototype.toJSON=function(){return this.toString(16,2)},d&&(f.prototype.toBuffer=function(e,a){return this.toArrayLike(d,e,a)}),f.prototype.toArray=function(e,a){return this.toArrayLike(Array,e,a)};function o(e,a,t){t.negative=a.negative^e.negative;var n=e.length+a.length|0;t.length=n,n=n-1|0;var b=0|e.words[0],f=0|a.words[0],d=b*f,s=67108863&d,i=d/67108864|0;t.words[0]=s;for(var p=1;p<n;p++){for(var u=i>>>26,y=67108863&i,r=Math.min(p,a.length-1),c=Math.max(0,p-e.length+1);c<=r;c++){var l=p-c|0;u+=(d=(b=0|e.words[l])*(f=0|a.words[c])+y)/67108864|0,y=67108863&d}t.words[p]=0|y,i=0|u}return 0!==i?t.words[p]=0|i:t.length--,t._strip()}f.prototype.toArrayLike=function(e,a,t){this._strip();var b=this.byteLength(),f=t||Math.max(1,b);n(b<=f,"byte array longer than desired length"),n(f>0,"Requested array length <= 0");var d=function(e,a){return e.allocUnsafe?e.allocUnsafe(a):new e(a)}(e,f);return this["_toArrayLike"+("le"===a?"LE":"BE")](d,b),d},f.prototype._toArrayLikeLE=function(e,a){for(var t=0,n=0,b=0,f=0;b<this.length;b++){var d=this.words[b]<<f|n;e[t++]=255&d,t<e.length&&(e[t++]=d>>8&255),t<e.length&&(e[t++]=d>>16&255),6===f?(t<e.length&&(e[t++]=d>>24&255),n=0,f=0):(n=d>>>24,f+=2)}if(t<e.length)for(e[t++]=n;t<e.length;)e[t++]=0},f.prototype._toArrayLikeBE=function(e,a){for(var t=e.length-1,n=0,b=0,f=0;b<this.length;b++){var d=this.words[b]<<f|n;e[t--]=255&d,t>=0&&(e[t--]=d>>8&255),t>=0&&(e[t--]=d>>16&255),6===f?(t>=0&&(e[t--]=d>>24&255),n=0,f=0):(n=d>>>24,f+=2)}if(t>=0)for(e[t--]=n;t>=0;)e[t--]=0},Math.clz32?f.prototype._countBits=function(e){return 32-Math.clz32(e)}:f.prototype._countBits=function(e){var a=e,t=0;return a>=4096&&(t+=13,a>>>=13),a>=64&&(t+=7,a>>>=7),a>=8&&(t+=4,a>>>=4),a>=2&&(t+=2,a>>>=2),t+a},f.prototype._zeroBits=function(e){if(0===e)return 26;var a=e,t=0;return 0==(8191&a)&&(t+=13,a>>>=13),0==(127&a)&&(t+=7,a>>>=7),0==(15&a)&&(t+=4,a>>>=4),0==(3&a)&&(t+=2,a>>>=2),0==(1&a)&&t++,t},f.prototype.bitLength=function(){var e=this.words[this.length-1],a=this._countBits(e);return 26*(this.length-1)+a},f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,a=0;a<this.length;a++){var t=this._zeroBits(this.words[a]);if(e+=t,26!==t)break}return e},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},f.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return 0!==this.negative},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var a=0;a<e.length;a++)this.words[a]=this.words[a]|e.words[a];return this._strip()},f.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},f.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},f.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},f.prototype.iuand=function(e){var a;a=this.length>e.length?e:this;for(var t=0;t<a.length;t++)this.words[t]=this.words[t]&e.words[t];return this.length=a.length,this._strip()},f.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},f.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},f.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},f.prototype.iuxor=function(e){var a,t;this.length>e.length?(a=this,t=e):(a=e,t=this);for(var n=0;n<t.length;n++)this.words[n]=a.words[n]^t.words[n];if(this!==a)for(;n<a.length;n++)this.words[n]=a.words[n];return this.length=a.length,this._strip()},f.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},f.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},f.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},f.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var a=0|Math.ceil(e/26),t=e%26;this._expand(a),t>0&&a--;for(var b=0;b<a;b++)this.words[b]=67108863&~this.words[b];return t>0&&(this.words[b]=~this.words[b]&67108863>>26-t),this._strip()},f.prototype.notn=function(e){return this.clone().inotn(e)},f.prototype.setn=function(e,a){n("number"==typeof e&&e>=0);var t=e/26|0,b=e%26;return this._expand(t+1),this.words[t]=a?this.words[t]|1<<b:this.words[t]&~(1<<b),this._strip()},f.prototype.iadd=function(e){var a,t,n;if(0!==this.negative&&0===e.negative)return this.negative=0,a=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,a=this.isub(e),e.negative=1,a._normSign();this.length>e.length?(t=this,n=e):(t=e,n=this);for(var b=0,f=0;f<n.length;f++)a=(0|t.words[f])+(0|n.words[f])+b,this.words[f]=67108863&a,b=a>>>26;for(;0!==b&&f<t.length;f++)a=(0|t.words[f])+b,this.words[f]=67108863&a,b=a>>>26;if(this.length=t.length,0!==b)this.words[this.length]=b,this.length++;else if(t!==this)for(;f<t.length;f++)this.words[f]=t.words[f];return this},f.prototype.add=function(e){var a;return 0!==e.negative&&0===this.negative?(e.negative=0,a=this.sub(e),e.negative^=1,a):0===e.negative&&0!==this.negative?(this.negative=0,a=e.sub(this),this.negative=1,a):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},f.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var a=this.iadd(e);return e.negative=1,a._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var t,n,b=this.cmp(e);if(0===b)return this.negative=0,this.length=1,this.words[0]=0,this;b>0?(t=this,n=e):(t=e,n=this);for(var f=0,d=0;d<n.length;d++)f=(a=(0|t.words[d])-(0|n.words[d])+f)>>26,this.words[d]=67108863&a;for(;0!==f&&d<t.length;d++)f=(a=(0|t.words[d])+f)>>26,this.words[d]=67108863&a;if(0===f&&d<t.length&&t!==this)for(;d<t.length;d++)this.words[d]=t.words[d];return this.length=Math.max(this.length,d),t!==this&&(this.negative=1),this._strip()},f.prototype.sub=function(e){return this.clone().isub(e)};var m=function(e,a,t){var n,b,f,d=e.words,s=a.words,i=t.words,p=0,u=0|d[0],y=8191&u,r=u>>>13,c=0|d[1],l=8191&c,o=c>>>13,m=0|d[2],T=8191&m,w=m>>>13,h=0|d[3],v=8191&h,x=h>>>13,M=0|d[4],g=8191&M,A=M>>>13,C=0|d[5],E=8191&C,S=C>>>13,D=0|d[6],_=8191&D,k=D>>>13,F=0|d[7],R=8191&F,B=F>>>13,O=0|d[8],I=8191&O,N=O>>>13,P=0|d[9],K=8191&P,L=P>>>13,U=0|s[0],V=8191&U,z=U>>>13,q=0|s[1],W=8191&q,H=q>>>13,Q=0|s[2],X=8191&Q,Z=Q>>>13,j=0|s[3],G=8191&j,$=j>>>13,Y=0|s[4],J=8191&Y,ee=Y>>>13,ae=0|s[5],te=8191&ae,ne=ae>>>13,be=0|s[6],fe=8191&be,de=be>>>13,se=0|s[7],ie=8191&se,pe=se>>>13,ue=0|s[8],ye=8191&ue,re=ue>>>13,ce=0|s[9],le=8191&ce,oe=ce>>>13;t.negative=e.negative^a.negative,t.length=19;var me=(p+(n=Math.imul(y,V))|0)+((8191&(b=(b=Math.imul(y,z))+Math.imul(r,V)|0))<<13)|0;p=((f=Math.imul(r,z))+(b>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(l,V),b=(b=Math.imul(l,z))+Math.imul(o,V)|0,f=Math.imul(o,z);var Te=(p+(n=n+Math.imul(y,W)|0)|0)+((8191&(b=(b=b+Math.imul(y,H)|0)+Math.imul(r,W)|0))<<13)|0;p=((f=f+Math.imul(r,H)|0)+(b>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(T,V),b=(b=Math.imul(T,z))+Math.imul(w,V)|0,f=Math.imul(w,z),n=n+Math.imul(l,W)|0,b=(b=b+Math.imul(l,H)|0)+Math.imul(o,W)|0,f=f+Math.imul(o,H)|0;var we=(p+(n=n+Math.imul(y,X)|0)|0)+((8191&(b=(b=b+Math.imul(y,Z)|0)+Math.imul(r,X)|0))<<13)|0;p=((f=f+Math.imul(r,Z)|0)+(b>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(v,V),b=(b=Math.imul(v,z))+Math.imul(x,V)|0,f=Math.imul(x,z),n=n+Math.imul(T,W)|0,b=(b=b+Math.imul(T,H)|0)+Math.imul(w,W)|0,f=f+Math.imul(w,H)|0,n=n+Math.imul(l,X)|0,b=(b=b+Math.imul(l,Z)|0)+Math.imul(o,X)|0,f=f+Math.imul(o,Z)|0;var he=(p+(n=n+Math.imul(y,G)|0)|0)+((8191&(b=(b=b+Math.imul(y,$)|0)+Math.imul(r,G)|0))<<13)|0;p=((f=f+Math.imul(r,$)|0)+(b>>>13)|0)+(he>>>26)|0,he&=67108863,n=Math.imul(g,V),b=(b=Math.imul(g,z))+Math.imul(A,V)|0,f=Math.imul(A,z),n=n+Math.imul(v,W)|0,b=(b=b+Math.imul(v,H)|0)+Math.imul(x,W)|0,f=f+Math.imul(x,H)|0,n=n+Math.imul(T,X)|0,b=(b=b+Math.imul(T,Z)|0)+Math.imul(w,X)|0,f=f+Math.imul(w,Z)|0,n=n+Math.imul(l,G)|0,b=(b=b+Math.imul(l,$)|0)+Math.imul(o,G)|0,f=f+Math.imul(o,$)|0;var ve=(p+(n=n+Math.imul(y,J)|0)|0)+((8191&(b=(b=b+Math.imul(y,ee)|0)+Math.imul(r,J)|0))<<13)|0;p=((f=f+Math.imul(r,ee)|0)+(b>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(E,V),b=(b=Math.imul(E,z))+Math.imul(S,V)|0,f=Math.imul(S,z),n=n+Math.imul(g,W)|0,b=(b=b+Math.imul(g,H)|0)+Math.imul(A,W)|0,f=f+Math.imul(A,H)|0,n=n+Math.imul(v,X)|0,b=(b=b+Math.imul(v,Z)|0)+Math.imul(x,X)|0,f=f+Math.imul(x,Z)|0,n=n+Math.imul(T,G)|0,b=(b=b+Math.imul(T,$)|0)+Math.imul(w,G)|0,f=f+Math.imul(w,$)|0,n=n+Math.imul(l,J)|0,b=(b=b+Math.imul(l,ee)|0)+Math.imul(o,J)|0,f=f+Math.imul(o,ee)|0;var xe=(p+(n=n+Math.imul(y,te)|0)|0)+((8191&(b=(b=b+Math.imul(y,ne)|0)+Math.imul(r,te)|0))<<13)|0;p=((f=f+Math.imul(r,ne)|0)+(b>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(_,V),b=(b=Math.imul(_,z))+Math.imul(k,V)|0,f=Math.imul(k,z),n=n+Math.imul(E,W)|0,b=(b=b+Math.imul(E,H)|0)+Math.imul(S,W)|0,f=f+Math.imul(S,H)|0,n=n+Math.imul(g,X)|0,b=(b=b+Math.imul(g,Z)|0)+Math.imul(A,X)|0,f=f+Math.imul(A,Z)|0,n=n+Math.imul(v,G)|0,b=(b=b+Math.imul(v,$)|0)+Math.imul(x,G)|0,f=f+Math.imul(x,$)|0,n=n+Math.imul(T,J)|0,b=(b=b+Math.imul(T,ee)|0)+Math.imul(w,J)|0,f=f+Math.imul(w,ee)|0,n=n+Math.imul(l,te)|0,b=(b=b+Math.imul(l,ne)|0)+Math.imul(o,te)|0,f=f+Math.imul(o,ne)|0;var Me=(p+(n=n+Math.imul(y,fe)|0)|0)+((8191&(b=(b=b+Math.imul(y,de)|0)+Math.imul(r,fe)|0))<<13)|0;p=((f=f+Math.imul(r,de)|0)+(b>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(R,V),b=(b=Math.imul(R,z))+Math.imul(B,V)|0,f=Math.imul(B,z),n=n+Math.imul(_,W)|0,b=(b=b+Math.imul(_,H)|0)+Math.imul(k,W)|0,f=f+Math.imul(k,H)|0,n=n+Math.imul(E,X)|0,b=(b=b+Math.imul(E,Z)|0)+Math.imul(S,X)|0,f=f+Math.imul(S,Z)|0,n=n+Math.imul(g,G)|0,b=(b=b+Math.imul(g,$)|0)+Math.imul(A,G)|0,f=f+Math.imul(A,$)|0,n=n+Math.imul(v,J)|0,b=(b=b+Math.imul(v,ee)|0)+Math.imul(x,J)|0,f=f+Math.imul(x,ee)|0,n=n+Math.imul(T,te)|0,b=(b=b+Math.imul(T,ne)|0)+Math.imul(w,te)|0,f=f+Math.imul(w,ne)|0,n=n+Math.imul(l,fe)|0,b=(b=b+Math.imul(l,de)|0)+Math.imul(o,fe)|0,f=f+Math.imul(o,de)|0;var ge=(p+(n=n+Math.imul(y,ie)|0)|0)+((8191&(b=(b=b+Math.imul(y,pe)|0)+Math.imul(r,ie)|0))<<13)|0;p=((f=f+Math.imul(r,pe)|0)+(b>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(I,V),b=(b=Math.imul(I,z))+Math.imul(N,V)|0,f=Math.imul(N,z),n=n+Math.imul(R,W)|0,b=(b=b+Math.imul(R,H)|0)+Math.imul(B,W)|0,f=f+Math.imul(B,H)|0,n=n+Math.imul(_,X)|0,b=(b=b+Math.imul(_,Z)|0)+Math.imul(k,X)|0,f=f+Math.imul(k,Z)|0,n=n+Math.imul(E,G)|0,b=(b=b+Math.imul(E,$)|0)+Math.imul(S,G)|0,f=f+Math.imul(S,$)|0,n=n+Math.imul(g,J)|0,b=(b=b+Math.imul(g,ee)|0)+Math.imul(A,J)|0,f=f+Math.imul(A,ee)|0,n=n+Math.imul(v,te)|0,b=(b=b+Math.imul(v,ne)|0)+Math.imul(x,te)|0,f=f+Math.imul(x,ne)|0,n=n+Math.imul(T,fe)|0,b=(b=b+Math.imul(T,de)|0)+Math.imul(w,fe)|0,f=f+Math.imul(w,de)|0,n=n+Math.imul(l,ie)|0,b=(b=b+Math.imul(l,pe)|0)+Math.imul(o,ie)|0,f=f+Math.imul(o,pe)|0;var Ae=(p+(n=n+Math.imul(y,ye)|0)|0)+((8191&(b=(b=b+Math.imul(y,re)|0)+Math.imul(r,ye)|0))<<13)|0;p=((f=f+Math.imul(r,re)|0)+(b>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(K,V),b=(b=Math.imul(K,z))+Math.imul(L,V)|0,f=Math.imul(L,z),n=n+Math.imul(I,W)|0,b=(b=b+Math.imul(I,H)|0)+Math.imul(N,W)|0,f=f+Math.imul(N,H)|0,n=n+Math.imul(R,X)|0,b=(b=b+Math.imul(R,Z)|0)+Math.imul(B,X)|0,f=f+Math.imul(B,Z)|0,n=n+Math.imul(_,G)|0,b=(b=b+Math.imul(_,$)|0)+Math.imul(k,G)|0,f=f+Math.imul(k,$)|0,n=n+Math.imul(E,J)|0,b=(b=b+Math.imul(E,ee)|0)+Math.imul(S,J)|0,f=f+Math.imul(S,ee)|0,n=n+Math.imul(g,te)|0,b=(b=b+Math.imul(g,ne)|0)+Math.imul(A,te)|0,f=f+Math.imul(A,ne)|0,n=n+Math.imul(v,fe)|0,b=(b=b+Math.imul(v,de)|0)+Math.imul(x,fe)|0,f=f+Math.imul(x,de)|0,n=n+Math.imul(T,ie)|0,b=(b=b+Math.imul(T,pe)|0)+Math.imul(w,ie)|0,f=f+Math.imul(w,pe)|0,n=n+Math.imul(l,ye)|0,b=(b=b+Math.imul(l,re)|0)+Math.imul(o,ye)|0,f=f+Math.imul(o,re)|0;var Ce=(p+(n=n+Math.imul(y,le)|0)|0)+((8191&(b=(b=b+Math.imul(y,oe)|0)+Math.imul(r,le)|0))<<13)|0;p=((f=f+Math.imul(r,oe)|0)+(b>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(K,W),b=(b=Math.imul(K,H))+Math.imul(L,W)|0,f=Math.imul(L,H),n=n+Math.imul(I,X)|0,b=(b=b+Math.imul(I,Z)|0)+Math.imul(N,X)|0,f=f+Math.imul(N,Z)|0,n=n+Math.imul(R,G)|0,b=(b=b+Math.imul(R,$)|0)+Math.imul(B,G)|0,f=f+Math.imul(B,$)|0,n=n+Math.imul(_,J)|0,b=(b=b+Math.imul(_,ee)|0)+Math.imul(k,J)|0,f=f+Math.imul(k,ee)|0,n=n+Math.imul(E,te)|0,b=(b=b+Math.imul(E,ne)|0)+Math.imul(S,te)|0,f=f+Math.imul(S,ne)|0,n=n+Math.imul(g,fe)|0,b=(b=b+Math.imul(g,de)|0)+Math.imul(A,fe)|0,f=f+Math.imul(A,de)|0,n=n+Math.imul(v,ie)|0,b=(b=b+Math.imul(v,pe)|0)+Math.imul(x,ie)|0,f=f+Math.imul(x,pe)|0,n=n+Math.imul(T,ye)|0,b=(b=b+Math.imul(T,re)|0)+Math.imul(w,ye)|0,f=f+Math.imul(w,re)|0;var Ee=(p+(n=n+Math.imul(l,le)|0)|0)+((8191&(b=(b=b+Math.imul(l,oe)|0)+Math.imul(o,le)|0))<<13)|0;p=((f=f+Math.imul(o,oe)|0)+(b>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(K,X),b=(b=Math.imul(K,Z))+Math.imul(L,X)|0,f=Math.imul(L,Z),n=n+Math.imul(I,G)|0,b=(b=b+Math.imul(I,$)|0)+Math.imul(N,G)|0,f=f+Math.imul(N,$)|0,n=n+Math.imul(R,J)|0,b=(b=b+Math.imul(R,ee)|0)+Math.imul(B,J)|0,f=f+Math.imul(B,ee)|0,n=n+Math.imul(_,te)|0,b=(b=b+Math.imul(_,ne)|0)+Math.imul(k,te)|0,f=f+Math.imul(k,ne)|0,n=n+Math.imul(E,fe)|0,b=(b=b+Math.imul(E,de)|0)+Math.imul(S,fe)|0,f=f+Math.imul(S,de)|0,n=n+Math.imul(g,ie)|0,b=(b=b+Math.imul(g,pe)|0)+Math.imul(A,ie)|0,f=f+Math.imul(A,pe)|0,n=n+Math.imul(v,ye)|0,b=(b=b+Math.imul(v,re)|0)+Math.imul(x,ye)|0,f=f+Math.imul(x,re)|0;var Se=(p+(n=n+Math.imul(T,le)|0)|0)+((8191&(b=(b=b+Math.imul(T,oe)|0)+Math.imul(w,le)|0))<<13)|0;p=((f=f+Math.imul(w,oe)|0)+(b>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(K,G),b=(b=Math.imul(K,$))+Math.imul(L,G)|0,f=Math.imul(L,$),n=n+Math.imul(I,J)|0,b=(b=b+Math.imul(I,ee)|0)+Math.imul(N,J)|0,f=f+Math.imul(N,ee)|0,n=n+Math.imul(R,te)|0,b=(b=b+Math.imul(R,ne)|0)+Math.imul(B,te)|0,f=f+Math.imul(B,ne)|0,n=n+Math.imul(_,fe)|0,b=(b=b+Math.imul(_,de)|0)+Math.imul(k,fe)|0,f=f+Math.imul(k,de)|0,n=n+Math.imul(E,ie)|0,b=(b=b+Math.imul(E,pe)|0)+Math.imul(S,ie)|0,f=f+Math.imul(S,pe)|0,n=n+Math.imul(g,ye)|0,b=(b=b+Math.imul(g,re)|0)+Math.imul(A,ye)|0,f=f+Math.imul(A,re)|0;var De=(p+(n=n+Math.imul(v,le)|0)|0)+((8191&(b=(b=b+Math.imul(v,oe)|0)+Math.imul(x,le)|0))<<13)|0;p=((f=f+Math.imul(x,oe)|0)+(b>>>13)|0)+(De>>>26)|0,De&=67108863,n=Math.imul(K,J),b=(b=Math.imul(K,ee))+Math.imul(L,J)|0,f=Math.imul(L,ee),n=n+Math.imul(I,te)|0,b=(b=b+Math.imul(I,ne)|0)+Math.imul(N,te)|0,f=f+Math.imul(N,ne)|0,n=n+Math.imul(R,fe)|0,b=(b=b+Math.imul(R,de)|0)+Math.imul(B,fe)|0,f=f+Math.imul(B,de)|0,n=n+Math.imul(_,ie)|0,b=(b=b+Math.imul(_,pe)|0)+Math.imul(k,ie)|0,f=f+Math.imul(k,pe)|0,n=n+Math.imul(E,ye)|0,b=(b=b+Math.imul(E,re)|0)+Math.imul(S,ye)|0,f=f+Math.imul(S,re)|0;var _e=(p+(n=n+Math.imul(g,le)|0)|0)+((8191&(b=(b=b+Math.imul(g,oe)|0)+Math.imul(A,le)|0))<<13)|0;p=((f=f+Math.imul(A,oe)|0)+(b>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(K,te),b=(b=Math.imul(K,ne))+Math.imul(L,te)|0,f=Math.imul(L,ne),n=n+Math.imul(I,fe)|0,b=(b=b+Math.imul(I,de)|0)+Math.imul(N,fe)|0,f=f+Math.imul(N,de)|0,n=n+Math.imul(R,ie)|0,b=(b=b+Math.imul(R,pe)|0)+Math.imul(B,ie)|0,f=f+Math.imul(B,pe)|0,n=n+Math.imul(_,ye)|0,b=(b=b+Math.imul(_,re)|0)+Math.imul(k,ye)|0,f=f+Math.imul(k,re)|0;var ke=(p+(n=n+Math.imul(E,le)|0)|0)+((8191&(b=(b=b+Math.imul(E,oe)|0)+Math.imul(S,le)|0))<<13)|0;p=((f=f+Math.imul(S,oe)|0)+(b>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(K,fe),b=(b=Math.imul(K,de))+Math.imul(L,fe)|0,f=Math.imul(L,de),n=n+Math.imul(I,ie)|0,b=(b=b+Math.imul(I,pe)|0)+Math.imul(N,ie)|0,f=f+Math.imul(N,pe)|0,n=n+Math.imul(R,ye)|0,b=(b=b+Math.imul(R,re)|0)+Math.imul(B,ye)|0,f=f+Math.imul(B,re)|0;var Fe=(p+(n=n+Math.imul(_,le)|0)|0)+((8191&(b=(b=b+Math.imul(_,oe)|0)+Math.imul(k,le)|0))<<13)|0;p=((f=f+Math.imul(k,oe)|0)+(b>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(K,ie),b=(b=Math.imul(K,pe))+Math.imul(L,ie)|0,f=Math.imul(L,pe),n=n+Math.imul(I,ye)|0,b=(b=b+Math.imul(I,re)|0)+Math.imul(N,ye)|0,f=f+Math.imul(N,re)|0;var Re=(p+(n=n+Math.imul(R,le)|0)|0)+((8191&(b=(b=b+Math.imul(R,oe)|0)+Math.imul(B,le)|0))<<13)|0;p=((f=f+Math.imul(B,oe)|0)+(b>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(K,ye),b=(b=Math.imul(K,re))+Math.imul(L,ye)|0,f=Math.imul(L,re);var Be=(p+(n=n+Math.imul(I,le)|0)|0)+((8191&(b=(b=b+Math.imul(I,oe)|0)+Math.imul(N,le)|0))<<13)|0;p=((f=f+Math.imul(N,oe)|0)+(b>>>13)|0)+(Be>>>26)|0,Be&=67108863;var Oe=(p+(n=Math.imul(K,le))|0)+((8191&(b=(b=Math.imul(K,oe))+Math.imul(L,le)|0))<<13)|0;return p=((f=Math.imul(L,oe))+(b>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,i[0]=me,i[1]=Te,i[2]=we,i[3]=he,i[4]=ve,i[5]=xe,i[6]=Me,i[7]=ge,i[8]=Ae,i[9]=Ce,i[10]=Ee,i[11]=Se,i[12]=De,i[13]=_e,i[14]=ke,i[15]=Fe,i[16]=Re,i[17]=Be,i[18]=Oe,0!==p&&(i[19]=p,t.length++),t};function T(e,a,t){t.negative=a.negative^e.negative,t.length=e.length+a.length;for(var n=0,b=0,f=0;f<t.length-1;f++){var d=b;b=0;for(var s=67108863&n,i=Math.min(f,a.length-1),p=Math.max(0,f-e.length+1);p<=i;p++){var u=f-p,y=(0|e.words[u])*(0|a.words[p]),r=67108863&y;s=67108863&(r=r+s|0),b+=(d=(d=d+(y/67108864|0)|0)+(r>>>26)|0)>>>26,d&=67108863}t.words[f]=s,n=d,d=b}return 0!==n?t.words[f]=n:t.length--,t._strip()}function w(e,a,t){return T(e,a,t)}function h(e,a){this.x=e,this.y=a}Math.imul||(m=o),f.prototype.mulTo=function(e,a){var t=this.length+e.length;return 10===this.length&&10===e.length?m(this,e,a):t<63?o(this,e,a):t<1024?T(this,e,a):w(this,e,a)},h.prototype.makeRBT=function(e){for(var a=new Array(e),t=f.prototype._countBits(e)-1,n=0;n<e;n++)a[n]=this.revBin(n,t,e);return a},h.prototype.revBin=function(e,a,t){if(0===e||e===t-1)return e;for(var n=0,b=0;b<a;b++)n|=(1&e)<<a-b-1,e>>=1;return n},h.prototype.permute=function(e,a,t,n,b,f){for(var d=0;d<f;d++)n[d]=a[e[d]],b[d]=t[e[d]]},h.prototype.transform=function(e,a,t,n,b,f){this.permute(f,e,a,t,n,b);for(var d=1;d<b;d<<=1)for(var s=d<<1,i=Math.cos(2*Math.PI/s),p=Math.sin(2*Math.PI/s),u=0;u<b;u+=s)for(var y=i,r=p,c=0;c<d;c++){var l=t[u+c],o=n[u+c],m=t[u+c+d],T=n[u+c+d],w=y*m-r*T;T=y*T+r*m,m=w,t[u+c]=l+m,n[u+c]=o+T,t[u+c+d]=l-m,n[u+c+d]=o-T,c!==s&&(w=i*y-p*r,r=i*r+p*y,y=w)}},h.prototype.guessLen13b=function(e,a){var t=1|Math.max(a,e),n=1&t,b=0;for(t=t/2|0;t;t>>>=1)b++;return 1<<b+1+n},h.prototype.conjugate=function(e,a,t){if(!(t<=1))for(var n=0;n<t/2;n++){var b=e[n];e[n]=e[t-n-1],e[t-n-1]=b,b=a[n],a[n]=-a[t-n-1],a[t-n-1]=-b}},h.prototype.normalize13b=function(e,a){for(var t=0,n=0;n<a/2;n++){var b=8192*Math.round(e[2*n+1]/a)+Math.round(e[2*n]/a)+t;e[n]=67108863&b,t=b<67108864?0:b/67108864|0}return e},h.prototype.convert13b=function(e,a,t,b){for(var f=0,d=0;d<a;d++)f+=0|e[d],t[2*d]=8191&f,f>>>=13,t[2*d+1]=8191&f,f>>>=13;for(d=2*a;d<b;++d)t[d]=0;n(0===f),n(0==(-8192&f))},h.prototype.stub=function(e){for(var a=new Array(e),t=0;t<e;t++)a[t]=0;return a},h.prototype.mulp=function(e,a,t){var n=2*this.guessLen13b(e.length,a.length),b=this.makeRBT(n),f=this.stub(n),d=new Array(n),s=new Array(n),i=new Array(n),p=new Array(n),u=new Array(n),y=new Array(n),r=t.words;r.length=n,this.convert13b(e.words,e.length,d,n),this.convert13b(a.words,a.length,p,n),this.transform(d,f,s,i,n,b),this.transform(p,f,u,y,n,b);for(var c=0;c<n;c++){var l=s[c]*u[c]-i[c]*y[c];i[c]=s[c]*y[c]+i[c]*u[c],s[c]=l}return this.conjugate(s,i,n),this.transform(s,i,r,f,n,b),this.conjugate(r,f,n),this.normalize13b(r,n),t.negative=e.negative^a.negative,t.length=e.length+a.length,t._strip()},f.prototype.mul=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),this.mulTo(e,a)},f.prototype.mulf=function(e){var a=new f(null);return a.words=new Array(this.length+e.length),w(this,e,a)},f.prototype.imul=function(e){return this.clone().mulTo(e,this)},f.prototype.imuln=function(e){var a=e<0;a&&(e=-e),n("number"==typeof e),n(e<67108864);for(var t=0,b=0;b<this.length;b++){var f=(0|this.words[b])*e,d=(67108863&f)+(67108863&t);t>>=26,t+=f/67108864|0,t+=d>>>26,this.words[b]=67108863&d}return 0!==t&&(this.words[b]=t,this.length++),a?this.ineg():this},f.prototype.muln=function(e){return this.clone().imuln(e)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(e){var a=function(e){for(var a=new Array(e.bitLength()),t=0;t<a.length;t++){var n=t/26|0,b=t%26;a[t]=e.words[n]>>>b&1}return a}(e);if(0===a.length)return new f(1);for(var t=this,n=0;n<a.length&&0===a[n];n++,t=t.sqr());if(++n<a.length)for(var b=t.sqr();n<a.length;n++,b=b.sqr())0!==a[n]&&(t=t.mul(b));return t},f.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var a,t=e%26,b=(e-t)/26,f=67108863>>>26-t<<26-t;if(0!==t){var d=0;for(a=0;a<this.length;a++){var s=this.words[a]&f,i=(0|this.words[a])-s<<t;this.words[a]=i|d,d=s>>>26-t}d&&(this.words[a]=d,this.length++)}if(0!==b){for(a=this.length-1;a>=0;a--)this.words[a+b]=this.words[a];for(a=0;a<b;a++)this.words[a]=0;this.length+=b}return this._strip()},f.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},f.prototype.iushrn=function(e,a,t){var b;n("number"==typeof e&&e>=0),b=a?(a-a%26)/26:0;var f=e%26,d=Math.min((e-f)/26,this.length),s=67108863^67108863>>>f<<f,i=t;if(b-=d,b=Math.max(0,b),i){for(var p=0;p<d;p++)i.words[p]=this.words[p];i.length=d}if(0===d);else if(this.length>d)for(this.length-=d,p=0;p<this.length;p++)this.words[p]=this.words[p+d];else this.words[0]=0,this.length=1;var u=0;for(p=this.length-1;p>=0&&(0!==u||p>=b);p--){var y=0|this.words[p];this.words[p]=u<<26-f|y>>>f,u=y&s}return i&&0!==u&&(i.words[i.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},f.prototype.ishrn=function(e,a,t){return n(0===this.negative),this.iushrn(e,a,t)},f.prototype.shln=function(e){return this.clone().ishln(e)},f.prototype.ushln=function(e){return this.clone().iushln(e)},f.prototype.shrn=function(e){return this.clone().ishrn(e)},f.prototype.ushrn=function(e){return this.clone().iushrn(e)},f.prototype.testn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26,b=1<<a;return!(this.length<=t)&&!!(this.words[t]&b)},f.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var a=e%26,t=(e-a)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=t)return this;if(0!==a&&t++,this.length=Math.min(t,this.length),0!==a){var b=67108863^67108863>>>a<<a;this.words[this.length-1]&=b}return this._strip()},f.prototype.maskn=function(e){return this.clone().imaskn(e)},f.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<=e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},f.prototype._iaddn=function(e){this.words[0]+=e;for(var a=0;a<this.length&&this.words[a]>=67108864;a++)this.words[a]-=67108864,a===this.length-1?this.words[a+1]=1:this.words[a+1]++;return this.length=Math.max(this.length,a+1),this},f.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var a=0;a<this.length&&this.words[a]<0;a++)this.words[a]+=67108864,this.words[a+1]-=1;return this._strip()},f.prototype.addn=function(e){return this.clone().iaddn(e)},f.prototype.subn=function(e){return this.clone().isubn(e)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(e,a,t){var b,f,d=e.length+t;this._expand(d);var s=0;for(b=0;b<e.length;b++){f=(0|this.words[b+t])+s;var i=(0|e.words[b])*a;s=((f-=67108863&i)>>26)-(i/67108864|0),this.words[b+t]=67108863&f}for(;b<this.length-t;b++)s=(f=(0|this.words[b+t])+s)>>26,this.words[b+t]=67108863&f;if(0===s)return this._strip();for(n(-1===s),s=0,b=0;b<this.length;b++)s=(f=-(0|this.words[b])+s)>>26,this.words[b]=67108863&f;return this.negative=1,this._strip()},f.prototype._wordDiv=function(e,a){var t=(this.length,e.length),n=this.clone(),b=e,d=0|b.words[b.length-1];0!==(t=26-this._countBits(d))&&(b=b.ushln(t),n.iushln(t),d=0|b.words[b.length-1]);var s,i=n.length-b.length;if("mod"!==a){(s=new f(null)).length=i+1,s.words=new Array(s.length);for(var p=0;p<s.length;p++)s.words[p]=0}var u=n.clone()._ishlnsubmul(b,1,i);0===u.negative&&(n=u,s&&(s.words[i]=1));for(var y=i-1;y>=0;y--){var r=67108864*(0|n.words[b.length+y])+(0|n.words[b.length+y-1]);for(r=Math.min(r/d|0,67108863),n._ishlnsubmul(b,r,y);0!==n.negative;)r--,n.negative=0,n._ishlnsubmul(b,1,y),n.isZero()||(n.negative^=1);s&&(s.words[y]=r)}return s&&s._strip(),n._strip(),"div"!==a&&0!==t&&n.iushrn(t),{div:s||null,mod:n}},f.prototype.divmod=function(e,a,t){return n(!e.isZero()),this.isZero()?{div:new f(0),mod:new f(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,a),"mod"!==a&&(b=s.div.neg()),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.iadd(e)),{div:b,mod:d}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),a),"mod"!==a&&(b=s.div.neg()),{div:b,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),a),"div"!==a&&(d=s.mod.neg(),t&&0!==d.negative&&d.isub(e)),{div:s.div,mod:d}):e.length>this.length||this.cmp(e)<0?{div:new f(0),mod:this}:1===e.length?"div"===a?{div:this.divn(e.words[0]),mod:null}:"mod"===a?{div:null,mod:new f(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new f(this.modrn(e.words[0]))}:this._wordDiv(e,a);var b,d,s},f.prototype.div=function(e){return this.divmod(e,"div",!1).div},f.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},f.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},f.prototype.divRound=function(e){var a=this.divmod(e);if(a.mod.isZero())return a.div;var t=0!==a.div.negative?a.mod.isub(e):a.mod,n=e.ushrn(1),b=e.andln(1),f=t.cmp(n);return f<0||1===b&&0===f?a.div:0!==a.div.negative?a.div.isubn(1):a.div.iaddn(1)},f.prototype.modrn=function(e){var a=e<0;a&&(e=-e),n(e<=67108863);for(var t=(1<<26)%e,b=0,f=this.length-1;f>=0;f--)b=(t*b+(0|this.words[f]))%e;return a?-b:b},f.prototype.modn=function(e){return this.modrn(e)},f.prototype.idivn=function(e){var a=e<0;a&&(e=-e),n(e<=67108863);for(var t=0,b=this.length-1;b>=0;b--){var f=(0|this.words[b])+67108864*t;this.words[b]=f/e|0,t=f%e}return this._strip(),a?this.ineg():this},f.prototype.divn=function(e){return this.clone().idivn(e)},f.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b=new f(1),d=new f(0),s=new f(0),i=new f(1),p=0;a.isEven()&&t.isEven();)a.iushrn(1),t.iushrn(1),++p;for(var u=t.clone(),y=a.clone();!a.isZero();){for(var r=0,c=1;0==(a.words[0]&c)&&r<26;++r,c<<=1);if(r>0)for(a.iushrn(r);r-- >0;)(b.isOdd()||d.isOdd())&&(b.iadd(u),d.isub(y)),b.iushrn(1),d.iushrn(1);for(var l=0,o=1;0==(t.words[0]&o)&&l<26;++l,o<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(s.isOdd()||i.isOdd())&&(s.iadd(u),i.isub(y)),s.iushrn(1),i.iushrn(1);a.cmp(t)>=0?(a.isub(t),b.isub(s),d.isub(i)):(t.isub(a),s.isub(b),i.isub(d))}return{a:s,b:i,gcd:t.iushln(p)}},f.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var a=this,t=e.clone();a=0!==a.negative?a.umod(e):a.clone();for(var b,d=new f(1),s=new f(0),i=t.clone();a.cmpn(1)>0&&t.cmpn(1)>0;){for(var p=0,u=1;0==(a.words[0]&u)&&p<26;++p,u<<=1);if(p>0)for(a.iushrn(p);p-- >0;)d.isOdd()&&d.iadd(i),d.iushrn(1);for(var y=0,r=1;0==(t.words[0]&r)&&y<26;++y,r<<=1);if(y>0)for(t.iushrn(y);y-- >0;)s.isOdd()&&s.iadd(i),s.iushrn(1);a.cmp(t)>=0?(a.isub(t),d.isub(s)):(t.isub(a),s.isub(d))}return(b=0===a.cmpn(1)?d:s).cmpn(0)<0&&b.iadd(e),b},f.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var a=this.clone(),t=e.clone();a.negative=0,t.negative=0;for(var n=0;a.isEven()&&t.isEven();n++)a.iushrn(1),t.iushrn(1);for(;;){for(;a.isEven();)a.iushrn(1);for(;t.isEven();)t.iushrn(1);var b=a.cmp(t);if(b<0){var f=a;a=t,t=f}else if(0===b||0===t.cmpn(1))break;a.isub(t)}return t.iushln(n)},f.prototype.invm=function(e){return this.egcd(e).a.umod(e)},f.prototype.isEven=function(){return 0==(1&this.words[0])},f.prototype.isOdd=function(){return 1==(1&this.words[0])},f.prototype.andln=function(e){return this.words[0]&e},f.prototype.bincn=function(e){n("number"==typeof e);var a=e%26,t=(e-a)/26,b=1<<a;if(this.length<=t)return this._expand(t+1),this.words[t]|=b,this;for(var f=b,d=t;0!==f&&d<this.length;d++){var s=0|this.words[d];f=(s+=f)>>>26,s&=67108863,this.words[d]=s}return 0!==f&&(this.words[d]=f,this.length++),this},f.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},f.prototype.cmpn=function(e){var a,t=e<0;if(0!==this.negative&&!t)return-1;if(0===this.negative&&t)return 1;if(this._strip(),this.length>1)a=1;else{t&&(e=-e),n(e<=67108863,"Number is too big");var b=0|this.words[0];a=b===e?0:b<e?-1:1}return 0!==this.negative?0|-a:a},f.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var a=this.ucmp(e);return 0!==this.negative?0|-a:a},f.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var a=0,t=this.length-1;t>=0;t--){var n=0|this.words[t],b=0|e.words[t];if(n!==b){n<b?a=-1:n>b&&(a=1);break}}return a},f.prototype.gtn=function(e){return 1===this.cmpn(e)},f.prototype.gt=function(e){return 1===this.cmp(e)},f.prototype.gten=function(e){return this.cmpn(e)>=0},f.prototype.gte=function(e){return this.cmp(e)>=0},f.prototype.ltn=function(e){return-1===this.cmpn(e)},f.prototype.lt=function(e){return-1===this.cmp(e)},f.prototype.lten=function(e){return this.cmpn(e)<=0},f.prototype.lte=function(e){return this.cmp(e)<=0},f.prototype.eqn=function(e){return 0===this.cmpn(e)},f.prototype.eq=function(e){return 0===this.cmp(e)},f.red=function(e){return new E(e)},f.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},f.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(e){return this.red=e,this},f.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},f.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},f.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},f.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},f.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},f.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},f.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},f.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},f.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var v={k256:null,p224:null,p192:null,p25519:null};function x(e,a){this.name=e,this.p=new f(a,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function M(){x.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function g(){x.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){x.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){x.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var a=f._prime(e);this.m=a.p,this.prime=a}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new f(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}x.prototype._tmp=function(){var e=new f(null);return e.words=new Array(Math.ceil(this.n/13)),e},x.prototype.ireduce=function(e){var a,t=e;do{this.split(t,this.tmp),a=(t=(t=this.imulK(t)).iadd(this.tmp)).bitLength()}while(a>this.n);var n=a<this.n?-1:t.ucmp(this.p);return 0===n?(t.words[0]=0,t.length=1):n>0?t.isub(this.p):void 0!==t.strip?t.strip():t._strip(),t},x.prototype.split=function(e,a){e.iushrn(this.n,0,a)},x.prototype.imulK=function(e){return e.imul(this.k)},b(M,x),M.prototype.split=function(e,a){for(var t=Math.min(e.length,9),n=0;n<t;n++)a.words[n]=e.words[n];if(a.length=t,e.length<=9)return e.words[0]=0,void(e.length=1);var b=e.words[9];for(a.words[a.length++]=4194303&b,n=10;n<e.length;n++){var f=0|e.words[n];e.words[n-10]=(4194303&f)<<4|b>>>22,b=f}b>>>=22,e.words[n-10]=b,0===b&&e.length>10?e.length-=10:e.length-=9},M.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var a=0,t=0;t<e.length;t++){var n=0|e.words[t];a+=977*n,e.words[t]=67108863&a,a=64*n+(a/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},b(g,x),b(A,x),b(C,x),C.prototype.imulK=function(e){for(var a=0,t=0;t<e.length;t++){var n=19*(0|e.words[t])+a,b=67108863&n;n>>>=26,e.words[t]=b,a=n}return 0!==a&&(e.words[e.length++]=a),e},f._prime=function(e){if(v[e])return v[e];var a;if("k256"===e)a=new M;else if("p224"===e)a=new g;else if("p192"===e)a=new A;else{if("p25519"!==e)throw new Error("Unknown prime "+e);a=new C}return v[e]=a,a},E.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,a){n(0==(e.negative|a.negative),"red works only with positives"),n(e.red&&e.red===a.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(u(e,e.umod(this.m)._forceRed(this)),e)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,a){this._verify2(e,a);var t=e.add(a);return t.cmp(this.m)>=0&&t.isub(this.m),t._forceRed(this)},E.prototype.iadd=function(e,a){this._verify2(e,a);var t=e.iadd(a);return t.cmp(this.m)>=0&&t.isub(this.m),t},E.prototype.sub=function(e,a){this._verify2(e,a);var t=e.sub(a);return t.cmpn(0)<0&&t.iadd(this.m),t._forceRed(this)},E.prototype.isub=function(e,a){this._verify2(e,a);var t=e.isub(a);return t.cmpn(0)<0&&t.iadd(this.m),t},E.prototype.shl=function(e,a){return this._verify1(e),this.imod(e.ushln(a))},E.prototype.imul=function(e,a){return this._verify2(e,a),this.imod(e.imul(a))},E.prototype.mul=function(e,a){return this._verify2(e,a),this.imod(e.mul(a))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var a=this.m.andln(3);if(n(a%2==1),3===a){var t=this.m.add(new f(1)).iushrn(2);return this.pow(e,t)}for(var b=this.m.subn(1),d=0;!b.isZero()&&0===b.andln(1);)d++,b.iushrn(1);n(!b.isZero());var s=new f(1).toRed(this),i=s.redNeg(),p=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new f(2*u*u).toRed(this);0!==this.pow(u,p).cmp(i);)u.redIAdd(i);for(var y=this.pow(u,b),r=this.pow(e,b.addn(1).iushrn(1)),c=this.pow(e,b),l=d;0!==c.cmp(s);){for(var o=c,m=0;0!==o.cmp(s);m++)o=o.redSqr();n(m<l);var T=this.pow(y,new f(1).iushln(l-m-1));r=r.redMul(T),y=T.redSqr(),c=c.redMul(y),l=m}return r},E.prototype.invm=function(e){var a=e._invmp(this.m);return 0!==a.negative?(a.negative=0,this.imod(a).redNeg()):this.imod(a)},E.prototype.pow=function(e,a){if(a.isZero())return new f(1).toRed(this);if(0===a.cmpn(1))return e.clone();var t=new Array(16);t[0]=new f(1).toRed(this),t[1]=e;for(var n=2;n<t.length;n++)t[n]=this.mul(t[n-1],e);var b=t[0],d=0,s=0,i=a.bitLength()%26;for(0===i&&(i=26),n=a.length-1;n>=0;n--){for(var p=a.words[n],u=i-1;u>=0;u--){var y=p>>u&1;b!==t[0]&&(b=this.sqr(b)),0!==y||0!==d?(d<<=1,d|=y,(4===++s||0===n&&0===u)&&(b=this.mul(b,t[d]),s=0,d=0)):s=0}i=26}return b},E.prototype.convertTo=function(e){var a=e.umod(this.m);return a===e?a.clone():a},E.prototype.convertFrom=function(e){var a=e.clone();return a.red=null,a},f.mont=function(e){return new S(e)},b(S,E),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var a=this.imod(e.mul(this.rinv));return a.red=null,a},S.prototype.imul=function(e,a){if(e.isZero()||a.isZero())return e.words[0]=0,e.length=1,e;var t=e.imul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),f=b;return b.cmp(this.m)>=0?f=b.isub(this.m):b.cmpn(0)<0&&(f=b.iadd(this.m)),f._forceRed(this)},S.prototype.mul=function(e,a){if(e.isZero()||a.isZero())return new f(0)._forceRed(this);var t=e.mul(a),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=t.isub(n).iushrn(this.shift),d=b;return b.cmp(this.m)>=0?d=b.isub(this.m):b.cmpn(0)<0&&(d=b.iadd(this.m)),d._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,t(7)(e))},function(e,a){},function(e,a,t){"use strict";
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/var n=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable;function d(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var a={},t=0;t<10;t++)a["_"+String.fromCharCode(t)]=t;if("0123456789"!==Object.getOwnPropertyNames(a).map((function(e){return a[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,a){for(var t,s,i=d(e),p=1;p<arguments.length;p++){for(var u in t=Object(arguments[p]))b.call(t,u)&&(i[u]=t[u]);if(n){s=n(t);for(var y=0;y<s.length;y++)f.call(t,s[y])&&(i[s[y]]=t[s[y]])}}return i}},function(e,a,t){(function(e){var n=Object.getOwnPropertyDescriptors||function(e){for(var a=Object.keys(e),t={},n=0;n<a.length;n++)t[a[n]]=Object.getOwnPropertyDescriptor(e,a[n]);return t},b=/%[sdj%]/g;a.format=function(e){if(!T(e)){for(var a=[],t=0;t<arguments.length;t++)a.push(s(arguments[t]));return a.join(" ")}t=1;for(var n=arguments,f=n.length,d=String(e).replace(b,(function(e){if("%%"===e)return"%";if(t>=f)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(e){return"[Circular]"}default:return e}})),i=n[t];t<f;i=n[++t])o(i)||!v(i)?d+=" "+i:d+=" "+s(i);return d},a.deprecate=function(t,n){if(void 0!==e&&!0===e.noDeprecation)return t;if(void 0===e)return function(){return a.deprecate(t,n).apply(this,arguments)};var b=!1;return function(){if(!b){if(e.throwDeprecation)throw new Error(n);e.traceDeprecation?console.trace(n):console.error(n),b=!0}return t.apply(this,arguments)}};var f,d={};function s(e,t){var n={seen:[],stylize:p};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),l(t)?n.showHidden=t:t&&a._extend(n,t),w(n.showHidden)&&(n.showHidden=!1),w(n.depth)&&(n.depth=2),w(n.colors)&&(n.colors=!1),w(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=i),u(n,e,n.depth)}function i(e,a){var t=s.styles[a];return t?"["+s.colors[t][0]+"m"+e+"["+s.colors[t][1]+"m":e}function p(e,a){return e}function u(e,t,n){if(e.customInspect&&t&&g(t.inspect)&&t.inspect!==a.inspect&&(!t.constructor||t.constructor.prototype!==t)){var b=t.inspect(n,e);return T(b)||(b=u(e,b,n)),b}var f=function(e,a){if(w(a))return e.stylize("undefined","undefined");if(T(a)){var t="'"+JSON.stringify(a).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}if(m(a))return e.stylize(""+a,"number");if(l(a))return e.stylize(""+a,"boolean");if(o(a))return e.stylize("null","null")}(e,t);if(f)return f;var d=Object.keys(t),s=function(e){var a={};return e.forEach((function(e,t){a[e]=!0})),a}(d);if(e.showHidden&&(d=Object.getOwnPropertyNames(t)),M(t)&&(d.indexOf("message")>=0||d.indexOf("description")>=0))return y(t);if(0===d.length){if(g(t)){var i=t.name?": "+t.name:"";return e.stylize("[Function"+i+"]","special")}if(h(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(x(t))return e.stylize(Date.prototype.toString.call(t),"date");if(M(t))return y(t)}var p,v="",A=!1,C=["{","}"];(c(t)&&(A=!0,C=["[","]"]),g(t))&&(v=" [Function"+(t.name?": "+t.name:"")+"]");return h(t)&&(v=" "+RegExp.prototype.toString.call(t)),x(t)&&(v=" "+Date.prototype.toUTCString.call(t)),M(t)&&(v=" "+y(t)),0!==d.length||A&&0!=t.length?n<0?h(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),p=A?function(e,a,t,n,b){for(var f=[],d=0,s=a.length;d<s;++d)D(a,String(d))?f.push(r(e,a,t,n,String(d),!0)):f.push("");return b.forEach((function(b){b.match(/^\d+$/)||f.push(r(e,a,t,n,b,!0))})),f}(e,t,n,s,d):d.map((function(a){return r(e,t,n,s,a,A)})),e.seen.pop(),function(e,a,t){if(e.reduce((function(e,a){return a.indexOf("\n")>=0&&0,e+a.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return t[0]+(""===a?"":a+"\n ")+" "+e.join(",\n  ")+" "+t[1];return t[0]+a+" "+e.join(", ")+" "+t[1]}(p,v,C)):C[0]+v+C[1]}function y(e){return"["+Error.prototype.toString.call(e)+"]"}function r(e,a,t,n,b,f){var d,s,i;if((i=Object.getOwnPropertyDescriptor(a,b)||{value:a[b]}).get?s=i.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):i.set&&(s=e.stylize("[Setter]","special")),D(n,b)||(d="["+b+"]"),s||(e.seen.indexOf(i.value)<0?(s=o(t)?u(e,i.value,null):u(e,i.value,t-1)).indexOf("\n")>-1&&(s=f?s.split("\n").map((function(e){return"  "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return"   "+e})).join("\n")):s=e.stylize("[Circular]","special")),w(d)){if(f&&b.match(/^\d+$/))return s;(d=JSON.stringify(""+b)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(d=d.substr(1,d.length-2),d=e.stylize(d,"name")):(d=d.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),d=e.stylize(d,"string"))}return d+": "+s}function c(e){return Array.isArray(e)}function l(e){return"boolean"==typeof e}function o(e){return null===e}function m(e){return"number"==typeof e}function T(e){return"string"==typeof e}function w(e){return void 0===e}function h(e){return v(e)&&"[object RegExp]"===A(e)}function v(e){return"object"==typeof e&&null!==e}function x(e){return v(e)&&"[object Date]"===A(e)}function M(e){return v(e)&&("[object Error]"===A(e)||e instanceof Error)}function g(e){return"function"==typeof e}function A(e){return Object.prototype.toString.call(e)}function C(e){return e<10?"0"+e.toString(10):e.toString(10)}a.debuglog=function(t){if(w(f)&&(f=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!d[t])if(new RegExp("\\b"+t+"\\b","i").test(f)){var n=e.pid;d[t]=function(){var e=a.format.apply(a,arguments);console.error("%s %d: %s",t,n,e)}}else d[t]=function(){};return d[t]},a.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},a.isArray=c,a.isBoolean=l,a.isNull=o,a.isNullOrUndefined=function(e){return null==e},a.isNumber=m,a.isString=T,a.isSymbol=function(e){return"symbol"==typeof e},a.isUndefined=w,a.isRegExp=h,a.isObject=v,a.isDate=x,a.isError=M,a.isFunction=g,a.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},a.isBuffer=t(99);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(){var e=new Date,a=[C(e.getHours()),C(e.getMinutes()),C(e.getSeconds())].join(":");return[e.getDate(),E[e.getMonth()],a].join(" ")}function D(e,a){return Object.prototype.hasOwnProperty.call(e,a)}a.log=function(){console.log("%s - %s",S(),a.format.apply(a,arguments))},a.inherits=t(100),a._extend=function(e,a){if(!a||!v(a))return e;for(var t=Object.keys(a),n=t.length;n--;)e[t[n]]=a[t[n]];return e};var _="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function k(e,a){if(!e){var t=new Error("Promise was rejected with a falsy value");t.reason=e,e=t}return a(e)}a.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(_&&e[_]){var a;if("function"!=typeof(a=e[_]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(a,_,{value:a,enumerable:!1,writable:!1,configurable:!0}),a}function a(){for(var a,t,n=new Promise((function(e,n){a=e,t=n})),b=[],f=0;f<arguments.length;f++)b.push(arguments[f]);b.push((function(e,n){e?t(e):a(n)}));try{e.apply(this,b)}catch(e){t(e)}return n}return Object.setPrototypeOf(a,Object.getPrototypeOf(e)),_&&Object.defineProperty(a,_,{value:a,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(a,n(e))},a.promisify.custom=_,a.callbackify=function(a){if("function"!=typeof a)throw new TypeError('The "original" argument must be of type Function');function t(){for(var t=[],n=0;n<arguments.length;n++)t.push(arguments[n]);var b=t.pop();if("function"!=typeof b)throw new TypeError("The last argument must be of type Function");var f=this,d=function(){return b.apply(f,arguments)};a.apply(this,t).then((function(a){e.nextTick(d,null,a)}),(function(a){e.nextTick(k,a,d)}))}return Object.setPrototypeOf(t,Object.getPrototypeOf(a)),Object.defineProperties(t,n(a)),t}}).call(this,t(3))},function(e,a){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,a){"function"==typeof Object.create?e.exports=function(e,a){e.super_=a,e.prototype=Object.create(a.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,a){e.super_=a;var t=function(){};t.prototype=a.prototype,e.prototype=new t,e.prototype.constructor=e}},function(e,a){const t="Impossible case. Please create issue.",n="The tweak was out of range or the resulted private key is invalid",b="The tweak was out of range or equal to zero",f="Unknow error on context randomization",d="Private Key is invalid",s="Public Key could not be parsed",i="Public Key serialization error",p="The sum of the public keys is not valid",u="Signature could not be parsed",y="The nonce generation function failed, or the private key was invalid",r="Public key could not be recover",c="Scalar was invalid (zero or overflow)";function l(e,a){if(!e)throw new Error(a)}function o(e,a,t){if(l(a instanceof Uint8Array,`Expected ${e} to be an Uint8Array`),void 0!==t)if(Array.isArray(t)){const n=`Expected ${e} to be an Uint8Array with length [${t.join(", ")}]`;l(t.includes(a.length),n)}else{const n=`Expected ${e} to be an Uint8Array with length ${t}`;l(a.length===t,n)}}function m(e){l("Boolean"===w(e),"Expected compressed to be a Boolean")}function T(e=(e=>new Uint8Array(e)),a){return"function"==typeof e&&(e=e(a)),o("output",e,a),e}function w(e){return Object.prototype.toString.call(e).slice(8,-1)}e.exports=e=>({contextRandomize(a){switch(l(null===a||a instanceof Uint8Array,"Expected seed to be an Uint8Array or null"),null!==a&&o("seed",a,32),e.contextRandomize(a)){case 1:throw new Error(f)}},privateKeyVerify:a=>(o("private key",a,32),0===e.privateKeyVerify(a)),privateKeyNegate(a){switch(o("private key",a,32),e.privateKeyNegate(a)){case 0:return a;case 1:throw new Error(t)}},privateKeyTweakAdd(a,t){switch(o("private key",a,32),o("tweak",t,32),e.privateKeyTweakAdd(a,t)){case 0:return a;case 1:throw new Error(n)}},privateKeyTweakMul(a,t){switch(o("private key",a,32),o("tweak",t,32),e.privateKeyTweakMul(a,t)){case 0:return a;case 1:throw new Error(b)}},publicKeyVerify:a=>(o("public key",a,[33,65]),0===e.publicKeyVerify(a)),publicKeyCreate(a,t=!0,n){switch(o("private key",a,32),m(t),n=T(n,t?33:65),e.publicKeyCreate(n,a)){case 0:return n;case 1:throw new Error(d);case 2:throw new Error(i)}},publicKeyConvert(a,t=!0,n){switch(o("public key",a,[33,65]),m(t),n=T(n,t?33:65),e.publicKeyConvert(n,a)){case 0:return n;case 1:throw new Error(s);case 2:throw new Error(i)}},publicKeyNegate(a,n=!0,b){switch(o("public key",a,[33,65]),m(n),b=T(b,n?33:65),e.publicKeyNegate(b,a)){case 0:return b;case 1:throw new Error(s);case 2:throw new Error(t);case 3:throw new Error(i)}},publicKeyCombine(a,t=!0,n){l(Array.isArray(a),"Expected public keys to be an Array"),l(a.length>0,"Expected public keys array will have more than zero items");for(const e of a)o("public key",e,[33,65]);switch(m(t),n=T(n,t?33:65),e.publicKeyCombine(n,a)){case 0:return n;case 1:throw new Error(s);case 2:throw new Error(p);case 3:throw new Error(i)}},publicKeyTweakAdd(a,t,b=!0,f){switch(o("public key",a,[33,65]),o("tweak",t,32),m(b),f=T(f,b?33:65),e.publicKeyTweakAdd(f,a,t)){case 0:return f;case 1:throw new Error(s);case 2:throw new Error(n)}},publicKeyTweakMul(a,t,n=!0,f){switch(o("public key",a,[33,65]),o("tweak",t,32),m(n),f=T(f,n?33:65),e.publicKeyTweakMul(f,a,t)){case 0:return f;case 1:throw new Error(s);case 2:throw new Error(b)}},signatureNormalize(a){switch(o("signature",a,64),e.signatureNormalize(a)){case 0:return a;case 1:throw new Error(u)}},signatureExport(a,n){o("signature",a,64);const b={output:n=T(n,72),outputlen:72};switch(e.signatureExport(b,a)){case 0:return n.slice(0,b.outputlen);case 1:throw new Error(u);case 2:throw new Error(t)}},signatureImport(a,n){switch(o("signature",a),n=T(n,64),e.signatureImport(n,a)){case 0:return n;case 1:throw new Error(u);case 2:throw new Error(t)}},ecdsaSign(a,n,b={},f){o("message",a,32),o("private key",n,32),l("Object"===w(b),"Expected options to be an Object"),void 0!==b.data&&o("options.data",b.data),void 0!==b.noncefn&&l("Function"===w(b.noncefn),"Expected options.noncefn to be a Function");const d={signature:f=T(f,64),recid:null};switch(e.ecdsaSign(d,a,n,b.data,b.noncefn)){case 0:return d;case 1:throw new Error(y);case 2:throw new Error(t)}},ecdsaVerify(a,t,n){switch(o("signature",a,64),o("message",t,32),o("public key",n,[33,65]),e.ecdsaVerify(a,t,n)){case 0:return!0;case 3:return!1;case 1:throw new Error(u);case 2:throw new Error(s)}},ecdsaRecover(a,n,b,f=!0,d){switch(o("signature",a,64),l("Number"===w(n)&&n>=0&&n<=3,"Expected recovery id to be a Number within interval [0, 3]"),o("message",b,32),m(f),d=T(d,f?33:65),e.ecdsaRecover(d,a,n,b)){case 0:return d;case 1:throw new Error(u);case 2:throw new Error(r);case 3:throw new Error(t)}},ecdh(a,t,n={},b){switch(o("public key",a,[33,65]),o("private key",t,32),l("Object"===w(n),"Expected options to be an Object"),void 0!==n.data&&o("options.data",n.data),void 0!==n.hashfn?(l("Function"===w(n.hashfn),"Expected options.hashfn to be a Function"),void 0!==n.xbuf&&o("options.xbuf",n.xbuf,32),void 0!==n.ybuf&&o("options.ybuf",n.ybuf,32),o("output",b)):b=T(b,32),e.ecdh(b,a,t,n.data,n.hashfn,n.xbuf,n.ybuf)){case 0:return b;case 1:throw new Error(s);case 2:throw new Error(c)}}})},function(e,a,t){const n=new(0,t(103).ec)("secp256k1"),b=n.curve,f=b.n.constructor;function d(e){const a=e[0];switch(a){case 2:case 3:return 33!==e.length?null:function(e,a){let t=new f(a);if(t.cmp(b.p)>=0)return null;t=t.toRed(b.red);let d=t.redSqr().redIMul(t).redIAdd(b.b).redSqrt();return 3===e!==d.isOdd()&&(d=d.redNeg()),n.keyPair({pub:{x:t,y:d}})}(a,e.subarray(1,33));case 4:case 6:case 7:return 65!==e.length?null:function(e,a,t){let d=new f(a),s=new f(t);if(d.cmp(b.p)>=0||s.cmp(b.p)>=0)return null;if(d=d.toRed(b.red),s=s.toRed(b.red),(6===e||7===e)&&s.isOdd()!==(7===e))return null;const i=d.redSqr().redIMul(d);return s.redSqr().redISub(i.redIAdd(b.b)).isZero()?n.keyPair({pub:{x:d,y:s}}):null}(a,e.subarray(1,33),e.subarray(33,65));default:return null}}function s(e,a){const t=a.encode(null,33===e.length);for(let a=0;a<e.length;++a)e[a]=t[a]}e.exports={contextRandomize:()=>0,privateKeyVerify(e){const a=new f(e);return a.cmp(b.n)<0&&!a.isZero()?0:1},privateKeyNegate(e){const a=new f(e),t=b.n.sub(a).umod(b.n).toArrayLike(Uint8Array,"be",32);return e.set(t),0},privateKeyTweakAdd(e,a){const t=new f(a);if(t.cmp(b.n)>=0)return 1;if(t.iadd(new f(e)),t.cmp(b.n)>=0&&t.isub(b.n),t.isZero())return 1;const n=t.toArrayLike(Uint8Array,"be",32);return e.set(n),0},privateKeyTweakMul(e,a){let t=new f(a);if(t.cmp(b.n)>=0||t.isZero())return 1;t.imul(new f(e)),t.cmp(b.n)>=0&&(t=t.umod(b.n));const n=t.toArrayLike(Uint8Array,"be",32);return e.set(n),0},publicKeyVerify:e=>null===d(e)?1:0,publicKeyCreate(e,a){const t=new f(a);if(t.cmp(b.n)>=0||t.isZero())return 1;return s(e,n.keyFromPrivate(a).getPublic()),0},publicKeyConvert(e,a){const t=d(a);if(null===t)return 1;return s(e,t.getPublic()),0},publicKeyNegate(e,a){const t=d(a);if(null===t)return 1;const n=t.getPublic();return n.y=n.y.redNeg(),s(e,n),0},publicKeyCombine(e,a){const t=new Array(a.length);for(let e=0;e<a.length;++e)if(t[e]=d(a[e]),null===t[e])return 1;let n=t[0].getPublic();for(let e=1;e<t.length;++e)n=n.add(t[e].pub);return n.isInfinity()?2:(s(e,n),0)},publicKeyTweakAdd(e,a,t){const n=d(a);if(null===n)return 1;if((t=new f(t)).cmp(b.n)>=0)return 2;const i=n.getPublic().add(b.g.mul(t));return i.isInfinity()?2:(s(e,i),0)},publicKeyTweakMul(e,a,t){const n=d(a);if(null===n)return 1;if((t=new f(t)).cmp(b.n)>=0||t.isZero())return 2;return s(e,n.getPublic().mul(t)),0},signatureNormalize(e){const a=new f(e.subarray(0,32)),t=new f(e.subarray(32,64));return a.cmp(b.n)>=0||t.cmp(b.n)>=0?1:(1===t.cmp(n.nh)&&e.set(b.n.sub(t).toArrayLike(Uint8Array,"be",32),32),0)},signatureExport(e,a){const t=a.subarray(0,32),n=a.subarray(32,64);if(new f(t).cmp(b.n)>=0)return 1;if(new f(n).cmp(b.n)>=0)return 1;const{output:d}=e;let s=d.subarray(4,37);s[0]=0,s.set(t,1);let i=33,p=0;for(;i>1&&0===s[p]&&!(128&s[p+1]);--i,++p);if(s=s.subarray(p),128&s[0])return 1;if(i>1&&0===s[0]&&!(128&s[1]))return 1;let u=d.subarray(39,72);u[0]=0,u.set(n,1);let y=33,r=0;for(;y>1&&0===u[r]&&!(128&u[r+1]);--y,++r);return u=u.subarray(r),128&u[0]||y>1&&0===u[0]&&!(128&u[1])?1:(e.outputlen=6+i+y,d[0]=48,d[1]=e.outputlen-2,d[2]=2,d[3]=s.length,d.set(s,4),d[4+i]=2,d[5+i]=u.length,d.set(u,6+i),0)},signatureImport(e,a){if(a.length<8)return 1;if(a.length>72)return 1;if(48!==a[0])return 1;if(a[1]!==a.length-2)return 1;if(2!==a[2])return 1;const t=a[3];if(0===t)return 1;if(5+t>=a.length)return 1;if(2!==a[4+t])return 1;const n=a[5+t];if(0===n)return 1;if(6+t+n!==a.length)return 1;if(128&a[4])return 1;if(t>1&&0===a[4]&&!(128&a[5]))return 1;if(128&a[t+6])return 1;if(n>1&&0===a[t+6]&&!(128&a[t+7]))return 1;let d=a.subarray(4,4+t);if(33===d.length&&0===d[0]&&(d=d.subarray(1)),d.length>32)return 1;let s=a.subarray(6+t);if(33===s.length&&0===s[0]&&(s=s.slice(1)),s.length>32)throw new Error("S length is too long");let i=new f(d);i.cmp(b.n)>=0&&(i=new f(0));let p=new f(a.subarray(6+t));return p.cmp(b.n)>=0&&(p=new f(0)),e.set(i.toArrayLike(Uint8Array,"be",32),0),e.set(p.toArrayLike(Uint8Array,"be",32),32),0},ecdsaSign(e,a,t,d,s){if(s){const e=s;s=n=>{const b=e(a,t,null,d,n);if(!(b instanceof Uint8Array&&32===b.length))throw new Error("This is the way");return new f(b)}}const i=new f(t);if(i.cmp(b.n)>=0||i.isZero())return 1;let p;try{p=n.sign(a,t,{canonical:!0,k:s,pers:d})}catch(e){return 1}return e.signature.set(p.r.toArrayLike(Uint8Array,"be",32),0),e.signature.set(p.s.toArrayLike(Uint8Array,"be",32),32),e.recid=p.recoveryParam,0},ecdsaVerify(e,a,t){const s={r:e.subarray(0,32),s:e.subarray(32,64)},i=new f(s.r),p=new f(s.s);if(i.cmp(b.n)>=0||p.cmp(b.n)>=0)return 1;if(1===p.cmp(n.nh)||i.isZero()||p.isZero())return 3;const u=d(t);if(null===u)return 2;const y=u.getPublic();return n.verify(a,s,y)?0:3},ecdsaRecover(e,a,t,d){const i={r:a.slice(0,32),s:a.slice(32,64)},p=new f(i.r),u=new f(i.s);if(p.cmp(b.n)>=0||u.cmp(b.n)>=0)return 1;if(p.isZero()||u.isZero())return 2;let y;try{y=n.recoverPubKey(d,i,t)}catch(e){return 2}return s(e,y),0},ecdh(e,a,t,s,i,p,u){const y=d(a);if(null===y)return 1;const r=new f(t);if(r.cmp(b.n)>=0||r.isZero())return 2;const c=y.getPublic().mul(r);if(void 0===i){const a=c.encode(null,!0),t=n.hash().update(a).digest();for(let a=0;a<32;++a)e[a]=t[a]}else{p||(p=new Uint8Array(32));const a=c.getX().toArray("be",32);for(let e=0;e<32;++e)p[e]=a[e];u||(u=new Uint8Array(32));const t=c.getY().toArray("be",32);for(let e=0;e<32;++e)u[e]=t[e];const n=i(p,u,s);if(!(n instanceof Uint8Array&&n.length===e.length))return 2;e.set(n)}return 0}}},function(e,a,t){"use strict";var n=a;n.version=t(104).version,n.utils=t(4),n.rand=t(52),n.curve=t(53),n.curves=t(30),n.ec=t(117),n.eddsa=t(121)},function(e){e.exports=JSON.parse('{"name":"elliptic","version":"6.5.4","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny <fedor@indutny.com>","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}')},function(e,a){},function(e,a){},function(e,a,t){"use strict";var n=t(4),b=t(9),f=t(1),d=t(22),s=n.assert;function i(e){d.call(this,"short",e),this.a=new b(e.a,16).toRed(this.red),this.b=new b(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function p(e,a,t,n){d.BasePoint.call(this,e,"affine"),null===a&&null===t?(this.x=null,this.y=null,this.inf=!0):(this.x=new b(a,16),this.y=new b(t,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function u(e,a,t,n){d.BasePoint.call(this,e,"jacobian"),null===a&&null===t&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new b(0)):(this.x=new b(a,16),this.y=new b(t,16),this.z=new b(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}f(i,d),e.exports=i,i.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var a,t;if(e.beta)a=new b(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);a=(a=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(e.lambda)t=new b(e.lambda,16);else{var f=this._getEndoRoots(this.n);0===this.g.mul(f[0]).x.cmp(this.g.x.redMul(a))?t=f[0]:(t=f[1],s(0===this.g.mul(t).x.cmp(this.g.x.redMul(a))))}return{beta:a,lambda:t,basis:e.basis?e.basis.map((function(e){return{a:new b(e.a,16),b:new b(e.b,16)}})):this._getEndoBasis(t)}}},i.prototype._getEndoRoots=function(e){var a=e===this.p?this.red:b.mont(e),t=new b(2).toRed(a).redInvm(),n=t.redNeg(),f=new b(3).toRed(a).redNeg().redSqrt().redMul(t);return[n.redAdd(f).fromRed(),n.redSub(f).fromRed()]},i.prototype._getEndoBasis=function(e){for(var a,t,n,f,d,s,i,p,u,y=this.n.ushrn(Math.floor(this.n.bitLength()/2)),r=e,c=this.n.clone(),l=new b(1),o=new b(0),m=new b(0),T=new b(1),w=0;0!==r.cmpn(0);){var h=c.div(r);p=c.sub(h.mul(r)),u=m.sub(h.mul(l));var v=T.sub(h.mul(o));if(!n&&p.cmp(y)<0)a=i.neg(),t=l,n=p.neg(),f=u;else if(n&&2==++w)break;i=p,c=r,r=p,m=l,l=u,T=o,o=v}d=p.neg(),s=u;var x=n.sqr().add(f.sqr());return d.sqr().add(s.sqr()).cmp(x)>=0&&(d=a,s=t),n.negative&&(n=n.neg(),f=f.neg()),d.negative&&(d=d.neg(),s=s.neg()),[{a:n,b:f},{a:d,b:s}]},i.prototype._endoSplit=function(e){var a=this.endo.basis,t=a[0],n=a[1],b=n.b.mul(e).divRound(this.n),f=t.b.neg().mul(e).divRound(this.n),d=b.mul(t.a),s=f.mul(n.a),i=b.mul(t.b),p=f.mul(n.b);return{k1:e.sub(d).sub(s),k2:i.add(p).neg()}},i.prototype.pointFromX=function(e,a){(e=new b(e,16)).red||(e=e.toRed(this.red));var t=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=t.redSqrt();if(0!==n.redSqr().redSub(t).cmp(this.zero))throw new Error("invalid point");var f=n.fromRed().isOdd();return(a&&!f||!a&&f)&&(n=n.redNeg()),this.point(e,n)},i.prototype.validate=function(e){if(e.inf)return!0;var a=e.x,t=e.y,n=this.a.redMul(a),b=a.redSqr().redMul(a).redIAdd(n).redIAdd(this.b);return 0===t.redSqr().redISub(b).cmpn(0)},i.prototype._endoWnafMulAdd=function(e,a,t){for(var n=this._endoWnafT1,b=this._endoWnafT2,f=0;f<e.length;f++){var d=this._endoSplit(a[f]),s=e[f],i=s._getBeta();d.k1.negative&&(d.k1.ineg(),s=s.neg(!0)),d.k2.negative&&(d.k2.ineg(),i=i.neg(!0)),n[2*f]=s,n[2*f+1]=i,b[2*f]=d.k1,b[2*f+1]=d.k2}for(var p=this._wnafMulAdd(1,n,b,2*f,t),u=0;u<2*f;u++)n[u]=null,b[u]=null;return p},f(p,d.BasePoint),i.prototype.point=function(e,a,t){return new p(this,e,a,t)},i.prototype.pointFromJSON=function(e,a){return p.fromJSON(this,e,a)},p.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var a=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var t=this.curve,n=function(e){return t.point(e.x.redMul(t.endo.beta),e.y)};e.beta=a,a.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return a}},p.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},p.fromJSON=function(e,a,t){"string"==typeof a&&(a=JSON.parse(a));var n=e.point(a[0],a[1],t);if(!a[2])return n;function b(a){return e.point(a[0],a[1],t)}var f=a[2];return n.precomputed={beta:null,doubles:f.doubles&&{step:f.doubles.step,points:[n].concat(f.doubles.points.map(b))},naf:f.naf&&{wnd:f.naf.wnd,points:[n].concat(f.naf.points.map(b))}},n},p.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},p.prototype.isInfinity=function(){return this.inf},p.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var a=this.y.redSub(e.y);0!==a.cmpn(0)&&(a=a.redMul(this.x.redSub(e.x).redInvm()));var t=a.redSqr().redISub(this.x).redISub(e.x),n=a.redMul(this.x.redSub(t)).redISub(this.y);return this.curve.point(t,n)},p.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var a=this.curve.a,t=this.x.redSqr(),n=e.redInvm(),b=t.redAdd(t).redIAdd(t).redIAdd(a).redMul(n),f=b.redSqr().redISub(this.x.redAdd(this.x)),d=b.redMul(this.x.redSub(f)).redISub(this.y);return this.curve.point(f,d)},p.prototype.getX=function(){return this.x.fromRed()},p.prototype.getY=function(){return this.y.fromRed()},p.prototype.mul=function(e){return e=new b(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},p.prototype.mulAdd=function(e,a,t){var n=[this,a],b=[e,t];return this.curve.endo?this.curve._endoWnafMulAdd(n,b):this.curve._wnafMulAdd(1,n,b,2)},p.prototype.jmulAdd=function(e,a,t){var n=[this,a],b=[e,t];return this.curve.endo?this.curve._endoWnafMulAdd(n,b,!0):this.curve._wnafMulAdd(1,n,b,2,!0)},p.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},p.prototype.neg=function(e){if(this.inf)return this;var a=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var t=this.precomputed,n=function(e){return e.neg()};a.precomputed={naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(n)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(n)}}}return a},p.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},f(u,d.BasePoint),i.prototype.jpoint=function(e,a,t){return new u(this,e,a,t)},u.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),a=e.redSqr(),t=this.x.redMul(a),n=this.y.redMul(a).redMul(e);return this.curve.point(t,n)},u.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},u.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var a=e.z.redSqr(),t=this.z.redSqr(),n=this.x.redMul(a),b=e.x.redMul(t),f=this.y.redMul(a.redMul(e.z)),d=e.y.redMul(t.redMul(this.z)),s=n.redSub(b),i=f.redSub(d);if(0===s.cmpn(0))return 0!==i.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var p=s.redSqr(),u=p.redMul(s),y=n.redMul(p),r=i.redSqr().redIAdd(u).redISub(y).redISub(y),c=i.redMul(y.redISub(r)).redISub(f.redMul(u)),l=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(r,c,l)},u.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var a=this.z.redSqr(),t=this.x,n=e.x.redMul(a),b=this.y,f=e.y.redMul(a).redMul(this.z),d=t.redSub(n),s=b.redSub(f);if(0===d.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var i=d.redSqr(),p=i.redMul(d),u=t.redMul(i),y=s.redSqr().redIAdd(p).redISub(u).redISub(u),r=s.redMul(u.redISub(y)).redISub(b.redMul(p)),c=this.z.redMul(d);return this.curve.jpoint(y,r,c)},u.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var a;if(this.curve.zeroA||this.curve.threeA){var t=this;for(a=0;a<e;a++)t=t.dbl();return t}var n=this.curve.a,b=this.curve.tinv,f=this.x,d=this.y,s=this.z,i=s.redSqr().redSqr(),p=d.redAdd(d);for(a=0;a<e;a++){var u=f.redSqr(),y=p.redSqr(),r=y.redSqr(),c=u.redAdd(u).redIAdd(u).redIAdd(n.redMul(i)),l=f.redMul(y),o=c.redSqr().redISub(l.redAdd(l)),m=l.redISub(o),T=c.redMul(m);T=T.redIAdd(T).redISub(r);var w=p.redMul(s);a+1<e&&(i=i.redMul(r)),f=o,s=w,p=T}return this.curve.jpoint(f,p.redMul(b),s)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},u.prototype._zeroDbl=function(){var e,a,t;if(this.zOne){var n=this.x.redSqr(),b=this.y.redSqr(),f=b.redSqr(),d=this.x.redAdd(b).redSqr().redISub(n).redISub(f);d=d.redIAdd(d);var s=n.redAdd(n).redIAdd(n),i=s.redSqr().redISub(d).redISub(d),p=f.redIAdd(f);p=(p=p.redIAdd(p)).redIAdd(p),e=i,a=s.redMul(d.redISub(i)).redISub(p),t=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),y=this.y.redSqr(),r=y.redSqr(),c=this.x.redAdd(y).redSqr().redISub(u).redISub(r);c=c.redIAdd(c);var l=u.redAdd(u).redIAdd(u),o=l.redSqr(),m=r.redIAdd(r);m=(m=m.redIAdd(m)).redIAdd(m),e=o.redISub(c).redISub(c),a=l.redMul(c.redISub(e)).redISub(m),t=(t=this.y.redMul(this.z)).redIAdd(t)}return this.curve.jpoint(e,a,t)},u.prototype._threeDbl=function(){var e,a,t;if(this.zOne){var n=this.x.redSqr(),b=this.y.redSqr(),f=b.redSqr(),d=this.x.redAdd(b).redSqr().redISub(n).redISub(f);d=d.redIAdd(d);var s=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),i=s.redSqr().redISub(d).redISub(d);e=i;var p=f.redIAdd(f);p=(p=p.redIAdd(p)).redIAdd(p),a=s.redMul(d.redISub(i)).redISub(p),t=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),y=this.y.redSqr(),r=this.x.redMul(y),c=this.x.redSub(u).redMul(this.x.redAdd(u));c=c.redAdd(c).redIAdd(c);var l=r.redIAdd(r),o=(l=l.redIAdd(l)).redAdd(l);e=c.redSqr().redISub(o),t=this.y.redAdd(this.z).redSqr().redISub(y).redISub(u);var m=y.redSqr();m=(m=(m=m.redIAdd(m)).redIAdd(m)).redIAdd(m),a=c.redMul(l.redISub(e)).redISub(m)}return this.curve.jpoint(e,a,t)},u.prototype._dbl=function(){var e=this.curve.a,a=this.x,t=this.y,n=this.z,b=n.redSqr().redSqr(),f=a.redSqr(),d=t.redSqr(),s=f.redAdd(f).redIAdd(f).redIAdd(e.redMul(b)),i=a.redAdd(a),p=(i=i.redIAdd(i)).redMul(d),u=s.redSqr().redISub(p.redAdd(p)),y=p.redISub(u),r=d.redSqr();r=(r=(r=r.redIAdd(r)).redIAdd(r)).redIAdd(r);var c=s.redMul(y).redISub(r),l=t.redAdd(t).redMul(n);return this.curve.jpoint(u,c,l)},u.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),a=this.y.redSqr(),t=this.z.redSqr(),n=a.redSqr(),b=e.redAdd(e).redIAdd(e),f=b.redSqr(),d=this.x.redAdd(a).redSqr().redISub(e).redISub(n),s=(d=(d=(d=d.redIAdd(d)).redAdd(d).redIAdd(d)).redISub(f)).redSqr(),i=n.redIAdd(n);i=(i=(i=i.redIAdd(i)).redIAdd(i)).redIAdd(i);var p=b.redIAdd(d).redSqr().redISub(f).redISub(s).redISub(i),u=a.redMul(p);u=(u=u.redIAdd(u)).redIAdd(u);var y=this.x.redMul(s).redISub(u);y=(y=y.redIAdd(y)).redIAdd(y);var r=this.y.redMul(p.redMul(i.redISub(p)).redISub(d.redMul(s)));r=(r=(r=r.redIAdd(r)).redIAdd(r)).redIAdd(r);var c=this.z.redAdd(d).redSqr().redISub(t).redISub(s);return this.curve.jpoint(y,r,c)},u.prototype.mul=function(e,a){return e=new b(e,a),this.curve._wnafMul(this,e)},u.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var a=this.z.redSqr(),t=e.z.redSqr();if(0!==this.x.redMul(t).redISub(e.x.redMul(a)).cmpn(0))return!1;var n=a.redMul(this.z),b=t.redMul(e.z);return 0===this.y.redMul(b).redISub(e.y.redMul(n)).cmpn(0)},u.prototype.eqXToP=function(e){var a=this.z.redSqr(),t=e.toRed(this.curve.red).redMul(a);if(0===this.x.cmp(t))return!0;for(var n=e.clone(),b=this.curve.redN.redMul(a);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(b),0===this.x.cmp(t))return!0}},u.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(e,a,t){"use strict";var n=t(9),b=t(1),f=t(22),d=t(4);function s(e){f.call(this,"mont",e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function i(e,a,t){f.BasePoint.call(this,e,"projective"),null===a&&null===t?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(a,16),this.z=new n(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}b(s,f),e.exports=s,s.prototype.validate=function(e){var a=e.normalize().x,t=a.redSqr(),n=t.redMul(a).redAdd(t.redMul(this.a)).redAdd(a);return 0===n.redSqrt().redSqr().cmp(n)},b(i,f.BasePoint),s.prototype.decodePoint=function(e,a){return this.point(d.toArray(e,a),1)},s.prototype.point=function(e,a){return new i(this,e,a)},s.prototype.pointFromJSON=function(e){return i.fromJSON(this,e)},i.prototype.precompute=function(){},i.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},i.fromJSON=function(e,a){return new i(e,a[0],a[1]||e.one)},i.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},i.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},i.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),a=this.x.redSub(this.z).redSqr(),t=e.redSub(a),n=e.redMul(a),b=t.redMul(a.redAdd(this.curve.a24.redMul(t)));return this.curve.point(n,b)},i.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},i.prototype.diffAdd=function(e,a){var t=this.x.redAdd(this.z),n=this.x.redSub(this.z),b=e.x.redAdd(e.z),f=e.x.redSub(e.z).redMul(t),d=b.redMul(n),s=a.z.redMul(f.redAdd(d).redSqr()),i=a.x.redMul(f.redISub(d).redSqr());return this.curve.point(s,i)},i.prototype.mul=function(e){for(var a=e.clone(),t=this,n=this.curve.point(null,null),b=[];0!==a.cmpn(0);a.iushrn(1))b.push(a.andln(1));for(var f=b.length-1;f>=0;f--)0===b[f]?(t=t.diffAdd(n,this),n=n.dbl()):(n=t.diffAdd(n,this),t=t.dbl());return n},i.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},i.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},i.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},i.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},i.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(e,a,t){"use strict";var n=t(4),b=t(9),f=t(1),d=t(22),s=n.assert;function i(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,d.call(this,"edwards",e),this.a=new b(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new b(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new b(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),s(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function p(e,a,t,n,f){d.BasePoint.call(this,e,"projective"),null===a&&null===t&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new b(a,16),this.y=new b(t,16),this.z=n?new b(n,16):this.curve.one,this.t=f&&new b(f,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}f(i,d),e.exports=i,i.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},i.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},i.prototype.jpoint=function(e,a,t,n){return this.point(e,a,t,n)},i.prototype.pointFromX=function(e,a){(e=new b(e,16)).red||(e=e.toRed(this.red));var t=e.redSqr(),n=this.c2.redSub(this.a.redMul(t)),f=this.one.redSub(this.c2.redMul(this.d).redMul(t)),d=n.redMul(f.redInvm()),s=d.redSqrt();if(0!==s.redSqr().redSub(d).cmp(this.zero))throw new Error("invalid point");var i=s.fromRed().isOdd();return(a&&!i||!a&&i)&&(s=s.redNeg()),this.point(e,s)},i.prototype.pointFromY=function(e,a){(e=new b(e,16)).red||(e=e.toRed(this.red));var t=e.redSqr(),n=t.redSub(this.c2),f=t.redMul(this.d).redMul(this.c2).redSub(this.a),d=n.redMul(f.redInvm());if(0===d.cmp(this.zero)){if(a)throw new Error("invalid point");return this.point(this.zero,e)}var s=d.redSqrt();if(0!==s.redSqr().redSub(d).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==a&&(s=s.redNeg()),this.point(s,e)},i.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var a=e.x.redSqr(),t=e.y.redSqr(),n=a.redMul(this.a).redAdd(t),b=this.c2.redMul(this.one.redAdd(this.d.redMul(a).redMul(t)));return 0===n.cmp(b)},f(p,d.BasePoint),i.prototype.pointFromJSON=function(e){return p.fromJSON(this,e)},i.prototype.point=function(e,a,t,n){return new p(this,e,a,t,n)},p.fromJSON=function(e,a){return new p(e,a[0],a[1],a[2])},p.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},p.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},p.prototype._extDbl=function(){var e=this.x.redSqr(),a=this.y.redSqr(),t=this.z.redSqr();t=t.redIAdd(t);var n=this.curve._mulA(e),b=this.x.redAdd(this.y).redSqr().redISub(e).redISub(a),f=n.redAdd(a),d=f.redSub(t),s=n.redSub(a),i=b.redMul(d),p=f.redMul(s),u=b.redMul(s),y=d.redMul(f);return this.curve.point(i,p,y,u)},p.prototype._projDbl=function(){var e,a,t,n,b,f,d=this.x.redAdd(this.y).redSqr(),s=this.x.redSqr(),i=this.y.redSqr();if(this.curve.twisted){var p=(n=this.curve._mulA(s)).redAdd(i);this.zOne?(e=d.redSub(s).redSub(i).redMul(p.redSub(this.curve.two)),a=p.redMul(n.redSub(i)),t=p.redSqr().redSub(p).redSub(p)):(b=this.z.redSqr(),f=p.redSub(b).redISub(b),e=d.redSub(s).redISub(i).redMul(f),a=p.redMul(n.redSub(i)),t=p.redMul(f))}else n=s.redAdd(i),b=this.curve._mulC(this.z).redSqr(),f=n.redSub(b).redSub(b),e=this.curve._mulC(d.redISub(n)).redMul(f),a=this.curve._mulC(n).redMul(s.redISub(i)),t=n.redMul(f);return this.curve.point(e,a,t)},p.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},p.prototype._extAdd=function(e){var a=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),t=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),b=this.z.redMul(e.z.redAdd(e.z)),f=t.redSub(a),d=b.redSub(n),s=b.redAdd(n),i=t.redAdd(a),p=f.redMul(d),u=s.redMul(i),y=f.redMul(i),r=d.redMul(s);return this.curve.point(p,u,r,y)},p.prototype._projAdd=function(e){var a,t,n=this.z.redMul(e.z),b=n.redSqr(),f=this.x.redMul(e.x),d=this.y.redMul(e.y),s=this.curve.d.redMul(f).redMul(d),i=b.redSub(s),p=b.redAdd(s),u=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(f).redISub(d),y=n.redMul(i).redMul(u);return this.curve.twisted?(a=n.redMul(p).redMul(d.redSub(this.curve._mulA(f))),t=i.redMul(p)):(a=n.redMul(p).redMul(d.redSub(f)),t=this.curve._mulC(i).redMul(p)),this.curve.point(y,a,t)},p.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},p.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},p.prototype.mulAdd=function(e,a,t){return this.curve._wnafMulAdd(1,[this,a],[e,t],2,!1)},p.prototype.jmulAdd=function(e,a,t){return this.curve._wnafMulAdd(1,[this,a],[e,t],2,!0)},p.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},p.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},p.prototype.getX=function(){return this.normalize(),this.x.fromRed()},p.prototype.getY=function(){return this.normalize(),this.y.fromRed()},p.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},p.prototype.eqXToP=function(e){var a=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(a))return!0;for(var t=e.clone(),n=this.curve.redN.redMul(this.z);;){if(t.iadd(this.curve.n),t.cmp(this.curve.p)>=0)return!1;if(a.redIAdd(n),0===this.x.cmp(a))return!0}},p.prototype.toP=p.prototype.normalize,p.prototype.mixedAdd=p.prototype.add},function(e,a,t){"use strict";a.sha1=t(111),a.sha224=t(112),a.sha256=t(55),a.sha384=t(113),a.sha512=t(56)},function(e,a,t){"use strict";var n=t(6),b=t(18),f=t(54),d=n.rotl32,s=n.sum32,i=n.sum32_5,p=f.ft_1,u=b.BlockHash,y=[1518500249,1859775393,2400959708,3395469782];function r(){if(!(this instanceof r))return new r;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(r,u),e.exports=r,r.blockSize=512,r.outSize=160,r.hmacStrength=80,r.padLength=64,r.prototype._update=function(e,a){for(var t=this.W,n=0;n<16;n++)t[n]=e[a+n];for(;n<t.length;n++)t[n]=d(t[n-3]^t[n-8]^t[n-14]^t[n-16],1);var b=this.h[0],f=this.h[1],u=this.h[2],r=this.h[3],c=this.h[4];for(n=0;n<t.length;n++){var l=~~(n/20),o=i(d(b,5),p(l,f,u,r),c,t[n],y[l]);c=r,r=u,u=d(f,30),f=b,b=o}this.h[0]=s(this.h[0],b),this.h[1]=s(this.h[1],f),this.h[2]=s(this.h[2],u),this.h[3]=s(this.h[3],r),this.h[4]=s(this.h[4],c)},r.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},function(e,a,t){"use strict";var n=t(6),b=t(55);function f(){if(!(this instanceof f))return new f;b.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(f,b),e.exports=f,f.blockSize=512,f.outSize=224,f.hmacStrength=192,f.padLength=64,f.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},function(e,a,t){"use strict";var n=t(6),b=t(56);function f(){if(!(this instanceof f))return new f;b.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(f,b),e.exports=f,f.blockSize=1024,f.outSize=384,f.hmacStrength=192,f.padLength=128,f.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},function(e,a,t){"use strict";var n=t(6),b=t(18),f=n.rotl32,d=n.sum32,s=n.sum32_3,i=n.sum32_4,p=b.BlockHash;function u(){if(!(this instanceof u))return new u;p.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function y(e,a,t,n){return e<=15?a^t^n:e<=31?a&t|~a&n:e<=47?(a|~t)^n:e<=63?a&n|t&~n:a^(t|~n)}function r(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function c(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}n.inherits(u,p),a.ripemd160=u,u.blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(e,a){for(var t=this.h[0],n=this.h[1],b=this.h[2],p=this.h[3],u=this.h[4],w=t,h=n,v=b,x=p,M=u,g=0;g<80;g++){var A=d(f(i(t,y(g,n,b,p),e[l[g]+a],r(g)),m[g]),u);t=u,u=p,p=f(b,10),b=n,n=A,A=d(f(i(w,y(79-g,h,v,x),e[o[g]+a],c(g)),T[g]),M),w=M,M=x,x=f(v,10),v=h,h=A}A=s(this.h[1],b,x),this.h[1]=s(this.h[2],p,M),this.h[2]=s(this.h[3],u,w),this.h[3]=s(this.h[4],t,h),this.h[4]=s(this.h[0],n,v),this.h[0]=A},u.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var l=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],o=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],m=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],T=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},function(e,a,t){"use strict";var n=t(6),b=t(10);function f(e,a,t){if(!(this instanceof f))return new f(e,a,t);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(a,t))}e.exports=f,f.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),b(e.length<=this.blockSize);for(var a=e.length;a<this.blockSize;a++)e.push(0);for(a=0;a<e.length;a++)e[a]^=54;for(this.inner=(new this.Hash).update(e),a=0;a<e.length;a++)e[a]^=106;this.outer=(new this.Hash).update(e)},f.prototype.update=function(e,a){return this.inner.update(e,a),this},f.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},function(e,a){e.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},function(e,a,t){"use strict";var n=t(9),b=t(118),f=t(4),d=t(30),s=t(52),i=f.assert,p=t(119),u=t(120);function y(e){if(!(this instanceof y))return new y(e);"string"==typeof e&&(i(Object.prototype.hasOwnProperty.call(d,e),"Unknown curve "+e),e=d[e]),e instanceof d.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=y,y.prototype.keyPair=function(e){return new p(this,e)},y.prototype.keyFromPrivate=function(e,a){return p.fromPrivate(this,e,a)},y.prototype.keyFromPublic=function(e,a){return p.fromPublic(this,e,a)},y.prototype.genKeyPair=function(e){e||(e={});for(var a=new b({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||s(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),t=this.n.byteLength(),f=this.n.sub(new n(2));;){var d=new n(a.generate(t));if(!(d.cmp(f)>0))return d.iaddn(1),this.keyFromPrivate(d)}},y.prototype._truncateToN=function(e,a){var t=8*e.byteLength()-this.n.bitLength();return t>0&&(e=e.ushrn(t)),!a&&e.cmp(this.n)>=0?e.sub(this.n):e},y.prototype.sign=function(e,a,t,f){"object"==typeof t&&(f=t,t=null),f||(f={}),a=this.keyFromPrivate(a,t),e=this._truncateToN(new n(e,16));for(var d=this.n.byteLength(),s=a.getPrivate().toArray("be",d),i=e.toArray("be",d),p=new b({hash:this.hash,entropy:s,nonce:i,pers:f.pers,persEnc:f.persEnc||"utf8"}),y=this.n.sub(new n(1)),r=0;;r++){var c=f.k?f.k(r):new n(p.generate(this.n.byteLength()));if(!((c=this._truncateToN(c,!0)).cmpn(1)<=0||c.cmp(y)>=0)){var l=this.g.mul(c);if(!l.isInfinity()){var o=l.getX(),m=o.umod(this.n);if(0!==m.cmpn(0)){var T=c.invm(this.n).mul(m.mul(a.getPrivate()).iadd(e));if(0!==(T=T.umod(this.n)).cmpn(0)){var w=(l.getY().isOdd()?1:0)|(0!==o.cmp(m)?2:0);return f.canonical&&T.cmp(this.nh)>0&&(T=this.n.sub(T),w^=1),new u({r:m,s:T,recoveryParam:w})}}}}}},y.prototype.verify=function(e,a,t,b){e=this._truncateToN(new n(e,16)),t=this.keyFromPublic(t,b);var f=(a=new u(a,"hex")).r,d=a.s;if(f.cmpn(1)<0||f.cmp(this.n)>=0)return!1;if(d.cmpn(1)<0||d.cmp(this.n)>=0)return!1;var s,i=d.invm(this.n),p=i.mul(e).umod(this.n),y=i.mul(f).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(p,t.getPublic(),y)).isInfinity()&&s.eqXToP(f):!(s=this.g.mulAdd(p,t.getPublic(),y)).isInfinity()&&0===s.getX().umod(this.n).cmp(f)},y.prototype.recoverPubKey=function(e,a,t,b){i((3&t)===t,"The recovery param is more than two bits"),a=new u(a,b);var f=this.n,d=new n(e),s=a.r,p=a.s,y=1&t,r=t>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&r)throw new Error("Unable to find sencond key candinate");s=r?this.curve.pointFromX(s.add(this.curve.n),y):this.curve.pointFromX(s,y);var c=a.r.invm(f),l=f.sub(d).mul(c).umod(f),o=p.mul(c).umod(f);return this.g.mulAdd(l,s,o)},y.prototype.getKeyRecoveryParam=function(e,a,t,n){if(null!==(a=new u(a,n)).recoveryParam)return a.recoveryParam;for(var b=0;b<4;b++){var f;try{f=this.recoverPubKey(e,a,b)}catch(e){continue}if(f.eq(t))return b}throw new Error("Unable to find valid recovery factor")}},function(e,a,t){"use strict";var n=t(31),b=t(51),f=t(10);function d(e){if(!(this instanceof d))return new d(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var a=b.toArray(e.entropy,e.entropyEnc||"hex"),t=b.toArray(e.nonce,e.nonceEnc||"hex"),n=b.toArray(e.pers,e.persEnc||"hex");f(a.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(a,t,n)}e.exports=d,d.prototype._init=function(e,a,t){var n=e.concat(a).concat(t);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var b=0;b<this.V.length;b++)this.K[b]=0,this.V[b]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},d.prototype._hmac=function(){return new n.hmac(this.hash,this.K)},d.prototype._update=function(e){var a=this._hmac().update(this.V).update([0]);e&&(a=a.update(e)),this.K=a.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},d.prototype.reseed=function(e,a,t,n){"string"!=typeof a&&(n=t,t=a,a=null),e=b.toArray(e,a),t=b.toArray(t,n),f(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(t||[])),this._reseed=1},d.prototype.generate=function(e,a,t,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof a&&(n=t,t=a,a=null),t&&(t=b.toArray(t,n||"hex"),this._update(t));for(var f=[];f.length<e;)this.V=this._hmac().update(this.V).digest(),f=f.concat(this.V);var d=f.slice(0,e);return this._update(t),this._reseed++,b.encode(d,a)}},function(e,a,t){"use strict";var n=t(9),b=t(4).assert;function f(e,a){this.ec=e,this.priv=null,this.pub=null,a.priv&&this._importPrivate(a.priv,a.privEnc),a.pub&&this._importPublic(a.pub,a.pubEnc)}e.exports=f,f.fromPublic=function(e,a,t){return a instanceof f?a:new f(e,{pub:a,pubEnc:t})},f.fromPrivate=function(e,a,t){return a instanceof f?a:new f(e,{priv:a,privEnc:t})},f.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},f.prototype.getPublic=function(e,a){return"string"==typeof e&&(a=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),a?this.pub.encode(a,e):this.pub},f.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},f.prototype._importPrivate=function(e,a){this.priv=new n(e,a||16),this.priv=this.priv.umod(this.ec.curve.n)},f.prototype._importPublic=function(e,a){if(e.x||e.y)return"mont"===this.ec.curve.type?b(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||b(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,a)},f.prototype.derive=function(e){return e.validate()||b(e.validate(),"public point not validated"),e.mul(this.priv).getX()},f.prototype.sign=function(e,a,t){return this.ec.sign(e,this,a,t)},f.prototype.verify=function(e,a){return this.ec.verify(e,a,this)},f.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},function(e,a,t){"use strict";var n=t(9),b=t(4),f=b.assert;function d(e,a){if(e instanceof d)return e;this._importDER(e,a)||(f(e.r&&e.s,"Signature without r or s"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function s(){this.place=0}function i(e,a){var t=e[a.place++];if(!(128&t))return t;var n=15&t;if(0===n||n>4)return!1;for(var b=0,f=0,d=a.place;f<n;f++,d++)b<<=8,b|=e[d],b>>>=0;return!(b<=127)&&(a.place=d,b)}function p(e){for(var a=0,t=e.length-1;!e[a]&&!(128&e[a+1])&&a<t;)a++;return 0===a?e:e.slice(a)}function u(e,a){if(a<128)e.push(a);else{var t=1+(Math.log(a)/Math.LN2>>>3);for(e.push(128|t);--t;)e.push(a>>>(t<<3)&255);e.push(a)}}e.exports=d,d.prototype._importDER=function(e,a){e=b.toArray(e,a);var t=new s;if(48!==e[t.place++])return!1;var f=i(e,t);if(!1===f)return!1;if(f+t.place!==e.length)return!1;if(2!==e[t.place++])return!1;var d=i(e,t);if(!1===d)return!1;var p=e.slice(t.place,d+t.place);if(t.place+=d,2!==e[t.place++])return!1;var u=i(e,t);if(!1===u)return!1;if(e.length!==u+t.place)return!1;var y=e.slice(t.place,u+t.place);if(0===p[0]){if(!(128&p[1]))return!1;p=p.slice(1)}if(0===y[0]){if(!(128&y[1]))return!1;y=y.slice(1)}return this.r=new n(p),this.s=new n(y),this.recoveryParam=null,!0},d.prototype.toDER=function(e){var a=this.r.toArray(),t=this.s.toArray();for(128&a[0]&&(a=[0].concat(a)),128&t[0]&&(t=[0].concat(t)),a=p(a),t=p(t);!(t[0]||128&t[1]);)t=t.slice(1);var n=[2];u(n,a.length),(n=n.concat(a)).push(2),u(n,t.length);var f=n.concat(t),d=[48];return u(d,f.length),d=d.concat(f),b.encode(d,e)}},function(e,a,t){"use strict";var n=t(31),b=t(30),f=t(4),d=f.assert,s=f.parseBytes,i=t(122),p=t(123);function u(e){if(d("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof u))return new u(e);e=b[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=n.sha512}e.exports=u,u.prototype.sign=function(e,a){e=s(e);var t=this.keyFromSecret(a),n=this.hashInt(t.messagePrefix(),e),b=this.g.mul(n),f=this.encodePoint(b),d=this.hashInt(f,t.pubBytes(),e).mul(t.priv()),i=n.add(d).umod(this.curve.n);return this.makeSignature({R:b,S:i,Rencoded:f})},u.prototype.verify=function(e,a,t){e=s(e),a=this.makeSignature(a);var n=this.keyFromPublic(t),b=this.hashInt(a.Rencoded(),n.pubBytes(),e),f=this.g.mul(a.S());return a.R().add(n.pub().mul(b)).eq(f)},u.prototype.hashInt=function(){for(var e=this.hash(),a=0;a<arguments.length;a++)e.update(arguments[a]);return f.intFromLE(e.digest()).umod(this.curve.n)},u.prototype.keyFromPublic=function(e){return i.fromPublic(this,e)},u.prototype.keyFromSecret=function(e){return i.fromSecret(this,e)},u.prototype.makeSignature=function(e){return e instanceof p?e:new p(this,e)},u.prototype.encodePoint=function(e){var a=e.getY().toArray("le",this.encodingLength);return a[this.encodingLength-1]|=e.getX().isOdd()?128:0,a},u.prototype.decodePoint=function(e){var a=(e=f.parseBytes(e)).length-1,t=e.slice(0,a).concat(-129&e[a]),n=0!=(128&e[a]),b=f.intFromLE(t);return this.curve.pointFromY(b,n)},u.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},u.prototype.decodeInt=function(e){return f.intFromLE(e)},u.prototype.isPoint=function(e){return e instanceof this.pointClass}},function(e,a,t){"use strict";var n=t(4),b=n.assert,f=n.parseBytes,d=n.cachedProperty;function s(e,a){this.eddsa=e,this._secret=f(a.secret),e.isPoint(a.pub)?this._pub=a.pub:this._pubBytes=f(a.pub)}s.fromPublic=function(e,a){return a instanceof s?a:new s(e,{pub:a})},s.fromSecret=function(e,a){return a instanceof s?a:new s(e,{secret:a})},s.prototype.secret=function(){return this._secret},d(s,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),d(s,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),d(s,"privBytes",(function(){var e=this.eddsa,a=this.hash(),t=e.encodingLength-1,n=a.slice(0,e.encodingLength);return n[0]&=248,n[t]&=127,n[t]|=64,n})),d(s,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),d(s,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),d(s,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),s.prototype.sign=function(e){return b(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},s.prototype.verify=function(e,a){return this.eddsa.verify(e,a,this)},s.prototype.getSecret=function(e){return b(this._secret,"KeyPair is public only"),n.encode(this.secret(),e)},s.prototype.getPublic=function(e){return n.encode(this.pubBytes(),e)},e.exports=s},function(e,a,t){"use strict";var n=t(9),b=t(4),f=b.assert,d=b.cachedProperty,s=b.parseBytes;function i(e,a){this.eddsa=e,"object"!=typeof a&&(a=s(a)),Array.isArray(a)&&(a={R:a.slice(0,e.encodingLength),S:a.slice(e.encodingLength)}),f(a.R&&a.S,"Signature without R or S"),e.isPoint(a.R)&&(this._R=a.R),a.S instanceof n&&(this._S=a.S),this._Rencoded=Array.isArray(a.R)?a.R:a.Rencoded,this._Sencoded=Array.isArray(a.S)?a.S:a.Sencoded}d(i,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),d(i,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),d(i,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),d(i,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),i.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},i.prototype.toHex=function(){return b.encode(this.toBytes(),"hex").toUpperCase()},e.exports=i},function(e,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var n=t(27);a.getRandomBytes=function(e){return new Promise((function(a,t){n(e,(function(e,n){e?t(e):a(n)}))}))},a.getRandomBytesSync=function(e){return n(e)}},function(e,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var n=t(126),b=t(127);a.keccak224=n.createHashFunction((function(){return b("keccak224")})),a.keccak256=n.createHashFunction((function(){return b("keccak256")})),a.keccak384=n.createHashFunction((function(){return b("keccak384")})),a.keccak512=n.createHashFunction((function(){return b("keccak512")}))},function(e,a,t){"use strict";(function(e){Object.defineProperty(a,"__esModule",{value:!0}),a.createHashFunction=function(a){return function(t){var n=a();return n.update(t),e.from(n.digest())}}}).call(this,t(0).Buffer)},function(e,a,t){e.exports=t(128)(t(139))},function(e,a,t){const n=t(129),b=t(138);e.exports=function(e){const a=n(e),t=b(e);return function(e,n){switch("string"==typeof e?e.toLowerCase():e){case"keccak224":return new a(1152,448,null,224,n);case"keccak256":return new a(1088,512,null,256,n);case"keccak384":return new a(832,768,null,384,n);case"keccak512":return new a(576,1024,null,512,n);case"sha3-224":return new a(1152,448,6,224,n);case"sha3-256":return new a(1088,512,6,256,n);case"sha3-384":return new a(832,768,6,384,n);case"sha3-512":return new a(576,1024,6,512,n);case"shake128":return new t(1344,256,31,n);case"shake256":return new t(1088,512,31,n);default:throw new Error("Invald algorithm: "+e)}}}},function(e,a,t){(function(a){const{Transform:n}=t(33);e.exports=e=>class t extends n{constructor(a,t,n,b,f){super(f),this._rate=a,this._capacity=t,this._delimitedSuffix=n,this._hashBitLength=b,this._options=f,this._state=new e,this._state.initialize(a,t),this._finalized=!1}_transform(e,a,t){let n=null;try{this.update(e,a)}catch(e){n=e}t(n)}_flush(e){let a=null;try{this.push(this.digest())}catch(e){a=e}e(a)}update(e,t){if(!a.isBuffer(e)&&"string"!=typeof e)throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Digest already called");return a.isBuffer(e)||(e=a.from(e,t)),this._state.absorb(e),this}digest(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0,this._delimitedSuffix&&this._state.absorbLastFewBits(this._delimitedSuffix);let a=this._state.squeeze(this._hashBitLength/8);return void 0!==e&&(a=a.toString(e)),this._resetState(),a}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){const e=new t(this._rate,this._capacity,this._delimitedSuffix,this._hashBitLength,this._options);return this._state.copy(e._state),e._finalized=this._finalized,e}}}).call(this,t(0).Buffer)},function(e,a){},function(e,a,t){"use strict";function n(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function b(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function f(e,a){for(var t=0;t<a.length;t++){var n=a[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var d=t(0).Buffer,s=t(132).inspect,i=s&&s.custom||"inspect";e.exports=function(){function e(){!function(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}var a,t,p;return a=e,(t=[{key:"push",value:function(e){var a={data:e,next:null};this.length>0?this.tail.next=a:this.head=a,this.tail=a,++this.length}},{key:"unshift",value:function(e){var a={data:e,next:this.head};0===this.length&&(this.tail=a),this.head=a,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var a=this.head,t=""+a.data;a=a.next;)t+=e+a.data;return t}},{key:"concat",value:function(e){if(0===this.length)return d.alloc(0);for(var a,t,n,b=d.allocUnsafe(e>>>0),f=this.head,s=0;f;)a=f.data,t=b,n=s,d.prototype.copy.call(a,t,n),s+=f.data.length,f=f.next;return b}},{key:"consume",value:function(e,a){var t;return e<this.head.data.length?(t=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):t=e===this.head.data.length?this.shift():a?this._getString(e):this._getBuffer(e),t}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(e){var a=this.head,t=1,n=a.data;for(e-=n.length;a=a.next;){var b=a.data,f=e>b.length?b.length:e;if(f===b.length?n+=b:n+=b.slice(0,e),0==(e-=f)){f===b.length?(++t,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=b.slice(f));break}++t}return this.length-=t,n}},{key:"_getBuffer",value:function(e){var a=d.allocUnsafe(e),t=this.head,n=1;for(t.data.copy(a),e-=t.data.length;t=t.next;){var b=t.data,f=e>b.length?b.length:e;if(b.copy(a,a.length-e,0,f),0==(e-=f)){f===b.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=b.slice(f));break}++n}return this.length-=n,a}},{key:i,value:function(e,a){return s(this,function(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?n(Object(t),!0).forEach((function(a){b(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}({},a,{depth:0,customInspect:!1}))}}])&&f(a.prototype,t),p&&f(a,p),e}()},function(e,a){},function(e,a,t){var n=t(0),b=n.Buffer;function f(e,a){for(var t in e)a[t]=e[t]}function d(e,a,t){return b(e,a,t)}b.from&&b.alloc&&b.allocUnsafe&&b.allocUnsafeSlow?e.exports=n:(f(n,a),a.Buffer=d),f(b,d),d.from=function(e,a,t){if("number"==typeof e)throw new TypeError("Argument must not be a number");return b(e,a,t)},d.alloc=function(e,a,t){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=b(e);return void 0!==a?"string"==typeof t?n.fill(a,t):n.fill(a):n.fill(0),n},d.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return b(e)},d.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,a,t){"use strict";(function(a){var n;function b(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}var f=t(34),d=Symbol("lastResolve"),s=Symbol("lastReject"),i=Symbol("error"),p=Symbol("ended"),u=Symbol("lastPromise"),y=Symbol("handlePromise"),r=Symbol("stream");function c(e,a){return{value:e,done:a}}function l(e){var a=e[d];if(null!==a){var t=e[r].read();null!==t&&(e[u]=null,e[d]=null,e[s]=null,a(c(t,!1)))}}function o(e){a.nextTick(l,e)}var m=Object.getPrototypeOf((function(){})),T=Object.setPrototypeOf((b(n={get stream(){return this[r]},next:function(){var e=this,t=this[i];if(null!==t)return Promise.reject(t);if(this[p])return Promise.resolve(c(void 0,!0));if(this[r].destroyed)return new Promise((function(t,n){a.nextTick((function(){e[i]?n(e[i]):t(c(void 0,!0))}))}));var n,b=this[u];if(b)n=new Promise(function(e,a){return function(t,n){e.then((function(){a[p]?t(c(void 0,!0)):a[y](t,n)}),n)}}(b,this));else{var f=this[r].read();if(null!==f)return Promise.resolve(c(f,!1));n=new Promise(this[y])}return this[u]=n,n}},Symbol.asyncIterator,(function(){return this})),b(n,"return",(function(){var e=this;return new Promise((function(a,t){e[r].destroy(null,(function(e){e?t(e):a(c(void 0,!0))}))}))})),n),m);e.exports=function(e){var a,t=Object.create(T,(b(a={},r,{value:e,writable:!0}),b(a,d,{value:null,writable:!0}),b(a,s,{value:null,writable:!0}),b(a,i,{value:null,writable:!0}),b(a,p,{value:e._readableState.endEmitted,writable:!0}),b(a,y,{value:function(e,a){var n=t[r].read();n?(t[u]=null,t[d]=null,t[s]=null,e(c(n,!1))):(t[d]=e,t[s]=a)},writable:!0}),a));return t[u]=null,f(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var a=t[s];return null!==a&&(t[u]=null,t[d]=null,t[s]=null,a(e)),void(t[i]=e)}var n=t[d];null!==n&&(t[u]=null,t[d]=null,t[s]=null,n(c(void 0,!0))),t[p]=!0})),e.on("readable",o.bind(null,t)),t}}).call(this,t(3))},function(e,a){e.exports=function(){throw new Error("Readable.from is not available in the browser")}},function(e,a,t){"use strict";e.exports=b;var n=t(63);function b(e){if(!(this instanceof b))return new b(e);n.call(this,e)}t(1)(b,n),b.prototype._transform=function(e,a,t){t(null,e)}},function(e,a,t){"use strict";var n;var b=t(14).codes,f=b.ERR_MISSING_ARGS,d=b.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function i(e,a,b,f){f=function(e){var a=!1;return function(){a||(a=!0,e.apply(void 0,arguments))}}(f);var s=!1;e.on("close",(function(){s=!0})),void 0===n&&(n=t(34)),n(e,{readable:a,writable:b},(function(e){if(e)return f(e);s=!0,f()}));var i=!1;return function(a){if(!s&&!i)return i=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void f(a||new d("pipe"))}}function p(e){e()}function u(e,a){return e.pipe(a)}function y(e){return e.length?"function"!=typeof e[e.length-1]?s:e.pop():s}e.exports=function(){for(var e=arguments.length,a=new Array(e),t=0;t<e;t++)a[t]=arguments[t];var n,b=y(a);if(Array.isArray(a[0])&&(a=a[0]),a.length<2)throw new f("streams");var d=a.map((function(e,t){var f=t<a.length-1;return i(e,f,t>0,(function(e){n||(n=e),e&&d.forEach(p),f||(d.forEach(p),b(n))}))}));return a.reduce(u)}},function(e,a,t){(function(a){const{Transform:n}=t(33);e.exports=e=>class t extends n{constructor(a,t,n,b){super(b),this._rate=a,this._capacity=t,this._delimitedSuffix=n,this._options=b,this._state=new e,this._state.initialize(a,t),this._finalized=!1}_transform(e,a,t){let n=null;try{this.update(e,a)}catch(e){n=e}t(n)}_flush(){}_read(e){this.push(this.squeeze(e))}update(e,t){if(!a.isBuffer(e)&&"string"!=typeof e)throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Squeeze already called");return a.isBuffer(e)||(e=a.from(e,t)),this._state.absorb(e),this}squeeze(e,a){this._finalized||(this._finalized=!0,this._state.absorbLastFewBits(this._delimitedSuffix));let t=this._state.squeeze(e);return void 0!==a&&(t=t.toString(a)),t}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){const e=new t(this._rate,this._capacity,this._delimitedSuffix,this._options);return this._state.copy(e._state),e._finalized=this._finalized,e}}}).call(this,t(0).Buffer)},function(e,a,t){(function(a){const n=t(140);function b(){this.state=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.blockSize=null,this.count=0,this.squeezing=!1}b.prototype.initialize=function(e,a){for(let e=0;e<50;++e)this.state[e]=0;this.blockSize=e/8,this.count=0,this.squeezing=!1},b.prototype.absorb=function(e){for(let a=0;a<e.length;++a)this.state[~~(this.count/4)]^=e[a]<<this.count%4*8,this.count+=1,this.count===this.blockSize&&(n.p1600(this.state),this.count=0)},b.prototype.absorbLastFewBits=function(e){this.state[~~(this.count/4)]^=e<<this.count%4*8,0!=(128&e)&&this.count===this.blockSize-1&&n.p1600(this.state),this.state[~~((this.blockSize-1)/4)]^=128<<(this.blockSize-1)%4*8,n.p1600(this.state),this.count=0,this.squeezing=!0},b.prototype.squeeze=function(e){this.squeezing||this.absorbLastFewBits(1);const t=a.alloc(e);for(let a=0;a<e;++a)t[a]=this.state[~~(this.count/4)]>>>this.count%4*8&255,this.count+=1,this.count===this.blockSize&&(n.p1600(this.state),this.count=0);return t},b.prototype.copy=function(e){for(let a=0;a<50;++a)e.state[a]=this.state[a];e.blockSize=this.blockSize,e.count=this.count,e.squeezing=this.squeezing},e.exports=b}).call(this,t(0).Buffer)},function(e,a){const t=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648];a.p1600=function(e){for(let a=0;a<24;++a){const n=e[0]^e[10]^e[20]^e[30]^e[40],b=e[1]^e[11]^e[21]^e[31]^e[41],f=e[2]^e[12]^e[22]^e[32]^e[42],d=e[3]^e[13]^e[23]^e[33]^e[43],s=e[4]^e[14]^e[24]^e[34]^e[44],i=e[5]^e[15]^e[25]^e[35]^e[45],p=e[6]^e[16]^e[26]^e[36]^e[46],u=e[7]^e[17]^e[27]^e[37]^e[47],y=e[8]^e[18]^e[28]^e[38]^e[48],r=e[9]^e[19]^e[29]^e[39]^e[49];let c=y^(f<<1|d>>>31),l=r^(d<<1|f>>>31);const o=e[0]^c,m=e[1]^l,T=e[10]^c,w=e[11]^l,h=e[20]^c,v=e[21]^l,x=e[30]^c,M=e[31]^l,g=e[40]^c,A=e[41]^l;c=n^(s<<1|i>>>31),l=b^(i<<1|s>>>31);const C=e[2]^c,E=e[3]^l,S=e[12]^c,D=e[13]^l,_=e[22]^c,k=e[23]^l,F=e[32]^c,R=e[33]^l,B=e[42]^c,O=e[43]^l;c=f^(p<<1|u>>>31),l=d^(u<<1|p>>>31);const I=e[4]^c,N=e[5]^l,P=e[14]^c,K=e[15]^l,L=e[24]^c,U=e[25]^l,V=e[34]^c,z=e[35]^l,q=e[44]^c,W=e[45]^l;c=s^(y<<1|r>>>31),l=i^(r<<1|y>>>31);const H=e[6]^c,Q=e[7]^l,X=e[16]^c,Z=e[17]^l,j=e[26]^c,G=e[27]^l,$=e[36]^c,Y=e[37]^l,J=e[46]^c,ee=e[47]^l;c=p^(n<<1|b>>>31),l=u^(b<<1|n>>>31);const ae=e[8]^c,te=e[9]^l,ne=e[18]^c,be=e[19]^l,fe=e[28]^c,de=e[29]^l,se=e[38]^c,ie=e[39]^l,pe=e[48]^c,ue=e[49]^l,ye=o,re=m,ce=w<<4|T>>>28,le=T<<4|w>>>28,oe=h<<3|v>>>29,me=v<<3|h>>>29,Te=M<<9|x>>>23,we=x<<9|M>>>23,he=g<<18|A>>>14,ve=A<<18|g>>>14,xe=C<<1|E>>>31,Me=E<<1|C>>>31,ge=D<<12|S>>>20,Ae=S<<12|D>>>20,Ce=_<<10|k>>>22,Ee=k<<10|_>>>22,Se=R<<13|F>>>19,De=F<<13|R>>>19,_e=B<<2|O>>>30,ke=O<<2|B>>>30,Fe=N<<30|I>>>2,Re=I<<30|N>>>2,Be=P<<6|K>>>26,Oe=K<<6|P>>>26,Ie=U<<11|L>>>21,Ne=L<<11|U>>>21,Pe=V<<15|z>>>17,Ke=z<<15|V>>>17,Le=W<<29|q>>>3,Ue=q<<29|W>>>3,Ve=H<<28|Q>>>4,ze=Q<<28|H>>>4,qe=Z<<23|X>>>9,We=X<<23|Z>>>9,He=j<<25|G>>>7,Qe=G<<25|j>>>7,Xe=$<<21|Y>>>11,Ze=Y<<21|$>>>11,je=ee<<24|J>>>8,Ge=J<<24|ee>>>8,$e=ae<<27|te>>>5,Ye=te<<27|ae>>>5,Je=ne<<20|be>>>12,ea=be<<20|ne>>>12,aa=de<<7|fe>>>25,ta=fe<<7|de>>>25,na=se<<8|ie>>>24,ba=ie<<8|se>>>24,fa=pe<<14|ue>>>18,da=ue<<14|pe>>>18;e[0]=ye^~ge&Ie,e[1]=re^~Ae&Ne,e[10]=Ve^~Je&oe,e[11]=ze^~ea&me,e[20]=xe^~Be&He,e[21]=Me^~Oe&Qe,e[30]=$e^~ce&Ce,e[31]=Ye^~le&Ee,e[40]=Fe^~qe&aa,e[41]=Re^~We&ta,e[2]=ge^~Ie&Xe,e[3]=Ae^~Ne&Ze,e[12]=Je^~oe&Se,e[13]=ea^~me&De,e[22]=Be^~He&na,e[23]=Oe^~Qe&ba,e[32]=ce^~Ce&Pe,e[33]=le^~Ee&Ke,e[42]=qe^~aa&Te,e[43]=We^~ta&we,e[4]=Ie^~Xe&fa,e[5]=Ne^~Ze&da,e[14]=oe^~Se&Le,e[15]=me^~De&Ue,e[24]=He^~na&he,e[25]=Qe^~ba&ve,e[34]=Ce^~Pe&je,e[35]=Ee^~Ke&Ge,e[44]=aa^~Te&_e,e[45]=ta^~we&ke,e[6]=Xe^~fa&ye,e[7]=Ze^~da&re,e[16]=Se^~Le&Ve,e[17]=De^~Ue&ze,e[26]=na^~he&xe,e[27]=ba^~ve&Me,e[36]=Pe^~je&$e,e[37]=Ke^~Ge&Ye,e[46]=Te^~_e&Fe,e[47]=we^~ke&Re,e[8]=fa^~ye&ge,e[9]=da^~re&Ae,e[18]=Le^~Ve&Je,e[19]=Ue^~ze&ea,e[28]=he^~xe&Be,e[29]=ve^~Me&Oe,e[38]=je^~$e&ce,e[39]=Ge^~Ye&le,e[48]=_e^~Fe&qe,e[49]=ke^~Re&We,e[0]^=t[2*a],e[1]^=t[2*a+1]}}},function(e,a,t){"use strict";var n=t(1),b=t(142),f=t(143),d=t(144),s=t(149);function i(e){s.call(this,"digest"),this._hash=e}n(i,s),i.prototype._update=function(e){this._hash.update(e)},i.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new b:"rmd160"===e||"ripemd160"===e?new f:new i(d(e))}},function(e,a,t){"use strict";var n=t(1),b=t(64),f=t(5).Buffer,d=new Array(16);function s(){b.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function i(e,a){return e<<a|e>>>32-a}function p(e,a,t,n,b,f,d){return i(e+(a&t|~a&n)+b+f|0,d)+a|0}function u(e,a,t,n,b,f,d){return i(e+(a&n|t&~n)+b+f|0,d)+a|0}function y(e,a,t,n,b,f,d){return i(e+(a^t^n)+b+f|0,d)+a|0}function r(e,a,t,n,b,f,d){return i(e+(t^(a|~n))+b+f|0,d)+a|0}n(s,b),s.prototype._update=function(){for(var e=d,a=0;a<16;++a)e[a]=this._block.readInt32LE(4*a);var t=this._a,n=this._b,b=this._c,f=this._d;t=p(t,n,b,f,e[0],3614090360,7),f=p(f,t,n,b,e[1],3905402710,12),b=p(b,f,t,n,e[2],606105819,17),n=p(n,b,f,t,e[3],3250441966,22),t=p(t,n,b,f,e[4],4118548399,7),f=p(f,t,n,b,e[5],1200080426,12),b=p(b,f,t,n,e[6],2821735955,17),n=p(n,b,f,t,e[7],4249261313,22),t=p(t,n,b,f,e[8],1770035416,7),f=p(f,t,n,b,e[9],2336552879,12),b=p(b,f,t,n,e[10],4294925233,17),n=p(n,b,f,t,e[11],2304563134,22),t=p(t,n,b,f,e[12],1804603682,7),f=p(f,t,n,b,e[13],4254626195,12),b=p(b,f,t,n,e[14],2792965006,17),t=u(t,n=p(n,b,f,t,e[15],1236535329,22),b,f,e[1],4129170786,5),f=u(f,t,n,b,e[6],3225465664,9),b=u(b,f,t,n,e[11],643717713,14),n=u(n,b,f,t,e[0],3921069994,20),t=u(t,n,b,f,e[5],3593408605,5),f=u(f,t,n,b,e[10],38016083,9),b=u(b,f,t,n,e[15],3634488961,14),n=u(n,b,f,t,e[4],3889429448,20),t=u(t,n,b,f,e[9],568446438,5),f=u(f,t,n,b,e[14],3275163606,9),b=u(b,f,t,n,e[3],4107603335,14),n=u(n,b,f,t,e[8],1163531501,20),t=u(t,n,b,f,e[13],2850285829,5),f=u(f,t,n,b,e[2],4243563512,9),b=u(b,f,t,n,e[7],1735328473,14),t=y(t,n=u(n,b,f,t,e[12],2368359562,20),b,f,e[5],4294588738,4),f=y(f,t,n,b,e[8],2272392833,11),b=y(b,f,t,n,e[11],1839030562,16),n=y(n,b,f,t,e[14],4259657740,23),t=y(t,n,b,f,e[1],2763975236,4),f=y(f,t,n,b,e[4],1272893353,11),b=y(b,f,t,n,e[7],4139469664,16),n=y(n,b,f,t,e[10],3200236656,23),t=y(t,n,b,f,e[13],681279174,4),f=y(f,t,n,b,e[0],3936430074,11),b=y(b,f,t,n,e[3],3572445317,16),n=y(n,b,f,t,e[6],76029189,23),t=y(t,n,b,f,e[9],3654602809,4),f=y(f,t,n,b,e[12],3873151461,11),b=y(b,f,t,n,e[15],530742520,16),t=r(t,n=y(n,b,f,t,e[2],3299628645,23),b,f,e[0],4096336452,6),f=r(f,t,n,b,e[7],1126891415,10),b=r(b,f,t,n,e[14],2878612391,15),n=r(n,b,f,t,e[5],4237533241,21),t=r(t,n,b,f,e[12],1700485571,6),f=r(f,t,n,b,e[3],2399980690,10),b=r(b,f,t,n,e[10],4293915773,15),n=r(n,b,f,t,e[1],2240044497,21),t=r(t,n,b,f,e[8],1873313359,6),f=r(f,t,n,b,e[15],4264355552,10),b=r(b,f,t,n,e[6],2734768916,15),n=r(n,b,f,t,e[13],1309151649,21),t=r(t,n,b,f,e[4],4149444226,6),f=r(f,t,n,b,e[11],3174756917,10),b=r(b,f,t,n,e[2],718787259,15),n=r(n,b,f,t,e[9],3951481745,21),this._a=this._a+t|0,this._b=this._b+n|0,this._c=this._c+b|0,this._d=this._d+f|0},s.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=f.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=s},function(e,a,t){"use strict";var n=t(0).Buffer,b=t(1),f=t(64),d=new Array(16),s=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],i=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],p=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],u=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],y=[0,1518500249,1859775393,2400959708,2840853838],r=[1352829926,1548603684,1836072691,2053994217,0];function c(){f.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function l(e,a){return e<<a|e>>>32-a}function o(e,a,t,n,b,f,d,s){return l(e+(a^t^n)+f+d|0,s)+b|0}function m(e,a,t,n,b,f,d,s){return l(e+(a&t|~a&n)+f+d|0,s)+b|0}function T(e,a,t,n,b,f,d,s){return l(e+((a|~t)^n)+f+d|0,s)+b|0}function w(e,a,t,n,b,f,d,s){return l(e+(a&n|t&~n)+f+d|0,s)+b|0}function h(e,a,t,n,b,f,d,s){return l(e+(a^(t|~n))+f+d|0,s)+b|0}b(c,f),c.prototype._update=function(){for(var e=d,a=0;a<16;++a)e[a]=this._block.readInt32LE(4*a);for(var t=0|this._a,n=0|this._b,b=0|this._c,f=0|this._d,c=0|this._e,v=0|this._a,x=0|this._b,M=0|this._c,g=0|this._d,A=0|this._e,C=0;C<80;C+=1){var E,S;C<16?(E=o(t,n,b,f,c,e[s[C]],y[0],p[C]),S=h(v,x,M,g,A,e[i[C]],r[0],u[C])):C<32?(E=m(t,n,b,f,c,e[s[C]],y[1],p[C]),S=w(v,x,M,g,A,e[i[C]],r[1],u[C])):C<48?(E=T(t,n,b,f,c,e[s[C]],y[2],p[C]),S=T(v,x,M,g,A,e[i[C]],r[2],u[C])):C<64?(E=w(t,n,b,f,c,e[s[C]],y[3],p[C]),S=m(v,x,M,g,A,e[i[C]],r[3],u[C])):(E=h(t,n,b,f,c,e[s[C]],y[4],p[C]),S=o(v,x,M,g,A,e[i[C]],r[4],u[C])),t=c,c=f,f=l(b,10),b=n,n=E,v=A,A=g,g=l(M,10),M=x,x=S}var D=this._b+b+g|0;this._b=this._c+f+A|0,this._c=this._d+c+v|0,this._d=this._e+t+x|0,this._e=this._a+n+M|0,this._a=D},c.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=n.alloc?n.alloc(20):new n(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=c},function(e,a,t){(a=e.exports=function(e){e=e.toLowerCase();var t=a[e];if(!t)throw new Error(e+" is not supported (we accept pull requests)");return new t}).sha=t(145),a.sha1=t(146),a.sha224=t(147),a.sha256=t(65),a.sha384=t(148),a.sha512=t(66)},function(e,a,t){var n=t(1),b=t(16),f=t(5).Buffer,d=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function i(){this.init(),this._w=s,b.call(this,64,56)}function p(e){return e<<30|e>>>2}function u(e,a,t,n){return 0===e?a&t|~a&n:2===e?a&t|a&n|t&n:a^t^n}n(i,b),i.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},i.prototype._update=function(e){for(var a,t=this._w,n=0|this._a,b=0|this._b,f=0|this._c,s=0|this._d,i=0|this._e,y=0;y<16;++y)t[y]=e.readInt32BE(4*y);for(;y<80;++y)t[y]=t[y-3]^t[y-8]^t[y-14]^t[y-16];for(var r=0;r<80;++r){var c=~~(r/20),l=0|((a=n)<<5|a>>>27)+u(c,b,f,s)+i+t[r]+d[c];i=s,s=f,f=p(b),b=n,n=l}this._a=n+this._a|0,this._b=b+this._b|0,this._c=f+this._c|0,this._d=s+this._d|0,this._e=i+this._e|0},i.prototype._hash=function(){var e=f.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=i},function(e,a,t){var n=t(1),b=t(16),f=t(5).Buffer,d=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function i(){this.init(),this._w=s,b.call(this,64,56)}function p(e){return e<<5|e>>>27}function u(e){return e<<30|e>>>2}function y(e,a,t,n){return 0===e?a&t|~a&n:2===e?a&t|a&n|t&n:a^t^n}n(i,b),i.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},i.prototype._update=function(e){for(var a,t=this._w,n=0|this._a,b=0|this._b,f=0|this._c,s=0|this._d,i=0|this._e,r=0;r<16;++r)t[r]=e.readInt32BE(4*r);for(;r<80;++r)t[r]=(a=t[r-3]^t[r-8]^t[r-14]^t[r-16])<<1|a>>>31;for(var c=0;c<80;++c){var l=~~(c/20),o=p(n)+y(l,b,f,s)+i+t[c]+d[l]|0;i=s,s=f,f=u(b),b=n,n=o}this._a=n+this._a|0,this._b=b+this._b|0,this._c=f+this._c|0,this._d=s+this._d|0,this._e=i+this._e|0},i.prototype._hash=function(){var e=f.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=i},function(e,a,t){var n=t(1),b=t(65),f=t(16),d=t(5).Buffer,s=new Array(64);function i(){this.init(),this._w=s,f.call(this,64,56)}n(i,b),i.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},i.prototype._hash=function(){var e=d.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=i},function(e,a,t){var n=t(1),b=t(66),f=t(16),d=t(5).Buffer,s=new Array(160);function i(){this.init(),this._w=s,f.call(this,128,112)}n(i,b),i.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},i.prototype._hash=function(){var e=d.allocUnsafe(48);function a(a,t,n){e.writeInt32BE(a,n),e.writeInt32BE(t,n+4)}return a(this._ah,this._al,0),a(this._bh,this._bl,8),a(this._ch,this._cl,16),a(this._dh,this._dl,24),a(this._eh,this._el,32),a(this._fh,this._fl,40),e},e.exports=i},function(e,a,t){var n=t(5).Buffer,b=t(150).Transform,f=t(20).StringDecoder;function d(e){b.call(this),this.hashMode="string"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}t(1)(d,b),d.prototype.update=function(e,a,t){"string"==typeof e&&(e=n.from(e,a));var b=this._update(e);return this.hashMode?this:(t&&(b=this._toString(b,t)),b)},d.prototype.setAutoPadding=function(){},d.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},d.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},d.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},d.prototype._transform=function(e,a,t){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){n=e}finally{t(n)}},d.prototype._flush=function(e){var a;try{this.push(this.__final())}catch(e){a=e}e(a)},d.prototype._finalOrDigest=function(e){var a=this.__final()||n.alloc(0);return e&&(a=this._toString(a,e,!0)),a},d.prototype._toString=function(e,a,t){if(this._decoder||(this._decoder=new f(a),this._encoding=a),this._encoding!==a)throw new Error("can't switch encodings");var n=this._decoder.write(e);return t&&(n+=this._decoder.end()),n},e.exports=d},function(e,a,t){e.exports=b;var n=t(19).EventEmitter;function b(){n.call(this)}t(1)(b,n),b.Readable=t(35),b.Writable=t(158),b.Duplex=t(159),b.Transform=t(160),b.PassThrough=t(161),b.Stream=b,b.prototype.pipe=function(e,a){var t=this;function b(a){e.writable&&!1===e.write(a)&&t.pause&&t.pause()}function f(){t.readable&&t.resume&&t.resume()}t.on("data",b),e.on("drain",f),e._isStdio||a&&!1===a.end||(t.on("end",s),t.on("close",i));var d=!1;function s(){d||(d=!0,e.end())}function i(){d||(d=!0,"function"==typeof e.destroy&&e.destroy())}function p(e){if(u(),0===n.listenerCount(this,"error"))throw e}function u(){t.removeListener("data",b),e.removeListener("drain",f),t.removeListener("end",s),t.removeListener("close",i),t.removeListener("error",p),e.removeListener("error",p),t.removeListener("end",u),t.removeListener("close",u),e.removeListener("close",u)}return t.on("error",p),e.on("error",p),t.on("end",u),t.on("close",u),e.on("close",u),e.emit("pipe",t),e}},function(e,a){var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},function(e,a){},function(e,a,t){"use strict";var n=t(36).Buffer,b=t(154);e.exports=function(){function e(){!function(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var a={data:e,next:null};this.length>0?this.tail.next=a:this.head=a,this.tail=a,++this.length},e.prototype.unshift=function(e){var a={data:e,next:this.head};0===this.length&&(this.tail=a),this.head=a,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var a=this.head,t=""+a.data;a=a.next;)t+=e+a.data;return t},e.prototype.concat=function(e){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var a,t,b,f=n.allocUnsafe(e>>>0),d=this.head,s=0;d;)a=d.data,t=f,b=s,a.copy(t,b),s+=d.data.length,d=d.next;return f},e}(),b&&b.inspect&&b.inspect.custom&&(e.exports.prototype[b.inspect.custom]=function(){var e=b.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,a){},function(e,a,t){(function(e){var n=void 0!==e&&e||"undefined"!=typeof self&&self||window,b=Function.prototype.apply;function f(e,a){this._id=e,this._clearFn=a}a.setTimeout=function(){return new f(b.call(setTimeout,n,arguments),clearTimeout)},a.setInterval=function(){return new f(b.call(setInterval,n,arguments),clearInterval)},a.clearTimeout=a.clearInterval=function(e){e&&e.close()},f.prototype.unref=f.prototype.ref=function(){},f.prototype.close=function(){this._clearFn.call(n,this._id)},a.enroll=function(e,a){clearTimeout(e._idleTimeoutId),e._idleTimeout=a},a.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},a._unrefActive=a.active=function(e){clearTimeout(e._idleTimeoutId);var a=e._idleTimeout;a>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),a))},t(156),a.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,a.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,t(2))},function(e,a,t){(function(e,a){!function(e,t){"use strict";if(!e.setImmediate){var n,b,f,d,s,i=1,p={},u=!1,y=e.document,r=Object.getPrototypeOf&&Object.getPrototypeOf(e);r=r&&r.setTimeout?r:e,"[object process]"==={}.toString.call(e.process)?n=function(e){a.nextTick((function(){l(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var a=!0,t=e.onmessage;return e.onmessage=function(){a=!1},e.postMessage("","*"),e.onmessage=t,a}}()?e.MessageChannel?((f=new MessageChannel).port1.onmessage=function(e){l(e.data)},n=function(e){f.port2.postMessage(e)}):y&&"onreadystatechange"in y.createElement("script")?(b=y.documentElement,n=function(e){var a=y.createElement("script");a.onreadystatechange=function(){l(e),a.onreadystatechange=null,b.removeChild(a),a=null},b.appendChild(a)}):n=function(e){setTimeout(l,0,e)}:(d="setImmediate$"+Math.random()+"$",s=function(a){a.source===e&&"string"==typeof a.data&&0===a.data.indexOf(d)&&l(+a.data.slice(d.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),n=function(a){e.postMessage(d+a,"*")}),r.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var a=new Array(arguments.length-1),t=0;t<a.length;t++)a[t]=arguments[t+1];var b={callback:e,args:a};return p[i]=b,n(i),i++},r.clearImmediate=c}function c(e){delete p[e]}function l(e){if(u)setTimeout(l,0,e);else{var a=p[e];if(a){u=!0;try{!function(e){var a=e.callback,t=e.args;switch(t.length){case 0:a();break;case 1:a(t[0]);break;case 2:a(t[0],t[1]);break;case 3:a(t[0],t[1],t[2]);break;default:a.apply(void 0,t)}}(a)}finally{c(e),u=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,t(2),t(3))},function(e,a,t){"use strict";e.exports=f;var n=t(70),b=Object.create(t(21));function f(e){if(!(this instanceof f))return new f(e);n.call(this,e)}b.inherits=t(1),b.inherits(f,n),f.prototype._transform=function(e,a,t){t(null,e)}},function(e,a,t){e.exports=t(37)},function(e,a,t){e.exports=t(12)},function(e,a,t){e.exports=t(35).Transform},function(e,a,t){e.exports=t(35).PassThrough},function(e,a,t){"use strict";(function(e){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:!0}),a.Address=void 0;var b=n(t(29)),f=t(8),d=t(11),s=t(48),i=function(){function a(e){(0,b.default)(20===e.length,"Invalid address length"),this.buf=e}return a.zero=function(){return new a((0,d.zeros)(20))},a.fromString=function(e){return(0,b.default)((0,s.isValidAddress)(e),"Invalid address"),new a((0,d.toBuffer)(e))},a.fromPublicKey=function(t){return(0,b.default)(e.isBuffer(t),"Public key should be Buffer"),new a((0,s.pubToAddress)(t))},a.fromPrivateKey=function(t){return(0,b.default)(e.isBuffer(t),"Private key should be Buffer"),new a((0,s.privateToAddress)(t))},a.generate=function(t,n){return(0,b.default)(f.BN.isBN(n)),new a((0,s.generateAddress)(t.buf,n.toArrayLike(e)))},a.generate2=function(t,n,f){return(0,b.default)(e.isBuffer(n)),(0,b.default)(e.isBuffer(f)),new a((0,s.generateAddress2)(t.buf,n,f))},a.prototype.equals=function(e){return this.buf.equals(e.buf)},a.prototype.isZero=function(){return this.equals(a.zero())},a.prototype.isPrecompileOrSystemAddress=function(){var e=new f.BN(this.buf),a=new f.BN(0),t=new f.BN("ffff","hex");return e.gte(a)&&e.lte(t)},a.prototype.toString=function(){return"0x"+this.buf.toString("hex")},a.prototype.toBuffer=function(){return e.from(this.buf)},a}();a.Address=i}).call(this,t(0).Buffer)},function(e,a,t){"use strict";(function(e){Object.defineProperty(a,"__esModule",{value:!0}),a.hashPersonalMessage=a.isValidSignature=a.fromRpcSig=a.toCompactSig=a.toRpcSig=a.ecrecover=a.ecsign=void 0;var n=t(49),b=t(8),f=t(11),d=t(32),s=t(23),i=t(38);function p(e,a){var t=(0,i.toType)(e,i.TypeOutput.BN);if(!a)return t.subn(27);var n=(0,i.toType)(a,i.TypeOutput.BN);return t.sub(n.muln(2).addn(35))}function u(e){var a=new b.BN(e);return a.eqn(0)||a.eqn(1)}a.ecsign=function(a,t,b){var f=(0,n.ecdsaSign)(a,t),d=f.signature,s=f.recid,p=e.from(d.slice(0,32)),u=e.from(d.slice(32,64));if(!b||"number"==typeof b){if(b&&!Number.isSafeInteger(b))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");return{r:p,s:u,v:b?s+(2*b+35):s+27}}return{r:p,s:u,v:(0,i.toType)(b,i.TypeOutput.BN).muln(2).addn(35).addn(s).toArrayLike(e)}};a.ecrecover=function(a,t,b,d,s){var i=e.concat([(0,f.setLengthLeft)(b,32),(0,f.setLengthLeft)(d,32)],64),y=p(t,s);if(!u(y))throw new Error("Invalid signature v value");var r=(0,n.ecdsaRecover)(i,y.toNumber(),a);return e.from((0,n.publicKeyConvert)(r,!1).slice(1))};a.toRpcSig=function(a,t,n,b){if(!u(p(a,b)))throw new Error("Invalid signature v value");return(0,f.bufferToHex)(e.concat([(0,f.setLengthLeft)(t,32),(0,f.setLengthLeft)(n,32),(0,f.toBuffer)(a)]))};a.toCompactSig=function(a,t,n,b){if(!u(p(a,b)))throw new Error("Invalid signature v value");var d=(0,i.toType)(a,i.TypeOutput.Number),s=n;return(d>28&&d%2==1||1===d||28===d)&&((s=e.from(n))[0]|=128),(0,f.bufferToHex)(e.concat([(0,f.setLengthLeft)(t,32),(0,f.setLengthLeft)(s,32)]))};a.fromRpcSig=function(e){var a,t,n,b=(0,f.toBuffer)(e);if(b.length>=65)a=b.slice(0,32),t=b.slice(32,64),n=(0,f.bufferToInt)(b.slice(64));else{if(64!==b.length)throw new Error("Invalid signature length");a=b.slice(0,32),t=b.slice(32,64),n=(0,f.bufferToInt)(b.slice(32,33))>>7,t[0]&=127}return n<27&&(n+=27),{v:n,r:a,s:t}};a.isValidSignature=function(e,a,t,n,f){void 0===n&&(n=!0);var d=new b.BN("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0",16),s=new b.BN("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",16);if(32!==a.length||32!==t.length)return!1;if(!u(p(e,f)))return!1;var i=new b.BN(a),y=new b.BN(t);return!(i.isZero()||i.gt(s)||y.isZero()||y.gt(s))&&(!n||1!==y.cmp(d))};a.hashPersonalMessage=function(a){(0,s.assertIsBuffer)(a);var t=e.from("Ethereum Signed Message:\n".concat(a.length),"utf-8");return(0,d.keccak)(e.concat([t,a]))}}).call(this,t(0).Buffer)},function(e,a,t){"use strict";(function(e){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:!0}),a.defineProperties=void 0;var b=n(t(29)),f=t(13),d=t(8),s=t(11);a.defineProperties=function(a,t,n){if(a.raw=[],a._fields=[],a.toJSON=function(e){if(void 0===e&&(e=!1),e){var t={};return a._fields.forEach((function(e){t[e]="0x".concat(a[e].toString("hex"))})),t}return(0,s.baToJSON)(a.raw)},a.serialize=function(){return d.rlp.encode(a.raw)},t.forEach((function(t,n){function f(){return a.raw[n]}function d(f){"00"!==(f=(0,s.toBuffer)(f)).toString("hex")||t.allowZero||(f=e.allocUnsafe(0)),t.allowLess&&t.length?(f=(0,s.unpadBuffer)(f),(0,b.default)(t.length>=f.length,"The field ".concat(t.name," must not have more ").concat(t.length," bytes"))):t.allowZero&&0===f.length||!t.length||(0,b.default)(t.length===f.length,"The field ".concat(t.name," must have byte length of ").concat(t.length)),a.raw[n]=f}a._fields.push(t.name),Object.defineProperty(a,t.name,{enumerable:!0,configurable:!0,get:f,set:d}),t.default&&(a[t.name]=t.default),t.alias&&Object.defineProperty(a,t.alias,{enumerable:!1,configurable:!0,set:d,get:f})})),n)if("string"==typeof n&&(n=e.from((0,f.stripHexPrefix)(n),"hex")),e.isBuffer(n)&&(n=d.rlp.decode(n)),Array.isArray(n)){if(n.length>a._fields.length)throw new Error("wrong number of fields in data");n.forEach((function(e,t){a[a._fields[t]]=(0,s.toBuffer)(e)}))}else{if("object"!=typeof n)throw new Error("invalid data");var i=Object.keys(n);t.forEach((function(e){-1!==i.indexOf(e.name)&&(a[e.name]=n[e.name]),-1!==i.indexOf(e.alias)&&(a[e.alias]=n[e.alias])}))}}}).call(this,t(0).Buffer)},function(e,a,t){var n=t(28),b=t(46),f=function(e){var a=typeof e;if("string"===a)return b.isHexStrict(e)?new n(e.replace(/0x/i,""),16):new n(e,10);if("number"===a)return new n(e);if(b.isBigNumber(e))return new n(e.toString(10));if(b.isBN(e))return e;throw new Error(e+" is not a number")},d=function(e,a,t){var d,s,i;if("bytes"===(e=(i=e).startsWith("int[")?"int256"+i.slice(3):"int"===i?"int256":i.startsWith("uint[")?"uint256"+i.slice(4):"uint"===i?"uint256":i.startsWith("fixed[")?"fixed128x128"+i.slice(5):"fixed"===i?"fixed128x128":i.startsWith("ufixed[")?"ufixed128x128"+i.slice(6):"ufixed"===i?"ufixed128x128":i)){if(a.replace(/^0x/i,"").length%2!=0)throw new Error("Invalid bytes characters "+a.length);return a}if("string"===e)return b.utf8ToHex(a);if("bool"===e)return a?"01":"00";if(e.startsWith("address")){if(d=t?64:40,!b.isAddress(a))throw new Error(a+" is not a valid address, or the checksum is invalid.");return b.leftPad(a.toLowerCase(),d)}if(d=function(e){var a=/^\D+(\d+).*$/.exec(e);return a?parseInt(a[1],10):null}(e),e.startsWith("bytes")){if(!d)throw new Error("bytes[] not yet supported in solidity");if(t&&(d=32),d<1||d>32||d<a.replace(/^0x/i,"").length/2)throw new Error("Invalid bytes"+d+" for "+a);return b.rightPad(a,2*d)}if(e.startsWith("uint")){if(d%8||d<8||d>256)throw new Error("Invalid uint"+d+" size");if((s=f(a)).bitLength()>d)throw new Error("Supplied uint exceeds width: "+d+" vs "+s.bitLength());if(s.lt(new n(0)))throw new Error("Supplied uint "+s.toString()+" is negative");return d?b.leftPad(s.toString("hex"),d/8*2):s}if(e.startsWith("int")){if(d%8||d<8||d>256)throw new Error("Invalid int"+d+" size");if((s=f(a)).bitLength()>d)throw new Error("Supplied int exceeds width: "+d+" vs "+s.bitLength());return s.lt(new n(0))?s.toTwos(d).toString("hex"):d?b.leftPad(s.toString("hex"),d/8*2):s}throw new Error("Unsupported or invalid type: "+e)},s=function(e){if(Array.isArray(e))throw new Error("Autodetection of array types is not supported.");var a,t,f="";if(e&&"object"==typeof e&&(e.hasOwnProperty("v")||e.hasOwnProperty("t")||e.hasOwnProperty("value")||e.hasOwnProperty("type"))?(a=e.hasOwnProperty("t")?e.t:e.type,f=e.hasOwnProperty("v")?e.v:e.value):(a=b.toHex(e,!0),f=b.toHex(e),a.startsWith("int")||a.startsWith("uint")||(a="bytes")),!a.startsWith("int")&&!a.startsWith("uint")||"string"!=typeof f||/^(-)?0x/i.test(f)||(f=new n(f)),Array.isArray(f)){if((t=function(e){var a=/^\D+\d*\[(\d+)\]$/.exec(e);return a?parseInt(a[1],10):null}(a))&&f.length!==t)throw new Error(a+" is not matching the given array "+JSON.stringify(f));t=f.length}return Array.isArray(f)?f.map((function(e){return d(a,e,t).toString("hex").replace("0x","")})).join(""):d(a,f,t).toString("hex").replace("0x","")};e.exports={soliditySha3:function(){var e=Array.prototype.slice.call(arguments),a=e.map(s);return b.sha3("0x"+a.join(""))},soliditySha3Raw:function(){return b.sha3Raw("0x"+Array.prototype.slice.call(arguments).map(s).join(""))},encodePacked:function(){var e=Array.prototype.slice.call(arguments),a=e.map(s);return"0x"+a.join("").toLowerCase()}}},function(e,a){},function(e,a,t){e.exports={deployment:t(168),versions:t(169),synths:t(170),rewards:t(171),feeds:t(172),futuresMarkets:t(173)}},function(e){e.exports=JSON.parse('{"targets":{"Depot":{"name":"Depot","address":"0xE1f64079aDa6Ef07b03982Ca34f1dD7152AA3b86","source":"Depot","link":"https://etherscan.io/address/0xE1f64079aDa6Ef07b03982Ca34f1dD7152AA3b86","timestamp":"2020-02-20T06:26:34.000Z","txn":"https://etherscan.io/tx/0x7246da8ec30f70ac783498a5b79408cc5ae049ea71bc6bf393557cf3e2c9a8ad","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"EscrowChecker":{"name":"EscrowChecker","address":"0x3b399e00AFd8201ACf8A5a0EcCF1C47d8D5E41da","source":"EscrowChecker","link":"https://etherscan.io/address/0x3b399e00AFd8201ACf8A5a0EcCF1C47d8D5E41da","timestamp":"2019-04-03T21:22:54.000Z","txn":"https://etherscan.io/tx/0xa582498dfb84e432ce0e8d0f1e61e4874169337b68ef38a35afd9bee23f00b84","network":"mainnet","constructorArgs":["0x971e78e0C92392A4E39099835cF7E6aB535b2227"]},"ExchangeRates":{"name":"ExchangeRates","address":"0x9729415A58b210b2b8f69cFa5d6C3A7D68c9D217","source":"ExchangeRatesWithDexPricing","link":"https://etherscan.io/address/0x9729415A58b210b2b8f69cFa5d6C3A7D68c9D217","timestamp":"2022-08-03T18:13:02.714Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"FeePool":{"name":"FeePool","address":"0x3B2f389AeE480238A49E3A9985cd6815370712eB","source":"FeePool","link":"https://etherscan.io/address/0x3B2f389AeE480238A49E3A9985cd6815370712eB","timestamp":"2022-03-17T19:24:35.000Z","txn":"https://etherscan.io/tx/0x7a91cc964e6adc1ade8729245313c7cda6b24ff245cf4fd578811381ba130d63","network":"mainnet","constructorArgs":["0xb440DD674e1243644791a4AdfE3A2AbB0A92d309","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"ProxyFeePool":{"name":"ProxyFeePool","address":"0xb440DD674e1243644791a4AdfE3A2AbB0A92d309","source":"Proxy","link":"https://etherscan.io/address/0xb440DD674e1243644791a4AdfE3A2AbB0A92d309","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysAUD":{"name":"ProxysAUD","address":"0xF48e200EAF9906362BB1442fca31e0835773b8B4","source":"ProxyERC20","link":"https://etherscan.io/address/0xF48e200EAF9906362BB1442fca31e0835773b8B4","timestamp":"2019-09-26T06:59:36.637Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysBTC":{"name":"ProxysBTC","address":"0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6","source":"ProxyERC20","link":"https://etherscan.io/address/0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6","timestamp":"2019-09-26T07:12:48.637Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysCHF":{"name":"ProxysCHF","address":"0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d","source":"ProxyERC20","link":"https://etherscan.io/address/0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d","timestamp":"2019-09-26T07:06:39.621Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysEUR":{"name":"ProxysEUR","address":"0xD71eCFF9342A5Ced620049e616c5035F1dB98620","source":"ProxyERC20","link":"https://etherscan.io/address/0xD71eCFF9342A5Ced620049e616c5035F1dB98620","timestamp":"2019-09-26T06:50:51.092Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysGBP":{"name":"ProxysGBP","address":"0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F","source":"ProxyERC20","link":"https://etherscan.io/address/0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F","timestamp":"2019-09-26T07:04:31.735Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysJPY":{"name":"ProxysJPY","address":"0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d","source":"ProxyERC20","link":"https://etherscan.io/address/0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d","timestamp":"2019-09-26T06:53:25.539Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysUSD":{"name":"ProxysUSD","address":"0x57Ab1ec28D129707052df4dF418D58a2D46d5f51","source":"Proxy","link":"https://etherscan.io/address/0x57Ab1ec28D129707052df4dF418D58a2D46d5f51","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxyERC20sUSD":{"name":"ProxyERC20sUSD","address":"0x57Ab1ec28D129707052df4dF418D58a2D46d5f51","source":"ProxyERC20","link":"https://etherscan.io/address/0x57Ab1ec28D129707052df4dF418D58a2D46d5f51","timestamp":"2019-09-26T02:55:56.333Z","txn":"","network":"mainnet"},"ProxySynthetix":{"name":"ProxySynthetix","address":"0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F","source":"Proxy","link":"https://etherscan.io/address/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SafeDecimalMath":{"name":"SafeDecimalMath","address":"0x84D626B2BB4D0F064067e4BF80FCe7055d8F3E7B","source":"SafeDecimalMath","link":"https://etherscan.io/address/0x84D626B2BB4D0F064067e4BF80FCe7055d8F3E7B","network":"mainnet","constructorArgs":[]},"Synthetix":{"name":"Synthetix","address":"0x08F30Ecf2C15A783083ab9D5b9211c22388d0564","source":"Synthetix","link":"https://etherscan.io/address/0x08F30Ecf2C15A783083ab9D5b9211c22388d0564","timestamp":"2022-06-09T17:30:13.000Z","txn":"https://etherscan.io/tx/0x3020b7f90c3e70a3261bf4620de669f9622a9b7528fd6552fea14e6e6d01eb5f","network":"mainnet","constructorArgs":["0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F","0x5b1b5fEa1b99D83aD479dF0C222F0492385381dD","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","286354213440548603759807360","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthetixEscrow":{"name":"SynthetixEscrow","address":"0x971e78e0C92392A4E39099835cF7E6aB535b2227","source":"SynthetixEscrow","link":"https://etherscan.io/address/0x971e78e0C92392A4E39099835cF7E6aB535b2227","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"SynthetixState":{"name":"SynthetixState","address":"0x4b9Ca5607f1fF8019c1C6A3c2f0CC8de622D5B82","source":"SynthetixState","link":"https://etherscan.io/address/0x4b9Ca5607f1fF8019c1C6A3c2f0CC8de622D5B82","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsAUD":{"name":"SynthsAUD","address":"0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","timestamp":"2022-06-09T17:33:44.177Z","txn":"","network":"mainnet","constructorArgs":["0xF48e200EAF9906362BB1442fca31e0835773b8B4","0xCb29D2cf2C65d3Be1d00F07f3441390432D55203","Synth sAUD","sAUD","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7341554400000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthsBTC":{"name":"SynthsBTC","address":"0x1cB004a8e84a5CE95C1fF895EE603BaC8EC506c7","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0x1cB004a8e84a5CE95C1fF895EE603BaC8EC506c7","timestamp":"2022-06-09T17:39:21.586Z","txn":"","network":"mainnet","constructorArgs":["0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6","0x4F6296455F8d754c19821cF1EC8FeBF2cD456E67","Synth sBTC","sBTC","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7342544300000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthsCHF":{"name":"SynthsCHF","address":"0xBb5b03E920cF702De5A3bA9Fc1445aF4B3919c88","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0xBb5b03E920cF702De5A3bA9Fc1445aF4B3919c88","timestamp":"2022-06-09T17:34:39.001Z","txn":"","network":"mainnet","constructorArgs":["0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d","0x52496fE8a4feaEFe14d9433E00D48E6929c13deC","Synth sCHF","sCHF","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7343484600000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthsEUR":{"name":"SynthsEUR","address":"0xa8E31E3C38aDD6052A9407298FAEB8fD393A6cF9","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0xa8E31E3C38aDD6052A9407298FAEB8fD393A6cF9","timestamp":"2022-06-09T17:32:29.713Z","txn":"","network":"mainnet","constructorArgs":["0xD71eCFF9342A5Ced620049e616c5035F1dB98620","0x6568D9e750fC44AF00f857885Dfb8281c00529c4","Synth sEUR","sEUR","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7345555200000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthsGBP":{"name":"SynthsGBP","address":"0xdc883b9d9Ee16f74bE08826E68dF4C9D9d26e8bD","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0xdc883b9d9Ee16f74bE08826E68dF4C9D9d26e8bD","timestamp":"2022-06-09T17:33:58.878Z","txn":"","network":"mainnet","constructorArgs":["0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F","0x7e88D19A79b291cfE5696d496055f7e57F537A75","Synth sGBP","sGBP","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7347425000000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthsJPY":{"name":"SynthsJPY","address":"0xE1cc2332852B2Ac0dA59A1f9D3051829f4eF3c1C","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0xE1cc2332852B2Ac0dA59A1f9D3051829f4eF3c1C","timestamp":"2022-06-09T17:32:36.014Z","txn":"","network":"mainnet","constructorArgs":["0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d","0x4dFACfB15514C21c991ff75Bc7Bf6Fb1F98361ed","Synth sJPY","sJPY","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x734a505900000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthsUSD":{"name":"SynthsUSD","address":"0x10A5F7D9D65bCc2734763444D4940a31b109275f","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0x10A5F7D9D65bCc2734763444D4940a31b109275f","timestamp":"2022-06-09T17:30:52.000Z","txn":"https://etherscan.io/tx/0xc90a844a8d8bcbecf266b2f4fe039e2933ba2f38fb7b063189cb7e97cc085c7e","network":"mainnet","constructorArgs":["0x57Ab1ec28D129707052df4dF418D58a2D46d5f51","0x05a9CBe762B36632b3594DA4F082340E0e5343e8","Synth sUSD","sUSD","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7355534400000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"TokenStatesAUD":{"name":"TokenStatesAUD","address":"0xCb29D2cf2C65d3Be1d00F07f3441390432D55203","source":"TokenState","link":"https://etherscan.io/address/0xCb29D2cf2C65d3Be1d00F07f3441390432D55203","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesBTC":{"name":"TokenStatesBTC","address":"0x4F6296455F8d754c19821cF1EC8FeBF2cD456E67","source":"TokenState","link":"https://etherscan.io/address/0x4F6296455F8d754c19821cF1EC8FeBF2cD456E67","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesCHF":{"name":"TokenStatesCHF","address":"0x52496fE8a4feaEFe14d9433E00D48E6929c13deC","source":"TokenState","link":"https://etherscan.io/address/0x52496fE8a4feaEFe14d9433E00D48E6929c13deC","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesEUR":{"name":"TokenStatesEUR","address":"0x6568D9e750fC44AF00f857885Dfb8281c00529c4","source":"TokenState","link":"https://etherscan.io/address/0x6568D9e750fC44AF00f857885Dfb8281c00529c4","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesGBP":{"name":"TokenStatesGBP","address":"0x7e88D19A79b291cfE5696d496055f7e57F537A75","source":"TokenState","link":"https://etherscan.io/address/0x7e88D19A79b291cfE5696d496055f7e57F537A75","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesJPY":{"name":"TokenStatesJPY","address":"0x4dFACfB15514C21c991ff75Bc7Bf6Fb1F98361ed","source":"TokenState","link":"https://etherscan.io/address/0x4dFACfB15514C21c991ff75Bc7Bf6Fb1F98361ed","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesUSD":{"name":"TokenStatesUSD","address":"0x05a9CBe762B36632b3594DA4F082340E0e5343e8","source":"TokenState","link":"https://etherscan.io/address/0x05a9CBe762B36632b3594DA4F082340E0e5343e8","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStateSynthetix":{"name":"TokenStateSynthetix","address":"0x5b1b5fEa1b99D83aD479dF0C222F0492385381dD","source":"LegacyTokenState","link":"https://etherscan.io/address/0x5b1b5fEa1b99D83aD479dF0C222F0492385381dD","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"TokenStatesETH":{"name":"TokenStatesETH","address":"0x34A5ef81d18F3a305aE9C2d7DF42beef4c79031c","source":"TokenState","link":"https://etherscan.io/address/0x34A5ef81d18F3a305aE9C2d7DF42beef4c79031c","timestamp":"2019-04-23T22:47:33.039Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysETH":{"name":"ProxysETH","address":"0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb","source":"ProxyERC20","link":"https://etherscan.io/address/0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb","timestamp":"2019-09-12T22:47:44.346Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsETH":{"name":"SynthsETH","address":"0x5D4C724BFe3a228Ff0E29125Ac1571FE093700a4","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0x5D4C724BFe3a228Ff0E29125Ac1571FE093700a4","timestamp":"2022-06-09T17:39:32.056Z","txn":"","network":"mainnet","constructorArgs":["0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb","0x34A5ef81d18F3a305aE9C2d7DF42beef4c79031c","Synth sETH","sETH","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7345544800000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"RewardEscrow":{"name":"RewardEscrow","address":"0xb671F2210B1F6621A2607EA63E6B2DC3e2464d1F","source":"RewardEscrow","link":"https://etherscan.io/address/0xb671F2210B1F6621A2607EA63E6B2DC3e2464d1F","timestamp":"2019-05-02T07:55:24.000Z","txn":"https://etherscan.io/tx/0xd2b722dd4a70fa6be957d59f58bfeea37634be82672a33430256f2452a353cfe","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000"]},"FeePoolState":{"name":"FeePoolState","address":"0x11164F6a47C3f8472D19b9aDd516Fc780cb7Ee02","source":"FeePoolState","link":"https://etherscan.io/address/0x11164F6a47C3f8472D19b9aDd516Fc780cb7Ee02","timestamp":"2019-05-02T07:57:10.000Z","txn":"https://etherscan.io/tx/0x25bec289bff971dde31fafa71168a5482a02ce3bb2cca5186c033cba355502a7","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x3B2f389AeE480238A49E3A9985cd6815370712eB"]},"SupplySchedule":{"name":"SupplySchedule","address":"0x8d203C458d536Fe0F97e9f741bC231EaC8cd91cf","source":"SupplySchedule","link":"https://etherscan.io/address/0x8d203C458d536Fe0F97e9f741bC231EaC8cd91cf","timestamp":"2022-02-18T22:54:32.000Z","txn":"https://etherscan.io/tx/0x54e24c856def9032b2de5ea79af0d1c0c3807e0908e45344b4b2a66f63b539cb","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","1658966400","177"]},"DelegateApprovals":{"name":"DelegateApprovals","address":"0x15fd6e554874B9e70F832Ed37f231Ac5E142362f","source":"DelegateApprovals","link":"https://etherscan.io/address/0x15fd6e554874B9e70F832Ed37f231Ac5E142362f","timestamp":"2020-03-31T00:27:19.000Z","txn":"https://etherscan.io/tx/0xac833bf8b366498447c4b3b95edd86964c40efd1253534b63ebe2faed89226b2","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x8F586F063ffbb89b186C8e604FC6614766f9C9d1"]},"FeePoolEternalStorage":{"name":"FeePoolEternalStorage","address":"0xC9DFff5fA5605fd94F8B7927b892F2B57391e8bB","source":"FeePoolEternalStorage","link":"https://etherscan.io/address/0xC9DFff5fA5605fd94F8B7927b892F2B57391e8bB","timestamp":"2019-05-28T08:18:15.000Z","txn":"https://etherscan.io/tx/0x6c4cfdae798e1aa656db42c421e6e34749b5b9e8312820aebfefa7de530387d0","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxyERC20":{"name":"ProxyERC20","address":"0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F","source":"ProxyERC20","link":"https://etherscan.io/address/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F","timestamp":"2019-08-09T05:36:52.011Z","txn":"","network":"mainnet"},"RewardsDistribution":{"name":"RewardsDistribution","address":"0x29C295B046a73Cde593f21f63091B072d407e3F2","source":"RewardsDistribution","link":"https://etherscan.io/address/0x29C295B046a73Cde593f21f63091B072d407e3F2","timestamp":"2020-02-20T09:04:10.195Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000","0xDA4eF8520b1A57D7d63f1E249606D1A459698876","0xb440DD674e1243644791a4AdfE3A2AbB0A92d309"]},"TokenStatesLINK":{"name":"TokenStatesLINK","address":"0x577D4a7395c6A5f46d9981a5F83fa7294926aBB0","source":"TokenState","link":"https://etherscan.io/address/0x577D4a7395c6A5f46d9981a5F83fa7294926aBB0","timestamp":"2019-11-21T01:04:15.682Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysLINK":{"name":"ProxysLINK","address":"0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6","source":"ProxyERC20","link":"https://etherscan.io/address/0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6","timestamp":"2019-11-21T01:04:28.006Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsLINK":{"name":"SynthsLINK","address":"0xDF69bC4541b86Aa4c5A470B4347E730c38b2c3B2","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0xDF69bC4541b86Aa4c5A470B4347E730c38b2c3B2","timestamp":"2022-06-09T17:41:30.793Z","txn":"","network":"mainnet","constructorArgs":["0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6","0x577D4a7395c6A5f46d9981a5F83fa7294926aBB0","Synth sLINK","sLINK","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x734c494e4b000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"Math":{"name":"Math","address":"0x385e1Eb2FF28F4A637DA2C9971F8CAF5F5b1E77c","source":"Math","link":"https://etherscan.io/address/0x385e1Eb2FF28F4A637DA2C9971F8CAF5F5b1E77c","timestamp":"2019-12-12T04:26:09.000Z","txn":"https://etherscan.io/tx/0x4175d01bd44e1c847c8257ba272ea1051d67aa2b2552125f179a5dac7cb8d7d2","network":"mainnet","constructorArgs":[]},"AddressResolver":{"name":"AddressResolver","address":"0x823bE81bbF96BEc0e25CA13170F5AaCb5B79ba83","source":"AddressResolver","link":"https://etherscan.io/address/0x823bE81bbF96BEc0e25CA13170F5AaCb5B79ba83","timestamp":"2020-12-24T00:35:38.000Z","txn":"https://etherscan.io/tx/0x5fd6fc965408c73ccd81346087039498c92cf479308048d7ae6594d92ff4f7a4","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"Exchanger":{"name":"Exchanger","address":"0xD64D83829D92B5bdA881f6f61A4e4E27Fc185387","source":"ExchangerWithFeeRecAlternatives","link":"https://etherscan.io/address/0xD64D83829D92B5bdA881f6f61A4e4E27Fc185387","timestamp":"2022-05-14T03:47:23.000Z","txn":"https://etherscan.io/tx/0x19a5c7495a6db45b0ff540f1838f9ea54e7f72e56e221fe8f4ce41ce92cc9270","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"ExchangeState":{"name":"ExchangeState","address":"0x545973f28950f50fc6c7F52AAb4Ad214A27C0564","source":"ExchangeState","link":"https://etherscan.io/address/0x545973f28950f50fc6c7F52AAb4Ad214A27C0564","timestamp":"2020-02-20T05:39:38.000Z","txn":"https://etherscan.io/tx/0x6900724258dbf151dc5ea9d2f5a891ec51ccf72ac82101919f00920a7b8ae567","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0xD64D83829D92B5bdA881f6f61A4e4E27Fc185387"]},"Issuer":{"name":"Issuer","address":"0xc9380E4A1570cce7b99eeD107aC42C754c4CE3Bf","source":"Issuer","link":"https://etherscan.io/address/0xc9380E4A1570cce7b99eeD107aC42C754c4CE3Bf","timestamp":"2022-06-23T17:15:38.000Z","txn":"https://etherscan.io/tx/0x82370c7cb2165d7efb2323951b3a1b7c9f156c75c26e44294409ef4a5de1e0bd","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"IssuanceEternalStorage":{"name":"IssuanceEternalStorage","address":"0x631E93A0fb06B5eC6d52c0A2D89a3f9672d6Ba64","source":"IssuanceEternalStorage","link":"https://etherscan.io/address/0x631E93A0fb06B5eC6d52c0A2D89a3f9672d6Ba64","timestamp":"2020-02-28T06:09:39.180Z","txn":"","network":"mainnet"},"SystemStatus":{"name":"SystemStatus","address":"0x696c905F8F8c006cA46e9808fE7e00049507798F","source":"SystemStatus","link":"https://etherscan.io/address/0x696c905F8F8c006cA46e9808fE7e00049507798F","timestamp":"2022-03-17T19:23:07.000Z","txn":"https://etherscan.io/tx/0x372d60e75b5eefaf45b03d71a8e7420dc16db4ec49bd08db6ccdfd4b59f162cd","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"DelegateApprovalsEternalStorage":{"name":"DelegateApprovalsEternalStorage","address":"0x8F586F063ffbb89b186C8e604FC6614766f9C9d1","source":"EternalStorage","link":"https://etherscan.io/address/0x8F586F063ffbb89b186C8e604FC6614766f9C9d1","timestamp":"2020-03-31T00:26:51.000Z","txn":"https://etherscan.io/tx/0xa55a9b0d9d922c9a2749d990bf7f20f729837c8fcd7e128c1dac8eb51fa67f99","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesADA":{"name":"TokenStatesADA","address":"0x9956c5019a24fbd5B506AD070b771577bAc5c343","source":"TokenState","link":"https://etherscan.io/address/0x9956c5019a24fbd5B506AD070b771577bAc5c343","timestamp":"2020-04-02T09:02:42.770Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysADA":{"name":"ProxysADA","address":"0xe36E2D3c7c34281FA3bC737950a68571736880A1","source":"ProxyERC20","link":"https://etherscan.io/address/0xe36E2D3c7c34281FA3bC737950a68571736880A1","timestamp":"2020-04-02T09:04:17.667Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsADA":{"name":"SynthsADA","address":"0x91b82d62Ff322b8e02b86f33E9A99a813437830d","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0x91b82d62Ff322b8e02b86f33E9A99a813437830d","timestamp":"2022-06-09T17:42:14.695Z","txn":"","network":"mainnet","constructorArgs":["0xe36E2D3c7c34281FA3bC737950a68571736880A1","0x9956c5019a24fbd5B506AD070b771577bAc5c343","Synth sADA","sADA","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7341444100000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"ReadProxyAddressResolver":{"name":"ReadProxyAddressResolver","address":"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","source":"ReadProxy","link":"https://etherscan.io/address/0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","timestamp":"2020-05-08T16:34:33.000Z","txn":"https://etherscan.io/tx/0x1cefe027f7e3d8da401d3deeb63fc6c35a1ce09fc372f4de77c599250f0b496d","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"StakingRewardsSNXBalancer":{"name":"StakingRewardsSNXBalancer","address":"0xFBaEdde70732540cE2B11A8AC58Eb2dC0D69dE10","source":"StakingRewardsSNXBalancer","link":"https://etherscan.io/address/0xFBaEdde70732540cE2B11A8AC58Eb2dC0D69dE10","timestamp":"2020-06-03","txn":"","network":"mainnet"},"StakingRewardsiETH":{"name":"StakingRewardsiETH","address":"0x3f27c540ADaE3a9E8c875C61e3B970b559d7F65d","source":"StakingRewards","link":"https://etherscan.io/address/0x3f27c540ADaE3a9E8c875C61e3B970b559d7F65d","timestamp":"2021-02-03T05:00:31.000Z","txn":"https://etherscan.io/tx/0x398f20e282cebdc84549177e4324ee1f075db952a190c0555fa3fccdeae0b59f","network":"mainnet"},"StakingRewardsiBTC":{"name":"StakingRewardsiBTC","address":"0x167009dcDA2e49930a71712D956f02cc980DcC1b","source":"StakingRewards","link":"https://etherscan.io/address/0x167009dcDA2e49930a71712D956f02cc980DcC1b","timestamp":"2021-01-09T00:56:34.000Z","txn":"https://etherscan.io/tx/0xb24447e295063d1471193bbed6d42e107c2a61bc91f3e9de6710d110ce92f34c","network":"mainnet"},"StakingRewardssBTCCurve":{"name":"StakingRewardssBTCCurve","address":"0x13C1542A468319688B89E323fe9A3Be3A90EBb27","source":"StakingRewardssBTCCurve","link":"https://etherscan.io/address/0x13C1542A468319688B89E323fe9A3Be3A90EBb27","timestamp":"2020-05-29","txn":"","network":"mainnet"},"StakingRewardssUSDCurve":{"name":"StakingRewardssUSDCurve","address":"0xDCB6A51eA3CA5d3Fd898Fd6564757c7aAeC3ca92","source":"StakingRewardssUSDCurve","link":"https://etherscan.io/address/0xDCB6A51eA3CA5d3Fd898Fd6564757c7aAeC3ca92","timestamp":"2020-04-20","txn":"","network":"mainnet"},"StakingRewardssXAUUniswapV2":{"name":"StakingRewardssXAUUniswapV2","address":"0x8302FE9F0C509a996573D3Cc5B0D5D51e4FDD5eC","source":"StakingRewardssXAUUniswapV2","link":"https://etherscan.io/address/0x8302FE9F0C509a996573D3Cc5B0D5D51e4FDD5eC","timestamp":"2020-05-29","txn":"","network":"mainnet"},"StakingRewardssETHUniswapV1":{"name":"StakingRewardssETHUniswapV1","address":"0x48D7f315feDcaD332F68aafa017c7C158BC54760","source":"StakingRewardssETHUniswapV1","link":"https://etherscan.io/address/0x48D7f315feDcaD332F68aafa017c7C158BC54760","timestamp":"2020-05-29","txn":"","network":"mainnet"},"SynthUtil":{"name":"SynthUtil","address":"0x81Aee4EA48f678E172640fB5813cf7A96AFaF6C3","source":"SynthUtil","link":"https://etherscan.io/address/0x81Aee4EA48f678E172640fB5813cf7A96AFaF6C3","timestamp":"2020-08-06T00:14:40.000Z","txn":"https://etherscan.io/tx/0xf9c727d79abb8c45375fdf4b2b1138299c24f5b0affa5eaf03fba8cf00f6b1a4","network":"mainnet","constructorArgs":["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"DappMaintenance":{"name":"DappMaintenance","address":"0xAb0B2f1Cf979cdbF4676251F35353eC5AF2732Dd","source":"DappMaintenance","link":"https://etherscan.io/address/0xAb0B2f1Cf979cdbF4676251F35353eC5AF2732Dd","timestamp":"2020-08-06T00:15:00.000Z","txn":"https://etherscan.io/tx/0x0e3b146cbff5337a85bb6e275f20b9808cfaa84912c38d9f9b16f58d31860a35","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"FlexibleStorage":{"name":"FlexibleStorage","address":"0xc757aCBa3c0506218b3022266a9DC7F3612d85f5","source":"FlexibleStorage","link":"https://etherscan.io/address/0xc757aCBa3c0506218b3022266a9DC7F3612d85f5","timestamp":"2020-09-01T02:29:14.203Z","txn":"","network":"mainnet","constructorArgs":["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SystemSettings":{"name":"SystemSettings","address":"0x5ad055A1F8C936FB0deb7024f1539Bb3eAA8dc3E","source":"SystemSettings","link":"https://etherscan.io/address/0x5ad055A1F8C936FB0deb7024f1539Bb3eAA8dc3E","timestamp":"2022-06-23T17:12:43.000Z","txn":"https://etherscan.io/tx/0xb6156f48700dab9b6cee99cd7f00d73a6cfc153f4e90d797885366c65bbae8f2","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"TradingRewards":{"name":"TradingRewards","address":"0x62922670313bf6b41C580143d1f6C173C5C20019","source":"TradingRewards","link":"https://etherscan.io/address/0x62922670313bf6b41C580143d1f6C173C5C20019","timestamp":"2020-12-24T00:38:06.000Z","txn":"https://etherscan.io/tx/0x5a27b38498e8d90883735f65be1745f26f9237bdc2dc3fa135c564c90c07bfa8","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"DebtCache":{"name":"DebtCache","address":"0x1620Aa736939597891C1940CF0d28b82566F9390","source":"DebtCache","link":"https://etherscan.io/address/0x1620Aa736939597891C1940CF0d28b82566F9390","timestamp":"2022-03-17T19:24:56.000Z","txn":"https://etherscan.io/tx/0x2f5b20f3a06fdb77a34a4ba4da33d6e8ce25b936aa15555df5ef7afe8459569e","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"CollateralManagerState":{"name":"CollateralManagerState","address":"0x573E5105c4B92416D1544A188F1bf77d442Bb52d","source":"CollateralManagerState","link":"https://etherscan.io/address/0x573E5105c4B92416D1544A188F1bf77d442Bb52d","timestamp":"2020-12-24T01:25:57.000Z","txn":"https://etherscan.io/tx/0x483a0231282bdf448efedd143f2aa6f4067c6fdc72dba2f72a1f23b18a19dbe5","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"CollateralManager":{"name":"CollateralManager","address":"0x067e398605E84F2D0aEEC1806e62768C5110DCc6","source":"CollateralManager","link":"https://etherscan.io/address/0x067e398605E84F2D0aEEC1806e62768C5110DCc6","timestamp":"2020-12-24T04:23:49.000Z","txn":"https://etherscan.io/tx/0x61ff0be73c7ddeeee873cb21a90a51c05ffc4bbe29160ac510a700dfbc14e377","network":"mainnet","constructorArgs":["0x573E5105c4B92416D1544A188F1bf77d442Bb52d","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","75000000000000000000000000","200000000000000000","158443823","158443823"]},"CollateralStateEth":{"name":"CollateralStateEth","address":"0xbe5B5a7c198bC156474ed5c33CBf2F3F604F8fF8","source":"CollateralState","link":"https://etherscan.io/address/0xbe5B5a7c198bC156474ed5c33CBf2F3F604F8fF8","timestamp":"2021-01-14T23:50:37.821Z","txn":"","network":"mainnet"},"CollateralEth":{"name":"CollateralEth","address":"0x5c8344bcdC38F1aB5EB5C1d4a35DdEeA522B5DfA","source":"CollateralEth","link":"https://etherscan.io/address/0x5c8344bcdC38F1aB5EB5C1d4a35DdEeA522B5DfA","timestamp":"2021-01-14T23:51:02.000Z","txn":"https://etherscan.io/tx/0xcb3bfca19fb9d841cc43712ce3e568f794dd2d388507709fb7d0268e9e01cec2","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x067e398605E84F2D0aEEC1806e62768C5110DCc6","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","0x7345544800000000000000000000000000000000000000000000000000000000","1300000000000000000","2000000000000000000"]},"CollateralStateErc20":{"name":"CollateralStateErc20","address":"0x8A1A00Df7aA0102497C7591912bA8301e8dB8CdB","source":"CollateralState","link":"https://etherscan.io/address/0x8A1A00Df7aA0102497C7591912bA8301e8dB8CdB","timestamp":"2021-01-14T23:51:38.000Z","txn":"https://etherscan.io/tx/0x0840649d2b22f768a9d1314cbc03c9b8280023bde60dd7ecfca741bac15e4ada","network":"mainnet"},"CollateralErc20":{"name":"CollateralErc20","address":"0xaa03aB31b55DceEeF845C8d17890CC61cD98eD04","source":"CollateralErc20","link":"https://etherscan.io/address/0xaa03aB31b55DceEeF845C8d17890CC61cD98eD04","timestamp":"2021-01-14T23:51:56.000Z","txn":"https://etherscan.io/tx/0x751eb0cc4a5b2f994bcca8368159e4df951f4a0fbe16a5d00c0b9655bad1f0fe","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x067e398605E84F2D0aEEC1806e62768C5110DCc6","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","0x7342544300000000000000000000000000000000000000000000000000000000","1300000000000000000","50000000000000000","0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D",8]},"CollateralStateShort":{"name":"CollateralStateShort","address":"0x13A114a3Fa8A6CE03a0C5488BE9e614d78eDdb0c","source":"CollateralState","link":"https://etherscan.io/address/0x13A114a3Fa8A6CE03a0C5488BE9e614d78eDdb0c","timestamp":"2021-01-14T23:52:14.670Z","txn":"","network":"mainnet"},"CollateralShort":{"name":"CollateralShort","address":"0x1F2c3a1046c32729862fcB038369696e3273a516","source":"CollateralShort","link":"https://etherscan.io/address/0x1F2c3a1046c32729862fcB038369696e3273a516","timestamp":"2021-01-14T23:52:14.000Z","txn":"https://etherscan.io/tx/0x2fd795c484f9734377526c4ce1656ed416ebb8c954609fdf724c1b3a673af727","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x067e398605E84F2D0aEEC1806e62768C5110DCc6","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","0x7355534400000000000000000000000000000000000000000000000000000000","1200000000000000000","1000000000000000000000"]},"StakingRewardssEURCurve":{"name":"StakingRewardssEURCurve","address":"0xc0d8994Cd78eE1980885DF1A0C5470fC977b5cFe","source":"StakingRewards","link":"https://etherscan.io/address/0xc0d8994Cd78eE1980885DF1A0C5470fC977b5cFe","timestamp":"2021-01-11T04:11:51.905Z","txn":"","network":"mainnet"},"RewardEscrowV2":{"name":"RewardEscrowV2","address":"0xDA4eF8520b1A57D7d63f1E249606D1A459698876","source":"RewardEscrowV2","link":"https://etherscan.io/address/0xDA4eF8520b1A57D7d63f1E249606D1A459698876","timestamp":"2021-01-14T23:48:34.000Z","txn":"https://etherscan.io/tx/0x24873410d8b6171332163491139cc27ca3dc76fe474f695affc4688cd1735373","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthetixBridgeToOptimism":{"name":"SynthetixBridgeToOptimism","address":"0x39Ea01a0298C315d149a490E34B59Dbf2EC7e48F","source":"SynthetixBridgeToOptimism","link":"https://etherscan.io/address/0x39Ea01a0298C315d149a490E34B59Dbf2EC7e48F","timestamp":"2022-05-10T18:23:54.000Z","txn":"https://etherscan.io/tx/0xec9ece48ccf29124a84515f1f75dc92e513f8f290816be97355a6a00adbdaa3b","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"ShortingRewardssETH":{"name":"ShortingRewardssETH","address":"0x12DC1273915A16ab8BD47bA7866B240c253e4c12","source":"ShortingRewards","link":"https://etherscan.io/address/0x12DC1273915A16ab8BD47bA7866B240c253e4c12","timestamp":"2021-02-04T02:57:12.387Z","txn":"","network":"mainnet"},"ShortingRewardssBTC":{"name":"ShortingRewardssBTC","address":"0xCed4055b47cfD0421f3727a35F69CE659c8bAF7a","source":"ShortingRewards","link":"https://etherscan.io/address/0xCed4055b47cfD0421f3727a35F69CE659c8bAF7a","timestamp":"2021-02-04T03:07:11.000Z","txn":"https://etherscan.io/tx/0x632352d3042156b94c179a71a56de841255fc7d7fcf829f3ff40ae53e2f439d0","network":"mainnet"},"TokenStatesAAVE":{"name":"TokenStatesAAVE","address":"0x9BcED8A8E3Ad81c9b146FFC880358f734A06f7c0","source":"TokenState","link":"https://etherscan.io/address/0x9BcED8A8E3Ad81c9b146FFC880358f734A06f7c0","timestamp":"2021-02-04T04:59:21.433Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysAAVE":{"name":"ProxysAAVE","address":"0xd2dF355C19471c8bd7D8A3aa27Ff4e26A21b4076","source":"ProxyERC20","link":"https://etherscan.io/address/0xd2dF355C19471c8bd7D8A3aa27Ff4e26A21b4076","timestamp":"2021-02-04T04:59:32.282Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsAAVE":{"name":"SynthsAAVE","address":"0x942Eb6e8c029EB22103743C99985aF4F4515a559","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0x942Eb6e8c029EB22103743C99985aF4F4515a559","timestamp":"2022-06-09T17:42:29.880Z","txn":"","network":"mainnet","constructorArgs":["0xd2dF355C19471c8bd7D8A3aa27Ff4e26A21b4076","0x9BcED8A8E3Ad81c9b146FFC880358f734A06f7c0","Synth sAAVE","sAAVE","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7341415645000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"TokenStatesDOT":{"name":"TokenStatesDOT","address":"0x73B1a2643507Cd30F11Dfcf2D974f4373E5BC077","source":"TokenState","link":"https://etherscan.io/address/0x73B1a2643507Cd30F11Dfcf2D974f4373E5BC077","timestamp":"2021-02-04T05:05:11.555Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysDOT":{"name":"ProxysDOT","address":"0x1715AC0743102BF5Cd58EfBB6Cf2dC2685d967b6","source":"ProxyERC20","link":"https://etherscan.io/address/0x1715AC0743102BF5Cd58EfBB6Cf2dC2685d967b6","timestamp":"2021-02-04T05:05:27.390Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsDOT":{"name":"SynthsDOT","address":"0x75A0c1597137AA36B40b6a515D997F9a6c6eefEB","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0x75A0c1597137AA36B40b6a515D997F9a6c6eefEB","timestamp":"2022-06-09T17:42:48.847Z","txn":"","network":"mainnet","constructorArgs":["0x1715AC0743102BF5Cd58EfBB6Cf2dC2685d967b6","0x73B1a2643507Cd30F11Dfcf2D974f4373E5BC077","Synth sDOT","sDOT","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x73444f5400000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"StakingRewardssTSLABalancer":{"name":"StakingRewardssTSLABalancer","address":"0xF0de877F2F9E7A60767f9BA662F10751566AD01c","source":"StakingRewards","link":"https://etherscan.io/address/0xF0de877F2F9E7A60767f9BA662F10751566AD01c","timestamp":"2021-02-11T19:38:23.000Z","txn":"https://etherscan.io/tx/0x297b5534a231c8e7544c3b12900bf97b2f3cddea114b47425cb5b24c5711886f","network":"mainnet"},"TokenStatesKRW":{"name":"TokenStatesKRW","address":"0x93B6e9FbBd2c32a0DC3C2B943B7C3CBC2fE23730","source":"TokenState","link":"https://etherscan.io/address/0x93B6e9FbBd2c32a0DC3C2B943B7C3CBC2fE23730","timestamp":"2021-03-24T19:10:40.419Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysKRW":{"name":"ProxysKRW","address":"0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B","source":"ProxyERC20","link":"https://etherscan.io/address/0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B","timestamp":"2021-03-24T19:10:58.266Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsKRW":{"name":"SynthsKRW","address":"0xdAe6C79c46aB3B280Ca28259000695529cbD1339","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0xdAe6C79c46aB3B280Ca28259000695529cbD1339","timestamp":"2022-06-09T17:35:14.280Z","txn":"","network":"mainnet","constructorArgs":["0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B","0x93B6e9FbBd2c32a0DC3C2B943B7C3CBC2fE23730","Synth sKRW","sKRW","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x734b525700000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"VirtualSynthMastercopy":{"name":"VirtualSynthMastercopy","address":"0xf02ce48fD47D7FA1B7a45a0444805d320D035775","source":"VirtualSynthMastercopy","link":"https://etherscan.io/address/0xf02ce48fD47D7FA1B7a45a0444805d320D035775","timestamp":"2021-04-22T00:39:13.000Z","txn":"https://etherscan.io/tx/0x97cf7f9d52f180b4e0f1f642a3b18e84c3ce0c6fa31cfaef16616a31a81a808f","network":"mainnet","constructorArgs":[]},"StakingRewardssFBBalancer":{"name":"StakingRewardssFBBalancer","address":"0x26Fa0665660c1D3a3666584669511d3c66Ad37Cb","source":"StakingRewards","link":"https://etherscan.io/address/0x26Fa0665660c1D3a3666584669511d3c66Ad37Cb","timestamp":"2021-04-22T15:30:32.441Z","txn":"","network":"mainnet"},"StakingRewardssAAPLBalancer":{"name":"StakingRewardssAAPLBalancer","address":"0x7af65f1740c0eB816A27FD808EaF6Ab09F6Fa646","source":"StakingRewards","link":"https://etherscan.io/address/0x7af65f1740c0eB816A27FD808EaF6Ab09F6Fa646","timestamp":"2021-04-22T15:33:15.930Z","txn":"","network":"mainnet"},"StakingRewardssAMZNBalancer":{"name":"StakingRewardssAMZNBalancer","address":"0xDC338C7544654c7dadFEb7E44076E457963113B0","source":"StakingRewards","link":"https://etherscan.io/address/0xDC338C7544654c7dadFEb7E44076E457963113B0","timestamp":"2021-04-22T15:39:13.829Z","txn":"","network":"mainnet"},"StakingRewardssNFLXBalancer":{"name":"StakingRewardssNFLXBalancer","address":"0x8Ef8cA2AcAaAfEc19fB366C11561718357F780F2","source":"StakingRewards","link":"https://etherscan.io/address/0x8Ef8cA2AcAaAfEc19fB366C11561718357F780F2","timestamp":"2021-04-22T15:45:46.242Z","txn":"","network":"mainnet"},"StakingRewardssGOOGBalancer":{"name":"StakingRewardssGOOGBalancer","address":"0x6fB7F0E78582746bd01BcB6dfbFE62cA5F4F9175","source":"StakingRewards","link":"https://etherscan.io/address/0x6fB7F0E78582746bd01BcB6dfbFE62cA5F4F9175","timestamp":"2021-04-22T15:47:27.982Z","txn":"","network":"mainnet"},"StakingRewardssCOINBalancer":{"name":"StakingRewardssCOINBalancer","address":"0x1C1D97f6338759AB814a5A717aE359573Ab5D5d4","source":"StakingRewards","link":"https://etherscan.io/address/0x1C1D97f6338759AB814a5A717aE359573Ab5D5d4","timestamp":"2021-04-29T14:25:10.862Z","txn":"","network":"mainnet"},"StakingRewardssMSFTBalancer":{"name":"StakingRewardssMSFTBalancer","address":"0x9D003Cc298E7Ea141A809C241C0a703176DA3ba3","source":"StakingRewards","link":"https://etherscan.io/address/0x9D003Cc298E7Ea141A809C241C0a703176DA3ba3","timestamp":"2021-04-29T14:26:25.602Z","txn":"","network":"mainnet"},"SynthetixBridgeEscrow":{"name":"SynthetixBridgeEscrow","address":"0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f","source":"SynthetixBridgeEscrow","link":"https://etherscan.io/address/0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f","timestamp":"2021-05-10T21:09:42.000Z","txn":"https://etherscan.io/tx/0xdb8c71768753489eed0028075cf515d0695b757b41231886b261e1aa0c573a5e","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"EtherWrapper":{"name":"EtherWrapper","address":"0xC1AAE9d18bBe386B102435a8632C8063d31e747C","source":"EtherWrapper","link":"https://etherscan.io/address/0xC1AAE9d18bBe386B102435a8632C8063d31e747C","timestamp":"2021-05-13T11:08:22.000Z","txn":"https://etherscan.io/tx/0xcac2d9311b429ff942b8a259d49ef46e1f90caf035513eb382f1b865c1f48d78","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"]},"NativeEtherWrapper":{"name":"NativeEtherWrapper","address":"0x7A3d898b717e50a96fd8b232E9d15F0A547A7eeb","source":"NativeEtherWrapper","link":"https://etherscan.io/address/0x7A3d898b717e50a96fd8b232E9d15F0A547A7eeb","timestamp":"2021-05-13T11:09:14.000Z","txn":"https://etherscan.io/tx/0x4e628023d059a6811addf1cf4f6377fe258ce669aef5c1b392ba04553b403f44","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthRedeemer":{"name":"SynthRedeemer","address":"0xe533139Af961c9747356D947838c98451015e234","source":"SynthRedeemer","link":"https://etherscan.io/address/0xe533139Af961c9747356D947838c98451015e234","timestamp":"2021-09-10T09:21:49.000Z","txn":"https://etherscan.io/tx/0x36ee7d1fff9c77636cab448a6289eca77aa9d5baef562c94cbec7b8409b5b191","network":"mainnet","constructorArgs":["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"WrapperFactory":{"name":"WrapperFactory","address":"0x02f9bC46beD33acdB9cb002fe346734CeF8a9480","source":"WrapperFactory","link":"https://etherscan.io/address/0x02f9bC46beD33acdB9cb002fe346734CeF8a9480","timestamp":"2021-12-03T05:16:01.000Z","txn":"https://etherscan.io/tx/0x2a4b77caf217654c2d7288cec194716f5ad02b902464094bf4c0f95a543bfc01","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"OwnerRelayOnEthereum":{"name":"OwnerRelayOnEthereum","address":"0x0e16A6876210841577b233C4165d7B7EdF640b8a","source":"OwnerRelayOnEthereum","link":"https://etherscan.io/address/0x0e16A6876210841577b233C4165d7B7EdF640b8a","timestamp":"2021-11-23T22:26:10.000Z","txn":"https://etherscan.io/tx/0xcb2daf5c04fde995ba13c6ca4e3eb9edd794f3031f0380ce653abed742ae4834","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"TokenStatesETHBTC":{"name":"TokenStatesETHBTC","address":"0x042A7A0022A7695454ac5Be77a4860e50c9683fC","source":"TokenState","link":"https://etherscan.io/address/0x042A7A0022A7695454ac5Be77a4860e50c9683fC","timestamp":"2021-12-15T22:05:17.310Z","txn":"","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysETHBTC":{"name":"ProxysETHBTC","address":"0x104eDF1da359506548BFc7c25bA1E28C16a70235","source":"ProxyERC20","link":"https://etherscan.io/address/0x104eDF1da359506548BFc7c25bA1E28C16a70235","timestamp":"2021-12-15T22:05:20.000Z","txn":"https://etherscan.io/tx/0xef2ff387f4ccca14ff4b02d9226420cdd4766873d99f8733a92ec78e8fea2dae","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsETHBTC":{"name":"SynthsETHBTC","address":"0x07C1E81C345A7c58d7c24072EFc5D929BD0647AD","source":"MultiCollateralSynth","link":"https://etherscan.io/address/0x07C1E81C345A7c58d7c24072EFc5D929BD0647AD","timestamp":"2022-06-09T17:45:11.788Z","txn":"","network":"mainnet","constructorArgs":["0x104eDF1da359506548BFc7c25bA1E28C16a70235","0x042A7A0022A7695454ac5Be77a4860e50c9683fC","Synth sETHBTC","sETHBTC","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7345544842544300000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SystemSettingsLib":{"name":"SystemSettingsLib","address":"0x4A9a8B1B596Fe1096cD75a588fD559968ca64259","source":"SystemSettingsLib","link":"https://etherscan.io/address/0x4A9a8B1B596Fe1096cD75a588fD559968ca64259","timestamp":"2022-06-23T17:12:18.000Z","txn":"https://etherscan.io/tx/0x71c09dc5f71d998012dedfff8f1d1f034dbc41badea7ae3ff9c3504b8f4ef354","network":"mainnet","constructorArgs":[]},"SynthetixDebtShare":{"name":"SynthetixDebtShare","address":"0x89FCb32F29e509cc42d0C8b6f058C993013A843F","source":"SynthetixDebtShare","link":"https://etherscan.io/address/0x89FCb32F29e509cc42d0C8b6f058C993013A843F","timestamp":"2022-02-09T02:43:59.000Z","txn":"https://etherscan.io/tx/0x8f8d6ab299f46dbd8d1ac9a7761ead5f2dc8166f71694659381d5d727435a060","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SignedSafeDecimalMath":{"name":"SignedSafeDecimalMath","address":"0x728A2B79Cad691531CC1146eF802617FF50c7095","source":"SignedSafeDecimalMath","link":"https://etherscan.io/address/0x728A2B79Cad691531CC1146eF802617FF50c7095","timestamp":"2022-03-17T19:21:07.000Z","txn":"https://etherscan.io/tx/0xec1c90d5fdafded769ef75103a4fc257e0db9523087ac7b0dd2da2e3a9a33106","network":"mainnet","constructorArgs":[]},"OneNetAggregatorIssuedSynths":{"name":"OneNetAggregatorIssuedSynths","address":"0xcf1405b18dBCEA2893Abe635c88359C75878B9e1","source":"OneNetAggregatorIssuedSynths","link":"https://etherscan.io/address/0xcf1405b18dBCEA2893Abe635c88359C75878B9e1","timestamp":"2022-03-17T19:21:38.000Z","txn":"https://etherscan.io/tx/0xc8e3587a015330d52107765989f8e2f2e0d27227c45fbc92d511b261926cca40","network":"mainnet","constructorArgs":["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"OneNetAggregatorDebtRatio":{"name":"OneNetAggregatorDebtRatio","address":"0x977d0DD7eA212E9ca1dcD4Ec15cd7Ceb135fa68D","source":"OneNetAggregatorDebtRatio","link":"https://etherscan.io/address/0x977d0DD7eA212E9ca1dcD4Ec15cd7Ceb135fa68D","timestamp":"2022-03-17T19:21:39.000Z","txn":"https://etherscan.io/tx/0x46784e77e35b7e2e9999c3c54c776029790e75eb15ca3b77153a7de51b6c5fe0","network":"mainnet","constructorArgs":["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"ExchangeCircuitBreaker":{"name":"ExchangeCircuitBreaker","address":"0xeAcaEd9581294b1b5cfb6B941d4B8B81B2005437","source":"ExchangeCircuitBreaker","link":"https://etherscan.io/address/0xeAcaEd9581294b1b5cfb6B941d4B8B81B2005437","timestamp":"2022-03-17T19:25:25.000Z","txn":"https://etherscan.io/tx/0x49e5553deb5ff969b9de6f6a5ebf794164d3a8df08eb3707898e6fd1c866b66b","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"FuturesMarketManager":{"name":"FuturesMarketManager","address":"0x834Ef6c82D431Ac9A7A6B66325F185b2430780D7","source":"EmptyFuturesMarketManager","link":"https://etherscan.io/address/0x834Ef6c82D431Ac9A7A6B66325F185b2430780D7","timestamp":"2022-03-17T19:37:08.000Z","txn":"https://etherscan.io/tx/0xf7c0d65fd75e53a7f5981b67fbe2d860f9465b7534fdf171724f23d437f1e2c1","network":"mainnet","constructorArgs":[]},"Liquidator":{"name":"Liquidator","address":"0x0e5fe1b05612581576e9A3dB048416d0B1E3C425","source":"Liquidator","link":"https://etherscan.io/address/0x0e5fe1b05612581576e9A3dB048416d0B1E3C425","timestamp":"2022-05-14T03:46:12.000Z","txn":"https://etherscan.io/tx/0x524830cfc58db061742cc09dc86f3372619a3ede4cef9982638700f8ed341424","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"LiquidatorRewards":{"name":"LiquidatorRewards","address":"0xf79603a71144e415730C1A6f57F366E4Ea962C00","source":"LiquidatorRewards","link":"https://etherscan.io/address/0xf79603a71144e415730C1A6f57F366E4Ea962C00","timestamp":"2022-05-14T03:46:43.000Z","txn":"https://etherscan.io/tx/0xf3d6a0eb6d89c111abcfac7ec969301015c26881fab98c48d5a82c0da32b5831","network":"mainnet","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"OneNetAggregatorsDEFI":{"name":"OneNetAggregatorsDEFI","address":"0x646F23085281Dbd006FBFD211FD38d0743884864","source":"OneNetAggregatorsDEFI","link":"https://etherscan.io/address/0x646F23085281Dbd006FBFD211FD38d0743884864","timestamp":"2022-06-14T22:18:36.000Z","txn":"https://etherscan.io/tx/0x63dc092c2a9d752c794c72d4633229041c4222a530bf15307118e13c381b54cf","network":"mainnet","constructorArgs":["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]}},"sources":{"StakingRewardsSNXBalancer":{"bytecode":"60806040526000600855600060095534801561001a57600080fd5b506040516112843803806112848339818101604052606081101561003d57600080fd5b50805160208201516040909201516001600081905580546001600160a01b0319166001600160a01b0380841691909117909155919291839081166100c8576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050600780546001600160a01b0319166001600160a01b039290921691909117905550611130806101546000396000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c806372f702f3116100de578063a694fc3a11610097578063d1af0c7d11610071578063d1af0c7d14610342578063df136d651461034a578063e9fad8ee14610352578063ebe2b12b1461035a57610172565b8063a694fc3a14610315578063c8f33c9114610332578063cd3daf9d1461033a57610172565b806372f702f3146102c757806379ba5097146102cf5780637b0a47ee146102d757806380faa57d146102df5780638b876347146102e75780638da5cb5b1461030d57610172565b80632e1a7d4d116101305780632e1a7d4d146102335780633c6b16ab146102505780633d18b9121461026d5780633fc6df6e1461027557806353a47bb71461029957806370a08231146102a157610172565b80628cc262146101775780630700037d146101af5780631627540c146101d557806318160ddd146101fd57806319762143146102055780631be052891461022b575b600080fd5b61019d6004803603602081101561018d57600080fd5b50356001600160a01b0316610362565b60408051918252519081900360200190f35b61019d600480360360208110156101c557600080fd5b50356001600160a01b03166103e8565b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166103fa565b005b61019d610497565b6101fb6004803603602081101561021b57600080fd5b50356001600160a01b031661049e565b61019d610509565b6101fb6004803603602081101561024957600080fd5b5035610510565b6101fb6004803603602081101561026657600080fd5b50356105f7565b6101fb610761565b61027d610833565b604080516001600160a01b039092168252519081900360200190f35b61027d610842565b61019d600480360360208110156102b757600080fd5b50356001600160a01b0316610851565b61027d61086c565b6101fb61087b565b61019d610937565b61019d61093d565b61019d600480360360208110156102fd57600080fd5b50356001600160a01b0316610950565b61027d610962565b6101fb6004803603602081101561032b57600080fd5b5035610971565b61019d610a55565b61019d610a5b565b61027d610aaf565b61019d610abe565b6101fb610ac4565b61019d610adf565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546103e291906103d690670de0b6b3a7640000906103ca906103b5906103a9610a5b565b9063ffffffff610ae516565b6103be88610851565b9063ffffffff610b4216565b9063ffffffff610ba216565b9063ffffffff610c0c16565b92915050565b600d6020526000908152604090205481565b6004546001600160a01b031633146104435760405162461bcd60e51b815260040180806020018281038252602f815260200180611058602f913960400191505060405180910390fd5b600580546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002545b90565b6004546001600160a01b031633146104e75760405162461bcd60e51b815260040180806020018281038252602f815260200180611058602f913960400191505060405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b62093a8081565b33610519610a5b565b600b5561052461093d565b600a556001600160a01b0381161561056b5761053f81610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b600082116105b4576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b6105bd82610c66565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6006546001600160a01b031633146106405760405162461bcd60e51b815260040180806020018281038252602a8152602001806110a8602a913960400191505060405180910390fd5b600061064a610a5b565b600b5561065561093d565b600a556001600160a01b0381161561069c5761067081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60085442106106c0576106b88262093a8063ffffffff610ba216565b60095561070e565b6008546000906106d6904263ffffffff610ae516565b905060006106ef60095483610b4290919063ffffffff16565b905061070862093a806103ca868463ffffffff610c0c16565b60095550505b42600a8190556107279062093a8063ffffffff610c0c16565b6008556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b3361076a610a5b565b600b5561077561093d565b600a556001600160a01b038116156107bc5761079081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60006107c733610362565b9050801561082f57336000818152600d60205260408120556007546107f8916001600160a01b039091169083610d29565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6001546001600160a01b031681565b6005546001600160a01b031633146108c45760405162461bcd60e51b81526004018080602001828103825260358152602001806110236035913960400191505060405180910390fd5b600454600554604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160058054600480546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b600061094b42600854610d80565b905090565b600c6020526000908152604090205481565b6004546001600160a01b031681565b3361097a610a5b565b600b5561098561093d565b600a556001600160a01b038116156109cc576109a081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008211610a12576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b610a1b82610d96565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b600a5481565b6000610a65610497565b610a725750600b5461049b565b61094b610aa0610a80610497565b6103ca670de0b6b3a76400006103be6009546103be600a546103a961093d565b600b549063ffffffff610c0c16565b6007546001600160a01b031681565b600b5481565b610ad5610ad033610851565b610510565b610add610761565b565b60085481565b600082821115610b3c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610b51575060006103e2565b82820282848281610b5e57fe5b0414610b9b5760405162461bcd60e51b81526004018080602001828103825260218152602001806110876021913960400191505060405180910390fd5b9392505050565b6000808211610bf8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610c0357fe5b04949350505050565b600082820183811015610b9b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000805460010190819055600254610c84908363ffffffff610ae516565b60025533600090815260036020526040902054610ca7908363ffffffff610ae516565b33600081815260036020526040902091909155600154610cd3916001600160a01b039091169084610d29565b600054811461082f576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d7b908490610e04565b505050565b6000818310610d8f5781610b9b565b5090919050565b6000805460010190819055600254610db4908363ffffffff610c0c16565b60025533600090815260036020526040902054610dd7908363ffffffff610c0c16565b33600081815260036020526040902091909155600154610cd3916001600160a01b03909116903085610fc2565b610e16826001600160a01b031661101c565b610e67576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610ea55780518252601f199092019160209182019101610e86565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610f07576040519150601f19603f3d011682016040523d82523d6000602084013e610f0c565b606091505b509150915081610f63576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610fbc57808060200190516020811015610f7f57600080fd5b5051610fbc5760405162461bcd60e51b815260040180806020018281038252602a8152602001806110d2602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610fbc908590610e04565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a7231582020f5794a903f0922bce34e601a6a65292617f8c4088dc06fb54f3e90598520c864736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f000000000000000000000000815f8ef4863451f4faf34fbc860034812e7377d9","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":true,"inputs":[],"name":"DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"StakingRewardsiETH":{"bytecode":"60806040526000600755600060085562093a8060095534801561002157600080fd5b506040516119443803806119448339818101604052608081101561004457600080fd5b5080516020820151604083015160609093015191929091836001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060016003556000546001600160a01b0316610166576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600580546001600160a01b0393841661010002610100600160a81b0319909116179055600680549183166001600160a01b03199283161790556002805493909216921691909117905550611785806101bf6000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c806372f702f31161010f578063a694fc3a116100a2578063d1af0c7d11610071578063d1af0c7d14610448578063df136d6514610450578063e9fad8ee14610458578063ebe2b12b14610460576101e4565b8063a694fc3a146103fe578063c8f33c911461041b578063cc1a378f14610423578063cd3daf9d14610440576101e4565b80638980f11f116100de5780638980f11f1461039c5780638b876347146103c85780638da5cb5b146103ee57806391b4ded9146103f6576101e4565b806372f702f31461037c57806379ba5097146103845780637b0a47ee1461038c57806380faa57d14610394576101e4565b80632e1a7d4d116101875780633fc6df6e116101565780633fc6df6e1461030e57806353a47bb7146103325780635c975abb1461033a57806370a0823114610356576101e4565b80632e1a7d4d146102c4578063386a9525146102e15780633c6b16ab146102e95780633d18b91214610306576101e4565b806316c38b3c116101c357806316c38b3c1461026f57806318160ddd1461028e57806319762143146102965780631c1f78eb146102bc576101e4565b80628cc262146101e95780630700037d146102215780631627540c14610247575b600080fd5b61020f600480360360208110156101ff57600080fd5b50356001600160a01b0316610468565b60408051918252519081900360200190f35b61020f6004803603602081101561023757600080fd5b50356001600160a01b03166104fe565b61026d6004803603602081101561025d57600080fd5b50356001600160a01b0316610510565b005b61026d6004803603602081101561028557600080fd5b50351515610579565b61020f610611565b61026d600480360360208110156102ac57600080fd5b50356001600160a01b0316610618565b61020f61064f565b61026d600480360360208110156102da57600080fd5b503561066d565b61020f61081b565b61026d600480360360208110156102ff57600080fd5b5035610821565b61026d610a90565b610316610bce565b604080516001600160a01b039092168252519081900360200190f35b610316610bdd565b610342610bec565b604080519115158252519081900360200190f35b61020f6004803603602081101561036c57600080fd5b50356001600160a01b0316610bf5565b610316610c10565b61026d610c1f565b61020f610ce8565b61020f610cee565b61026d600480360360408110156103b257600080fd5b506001600160a01b038135169060200135610cfc565b61020f600480360360208110156103de57600080fd5b50356001600160a01b0316610db9565b610316610dcb565b61020f610dda565b61026d6004803603602081101561041457600080fd5b5035610de0565b61020f610fcd565b61026d6004803603602081101561043957600080fd5b5035610fd3565b61020f611056565b6103166110b0565b61020f6110c4565b61026d6110ca565b61020f6110ed565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546104f891906104ec90670de0b6b3a7640000906104e0906104bb906104af611056565b9063ffffffff6110f316565b6001600160a01b0388166000908152600f60205260409020549063ffffffff61115016565b9063ffffffff6111b016565b9063ffffffff61121a16565b92915050565b600d6020526000908152604090205481565b610518611274565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610581611274565b60055460ff16151581151514156105975761060e565b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016821515179081905560ff16156105d257426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b600e545b90565b610620611274565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600061066860095460085461115090919063ffffffff16565b905090565b600380546001019081905533610681611056565b600b5561068c610cee565b600a556001600160a01b038116156106d3576106a781610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610728576040805162461bcd60e51b815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b600e5461073b908463ffffffff6110f316565b600e55336000908152600f602052604090205461075e908463ffffffff6110f316565b336000818152600f602052604090209190915560065461078a916001600160a01b0390911690856112bd565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a2506003548114610817576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050565b60095481565b6002546001600160a01b0316331461086a5760405162461bcd60e51b815260040180806020018281038252602a8152602001806116dc602a913960400191505060405180910390fd5b6000610874611056565b600b5561087f610cee565b600a556001600160a01b038116156108c65761089a81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60075442106108eb576009546108e390839063ffffffff6111b016565b60085561093a565b600754600090610901904263ffffffff6110f316565b9050600061091a6008548361115090919063ffffffff16565b600954909150610934906104e0868463ffffffff61121a16565b60085550505b600554604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156109a357600080fd5b505afa1580156109b7573d6000803e3d6000fd5b505050506040513d60208110156109cd57600080fd5b50516009549091506109e690829063ffffffff6111b016565b6008541115610a3c576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b42600a819055600954610a55919063ffffffff61121a16565b6007556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b600380546001019081905533610aa4611056565b600b55610aaf610cee565b600a556001600160a01b03811615610af657610aca81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b336000908152600d60205260409020548015610b7657336000818152600d6020526040812055600554610b3f916101009091046001600160a01b0316908363ffffffff6112bd16565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050600354811461060e576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002546001600160a01b031681565b6001546001600160a01b031681565b60055460ff1681565b6001600160a01b03166000908152600f602052604090205490565b6006546001600160a01b031681565b6001546001600160a01b03163314610c685760405162461bcd60e51b815260040180806020018281038252603581526020018061161b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b60085481565b600061066842600754611342565b610d04611274565b6006546001600160a01b0383811691161415610d515760405162461bcd60e51b81526004018080602001828103825260218152602001806117306021913960400191505060405180910390fd5b600054610d71906001600160a01b0384811691168363ffffffff6112bd16565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a15050565b600c6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b600380546001019081905560055460ff1615610e2d5760405162461bcd60e51b815260040180806020018281038252603c8152602001806116a0603c913960400191505060405180910390fd5b33610e36611056565b600b55610e41610cee565b600a556001600160a01b03811615610e8857610e5c81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610edd576040805162461bcd60e51b815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b600e54610ef0908463ffffffff61121a16565b600e55336000908152600f6020526040902054610f13908463ffffffff61121a16565b336000818152600f6020526040902091909155600654610f40916001600160a01b03909116903086611358565b60408051848152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a2506003548114610817576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600a5481565b610fdb611274565b600754421161101b5760405162461bcd60e51b81526004018080602001828103825260588152602001806115c36058913960600191505060405180910390fd5b60098190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600e546000141561106c5750600b54610615565b6106686110a1600e546104e0670de0b6b3a7640000611095600854611095600a546104af610cee565b9063ffffffff61115016565b600b549063ffffffff61121a16565b60055461010090046001600160a01b031681565b600b5481565b336000908152600f60205260409020546110e39061066d565b6110eb610a90565b565b60075481565b60008282111561114a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008261115f575060006104f8565b8282028284828161116c57fe5b04146111a95760405162461bcd60e51b815260040180806020018281038252602181526020018061167f6021913960400191505060405180910390fd5b9392505050565b6000808211611206576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161121157fe5b04949350505050565b6000828201838110156111a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546001600160a01b031633146110eb5760405162461bcd60e51b815260040180806020018281038252602f815260200180611650602f913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261133d9084906113e6565b505050565b600081831061135157816111a9565b5090919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526113e09085906113e6565b50505050565b6113f8826001600160a01b03166115bc565b611449576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106114a557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611468565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611507576040519150601f19603f3d011682016040523d82523d6000602084013e61150c565b606091505b509150915081611563576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156113e05780806020019051602081101561157f57600080fd5b50516113e05760405162461bcd60e51b815260040180806020018281038252602a815260200180611706602a913960400191505060405180910390fd5b3b15159056fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f64596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656443616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656443616e6e6f7420776974686472617720746865207374616b696e6720746f6b656ea265627a7a723158208b83eefb43b089806eff7784b780d70acd17c72f6018ec967b92105af81e30ee64736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe00000000000000000000000029c295b046a73cde593f21f63091b072d407e3f2000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f000000000000000000000000a9859874e1743a32409f75bb11549892138bba1e","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_rewardsDistribution","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Recovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"RewardsDurationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getRewardForDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rewardsDuration","type":"uint256"}],"name":"setRewardsDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"StakingRewardsiBTC":{"bytecode":"60806040526000600755600060085562093a8060095534801561002157600080fd5b506040516118513803806118518339818101604052608081101561004457600080fd5b5080516020820151604083015160609093015191929091836001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060016003556000546001600160a01b0316610166576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600580546001600160a01b0393841661010002610100600160a81b0319909116179055600680549183166001600160a01b03199283161790556002805493909216921691909117905550611692806101bf6000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c806372f702f31161010f578063a694fc3a116100a2578063d1af0c7d11610071578063d1af0c7d14610448578063df136d6514610450578063e9fad8ee14610458578063ebe2b12b14610460576101e4565b8063a694fc3a146103fe578063c8f33c911461041b578063cc1a378f14610423578063cd3daf9d14610440576101e4565b80638980f11f116100de5780638980f11f1461039c5780638b876347146103c85780638da5cb5b146103ee57806391b4ded9146103f6576101e4565b806372f702f31461037c57806379ba5097146103845780637b0a47ee1461038c57806380faa57d14610394576101e4565b80632e1a7d4d116101875780633fc6df6e116101565780633fc6df6e1461030e57806353a47bb7146103325780635c975abb1461033a57806370a0823114610356576101e4565b80632e1a7d4d146102c4578063386a9525146102e15780633c6b16ab146102e95780633d18b91214610306576101e4565b806316c38b3c116101c357806316c38b3c1461026f57806318160ddd1461028e57806319762143146102965780631c1f78eb146102bc576101e4565b80628cc262146101e95780630700037d146102215780631627540c14610247575b600080fd5b61020f600480360360208110156101ff57600080fd5b50356001600160a01b0316610468565b60408051918252519081900360200190f35b61020f6004803603602081101561023757600080fd5b50356001600160a01b03166104fe565b61026d6004803603602081101561025d57600080fd5b50356001600160a01b0316610510565b005b61026d6004803603602081101561028557600080fd5b5035151561056c565b61020f6105e6565b61026d600480360360208110156102ac57600080fd5b50356001600160a01b03166105ed565b61020f610617565b61026d600480360360208110156102da57600080fd5b5035610635565b61020f6107d7565b61026d600480360360208110156102ff57600080fd5b50356107dd565b61026d610a33565b610316610b71565b604080516001600160a01b039092168252519081900360200190f35b610316610b80565b610342610b8f565b604080519115158252519081900360200190f35b61020f6004803603602081101561036c57600080fd5b50356001600160a01b0316610b98565b610316610bb3565b61026d610bc2565b61020f610c7e565b61020f610c84565b61026d600480360360408110156103b257600080fd5b506001600160a01b038135169060200135610c92565b61020f600480360360208110156103de57600080fd5b50356001600160a01b0316610d4f565b610316610d61565b61020f610d70565b61026d6004803603602081101561041457600080fd5b5035610d76565b61020f610f54565b61026d6004803603602081101561043957600080fd5b5035610f5a565b61020f610fdd565b610316611037565b61020f61104b565b61026d611051565b61020f611074565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546104f891906104ec90670de0b6b3a7640000906104e0906104bb906104af610fdd565b9063ffffffff61107a16565b6001600160a01b0388166000908152600f60205260409020549063ffffffff6110d716565b9063ffffffff61113716565b9063ffffffff6111a116565b92915050565b600d6020526000908152604090205481565b6105186111fb565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6105746111fb565b60055460ff161515811515141561058a576105e3565b6005805460ff1916821515179081905560ff16156105a757426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b600e545b90565b6105f56111fb565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60006106306009546008546110d790919063ffffffff16565b905090565b600380546001019081905533610649610fdd565b600b55610654610c84565b600a556001600160a01b0381161561069b5761066f81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b600083116106e4576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b600e546106f7908463ffffffff61107a16565b600e55336000908152600f602052604090205461071a908463ffffffff61107a16565b336000818152600f6020526040902091909155600654610746916001600160a01b039091169085611244565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25060035481146107d3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050565b60095481565b6002546001600160a01b031633146108265760405162461bcd60e51b815260040180806020018281038252602a8152602001806115e9602a913960400191505060405180910390fd5b6000610830610fdd565b600b5561083b610c84565b600a556001600160a01b038116156108825761085681610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60075442106108a75760095461089f90839063ffffffff61113716565b6008556108f6565b6007546000906108bd904263ffffffff61107a16565b905060006108d6600854836110d790919063ffffffff16565b6009549091506108f0906104e0868463ffffffff6111a116565b60085550505b600554604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561094657600080fd5b505afa15801561095a573d6000803e3d6000fd5b505050506040513d602081101561097057600080fd5b505160095490915061098990829063ffffffff61113716565b60085411156109df576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b42600a8190556009546109f8919063ffffffff6111a116565b6007556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b600380546001019081905533610a47610fdd565b600b55610a52610c84565b600a556001600160a01b03811615610a9957610a6d81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b336000908152600d60205260409020548015610b1957336000818152600d6020526040812055600554610ae2916101009091046001600160a01b0316908363ffffffff61124416565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b505060035481146105e3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002546001600160a01b031681565b6001546001600160a01b031681565b60055460ff1681565b6001600160a01b03166000908152600f602052604090205490565b6006546001600160a01b031681565b6001546001600160a01b03163314610c0b5760405162461bcd60e51b81526004018080602001828103825260358152602001806115286035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60085481565b60006106304260075461129b565b610c9a6111fb565b6006546001600160a01b0383811691161415610ce75760405162461bcd60e51b815260040180806020018281038252602181526020018061163d6021913960400191505060405180910390fd5b600054610d07906001600160a01b0384811691168363ffffffff61124416565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a15050565b600c6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b600380546001019081905560055460ff1615610dc35760405162461bcd60e51b815260040180806020018281038252603c8152602001806115ad603c913960400191505060405180910390fd5b33610dcc610fdd565b600b55610dd7610c84565b600a556001600160a01b03811615610e1e57610df281610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610e64576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b600e54610e77908463ffffffff6111a116565b600e55336000908152600f6020526040902054610e9a908463ffffffff6111a116565b336000818152600f6020526040902091909155600654610ec7916001600160a01b039091169030866112b1565b60408051848152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25060035481146107d3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600a5481565b610f626111fb565b6007544211610fa25760405162461bcd60e51b81526004018080602001828103825260588152602001806114d06058913960600191505060405180910390fd5b60098190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600e5460001415610ff35750600b546105ea565b610630611028600e546104e0670de0b6b3a764000061101c60085461101c600a546104af610c84565b9063ffffffff6110d716565b600b549063ffffffff6111a116565b60055461010090046001600160a01b031681565b600b5481565b336000908152600f602052604090205461106a90610635565b611072610a33565b565b60075481565b6000828211156110d1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826110e6575060006104f8565b828202828482816110f357fe5b04146111305760405162461bcd60e51b815260040180806020018281038252602181526020018061158c6021913960400191505060405180910390fd5b9392505050565b600080821161118d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161119857fe5b04949350505050565b600082820183811015611130576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546001600160a01b031633146110725760405162461bcd60e51b815260040180806020018281038252602f81526020018061155d602f913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611296908490611311565b505050565b60008183106112aa5781611130565b5090919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261130b908590611311565b50505050565b611323826001600160a01b03166114c9565b611374576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106113b25780518252601f199092019160209182019101611393565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611414576040519150601f19603f3d011682016040523d82523d6000602084013e611419565b606091505b509150915081611470576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b80511561130b5780806020019051602081101561148c57600080fd5b505161130b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611613602a913960400191505060405180910390fd5b3b15159056fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f64596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656443616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656443616e6e6f7420776974686472617720746865207374616b696e6720746f6b656ea265627a7a723158202eb365ebf546576b24ad7d50e8e202c58cf53c658ea8db367bced21890c9efd964736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f000000000000000000000000d6014ea05bde904448b743833ddf07c3c7837481","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_rewardsDistribution","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Recovered","type":"event","signature":"0x8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Recovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event","signature":"0xde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event","signature":"0xe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"RewardsDurationUpdated","type":"event","signature":"0xfb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"RewardsDurationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event","signature":"0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x008cc262"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe9fad8ee"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3d18b912"},{"constant":true,"inputs":[],"name":"getRewardForDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x1c1f78eb"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x80faa57d"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc8f33c91"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3c6b16ab"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xebe2b12b"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8980f11f"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcd3daf9d"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdf136d65"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7b0a47ee"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0700037d"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3fc6df6e"},{"constant":true,"inputs":[],"name":"rewardsDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x386a9525"},{"constant":true,"inputs":[],"name":"rewardsDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd1af0c7d"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x19762143"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rewardsDuration","type":"uint256"}],"name":"setRewardsDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xcc1a378f"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rewardsDuration","type":"uint256"}],"name":"setRewardsDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa694fc3a"},{"constant":true,"inputs":[],"name":"stakingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x72f702f3"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18160ddd"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8b876347"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x2e1a7d4d"}]},"StakingRewardssBTCCurve":{"bytecode":"60806040526000600855600060095534801561001a57600080fd5b5060405161163b38038061163b8339818101604052608081101561003d57600080fd5b508051602082015160408301516060909301516001600081905580546001600160a01b0319166001600160a01b038084169190911790915592939192849081166100ce576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050600780546001600160a01b039283166001600160a01b03199182161790915560068054939092169216919091179055506114d2806101696000396000f3fe608060405234801561001057600080fd5b50600436106101a85760003560e01c806372f702f3116100f9578063a694fc3a11610097578063d1af0c7d11610071578063d1af0c7d146103ac578063df136d65146103b4578063e9fad8ee146103bc578063ebe2b12b146103c4576101a8565b8063a694fc3a1461037f578063c8f33c911461039c578063cd3daf9d146103a4576101a8565b806380faa57d116100d357806380faa57d1461031d5780638980f11f146103255780638b876347146103515780638da5cb5b14610377576101a8565b806372f702f31461030557806379ba50971461030d5780637b0a47ee14610315576101a8565b80631c1f78eb116101665780633d18b912116101405780633d18b912146102ab5780633fc6df6e146102b357806353a47bb7146102d757806370a08231146102df576101a8565b80631c1f78eb146102695780632e1a7d4d146102715780633c6b16ab1461028e576101a8565b80628cc262146101ad5780630700037d146101e55780631627540c1461020b57806318160ddd14610233578063197621431461023b5780631be0528914610261575b600080fd5b6101d3600480360360208110156101c357600080fd5b50356001600160a01b03166103cc565b60408051918252519081900360200190f35b6101d3600480360360208110156101fb57600080fd5b50356001600160a01b0316610452565b6102316004803603602081101561022157600080fd5b50356001600160a01b0316610464565b005b6101d3610501565b6102316004803603602081101561025157600080fd5b50356001600160a01b0316610508565b6101d3610573565b6101d361057a565b6102316004803603602081101561028757600080fd5b5035610598565b610231600480360360208110156102a457600080fd5b503561067f565b6102316107e9565b6102bb6108bb565b604080516001600160a01b039092168252519081900360200190f35b6102bb6108ca565b6101d3600480360360208110156102f557600080fd5b50356001600160a01b03166108d9565b6102bb6108f4565b610231610903565b6101d36109bf565b6101d36109c5565b6102316004803603604081101561033b57600080fd5b506001600160a01b0381351690602001356109d3565b6101d36004803603602081101561036757600080fd5b50356001600160a01b0316610cc5565b6102bb610cd7565b6102316004803603602081101561039557600080fd5b5035610ce6565b6101d3610dca565b6101d3610dd0565b6102bb610e24565b6101d3610e33565b610231610e39565b6101d3610e54565b6001600160a01b0381166000908152600d6020908152604080832054600c90925282205461044c919061044090670de0b6b3a7640000906104349061041f90610413610dd0565b9063ffffffff610e5a16565b610428886108d9565b9063ffffffff610eb716565b9063ffffffff610f1716565b9063ffffffff610f8116565b92915050565b600d6020526000908152604090205481565b6004546001600160a01b031633146104ad5760405162461bcd60e51b815260040180806020018281038252602f8152602001806113cd602f913960400191505060405180910390fd5b600580546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002545b90565b6004546001600160a01b031633146105515760405162461bcd60e51b815260040180806020018281038252602f8152602001806113cd602f913960400191505060405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b62093a8081565b6009546000906105939062093a8063ffffffff610eb716565b905090565b336105a1610dd0565b600b556105ac6109c5565b600a556001600160a01b038116156105f3576105c7816103cc565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b6000821161063c576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b61064582610fdb565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6006546001600160a01b031633146106c85760405162461bcd60e51b815260040180806020018281038252602a81526020018061144a602a913960400191505060405180910390fd5b60006106d2610dd0565b600b556106dd6109c5565b600a556001600160a01b03811615610724576106f8816103cc565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b6008544210610748576107408262093a8063ffffffff610f1716565b600955610796565b60085460009061075e904263ffffffff610e5a16565b9050600061077760095483610eb790919063ffffffff16565b905061079062093a80610434868463ffffffff610f8116565b60095550505b42600a8190556107af9062093a8063ffffffff610f8116565b6008556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b336107f2610dd0565b600b556107fd6109c5565b600a556001600160a01b0381161561084457610818816103cc565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b600061084f336103cc565b905080156108b757336000818152600d6020526040812055600754610880916001600160a01b03909116908361109e565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6001546001600160a01b031681565b6005546001600160a01b0316331461094c5760405162461bcd60e51b81526004018080602001828103825260358152602001806113986035913960400191505060405180910390fd5b600454600554604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160058054600480546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b6000610593426008546110f5565b6004546001600160a01b03163314610a1c5760405162461bcd60e51b815260040180806020018281038252602f8152602001806113cd602f913960400191505060405180910390fd5b6000826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610a5757600080fd5b505afa158015610a6b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610a9457600080fd5b8101908080516040519392919084640100000000821115610ab457600080fd5b908301906020820185811115610ac957600080fd5b8251640100000000811182820188101715610ae357600080fd5b82525081516020918201929091019080838360005b83811015610b10578181015183820152602001610af8565b50505050905090810190601f168015610b3d5780820380516001836020036101000a031916815260200191505b506040818152855160209687012082820190915260038252620a69cb60eb1b959091019490945250506001547fc33e514e79311fe606801af4b4f343c83a3b72dca711239a516f2103673922d19092149250506001600160a01b03848116911614801590610bb957506007546001600160a01b03848116911614155b8015610bc3575080155b610bfe5760405162461bcd60e51b815260040180806020018281038252602d81526020018061141d602d913960400191505060405180910390fd5b600480546040805163a9059cbb60e01b81526001600160a01b039283169381019390935260248301859052519085169163a9059cbb9160448083019260209291908290030181600087803b158015610c5557600080fd5b505af1158015610c69573d6000803e3d6000fd5b505050506040513d6020811015610c7f57600080fd5b50506040805183815290516001600160a01b038516917f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28919081900360200190a2505050565b600c6020526000908152604090205481565b6004546001600160a01b031681565b33610cef610dd0565b600b55610cfa6109c5565b600a556001600160a01b03811615610d4157610d15816103cc565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008211610d87576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b610d908261110b565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b600a5481565b6000610dda610501565b610de75750600b54610505565b610593610e15610df5610501565b610434670de0b6b3a7640000610428600954610428600a546104136109c5565b600b549063ffffffff610f8116565b6007546001600160a01b031681565b600b5481565b610e4a610e45336108d9565b610598565b610e526107e9565b565b60085481565b600082821115610eb1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610ec65750600061044c565b82820282848281610ed357fe5b0414610f105760405162461bcd60e51b81526004018080602001828103825260218152602001806113fc6021913960400191505060405180910390fd5b9392505050565b6000808211610f6d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610f7857fe5b04949350505050565b600082820183811015610f10576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000805460010190819055600254610ff9908363ffffffff610e5a16565b6002553360009081526003602052604090205461101c908363ffffffff610e5a16565b33600081815260036020526040902091909155600154611048916001600160a01b03909116908461109e565b60005481146108b7576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526110f0908490611179565b505050565b60008183106111045781610f10565b5090919050565b6000805460010190819055600254611129908363ffffffff610f8116565b6002553360009081526003602052604090205461114c908363ffffffff610f8116565b33600081815260036020526040902091909155600154611048916001600160a01b03909116903085611337565b61118b826001600160a01b0316611391565b6111dc576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061121a5780518252601f1990920191602091820191016111fb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461127c576040519150601f19603f3d011682016040523d82523d6000602084013e611281565b606091505b5091509150816112d8576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611331578080602001905160208110156112f457600080fd5b50516113315760405162461bcd60e51b815260040180806020018281038252602a815260200180611474602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611331908590611179565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616e6e6f7420776974686472617720746865207374616b696e67206f72207265776172647320746f6b656e7343616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820aada1cb1c0c82d81c5b3d0f4ff242051160255853be3a8f32dfb40eb5ca7e3ea64736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000330416c863f2acce7af9c9314b422d24c672534a000000000000000000000000075b1bb99792c9e1041ba13afef80c91a1e70fb3","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_rewardsDistribution","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Recovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":true,"inputs":[],"name":"DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getRewardForDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"StakingRewardssUSDCurve":{"bytecode":"6080604052600080546001600160a01b031990811673c25a3a3b969415c80451098fa907ec722572917f1782556005805490911673c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f17905560068190556007556100646001600160e01b036100b516565b600380546001600160a01b0319166001600160a01b0392831617908190556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36100b9565b3390565b6111d7806100c86000396000f3fe608060405234801561001057600080fd5b50600436106101575760003560e01c80638b876347116100c3578063df136d651161007c578063df136d6514610305578063e7d279981461030d578063e9fad8ee14610315578063ebe2b12b1461031d578063edc9af9514610325578063f2fde38b1461032d57610157565b80638b876347146102725780638da5cb5b146102985780638f32d59b146102bc578063a694fc3a146102d8578063c8f33c91146102f5578063cd3daf9d146102fd57610157565b80633c6b16ab116101155780633c6b16ab1461020f5780633d18b9121461022c57806370a0823114610234578063715018a61461025a5780637b0a47ee1461026257806380faa57d1461026a57610157565b80628cc2621461015c5780630700037d146101945780630d68b761146101ba57806318160ddd146101e25780631be05289146101ea5780632e1a7d4d146101f2575b600080fd5b6101826004803603602081101561017257600080fd5b50356001600160a01b0316610353565b60408051918252519081900360200190f35b610182600480360360208110156101aa57600080fd5b50356001600160a01b03166103d9565b6101e0600480360360208110156101d057600080fd5b50356001600160a01b03166103eb565b005b610182610466565b61018261046d565b6101e06004803603602081101561020857600080fd5b5035610474565b6101e06004803603602081101561022557600080fd5b503561055b565b6101e06106d5565b6101826004803603602081101561024a57600080fd5b50356001600160a01b03166107a7565b6101e06107c2565b610182610865565b61018261086b565b6101826004803603602081101561028857600080fd5b50356001600160a01b031661087e565b6102a0610890565b604080516001600160a01b039092168252519081900360200190f35b6102c461089f565b604080519115158252519081900360200190f35b6101e0600480360360208110156102ee57600080fd5b50356108c5565b6101826109a9565b6101826109af565b610182610a03565b6102a0610a09565b6101e0610a18565b610182610a33565b6102a0610a39565b6101e06004803603602081101561034357600080fd5b50356001600160a01b0316610a48565b6001600160a01b0381166000908152600b6020908152604080832054600a9092528220546103d391906103c790670de0b6b3a7640000906103bb906103a69061039a6109af565b9063ffffffff610aad16565b6103af886107a7565b9063ffffffff610af616565b9063ffffffff610b4f16565b9063ffffffff610b9116565b92915050565b600b6020526000908152604090205481565b6103f361089f565b610444576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6001545b90565b62093a8081565b3361047d6109af565b60095561048861086b565b6008556001600160a01b038116156104cf576104a381610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b60008211610518576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b61052182610beb565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6004546001600160a01b031661056f610c4c565b6001600160a01b0316146105b45760405162461bcd60e51b81526004018080602001828103825260218152602001806111586021913960400191505060405180910390fd5b60006105be6109af565b6009556105c961086b565b6008556001600160a01b03811615610610576105e481610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b60065442106106345761062c8262093a8063ffffffff610b4f16565b600755610682565b60065460009061064a904263ffffffff610aad16565b9050600061066360075483610af690919063ffffffff16565b905061067c62093a806103bb868463ffffffff610b9116565b60075550505b42600881905561069b9062093a8063ffffffff610b9116565b6006556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b336106de6109af565b6009556106e961086b565b6008556001600160a01b038116156107305761070481610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b600061073b33610353565b905080156107a357336000818152600b602052604081205560055461076c916001600160a01b039091169083610c50565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6001600160a01b031660009081526002602052604090205490565b6107ca61089f565b61081b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60075481565b600061087942600654610ca7565b905090565b600a6020526000908152604090205481565b6003546001600160a01b031690565b6003546000906001600160a01b03166108b6610c4c565b6001600160a01b031614905090565b336108ce6109af565b6009556108d961086b565b6008556001600160a01b03811615610920576108f481610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b60008211610966576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b61096f82610cbd565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b60085481565b60006109b9610466565b6109c6575060095461046a565b6108796109f46109d4610466565b6103bb670de0b6b3a76400006103af6007546103af60085461039a61086b565b6009549063ffffffff610b9116565b60095481565b6005546001600160a01b031681565b610a29610a24336107a7565b610474565b610a316106d5565b565b60065481565b6000546001600160a01b031681565b610a5061089f565b610aa1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610aaa81610d1f565b50565b6000610aef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dc0565b9392505050565b600082610b05575060006103d3565b82820282848281610b1257fe5b0414610aef5760405162461bcd60e51b81526004018080602001828103825260218152602001806111376021913960400191505060405180910390fd5b6000610aef83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610e57565b600082820183811015610aef576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600154610bfe908263ffffffff610aad16565b60015533600090815260026020526040902054610c21908263ffffffff610aad16565b336000818152600260205260408120929092559054610aaa916001600160a01b039091169083610c50565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ca2908490610ebc565b505050565b6000818310610cb65781610aef565b5090919050565b600154610cd0908263ffffffff610b9116565b60015533600090815260026020526040902054610cf3908263ffffffff610b9116565b336000818152600260205260408120929092559054610aaa916001600160a01b0390911690308461107a565b6001600160a01b038116610d645760405162461bcd60e51b81526004018080602001828103825260268152602001806111116026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b60008184841115610e4f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e14578181015183820152602001610dfc565b50505050905090810190601f168015610e415780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610ea65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e14578181015183820152602001610dfc565b506000838581610eb257fe5b0495945050505050565b610ece826001600160a01b03166110d4565b610f1f576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610f5d5780518252601f199092019160209182019101610f3e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610fbf576040519150601f19603f3d011682016040523d82523d6000602084013e610fc4565b606091505b50915091508161101b576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156110745780806020019051602081101561103757600080fd5b50516110745760405162461bcd60e51b815260040180806020018281038252602a815260200180611179602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611074908590610ebc565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906111085750808214155b94935050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616c6c6572206973206e6f742072657761726420646973747269627574696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820ac3d908b8371db272b8a856f99dd80208a2c371be945ec2abe26af8cb455e71064736f6c63430005100032","abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":true,"inputs":[],"name":"DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardDistribution","type":"address"}],"name":"setRewardDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"snx","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"uni","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"StakingRewardssXAUUniswapV2":{"bytecode":"60806040526000600855600060095534801561001a57600080fd5b506040516112843803806112848339818101604052606081101561003d57600080fd5b50805160208201516040909201516001600081905580546001600160a01b0319166001600160a01b0380841691909117909155919291839081166100c8576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050600780546001600160a01b0319166001600160a01b039290921691909117905550611130806101546000396000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c806372f702f3116100de578063a694fc3a11610097578063d1af0c7d11610071578063d1af0c7d14610342578063df136d651461034a578063e9fad8ee14610352578063ebe2b12b1461035a57610172565b8063a694fc3a14610315578063c8f33c9114610332578063cd3daf9d1461033a57610172565b806372f702f3146102c757806379ba5097146102cf5780637b0a47ee146102d757806380faa57d146102df5780638b876347146102e75780638da5cb5b1461030d57610172565b80632e1a7d4d116101305780632e1a7d4d146102335780633c6b16ab146102505780633d18b9121461026d5780633fc6df6e1461027557806353a47bb71461029957806370a08231146102a157610172565b80628cc262146101775780630700037d146101af5780631627540c146101d557806318160ddd146101fd57806319762143146102055780631be052891461022b575b600080fd5b61019d6004803603602081101561018d57600080fd5b50356001600160a01b0316610362565b60408051918252519081900360200190f35b61019d600480360360208110156101c557600080fd5b50356001600160a01b03166103e8565b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166103fa565b005b61019d610497565b6101fb6004803603602081101561021b57600080fd5b50356001600160a01b031661049e565b61019d610509565b6101fb6004803603602081101561024957600080fd5b5035610510565b6101fb6004803603602081101561026657600080fd5b50356105f7565b6101fb610761565b61027d610833565b604080516001600160a01b039092168252519081900360200190f35b61027d610842565b61019d600480360360208110156102b757600080fd5b50356001600160a01b0316610851565b61027d61086c565b6101fb61087b565b61019d610937565b61019d61093d565b61019d600480360360208110156102fd57600080fd5b50356001600160a01b0316610950565b61027d610962565b6101fb6004803603602081101561032b57600080fd5b5035610971565b61019d610a55565b61019d610a5b565b61027d610aaf565b61019d610abe565b6101fb610ac4565b61019d610adf565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546103e291906103d690670de0b6b3a7640000906103ca906103b5906103a9610a5b565b9063ffffffff610ae516565b6103be88610851565b9063ffffffff610b4216565b9063ffffffff610ba216565b9063ffffffff610c0c16565b92915050565b600d6020526000908152604090205481565b6004546001600160a01b031633146104435760405162461bcd60e51b815260040180806020018281038252602f815260200180611058602f913960400191505060405180910390fd5b600580546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002545b90565b6004546001600160a01b031633146104e75760405162461bcd60e51b815260040180806020018281038252602f815260200180611058602f913960400191505060405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b62093a8081565b33610519610a5b565b600b5561052461093d565b600a556001600160a01b0381161561056b5761053f81610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b600082116105b4576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b6105bd82610c66565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6006546001600160a01b031633146106405760405162461bcd60e51b815260040180806020018281038252602a8152602001806110a8602a913960400191505060405180910390fd5b600061064a610a5b565b600b5561065561093d565b600a556001600160a01b0381161561069c5761067081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60085442106106c0576106b88262093a8063ffffffff610ba216565b60095561070e565b6008546000906106d6904263ffffffff610ae516565b905060006106ef60095483610b4290919063ffffffff16565b905061070862093a806103ca868463ffffffff610c0c16565b60095550505b42600a8190556107279062093a8063ffffffff610c0c16565b6008556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b3361076a610a5b565b600b5561077561093d565b600a556001600160a01b038116156107bc5761079081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60006107c733610362565b9050801561082f57336000818152600d60205260408120556007546107f8916001600160a01b039091169083610d29565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6001546001600160a01b031681565b6005546001600160a01b031633146108c45760405162461bcd60e51b81526004018080602001828103825260358152602001806110236035913960400191505060405180910390fd5b600454600554604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160058054600480546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b600061094b42600854610d80565b905090565b600c6020526000908152604090205481565b6004546001600160a01b031681565b3361097a610a5b565b600b5561098561093d565b600a556001600160a01b038116156109cc576109a081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008211610a12576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b610a1b82610d96565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b600a5481565b6000610a65610497565b610a725750600b5461049b565b61094b610aa0610a80610497565b6103ca670de0b6b3a76400006103be6009546103be600a546103a961093d565b600b549063ffffffff610c0c16565b6007546001600160a01b031681565b600b5481565b610ad5610ad033610851565b610510565b610add610761565b565b60085481565b600082821115610b3c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610b51575060006103e2565b82820282848281610b5e57fe5b0414610b9b5760405162461bcd60e51b81526004018080602001828103825260218152602001806110876021913960400191505060405180910390fd5b9392505050565b6000808211610bf8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610c0357fe5b04949350505050565b600082820183811015610b9b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000805460010190819055600254610c84908363ffffffff610ae516565b60025533600090815260036020526040902054610ca7908363ffffffff610ae516565b33600081815260036020526040902091909155600154610cd3916001600160a01b039091169084610d29565b600054811461082f576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d7b908490610e04565b505050565b6000818310610d8f5781610b9b565b5090919050565b6000805460010190819055600254610db4908363ffffffff610c0c16565b60025533600090815260036020526040902054610dd7908363ffffffff610c0c16565b33600081815260036020526040902091909155600154610cd3916001600160a01b03909116903085610fc2565b610e16826001600160a01b031661101c565b610e67576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610ea55780518252601f199092019160209182019101610e86565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610f07576040519150601f19603f3d011682016040523d82523d6000602084013e610f0c565b606091505b509150915081610f63576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610fbc57808060200190516020811015610f7f57600080fd5b5051610fbc5760405162461bcd60e51b815260040180806020018281038252602a8152602001806110d2602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610fbc908590610e04565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a7231582087be768b68397d569f14b37b446f70ed273134df91e3555eecbbba3ae1d8423164736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f00000000000000000000000034a0216c5057bc18e5d34d4405284564efd759b2","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":true,"inputs":[],"name":"DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"StakingRewardssETHUniswapV1":{"bytecode":"6080604052600080546001600160a01b031990811673e9cf7887b93150d4f2da7dfc6d502b216438f2441782556005805490911673c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f17905560068190556007556100626100b3602090811b901c565b600380546001600160a01b0319166001600160a01b0392831617908190556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36100b7565b3390565b611230806100c66000396000f3fe608060405234801561001057600080fd5b50600436106101575760003560e01c80638b876347116100c3578063df136d651161007c578063df136d6514610305578063e7d279981461030d578063e9fad8ee14610315578063ebe2b12b1461031d578063edc9af9514610325578063f2fde38b1461032d57610157565b80638b876347146102725780638da5cb5b146102985780638f32d59b146102bc578063a694fc3a146102d8578063c8f33c91146102f5578063cd3daf9d146102fd57610157565b80633c6b16ab116101155780633c6b16ab1461020f5780633d18b9121461022c57806370a0823114610234578063715018a61461025a5780637b0a47ee1461026257806380faa57d1461026a57610157565b80628cc2621461015c5780630700037d146101945780630d68b761146101ba57806318160ddd146101e25780631be05289146101ea5780632e1a7d4d146101f2575b600080fd5b6101826004803603602081101561017257600080fd5b50356001600160a01b0316610353565b60408051918252519081900360200190f35b610182600480360360208110156101aa57600080fd5b50356001600160a01b03166103d9565b6101e0600480360360208110156101d057600080fd5b50356001600160a01b03166103eb565b005b61018261046b565b610182610472565b6101e06004803603602081101561020857600080fd5b5035610479565b6101e06004803603602081101561022557600080fd5b503561056e565b6101e06106eb565b6101826004803603602081101561024a57600080fd5b50356001600160a01b03166107bd565b6101e06107d8565b610182610880565b610182610886565b6101826004803603602081101561028857600080fd5b50356001600160a01b0316610899565b6102a06108ab565b604080516001600160a01b039092168252519081900360200190f35b6102c46108ba565b604080519115158252519081900360200190f35b6101e0600480360360208110156102ee57600080fd5b50356108e0565b6101826109d5565b6101826109db565b610182610a31565b6102a0610a37565b6101e0610a46565b610182610a61565b6102a0610a67565b6101e06004803603602081101561034357600080fd5b50356001600160a01b0316610a76565b6001600160a01b0381166000908152600b6020908152604080832054600a9092528220546103d391906103c790670de0b6b3a7640000906103bb906103a69061039a6109db565b9063ffffffff610ae016565b6103af886107bd565b9063ffffffff610b2916565b9063ffffffff610b8916565b9063ffffffff610bcb16565b92915050565b600b6020526000908152604090205481565b6103f36108ba565b15156104495760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6001545b90565b62093a8081565b336104826109db565b60095561048d610886565b6008556001600160a01b038116156104d4576104a881610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b81151561052b5760408051600160e51b62461bcd02815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b61053482610c28565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6004546001600160a01b0316610582610c89565b6001600160a01b0316146105ca57604051600160e51b62461bcd0281526004018080602001828103825260218152602001806111ba6021913960400191505060405180910390fd5b60006105d46109db565b6009556105df610886565b6008556001600160a01b03811615610626576105fa81610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b600654421061064a576106428262093a8063ffffffff610b8916565b600755610698565b600654600090610660904263ffffffff610ae016565b9050600061067960075483610b2990919063ffffffff16565b905061069262093a806103bb868463ffffffff610bcb16565b60075550505b4260088190556106b19062093a8063ffffffff610bcb16565b6006556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b336106f46109db565b6009556106ff610886565b6008556001600160a01b038116156107465761071a81610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b600061075133610353565b905080156107b957336000818152600b6020526040812055600554610782916001600160a01b039091169083610c8d565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6001600160a01b031660009081526002602052604090205490565b6107e06108ba565b15156108365760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60075481565b600061089442600654610ce7565b905090565b600a6020526000908152604090205481565b6003546001600160a01b031690565b6003546000906001600160a01b03166108d1610c89565b6001600160a01b031614905090565b336108e96109db565b6009556108f4610886565b6008556001600160a01b0381161561093b5761090f81610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b8115156109925760408051600160e51b62461bcd02815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b61099b82610cfd565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b60085481565b60006109e561046b565b15156109f4575060095461046f565b610894610a22610a0261046b565b6103bb670de0b6b3a76400006103af6007546103af60085461039a610886565b6009549063ffffffff610bcb16565b60095481565b6005546001600160a01b031681565b610a57610a52336107bd565b610479565b610a5f6106eb565b565b60065481565b6000546001600160a01b031681565b610a7e6108ba565b1515610ad45760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610add81610d5f565b50565b6000610b2283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e05565b9392505050565b6000821515610b3a575060006103d3565b828202828482811515610b4957fe5b0414610b2257604051600160e51b62461bcd0281526004018080602001828103825260218152602001806111996021913960400191505060405180910390fd5b6000610b2283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610e9f565b600082820183811015610b225760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600154610c3b908263ffffffff610ae016565b60015533600090815260026020526040902054610c5e908263ffffffff610ae016565b336000818152600260205260408120929092559054610add916001600160a01b039091169083610c8d565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0316600160e01b63a9059cbb02179052610ce2908490610f0c565b505050565b6000818310610cf65781610b22565b5090919050565b600154610d10908263ffffffff610bcb16565b60015533600090815260026020526040902054610d33908263ffffffff610bcb16565b336000818152600260205260408120929092559054610add916001600160a01b039091169030846110d9565b6001600160a01b0381161515610da957604051600160e51b62461bcd0281526004018080602001828103825260268152602001806111736026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b60008184841115610e9757604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e5c578181015183820152602001610e44565b50505050905090810190601f168015610e895780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081831515610ef457604051600160e51b62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610e5c578181015183820152602001610e44565b5060008385811515610f0257fe5b0495945050505050565b610f1e826001600160a01b0316611136565b1515610f745760408051600160e51b62461bcd02815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610fb25780518252601f199092019160209182019101610f93565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611014576040519150601f19603f3d011682016040523d82523d6000602084013e611019565b606091505b50915091508115156110755760408051600160e51b62461bcd02815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156110d35780806020019051602081101561109157600080fd5b505115156110d357604051600160e51b62461bcd02815260040180806020018281038252602a8152602001806111db602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b0316600160e01b6323b872dd021790526110d3908590610f0c565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470811580159061116a5750808214155b94935050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616c6c6572206973206e6f742072657761726420646973747269627574696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a72305820a31ce0ab98673203ad395f924478fa9cad0f69135c2d8ce70f4c060a6fc9fbf40029","abi":[{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"earned","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"rewards","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_rewardDistribution","type":"address"}],"name":"setRewardDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DURATION","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"snx","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"uni","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]},"SafeDecimalMath":{"bytecode":"610159610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f300730000000000000000000000000000000000000000301460806040526004361061008e5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663313ce5678114610093578063864029e7146100b1578063907af6c0146100cb5780639d8e2177146100d3578063d5e5e6e6146100db578063def4419d146100e3575b600080fd5b61009b6100eb565b6040805160ff9092168252519081900360200190f35b6100b96100f0565b60408051918252519081900360200190f35b6100b9610100565b6100b961010c565b6100b9610118565b61009b610128565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b815600a165627a7a72305820023667048c98fe84ef9364636c69b3c394dbd0f47bddf5fb1ecd6c0a341f9b840029","abi":[{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x313ce567"},{"constant":true,"inputs":[],"name":"PRECISE_UNIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x864029e7"},{"constant":true,"inputs":[],"name":"unit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function","signature":"0x907af6c0"},{"constant":true,"inputs":[],"name":"UNIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9d8e2177"},{"constant":true,"inputs":[],"name":"preciseUnit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function","signature":"0xd5e5e6e6"},{"constant":true,"inputs":[],"name":"highPrecisionDecimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdef4419d"}]},"ExchangeRates":{"bytecode":"60806040523480156200001157600080fd5b5060405162004ffd38038062004ffd833981810160405260a08110156200003757600080fd5b8151602083015160408085015160608601805192519496939591949391820192846401000000008211156200006b57600080fd5b9083019060208201858111156200008157600080fd5b82518660208202830111640100000000821117156200009f57600080fd5b82525081516020918201928201910280838360005b83811015620000ce578181015183820152602001620000b4565b5050505090500160405260200180516040519392919084640100000000821115620000f857600080fd5b9083019060208201858111156200010e57600080fd5b82518660208202830111640100000000821117156200012c57600080fd5b82525081516020918201928201910280838360005b838110156200015b57818101518382015260200162000141565b5050505090500160405250505082808660006001600160a01b0316816001600160a01b03161415620001d4576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055508051825114620002905760405162461bcd60e51b815260040180806020018281038252602f81526020018062004f0b602f913960400191505060405180910390fd5b83600560006101000a8154816001600160a01b0302191690836001600160a01b0316021790555062000346631cd554d160e21b73__$81fd87b331096e90074cc3e2c16d5bc3ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030857600080fd5b505af41580156200031d573d6000803e3d6000fd5b505050506040513d60208110156200033457600080fd5b5051426001600160e01b036200036816565b6200035c8282426001600160e01b03620003e116565b50505050505062000c13565b6000838152600b60209081526040808320805460010190819055815180830183526001600160d81b03968716815264ffffffffff958616818501908152978552600484528285209185529252909120905181549451909216600160d81b029183166001600160d81b031990941693909317909116179055565b60008251845114620004255760405162461bcd60e51b815260040180806020018281038252603881526020018062004f8c6038913960400191505060405180910390fd5b610258420182106200047e576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015620005975760008582815181106200049a57fe5b60200260200101519050848281518110620004b157fe5b602002602001015160001415620004fa5760405162461bcd60e51b815260040180806020018281038252603981526020018062004fc46039913960400191505060405180910390fd5b80631cd554d160e21b1415620005425760405162461bcd60e51b815260040180806020018281038252603181526020018062004f3a6031913960400191505060405180910390fd5b62000556816001600160e01b036200066216565b8410156200056557506200058e565b6200058c818684815181106200057757fe5b6020026020010151866200036860201b60201c565b505b60010162000481565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101562000601578181015183820152602001620005e7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156200064257818101518382015260200162000628565b5050505090500194505050505060405180910390a15060015b9392505050565b600062000678826001600160e01b036200068b16565b6020015164ffffffffff1690505b919050565b6200069562000bc9565b6000828152600660205260409020546001600160a01b03168015620008315760408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b1781529151815191926000926060926001600160a01b0387169286928291908083835b602083106200071d5780518252601f199092019160209182019101620006fc565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d80600081146200077f576040519150601f19603f3d011682016040523d82523d6000602084013e62000784565b606091505b50915091508115620008285760008060008380602001905160a0811015620007ab57600080fd5b50805160208201516060909201516040805180820190915291955091935090915080620008008b620007e781876001600160e01b03620008dd16565b6001600160501b0388166001600160e01b03620009aa16565b6001600160d81b031681526020018264ffffffffff1681525097505050505050505062000686565b505050620008d7565b6000838152600b60205260409020546200084a62000bc9565b5060008481526004602090815260408083208484528252918290208251808401845290546001600160d81b038082168352600160d81b90910464ffffffffff1692820192909252825180840190935280519092918291620008af9189911686620009aa565b6001600160d81b03168152602001826020015164ffffffffff16815250935050505062000686565b50919050565b60008082121562000935576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526007602052604090205460ff1615620009a1576000838152600760209081526040822054620009799160129160ff169062003f6962000b0d821b17901c565b600a0a905062000998818462000b6b60201b620037e31790919060201c565b915050620009a4565b50805b92915050565b6000620009b662000be0565b50600084815260096020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff808216151560608501526101009091041615156080830152158062000a17575083155b1562000a2757839150506200065b565b6000858152600c602052604090205484925080841080159062000a4b575081606001515b1562000a5e578160200151925062000b04565b80841015801562000a70575081608001515b1562000a83578160400151925062000b04565b600062000aa46002846000015162000b6b60201b620037e31790919060201c565b905085811162000ab8576000935062000ad5565b62000ad2868262000b0d60201b62003f691790919060201c565b93505b8260200151841062000aee578260200151935062000b02565b8260400151841162000b0257826040015193505b505b50509392505050565b60008282111562000b65576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008262000b7c57506000620009a4565b8282028284828162000b8a57fe5b04146200065b5760405162461bcd60e51b815260040180806020018281038252602181526020018062004f6b6021913960400191505060405180910390fd5b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b6142e88062000c236000396000f3fe608060405234801561001057600080fd5b50600436106103145760003560e01c8063654a60ac116101a7578063935f4abd116100ee578063c2c8a67611610097578063ce8480ea11610071578063ce8480ea14610c2a578063de02795e14610c47578063fdadbc7e14610c6457610314565b8063c2c8a67614610ace578063c8e5bbd514610b3e578063c8e6f39514610c0d57610314565b8063b199c764116100c8578063b199c7641461099a578063b295ad34146109d9578063bfa005ce14610a0c57610314565b8063935f4abd14610943578063ac82f60814610960578063af3aea861461097d57610314565b80637adbf973116101505780638295016a1161012a5780638295016a146108ec578063899ffef4146109335780638da5cb5b1461093b57610314565b80637adbf973146108945780637dc0d1d0146108c75780637f6e9d15146108cf57610314565b80637418536011610181578063741853601461086757806379ba50971461086f5780637a018a1e1461087757610314565b8063654a60ac146107d55780637103353e146107fe578063728dec291461081b57610314565b80632af64bd31161026b5780633f0e084f116102145780634c36b837116101ee5780634c36b837146107a85780634f72def6146107b057806353a47bb7146107cd57610314565b80633f0e084f1461071c5780634308a94f14610755578063459388491461078b57610314565b80632ea913d4116102455780632ea913d4146106c55780633375fcd1146106e257806338aa1b99146106ff57610314565b80632af64bd3146105e45780632bed9e0c146105ec5780632d7371e11461060957610314565b80630ee4951b116102cd5780632528f0fe116102a75780632528f0fe1461055f578063266da16b1461057c5780632678df96146105b157610314565b80630ee4951b146104e1578063109e46a2146104fb5780631627540c1461052a57610314565b806305a046e5116102fe57806305a046e51461037b5780630a7d36d11461043b5780630c71cd23146104ab57610314565b80629919c01461031957806304f3bcec1461034a575b600080fd5b6103366004803603602081101561032f57600080fd5b5035610c87565b604080519115158252519081900360200190f35b610352610ca2565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6103eb6004803603602081101561039157600080fd5b8101906020810181356401000000008111156103ac57600080fd5b8201836020820111156103be57600080fd5b803590602001918460208302840111640100000000831117156103e057600080fd5b509092509050610cbe565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561042757818101518382015260200161040f565b505050509050019250505060405180910390f35b6103366004803603602081101561045157600080fd5b81019060208101813564010000000081111561046c57600080fd5b82018360208201111561047e57600080fd5b803590602001918460208302840111640100000000831117156104a057600080fd5b509092509050610d40565b6104c8600480360360208110156104c157600080fd5b5035610df3565b6040805192835290151560208301528051918290030190f35b6104e9610eb9565b60408051918252519081900360200190f35b6104e96004803603608081101561051157600080fd5b5080359060208101359060408101359060600135610ec9565b61055d6004803603602081101561054057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f0c565b005b6103366004803603602081101561057557600080fd5b5035610f8d565b6104e9600480360360a081101561059257600080fd5b5080359060208101359060408101359060608101359060800135610fad565b6103eb600480360360208110156105c757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661101a565b6103366110db565b61055d6004803603602081101561060257600080fd5b5035611225565b61062c6004803603604081101561061f57600080fd5b5080359060200135611371565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610670578181015183820152602001610658565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156106af578181015183820152602001610697565b5050505090500194505050505060405180910390f35b6104e9600480360360208110156106db57600080fd5b5035611462565b610336600480360360208110156106f857600080fd5b5035611480565b6103366004803603602081101561071557600080fd5b5035611546565b61055d6004803603604081101561073257600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16611554565b6107726004803603602081101561076b57600080fd5b5035611804565b6040805192835260208301919091528051918290030190f35b61055d600480360360208110156107a157600080fd5b5035611850565b61035261193d565b6104e9600480360360208110156107c657600080fd5b5035611947565b610352611954565b6104e9600480360360608110156107eb57600080fd5b5080359060208101359060400135611970565b6103526004803603602081101561081457600080fd5b5035611988565b6108386004803603602081101561083157600080fd5b50356119b0565b604080519586526020860194909452848401929092521515606084015215156080830152519081900360a00190f35b61055d6119e3565b61055d611bf6565b6104e96004803603602081101561088d57600080fd5b5035611cf1565b61055d600480360360208110156108aa57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611cfc565b610352611d83565b6104e9600480360360208110156108e557600080fd5b5035611d9f565b6109156004803603606081101561090257600080fd5b5080359060208101359060400135611db1565b60408051938452602084019290925282820152519081900360600190f35b6103eb611dd1565b610352611e4d565b6104e96004803603602081101561095957600080fd5b5035611e69565b6104e96004803603602081101561097657600080fd5b5035611e7b565b6103366004803603602081101561099357600080fd5b5035611eaa565b61055d600480360360c08110156109b057600080fd5b50803590602081013590604081013590606081013590608081013515159060a001351515611eb5565b6109f6600480360360208110156109ef57600080fd5b503561228a565b6040805160ff9092168252519081900360200190f35b61033660048036036060811015610a2257600080fd5b810190602081018135640100000000811115610a3d57600080fd5b820183602082011115610a4f57600080fd5b80359060200191846020830284011164010000000083111715610a7157600080fd5b919390929091602081019035640100000000811115610a8f57600080fd5b820183602082011115610aa157600080fd5b80359060200191846020830284011164010000000083111715610ac357600080fd5b91935091503561229f565b6103eb60048036036020811015610ae457600080fd5b810190602081018135640100000000811115610aff57600080fd5b820183602082011115610b1157600080fd5b80359060200191846020830284011164010000000083111715610b3357600080fd5b509092509050612322565b610bae60048036036020811015610b5457600080fd5b810190602081018135640100000000811115610b6f57600080fd5b820183602082011115610b8157600080fd5b80359060200191846020830284011164010000000083111715610ba357600080fd5b50909250905061239a565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015610bf8578181015183820152602001610be0565b50505050905001935050505060405180910390f35b61055d60048036036020811015610c2357600080fd5b503561250e565b6104e960048036036020811015610c4057600080fd5b503561261c565b61055d60048036036020811015610c5d57600080fd5b5035612627565b61077260048036036040811015610c7a57600080fd5b508035906020013561284f565b6000610c9a82610c95612867565b61293a565b90505b919050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60608083839050604051908082528060200260200182016040528015610cee578160200160208202803883390190505b50905060005b83811015610d3657610d17858583818110610d0b57fe5b90506020020135612985565b828281518110610d2357fe5b6020908102919091010152600101610cf4565b5090505b92915050565b600080610d4b612867565b90506060610d8b8585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506129a192505050565b905060005b84811015610de757818181518110610da457fe5b602002602001015180610dce5750610dce868683818110610dc157fe5b905060200201358461293a565b15610ddf5760019350505050610d3a565b600101610d90565b50600095945050505050565b600080610dfe614030565b610e0784612c4f565b9050837f73555344000000000000000000000000000000000000000000000000000000001415610e5a57517affffffffffffffffffffffffffffffffffffffffffffffffffffff16915060009050610eb4565b8051610e78610e67612867565b836020015164ffffffffff16612f32565b80610e8f5750610e8f85610e8a612f4d565b612fef565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff90911693509150505b915091565b6000610ec3612867565b90505b90565b600083815b610edb8783600101613127565b915050801580610eec575083850181115b15610ef957509050610f04565b600190910190610ece565b949350505050565b610f1461338f565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610f9b82610c95612867565b80610c9a5750610c9a82610e8a612f4d565b600083861415610fbe575083611011565b6000610fca8785613127565b5090506000610fd98685613127565b50905080610fec57600092505050611011565b61100c81611000898563ffffffff6133e716565b9063ffffffff6133fc16565b925050505b95945050505050565b60085460408051828152602080840282010190915260609160009190801561104c578160200160208202803883390190505b50915060005b6008548110156110d45760006008828154811061106b57fe5b6000918252602080832090910154808352600690915260409091205490915073ffffffffffffffffffffffffffffffffffffffff90811690861614156110cb57808484806001019550815181106110be57fe5b6020026020010181815250505b50600101611052565b5050919050565b600060606110e7611dd1565b905060005b815181101561121c57600082828151811061110357fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a72100000000000000000000000000000000000000000000000000000000815260048101859052925193955073ffffffffffffffffffffffffffffffffffffffff918216949116926321f8a721926024808201939291829003018186803b15801561119157600080fd5b505afa1580156111a5573d6000803e3d6000fd5b505050506040513d60208110156111bb57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff16141580611202575060008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff16155b156112135760009350505050610ec6565b506001016110ec565b50600191505090565b61122d61338f565b60008181526006602052604090205473ffffffffffffffffffffffffffffffffffffffff16806112a4576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b657900000000604482015290519081900360640190fd5b600082815260066020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556007909152812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055611313836008613411565b9050801561136c576040805184815273ffffffffffffffffffffffffffffffffffffffff8416602082015281517fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777929181900390910190a15b505050565b6060808260405190808252806020026020018201604052801561139e578160200160208202803883390190505b509150826040519080825280602002602001820160405280156113cb578160200160208202803883390190505b50905060006113d9856134f1565b905060005b84811015611458576113f08683613127565b8583815181106113fc57fe5b6020026020010185848151811061140f57fe5b6020908102919091010191909152528161142b575061145b9050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101906001016113de565b50505b9250929050565b600a818154811061146f57fe5b600091825260209091200154905081565b600061148a614047565b50600082815260096020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff80821615156060850152610100909104161515608083015215806114ed575080606001515b806114f9575080608001515b15611508576000915050610c9d565b600061151384611e7b565b90506000811180156115375750816020015181101580611537575081604001518111155b92505050610c9d565b50919050565b6000610c9a82610e8a612f4d565b61155c61338f565b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b1580156115a957600080fd5b505afa1580156115bd573d6000803e3d6000fd5b505050506040513d60208110156115d357600080fd5b50511015611628576040805162461bcd60e51b815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c69640000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561167057600080fd5b505afa158015611684573d6000803e3d6000fd5b505050506040513d602081101561169a57600080fd5b50519050601260ff821611156116e15760405162461bcd60e51b81526004018080602001828103825260328152602001806142226032913960400191505060405180910390fd5b60008481526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1661174057600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3018490555b600084815260066020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155600783529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff861617905580518781529182019290925281517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63929181900390910190a150505050565b60008061180f614030565b61181884612c4f565b80516020909101517affffffffffffffffffffffffffffffffffffffffffffffffffffff909116935064ffffffffff16915050915091565b6118586135ad565b600061186382611e7b565b116118b5576040805162461bcd60e51b815260206004820152600c60248201527f52617465206973207a65726f0000000000000000000000000000000000000000604482015290519081900360640190fd5b6000818152600460209081526040808320600b808452828520805486529184528285208590559385905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909255815183815291517fe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae19281900390910190a150565b6000610ec3612f4d565b6008818154811061146f57fe5b60015473ffffffffffffffffffffffffffffffffffffffff1681565b600061197d848484613603565b509095945050505050565b60066020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60096020526000908152604090208054600182015460028301546003909301549192909160ff8082169161010090041685565b60606119ed611dd1565b905060005b8151811015611bf2576000828281518110611a0957fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d840152815195975060009673ffffffffffffffffffffffffffffffffffffffff9095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611ae5578181015183820152602001611acd565b50505050905090810190601f168015611b125780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015611b3057600080fd5b505afa158015611b44573d6000803e3d6000fd5b505050506040513d6020811015611b5a57600080fd5b505160008381526003602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016119f2565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611c4c5760405162461bcd60e51b81526004018080602001828103825260358152602001806140b86035913960400191505060405180910390fd5b6000546001546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b6000610c9a826134f1565b611d0461338f565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179182905560408051929091168252517f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394916020908290030190a150565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020526000908152604090205481565b6000806000611dc1868686613603565b9250925092505b93509350939050565b606080611ddc613655565b60408051600180825281830190925291925060609190602080830190803883390190505090507f45786368616e676572000000000000000000000000000000000000000000000081600081518110611e3057fe5b602002602001018181525050611e4682826136b4565b9250505090565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020526000908152604090205481565b6000611e8682612c4f565b517affffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b6000610c9a82613770565b611ebd61338f565b60008311611f12576040805162461bcd60e51b815260206004820152601a60248201527f6c6f7765724c696d6974206d7573742062652061626f76652030000000000000604482015290519081900360640190fd5b848411611f505760405162461bcd60e51b815260040180806020018281038252602781526020018061428d6027913960400191505060405180910390fd5b611f6185600263ffffffff6137e316565b8410611f9e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806141f4602e913960400191505060405180910390fd5b848310611fdc5760405162461bcd60e51b81526004018080602001828103825260278152602001806141cd6027913960400191505060405180910390fd5b818015611fe65750805b15612038576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f7420667265657a6520617420626f7468206c696d69747300000000604482015290519081900360640190fd5b6000868152600960205260409020805461208257600a80546001810182556000919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8018790555b8581556001810185905560028101849055828061209c5750815b15612171576003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841515177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100841515021790556000612104886134f1565b6000898152600c6020526040902081905590507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df088856121445786612146565b875b604080519283526020830191909152818101849052336060830152519081900360800190a1506121ab565b6003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556000878152600c60205260408120555b60006121b688611e7b565b90508015612239576121c661383c565b73ffffffffffffffffffffffffffffffffffffffff1663ce09694089836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561222057600080fd5b505af1158015612234573d6000803e3d6000fd5b505050505b60408051898152602081018990528082018890526060810187905290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050505050505050565b60076020526000908152604090205460ff1681565b60006122a96135ad565b61231886868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808a02828101820190935289825290935089925088918291850190849080828437600092019190915250879250613867915050565b9695505050505050565b60608083839050604051908082528060200260200182016040528015612352578160200160208202803883390190505b50905060005b83811015610d365761237b85858381811061236f57fe5b90506020020135611e7b565b82828151811061238757fe5b6020908102919091010152600101612358565b60606000838390506040519080825280602002602001820160405280156123cb578160200160208202803883390190505b50915060006123d8612867565b905060606124188686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506129a192505050565b905060005b858110156125045761242d614030565b61244888888481811061243c57fe5b90506020020135612c4f565b905080600001517affffffffffffffffffffffffffffffffffffffffffffffffffffff1686838151811061247857fe5b602002602001018181525050841580156124c4575087878381811061249957fe5b905060200201357f735553440000000000000000000000000000000000000000000000000000000014155b156124fb578282815181106124d557fe5b6020026020010151806124f857506124f884826020015164ffffffffff16612f32565b94505b5060010161241d565b5050509250929050565b61251661338f565b600081815260096020526040902054612576576040805162461bcd60e51b815260206004820152601860248201527f4e6f20696e766572746564207072696365206578697374730000000000000000604482015290519081900360640190fd5b6000818152600960205260408120818155600181018290556002810182905560030180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556125c982600a613411565b90508015611bf25760408051838152600060208201819052818301819052606082015290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050565b6000610c9a82612985565b60008181526009602052604090208054612688576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420667265657a65206e6f6e2d696e766572736520726174650000604482015290519081900360640190fd5b600381015460ff161580156126a757506003810154610100900460ff16155b6126f8576040805162461bcd60e51b815260206004820152601a60248201527f546865207261746520697320616c72656164792066726f7a656e000000000000604482015290519081900360640190fd5b600061270383611e7b565b90506000811180156127275750816001015481101580612727575081600201548111155b1561280257600182015460038301805460028501548414610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909216938514939093171691909117905560006127a0846134f1565b6000858152600c6020908152604091829020839055815187815290810185905280820183905233606082015290519192507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0919081900360800190a15061136c565b6040805162461bcd60e51b815260206004820152601260248201527f526174652077697468696e20626f756e64730000000000000000000000000000604482015290519081900360640190fd5b60008061285c8484613127565b915091509250929050565b6000612871613adb565b73ffffffffffffffffffffffffffffffffffffffff166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f726174655374616c65506572696f6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290957600080fd5b505afa15801561291d573d6000803e3d6000fd5b505050506040513d602081101561293357600080fd5b5051905090565b6000827f7355534400000000000000000000000000000000000000000000000000000000141561296c57506000610d3a565b61297e8261297985612985565b612f32565b9392505050565b600061299082612c4f565b6020015164ffffffffff1692915050565b606060006129ad612f4d565b905073ffffffffffffffffffffffffffffffffffffffff811615612c1c57606083516040519080825280602002602001820160405280156129f8578160200160208202803883390190505b50905060005b8451811015612a875760066000868381518110612a1757fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110612a5a57fe5b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526001016129fe565b506040517f7d723cac00000000000000000000000000000000000000000000000000000000815260206004820181815283516024840152835173ffffffffffffffffffffffffffffffffffffffff861693637d723cac93869392839260440191808601910280838360005b83811015612b0a578181015183820152602001612af2565b505050509050019250505060006040518083038186803b158015612b2d57600080fd5b505afa158015612b41573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015612b8857600080fd5b8101908080516040519392919084640100000000821115612ba857600080fd5b908301906020820185811115612bbd57600080fd5b8251866020820283011164010000000082111715612bda57600080fd5b82525081516020918201928201910280838360005b83811015612c07578181015183820152602001612bef565b50505050905001604052505050925050611540565b8251604051908082528060200260200182016040528015612c47578160200160208202803883390190505b509392505050565b612c57614030565b60008281526006602052604090205473ffffffffffffffffffffffffffffffffffffffff168015612e515760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ffeaf968c0000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b60208310612d4257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612d05565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114612da2576040519150601f19603f3d011682016040523d82523d6000602084013e612da7565b606091505b50915091508115612e495760008060008380602001905160a0811015612dcc57600080fd5b50805160208201516060909201516040805180820190915291955091935090915080612e0e8b612dfc8187613b06565b8769ffffffffffffffffffff16613baf565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020018264ffffffffff16815250975050505050505050610c9d565b505050611540565b6000838152600b6020526040902054612e68614030565b5060008481526004602090815260408083208484528252918290208251808401845290547affffffffffffffffffffffffffffffffffffffffffffffffffffff80821683527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff1692820192909252825180840190935280519092918291612ef79189911686613baf565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff168152602001826020015164ffffffffff168152509350505050610c9d565b600042612f45838563ffffffff613ced16565b109392505050565b6000612f57613adb565b73ffffffffffffffffffffffffffffffffffffffff16639ee5955a7f53797374656d53657474696e67730000000000000000000000000000000000007f61676772656761746f725761726e696e67466c616773000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290957600080fd5b6000827f7355534400000000000000000000000000000000000000000000000000000000141561302157506000610d3a565b60008381526006602052604090205473ffffffffffffffffffffffffffffffffffffffff16801580613067575073ffffffffffffffffffffffffffffffffffffffff8316155b15613076576000915050610d3a565b8273ffffffffffffffffffffffffffffffffffffffff1663357e47fe826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156130f357600080fd5b505afa158015613107573d6000803e3d6000fd5b505050506040513d602081101561311d57600080fd5b5051949350505050565b600082815260066020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680156132e75760408051602480820187905282518083039091018152604490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9a6fc8f50000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b6020831061322357805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016131e6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613283576040519150601f19603f3d011682016040523d82523d6000602084013e613288565b606091505b509150915081156132df576000808280602001905160a08110156132ab57600080fd5b50602081015160609091015190925090506132d08a6132ca8185613b06565b8b613baf565b9750955061145b945050505050565b505050613387565b6132ef614030565b5060008581526004602090815260408083208784528252918290208251808401909352547affffffffffffffffffffffffffffffffffffffffffffffffffffff81168084527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff169183019190915261336e90879087613baf565b60209091015190935064ffffffffff16915061145b9050565b509250929050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146133e55760405162461bcd60e51b815260040180806020018281038252602f815260200180614145602f913960400191505060405180910390fd5b565b600061297e8383670de0b6b3a7640000613d47565b600061297e8383670de0b6b3a7640000613d84565b6000805b82548110156134e7578383828154811061342b57fe5b906000526020600020015414156134df5782818154811061344857fe5b6000918252602082200155825483907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061348357fe5b906000526020600020015483828154811061349a57fe5b60009182526020909120015582546134d4847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830161407a565b506001915050610d3a565b600101613415565b5060009392505050565b60008181526006602052604081205473ffffffffffffffffffffffffffffffffffffffff168015613597578073ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561356257600080fd5b505afa158015613576573d6000803e3d6000fd5b505050506040513d602081101561358c57600080fd5b50519150610c9d9050565b50506000818152600b6020526040902054610c9d565b60055473ffffffffffffffffffffffffffffffffffffffff1633146133e55760405162461bcd60e51b815260040180806020018281038252602781526020018061411e6027913960400191505060405180910390fd5b600080600061361186611e7b565b915083861415613625575083915080611dc8565b61362e84611e7b565b90508015611dc85761364a81611000878563ffffffff6133e716565b925093509350939050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f726167650000000000000000000000000000000000816000815181106136a557fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156136e4578160200160208202803883390190505b50905060005b8351811015613726578381815181106136ff57fe5b602002602001015182828151811061371357fe5b60209081029190910101526001016136ea565b5060005b82518110156137695782818151811061373f57fe5b602002602001015182828651018151811061375657fe5b602090810291909101015260010161372a565b5092915050565b600061377a614047565b50600082815260096020908152604091829020825160a0810184528154815260018201549281019290925260028101549282019290925260039091015460ff80821615156060840181905261010090920416151560808301528061297e57506080015192915050565b6000826137f257506000610d3a565b828202828482816137ff57fe5b041461297e5760405162461bcd60e51b81526004018080602001828103825260218152602001806141746021913960400191505060405180910390fd5b6000610ec37f45786368616e6765720000000000000000000000000000000000000000000000613db6565b600082518451146138a95760405162461bcd60e51b81526004018080602001828103825260388152602001806141956038913960400191505060405180910390fd5b61025842018210613901576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015613a1557600085828151811061391b57fe5b6020026020010151905084828151811061393157fe5b6020026020010151600014156139785760405162461bcd60e51b81526004018080602001828103825260398152602001806142546039913960400191505060405180910390fd5b807f735553440000000000000000000000000000000000000000000000000000000014156139d75760405162461bcd60e51b81526004018080602001828103825260318152602001806140ed6031913960400191505060405180910390fd5b6139e081612985565b8410156139ed5750613a0d565b613a0b818684815181106139fd57fe5b602002602001015186613eac565b505b600101613904565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613a7d578181015183820152602001613a65565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613abc578181015183820152602001613aa4565b5050505090500194505050505060405180910390a15060019392505050565b6000610ec37f466c657869626c6553746f726167650000000000000000000000000000000000613db6565b600080821215613b5d576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526007602052604090205460ff161561154057600083815260076020526040812054613b929060129060ff16613f69565b600a0a9050613ba7838263ffffffff6137e316565b915050610d3a565b6000613bb9614047565b50600084815260096020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff8082161515606085015261010090910416151560808301521580613c19575083155b15613c27578391505061297e565b6000858152600c6020526040902054849250808410801590613c4a575081606001515b15613c5b5781602001519250613ce4565b808410158015613c6c575081608001515b15613c7d5781604001519250613ce4565b8151600090613c9390600263ffffffff6137e316565b9050858111613ca55760009350613cb8565b613cb5818763ffffffff613f6916565b93505b82602001518410613ccf5782602001519350613ce2565b82604001518411613ce257826040015193505b505b50509392505050565b60008282018381101561297e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600a8304613d5e868663ffffffff6137e316565b81613d6557fe5b0490506005600a825b0610613d7857600a015b600a9004949350505050565b600080613daa84613d9e87600a870263ffffffff6137e316565b9063ffffffff613fc616565b90506005600a82613d6e565b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a2000000000000000000000000000000093810193909352603180840186905282518085039091018152605190930190915273ffffffffffffffffffffffffffffffffffffffff1690816137695760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613e71578181015183820152602001613e59565b50505050905090810190601f168015613e9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000838152600b60209081526040808320805460010190819055815180830183527affffffffffffffffffffffffffffffffffffffffffffffffffffff968716815264ffffffffff9586168185019081529785526004845282852091855292529091209051815494519092167b01000000000000000000000000000000000000000000000000000000029183167fffffffffff00000000000000000000000000000000000000000000000000000090941693909317909116179055565b600082821115613fc0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080821161401c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161402757fe5b04949350505050565b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b81548183558181111561136c5760008381526020902061136c918101908301610ec691905b808211156140b3576000815560010161409f565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052617465206f6620735553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e4f6e6c7920746865206f7261636c652063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e6c6f7765724c696d6974206d7573742062652062656c6f772074686520656e747279506f696e7475707065724c696d6974206d757374206265206c657373207468616e20646f75626c6520656e747279506f696e7441676772656761746f7220646563696d616c732073686f756c64206265206c6f776572206f7220657175616c20746f2031385a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e75707065724c696d6974206d7573742062652061626f76652074686520656e747279506f696e74a265627a7a723158200a2e6f6efc1deccf7bc3b5b010a673956c15192ee688307d6e848fc718ba988f64736f6c6343000510003243757272656e6379206b6579206c656e67746820616e642072617465206c656e677468206d757374206d617463682e52617465206f6620735553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e5a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_oracle","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"bytes32[]","name":"_currencyKeys","type":"bytes32[]"},{"internalType":"uint256[]","name":"_newRates","type":"uint256[]"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"aggregator","type":"address"}],"name":"AggregatorAdded","type":"event","signature":"0x0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"aggregator","type":"address"}],"name":"AggregatorRemoved","type":"event","signature":"0xec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"entryPoint","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"upperLimit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lowerLimit","type":"uint256"}],"name":"InversePriceConfigured","type":"event","signature":"0x37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"rate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"initiator","type":"address"}],"name":"InversePriceFrozen","type":"event","signature":"0xf72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOracle","type":"address"}],"name":"OracleUpdated","type":"event","signature":"0x3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"RateDeleted","type":"event","signature":"0xe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae1"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"newRates","type":"uint256[]"}],"name":"RatesUpdated","type":"event","signature":"0x1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba57"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"aggregatorAddress","type":"address"}],"name":"addAggregator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3f0e084f"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"aggregatorKeys","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4f72def6"},{"constant":true,"inputs":[],"name":"aggregatorWarningFlags","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4c36b837"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"aggregators","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7103353e"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"anyRateIsInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0a7d36d1"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"canFreezeRate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3375fcd1"},{"constant":true,"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"name":"currenciesUsingAggregator","outputs":[{"internalType":"bytes32[]","name":"currencies","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2678df96"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"currencyKeyDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb295ad34"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"currentRoundForRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x935f4abd"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"deleteRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x45938849"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"effectiveValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x654a60ac"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"effectiveValueAndRates","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"sourceRate","type":"uint256"},{"internalType":"uint256","name":"destinationRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8295016a"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"name":"effectiveValueAtRound","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x266da16b"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"freezeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xde02795e"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"getCurrentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7a018a1e"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"startingRoundId","type":"uint256"},{"internalType":"uint256","name":"startingTimestamp","type":"uint256"},{"internalType":"uint256","name":"timediff","type":"uint256"}],"name":"getLastRoundIdBeforeElapsedSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x109e46a2"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"inversePricing","outputs":[{"internalType":"uint256","name":"entryPoint","type":"uint256"},{"internalType":"uint256","name":"upperLimit","type":"uint256"},{"internalType":"uint256","name":"lowerLimit","type":"uint256"},{"internalType":"bool","name":"frozenAtUpperLimit","type":"bool"},{"internalType":"bool","name":"frozenAtLowerLimit","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x728dec29"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"invertedKeys","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2ea913d4"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"lastRateUpdateTimes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xce8480ea"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"lastRateUpdateTimesForCurrencies","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x05a046e5"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"oracle","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7dc0d1d0"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateAndInvalid","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0c71cd23"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"rateAndTimestampAtRound","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xfdadbc7e"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateAndUpdatedTime","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4308a94f"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateForCurrency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xac82f608"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsFlagged","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x38aa1b99"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsFrozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaf3aea86"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2528f0fe"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsStale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x009919c0"},{"constant":true,"inputs":[],"name":"rateStalePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0ee4951b"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"ratesAndInvalidForCurrencies","outputs":[{"internalType":"uint256[]","name":"rates","type":"uint256[]"},{"internalType":"bool","name":"anyRateInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc8e5bbd5"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"numRounds","type":"uint256"}],"name":"ratesAndUpdatedTimeForCurrencyLastNRounds","outputs":[{"internalType":"uint256[]","name":"rates","type":"uint256[]"},{"internalType":"uint256[]","name":"times","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2d7371e1"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"ratesForCurrencies","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc2c8a676"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"removeAggregator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x2bed9e0c"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"removeInversePricing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc8e6f395"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"roundFrozen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7f6e9d15"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"entryPoint","type":"uint256"},{"internalType":"uint256","name":"upperLimit","type":"uint256"},{"internalType":"uint256","name":"lowerLimit","type":"uint256"},{"internalType":"bool","name":"freezeAtUpperLimit","type":"bool"},{"internalType":"bool","name":"freezeAtLowerLimit","type":"bool"}],"name":"setInversePricing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb199c764"},{"constant":false,"inputs":[{"internalType":"address","name":"_oracle","type":"address"}],"name":"setOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x7adbf973"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256[]","name":"newRates","type":"uint256[]"},{"internalType":"uint256","name":"timeSent","type":"uint256"}],"name":"updateRates","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbfa005ce"}],"source":{"keccak256":"0x6c13c44ff3c52644f0b7006484742be9349727f83ab458189e89834055016dad","urls":["bzz-raw://f8a1fddb5e2cd7fa77ce758050245be569ce2b9a40f2866dfaf20f33b740c4d0","dweb:/ipfs/QmWCq7NCtE1jd4ffiZd4u3DzSRuWH89UuwBqsfauqHxmne"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ExchangeRates.sol":"ExchangeRates"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":20000},"remappings":[]},"sources":{"ExchangeRates.sol":{"keccak256":"0x6c13c44ff3c52644f0b7006484742be9349727f83ab458189e89834055016dad","urls":["bzz-raw://f8a1fddb5e2cd7fa77ce758050245be569ce2b9a40f2866dfaf20f33b740c4d0","dweb:/ipfs/QmWCq7NCtE1jd4ffiZd4u3DzSRuWH89UuwBqsfauqHxmne"]}},"version":1}},"Proxy":{"bytecode":"608060405234801561001057600080fd5b506040516020806108dc833981016040525180600160a060020a038116151561009a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506107d9806101036000396000f3006080604052600436106100985763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631627540c811461018357806353a47bb7146101a4578063776d1a01146101d557806379ba5097146101f65780638da5cb5b1461020b578063907dff971461022057806395578ebd14610250578063befff6af14610279578063d4b8399214610293575b60025474010000000000000000000000000000000000000000900460ff16156100e157604051366000823760008036836002545af43d6000833e8015156100dd573d82fd5b3d82f35b600254604080517fbc67f8320000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163bc67f8329160248082019260009290919082900301818387803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e8015156100dd573d82fd5b005b34801561018f57600080fd5b50610181600160a060020a03600435166102a8565b3480156101b057600080fd5b506101b9610391565b60408051600160a060020a039092168252519081900360200190f35b3480156101e157600080fd5b50610181600160a060020a03600435166103a0565b34801561020257600080fd5b50610181610489565b34801561021757600080fd5b506101b9610591565b34801561022c57600080fd5b5061018160246004803582810192910135903560443560643560843560a4356105a0565b34801561025c57600080fd5b506102656106b5565b604080519115158252519081900360200190f35b34801561028557600080fd5b5061018160043515156106d6565b34801561029f57600080fd5b506101b961079e565b600054600160a060020a03163314610330576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600154600160a060020a031681565b600054600160a060020a03163314610428576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b600154600160a060020a03163314610511576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600254600090606090600160a060020a03163314610608576040805160e560020a62461bcd02815260206004820152601460248201527f4d7573742062652070726f787920746172676574000000000000000000000000604482015290519081900360640190fd5b604080516020601f8b01819004810282018101909252898152899350908a908490819084018382808284378201915050505050509050866000811461066c576001811461067757600281146106835760038114610690576004811461069e576106a9565b8260208301a06106a9565b868360208401a16106a9565b85878460208501a26106a9565b8486888560208601a36106a9565b838587898660208701a45b50505050505050505050565b60025474010000000000000000000000000000000000000000900460ff1681565b600054600160a060020a0316331461075e576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055565b600254600160a060020a0316815600a165627a7a723058201f732d524629d6f5803735fcd435c54afab71cca4ed5b01f82e508f9084bf99b0029","abi":[{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"contract Proxyable","name":"_target","type":"address"}],"name":"setTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x776d1a01"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"name":"callData","type":"bytes"},{"name":"numTopics","type":"uint256"},{"name":"topic1","type":"bytes32"},{"name":"topic2","type":"bytes32"},{"name":"topic3","type":"bytes32"},{"name":"topic4","type":"bytes32"}],"name":"_emit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x907dff97"},{"constant":true,"inputs":[],"name":"useDELEGATECALL","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x95578ebd"},{"constant":false,"inputs":[{"name":"value","type":"bool"}],"name":"setUseDELEGATECALL","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbefff6af"},{"constant":true,"inputs":[],"name":"target","outputs":[{"internalType":"contract Proxyable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd4b83992"},{"inputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract Proxyable","name":"newTarget","type":"address"}],"name":"TargetUpdated","type":"event","signature":"0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"FeePool":{"bytecode":"6080604052631cd554d160e21b6007553480156200001c57600080fd5b50604051620045c2380380620045c28339810160408190526200003f9162000226565b8080621baf8085856001600160a01b038116620000795760405162461bcd60e51b8152600401620000709062000348565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c691849062000310565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b8152600401620000709062000336565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906200014790839062000300565b60405180910390a1504201600455600580546001600160a01b0319166001600160a01b0392909216919091179055506001620001846000620001e7565b80546001600160401b0319166001600160401b039290921691909117905542620001af6000620001e7565b80546001600160401b03929092166801000000000000000002600160401b600160801b031990921691909117905550620003a3915050565b60006008600260ff16836016540181620001fd57fe5b06600281106200020957fe5b6007020192915050565b8051620002208162000389565b92915050565b6000806000606084860312156200023c57600080fd5b60006200024a868662000213565b93505060206200025d8682870162000213565b9250506040620002708682870162000213565b9150509250925092565b620002858162000375565b82525050565b620002858162000363565b6000620002a56011836200035a565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002d46019836200035a565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200022082846200027a565b604081016200032082856200027a565b6200032f60208301846200028b565b9392505050565b60208082528101620002208162000296565b602080825281016200022081620002c5565b90815260200190565b60006001600160a01b03821662000220565b600062000220826000620002208262000363565b620003948162000363565b8114620003a057600080fd5b50565b61420f80620003b36000396000f3fe608060405234801561001057600080fd5b50600436106102775760003560e01c80636466f45e11610160578063b410a034116100d8578063e0e6393d1161008c578063ec55688911610071578063ec55688914610497578063f43d41611461049f578063fd1f498d146104b257610277565b8063e0e6393d14610487578063eb1edd611461048f57610277565b8063cff2ddad116100bd578063cff2ddad14610462578063d294f09314610477578063d67bdd251461047f57610277565b8063b410a03414610447578063bc67f8321461044f57610277565b806379ba50971161012f5780638da5cb5b116101145780638da5cb5b1461042457806397107d6d1461042c578063ac8341931461043f57610277565b806379ba509714610407578063899ffef41461040f57610277565b80636466f45e146103d15780636de813f1146103e457806373941b96146103ec57806374185360146103ff57610277565b806333140016116101f357806346ba2d90116101c2578063569249d0116101a7578063569249d0146103ae57806359a2f19f146103b6578063614d08f8146103c957610277565b806346ba2d901461039157806353a47bb71461039957610277565b8063331400161461033b5780633ebc457a1461035b5780633fcd22401461036357806341c178c31461038957610277565b80631627540c1161024a57806322bf55ef1161022f57806322bf55ef1461030b5780632af64bd31461031e5780632e227eeb1461033357610277565b80631627540c146102ee57806322425fa41461030357610277565b806304f3bcec1461027c57806307ea50cd1461029a5780630813071c146102ba5780630de58615146102cd575b600080fd5b6102846104c5565b6040516102919190613eb2565b60405180910390f35b6102ad6102a83660046131df565b6104d4565b6040516102919190613dea565b6102ad6102c8366004613223565b6105a9565b6102e06102db3660046131df565b6106bb565b604051610291929190613e06565b6103016102fc3660046131df565b61073d565b005b6102ad61079b565b6103016103193660046132b7565b6107ab565b610326610808565b6040516102919190613ddc565b6102e061091f565b61034e6103493660046131df565b610aa6565b6040516102919190613dbd565b610301610c9d565b6103766103713660046132b7565b610ea5565b604051610291979695949392919061402f565b6102e0610f53565b6102ad611001565b6103a1611007565b6040516102919190613d43565b6102ad611016565b6103266103c43660046131df565b611071565b6102ad611083565b6103266103df3660046131df565b6110a7565b6102ad6111d3565b6103016103fa366004613305565b611228565b610301611310565b610301611462565b6104176114fe565b6040516102919190613dcb565b6103a1611858565b61030161043a3660046131df565b611867565b6102ad6118ba565b6102ad611966565b61030161045d3660046131df565b611970565b61046a61199a565b6040516102919190614097565b61032661199f565b6103a1611a16565b6102ad611a25565b6103a1611a2f565b610284611a47565b6103016104ad366004613324565b611a56565b6103016104c03660046132b7565b611c06565b6005546001600160a01b031681565b60006104de611c72565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200161051f929190613cdc565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016105519190613dea565b60206040518083038186803b15801561056957600080fd5b505afa15801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105a1919081019061327b565b90505b919050565b60008115806105b9575060028210155b156105c6575060006106b5565b6105d260018303611c9d565b5468010000000000000000900467ffffffffffffffff166105f5575060006106b5565b6105fd611cc7565b6001600160a01b0316638ced14df846008856002811061061957fe5b60070201546040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610662929167ffffffffffffffff1690600401613d7a565b60206040518083038186803b15801561067a57600080fd5b505afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106b2919081019061327b565b90505b92915050565b6000806106c66130ee565b6106cf84610aa6565b905060008060015b6002811015610730576106fc8482600281106106ef57fe5b6020020151518490611cf2565b925061072684826002811061070d57fe5b602002015160016020020151839063ffffffff611cf216565b91506001016106d7565b509093509150505b915091565b610745611d17565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610790908390613d43565b60405180910390a150565b60006107a5611d43565b90505b90565b6107b433611e0a565b6107d95760405162461bcd60e51b81526004016107d090613ed1565b60405180910390fd5b6107f7816107e76000611c9d565b600301549063ffffffff611cf216565b6108016000611c9d565b6003015550565b600060606108146114fe565b905060005b815181101561091657600082828151811061083057fe5b602090810291909101810151600081815260069092526040918290205460055492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610881908590600401613dea565b60206040518083038186803b15801561089957600080fd5b505afa1580156108ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108d19190810190613205565b6001600160a01b03161415806108fc57506000818152600660205260409020546001600160a01b0316155b1561090d57600093505050506107a8565b50600101610819565b50600191505090565b60008060008061094e7f6578743a41676772656761746f7249737375656453796e746873000000000000611fae565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561098657600080fd5b505afa15801561099a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109be91908101906133c0565b509350509250506000806109f17f6578743a41676772656761746f7244656274526174696f000000000000000000611fae565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610a2957600080fd5b505afa158015610a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a6191908101906133c0565b50919450909250859150508215610a8757610a82818463ffffffff61200b16565b610a8a565b60005b9650818410610a995781610a9b565b835b955050505050509091565b610aae6130ee565b600080610ab9611cc7565b6040517fe6d24bbd0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063e6d24bbd90610b01908790600401613d43565b60206040518083038186803b158015610b1957600080fd5b505afa158015610b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b51919081019061327b565b9150600080610b61600085612024565b8651829052865160200181905290925090506000610b7e876104d4565b905060015b8015610c92576000610b9482611c9d565b5467ffffffffffffffff16905080831015610c88576040517f8ced14df0000000000000000000000000000000000000000000000000000000081526001600160a01b03871690638ced14df90610bfa908c9067ffffffffffffffff861690600401613d7a565b60206040518083038186803b158015610c1257600080fd5b505afa158015610c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c4a919081019061327b565b9650610c568288612024565b909550935084888360028110610c6857fe5b60200201515283888360028110610c7b57fe5b6020020151600160200201525b5060001901610b83565b505050505050919050565b610ca5612088565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610cdd57600080fd5b505afa158015610cf1573d6000803e3d6000fd5b505050506000610cff611d43565b11610d1c5760405162461bcd60e51b81526004016107d090614011565b610d24611d43565b4203610d306000611c9d565b5468010000000000000000900467ffffffffffffffff161115610d655760405162461bcd60e51b81526004016107d090613ef1565b6000610d6f610f53565b5090506000610d7c61091f565b509050610d8982826120b3565b6005546040517fdacb2d010000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063dacb2d0190610df2907f53796e746865746978427269646765546f4f7074696d69736d0000000000000090600401613e34565b60206040518083038186803b158015610e0a57600080fd5b505afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e429190810190613205565b6001600160a01b031663b9958ab883836040518363ffffffff1660e01b8152600401610e6f929190613e06565b600060405180830381600087803b158015610e8957600080fd5b505af1158015610e9d573d6000803e3d6000fd5b505050505050565b6000806000806000806000610eb861311b565b610ec189611c9d565b6040805161010081018252825467ffffffffffffffff80821680845268010000000000000000909204166020830181905260018501549383019390935260028401546060830152600384015460808301819052600485015460a08401819052600586015460c0850181905260069096015460e0909401849052919e60009e50939c509a50985091965090945092505050565b600080600080610f827f6578743a41676772656761746f7249737375656453796e746873000000000000611fae565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610fba57600080fd5b505afa158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ff291908101906133c0565b50919791965090945050505050565b60045481565b6001546001600160a01b031681565b60008060015b600281101561106b5761104261103182611c9d565b60030154839063ffffffff611cf216565b915061106161105082611c9d565b60040154839063ffffffff61239a16565b915060010161101c565b50905090565b600061107c826123c2565b5092915050565b7f466565506f6f6c0000000000000000000000000000000000000000000000000081565b60006110b1612088565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156110e957600080fd5b505afa1580156110fd573d6000803e3d6000fd5b505050506111096124b6565b6111116124f5565b6003546040517f21f4ae570000000000000000000000000000000000000000000000000000000081526001600160a01b03928316926321f4ae579261115e92879290911690600401613d5f565b60206040518083038186803b15801561117657600080fd5b505afa15801561118a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111ae919081019061325d565b6111ca5760405162461bcd60e51b81526004016107d090613f81565b6105a182612520565b60008060015b600281101561106b576111ff6111ee82611c9d565b60050154839063ffffffff611cf216565b915061121e61120d82611c9d565b60060154839063ffffffff61239a16565b91506001016111d9565b333014806112e657506005546040516321f8a72160e01b81526001600160a01b03909116906321f8a72190611281907f53796e746865746978427269646765546f42617365000000000000000000000090600401613dea565b60206040518083038186803b15801561129957600080fd5b505afa1580156112ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112d19190810190613205565b6001600160a01b0316336001600160a01b0316145b6113025760405162461bcd60e51b81526004016107d090613fc1565b61130c82826120b3565b5050565b606061131a6114fe565b905060005b815181101561130c57600082828151811061133657fe5b602002602001015190506000600560009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016113789190613d2d565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016113a4929190613e14565b60206040518083038186803b1580156113bc57600080fd5b505afa1580156113d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113f49190810190613205565b6000838152600660205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906114509084908490613df8565b60405180910390a1505060010161131f565b6001546001600160a01b0316331461148c5760405162461bcd60e51b81526004016107d090613ee1565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926114cf926001600160a01b0391821692911690613d5f565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080611509612615565b60408051600e8082526101e0820190925291925060609190602082016101c0803883390190505090507f53797374656d53746174757300000000000000000000000000000000000000008160008151811061156057fe5b6020026020010181815250507f53796e74686574697844656274536861726500000000000000000000000000008160018151811061159a57fe5b6020026020010181815250507f466565506f6f6c457465726e616c53746f726167650000000000000000000000816002815181106115d457fe5b6020026020010181815250507f45786368616e67657200000000000000000000000000000000000000000000008160038151811061160e57fe5b6020026020010181815250506524b9b9bab2b960d11b8160048151811061163157fe5b6020026020010181815250507f526577617264457363726f7756320000000000000000000000000000000000008160058151811061166b57fe5b6020026020010181815250507f44656c6567617465417070726f76616c73000000000000000000000000000000816006815181106116a557fe5b6020026020010181815250507f52657761726473446973747269627574696f6e00000000000000000000000000816007815181106116df57fe5b6020026020010181815250507f436f6c6c61746572616c4d616e616765720000000000000000000000000000008160088151811061171957fe5b6020026020010181815250507f57726170706572466163746f72790000000000000000000000000000000000008160098151811061175357fe5b6020026020010181815250507f457468657257726170706572000000000000000000000000000000000000000081600a8151811061178d57fe5b6020026020010181815250507f6578743a41676772656761746f7249737375656453796e74687300000000000081600b815181106117c757fe5b6020026020010181815250507f6578743a41676772656761746f7244656274526174696f00000000000000000081600c8151811061180157fe5b6020026020010181815250507f467574757265734d61726b65744d616e6167657200000000000000000000000081600d8151811061183b57fe5b6020026020010181815250506118518282612674565b9250505090565b6000546001600160a01b031681565b61186f611d17565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610790908390613d51565b60006107a56119526118ca612729565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561190e57600080fd5b505af4158015611922573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611946919081019061327b565b9063ffffffff611cf216565b61195a6127a0565b9063ffffffff61281716565b60006107a56127a0565b611978612841565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b600281565b60006119a9612088565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119e157600080fd5b505afa1580156119f5573d6000803e3d6000fd5b50505050611a016124b6565b6003546107a5906001600160a01b0316612520565b6003546001600160a01b031681565b60006107a5612729565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611a5e61286b565b6004544210611a7f5760405162461bcd60e51b81526004016107d090613fd1565b60028710611a9f5760405162461bcd60e51b81526004016107d090613ff1565b6040518061010001604052808767ffffffffffffffff1681526020018667ffffffffffffffff16815260200160008152602001600081526020018581526020018481526020018381526020018281525060088860028110611afc57fe5b8251600791909102919091018054602084015167ffffffffffffffff90811668010000000000000000026fffffffffffffffff0000000000000000199190941667ffffffffffffffff19909216919091171691909117815560408201516001820155606082015160028201556080820151600382015560a0820151600482015560c0820151600582015560e09091015160069091015586611bfd57611b9f6128d9565b6001600160a01b03166331e6da5a876040518263ffffffff1660e01b8152600401611bca9190614021565b600060405180830381600087803b158015611be457600080fd5b505af1158015611bf8573d6000803e3d6000fd5b505050505b50505050505050565b611c0e6124b6565b611c166128ed565b6003546001600160a01b03908116911614611c435760405162461bcd60e51b81526004016107d090613f51565b611c6181611c516000611c9d565b600501549063ffffffff611cf216565b611c6b6000611c9d565b6005015550565b60006107a57f466565506f6f6c457465726e616c53746f726167650000000000000000000000611fae565b60006008600260ff16836016540181611cb257fe5b0660028110611cbd57fe5b6007020192915050565b60006107a57f53796e7468657469784465627453686172650000000000000000000000000000611fae565b6000828201838110156106b25760405162461bcd60e51b81526004016107d090613f11565b6000546001600160a01b03163314611d415760405162461bcd60e51b81526004016107d090613f91565b565b6000611d4d612918565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b8152600401611dba929190613e06565b60206040518083038186803b158015611dd257600080fd5b505afa158015611de6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107a5919081019061327b565b6000611e14612943565b6001600160a01b0316826001600160a01b03161480611eb657506000611e386128d9565b6001600160a01b03166316b2213f846040518263ffffffff1660e01b8152600401611e639190613d43565b60206040518083038186803b158015611e7b57600080fd5b505afa158015611e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611eb3919081019061327b565b14155b80611f3f5750611ec461296e565b6001600160a01b031663b38988f7836040518263ffffffff1660e01b8152600401611eef9190613d43565b60206040518083038186803b158015611f0757600080fd5b505afa158015611f1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f3f919081019061325d565b80611f625750611f4d612999565b6001600160a01b0316826001600160a01b0316145b80611f855750611f706129c4565b6001600160a01b0316826001600160a01b0316145b806105a15750611f936129ef565b6001600160a01b0316826001600160a01b0316149050919050565b60008181526006602090815260408083205490516001600160a01b039091169182151591611fde91869101613d0d565b6040516020818303038152906040529061107c5760405162461bcd60e51b81526004016107d09190613ec0565b60006106b283836b033b2e3c9fd0803ce8000000612a1a565b6000808261203757506000905080612081565b600061204285611c9d565b9050600061205d85836003015461281790919063ffffffff16565b9050600061207886846005015461281790919063ffffffff16565b91945090925050505b9250929050565b60006107a57f53797374656d5374617475730000000000000000000000000000000000000000611fae565b6120bb6129ef565b6001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156120f557600080fd5b505af1158015612109573d6000803e3d6000fd5b505050506121156129c4565b6001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561214f57600080fd5b505af1158015612163573d6000803e3d6000fd5b50505050806121726000611c9d565b60020155816121816000611c9d565b60010155600061219081611c9d565b9050600061219e6001611c9d565b90506121c382600301546119468360040154846003015461239a90919063ffffffff16565b6121cd6000611c9d565b600301556005808301546006830154918301546121f492611946919063ffffffff61239a16565b6121fe6000611c9d565b6005015560165461223b9060029061222f90600190612223908463ffffffff611cf216565b9063ffffffff61239a16565b9063ffffffff612a5f16565b60168190556008906002811061224d57fe5b6007020180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000168155600060018201819055600282018190556003820181905560048201819055600582018190556006909101819055429081906122b190611c9d565b805467ffffffffffffffff191667ffffffffffffffff92909216919091179055426122dc6000611c9d565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff0000000000000000199092169190911790556123196128d9565b6001600160a01b03166331e6da5a826040518263ffffffff1660e01b81526004016123449190614021565b600060405180830381600087803b15801561235e57600080fd5b505af1158015612372573d6000803e3d6000fd5b505050506123936123836001611c9d565b5467ffffffffffffffff16612a8f565b5050505050565b6000828211156123bc5760405162461bcd60e51b81526004016107d090613f21565b50900390565b6000806000806123d06128d9565b6001600160a01b031663ae3bbbbb866040518263ffffffff1660e01b81526004016123fb9190613d43565b604080518083038186803b15801561241257600080fd5b505afa158015612426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061244a91908101906132d5565b9150915060006124586127a0565b90508083101561247057506001935091506107389050565b600061248d6124806118ca612729565b839063ffffffff61281716565b9050808411156124a7576000839550955050505050610738565b50600194509092505050915091565b6002546001600160a01b031633148015906124dc57506003546001600160a01b03163314155b15611d4157600380546001600160a01b03191633179055565b60006107a57f44656c6567617465417070726f76616c73000000000000000000000000000000611fae565b6000808080808080612531886123c2565b91509150816125525760405162461bcd60e51b81526004016107d090613fa1565b80156125705760405162461bcd60e51b81526004016107d090613f61565b612579886106bb565b90945092508315158061258c5750600083115b6125a85760405162461bcd60e51b81526004016107d090613f41565b6125c6886125b66001611c9d565b5467ffffffffffffffff16612b47565b83156125e1576125d584612bc4565b94506125e18886612c88565b82156125fc576125f083612e5c565b95506125fc8887612f1e565b612607888688612f98565b506001979650505050505050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061266557fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156126a4578160200160208202803883390190505b50905060005b83518110156126e6578381815181106126bf57fe5b60200260200101518282815181106126d357fe5b60209081029190910101526001016126aa565b5060005b825181101561107c578281815181106126ff57fe5b602002602001015182828651018151811061271657fe5b60209081029190910101526001016126ea565b6000612733612918565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401611dba929190613e06565b60006127aa612918565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401611dba929190613e06565b6000670de0b6b3a7640000612832848463ffffffff61305416565b8161283957fe5b049392505050565b6002546001600160a01b03163314611d415760405162461bcd60e51b81526004016107d090614001565b6002546001600160a01b0316331480159061289157506003546001600160a01b03163314155b156128a957600380546001600160a01b031916331790555b6000546003546001600160a01b03908116911614611d415760405162461bcd60e51b81526004016107d090613f01565b60006107a56524b9b9bab2b960d11b611fae565b60006107a57f52657761726473446973747269627574696f6e00000000000000000000000000611fae565b60006107a57f466c657869626c6553746f726167650000000000000000000000000000000000611fae565b60006107a57f45786368616e6765720000000000000000000000000000000000000000000000611fae565b60006107a57f436f6c6c61746572616c4d616e61676572000000000000000000000000000000611fae565b60006107a57f467574757265734d61726b65744d616e61676572000000000000000000000000611fae565b60006107a57f57726170706572466163746f7279000000000000000000000000000000000000611fae565b60006107a57f4574686572577261707065720000000000000000000000000000000000000000611fae565b600080612a4084612a3487600a870263ffffffff61305416565b9063ffffffff61308e16565b90506005600a820610612a5157600a015b600a900490505b9392505050565b600081612a7e5760405162461bcd60e51b81526004016107d090613f71565b818381612a8757fe5b069392505050565b6002546040516001600160a01b039091169063907dff9790612ab5908490602001613dea565b6040516020818303038152906040526001604051612ad290613d38565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252612b1993929160009081908190600401613e53565b600060405180830381600087803b158015612b3357600080fd5b505af1158015612393573d6000803e3d6000fd5b612b4f611c72565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c0000000000000000000000000084604051602001612b90929190613cdc565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401610e6f929190613e06565b6000818160015b6002811015612c80576000612bdf82611c9d565b6004015490506000612c0482612bf485611c9d565b600301549063ffffffff61239a16565b90508015612c75576000858210612c1b5785612c1d565b815b9050612c2f838263ffffffff611cf216565b612c3885611c9d565b60040155612c4c868263ffffffff61239a16565b9550612c5e858263ffffffff611cf216565b945085612c73578496505050505050506105a4565b505b505060001901612bcb565b509392505050565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef1415612cc65760405162461bcd60e51b81526004016107d090613fe1565b6000612cd06128d9565b6001600160a01b031663326080396007546040518263ffffffff1660e01b8152600401612cfd9190613dea565b60206040518083038186803b158015612d1557600080fd5b505afa158015612d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d4d9190810190613299565b6040517f9dc29fac0000000000000000000000000000000000000000000000000000000081529091506001600160a01b03821690639dc29fac90612dab9073feefeefeefeefeefeefeefeefeefeefeefeefeef908790600401613d7a565b600060405180830381600087803b158015612dc557600080fd5b505af1158015612dd9573d6000803e3d6000fd5b50506040517f867904b40000000000000000000000000000000000000000000000000000000081526001600160a01b038416925063867904b49150612e249087908790600401613d7a565b600060405180830381600087803b158015612e3e57600080fd5b505af1158015612e52573d6000803e3d6000fd5b5050505050505050565b6000818160015b6002811015612c80576000612e97612e7a83611c9d565b60060154612e8784611c9d565b600501549063ffffffff61239a16565b90508015612f14576000848210612eae5784612eb0565b815b9050612ecf81612ebf85611c9d565b600601549063ffffffff611cf216565b612ed884611c9d565b60060155612eec858263ffffffff61239a16565b9450612efe848263ffffffff611cf216565b935084612f125783955050505050506105a4565b505b5060001901612e63565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef1415612f5c5760405162461bcd60e51b81526004016107d090613fe1565b6301dfe200612f696130c3565b6001600160a01b0316631bb47b448585846040518463ffffffff1660e01b8152600401612e2493929190613d95565b6002546040516001600160a01b039091169063907dff9790612fc290869086908690602001613d95565b6040516020818303038152906040526001604051612fdf90613d02565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16825261302693929160009081908190600401613e53565b600060405180830381600087803b15801561304057600080fd5b505af1158015611bfd573d6000803e3d6000fd5b600082613063575060006106b5565b8282028284828161307057fe5b04146106b25760405162461bcd60e51b81526004016107d090613fb1565b60008082116130af5760405162461bcd60e51b81526004016107d090613f31565b60008284816130ba57fe5b04949350505050565b60006107a57f526577617264457363726f775632000000000000000000000000000000000000611fae565b60405180604001604052806002905b613105613174565b8152602001906001900390816130fd5790505090565b604051806101000160405280600067ffffffffffffffff168152602001600067ffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b80356106b581614191565b80516106b581614191565b80516106b5816141a8565b80516106b5816141b1565b80516106b5816141ba565b80356106b5816141b1565b80516106b5816141c3565b6000602082840312156131f157600080fd5b60006131fd8484613192565b949350505050565b60006020828403121561321757600080fd5b60006131fd848461319d565b6000806040838503121561323657600080fd5b60006132428585613192565b9250506020613253858286016131c9565b9150509250929050565b60006020828403121561326f57600080fd5b60006131fd84846131a8565b60006020828403121561328d57600080fd5b60006131fd84846131b3565b6000602082840312156132ab57600080fd5b60006131fd84846131be565b6000602082840312156132c957600080fd5b60006131fd84846131c9565b600080604083850312156132e857600080fd5b60006132f485856131b3565b9250506020613253858286016131a8565b6000806040838503121561331857600080fd5b600061324285856131c9565b600080600080600080600060e0888a03121561333f57600080fd5b600061334b8a8a6131c9565b975050602061335c8a828b016131c9565b965050604061336d8a828b016131c9565b955050606061337e8a828b016131c9565b945050608061338f8a828b016131c9565b93505060a06133a08a828b016131c9565b92505060c06133b18a828b016131c9565b91505092959891949750929550565b600080600080600060a086880312156133d857600080fd5b60006133e488886131d4565b95505060206133f5888289016131b3565b9450506040613406888289016131b3565b9350506060613417888289016131b3565b9250506080613428888289016131d4565b9150509295509295909350565b6000613441838361352b565b505060400190565b60006134558383613580565b505060200190565b6134668161411c565b82525050565b613466816140be565b613466613481826140be565b614170565b61348f816140ab565b61349981846105a4565b92506134a4826107a8565b8060005b83811015610e9d5781516134bc8782613435565b96506134c7836140a5565b9250506001016134a8565b60006134dd826140b1565b6134e781856140b5565b93506134f2836140a5565b8060005b8381101561352057815161350a8882613449565b9750613515836140a5565b9250506001016134f6565b509495945050505050565b613534816140ab565b61353e81846105a4565b9250613549826107a8565b8060005b83811015610e9d5781516135618782613449565b965061356c836140a5565b92505060010161354d565b613466816140c9565b613466816107a8565b613466613595826107a8565b6107a8565b60006135a5826140b1565b6135af81856140b5565b93506135bf818560208601614140565b6135c881614181565b9093019392505050565b613466816140ce565b61346681614127565b61346681614135565b60006135fa6017836140b5565b7f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000815260200192915050565b60006136336035836140b5565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000613692601d836140b5565b7f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000815260200192915050565b60006136cb6013836140b5565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b60006137046024836105a4565b7f46656573436c61696d656428616464726573732c75696e743235362c75696e7481527f3235362900000000000000000000000000000000000000000000000000000000602082015260240192915050565b6000613763601b836140b5565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061379c601e836140b5565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006137d5601a836140b5565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061380e6040836140b5565b7f4e6f2066656573206f72207265776172647320617661696c61626c6520666f7281527f20706572696f642c206f72206665657320616c726561647920636c61696d6564602082015260400192915050565b600061386d602b836140b5565b7f4d697373696e6720636f6e74726163743a2053796e746865746978427269646781527f65546f4f7074696d69736d000000000000000000000000000000000000000000602082015260400192915050565b60006138cc6011836105a4565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b60006139056018836140b5565b7f52657761726473446973747269627574696f6e206f6e6c790000000000000000815260200192915050565b600061393e601e836140b5565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b60006139776018836140b5565b7f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815260200192915050565b60006139b0601f836140b5565b7f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600815260200192915050565b60006139e9602f836140b5565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b6000613a48601f836140b5565b7f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400815260200192915050565b6000613a816021836140b5565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000613ae0601b836140b5565b7f4f6e6c792076616c69642072656c617965722063616e2063616c6c0000000000815260200192915050565b6000613b196029836140b5565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b6000613b786019836105a4565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613bb16017836140b5565b7f4665652061646472657373206e6f7420616c6c6f776564000000000000000000815260200192915050565b6000613bea6018836140b5565b7f696e76616c69642066656520706572696f6420696e6465780000000000000000815260200192915050565b6000613c236018836105a4565b7f466565506572696f64436c6f7365642875696e74323536290000000000000000815260180192915050565b6000613c5c6017836140b5565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000613c95601b836140b5565b7f46656520506572696f64204475726174696f6e206e6f74207365740000000000815260200192915050565b613466816140d9565b613466816140fa565b61346681614107565b6000613ce88285613589565b602082019150613cf88284613475565b5060140192915050565b60006106b5826136f7565b6000613d18826138bf565b9150613d248284613589565b50602001919050565b6000613d1882613b6b565b60006106b582613c16565b602081016106b5828461346c565b602081016106b5828461345d565b60408101613d6d828561346c565b612a58602083018461346c565b60408101613d88828561346c565b612a586020830184613580565b60608101613da3828661346c565b613db06020830185613580565b6131fd6040830184613580565b608081016106b58284613486565b602080825281016106b281846134d2565b602081016106b58284613577565b602081016106b58284613580565b60408101613d6d8285613580565b60408101613d888285613580565b60408101613e228285613580565b81810360208301526131fd818461359a565b60408101613e428284613580565b81810360208301526106b281613860565b60c08082528101613e64818961359a565b9050613e7360208301886135e4565b613e806040830187613580565b613e8d60608301866135db565b613e9a60808301856135db565b613ea760a08301846135db565b979650505050505050565b602081016106b582846135d2565b602080825281016106b2818461359a565b602080825281016105a1816135ed565b602080825281016105a181613626565b602080825281016105a181613685565b602080825281016105a1816136be565b602080825281016105a181613756565b602080825281016105a18161378f565b602080825281016105a1816137c8565b602080825281016105a181613801565b602080825281016105a1816138f8565b602080825281016105a181613931565b602080825281016105a18161396a565b602080825281016105a1816139a3565b602080825281016105a1816139dc565b602080825281016105a181613a3b565b602080825281016105a181613a74565b602080825281016105a181613ad3565b602080825281016105a181613b0c565b602080825281016105a181613ba4565b602080825281016105a181613bdd565b602080825281016105a181613c4f565b602080825281016105a181613c88565b602081016106b58284613cc1565b60e0810161403d828a613cca565b61404a6020830189613cca565b6140576040830188613cca565b6140646060830187613580565b6140716080830186613580565b61407e60a0830185613580565b61408b60c0830184613580565b98975050505050505050565b602081016106b58284613cd3565b60200190565b50600290565b5190565b90815260200190565b60006105a1826140ee565b151590565b60006105a1826140be565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b69ffffffffffffffffffff1690565b60006105a1826140ce565b60006105a1613595836107a8565b60006105a1826107a8565b60005b8381101561415b578181015183820152602001614143565b8381111561416a576000848401525b50505050565b60006105a18260006105a18261418b565b601f01601f191690565b60601b90565b61419a816140be565b81146141a557600080fd5b50565b61419a816140c9565b61419a816107a8565b61419a816140ce565b61419a8161410d56fea365627a7a72315820220520b39512e28275c7a4b3a7705149a66773c9db921b235fce506c078fa5d76c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"feePeriodId","type":"uint256"}],"name":"FeePeriodClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"sUSDAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"snxRewards","type":"uint256"}],"name":"FeesClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxyAddress","type":"address"}],"name":"ProxyUpdated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FEE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FEE_PERIOD_LENGTH","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"allNetworksDebtSharesSupply","outputs":[{"internalType":"uint256","name":"sharesSupply","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allNetworksSnxBackedDebt","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"claimingForAddress","type":"address"}],"name":"claimOnBehalf","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"closeCurrentFeePeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"allNetworksSnxBackedDebt","type":"uint256"},{"internalType":"uint256","name":"allNetworksDebtSharesSupply","type":"uint256"}],"name":"closeSecondary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"period","type":"uint256"}],"name":"effectiveDebtRatioForPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feePeriodDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"feesAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"feesByPeriod","outputs":[{"internalType":"uint256[2][2]","name":"results","type":"uint256[2][2]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_claimingAddress","type":"address"}],"name":"getLastFeeWithdrawal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPenaltyThresholdRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"feePeriodIndex","type":"uint256"},{"internalType":"uint256","name":"feePeriodId","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"feesToDistribute","type":"uint256"},{"internalType":"uint256","name":"feesClaimed","type":"uint256"},{"internalType":"uint256","name":"rewardsToDistribute","type":"uint256"},{"internalType":"uint256","name":"rewardsClaimed","type":"uint256"}],"name":"importFeePeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isFeesClaimable","outputs":[{"internalType":"bool","name":"feesClaimable","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issuanceRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"recentFeePeriods","outputs":[{"internalType":"uint64","name":"feePeriodId","type":"uint64"},{"internalType":"uint64","name":"unused","type":"uint64"},{"internalType":"uint64","name":"startTime","type":"uint64"},{"internalType":"uint256","name":"feesToDistribute","type":"uint256"},{"internalType":"uint256","name":"feesClaimed","type":"uint256"},{"internalType":"uint256","name":"rewardsToDistribute","type":"uint256"},{"internalType":"uint256","name":"rewardsClaimed","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recordFeePaid","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"setMessageSender","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"}],"name":"setProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setRewardsToDistribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"setupExpiryTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"targetThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalFeesAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalRewardsAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x8efb90365897b11502997b1dea8760062b6e607e9c183847380d76e620e749a3","urls":["bzz-raw://59c490d9c94c8a648ef85e322d831566011d85e827188be2646cc1eb90ef756d","dweb:/ipfs/QmRRxkgvwXFKpxYQZwuSEGjXv7HFAM7oFZd2FutSJ1EKri"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"FeePool.sol":"FeePool"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":1500},"remappings":[]},"sources":{"FeePool.sol":{"keccak256":"0x8efb90365897b11502997b1dea8760062b6e607e9c183847380d76e620e749a3","urls":["bzz-raw://59c490d9c94c8a648ef85e322d831566011d85e827188be2646cc1eb90ef756d","dweb:/ipfs/QmRRxkgvwXFKpxYQZwuSEGjXv7HFAM7oFZd2FutSJ1EKri"]}},"version":1}},"SynthetixState":{"bytecode":"608060408190527f907af6c000000000000000000000000000000000000000000000000000000000815260059073__SynthetixState.sol:SafeDecimalMath____9063907af6c09060849060209060048186803b15801561006057600080fd5b505af4158015610074573d6000803e3d6000fd5b505050506040513d602081101561008a57600080fd5b505181151561009557fe5b046008553480156100a557600080fd5b506040516040806110d783398101604052805160209091015162093a80828281600160a060020a038116151561013c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505042016003555050610ed9806101fe6000396000f3006080604052600436106101195763ffffffff60e060020a600035041663054be0b7811461011e57806308d95cd5146101385780631627540c1461016257806316b29c57146101835780631bfba595146101985780633d31e97b146101ad57806346317712146101c557806351dc7f7d146101da57806352f445ca1461021d57806353a47bb71461023e57806379ba50971461026f5780638b3f8088146102845780638da5cb5b146102be5780639371bede146102d35780639e49e976146102e8578063a764eb4514610314578063aefc4ccb14610338578063b16c09f01461034d578063b410a0341461036e578063b992812e14610383578063ba08f299146103b8578063caca2516146103cd578063cd92eba914610420575b600080fd5b34801561012a57600080fd5b50610136600435610435565b005b34801561014457600080fd5b506101506004356105c4565b60408051918252519081900360200190f35b34801561016e57600080fd5b50610136600160a060020a03600435166105e3565b34801561018f57600080fd5b506101506106a8565b3480156101a457600080fd5b506101366106ae565b3480156101b957600080fd5b5061013660043561072b565b3480156101d157600080fd5b506101506107c4565b3480156101e657600080fd5b50610136600160a060020a03600435167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19602435166107ea565b34801561022957600080fd5b50610136600160a060020a0360043516610881565b34801561024a57600080fd5b50610253610946565b60408051600160a060020a039092168252519081900360200190f35b34801561027b57600080fd5b50610136610955565b34801561029057600080fd5b506102a5600160a060020a0360043516610a5d565b6040805192835260208301919091528051918290030190f35b3480156102ca57600080fd5b50610253610a76565b3480156102df57600080fd5b50610150610a85565b3480156102f457600080fd5b506101366024600480358281019290820135918135918201910135610a8b565b34801561032057600080fd5b50610136600160a060020a0360043516602435610c23565b34801561034457600080fd5b50610253610cae565b34801561035957600080fd5b50610136600160a060020a0360043516610cbd565b34801561037a57600080fd5b50610150610d41565b34801561038f57600080fd5b506103a4600160a060020a0360043516610d47565b604080519115158252519081900360200190f35b3480156103c457600080fd5b50610136610d63565b3480156103d957600080fd5b506103ee600160a060020a0360043516610ddb565b604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff199092168252519081900360200190f35b34801561042c57600080fd5b50610150610df3565b600054600160a060020a03163314610499576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020610e2e8339815191526044820152600080516020610e4e833981519152606482015290519081900360840190fd5b73__SynthetixState.sol:SafeDecimalMath____63907af6c06040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156104e057600080fd5b505af41580156104f4573d6000803e3d6000fd5b505050506040513d602081101561050a57600080fd5b5051811115610589576040805160e560020a62461bcd02815260206004820152603360248201527f4e65772069737375616e636520726174696f2063616e6e6f742065786365656460448201527f204d41585f49535355414e43455f524154494f00000000000000000000000000606482015290519081900360840190fd5b60088190556040805182815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529181900360200190a150565b60068054829081106105d257fe5b600091825260209091200154905081565b600054600160a060020a03163314610647576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020610e2e8339815191526044820152600080516020610e4e833981519152606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60075481565b600254600160a060020a03163314610712576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b60055461072690600163ffffffff610df916565b600555565b600254600160a060020a0316331461078f576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0155565b600680546000919060001981019081106107da57fe5b9060005260206000200154905090565b600254600160a060020a0316331461084e576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b600160a060020a03919091166000908152600960205260409020805463ffffffff191660e060020a909204919091179055565b600054600160a060020a031633146108e5576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020610e2e8339815191526044820152600080516020610e4e833981519152606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b600154600160a060020a031633146109dd576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b6004602052600090815260409020805460019091015482565b600054600160a060020a031681565b60055481565b60008054600160a060020a03163314610af0576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020610e2e8339815191526044820152600080516020610e4e833981519152606482015290519081900360840190fd5b6003544210610b6f576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757260448201527f696e672073657475700000000000000000000000000000000000000000000000606482015290519081900360840190fd5b838214610bc6576040805160e560020a62461bcd02815260206004820152600f60248201527f4c656e677468206d69736d617463680000000000000000000000000000000000604482015290519081900360640190fd5b5060005b60ff8116841115610c1c57610c14858560ff8416818110610be757fe5b90506020020135600160a060020a031684848460ff168181101515610c0857fe5b90506020020135610e12565b600101610bca565b5050505050565b600254600160a060020a03163314610c87576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b600160a060020a039091166000908152600460205260409020908155600654600190910155565b600254600160a060020a031681565b600254600160a060020a03163314610d21576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b600160a060020a0316600090815260046020526040812081815560010155565b60085481565b600160a060020a03166000908152600460205260408120541190565b600254600160a060020a03163314610dc7576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b60055461072690600163ffffffff610e1616565b60096020526000908152604090205460e060020a0281565b60065490565b600082820183811015610e0b57600080fd5b9392505050565b5050565b60008083831115610e2657600080fd5b505090039056004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e00000000000000000000000000000000004f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e000000000000000000000000a165627a7a72305820c9f0f45bbef3afdc30a9413c57bc1cebec8d88bec82aaddadb8d9b1726f8b5020029","abi":[{"constant":false,"inputs":[{"name":"_issuanceRatio","type":"uint256"}],"name":"setIssuanceRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x054be0b7"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"debtLedger","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x08d95cd5"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"importedXDRAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x16b29c57"},{"constant":false,"inputs":[],"name":"incrementTotalIssuerCount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1bfba595"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"appendDebtLedgerValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3d31e97b"},{"constant":true,"inputs":[],"name":"lastDebtLedgerEntry","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x46317712"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"currencyKey","type":"bytes4"}],"name":"setPreferredCurrency","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x51dc7f7d"},{"constant":false,"inputs":[{"name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"issuanceData","outputs":[{"name":"initialDebtOwnership","type":"uint256"},{"name":"debtEntryIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8b3f8088"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"totalIssuerCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9371bede"},{"constant":false,"inputs":[{"name":"accounts","type":"address[]"},{"name":"sUSDAmounts","type":"uint256[]"}],"name":"importIssuerData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9e49e976"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"initialDebtOwnership","type":"uint256"}],"name":"setCurrentIssuanceData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa764eb45"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"clearIssuanceData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb16c09f0"},{"constant":true,"inputs":[],"name":"issuanceRatio","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb410a034"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"hasIssued","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb992812e"},{"constant":false,"inputs":[],"name":"decrementTotalIssuerCount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xba08f299"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"preferredCurrency","outputs":[{"name":"","type":"bytes4"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcaca2516"},{"constant":true,"inputs":[],"name":"debtLedgerLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcd92eba9"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newRatio","type":"uint256"}],"name":"IssuanceRatioUpdated","type":"event","signature":"0x63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d885452"},{"anonymous":false,"inputs":[{"indexed":false,"name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"LegacyTokenState":{"bytecode":"0x608060405234801561001057600080fd5b50604051604080610b47833981018060405281019080805190602001909291908051906020019092919050505081806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0381604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050610a13806101346000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806352f445ca146100a957806353a47bb7146100ec5780635b94db271461014357806370a082311461018657806379ba5097146101dd5780638da5cb5b146101f4578063aefc4ccb1461024b578063b46310f6146102a2578063da46098c146102ef578063dd62ed3e1461035c575b600080fd5b3480156100b557600080fd5b506100ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103d3565b005b3480156100f857600080fd5b506101016104d5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014f57600080fd5b50610184600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104fb565b005b34801561019257600080fd5b506101c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105fd565b6040518082815260200191505060405180910390f35b3480156101e957600080fd5b506101f2610615565b005b34801561020057600080fd5b506102096107f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025757600080fd5b50610260610816565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ae57600080fd5b506102ed600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083c565b005b3480156102fb57600080fd5b5061035a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108e0565b005b34801561036857600080fd5b506103bd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109c2565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561042e57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0381604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561055657600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2281604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60036020528060005260406000206000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561067157600080fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561089857600080fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093c57600080fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a7230582075e885147ce472e429b7afa787a02ccc5f81ae0af8bc28ba37737c00bdc0a6fd0029","abi":[{"constant":false,"inputs":[{"name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5b94db27"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"value","type":"uint256"}],"name":"setBalanceOf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb46310f6"},{"constant":false,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"setAllowance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xda46098c"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdd62ed3e"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"TokenState":{"bytecode":"608060405234801561001057600080fd5b5060405161075d38038061075d8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506105b7806101a66000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b80631627540c146100a357806352f445ca146100cb57806353a47bb7146100f157806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100c9600480360360208110156100e157600080fd5b50356001600160a01b0316610251565b6100f96102ad565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603602081101561012b57600080fd5b50356001600160a01b03166102bc565b60408051918252519081900360200190f35b6100c96102ce565b6100f961038a565b6100f9610399565b6100c96004803603604081101561017b57600080fd5b506001600160a01b0381351690602001356103a8565b6100c9600480360360608110156101a757600080fd5b506001600160a01b0381358116916020810135909116906040013561040d565b61013b600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610482565b6101fd61049f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61025961049f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60036020526000908152604090205481565b6001546001600160a01b031633146103175760405162461bcd60e51b81526004018080602001828103825260358152602001806104eb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146103f15760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146104565760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b031633146104e85760405162461bcd60e51b815260040180806020018281038252602f815260200180610520602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820030e1123711506f5827f299497b58bf4619b88e1a6ea8d2aabdd179e945b810964736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setAllowance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setBalanceOf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3","urls":["bzz-raw://93bf0064dec628d8353bdd383a390e4a71fc2e2cd0372928d10e85bcabe69507","dweb:/ipfs/QmVqc3MxPwaGP1ev4yegbGdon2VAUsbHT7Vi1pgYT1bAiz"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"TokenState.sol":"TokenState"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"TokenState.sol":{"keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3","urls":["bzz-raw://93bf0064dec628d8353bdd383a390e4a71fc2e2cd0372928d10e85bcabe69507","dweb:/ipfs/QmVqc3MxPwaGP1ev4yegbGdon2VAUsbHT7Vi1pgYT1bAiz"]}},"version":1}},"Synthetix":{"bytecode":"6080604052600a805460ff191690553480156200001b57600080fd5b50604051620057d4380380620057d48339810160408190526200003e916200031f565b84848484848085856040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e000000000000000000815250604051806040016040528060038152602001620a69cb60eb1b81525086601289868160006001600160a01b0316816001600160a01b03161415620000dd5760405162461bcd60e51b8152600401620000d4906200046d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200012a91849062000435565b60405180910390a1506000546001600160a01b03166200015e5760405162461bcd60e51b8152600401620000d4906200045b565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620001ab90839062000425565b60405180910390a150600480546001600160a01b0319166001600160a01b0388161790558451620001e49060059060208801906200024d565b508351620001fa9060069060208701906200024d565b50506007919091556008805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397909716969096029590951790945550620004eb9c50505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200029057805160ff1916838001178555620002c0565b82800160010185558215620002c0579182015b82811115620002c0578251825591602001919060010190620002a3565b50620002ce929150620002d2565b5090565b620002ef91905b80821115620002ce5760008155600101620002d9565b90565b8051620002ff81620004bb565b92915050565b8051620002ff81620004d5565b8051620002ff81620004e0565b600080600080600060a086880312156200033857600080fd5b6000620003468888620002f2565b9550506020620003598882890162000305565b94505060406200036c88828901620002f2565b93505060606200037f8882890162000312565b92505060806200039288828901620002f2565b9150509295509295909350565b620003aa81620004ae565b82525050565b620003aa8162000488565b6000620003ca6011836200047f565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620003f96019836200047f565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002ff82846200039f565b604081016200044582856200039f565b620004546020830184620003b0565b9392505050565b60208082528101620002ff81620003bb565b60208082528101620002ff81620003ea565b90815260200190565b6000620002ff82620004a2565b6000620002ff8262000488565b6001600160a01b031690565b6000620002ff8262000495565b620004c68162000488565b8114620004d257600080fd5b50565b620004c68162000495565b620004c681620002ef565b6152d980620004fb6000396000f3fe608060405234801561001057600080fd5b50600436106104335760003560e01c80636c00f31011610236578063a311c7c21161013b578063d37c4d8b116100c3578063e8e09b8b11610087578063e8e09b8b146108a9578063e90dd9e2146108bc578063ec556889146108c4578063edef719a14610687578063ee52a2f3146108cc57610433565b8063d37c4d8b14610860578063d67bdd2514610873578063d8a1f76f1461087b578063dbf633401461088e578063dd62ed3e1461089657610433565b8063ace88afd1161010a578063ace88afd1461080c578063af086c7e1461081f578063bc67f83214610827578063c2bf38801461083a578063c836fa0a1461084d57610433565b8063a311c7c2146107c0578063a47ed94c146107d3578063a5fdc5de146107e6578063a9059cbb146107f957610433565b80638a290014116101be57806395d89b411161018d57806395d89b411461077757806397107d6d1461077f5780639741fb2214610792578063987757dd1461079a5780639f769807146107ad57610433565b80638a290014146107415780638da5cb5b1461075457806391e56b681461075c5780639324cac71461076f57610433565b80637418536011610205578063741853601461070357806379ba50971461070b578063835e119c1461071357806383d625d414610726578063899ffef41461073957610433565b80636c00f310146106b55780636f01a986146106c857806370a08231146106db57806372cb051f146106ee57610433565b80632e0f26251161033c5780634e99bda9116102c45780635e22846a116102935780635e22846a1461066c578063614d08f81461067f578063666ed4f1146106875780636ac0bf9c1461069a5780636b76222f146106ad57610433565b80634e99bda914610634578063528c7efb1461063c57806353a47bb7146106445780635af090ef1461065957610433565b8063320223db1161030b578063320223db146105e057806332608039146105f35780633b05796b146106065780633e89b9e51461060e57806344b3e9231461062157610433565b80632e0f26251461059d5780632f7206ce146105b257806330ead760146105c5578063313ce567146105d857610433565b806318160ddd116103bf578063295da87d1161038e578063295da87d146105545780632a905318146105675780632af64bd31461056f5780632c955fa7146105775780632d3169eb1461058a57610433565b806318160ddd1461051e57806318821400146105265780631fce304d1461052e57806323b872dd1461054157610433565b80630e30963c116104065780630e30963c146104ab5780631137aedf146104cc5780631249c58b146104ee5780631627540c146104f657806316b2213f1461050b57610433565b806304f3bcec1461043857806305b3c1c91461045657806306fdde0314610476578063095ea7b31461048b575b600080fd5b6104406108df565b60405161044d9190614fc3565b60405180910390f35b610469610464366004613d8f565b6108f3565b60405161044d9190614e24565b61047e610980565b60405161044d9190614fd1565b61049e610499366004613e52565b610a0e565b60405161044d9190614e16565b6104be6104b93660046140a5565b610a9b565b60405161044d929190615140565b6104df6104da366004613d8f565b610baa565b60405161044d93929190614ec8565b61049e610c3f565b610509610504366004613d8f565b611002565b005b610469610519366004613d8f565b611060565b610469611095565b61047e61109b565b61049e61053c366004614069565b6110d4565b61049e61054f366004613e05565b611169565b610509610562366004614069565b6111a8565b61047e611229565b61049e611248565b610509610585366004613d8f565b611364565b6105096105983660046140a5565b6113b0565b6105a5611466565b60405161044d9190615183565b6105096105c0366004613f9c565b61146b565b6104696105d33660046140e8565b61152d565b6105a56115eb565b6105096105ee366004613d8f565b6115f4565b610440610601366004614069565b611640565b61049e6116c5565b61046961061c366004614069565b6116ce565b61046961062f36600461415d565b611706565b61049e6117be565b61049e61183d565b61064c6119a9565b60405161044d9190614c30565b6104696106673660046140e8565b6119b8565b61049e61067a366004613d8f565b611a18565b610469611db7565b610509610695366004613e52565b611dc7565b6104696106a8366004613d8f565b611dd3565b610509611edb565b6105096106c3366004613f9c565b611f86565b6105096106d6366004613e82565b611fd9565b6104696106e9366004613d8f565b612092565b6106f66120c4565b60405161044d9190614e05565b610509612142565b610509612294565b610440610721366004614069565b612330565b610469610734366004614069565b612365565b6106f661239d565b61050961074f366004614069565b61245e565b61064c6124a8565b61046961076a366004613f15565b6124b7565b610469612577565b61047e612582565b61050961078d366004613d8f565b6125dd565b610509612630565b6104df6107a8366004614069565b6126ae565b6105096107bb3660046141d2565b612724565b6104696107ce366004613d8f565b612750565b6105096107e1366004614069565b612785565b6104696107f4366004613d8f565b6127e2565b61049e610807366004613e52565b612817565b61050961081a366004613e82565b612861565b6105096128ae565b610509610835366004613d8f565b6128f7565b610509610848366004613e52565b612921565b61046961085b366004613eb4565b6129a5565b61046961086e366004613e52565b612a63565b61064c612aea565b610509610889366004614069565b612af9565b610469612b01565b6104696108a4366004613dcb565b612b7b565b6105096108b7366004613e52565b612baf565b610440612bfd565b610440612c0c565b6104696108da3660046140c7565b612c1b565b60085461010090046001600160a01b031681565b60006108fd612cd7565b6001600160a01b03166305b3c1c9836040518263ffffffff1660e01b81526004016109289190614c30565b60206040518083038186803b15801561094057600080fd5b505afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109789190810190614087565b90505b919050565b6005805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a065780601f106109db57610100808354040283529160200191610a06565b820191906000526020600020905b8154815290600101906020018083116109e957829003601f168201915b505050505081565b6000610a18612ceb565b60035460048054604051633691826360e21b81526001600160a01b03938416939091169163da46098c91610a529185918991899101614d58565b600060405180830381600087803b158015610a6c57600080fd5b505af1158015610a80573d6000803e3d6000fd5b50505050610a8f818585612d2a565b60019150505b92915050565b6000808584610aaa8282612daa565b610ab2612ceb565b610aba612e0b565b6001600160a01b0316634f8633d2600360009054906101000a90046001600160a01b0316600360009054906101000a90046001600160a01b03168b8b8b600360009054906101000a90046001600160a01b03166001600360009054906101000a90046001600160a01b03168e6040518a63ffffffff1660e01b8152600401610b4a99989796959493929190614d08565b6040805180830381600087803b158015610b6357600080fd5b505af1158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b9b9190810190614220565b93509350505094509492505050565b6000806000610bb7612cd7565b6001600160a01b0316631137aedf856040518263ffffffff1660e01b8152600401610be29190614c30565b60606040518083038186803b158015610bfa57600080fd5b505afa158015610c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c329190810190614280565b9250925092509193909250565b6000610c49612e22565b6000610c53612e76565b6001600160a01b03161415610c835760405162461bcd60e51b8152600401610c7a906150ac565b60405180910390fd5b6000610c8d612e97565b90506000610c99612e76565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cd657600080fd5b505afa158015610cea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d0e9190810190614087565b905060008111610d305760405162461bcd60e51b8152600401610c7a90615113565b610d3c60003083612eb3565b604051637e7961d760e01b81526000906001600160a01b03851690637e7961d790610d6b908590600401614e24565b602060405180830381600087803b158015610d8557600080fd5b505af1158015610d99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dbd9190810190614087565b90506000610dd1838363ffffffff612ef616565b600480546040516370a0823160e01b81529293506001600160a01b03169163b46310f6918791610e6d91869186916370a0823191610e1191879101614c30565b60206040518083038186803b158015610e2957600080fd5b505afa158015610e3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e619190810190614087565b9063ffffffff612f1e16565b6040518363ffffffff1660e01b8152600401610e8a929190614d9b565b600060405180830381600087803b158015610ea457600080fd5b505af1158015610eb8573d6000803e3d6000fd5b50505050610ec7308583612eb3565b604051630b32e9c760e31b81526001600160a01b038516906359974e3890610ef3908490600401614e24565b602060405180830381600087803b158015610f0d57600080fd5b505af1158015610f21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f45919081019061404b565b50600480546040516370a0823160e01b81526001600160a01b039091169163b46310f6913391610f8591879186916370a0823191610e1191879101614c3e565b6040518363ffffffff1660e01b8152600401610fa2929190614c4c565b600060405180830381600087803b158015610fbc57600080fd5b505af1158015610fd0573d6000803e3d6000fd5b50505050610fdf303384612eb3565b600754610ff2908463ffffffff612f1e16565b6007555060019450505050505b90565b61100a612f43565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290611055908390614c30565b60405180910390a150565b600061106a612cd7565b6001600160a01b03166316b2213f836040518263ffffffff1660e01b81526004016109289190614c30565b60075481565b6040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e00000000000000000081525081565b6000806110df612e0b565b6003546040516301670a7b60e21b81526001600160a01b039283169263059c29ec92611112929116908790600401614d9b565b60206040518083038186803b15801561112a57600080fd5b505afa15801561113e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111629190810190614087565b1192915050565b6000611173612f6d565b61117b612fc2565b6111858483613002565b5060035461119e906001600160a01b03168585856131e7565b90505b9392505050565b6111b0612e22565b6111b8612ceb565b6111c0612cd7565b60035460405163b06e8c6560e01b81526001600160a01b039283169263b06e8c65926111f3929116908590600401614d9b565b600060405180830381600087803b15801561120d57600080fd5b505af1158015611221573d6000803e3d6000fd5b505050505b50565b604051806040016040528060038152602001620a69cb60eb1b81525081565b6000606061125461239d565b905060005b815181101561135b57600082828151811061127057fe5b602090810291909101810151600081815260099092526040918290205460085492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a721906112c6908590600401614e24565b60206040518083038186803b1580156112de57600080fd5b505afa1580156112f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113169190810190613dad565b6001600160a01b031614158061134157506000818152600960205260409020546001600160a01b0316155b156113525760009350505050610fff565b50600101611259565b50600191505090565b61136c612e22565b611374612ceb565b61137c612cd7565b60035460405163159fa0d560e11b81526001600160a01b0392831692632b3f41aa926111f392869290911690600401614c67565b6113b86132ef565b6002546040516001600160a01b039091169063907dff97906113e290869086908690602001614ec8565b60405160208183030381529060405260026040516113ff90614bb8565b6040519081900381206001600160e01b031960e086901b16825261142e9392918a906000908190600401614f42565b600060405180830381600087803b15801561144857600080fd5b505af115801561145c573d6000803e3d6000fd5b5050505050505050565b601281565b6114736132ef565b6002546040516001600160a01b039091169063907dff97906114a19088908890889088908890602001614e7c565b60405160208183030381529060405260026040516114be90614ba2565b60405180910390206114cf8b613327565b6000806040518763ffffffff1660e01b81526004016114f396959493929190614f42565b600060405180830381600087803b15801561150d57600080fd5b505af1158015611521573d6000803e3d6000fd5b50505050505050505050565b6000858461153b8282612daa565b611543612ceb565b61154b612e0b565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d29261158d9291169081908d908d908d9084906000908f908f90600401614d08565b6040805180830381600087803b1580156115a657600080fd5b505af11580156115ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115de9190810190614220565b5098975050505050505050565b60085460ff1681565b6115fc612e22565b611604612ceb565b61160c612cd7565b60035460405163fd864ccf60e01b81526001600160a01b039283169263fd864ccf926111f392869290911690600401614c67565b600061164a612cd7565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004016116759190614e24565b60206040518083038186803b15801561168d57600080fd5b505afa1580156116a1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097891908101906141b4565b600a5460ff1681565b60006116d8612cd7565b6001600160a01b0316637b1001b78360016040518363ffffffff1660e01b8152600401610928929190614e40565b600085846117148282612daa565b61171c612ceb565b611724612e0b565b60035460405162674ed160e71b81526001600160a01b03928316926333a7688092611760929116908c908c908c9084908d908d90600401614da9565b602060405180830381600087803b15801561177a57600080fd5b505af115801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117b29190810190614087565b98975050505050505050565b60006117c8612cd7565b6001600160a01b0316634e99bda96040518163ffffffff1660e01b815260040160206040518083038186803b15801561180057600080fd5b505afa158015611814573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611838919081019061404b565b905090565b6000611847612fc2565b61184f612ceb565b60008061185a612cd7565b6003546040516339632c0b60e11b81526001600160a01b03928316926372c658169261188e92911690600190600401614d80565b6040805180830381600087803b1580156118a757600080fd5b505af11580156118bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118df9190810190614250565b60035491935091506118fc906001600160a01b0316838382613333565b60035460009061191d906001600160a01b03166119176133af565b856133ce565b90508061193c5760405162461bcd60e51b8152600401610c7a906150d9565b6119446133af565b6001600160a01b0316633c6b16ab846040518263ffffffff1660e01b815260040161196f9190614e24565b600060405180830381600087803b15801561198957600080fd5b505af115801561199d573d6000803e3d6000fd5b50929550505050505090565b6001546001600160a01b031681565b600085846119c68282612daa565b6119ce612ceb565b6119d6612e0b565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d29261158d9291169081908d908d908d9032906000908f908f90600401614c82565b6000611a22612fc2565b611a2a612ceb565b600080611a35612cd7565b6001600160a01b03166372c658168560006040518363ffffffff1660e01b8152600401611a63929190614d80565b6040805180830381600087803b158015611a7c57600080fd5b505af1158015611a90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ab49190810190614250565b6003549193509150611ad4908590849084906001600160a01b0316613333565b8115611dac57600080611ae56133db565b6001600160a01b0316638074b3726040518163ffffffff1660e01b815260040160206040518083038186803b158015611b1d57600080fd5b505afa158015611b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b559190810190614087565b90506000611b616133db565b6001600160a01b03166331e4e0306040518163ffffffff1660e01b815260040160206040518083038186803b158015611b9957600080fd5b505afa158015611bad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bd19190810190614087565b9050611be3828263ffffffff612f1e16565b851115611d01576000611bf46133db565b6001600160a01b0316635616c957896040518263ffffffff1660e01b8152600401611c1f9190614c30565b60206040518083038186803b158015611c3757600080fd5b505afa158015611c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c6f9190810190613dad565b90506000611c7e8983866133ce565b905080611c9d5760405162461bcd60e51b8152600401610c7a9061504f565b600354600090611cb8908b906001600160a01b0316866133ce565b905080611cd75760405162461bcd60e51b8152600401610c7a906150f6565b611cf7611cea868663ffffffff612f1e16565b899063ffffffff612ef616565b9550505050611d05565b8492505b6000611d1988611d136133af565b866133ce565b905080611d385760405162461bcd60e51b8152600401610c7a906150d9565b611d406133af565b6001600160a01b0316633c6b16ab856040518263ffffffff1660e01b8152600401611d6b9190614e24565b600060405180830381600087803b158015611d8557600080fd5b505af1158015611d99573d6000803e3d6000fd5b505050506001965050505050505061097b565b60009250505061097b565b680a6f2dce8d0cae8d2f60bb1b81565b611dcf6133f3565b5050565b6000611ddd612cd7565b600480546040516370a0823160e01b81526001600160a01b0393841693636bed0415938793909116916370a0823191611e1891859101614c30565b60206040518083038186803b158015611e3057600080fd5b505afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e689190810190614087565b6040518363ffffffff1660e01b8152600401611e85929190614d9b565b604080518083038186803b158015611e9c57600080fd5b505afa158015611eb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ed491908101906141f0565b5092915050565b611ee3612f43565b6004546000906001600160a01b03166370a08231611eff61340b565b6040518263ffffffff1660e01b8152600401611f1b9190614c30565b60206040518083038186803b158015611f3357600080fd5b505afa158015611f47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f6b9190810190614087565b9050611dcf611f7861340b565b611f80613425565b83613441565b611f8e6132ef565b6002546040516001600160a01b039091169063907dff9790611fbc9088908890889088908890602001614e7c565b60405160208183030381529060405260026040516114be90614be3565b611fe16132ef565b6002546040516001600160a01b039091169063907dff97906120099085908590602001614e4e565b604051602081830303815290604052600260405161202690614bf9565b604051809103902061203788613327565b6000806040518763ffffffff1660e01b815260040161205b96959493929190614f42565b600060405180830381600087803b15801561207557600080fd5b505af1158015612089573d6000803e3d6000fd5b50505050505050565b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a082319161092891869101614c30565b60606120ce612cd7565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561210657600080fd5b505afa15801561211a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118389190810190614016565b606061214c61239d565b905060005b8151811015611dcf57600082828151811061216857fe5b602002602001015190506000600860019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016121aa9190614c1a565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016121d6929190614e5c565b60206040518083038186803b1580156121ee57600080fd5b505afa158015612202573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122269190810190613dad565b6000838152600960205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906122829084908490614e32565b60405180910390a15050600101612151565b6001546001600160a01b031633146122be5760405162461bcd60e51b8152600401610c7a90614ff2565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92612301926001600160a01b0391821692911690614c67565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061233a612cd7565b6001600160a01b031663835e119c836040518263ffffffff1660e01b81526004016116759190614e24565b600061236f612cd7565b6001600160a01b0316637b1001b78360006040518363ffffffff1660e01b8152600401610928929190614e40565b6060806123a86135c1565b60408051600380825260808201909252919250606091906020820183803883390190505090506b526577617264457363726f7760a01b816000815181106123eb57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160018151811061241657fe5b6020026020010181815250506d537570706c795363686564756c6560901b8160028151811061244157fe5b60200260200101818152505061245782826136de565b9250505090565b612466612e22565b61246e612ceb565b612476612cd7565b6003546040516285c0d160e31b81526001600160a01b039283169263042e0688926111f3929116908590600401614d9b565b6000546001600160a01b031681565b600085846124c58282612daa565b6124cd612ceb565b6124d5612e0b565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612518928e92909116908d908d908d9085906000908f908f90600401614d08565b6040805180830381600087803b15801561253157600080fd5b505af1158015612545573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125699190810190614220565b509998505050505050505050565b631cd554d160e21b81565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a065780601f106109db57610100808354040283529160200191610a06565b6125e5612f43565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90611055908390614c3e565b612638612e22565b612640612ceb565b612648612cd7565b6003546040516324beb82560e11b81526001600160a01b039283169263497d704a9261267992911690600401614c30565b600060405180830381600087803b15801561269357600080fd5b505af11580156126a7573d6000803e3d6000fd5b505050505b565b60008060006126bb612ceb565b6126c3612e0b565b6003546040516306c5a00b60e21b81526001600160a01b0392831692631b16802c926126f6929116908890600401614d9b565b606060405180830381600087803b15801561271057600080fd5b505af1158015610c0e573d6000803e3d6000fd5b61272c613793565b600480546001600160a01b0319166001600160a01b03831617905561122681613801565b600061275a612cd7565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b81526004016109289190614c30565b61278d612f43565b600a5460ff1661122657600a805460ff1916600117905560006127c36127b16133af565b6000546001600160a01b0316846133ce565b905080611dcf5760405162461bcd60e51b8152600401610c7a9061502f565b60006127ec612cd7565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b81526004016109289190614c30565b6000612821612f6d565b612829612fc2565b60035461283f906001600160a01b031683613002565b50600354612857906001600160a01b031684846133ce565b5060019392505050565b6128696132ef565b6002546040516001600160a01b039091169063907dff97906128919085908590602001614e4e565b604051602081830303815290604052600260405161202690614bad565b6128b6612e22565b6128be612ceb565b6128c6612cd7565b60035460405163644bb89960e11b81526001600160a01b039283169263c89771329261267992911690600401614c30565b6128ff613873565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b612929612e22565b612931612ceb565b612939612cd7565b600354604051632694552d60e21b81526001600160a01b0392831692639a5154b49261296f928792909116908690600401614d58565b600060405180830381600087803b15801561298957600080fd5b505af115801561299d573d6000803e3d6000fd5b505050505050565b600083826129b38282612daa565b6129bb612ceb565b6129c3612e0b565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612a06928c92909116908b908b908b90859060009082908290600401614d08565b6040805180830381600087803b158015612a1f57600080fd5b505af1158015612a33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a579190810190614220565b50979650505050505050565b6000612a6d612cd7565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b8152600401612a9a929190614d9b565b60206040518083038186803b158015612ab257600080fd5b505afa158015612ac6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111a19190810190614087565b6003546001600160a01b031681565b6112266133f3565b6000612b0b612cd7565b6001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015612b4357600080fd5b505afa158015612b57573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118389190810190614087565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163dd62ed3e91612a9a918791879101614c67565b612bb7612e22565b612bbf612ceb565b612bc7612cd7565b60035460405163227635b160e11b81526001600160a01b03928316926344ec6b629261296f928792909116908690600401614d58565b6004546001600160a01b031681565b6002546001600160a01b031681565b60008382612c298282612daa565b612c31612ceb565b612c39612e0b565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612c7b9291169081908b908b908b90849060009082908290600401614d08565b6040805180830381600087803b158015612c9457600080fd5b505af1158015612ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ccc9190810190614220565b509695505050505050565b60006118386524b9b9bab2b960d11b61389d565b6002546001600160a01b03163314801590612d1157506003546001600160a01b03163314155b156126ac57600380546001600160a01b03191633179055565b6002546040516001600160a01b039091169063907dff9790612d50908490602001614e24565b6040516020818303038152906040526003604051612d6d90614bee565b6040518091039020612d7e88613327565b612d8788613327565b60006040518763ffffffff1660e01b815260040161205b96959493929190614f7c565b612db26138fa565b6001600160a01b0316631ce00ba283836040518363ffffffff1660e01b8152600401612ddf929190614e4e565b60006040518083038186803b158015612df757600080fd5b505afa15801561299d573d6000803e3d6000fd5b60006118386822bc31b430b733b2b960b91b61389d565b612e2a6138fa565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612e6257600080fd5b505afa1580156126a7573d6000803e3d6000fd5b6000611838722932bbb0b93239a234b9ba3934b13aba34b7b760691b61389d565b60006118386d537570706c795363686564756c6560901b61389d565b6002546040516001600160a01b039091169063907dff9790612ed9908490602001614e24565b6040516020818303038152906040526003604051612d6d90614c25565b600082821115612f185760405162461bcd60e51b8152600401610c7a9061506c565b50900390565b6000828201838110156111a15760405162461bcd60e51b8152600401610c7a9061503f565b6000546001600160a01b031633146126ac5760405162461bcd60e51b8152600401610c7a906150c9565b6002546001600160a01b0316331415612f85576126ac565b612f8e33613914565b15612faa57600380546001600160a01b031916331790556126ac565b60405162461bcd60e51b8152600401610c7a90615123565b612fca6138fa565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015612e6257600080fd5b60008061300d612cd7565b6001600160a01b031663d37c4d8b85631cd554d160e21b6040518363ffffffff1660e01b8152600401613041929190614d9b565b60206040518083038186803b15801561305957600080fd5b505afa15801561306d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130919190810190614087565b11156131de576000806130a2612cd7565b600480546040516370a0823160e01b81526001600160a01b0393841693636bed0415938a93909116916370a08231916130dd91859101614c30565b60206040518083038186803b1580156130f557600080fd5b505afa158015613109573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061312d9190810190614087565b6040518363ffffffff1660e01b815260040161314a929190614d9b565b604080518083038186803b15801561316157600080fd5b505afa158015613175573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061319991908101906141f0565b91509150818411156131bd5760405162461bcd60e51b8152600401610c7a9061508c565b80156131db5760405162461bcd60e51b8152600401610c7a9061509c565b50505b50600192915050565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163da46098c9187918991613289918891879163dd62ed3e9161322d918891889101614c67565b60206040518083038186803b15801561324557600080fd5b505afa158015613259573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061327d9190810190614087565b9063ffffffff612ef616565b6040518463ffffffff1660e01b81526004016132a793929190614d58565b600060405180830381600087803b1580156132c157600080fd5b505af11580156132d5573d6000803e3d6000fd5b505050506132e4848484613441565b90505b949350505050565b6132f7612e0b565b6001600160a01b0316336001600160a01b0316146126ac5760405162461bcd60e51b8152600401610c7a9061501f565b6001600160a01b031690565b6002546040516001600160a01b039091169063907dff979061335d9086908690869060200161515b565b604051602081830303815290604052600260405161337a90614c0f565b604051809103902061338b89613327565b6000806040518763ffffffff1660e01b815260040161142e96959493929190614f42565b6000611838704c697175696461746f725265776172647360781b61389d565b600061119e848484613441565b6000611838692634b8bab4b230ba37b960b11b61389d565b60405162461bcd60e51b8152600401610c7a9061507c565b60006118386b526577617264457363726f7760a01b61389d565b60006118386d2932bbb0b93222b9b1b937bbab1960911b61389d565b60006001600160a01b0383161580159061346457506001600160a01b0383163014155b801561347e57506002546001600160a01b03848116911614155b61349a5760405162461bcd60e51b8152600401610c7a90614fe2565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f69187916134d991879186916370a082319161322d91879101614c30565b6040518363ffffffff1660e01b81526004016134f6929190614d9b565b600060405180830381600087803b15801561351057600080fd5b505af1158015613524573d6000803e3d6000fd5b5050600480546040516370a0823160e01b81526001600160a01b03909116935063b46310f69250869161356791879186916370a0823191610e1191879101614c30565b6040518363ffffffff1660e01b8152600401613584929190614d9b565b600060405180830381600087803b15801561359e57600080fd5b505af11580156135b2573d6000803e3d6000fd5b50505050612857848484612eb3565b60408051600680825260e082019092526060916020820160c0803883390190505090506b53797374656d53746174757360a01b8160008151811061360157fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061362757fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061364a57fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b8160038151811061367a57fe5b602002602001018181525050704c697175696461746f725265776172647360781b816004815181106136a857fe5b602002602001018181525050692634b8bab4b230ba37b960b11b816005815181106136cf57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561370e578160200160208202803883390190505b50905060005b83518110156137505783818151811061372957fe5b602002602001015182828151811061373d57fe5b6020908102919091010152600101613714565b5060005b8251811015611ed45782818151811061376957fe5b602002602001015182828651018151811061378057fe5b6020908102919091010152600101613754565b6002546001600160a01b031633148015906137b957506003546001600160a01b03163314155b156137d157600380546001600160a01b031916331790555b6000546003546001600160a01b039081169116146126ac5760405162461bcd60e51b8152600401610c7a9061500f565b6002546040516001600160a01b039091169063907dff9790613827908490602001614c30565b604051602081830303815290604052600160405161384490614c04565b6040519081900381206001600160e01b031960e086901b1682526111f393929160009081908190600401614ee3565b6002546001600160a01b031633146126ac5760405162461bcd60e51b8152600401610c7a90615123565b60008181526009602090815260408083205490516001600160a01b0390911691821515916138cd91869101614bc3565b60405160208183030381529060405290611ed45760405162461bcd60e51b8152600401610c7a9190614fd1565b60006118386b53797374656d53746174757360a01b61389d565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a7219061394890600401615133565b60206040518083038186803b15801561396057600080fd5b505afa158015613974573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139989190810190613dad565b6001600160a01b0316826001600160a01b03161480613a4957506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906139e4906004016150e9565b60206040518083038186803b1580156139fc57600080fd5b505afa158015613a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a349190810190613dad565b6001600160a01b0316826001600160a01b0316145b80613ae657506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190613a819060040161505f565b60206040518083038186803b158015613a9957600080fd5b505afa158015613aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ad19190810190613dad565b6001600160a01b0316826001600160a01b0316145b80613b8357506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190613b1e90600401615002565b60206040518083038186803b158015613b3657600080fd5b505afa158015613b4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b6e9190810190613dad565b6001600160a01b0316826001600160a01b0316145b80613c2057506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190613bbb906004016150bc565b60206040518083038186803b158015613bd357600080fd5b505afa158015613be7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c0b9190810190613dad565b6001600160a01b0316826001600160a01b0316145b8061097857506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190613c5890600401615106565b60206040518083038186803b158015613c7057600080fd5b505afa158015613c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ca89190810190613dad565b6001600160a01b0316826001600160a01b0316149050919050565b8035610a9581615267565b8051610a9581615267565b600082601f830112613cea57600080fd5b8151613cfd613cf8826151b8565b615191565b91508181835260208401935060208101905083856020840282011115613d2257600080fd5b60005b83811015613d4e5781613d388882613d6e565b8452506020928301929190910190600101613d25565b5050505092915050565b8051610a958161527b565b8035610a9581615284565b8051610a9581615284565b8051610a958161528d565b8035610a958161528d565b600060208284031215613da157600080fd5b60006132e78484613cc3565b600060208284031215613dbf57600080fd5b60006132e78484613cce565b60008060408385031215613dde57600080fd5b6000613dea8585613cc3565b9250506020613dfb85828601613cc3565b9150509250929050565b600080600060608486031215613e1a57600080fd5b6000613e268686613cc3565b9350506020613e3786828701613cc3565b9250506040613e4886828701613d63565b9150509250925092565b60008060408385031215613e6557600080fd5b6000613e718585613cc3565b9250506020613dfb85828601613d63565b600080600060608486031215613e9757600080fd5b6000613ea38686613cc3565b9350506020613e3786828701613d63565b60008060008060808587031215613eca57600080fd5b6000613ed68787613cc3565b9450506020613ee787828801613d63565b9350506040613ef887828801613d63565b9250506060613f0987828801613d63565b91505092959194509250565b60008060008060008060c08789031215613f2e57600080fd5b6000613f3a8989613cc3565b9650506020613f4b89828a01613d63565b9550506040613f5c89828a01613d63565b9450506060613f6d89828a01613d63565b9350506080613f7e89828a01613cc3565b92505060a0613f8f89828a01613d63565b9150509295509295509295565b60008060008060008060c08789031215613fb557600080fd5b6000613fc18989613cc3565b9650506020613fd289828a01613d63565b9550506040613fe389828a01613d63565b9450506060613ff489828a01613d63565b935050608061400589828a01613d63565b92505060a0613f8f89828a01613cc3565b60006020828403121561402857600080fd5b815167ffffffffffffffff81111561403f57600080fd5b6132e784828501613cd9565b60006020828403121561405d57600080fd5b60006132e78484613d58565b60006020828403121561407b57600080fd5b60006132e78484613d63565b60006020828403121561409957600080fd5b60006132e78484613d6e565b600080600080608085870312156140bb57600080fd5b6000613ed68787613d63565b6000806000606084860312156140dc57600080fd5b6000613ea38686613d63565b600080600080600060a0868803121561410057600080fd5b600061410c8888613d63565b955050602061411d88828901613d63565b945050604061412e88828901613d63565b935050606061413f88828901613cc3565b925050608061415088828901613d63565b9150509295509295909350565b600080600080600060a0868803121561417557600080fd5b60006141818888613d63565b955050602061419288828901613d63565b94505060406141a388828901613d63565b935050606061413f88828901613d63565b6000602082840312156141c657600080fd5b60006132e78484613d79565b6000602082840312156141e457600080fd5b60006132e78484613d84565b6000806040838503121561420357600080fd5b600061420f8585613d6e565b9250506020613dfb85828601613d58565b6000806040838503121561423357600080fd5b600061423f8585613d6e565b9250506020613dfb85828601613d79565b6000806040838503121561426357600080fd5b600061426f8585613d6e565b9250506020613dfb85828601613d6e565b60008060006060848603121561429557600080fd5b60006142a18686613d6e565b93505060206142b286828701613d6e565b9250506040613e4886828701613d6e565b60006142cf8383614351565b505060200190565b6142e08161520d565b82525050565b6142e0816151ec565b60006142fa826151df565b61430481856151e3565b935061430f836151d9565b8060005b8381101561433d57815161432788826142c3565b9750614332836151d9565b925050600101614313565b509495945050505050565b6142e0816151f7565b6142e081610fff565b6142e061436682610fff565b610fff565b6000614376826151df565b61438081856151e3565b9350614390818560208601615231565b6143998161525d565b9093019392505050565b6142e0816151fc565b6142e081615218565b6142e081615226565b60006143cb601f836151e3565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b60006144046035836151e3565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6e53796e746865746978457363726f7760881b9052565b60006144726013836151e3565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b60006144a1601e836151e3565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b60006144da60448361097b565b7f41746f6d696353796e746845786368616e676528616464726573732c6279746581527f7333322c75696e743235362c627974657333322c75696e743235362c616464726020820152636573732960e01b604082015260440192915050565b6000614546601b836151e3565b7f7265737469747574696f6e207472616e73666572206661696c65640000000000815260200192915050565b600061457f601b836151e3565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006145b86024836151e3565b7f466c616720726577617264207472616e7366657220646964206e6f742073756381526318d9595960e21b602082015260400192915050565b6b526577617264457363726f7760a01b9052565b600061461260288361097b565b7f45786368616e67655265636c61696d28616464726573732c627974657333322c81526775696e743235362960c01b602082015260280192915050565b600061465c601e836151e3565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614695601b836151e3565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b60006146ce60318361097b565b7f45786368616e6765547261636b696e6728627974657333322c627974657333328152702c75696e743235362c75696e743235362960781b602082015260310192915050565b600061472160118361097b565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061474e603e8361097b565b7f53796e746845786368616e676528616464726573732c627974657333322c756981527f6e743235362c627974657333322c75696e743235362c616464726573732900006020820152603e0192915050565b60006147ad6026836151e3565b7f43616e6e6f74207472616e73666572207374616b6564206f7220657363726f778152650cac840a69cb60d31b602082015260400192915050565b60006147f5601e836151e3565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b600061482e601b836151e3565b7f52657761726473446973747269627574696f6e206e6f74207365740000000000815260200192915050565b6d54726164696e675265776172647360901b9052565b600061487d602f836151e3565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006148ce6024836151e3565b7f5472616e7366657220746f204c697175696461746f72526577617264732066618152631a5b195960e21b602082015260400192915050565b600061491460218361097b565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b600061495760278361097b565b7f45786368616e676552656261746528616464726573732c627974657333322c75815266696e743235362960c81b602082015260270192915050565b60006149a0601a8361097b565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b60006149d960328361097b565b7f4163636f756e744c69717569646174656428616464726573732c75696e743235815271362c75696e743235362c616464726573732960701b602082015260320192915050565b6d2932bbb0b93222b9b1b937bbab1960911b9052565b6000614a4360198361097b565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000614a7c6029836151e3565b7f4c697175696461746520726577617264207472616e7366657220646964206e6f8152681d081cdd58d8d9595960ba1b602082015260400192915050565b6411195c1bdd60da1b9052565b6000614ad46015836151e3565b744e6f20737570706c79206973206d696e7461626c6560581b815260200192915050565b6000614b0560218361097b565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000614b486017836151e3565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b7f53796e746865746978427269646765546f4f7074696d69736d000000000000009052565b6142e081615207565b6000610a95826144cd565b6000610a9582614605565b6000610a95826146c1565b6000614bce82614714565b9150614bda828461435a565b50602001919050565b6000610a9582614741565b6000610a9582614907565b6000610a958261494a565b6000610a9582614993565b6000610a95826149cc565b6000614bce82614a36565b6000610a9582614af8565b60208101610a9582846142e6565b60208101610a9582846142d7565b60408101614c5a82856142d7565b6111a16020830184614351565b60408101614c7582856142e6565b6111a160208301846142e6565b6101208101614c91828c6142e6565b614c9e602083018b6142e6565b614cab604083018a614351565b614cb86060830189614351565b614cc56080830188614351565b614cd260a08301876142d7565b614cdf60c0830186614348565b614cec60e08301856142e6565b614cfa610100830184614351565b9a9950505050505050505050565b6101208101614d17828c6142e6565b614d24602083018b6142e6565b614d31604083018a614351565b614d3e6060830189614351565b614d4b6080830188614351565b614cd260a08301876142e6565b60608101614d6682866142e6565b614d7360208301856142e6565b6132e76040830184614351565b60408101614d8e82856142e6565b6111a16020830184614348565b60408101614c5a82856142e6565b60e08101614db7828a6142e6565b614dc46020830189614351565b614dd16040830188614351565b614dde6060830187614351565b614deb60808301866142e6565b614df860a0830185614351565b6117b260c0830184614351565b602080825281016111a181846142ef565b60208101610a958284614348565b60208101610a958284614351565b60408101614c758285614351565b60408101614d8e8285614351565b60408101614c5a8285614351565b60408101614e6a8285614351565b818103602083015261119e818461436b565b60a08101614e8a8288614351565b614e976020830187614351565b614ea46040830186614351565b614eb16060830185614351565b614ebe60808301846142e6565b9695505050505050565b60608101614ed68286614351565b614d736020830185614351565b60c08082528101614ef4818961436b565b9050614f0360208301886143b5565b614f106040830187614351565b614f1d60608301866143ac565b614f2a60808301856143ac565b614f3760a08301846143ac565b979650505050505050565b60c08082528101614f53818961436b565b9050614f6260208301886143b5565b614f6f6040830187614351565b614f1d6060830186614351565b60c08082528101614f8d818961436b565b9050614f9c60208301886143b5565b614fa96040830187614351565b614fb66060830186614351565b614f2a6080830185614351565b60208101610a9582846143a3565b602080825281016111a1818461436b565b60208082528101610978816143be565b60208082528101610978816143f7565b6020810161097b8261444e565b6020808252810161097881614465565b6020808252810161097881614494565b6020808252810161097881614539565b6020808252810161097881614572565b60208082528101610978816145ab565b6020810161097b826145f1565b602080825281016109788161464f565b6020808252810161097881614688565b60208082528101610978816147a0565b60208082528101610978816147e8565b6020808252810161097881614821565b6020810161097b8261485a565b6020808252810161097881614870565b60208082528101610978816148c1565b6020810161097b82614a20565b6020808252810161097881614a6f565b6020810161097b82614aba565b6020808252810161097881614ac7565b6020808252810161097881614b3b565b6020810161097b82614b74565b6040810161514e8285614351565b6111a160208301846143a3565b606081016151698286614351565b6151766020830185614351565b6132e760408301846142e6565b60208101610a958284614b99565b60405181810167ffffffffffffffff811182821017156151b057600080fd5b604052919050565b600067ffffffffffffffff8211156151cf57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061097882613327565b151590565b6000610978826151ec565b60ff1690565b6000610978826151fc565b600061097861436683610fff565b600061097882610fff565b60005b8381101561524c578181015183820152602001615234565b838111156126a75750506000910152565b601f01601f191690565b615270816151ec565b811461122657600080fd5b615270816151f7565b61527081610fff565b615270816151fc56fea365627a7a723158208bd3345358e58479952e74232c0ca8d3d67aed8a62f07994b1730a57a1d4a81c6c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"},{"internalType":"contract TokenState","name":"_tokenState","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"snxRedeemed","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"address","name":"liquidator","type":"address"}],"name":"AccountLiquidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"fromCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"fromAmount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"toAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"toAddress","type":"address"}],"name":"AtomicSynthExchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ExchangeRebate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ExchangeReclaim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"trackingCode","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"toAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"ExchangeTracking","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxyAddress","type":"address"}],"name":"ProxyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"fromCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"fromAmount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"toAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"toAddress","type":"address"}],"name":"SynthExchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTokenState","type":"address"}],"name":"TokenStateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_SYMBOL","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"anySynthOrSNXRateIsInvalid","outputs":[{"internalType":"bool","name":"anyRateInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"availableCurrencyKeys","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"availableSynthCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"availableSynths","outputs":[{"internalType":"contract ISynth","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"burnSecondary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"burnForAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnSynthsOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"burnSynthsToTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"burnForAddress","type":"address"}],"name":"burnSynthsToTargetOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"collateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_issuer","type":"address"}],"name":"collateralisationRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"debtBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"fromCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"fromAmount","type":"uint256"},{"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"toAmount","type":"uint256"},{"internalType":"address","name":"toAddress","type":"address"}],"name":"emitAtomicSynthExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emitExchangeRebate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emitExchangeReclaim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"trackingCode","type":"bytes32"},{"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"toAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"emitExchangeTracking","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"fromCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"fromAmount","type":"uint256"},{"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"toAmount","type":"uint256"},{"internalType":"address","name":"toAddress","type":"address"}],"name":"emitSynthExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"exchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"},{"internalType":"uint256","name":"minAmount","type":"uint256"}],"name":"exchangeAtomically","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"exchangeForAddress","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"exchangeOnBehalf","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"exchangeForAddress","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"rewardAddress","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchangeOnBehalfWithTracking","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"rewardAddress","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchangeWithTracking","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"rewardAddress","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchangeWithTrackingForInitiator","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchangeWithVirtual","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"contract IVirtualSynth","name":"vSynth","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"initializeLiquidatorRewardsRestitution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"isWaitingPeriod","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"issueMaxSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"issueForAddress","type":"address"}],"name":"issueMaxSynthsOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issueSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"issueForAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issueSynthsOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"liquidateDelinquentAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"liquidateSelf","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"maxIssuableSynths","outputs":[{"internalType":"uint256","name":"maxIssuable","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"migrateEscrowBalanceToRewardEscrowV2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"mintSecondary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mintSecondaryRewards","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"remainingIssuableSynths","outputs":[{"internalType":"uint256","name":"maxIssuable","type":"uint256"},{"internalType":"uint256","name":"alreadyIssued","type":"uint256"},{"internalType":"uint256","name":"totalSystemDebt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"restituted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sUSD","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"setMessageSender","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"}],"name":"setProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract TokenState","name":"_tokenState","type":"address"}],"name":"setTokenState","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settle","outputs":[{"internalType":"uint256","name":"reclaimed","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"},{"internalType":"uint256","name":"numEntriesSettled","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"synths","outputs":[{"internalType":"contract ISynth","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"synthAddress","type":"address"}],"name":"synthsByAddress","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenState","outputs":[{"internalType":"contract TokenState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"totalIssuedSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"totalIssuedSynthsExcludeOtherCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"transferableSynthetix","outputs":[{"internalType":"uint256","name":"transferable","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xf00660ef25f409118798c084d386e09132dd4ea32937ae59f1a820471138a98c","urls":["bzz-raw://6e2b432d26432f5ca3f5c6002992dee7ce502514e70a82a3f983c7708ab720e9","dweb:/ipfs/QmUXTrBXv8cgR6e9BHXYyJa71chntgC7jhsxY3aieqasu9"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"Synthetix.sol":"Synthetix"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"Synthetix.sol":{"keccak256":"0xf00660ef25f409118798c084d386e09132dd4ea32937ae59f1a820471138a98c","urls":["bzz-raw://6e2b432d26432f5ca3f5c6002992dee7ce502514e70a82a3f983c7708ab720e9","dweb:/ipfs/QmUXTrBXv8cgR6e9BHXYyJa71chntgC7jhsxY3aieqasu9"]}},"version":1}},"SynthetixEscrow":{"bytecode":"608060405234801561001057600080fd5b5060405160408061161b8339810160405280516020909101516249d40082600160a060020a03811615156100a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150420160025560038054600160a060020a031916600160a060020a0392909216919091179055506114e8806101336000396000f3006080604052600436106101325763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663135c070181146101375780631627540c1461015a57806319e740c01461017b5780631bb47b44146101ae578063204b676a146101d5578063227d517a146101f65780632f5bb66114610217578063458efde31461027357806345e5441f1461028857806353a47bb7146102af5780636b3905c4146102e057806370a0823114610301578063759b52251461032257806379ba5097146103375780638da5cb5b1461034c57806397f46527146103615780639b217f9014610382578063a15d59ce146103a6578063bb2a7d0c146103bb578063da7bd3e9146103f4578063e6d76a7614610418578063ee1d036c14610430578063fec9f9da14610454575b600080fd5b34801561014357600080fd5b50610158600160a060020a0360043516610475565b005b34801561016657600080fd5b50610158600160a060020a036004351661059d565b34801561018757600080fd5b5061019c600160a060020a0360043516610662565b60408051918252519081900360200190f35b3480156101ba57600080fd5b50610158600160a060020a03600435166024356044356106a9565b3480156101e157600080fd5b5061019c600160a060020a0360043516610b29565b34801561020257600080fd5b5061019c600160a060020a0360043516610b44565b34801561022357600080fd5b50610238600160a060020a0360043516610b56565b6040518082600260200280838360005b83811015610260578181015183820152602001610248565b5050505090500191505060405180910390f35b34801561027f57600080fd5b50610158610ba9565b34801561029457600080fd5b5061019c600160a060020a0360043516602435604435610d8a565b3480156102bb57600080fd5b506102c4610dca565b60408051600160a060020a039092168252519081900360200190f35b3480156102ec57600080fd5b5061019c600160a060020a0360043516610dd9565b34801561030d57600080fd5b5061019c600160a060020a0360043516610df2565b34801561032e57600080fd5b506102c4610e0d565b34801561034357600080fd5b50610158610e1c565b34801561035857600080fd5b506102c4610f24565b34801561036d57600080fd5b5061019c600160a060020a0360043516610f33565b34801561038e57600080fd5b5061019c600160a060020a0360043516602435610f45565b3480156103b257600080fd5b5061019c610f60565b3480156103c757600080fd5b5061015860048035600160a060020a03169060248035808201929081013591604435908101910135610f66565b34801561040057600080fd5b50610238600160a060020a036004351660243561106b565b34801561042457600080fd5b506101586004356110da565b34801561043c57600080fd5b5061019c600160a060020a0360043516602435611236565b34801561046057600080fd5b50610158600160a060020a0360043516611249565b600054600160a060020a031633146104d9576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b6002544210610534576040805160e560020a62461bcd028152602060048201526029602482015260008051602061149d833981519152604482015260008051602061145d833981519152606482015290519081900360840190fd5b600160a060020a03811660009081526004602052604081206105559161133e565b600160a060020a0381166000908152600560205260409020546006546105809163ffffffff61130e16565b600655600160a060020a0316600090815260056020526040812055565b600054600160a060020a03163314610601576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600080600061067084610b29565b9150600090505b8181101561069e576106898482610f45565b15610696578092506106a2565b600101610677565b8192505b5050919050565b60008054600160a060020a0316331461070e576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b6002544210610769576040805160e560020a62461bcd028152602060048201526029602482015260008051602061149d833981519152604482015260008051602061145d833981519152606482015290519081900360840190fd5b4283116107c0576040805160e560020a62461bcd02815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015290519081900360640190fd5b811515610817576040805160e560020a62461bcd02815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b60065461082a908363ffffffff61132516565b600655600354604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561089357600080fd5b505af11580156108a7573d6000803e3d6000fd5b505050506040513d60208110156108bd57600080fd5b50516006541115610964576040805160e560020a62461bcd02815260206004820152604760248201527f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f60448201527f6e747261637420746f2070726f7669646520666f72207468652076657374696e60648201527f6720656e74727900000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b50600160a060020a03831660009081526004602052604090205460148111156109d7576040805160e560020a62461bcd02815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b8015156109fe57600160a060020a0384166000908152600560205260409020829055610ad2565b82610a14856001610a0e88610b29565b03610f45565b10610a8f576040805160e560020a62461bcd02815260206004820152603760248201527f43616e6e6f7420616464206e65772076657374656420656e747269657320656160448201527f726c696572207468616e20746865206c617374206f6e65000000000000000000606482015290519081900360840190fd5b600160a060020a038416600090815260056020526040902054610ab8908363ffffffff61132516565b600160a060020a0385166000908152600560205260409020555b600160a060020a0384166000908152600460209081526040808320815180830190925286825281830186905280546001810180835591855292909320610b219260029081029091019190611362565b505050505050565b600160a060020a031660009081526004602052604090205490565b60056020526000908152604090205481565b610b5e6113a0565b6000610b6983610662565b9050610b7483610b29565b811415610b965760408051808201909152600080825260208201529150610ba3565b610ba0838261106b565b91505b50919050565b6000806000806000610bba33610b29565b9450600092505b84831015610c6257610bd33384610f45565b915042821115610be257610c62565b610bec3384611236565b9050801515610bfa57610c57565b604080518082018252600080825260208083018290523382526004905291909120805485908110610c2757fe5b9060005260206000209060020201906002610c439291906113bb565b50610c54848263ffffffff61132516565b93505b600190920191610bc1565b8315610d8357600654610c7b908563ffffffff61130e16565b60065533600090815260056020526040902054610c9e908563ffffffff61130e16565b3360008181526005602090815260408083209490945560035484517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810194909452602484018990529351600160a060020a039094169363a9059cbb93604480820194918390030190829087803b158015610d1c57600080fd5b505af1158015610d30573d6000803e3d6000fd5b505050506040513d6020811015610d4657600080fd5b50506040805142815260208101869052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050505050565b600460205282600052604060002082815481101515610da557fe5b906000526020600020906002020181600281101515610dc057fe5b0154925083915050565b600154600160a060020a031681565b6000610de482610b56565b60005b602002015192915050565b600160a060020a031660009081526005602052604090205490565b600354600160a060020a031681565b600154600160a060020a03163314610ea4576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b6000610f3e82610b56565b6001610de7565b6000610f51838361106b565b60005b60200201519392505050565b60065481565b60008054600160a060020a03163314610fcb576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b6002544210611026576040805160e560020a62461bcd028152602060048201526029602482015260008051602061149d833981519152604482015260008051602061145d833981519152606482015290519081900360840190fd5b5060005b83811015610b21576110638686868481811061104257fe5b90506020020135858585818110151561105757fe5b905060200201356106a9565b60010161102a565b6110736113a0565b600160a060020a038316600090815260046020526040902080548390811061109757fe5b600091825260209091206040805180820191829052926002908102909201919082845b8154815260200190600101908083116110ba575050505050905092915050565b600054600160a060020a0316331461113e576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b6002544210611199576040805160e560020a62461bcd028152602060048201526029602482015260008051602061149d833981519152604482015260008051602061145d833981519152606482015290519081900360840190fd5b600354604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0390921660048301819052602483018490529051909163a9059cbb9160448083019260209291908290030181600087803b15801561120757600080fd5b505af115801561121b573d6000803e3d6000fd5b505050506040513d602081101561123157600080fd5b505050565b6000611242838361106b565b6001610f54565b600054600160a060020a031633146112ad576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b60038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d9181900360200190a150565b6000808383111561131e57600080fd5b5050900390565b60008282018381101561133757600080fd5b9392505050565b508054600082556002029060005260206000209081019061135f91906113ee565b50565b8260028101928215611390579160200282015b82811115611390578251825591602001919060010190611375565b5061139c929150611414565b5090565b60408051808201825290600290829080388339509192915050565b8260028101928215611390579160200282015b82811115611390578251829060ff169055916020019190600101906113ce565b61141191905b8082111561139c576000611408828261142e565b506002016113f4565b90565b61141191905b8082111561139c576000815560010161141a565b50600081556001016000905556004f6e6c792074686520636f6e7472616374206f776e6572206d61792070657266696e6720736574757000000000000000000000000000000000000000000000006f726d207468697320616374696f6e000000000000000000000000000000000043616e206f6e6c7920706572666f726d207468697320616374696f6e20647572a165627a7a7230582044e8d55a3290c68e9d2336eab4817fdde1a9e9858bbdc3186f104e268eb1be1d0029","abi":[{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"purgeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x135c0701"},{"constant":false,"inputs":[{"name":"quantity","type":"uint256"}],"name":"withdrawHavvens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x19dc831a"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x19e740c0"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"time","type":"uint256"},{"name":"quantity","type":"uint256"}],"name":"appendVestingEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1bb47b44"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"numVestingEntries","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x204b676a"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"totalVestedAccountBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x227d517a"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingEntry","outputs":[{"name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2f5bb661"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x313ce567"},{"constant":false,"inputs":[],"name":"vest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x458efde3"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"vestingSchedules","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x45e5441f"},{"constant":false,"inputs":[{"name":"_havven","type":"address"}],"name":"setHavven","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4fa2b0a5"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5b94db27"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6b3905c4"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingQuantity","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x97f46527"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getVestingTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9b217f90"},{"constant":true,"inputs":[],"name":"havven","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9c4de81f"},{"constant":true,"inputs":[],"name":"UNIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9d8e2177"},{"constant":true,"inputs":[],"name":"totalVestedBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa15d59ce"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"times","type":"uint256[]"},{"name":"quantities","type":"uint256[]"}],"name":"addVestingSchedule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbb2a7d0c"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getVestingScheduleEntry","outputs":[{"name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xda7bd3e9"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getVestingQuantity","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xee1d036c"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_havven","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newHavven","type":"address"}],"name":"HavvenUpdated","type":"event","signature":"0x7d83fa33771af200b7fda80813418ffe7eafdbeb2a93f5267ced74abac654a4e"},{"anonymous":false,"inputs":[{"indexed":false,"name":"beneficiary","type":"address"},{"indexed":true,"name":"beneficiaryIndex","type":"address"},{"indexed":false,"name":"time","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Vested","type":"event","signature":"0x6d06f0a463d80b43fe6cd0b79c61bb2790cfe898790e69828f25e6e12886e178"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"Synth":{"bytecode":"60806040523480156200001157600080fd5b5060405162002cf638038062002cf683398181016040526101008110156200003857600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006457600080fd5b9083019060208201858111156200007a57600080fd5b82516401000000008111828201881017156200009557600080fd5b82525081516020918201929091019080838360005b83811015620000c4578181015183820152602001620000aa565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b9083019060208201858111156200012c57600080fd5b82516401000000008111828201881017156200014757600080fd5b82525081516020918201929091019080838360005b83811015620001765781810151838201526020016200015c565b50505050905090810190601f168015620001a45780820380516001836020036101000a031916815260200191505b5060409081526020820151908201516060830151608090930151919450925080888888888660128a86816001600160a01b0381166200022a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002d5576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b03881617905584516200035790600690602088019062000454565b5083516200036d90600790602087019062000454565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620003f2576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b03841662000443576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600b5550620004f99350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049757805160ff1916838001178555620004c7565b82800160010185558215620004c7579182015b82811115620004c7578251825591602001919060010190620004aa565b50620004d5929150620004d9565b5090565b620004f691905b80821115620004d55760008155600101620004e0565b90565b6127ed80620005096000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806395d89b411161011a578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e2146105fc578063eb1edd6114610604578063ec5568891461060c578063f7ea7a3d14610614578063ffff51d61461063157610206565b8063d67bdd2514610588578063dbd06c8514610590578063dd62ed3e14610598578063e73cced3146105c657610206565b80639f769807116100e95780639f769807146104e4578063a9059cbb1461050a578063b014c3a314610536578063bc67f8321461056257610206565b806395d89b411461048257806397107d6d1461048a5780639cbdaeb6146104b05780639dc29fac146104b857610206565b80632e0f26251161019d578063741853601161016c57806374185360146103e657806379ba5097146103ee578063867904b4146103f6578063899ffef4146104225780638da5cb5b1461047a57610206565b80632e0f262514610392578063313ce567146103b057806353a47bb7146103b857806370a08231146103c057610206565b80631627540c116101d95780631627540c1461031457806318160ddd1461033a57806323b872dd146103545780632af64bd31461038a57610206565b806304f3bcec1461020b57806306fdde031461022f578063095ea7b3146102ac578063131b0ae7146102ec575b600080fd5b610213610657565b604080516001600160a01b039092168252519081900360200190f35b61023761066b565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610271578181015183820152602001610259565b50505050905090810190601f16801561029e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d8600480360360408110156102c257600080fd5b506001600160a01b0381351690602001356106f9565b604080519115158252519081900360200190f35b6103126004803603602081101561030257600080fd5b50356001600160a01b0316610794565b005b6103126004803603602081101561032a57600080fd5b50356001600160a01b03166107be565b61034261081a565b60408051918252519081900360200190f35b6102d86004803603606081101561036a57600080fd5b506001600160a01b03813581169160208101359091169060400135610820565b6102d8610847565b61039a610959565b6040805160ff9092168252519081900360200190f35b61039a61095e565b610213610967565b610342600480360360208110156103d657600080fd5b50356001600160a01b0316610976565b6103126109fb565b610312610bd8565b6103126004803603604081101561040c57600080fd5b506001600160a01b038135169060200135610c94565b61042a610d51565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561046657818101518382015260200161044e565b505050509050019250505060405180910390f35b610213610e0d565b610237610e1c565b610312600480360360208110156104a057600080fd5b50356001600160a01b0316610e77565b610213610ed3565b610312600480360360408110156104ce57600080fd5b506001600160a01b038135169060200135610ee2565b610312600480360360208110156104fa57600080fd5b50356001600160a01b0316610fa0565b6102d86004803603604081101561052057600080fd5b506001600160a01b038135169060200135610fcf565b6102d86004803603604081101561054c57600080fd5b506001600160a01b038135169060200135611067565b6103126004803603602081101561057857600080fd5b50356001600160a01b03166111c0565b6102136111ea565b6103426111f9565b610342600480360360408110156105ae57600080fd5b506001600160a01b03813581169160200135166111ff565b6102d8600480360360608110156105dc57600080fd5b506001600160a01b0381358116916020810135909116906040013561128b565b6102136113db565b6102136113ea565b610213611402565b6103126004803603602081101561062a57600080fd5b5035611411565b6103426004803603602081101561064757600080fd5b50356001600160a01b031661141e565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b820191906000526020600020905b8154815290600101906020018083116106d457829003601f168201915b505050505081565b6000610703611561565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b15801561076557600080fd5b505af1158015610779573d6000803e3d6000fd5b505050506107888185856115b8565b60019150505b92915050565b61079c6116f1565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6107c66116f1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b600061082a611561565b610834848361173a565b61083f8484846118b1565b949350505050565b60006060610853610d51565b905060005b815181101561094f57600082828151811061086f57fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b50516001600160a01b031614158061093557506000818152600a60205260409020546001600160a01b0316155b156109465760009350505050610956565b50600101610858565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d60208110156109f157600080fd5b505190505b919050565b6060610a05610d51565b905060005b8151811015610bd4576000828281518110610a2157fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610aec578181015183820152602001610ad4565b50505050905090810190601f168015610b195780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610b3757600080fd5b505afa158015610b4b573d6000803e3d6000fd5b505050506040513d6020811015610b6157600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a0a565b5050565b6001546001600160a01b03163314610c215760405162461bcd60e51b815260040180806020018281038252603581526020018061268c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610c9e611a72565b6001600160a01b0316336001600160a01b03161490506000610cbe611a8c565b6001600160a01b0316336001600160a01b03161490506000610cde611aa3565b6001600160a01b0316336001600160a01b03161490508280610cfd5750815b80610d055750805b610d405760405162461bcd60e51b81526004018080602001828103825260338152602001806126f06033913960400191505060405180910390fd5b610d4a8585611ab7565b5050505050565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110610d9157fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610db757fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610dda57fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110610dfe57fe5b60200260200101818152505090565b6000546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b610e7f6116f1565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b6000610eec611a72565b6001600160a01b0316336001600160a01b03161490506000610f0c611a8c565b6001600160a01b0316336001600160a01b03161490506000610f2c611aa3565b6001600160a01b0316336001600160a01b03161490508280610f4b5750815b80610f535750805b610f8e5760405162461bcd60e51b81526004018080602001828103825260338152602001806126f06033913960400191505060405180910390fd5b610f988585611be1565b505050505050565b610fa8611cde565b600580546001600160a01b0319166001600160a01b038316179055610fcc81611d8e565b50565b6000610fd9611561565b600454610fef906001600160a01b03168361173a565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef14156110255761101e8383611ecd565b905061078e565b6001600160a01b0383166110495760045461101e906001600160a01b031683611be1565b600454611060906001600160a01b03168484612030565b9392505050565b6000611071611561565b600061107b611a8c565b60048054600b54604080516306c5a00b60e21b81526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b1580156110d657600080fd5b505af11580156110ea573d6000803e3d6000fd5b505050506040513d606081101561110057600080fd5b5060400151905082811561118e5760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b15801561115f57600080fd5b505afa158015611173573d6000803e3d6000fd5b505050506040513d602081101561118957600080fd5b505190505b80841161119b578361119d565b805b6004549094506111b7906001600160a01b03168686612030565b95945050505050565b6111c861225d565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600b5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561125857600080fd5b505afa15801561126c573d6000803e3d6000fd5b505050506040513d602081101561128257600080fd5b50519392505050565b6000611295611561565b600061129f611a8c565b6001600160a01b0316631b16802c86600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561130057600080fd5b505af1158015611314573d6000803e3d6000fd5b505050506040513d606081101561132a57600080fd5b506040015190508281156113b457600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561138557600080fd5b505afa158015611399573d6000803e3d6000fd5b505050506040513d60208110156113af57600080fd5b505190505b808410156113c257836113c4565b805b93506113d18686866118b1565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611419611cde565b600855565b600080611429611a8c565b6001600160a01b03166319d5c66584600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561148857600080fd5b505afa15801561149c573d6000803e3d6000fd5b505050506040513d60608110156114b257600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561150757600080fd5b505afa15801561151b573d6000803e3d6000fd5b505050506040513d602081101561153157600080fd5b5051905080821115611548576000925050506109f6565b611558818363ffffffff6122d116565b925050506109f6565b6002546001600160a01b0316331480159061158757506003546001600160a01b03163314155b801561159e57506004546001600160a01b03163314155b156115b657600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161275282396021019050604051809103902061160b8861232e565b6116148861232e565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561168357818101518382015260200161166b565b50505050905090810190601f1680156116b05780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156116d457600080fd5b505af11580156116e8573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146115b65760405162461bcd60e51b815260040180806020018281038252602f815260200180612723602f913960400191505060405180910390fd5b611742611a8c565b6001600160a01b031663059c29ec83600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156117a157600080fd5b505afa1580156117b5573d6000803e3d6000fd5b505050506040513d60208110156117cb57600080fd5b5051156118095760405162461bcd60e51b81526004018080602001828103825260258152602001806127736025913960400191505060405180910390fd5b806118138361141e565b10156118505760405162461bcd60e51b815260040180806020018281038252602f8152602001806126c1602f913960400191505060405180910390fd5b61185861233a565b6001600160a01b03166342a28e21600b546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561189d57600080fd5b505afa158015610f98573d6000803e3d6000fd5b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b15801561190f57600080fd5b505afa158015611923573d6000803e3d6000fd5b505050506040513d602081101561193957600080fd5b505114611a67576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c9288926119e6918891879163dd62ed3e91604480820192602092909190829003018186803b1580156119ae57600080fd5b505afa1580156119c2573d6000803e3d6000fd5b505050506040513d60208110156119d857600080fd5b50519063ffffffff6122d116565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611a4e57600080fd5b505af1158015611a62573d6000803e3d6000fd5b505050505b61083f848484612030565b6000611a8766119959541bdbdb60ca1b612350565b905090565b6000611a876822bc31b430b733b2b960b91b612350565b6000611a876524b9b9bab2b960d11b612350565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611b4d91869186916370a0823191602480820192602092909190829003018186803b158015611b1557600080fd5b505afa158015611b29573d6000803e3d6000fd5b505050506040513d6020811015611b3f57600080fd5b50519063ffffffff61243416565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611b9c57600080fd5b505af1158015611bb0573d6000803e3d6000fd5b5050600854611bc8925090508263ffffffff61243416565b600855611bd76000838361248e565b610bd482826124e1565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f6918691611c4191879186916370a08231916024808301926020929190829003018186803b1580156119ae57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611c9057600080fd5b505af1158015611ca4573d6000803e3d6000fd5b5050600854611cbc925090508363ffffffff6122d116565b600855611ccb8360008461248e565b611cd58383612622565b50600192915050565b6002546001600160a01b03163314801590611d0457506003546001600160a01b03163314155b8015611d1b57506004546001600160a01b03163314155b15611d3357600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146115b6576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b83811015611e68578181015183820152602001611e50565b50505050905090810190601f168015611e955780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015611eb957600080fd5b505af1158015610d4a573d6000803e3d6000fd5b600080600b54631cd554d160e21b1415611f0157506004548290611efb906001600160a01b03168583612030565b50611fc1565b611f09611a8c565b60048054600b5460408051630a1e187d60e01b81526001600160a01b0393841694810194909452602484019190915260448301879052631cd554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b158015611f9257600080fd5b505af1158015611fa6573d6000803e3d6000fd5b505050506040513d6020811015611fbc57600080fd5b505190505b611fc9611a72565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561200e57600080fd5b505af1158015612022573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b0383161580159061205357506001600160a01b0383163014155b801561206d57506002546001600160a01b03848116911614155b6120be576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161211c91879186916370a0823191602480820192602092909190829003018186803b1580156119ae57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561216b57600080fd5b505af115801561217f573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f6925086916121e191879186916370a0823191602480820192602092909190829003018186803b158015611b1557600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561223057600080fd5b505af1158015612244573d6000803e3d6000fd5b5050505061225384848461248e565b5060019392505050565b6002546001600160a01b031633148061228057506003546001600160a01b031633145b6115b6576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b600082821115612328576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000611a876b53797374656d53746174757360a01b5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161242d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123f25781810151838201526020016123da565b50505050905090810190601f16801561241f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600082820183811015611060576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161279882396021019050604051809103902061160b8861232e565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff979261254a8761232e565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156125bd5781810151838201526020016125a5565b50505050905090810190601f1680156125ea5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561260e57600080fd5b505af1158015610f98573d6000803e3d6000fd5b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff979261254a8761232e56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a72315820ae46225f657c6eb5e339b41335f3b2e9d3eb76572d610cfceb69ae5d69daad8e64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"},{"internalType":"contract TokenState","name":"_tokenState","type":"address"},{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event","signature":"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burned","type":"event","signature":"0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Issued","type":"event","signature":"0xa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxyAddress","type":"address"}],"name":"ProxyUpdated","type":"event","signature":"0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTokenState","type":"address"}],"name":"TokenStateUpdated","type":"event","signature":"0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event","signature":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"},{"constant":true,"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2e0f2625"},{"constant":true,"inputs":[],"name":"FEE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeb1edd61"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdd62ed3e"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x095ea7b3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9dc29fac"},{"constant":true,"inputs":[],"name":"currencyKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdbd06c85"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x313ce567"},{"constant":true,"inputs":[],"name":"integrationProxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9cbdaeb6"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x867904b4"},{"constant":true,"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd67bdd25"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x06fdde03"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"proxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xec556889"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_integrationProxy","type":"address"}],"name":"setIntegrationProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x131b0ae7"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"setMessageSender","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbc67f832"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"}],"name":"setProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x97107d6d"},{"constant":false,"inputs":[{"internalType":"contract TokenState","name":"_tokenState","type":"address"}],"name":"setTokenState","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9f769807"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTotalSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf7ea7a3d"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x95d89b41"},{"constant":true,"inputs":[],"name":"tokenState","outputs":[{"internalType":"contract TokenState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe90dd9e2"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18160ddd"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa9059cbb"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb014c3a3"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23b872dd"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFromAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe73cced3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"transferableSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xffff51d6"}],"source":{"keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751","urls":["bzz-raw://91271991028a91cffb9ddc5a3c3877f3c1c5303fb75fdcf9532a396de925312d","dweb:/ipfs/QmWghHtKJMcBGcyGFZwPDgcphGb2vrZV7piSf7ogPai5SU"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"Synth.sol":"Synth"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"Synth.sol":{"keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751","urls":["bzz-raw://91271991028a91cffb9ddc5a3c3877f3c1c5303fb75fdcf9532a396de925312d","dweb:/ipfs/QmWghHtKJMcBGcyGFZwPDgcphGb2vrZV7piSf7ogPai5SU"]}},"version":1}},"Depot":{"bytecode":"608060408190527f907af6c000000000000000000000000000000000000000000000000000000000815273__Depot.sol:SafeDecimalMath_____________9063907af6c09060849060209060048186803b1580156200005e57600080fd5b505af415801562000073573d6000803e3d6000fd5b505050506040513d60208110156200008a57600080fd5b5051603202600d55604080517f907af6c0000000000000000000000000000000000000000000000000000000008152905173__Depot.sol:SafeDecimalMath_____________9163907af6c0916004808301926020929190829003018186803b158015620000f757600080fd5b505af41580156200010c573d6000803e3d6000fd5b505050506040513d60208110156200012357600080fd5b50516101f402600e553480156200013957600080fd5b506040516060806200382a8339810160409081528151602083015191909201518281818080600160a060020a0381161515620001d657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600160a060020a0381161515620002a757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f776e6572206d757374206e6f74206265207a65726f00000000000000000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810261010060a860020a03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a15050600160065560078054600160a060020a03928316600160a060020a03199182161790915560088054959092169416939093179092555050506134e0806200034a6000396000f3006080604052600436106101d45763ffffffff60e060020a6000350416630227943881146101df57806304f3bcec146101f9578063080c279a1461022a5780630c928bc21461023f5780630c928f051461024a5780631627540c1461026257806316c38b3c1461028557806317c70de41461029f5780631f930115146102b457806320714f88146102bc5780632194f3a2146102dd5780633278c960146102f25780634d0387fb146103075780634e543b261461031c57806353a47bb71461033d5780635c975abb1461035257806364e39b871461037b5780636d5ab4a91461039c57806379ba5097146103b157806381b797dc146103c65780638da5cb5b146103db57806391b4ded9146103f05780639342c0eb146104055780639cb8a26a14610413578063a3d8829b14610428578063a461fc8214610440578063aab483d614610455578063b02c43d01461046d578063b0c2cb96146104a8578063b1338cc4146104c3578063b8225dec146104d8578063bb7df172146104ed578063bd32aa4414610505578063c58aaae61461051a578063c6abb7c71461052f578063c8d889f214610550578063dc8fa6c214610568578063e6d76a7614610580578063f852d39314610598578063fd12167f146105b0575b6101dc6105c5565b50005b6101e7610fae565b60408051918252519081900360200190f35b34801561020557600080fd5b5061020e611304565b60408051600160a060020a039092168252519081900360200190f35b34801561023657600080fd5b506101e7611313565b6101e7600435611319565b34801561025657600080fd5b506101e760043561155e565b34801561026e57600080fd5b50610283600160a060020a0360043516611601565b005b34801561029157600080fd5b5061028360043515156116b9565b3480156102ab57600080fd5b506101e761178f565b6101e76105c5565b3480156102c857600080fd5b50610283600160a060020a0360043516611795565b3480156102e957600080fd5b5061020e6118c2565b3480156102fe57600080fd5b506102836118d1565b34801561031357600080fd5b506101e761196f565b34801561032857600080fd5b50610283600160a060020a0360043516611975565b34801561034957600080fd5b5061020e6119fb565b34801561035e57600080fd5b50610367611a0a565b604080519115158252519081900360200190f35b34801561038757600080fd5b50610283600160a060020a0360043516611a13565b3480156103a857600080fd5b506101e7611ad1565b3480156103bd57600080fd5b50610283611ad7565b3480156103d257600080fd5b50610283611bd2565b3480156103e757600080fd5b5061020e611e5b565b3480156103fc57600080fd5b506101e7611e6a565b6101e7600435602435611e70565b34801561041f57600080fd5b5061028361228e565b34801561043457600080fd5b506101e7600435612407565b34801561044c57600080fd5b506101e76124a4565b34801561046157600080fd5b506102836004356124ab565b34801561047957600080fd5b50610485600435612639565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156104b457600080fd5b506101e760043560243561265e565b3480156104cf57600080fd5b506101e76128a7565b3480156104e457600080fd5b506103676128ad565b3480156104f957600080fd5b506102836004356128b6565b34801561051157600080fd5b50610283612955565b34801561052657600080fd5b5061020e612a02565b34801561053b57600080fd5b506101e7600160a060020a0360043516612a16565b34801561055c57600080fd5b506101e7600435612a28565b34801561057457600080fd5b50610283600435612ad1565b34801561058c57600080fd5b50610283600435612cae565b3480156105a457600080fd5b506101e7600435612dbb565b3480156105bc57600080fd5b506101e76130cb565b60008060008060006105d56133fd565b6006805460010190819055600090819060eb60020a6208aa89026105f76130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561064657600080fd5b505af115801561065a573d6000803e3d6000fd5b505050506040513d602081101561067057600080fd5b5051156106b5576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff1615610712576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b600e54341115610792576040805160e560020a62461bcd02815260206004820152602560248201527f45544820616d6f756e742061626f7665206d617845746850757263686173652060448201527f6c696d6974000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61082d61079d6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b505050506040513d602081101561081e57600080fd5b5051349063ffffffff6131bb16565b9750879650600a5495505b6000871180156108495750600b5486105b15610e175760008681526009602090815260409182902082518084019093528054600160a060020a03168084526001909101549183019190915290955015156108a857600a546108a090600163ffffffff6131e716565b600a55610e0c565b8685602001511115610b5b5760208501516108c9908863ffffffff6131f916565b6040805180820182528751600160a060020a039081168252602080830185815260008c8152600990925293902091518254600160a060020a03191691161781559051600190910155600c5490945061092190886131f9565b600c556109bf61092f6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b15801561098657600080fd5b505af115801561099a573d6000803e3d6000fd5b505050506040513d60208110156109b057600080fd5b5051889063ffffffff61321016565b8551604051919a50600160a060020a0316908a156108fc02908b906000818181858888f193505050501515610a6f57600854604051600160a060020a03909116908a156108fc02908b906000818181858888f19350505050158015610a28573d6000803e3d6000fd5b508451604080518b81529051600160a060020a03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610abb565b8451604080518b8152602081018a905281518993600160a060020a03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c929081900390910190a45b610ac361323a565b600160a060020a031663a9059cbb33896040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610b2557600080fd5b505af1158015610b39573d6000803e3d6000fd5b505050506040513d6020811015610b4f57600080fd5b5060009750610e0c9050565b60208501518710610e0c5760008681526009602052604081208054600160a060020a0319168155600190810191909155600a54610b9d9163ffffffff6131e716565b600a556020850151600c54610bb79163ffffffff6131f916565b600c55610c59610bc56130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b158015610c1c57600080fd5b505af1158015610c30573d6000803e3d6000fd5b505050506040513d6020811015610c4657600080fd5b505160208701519063ffffffff61321016565b8551604051919a50600160a060020a0316908a156108fc02908b906000818181858888f193505050501515610d0957600854604051600160a060020a03909116908a156108fc02908b906000818181858888f19350505050158015610cc2573d6000803e3d6000fd5b508451604080518b81529051600160a060020a03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610d59565b8451602080870151604080518d81529283019190915280518993600160a060020a03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c92918290030190a45b610d6161323a565b600160a060020a031663a9059cbb3387602001516040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610dc757600080fd5b505af1158015610ddb573d6000803e3d6000fd5b505050506040513d6020811015610df157600080fd5b50506020850151610e0990889063ffffffff6131f916565b96505b600190950194610838565b6000871115610ee957336108fc610ebf610e2f6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b158015610e8657600080fd5b505af1158015610e9a573d6000803e3d6000fd5b505050506040513d6020811015610eb057600080fd5b50518a9063ffffffff61321016565b6040518115909202916000818181858888f19350505050158015610ee7573d6000803e3d6000fd5b505b610ef9888863ffffffff6131f916565b92506000831115610f91576040805134602082015260608101859052608080825260039082015260eb60020a6208aa890260a082015260c08183018190526004908201527f735553440000000000000000000000000000000000000000000000000000000060e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15b829950506006548114610fa357600080fd5b505050505050505090565b60008060eb60020a620a69cb02610fc36130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561101257600080fd5b505af1158015611026573d6000803e3d6000fd5b505050506040513d602081101561103c57600080fd5b505115611081576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60eb60020a6208aa89026110936130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b1580156110e257600080fd5b505af11580156110f6573d6000803e3d6000fd5b505050506040513d602081101561110c57600080fd5b505115611151576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff16156111ae576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6111b734612a28565b600854604051919450600160a060020a0316903480156108fc02916000818181858888f193505050501580156111f1573d6000803e3d6000fd5b506111fa6132f3565b600160a060020a031663a9059cbb33856040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561125c57600080fd5b505af1158015611270573d6000803e3d6000fd5b505050506040513d602081101561128657600080fd5b505060408051346020820152606081018590526080808252600390820181905260eb60020a6208aa890260a083015260c082840181905282015260eb60020a620a69cb0260e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a1509092915050565b600754600160a060020a031681565b600d5481565b600060eb60020a6208aa890261132d6130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561137c57600080fd5b505af1158015611390573d6000803e3d6000fd5b505050506040513d60208110156113a657600080fd5b5051156113eb576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff1615611448576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6114506130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156114a757600080fd5b505af11580156114bb573d6000803e3d6000fd5b505050506040513d60208110156114d157600080fd5b5051831461154f576040805160e560020a62461bcd02815260206004820152602560248201527f47756172616e74656564207261746520776f756c64206e6f742062652072656360448201527f6569766564000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6115576105c5565b9392505050565b60006115fb61156b6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156115c257600080fd5b505af11580156115d6573d6000803e3d6000fd5b505050506040513d60208110156115ec57600080fd5b5051839063ffffffff6131bb16565b92915050565b600054600160a060020a03163314611665576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60018054600160a060020a038316600160a060020a0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600054600160a060020a0316331461171d576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60055460ff16151581151514156117335761178c565b6005805460ff1916821515179081905560ff161561175057426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60025481565b600054600160a060020a031633146117f9576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b600160a060020a0381161515611859576040805160e560020a62461bcd02815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810274ffffffffffffffffffffffffffffffffffffffff00199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b600854600160a060020a031681565b600054600160a060020a03163314611935576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b600c5481565b600054600160a060020a031633146119d9576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60078054600160a060020a031916600160a060020a0392909216919091179055565b600154600160a060020a031681565b60055460ff1681565b600054600160a060020a03163314611a77576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60088054600160a060020a031916600160a060020a03838116919091179182905560408051929091168252517f4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050916020908290030190a150565b600a5481565b600154600160a060020a03163314611b5f576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b600080611bdd6133fd565b60009250600a5491505b600b54821015611cbd575060008181526009602090815260409182902082518084019093528054600160a060020a031680845260019091015491830191909152331415611cb2576020810151611c4490849063ffffffff6131e716565b60008381526009602090815260408083208054600160a060020a031916815560010192909255835184820151835190815292519396508593600160a060020a03909116927f3aa2b18eace5e5727a4ab525921b9b0a1ca1afdb0f96b599e3ab2d76cb5e7f7292908290030190a35b600190910190611be7565b600c54611cd0908463ffffffff6131f916565b600c55336000908152600f6020526040902054611cf490849063ffffffff6131e716565b336000908152600f602052604081208190559093508311611d85576040805160e560020a62461bcd02815260206004820152602160248201527f596f752068617665206e6f206465706f7369747320746f20776974686472617760448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b611d8d61323a565b600160a060020a031663a9059cbb33856040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506040513d6020811015611e1957600080fd5b5050604080513381526020810185905281517faf6ec623f558c7b3527ff6c9c09432c7d81a3d38bd2e1eaaee2efe7aac23c28b929181900390910190a1505050565b600054600160a060020a031681565b60045481565b600060eb60020a620a69cb02611e846130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015611ed357600080fd5b505af1158015611ee7573d6000803e3d6000fd5b505050506040513d6020811015611efd57600080fd5b505115611f42576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60eb60020a6208aa8902611f546130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015611fa357600080fd5b505af1158015611fb7573d6000803e3d6000fd5b505050506040513d6020811015611fcd57600080fd5b505115612012576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff161561206f576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6120776130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156120ce57600080fd5b505af11580156120e2573d6000803e3d6000fd5b505050506040513d60208110156120f857600080fd5b50518514612176576040805160e560020a62461bcd02815260206004820152602b60248201527f47756172616e74656564206574686572207261746520776f756c64206e6f742060448201527f6265207265636569766564000000000000000000000000000000000000000000606482015290519081900360840190fd5b61217e6130d1565b6040805160e360020a6315905ec102815260eb60020a620a69cb0260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156121d557600080fd5b505af11580156121e9573d6000803e3d6000fd5b505050506040513d60208110156121ff57600080fd5b5051841461227d576040805160e560020a62461bcd02815260206004820152602f60248201527f47756172616e746565642073796e746865746978207261746520776f756c642060448201527f6e6f742062652072656365697665640000000000000000000000000000000000606482015290519081900360840190fd5b612285610fae565b95945050505050565b60008054600160a060020a031633146122f3576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60035460ff16151561234f576040805160e560020a62461bcd02815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea00600254011015156123af576040805160e560020a62461bcd02815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b5060035460408051600160a060020a0361010090930492909216808352905190917f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7919081900360200190a180600160a060020a0316ff5b60006115fb6124146130d1565b6040805160e360020a6315905ec102815260eb60020a620a69cb0260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b15801561246b57600080fd5b505af115801561247f573d6000803e3d6000fd5b505050506040513d602081101561249557600080fd5b5051839063ffffffff61321016565b6224ea0081565b600054600160a060020a0316331461250f576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b73__Depot.sol:SafeDecimalMath_____________63907af6c06040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561255657600080fd5b505af415801561256a573d6000803e3d6000fd5b505050506040513d602081101561258057600080fd5b505181116125fe576040805160e560020a62461bcd02815260206004820152603060248201527f4d696e696d756d206465706f73697420616d6f756e74206d757374206265206760448201527f726561746572207468616e20554e495400000000000000000000000000000000606482015290519081900360840190fd5b600d8190556040805182815290517fa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc542679181900360200190a150565b60096020526000908152604090208054600190910154600160a060020a039091169082565b600060eb60020a620a69cb026126726130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b1580156126c157600080fd5b505af11580156126d5573d6000803e3d6000fd5b505050506040513d60208110156126eb57600080fd5b505115612730576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff161561278d576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6127956130d1565b6040805160e360020a6315905ec102815260eb60020a620a69cb0260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156127ec57600080fd5b505af1158015612800573d6000803e3d6000fd5b505050506040513d602081101561281657600080fd5b50518314612894576040805160e560020a62461bcd02815260206004820152602560248201527f47756172616e74656564207261746520776f756c64206e6f742062652072656360448201527f6569766564000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61289d84612dbb565b91505b5092915050565b600e5481565b60035460ff1681565b600054600160a060020a0316331461291a576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b600e8190556040805182815290517fdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c82439181900360200190a150565b600054600160a060020a031633146129b9576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b6003546101009004600160a060020a031681565b600f6020526000908152604090205481565b600080612ac6612a366130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b158015612a8d57600080fd5b505af1158015612aa1573d6000803e3d6000fd5b505050506040513d6020811015612ab757600080fd5b5051849063ffffffff6131bb16565b905061155781612407565b612ad961323a565b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a0392909216916323b872dd916064808201926020929091908290030181600087803b158015612b4a57600080fd5b505af1158015612b5e573d6000803e3d6000fd5b505050506040513d6020811015612b7457600080fd5b5050600d54811015612bfd57336000908152600f6020526040902054612ba0908263ffffffff6131e716565b336000818152600f602090815260409182902093909355600d5481519283529282018490528181019290925290517fbc3a12638d840d60760c64b39c73985a6498cf6eb8176f124995b0e07236cbd29181900360600190a161178c565b604080518082018252338082526020808301858152600b805460009081526009845286902094518554600160a060020a031916600160a060020a039091161785559051600190940193909355915483518581529351909391927fd9acabe6e09d178728ba5c366661c5be0621b4770f216305b059ec175b37e0b4928290030190a3600b54612c9290600163ffffffff6131e716565b600b55600c54612ca8908263ffffffff6131e716565b600c5550565b600054600160a060020a03163314612d12576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b612d1a6132f3565b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051939091169263a9059cbb92604480840193602093929083900390910190829087803b158015612d8c57600080fd5b505af1158015612da0573d6000803e3d6000fd5b505050506040513d6020811015612db657600080fd5b505050565b60008060eb60020a620a69cb02612dd06130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015612e1f57600080fd5b505af1158015612e33573d6000803e3d6000fd5b505050506040513d6020811015612e4957600080fd5b505115612e8e576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff1615612eeb576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b612ef484612407565b9150612efe61323a565b600854604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a03928316602482015260448101889052905192909116916323b872dd916064808201926020929091908290030181600087803b158015612f7457600080fd5b505af1158015612f88573d6000803e3d6000fd5b505050506040513d6020811015612f9e57600080fd5b50612fa990506132f3565b600160a060020a031663a9059cbb33846040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561300b57600080fd5b505af115801561301f573d6000803e3d6000fd5b505050506040513d602081101561303557600080fd5b505060408051602081018690526060810184905260808082526004908201527f735553440000000000000000000000000000000000000000000000000000000060a082015260c081830181905260039082015260eb60020a620a69cb0260e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15092915050565b600b5481565b600754604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f45786368616e6765526174657300000000000000000000000000000000000000600482015260248101829052601d60448201527f4d697373696e672045786368616e67655261746573206164647265737300000060648201529051600092600160a060020a03169163dacb2d0191608480830192602092919082900301818787803b15801561318a57600080fd5b505af115801561319e573d6000803e3d6000fd5b505050506040513d60208110156131b457600080fd5b5051905090565b6000670de0b6b3a76400006131d6848463ffffffff6133ac16565b8115156131df57fe5b049392505050565b60008282018381101561155757600080fd5b6000808383111561320957600080fd5b5050900390565b60006115578261322e85670de0b6b3a764000063ffffffff6133ac16565b9063ffffffff6133da16565b600754604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f53796e7468735553440000000000000000000000000000000000000000000000600482015260248101829052601960448201527f4d697373696e672053796e74687355534420616464726573730000000000000060648201529051600092600160a060020a03169163dacb2d0191608480830192602092919082900301818787803b15801561318a57600080fd5b600754604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f53796e7468657469780000000000000000000000000000000000000000000000600482015260248101829052601960448201527f4d697373696e672053796e74686574697820616464726573730000000000000060648201529051600092600160a060020a03169163dacb2d0191608480830192602092919082900301818787803b15801561318a57600080fd5b6000808315156133bf57600091506128a0565b508282028284828115156133cf57fe5b041461155757600080fd5b6000808083116133e957600080fd5b82848115156133f457fe5b04949350505050565b60408051808201909152600080825260208201529056007768696c652074686520636f6e747261637420697320706175736564000000004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e00000000000000000000000000000000005468697320616374696f6e2063616e6e6f7420626520706572666f726d65642052617465207374616c65206f72206e6f7420612073796e746800000000000000a165627a7a723058207b783c67dd7fef58214d141fd31ab38df03979269c20a492ade4dd58c42d597b0029","abi":[{"constant":false,"inputs":[],"name":"exchangeEtherForSNX","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function","signature":"0x02279438"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"minimumDepositAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x080c279a"},{"constant":false,"inputs":[{"name":"guaranteedRate","type":"uint256"}],"name":"exchangeEtherForSynthsAtRate","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function","signature":"0x0c928bc2"},{"constant":true,"inputs":[{"name":"amount","type":"uint256"}],"name":"synthsReceivedForEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0c928f05"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":false,"inputs":[{"name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16c38b3c"},{"constant":true,"inputs":[],"name":"initiationTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x17c70de4"},{"constant":false,"inputs":[],"name":"exchangeEtherForSynths","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function","signature":"0x1f930115"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"setSelfDestructBeneficiary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x20714f88"},{"constant":true,"inputs":[],"name":"fundsWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2194f3a2"},{"constant":false,"inputs":[],"name":"terminateSelfDestruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3278c960"},{"constant":true,"inputs":[],"name":"totalSellableDeposits","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4d0387fb"},{"constant":false,"inputs":[{"name":"_resolver","type":"address"}],"name":"setResolver","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4e543b26"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c975abb"},{"constant":false,"inputs":[{"name":"_fundsWallet","type":"address"}],"name":"setFundsWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x64e39b87"},{"constant":true,"inputs":[],"name":"depositStartIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6d5ab4a9"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[],"name":"withdrawMyDepositedSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x81b797dc"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x91b4ded9"},{"constant":false,"inputs":[{"name":"guaranteedEtherRate","type":"uint256"},{"name":"guaranteedSynthetixRate","type":"uint256"}],"name":"exchangeEtherForSNXAtRate","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function","signature":"0x9342c0eb"},{"constant":false,"inputs":[],"name":"selfDestruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9cb8a26a"},{"constant":true,"inputs":[{"name":"amount","type":"uint256"}],"name":"synthetixReceivedForSynths","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa3d8829b"},{"constant":true,"inputs":[],"name":"SELFDESTRUCT_DELAY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa461fc82"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"setMinimumDepositAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xaab483d6"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"deposits","outputs":[{"name":"user","type":"address"},{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb02c43d0"},{"constant":false,"inputs":[{"name":"synthAmount","type":"uint256"},{"name":"guaranteedRate","type":"uint256"}],"name":"exchangeSynthsForSNXAtRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb0c2cb96"},{"constant":true,"inputs":[],"name":"maxEthPurchase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb1338cc4"},{"constant":true,"inputs":[],"name":"selfDestructInitiated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb8225dec"},{"constant":false,"inputs":[{"name":"_maxEthPurchase","type":"uint256"}],"name":"setMaxEthPurchase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbb7df172"},{"constant":false,"inputs":[],"name":"initiateSelfDestruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbd32aa44"},{"constant":true,"inputs":[],"name":"selfDestructBeneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc58aaae6"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"smallDeposits","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc6abb7c7"},{"constant":true,"inputs":[{"name":"amount","type":"uint256"}],"name":"synthetixReceivedForEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc8d889f2"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"depositSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xdc8fa6c2"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdrawSynthetix","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe6d76a76"},{"constant":false,"inputs":[{"name":"synthAmount","type":"uint256"}],"name":"exchangeSynthsForSNX","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf852d393"},{"constant":true,"inputs":[],"name":"depositEndIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xfd12167f"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_fundsWallet","type":"address"},{"name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"MaxEthPurchaseUpdated","type":"event","signature":"0xdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c8243"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newFundsWallet","type":"address"}],"name":"FundsWalletUpdated","type":"event","signature":"0x4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050"},{"anonymous":false,"inputs":[{"indexed":false,"name":"fromCurrency","type":"string"},{"indexed":false,"name":"fromAmount","type":"uint256"},{"indexed":false,"name":"toCurrency","type":"string"},{"indexed":false,"name":"toAmount","type":"uint256"}],"name":"Exchange","type":"event","signature":"0xdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"SynthWithdrawal","type":"event","signature":"0xaf6ec623f558c7b3527ff6c9c09432c7d81a3d38bd2e1eaaee2efe7aac23c28b"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":true,"name":"depositIndex","type":"uint256"}],"name":"SynthDeposit","type":"event","signature":"0xd9acabe6e09d178728ba5c366661c5be0621b4770f216305b059ec175b37e0b4"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":true,"name":"depositIndex","type":"uint256"}],"name":"SynthDepositRemoved","type":"event","signature":"0x3aa2b18eace5e5727a4ab525921b9b0a1ca1afdb0f96b599e3ab2d76cb5e7f72"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"minimum","type":"uint256"}],"name":"SynthDepositNotAccepted","type":"event","signature":"0xbc3a12638d840d60760c64b39c73985a6498cf6eb8176f124995b0e07236cbd2"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"MinimumDepositAmountUpdated","type":"event","signature":"0xa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc54267"},{"anonymous":false,"inputs":[{"indexed":true,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"NonPayableContract","type":"event","signature":"0xf2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c"},{"anonymous":false,"inputs":[{"indexed":true,"name":"fromAddress","type":"address"},{"indexed":true,"name":"toAddress","type":"address"},{"indexed":false,"name":"fromETHAmount","type":"uint256"},{"indexed":false,"name":"toAmount","type":"uint256"},{"indexed":true,"name":"depositIndex","type":"uint256"}],"name":"ClearedDeposit","type":"event","signature":"0x6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c"},{"anonymous":false,"inputs":[{"indexed":false,"name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event","signature":"0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"},{"anonymous":false,"inputs":[],"name":"SelfDestructTerminated","type":"event","signature":"0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"},{"anonymous":false,"inputs":[{"indexed":false,"name":"beneficiary","type":"address"}],"name":"SelfDestructed","type":"event","signature":"0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"},{"anonymous":false,"inputs":[{"indexed":false,"name":"selfDestructDelay","type":"uint256"}],"name":"SelfDestructInitiated","type":"event","signature":"0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newBeneficiary","type":"address"}],"name":"SelfDestructBeneficiaryUpdated","type":"event","signature":"0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"EscrowChecker":{"bytecode":"608060405234801561001057600080fd5b50604051602080610399833981016040525160008054600160a060020a03909216600160a060020a0319909216919091179055610347806100526000396000f30060806040526004361061004b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663449d0eb181146100505780639514c232146100b7575b600080fd5b34801561005c57600080fd5b5061007e73ffffffffffffffffffffffffffffffffffffffff600435166100f5565b604051808261020080838360005b838110156100a457818101518382015260200161008c565b5050505090500191505060405180910390f35b3480156100c357600080fd5b506100cc6102c4565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100fd6102e0565b6101056102e0565b600080610110610300565b60008054604080517f204b676a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301529151919092169263204b676a92602480820193602093909283900390910190829087803b15801561018857600080fd5b505af115801561019c573d6000803e3d6000fd5b505050506040513d60208110156101b257600080fd5b50519250600091505b828210156102ba5760008054604080517fda7bd3e900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015260248201879052825193169363da7bd3e993604480840194939192918390030190829087803b15801561023d57600080fd5b505af1158015610251573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250604081101561027657600080fd5b50805190915084600284026010811061028b57fe5b602002015280600160200201518460016002850201601081106102aa57fe5b60200201526001909101906101bb565b5091949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b610200604051908101604052806010906020820280388339509192915050565b604080518082018252906002908290803883395091929150505600a165627a7a72305820b77f04510aaa52f1c8254aeab8d7f3d38e4edbbb369011f3629f6c4c2ece58460029","abi":[{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"checkAccountSchedule","outputs":[{"name":"","type":"uint256[16]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x449d0eb1"},{"constant":true,"inputs":[],"name":"synthetix_escrow","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9514c232"},{"inputs":[{"name":"_esc","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]},"RewardEscrow":{"bytecode":"608060405234801561001057600080fd5b506040516060806113f983398101604090815281516020830151919092015182600160a060020a03811615156100a757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a03938416600160a060020a03199182161790915560038054929093169116179055506112bd8061013c6000396000f3006080604052600436106101485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631627540c811461014d57806319db22281461017057806319e740c014610191578063204b676a146101c4578063227d517a146101e55780632f5bb66114610206578063326a3cfb14610262578063449d0eb114610283578063458efde3146102ba57806345e5441f146102cf57806353a47bb7146102f65780636b3905c41461032757806370a082311461034857806371e780f314610369578063759b52251461037e57806379ba5097146103935780638da5cb5b146103a857806397f46527146103bd5780639b217f90146103de578063ae2e933b14610402578063b5ddb9c714610417578063d0cc82e31461043b578063da7bd3e914610450578063ee1d036c14610474578063fec9f9da14610498575b600080fd5b34801561015957600080fd5b5061016e600160a060020a03600435166104b9565b005b34801561017c57600080fd5b5061016e600160a060020a03600435166105a2565b34801561019d57600080fd5b506101b2600160a060020a036004351661068b565b60408051918252519081900360200190f35b3480156101d057600080fd5b506101b2600160a060020a03600435166106d2565b3480156101f157600080fd5b506101b2600160a060020a03600435166106ed565b34801561021257600080fd5b50610227600160a060020a03600435166106ff565b6040518082600260200280838360005b8381101561024f578181015183820152602001610237565b5050505090500191505060405180910390f35b34801561026e57600080fd5b506101b2600160a060020a0360043516610752565b34801561028f57600080fd5b506102a4600160a060020a0360043516610764565b6040518151815280826141008083836020610237565b3480156102c657600080fd5b5061016e6107f0565b3480156102db57600080fd5b506101b2600160a060020a03600435166024356044356109fd565b34801561030257600080fd5b5061030b610a3d565b60408051600160a060020a039092168252519081900360200190f35b34801561033357600080fd5b506101b2600160a060020a0360043516610a4c565b34801561035457600080fd5b506101b2600160a060020a0360043516610a65565b34801561037557600080fd5b506101b2610a80565b34801561038a57600080fd5b5061030b610a86565b34801561039f57600080fd5b5061016e610a95565b3480156103b457600080fd5b5061030b610b9d565b3480156103c957600080fd5b506101b2600160a060020a0360043516610bac565b3480156103ea57600080fd5b506101b2600160a060020a0360043516602435610bbe565b34801561040e57600080fd5b5061030b610bd9565b34801561042357600080fd5b5061016e600160a060020a0360043516602435610be8565b34801561044757600080fd5b506101b2611026565b34801561045c57600080fd5b50610227600160a060020a036004351660243561102c565b34801561048057600080fd5b506101b2600160a060020a036004351660243561109b565b3480156104a457600080fd5b5061016e600160a060020a03600435166110ae565b600054600160a060020a03163314610541576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600054600160a060020a0316331461062a576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb62959181900360200190a150565b6000806000610699846106d2565b9150600090505b818110156106c7576106b28482610bbe565b156106bf578092506106cb565b6001016106a0565b8192505b5050919050565b600160a060020a031660009081526004602052604090205490565b60066020526000908152604090205481565b6107076111c7565b60006107128361068b565b905061071d836106d2565b81141561073f576040805180820190915260008082526020820152915061074c565b610749838261102c565b91505b50919050565b60056020526000908152604090205481565b61076c6111e2565b6107746111e2565b60008061077f6111c7565b610788866106d2565b9250600091505b828210156107e6576107a1868361102c565b8051909150846002840261020881106107b657fe5b60200201528060016020020151846001600285020161020881106107d657fe5b602002015260019091019061078f565b5091949350505050565b6000806000806000610801336106d2565b9450600092505b848310156108a95761081a3384610bbe565b915042821115610829576108a9565b610833338461109b565b90508015156108415761089e565b60408051808201825260008082526020808301829052338252600490529190912080548590811061086e57fe5b906000526020600020906002020190600261088a929190611203565b5061089b848263ffffffff61119716565b93505b600190920191610808565b83156109f6576007546108c2908563ffffffff6111b016565b600755336000908152600560205260409020546108e5908563ffffffff6111b016565b33600090815260056020908152604080832093909355600690522054610911908563ffffffff61119716565b3360008181526006602090815260408083209490945560025484517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810194909452602484018990529351600160a060020a039094169363a9059cbb93604480820194918390030190829087803b15801561098f57600080fd5b505af11580156109a3573d6000803e3d6000fd5b505050506040513d60208110156109b957600080fd5b50506040805142815260208101869052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050505050565b600460205282600052604060002082815481101515610a1857fe5b906000526020600020906002020181600281101515610a3357fe5b0154925083915050565b600154600160a060020a031681565b6000610a57826106ff565b60005b602002015192915050565b600160a060020a031660009081526005602052604090205490565b60075481565b600254600160a060020a031681565b600154600160a060020a03163314610b1d576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b6000610bb7826106ff565b6001610a5a565b6000610bca838361102c565b60005b60200201519392505050565b600354600160a060020a031681565b6003546000908190600160a060020a0316331480610c76576040805160e560020a62461bcd02815260206004820152603260248201527f4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e207060448201527f6572666f726d207468697320616374696f6e0000000000000000000000000000606482015290519081900360840190fd5b831515610ccd576040805160e560020a62461bcd02815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b600754610ce0908563ffffffff61119716565b600755600254604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b158015610d4957600080fd5b505af1158015610d5d573d6000803e3d6000fd5b505050506040513d6020811015610d7357600080fd5b50516007541115610e1a576040805160e560020a62461bcd02815260206004820152604760248201527f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f60448201527f6e747261637420746f2070726f7669646520666f72207468652076657374696e60648201527f6720656e74727900000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600160a060020a0385166000908152600460205260409020549250610104831115610e8f576040805160e560020a62461bcd02815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b6301dfe20042019150821515610ebf57600160a060020a0385166000908152600560205260409020849055610f8b565b81610ecd8660018603610bbe565b10610f48576040805160e560020a62461bcd02815260206004820152603760248201527f43616e6e6f7420616464206e65772076657374656420656e747269657320656160448201527f726c696572207468616e20746865206c617374206f6e65000000000000000000606482015290519081900360840190fd5b600160a060020a038516600090815260056020526040902054610f71908563ffffffff61119716565b600160a060020a0386166000908152600560205260409020555b600160a060020a0385166000908152600460209081526040808320815180830190925285825281830188905280546001810180835591855292909320610fda9260029081029091019190611246565b505060408051428152602081018690528151600160a060020a038816927fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c928290030190a25050505050565b61010481565b6110346111c7565b600160a060020a038316600090815260046020526040902080548390811061105857fe5b600091825260209091206040805180820191829052926002908102909201919082845b81548152602001906001019080831161107b575050505050905092915050565b60006110a7838361102c565b6001610bcd565b600054600160a060020a03163314611136576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d9181900360200190a150565b6000828201838110156111a957600080fd5b9392505050565b600080838311156111c057600080fd5b5050900390565b60408051808201825290600290829080388339509192915050565b61410060405190810160405280610208906020820280388339509192915050565b8260028101928215611236579160200282015b82811115611236578251829060ff16905591602001919060010190611216565b50611242929150611274565b5090565b8260028101928215611236579160200282015b82811115611236578251825591602001919060010190611259565b61128e91905b80821115611242576000815560010161127a565b905600a165627a7a723058203b28beeb8362b708c96294370448bb0aca4e94f963ba89bee8ef7a1301e42ad80029","abi":[{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":false,"inputs":[{"internalType":"contract IFeePool","name":"_feePool","type":"address"}],"name":"setFeePool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x19db2228"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x19e740c0"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"numVestingEntries","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x204b676a"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"totalVestedAccountBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x227d517a"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingEntry","outputs":[{"name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2f5bb661"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"totalEscrowedAccountBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x326a3cfb"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"checkAccountSchedule","outputs":[{"name":"","type":"uint256[520]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x449d0eb1"},{"constant":false,"inputs":[],"name":"vest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x458efde3"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"vestingSchedules","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x45e5441f"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6b3905c4"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":true,"inputs":[],"name":"totalEscrowedBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x71e780f3"},{"constant":true,"inputs":[],"name":"synthetix","outputs":[{"internalType":"contract ISynthetix","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x759b5225"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingQuantity","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x97f46527"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getVestingTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9b217f90"},{"constant":true,"inputs":[],"name":"feePool","outputs":[{"internalType":"contract IFeePool","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xae2e933b"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"quantity","type":"uint256"}],"name":"appendVestingEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb5ddb9c7"},{"constant":true,"inputs":[],"name":"MAX_VESTING_ENTRIES","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd0cc82e3"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getVestingScheduleEntry","outputs":[{"name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xda7bd3e9"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getVestingQuantity","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xee1d036c"},{"constant":false,"inputs":[{"internalType":"contract ISynthetix","name":"_synthetix","type":"address"}],"name":"setSynthetix","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xfec9f9da"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_synthetix","type":"address"},{"name":"_feePool","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newSynthetix","type":"address"}],"name":"SynthetixUpdated","type":"event","signature":"0x46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newFeePool","type":"address"}],"name":"FeePoolUpdated","type":"event","signature":"0x6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb6295"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"time","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Vested","type":"event","signature":"0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"time","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"VestingEntryCreated","type":"event","signature":"0xedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"FeePoolState":{"bytecode":"608060405234801561001057600080fd5b5060405160408061135b83398101604052805160209091015162375f008280600160a060020a03811615156100a657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600160a060020a038116151561017657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f776e6572206d757374206e6f74206265207a65726f00000000000000000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810261010060a860020a03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150420160045560058054600160a060020a031916600160a060020a039290921691909117905550611156806102056000396000f3006080604052600436106101115763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631627540c811461011657806317c70de41461013957806319db22281461016057806320714f88146101815780633278c960146101a257806339a3f63f146101b757806353a47bb7146101e957806379ba50971461021a5780637de655451461022f5780638da5cb5b1461026c57806394e1a448146102815780639cb8a26a146102ab578063a461fc82146102c0578063ae2e933b146102d5578063b326f84e146102ea578063b8225dec1461030e578063bd32aa4414610337578063c58aaae61461034c578063cff2ddad14610361578063d29c000a1461038c575b600080fd5b34801561012257600080fd5b50610137600160a060020a03600435166103b0565b005b34801561014557600080fd5b5061014e610475565b60408051918252519081900360200190f35b34801561016c57600080fd5b50610137600160a060020a036004351661047b565b34801561018d57600080fd5b50610137600160a060020a036004351661050e565b3480156101ae57600080fd5b5061013761063b565b3480156101c357600080fd5b5061013760246004803582810192908201359181359182019101356044356064356106d9565b3480156101f557600080fd5b506101fe61096b565b60408051600160a060020a039092168252519081900360200190f35b34801561022657600080fd5b5061013761097a565b34801561023b57600080fd5b50610253600160a060020a0360043516602435610a82565b6040805192835260208301919091528051918290030190f35b34801561027857600080fd5b506101fe610ab1565b34801561028d57600080fd5b50610137600160a060020a0360043516602435604435606435610ac0565b3480156102b757600080fd5b50610137610b98565b3480156102cc57600080fd5b5061014e610d11565b3480156102e157600080fd5b506101fe610d18565b3480156102f657600080fd5b50610253600160a060020a0360043516602435610d27565b34801561031a57600080fd5b50610323610e0c565b604080519115158252519081900360200190f35b34801561034357600080fd5b50610137610e15565b34801561035857600080fd5b506101fe610ec2565b34801561036d57600080fd5b50610376610ed6565b6040805160ff9092168252519081900360200190f35b34801561039857600080fd5b50610253600160a060020a0360043516602435610edb565b600054600160a060020a03163314610414576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60025481565b600054600160a060020a031633146104df576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a03163314610572576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b600160a060020a03811615156105d2576040805160e560020a62461bcd02815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810274ffffffffffffffffffffffffffffffffffffffff00199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b600054600160a060020a0316331461069f576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b60008054600160a060020a0316331461073e576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b60045442106107bd576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757260448201527f696e672073657475700000000000000000000000000000000000000000000000606482015290519081900360840190fd5b858414610814576040805160e560020a62461bcd02815260206004820152600f60248201527f4c656e677468206d69736d617463680000000000000000000000000000000000604482015290519081900360640190fd5b5060005b858110156109625784848281811061082c57fe5b9050602002013560066000898985818110151561084557fe5b90506020020135600160a060020a0316600160a060020a0316600160a060020a031681526020019081526020016000208460068110151561088257fe5b6002020155816006600089898581811061089857fe5b90506020020135600160a060020a0316600160a060020a0316600160a060020a03168152602001908152602001600020846006811015156108d557fe5b600202016001018190555086868281811015156108ee57fe5b90506020020135600160a060020a0316600160a060020a03167f3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea868684818110151561093657fe5b9050602002013584604051808381526020018281526020019250505060405180910390a2600101610818565b50505050505050565b600154600160a060020a031681565b600154600160a060020a03163314610a02576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600660205281600052604060002081600681101515610a9d57fe5b600202018054600190910154909250905082565b600054600160a060020a031681565b600554600160a060020a03163314610b48576040805160e560020a62461bcd02815260206004820152603160248201527f4f6e6c792074686520466565506f6f6c20636f6e74726163742063616e20706560448201527f72666f726d207468697320616374696f6e000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038416600090815260066020526040902060010154811115610b7457610b7484610fbd565b50600160a060020a0392909216600090815260066020526040902090815560010155565b60008054600160a060020a03163314610bfd576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b60035460ff161515610c59576040805160e560020a62461bcd02815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea0060025401101515610cb9576040805160e560020a62461bcd02815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b5060035460408051600160a060020a0361010090930492909216808352905190917f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7919081900360200190a180600160a060020a0316ff5b6224ea0081565b600554600160a060020a031681565b60008060068310610da8576040805160e560020a62461bcd02815260206004820152602360248201527f696e646578206578636565647320746865204645455f504552494f445f4c454e60448201527f4754480000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03841660009081526006602081905260409091209084908110610dce57fe5b6002020154600160a060020a038516600090815260066020819052604090912091935084908110610dfb57fe5b600202016001015490509250929050565b60035460ff1681565b600054600160a060020a03163314610e79576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b6003546101009004600160a060020a031681565b600681565b600080610ee66110a4565b600160a060020a0385166000908152600660208190526040808320815160c08101909252909183835b82821015610f4b578382600202016040805190810160405290816000820154815260200160018201548152505081526020019060010190610f0f565b505050509150600090505b6006811015610fb457818160068110610f6b57fe5b60200201516020015185101515610fac57818160068110610f8857fe5b602002015151828260068110610f9a57fe5b60200201516020015193509350610fb4565b600101610f56565b50509250929050565b600460005b600682101561109f5750600160a060020a0382166000908152600660208190526040909120600183019183908110610ff657fe5b6002020154600160a060020a0384166000908152600660208190526040909120908390811061102157fe5b6002020155600160a060020a0383166000908152600660208190526040909120908390811061104c57fe5b60020201600101546006600085600160a060020a0316600160a060020a031681526020019081526020016000208260068110151561108657fe5b6002020160010181905550818060019003925050610fc2565b505050565b610180604051908101604052806006905b6110bd6110d3565b8152602001906001900390816110b55790505090565b60408051808201909152600080825260208201529056004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e0000000000000000000000000000000000a165627a7a7230582056344713387aaabefb61e86c7b5580694eb1233af5798f372869277011e4ae280029","abi":[{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"initiationTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x17c70de4"},{"constant":false,"inputs":[{"internalType":"contract IFeePool","name":"_feePool","type":"address"}],"name":"setFeePool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x19db2228"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"setSelfDestructBeneficiary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x20714f88"},{"constant":false,"inputs":[],"name":"terminateSelfDestruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3278c960"},{"constant":false,"inputs":[{"name":"accounts","type":"address[]"},{"name":"ratios","type":"uint256[]"},{"name":"periodToInsert","type":"uint256"},{"name":"feePeriodCloseIndex","type":"uint256"}],"name":"importIssuerData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x39a3f63f"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"accountIssuanceLedger","outputs":[{"name":"debtPercentage","type":"uint256"},{"name":"debtEntryIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7de65545"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"debtRatio","type":"uint256"},{"name":"debtEntryIndex","type":"uint256"},{"name":"currentPeriodStartDebtIndex","type":"uint256"}],"name":"appendAccountIssuanceRecord","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x94e1a448"},{"constant":false,"inputs":[],"name":"selfDestruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9cb8a26a"},{"constant":true,"inputs":[],"name":"SELFDESTRUCT_DELAY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa461fc82"},{"constant":true,"inputs":[],"name":"feePool","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xae2e933b"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getAccountsDebtEntry","outputs":[{"name":"debtPercentage","type":"uint256"},{"name":"debtEntryIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb326f84e"},{"constant":true,"inputs":[],"name":"selfDestructInitiated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb8225dec"},{"constant":false,"inputs":[],"name":"initiateSelfDestruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbd32aa44"},{"constant":true,"inputs":[],"name":"selfDestructBeneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc58aaae6"},{"constant":true,"inputs":[],"name":"FEE_PERIOD_LENGTH","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcff2ddad"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"closingDebtIndex","type":"uint256"}],"name":"applicableIssuanceData","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd29c000a"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_feePool","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"debtRatio","type":"uint256"},{"indexed":false,"name":"feePeriodCloseIndex","type":"uint256"}],"name":"IssuanceDebtRatioEntry","type":"event","signature":"0x3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea"},{"anonymous":false,"inputs":[],"name":"SelfDestructTerminated","type":"event","signature":"0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"},{"anonymous":false,"inputs":[{"indexed":false,"name":"beneficiary","type":"address"}],"name":"SelfDestructed","type":"event","signature":"0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"},{"anonymous":false,"inputs":[{"indexed":false,"name":"selfDestructDelay","type":"uint256"}],"name":"SelfDestructInitiated","type":"event","signature":"0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newBeneficiary","type":"address"}],"name":"SelfDestructBeneficiaryUpdated","type":"event","signature":"0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"SupplySchedule":{"bytecode":"608060405268056bc75e2d631000006004556a027b46536c66c8e300000060065534801561002c57600080fd5b50604051610cb8380380610cb88339818101604052606081101561004f57600080fd5b5080516020820151604090920151909190826001600160a01b0381166100bc576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060029190915560035550610b8a8061012e6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80637e1b823f116100c3578063bdd124821161007c578063bdd12482146102ae578063be801f01146102b6578063cc5c095c146102be578063d3bd4bde146102c6578063dbd3a6a7146102ce578063df5a9fc1146102d65761014d565b80637e1b823f1461024b5780637e7961d7146102535780638da5cb5b1461027057806395896b76146102785780639bdd7ac71461029e578063a43ab48e146102a65761014d565b80634ae26521116101155780634ae26521146101d557806353a47bb7146101f2578063614d08f8146102165780636f33e7e11461021e5780637397ab6c1461022657806379ba5097146102435761014d565b80631627540c1461015257806322af2bab1461017a57806325a3746e1461019457806346872a23146101b157806346b45af7146101b9575b600080fd5b6101786004803603602081101561016857600080fd5b50356001600160a01b03166102de565b005b61018261033a565b60408051918252519081900360200190f35b610178600480360360208110156101aa57600080fd5b5035610347565b6101826103e1565b6101c16103e8565b604080519115158252519081900360200190f35b610178600480360360208110156101eb57600080fd5b5035610408565b6101fa610493565b604080516001600160a01b039092168252519081900360200190f35b6101826104a2565b6101826104b7565b6101786004803603602081101561023c57600080fd5b50356104bd565b610178610502565b6101826105be565b6101826004803603602081101561026957600080fd5b50356105c6565b6101fa610734565b6101786004803603602081101561028e57600080fd5b50356001600160a01b0316610743565b6101826107f6565b6101826107fc565b6101fa610802565b610182610811565b610182610817565b61018261084d565b610182610853565b6101826108a2565b6102e66108a9565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b680ad78ebc5ac620000081565b61034f6108a9565b6006548111156103a6576040805162461bcd60e51b815260206004820152601e60248201527f416d6f756e742061626f7665206d6178696d756d20696e666c6174696f6e0000604482015290519081900360640190fd5b60058190556040805182815290517f297a8f497249a00f95e5f63b91fe72db09907e46dba60ec5e4f6397056709a669181900360200190a150565b6201518081565b600062093a806002544203111561040157506001610405565b5060005b90565b6104106108a9565b680ad78ebc5ac62000008111156104585760405162461bcd60e51b8152600401808060200182810382526026815260200180610b306026913960400191505060405180910390fd5b60048190556040805182815290517f036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d309181900360200190a150565b6001546001600160a01b031681565b6d537570706c795363686564756c6560901b81565b60055481565b6104c56108a9565b600681905560055460408051918252517f6a653dcb129ba34c380e770610eeb3b16e0318f91bf2a3cab0283b529086093b9181900360200190a150565b6001546001600160a01b0316331461054b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610a786035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b635c7f0d8081565b60075460408051636a5c1cc960e11b815290516000926001600160a01b03169163d4b83992916004808301926020929190829003018186803b15801561060b57600080fd5b505afa15801561061f573d6000803e3d6000fd5b505050506040513d602081101561063557600080fd5b50516001600160a01b0316331461067d5760405162461bcd60e51b8152600401808060200182810382526033815260200180610afd6033913960400191505060405180910390fd5b6000610687610853565b60035490915061069d908263ffffffff6108f416565b60038190556106df9062015180906106d3906106c29062093a8063ffffffff61095716565b635c7f0d809063ffffffff6108f416565b9063ffffffff6108f416565b6002819055604080518581526020810184905280820192909252426060830152517f601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab9181900360800190a15050600454919050565b6000546001600160a01b031681565b61074b6108a9565b6001600160a01b03811661079c576040805162461bcd60e51b81526020600482015260136024820152720416464726573732063616e6e6f74206265203606c1b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517ff8df0556b7fde3c4b8394eae329aedfa59c6ffd8b532d572a1efcfa3424ca5fc916020908290030190a150565b60045481565b60065481565b6007546001600160a01b031681565b60025481565b6000806108226103e8565b61082d579050610405565b610847610838610853565b6005549063ffffffff61095716565b91505090565b60035481565b6000806000600254116108795761087442635c7f0d8063ffffffff6109b016565b61088d565b60025461088d90429063ffffffff6109b016565b90506108478162093a8063ffffffff610a0d16565b62093a8081565b6000546001600160a01b031633146108f25760405162461bcd60e51b815260040180806020018281038252602f815260200180610aad602f913960400191505060405180910390fd5b565b60008282018381101561094e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60008261096657506000610951565b8282028284828161097357fe5b041461094e5760405162461bcd60e51b8152600401808060200182810382526021815260200180610adc6021913960400191505060405180910390fd5b600082821115610a07576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211610a63576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610a6e57fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c79207468652073796e74686574697820636f6e74726163742063616e20706572666f726d207468697320616374696f6e5265776172642063616e6e6f7420657863656564206d6178206d696e74657220726577617264a265627a7a723158207edc2ff71f2f6714b284652e69320267df5af836a9968f3da52259e9b54ae75e64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_lastMintEvent","type":"uint256"},{"internalType":"uint256","name":"_currentWeek","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newInflationAmount","type":"uint256"}],"name":"InflationAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newInflationAmount","type":"uint256"}],"name":"MaxInflationAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newRewardAmount","type":"uint256"}],"name":"MinterRewardUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"supplyMinted","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"numberOfWeeksIssued","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lastMintEvent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"SupplyMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"SynthetixProxyUpdated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"INFLATION_START_DATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_MINTER_REWARD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MINT_BUFFER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MINT_PERIOD_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"inflationAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isMintable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastMintEvent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxInflationAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mintableSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minterReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"supplyMinted","type":"uint256"}],"name":"recordMintEvent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setInflationAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxInflationAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMinterReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract ISynthetix","name":"_synthetixProxy","type":"address"}],"name":"setSynthetixProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"synthetixProxy","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weekCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weeksSinceLastIssuance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x584bf43fc9aff83822ca4bce779cc1497960f183c841ea7c4ff2195ff2916c27","urls":["bzz-raw://2d3f620ed9b73ac30db774e684039162626735e95a6c75e56c19253591ce8520","dweb:/ipfs/Qmdivf4mHJWhLfWeQ3YbczUhjwX5ysZYuzRvYP7gww6Y83"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SupplySchedule.sol":"SupplySchedule"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SupplySchedule.sol":{"keccak256":"0x584bf43fc9aff83822ca4bce779cc1497960f183c841ea7c4ff2195ff2916c27","urls":["bzz-raw://2d3f620ed9b73ac30db774e684039162626735e95a6c75e56c19253591ce8520","dweb:/ipfs/Qmdivf4mHJWhLfWeQ3YbczUhjwX5ysZYuzRvYP7gww6Y83"]}},"version":1}},"DelegateApprovals":{"bytecode":"6101206040527f417070726f7665416c6c0000000000000000000000000000000000000000000060809081527f4275726e466f724164647265737300000000000000000000000000000000000060a0527f4973737565466f7241646472657373000000000000000000000000000000000060c0527f436c61696d466f7241646472657373000000000000000000000000000000000060e0527f45786368616e6765466f72416464726573730000000000000000000000000000610100526100ca9060029060056101e7565b503480156100d757600080fd5b5060405160408061118f83398101604052805160209091015181600160a060020a038116151561016857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060078054600160a060020a031916600160a060020a039290921691909117905550610244565b8260058101928215610217579160200282015b8281111561021757825182556020909201916001909101906101fa565b50610223929150610227565b5090565b61024191905b80821115610223576000815560010161022d565b90565b610f3c806102536000396000f30060806040526004361061013a5763ffffffff60e060020a60003504166304872617811461013f5780631627540c1461017a57806321f4ae571461019d5780632c70aecf146101c45780634180e5b5146101eb578063431ce5401461020c578063447fbc631461022d57806353a47bb71461024e57806359cec3d61461027f5780636c8bc9fe146102a05780636f95200b146102c157806379ba5097146102e25780637d3f0ba2146102f75780638da5cb5b1461031e57806398ff9c54146103335780639c79ce35146103485780639cbc2ebe146103695780639f61d3361461037e578063b42e0f151461039f578063b5bb5619146103c6578063b9156efa146103e7578063bc87acbf14610408578063c5e17ab014610429578063d8eeb7c11461043e578063e32b3f5214610453578063faf431bb14610468575b600080fd5b34801561014b57600080fd5b50610166600160a060020a036004358116906024351661048f565b604080519115158252519081900360200190f35b34801561018657600080fd5b5061019b600160a060020a03600435166104b1565b005b3480156101a957600080fd5b50610166600160a060020a036004358116906024351661059a565b3480156101d057600080fd5b506101d96105b5565b60408051918252519081900360200190f35b3480156101f757600080fd5b5061019b600160a060020a03600435166105c7565b34801561021857600080fd5b5061019b600160a060020a03600435166105e3565b34801561023957600080fd5b5061019b600160a060020a03600435166105fc565b34801561025a57600080fd5b50610263610615565b60408051600160a060020a039092168252519081900360200190f35b34801561028b57600080fd5b5061019b600160a060020a0360043516610624565b3480156102ac57600080fd5b5061019b600160a060020a036004351661063d565b3480156102cd57600080fd5b5061019b600160a060020a0360043516610656565b3480156102ee57600080fd5b5061019b610687565b34801561030357600080fd5b50610166600160a060020a036004358116906024351661078f565b34801561032a57600080fd5b506102636107aa565b34801561033f57600080fd5b506102636107b9565b34801561035457600080fd5b5061019b600160a060020a03600435166107c8565b34801561037557600080fd5b506101d96107e1565b34801561038a57600080fd5b5061019b600160a060020a0360043516610805565b3480156103ab57600080fd5b50610166600160a060020a036004358116906024351661081e565b3480156103d257600080fd5b5061019b600160a060020a03600435166108cd565b3480156103f357600080fd5b5061019b600160a060020a0360043516610a42565b34801561041457600080fd5b5061019b600160a060020a0360043516610a5b565b34801561043557600080fd5b506101d9610a86565b34801561044a57600080fd5b506101d9610a98565b34801561045f57600080fd5b506101d9610aaa565b34801561047457600080fd5b50610166600160a060020a0360043581169060243516610abc565b60006104aa600080516020610eb18339815191528484610ad3565b9392505050565b600054600160a060020a03163314610539576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104aa600080516020610e918339815191528484610ad3565b600080516020610eb183398151915281565b6105e0600080516020610e918339815191523383610b79565b50565b6105e0600080516020610eb18339815191523383610c9e565b6105e0600080516020610ed18339815191523383610b79565b600154600160a060020a031681565b6105e0600080516020610ef18339815191523383610c9e565b6105e0600080516020610e918339815191523383610c9e565b60005b60058110156106835761067b6002826005811061067257fe5b01543384610c9e565b600101610659565b5050565b600154600160a060020a0316331461070f576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60006104aa600080516020610ef18339815191528484610ad3565b600054600160a060020a031681565b600754600160a060020a031681565b6105e0600080516020610ef18339815191523383610b79565b7f417070726f7665416c6c0000000000000000000000000000000000000000000081565b6105e0600080516020610eb18339815191523383610b79565b600754600090600160a060020a03166317e7dd2261085d7f417070726f7665416c6c000000000000000000000000000000000000000000008686610de7565b6040805160e060020a63ffffffff851602815260048101929092525160248083019260209291908290030181600087803b15801561089a57600080fd5b505af11580156108ae573d6000803e3d6000fd5b505050506040513d60208110156108c457600080fd5b50519392505050565b600054600160a060020a03163314610955576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03811615156109db576040805160e560020a62461bcd02815260206004820152602660248201527f43616e27742073657420657465726e616c53746f7261676520746f206164647260448201527f6573732830290000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091179182905560408051929091168252517fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17916020908290030190a150565b6105e0600080516020610ed18339815191523383610c9e565b6105e07f417070726f7665416c6c000000000000000000000000000000000000000000003383610b79565b600080516020610e9183398151915281565b600080516020610ed183398151915281565b600080516020610ef183398151915281565b60006104aa600080516020610ed183398151915284845b6000610adf838361081e565b15610aec575060016104aa565b600754600160a060020a03166317e7dd22610b08868686610de7565b6040805160e060020a63ffffffff851602815260048101929092525160248083019260209291908290030181600087803b158015610b4557600080fd5b505af1158015610b59573d6000803e3d6000fd5b505050506040513d6020811015610b6f57600080fd5b5051949350505050565b600160a060020a0381161515610bd9576040805160e560020a62461bcd02815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015290519081900360640190fd5b600754600160a060020a0316633eba9ed2610bf5858585610de7565b6040805160e060020a63ffffffff851602815260048101929092526001602483015251604480830192600092919082900301818387803b158015610c3857600080fd5b505af1158015610c4c573d6000803e3d6000fd5b505060408051600160a060020a03858116825260208201889052825190871694507f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633693509081900390910190a2505050565b600754600160a060020a03166317e7dd22610cba858585610de7565b6040805160e060020a63ffffffff851602815260048101929092525160248083019260209291908290030181600087803b158015610cf757600080fd5b505af1158015610d0b573d6000803e3d6000fd5b505050506040513d6020811015610d2157600080fd5b505115610de257600754600160a060020a0316633cc1635c610d44858585610de7565b6040805160e060020a63ffffffff8516028152600481019290925251602480830192600092919082900301818387803b158015610d8057600080fd5b505af1158015610d94573d6000803e3d6000fd5b505060408051600160a060020a03858116825260208201889052825190871694507f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4193509081900390910190a25b505050565b6040805160208082018690526c01000000000000000000000000600160a060020a038087168202848601528516026054830152825160488184030181526068909201928390528151600093918291908401908083835b60208310610e5c5780518252601f199092019160209182019101610e3d565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209796505050505050505600436c61696d466f724164647265737300000000000000000000000000000000004973737565466f7241646472657373000000000000000000000000000000000045786368616e6765466f724164647265737300000000000000000000000000004275726e466f7241646472657373000000000000000000000000000000000000a165627a7a72305820581990c732fa6daed223bbf7136c10417506b8d8c6fef5bb8e107f27eea2d77b0029","abi":[{"constant":true,"inputs":[{"name":"authoriser","type":"address"},{"name":"delegate","type":"address"}],"name":"canIssueFor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04872617"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[{"name":"authoriser","type":"address"},{"name":"delegate","type":"address"}],"name":"canClaimFor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x21f4ae57"},{"constant":true,"inputs":[],"name":"ISSUE_FOR_ADDRESS","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2c70aecf"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"approveClaimOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4180e5b5"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"removeIssueOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x431ce540"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"approveExchangeOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x447fbc63"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"removeBurnOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x59cec3d6"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"removeClaimOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x6c8bc9fe"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"removeAllDelegatePowers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x6f95200b"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"name":"authoriser","type":"address"},{"name":"delegate","type":"address"}],"name":"canBurnFor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7d3f0ba2"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"eternalStorage","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x98ff9c54"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"approveBurnOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9c79ce35"},{"constant":true,"inputs":[],"name":"APPROVE_ALL","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9cbc2ebe"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"approveIssueOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9f61d336"},{"constant":true,"inputs":[{"name":"authoriser","type":"address"},{"name":"delegate","type":"address"}],"name":"approvedAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb42e0f15"},{"constant":false,"inputs":[{"name":"_eternalStorage","type":"address"}],"name":"setEternalStorage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb5bb5619"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"removeExchangeOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb9156efa"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"approveAllDelegatePowers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbc87acbf"},{"constant":true,"inputs":[],"name":"CLAIM_FOR_ADDRESS","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc5e17ab0"},{"constant":true,"inputs":[],"name":"EXCHANGE_FOR_ADDRESS","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd8eeb7c1"},{"constant":true,"inputs":[],"name":"BURN_FOR_ADDRESS","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe32b3f52"},{"constant":true,"inputs":[{"name":"authoriser","type":"address"},{"name":"delegate","type":"address"}],"name":"canExchangeFor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xfaf431bb"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_eternalStorage","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authoriser","type":"address"},{"indexed":false,"name":"delegate","type":"address"},{"indexed":false,"name":"action","type":"bytes32"}],"name":"Approval","type":"event","signature":"0x36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a26336"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authoriser","type":"address"},{"indexed":false,"name":"delegate","type":"address"},{"indexed":false,"name":"action","type":"bytes32"}],"name":"WithdrawApproval","type":"event","signature":"0x7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f41"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newEternalStorage","type":"address"}],"name":"EternalStorageUpdated","type":"event","signature":"0xe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"FeePoolEternalStorage":{"bytecode":"608060405234801561001057600080fd5b5060405160408061161283398101604052805160209091015162375f008282818181600160a060020a03811615156100a957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050504201600a55506114a490508061016e6000396000f3006080604052600436106101695763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025ec81a811461016e578063043106c0146101985780630c55d925146101b2578063124f2418146101ca5780631627540c146101e257806317e7dd221461020357806325cf512d1461022f5780633562fd201461024a5780633cc1635c146102655780633eba9ed21461027d57806344bfa56e1461029a5780634c77e5ba1461032757806352f445ca1461035b57806353a47bb71461037c5780635a2bf25a1461039157806379ba5097146103b55780638267a9ee146103ca5780638da5cb5b146103e25780639007127b146103f757806393fe42481461040f578063a209a29c14610427578063a77aa49e1461043f578063aefc4ccb1461045a578063b3ffbd9e1461046f578063ba69fcaa1461049b578063bdc963d8146104b3578063c9a52d2c146104cb578063f5866066146104ef575b600080fd5b34801561017a57600080fd5b50610186600435610513565b60408051918252519081900360200190f35b3480156101a457600080fd5b506101b0600435610525565b005b3480156101be57600080fd5b506101b06004356105b4565b3480156101d657600080fd5b506101b0600435610632565b3480156101ee57600080fd5b506101b0600160a060020a03600435166106a7565b34801561020f57600080fd5b5061021b600435610790565b604080519115158252519081900360200190f35b34801561023b57600080fd5b506101b06004356024356107a5565b34801561025657600080fd5b506101b060043560243561081b565b34801561027157600080fd5b506101b0600435610891565b34801561028957600080fd5b506101b0600435602435151561090d565b3480156102a657600080fd5b506102b2600435610991565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ec5781810151838201526020016102d4565b50505050905090810190601f1680156103195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033357600080fd5b5061033f600435610a32565b60408051600160a060020a039092168252519081900360200190f35b34801561036757600080fd5b506101b0600160a060020a0360043516610a4d565b34801561038857600080fd5b5061033f610b36565b34801561039d57600080fd5b506101b0600435600160a060020a0360243516610b45565b3480156103c157600080fd5b506101b0610be4565b3480156103d657600080fd5b506101b0600435610cec565b3480156103ee57600080fd5b5061033f610d61565b34801561040357600080fd5b50610186600435610d70565b34801561041b57600080fd5b506101b0600435610d82565b34801561043357600080fd5b506102b2600435610df7565b34801561044b57600080fd5b506101b0600435602435610e61565b34801561046657600080fd5b5061033f610ed7565b34801561047b57600080fd5b506101b06024600480358281019290820135918135918201910135610ee6565b3480156104a757600080fd5b506101b06004356111cc565b3480156104bf57600080fd5b50610186600435611247565b3480156104d757600080fd5b506101b0600480359060248035908101910135611259565b3480156104fb57600080fd5b506101b06004803590602480359081019101356112dc565b60009081526007602052604090205490565b600254600160a060020a03163314610589576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b6000908152600560205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b600254600160a060020a03163314610618576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600081815260066020526040812061062f91611359565b50565b600254600160a060020a03163314610696576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600090815260076020526040812055565b600054600160a060020a0316331461072f576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b600254600160a060020a03163314610809576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60009182526007602052604090912055565b600254600160a060020a0316331461087f576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60009182526003602052604090912055565b600254600160a060020a031633146108f5576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b6000908152600860205260409020805460ff19169055565b600254600160a060020a03163314610971576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002610100600185161502600019019093169290920491820184900484028101840190945280845260609392830182828015610a265780601f106109fb57610100808354040283529160200191610a26565b820191906000526020600020905b815481529060010190602001808311610a0957829003601f168201915b50505050509050919050565b600090815260056020526040902054600160a060020a031690565b600054600160a060020a03163314610ad5576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b600254600160a060020a03163314610ba9576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600091825260056020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600154600160a060020a03163314610c6c576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600254600160a060020a03163314610d50576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600090815260096020526040812055565b600054600160a060020a031681565b60009081526009602052604090205490565b600254600160a060020a03163314610de6576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002610100600185161502600019019093169290920491820184900484028101840190945280845260609392830182828015610a265780601f106109fb57610100808354040283529160200191610a26565b600254600160a060020a03163314610ec5576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60009182526009602052604090912055565b600254600160a060020a031681565b60008054600160a060020a03163314610f6f576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b600a544210610fee576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757260448201527f696e672073657475700000000000000000000000000000000000000000000000606482015290519081900360840190fd5b838214611045576040805160e560020a62461bcd02815260206004820152600f60248201527f4c656e677468206d69736d617463680000000000000000000000000000000000604482015290519081900360640190fd5b5060005b60ff81168411156111c55730633562fd207f6c6173745f6665655f7769746864726177616c00000000000000000000000000878760ff861681811061108a57fe5b604080516020808201969096529185029390930135600160a060020a03166c01000000000000000000000000028184015282518082036034018152605490910192839052805190938392508401908083835b602083106110fb5780518252601f1990920191602091820191016110dc565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902085858560ff16818110151561113957fe5b905060200201356040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b1580156111a157600080fd5b505af11580156111b5573d6000803e3d6000fd5b5050600190920191506110499050565b5050505050565b600254600160a060020a03163314611230576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600081815260046020526040812061062f91611359565b60009081526003602052604090205490565b600254600160a060020a031633146112bd576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60008381526006602052604090206112d690838361139d565b50505050565b600254600160a060020a03163314611340576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60008381526004602052604090206112d690838361139d565b50805460018160011615610100020316600290046000825580601f1061137f575061062f565b601f01602090049060005260206000209081019061062f919061141b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106113de5782800160ff1982351617855561140b565b8280016001018555821561140b579182015b8281111561140b5782358255916020019190600101906113f0565b5061141792915061141b565b5090565b61143591905b808211156114175760008155600101611421565b9056004f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e000000000000000000000000a165627a7a72305820687142877678f2b71272cd9850fea5cd59a6afbe17bc36cc77cba68093d381c00029","abi":[{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getBytes32Value","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x025ec81a"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x043106c0"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0c55d925"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x124f2418"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getBooleanValue","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x17e7dd22"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"bytes32"}],"name":"setBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x25cf512d"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"uint256"}],"name":"setUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3562fd20"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3cc1635c"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"bool"}],"name":"setBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3eba9ed2"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getBytesValue","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x44bfa56e"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getAddressValue","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4c77e5ba"},{"constant":false,"inputs":[{"name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"address"}],"name":"setAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5a2bf25a"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8267a9ee"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getIntValue","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9007127b"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x93fe4248"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getStringValue","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa209a29c"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"int256"}],"name":"setIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa77aa49e"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":false,"inputs":[{"name":"accounts","type":"address[]"},{"name":"feePeriodIDs","type":"uint256[]"}],"name":"importFeeWithdrawalData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb3ffbd9e"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xba69fcaa"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getUIntValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbdc963d8"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"bytes"}],"name":"setBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc9a52d2c"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"string"}],"name":"setStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf5866066"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_feePool","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"PurgeableSynth":{"bytecode":"60806040819052630241ebdb60e61b815273__$3123cc1d66d3bdb6ad1ab810b3f0e3cac5$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051620186a002600c553480156200008857600080fd5b50604051620032c3380380620032c38339818101604052610100811015620000af57600080fd5b81516020830151604080850180519151939592948301929184640100000000821115620000db57600080fd5b908301906020820185811115620000f157600080fd5b82516401000000008111828201881017156200010c57600080fd5b82525081516020918201929091019080838360005b838110156200013b57818101518382015260200162000121565b50505050905090810190601f168015620001695780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200018d57600080fd5b908301906020820185811115620001a357600080fd5b8251640100000000811182820188101715620001be57600080fd5b82525081516020918201929091019080838360005b83811015620001ed578181015183820152602001620001d3565b50505050905090810190601f1680156200021b5780820380516001836020036101000a031916815260200191505b50604090815260208201519082015160608301516080909301519194509250878787878787878780888888888660128a86816001600160a01b038116620002a9576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000354576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b0388161790558451620003d6906006906020880190620004db565b508351620003ec906007906020870190620004db565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397881602179055505050908916905062000471576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b038416620004c2576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600b5550620005809b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200051e57805160ff19168380011785556200054e565b828001600101855582156200054e579182015b828111156200054e57825182559160200191906001019062000531565b506200055c92915062000560565b5090565b6200057d91905b808211156200055c576000815560010162000567565b90565b612d3380620005906000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806395d89b4111610125578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e21461068a578063eb1edd6114610692578063ec5568891461069a578063f7ea7a3d146106a2578063ffff51d6146106bf5761021c565b8063d67bdd2514610616578063dbd06c851461061e578063dd62ed3e14610626578063e73cced3146106545761021c565b80639f769807116100f45780639f76980714610502578063a9059cbb14610528578063ab59307914610554578063b014c3a3146105c4578063bc67f832146105f05761021c565b806395d89b41146104a057806397107d6d146104a85780639cbdaeb6146104ce5780639dc29fac146104d65761021c565b8063313ce567116101a857806379ba50971161017757806379ba5097146104045780637e88ac161461040c578063867904b414610414578063899ffef4146104405780638da5cb5b146104985761021c565b8063313ce567146103c657806353a47bb7146103ce57806370a08231146103d657806374185360146103fc5761021c565b80631627540c116101ef5780631627540c1461032a57806318160ddd1461035057806323b872dd1461036a5780632af64bd3146103a05780632e0f2625146103a85761021c565b806304f3bcec1461022157806306fdde0314610245578063095ea7b3146102c2578063131b0ae714610302575b600080fd5b6102296106e5565b604080516001600160a01b039092168252519081900360200190f35b61024d6106f9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028757818101518382015260200161026f565b50505050905090810190601f1680156102b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ee600480360360408110156102d857600080fd5b506001600160a01b038135169060200135610787565b604080519115158252519081900360200190f35b6103286004803603602081101561031857600080fd5b50356001600160a01b0316610822565b005b6103286004803603602081101561034057600080fd5b50356001600160a01b031661084c565b6103586108a8565b60408051918252519081900360200190f35b6102ee6004803603606081101561038057600080fd5b506001600160a01b038135811691602081013590911690604001356108ae565b6102ee6108d5565b6103b06109e7565b6040805160ff9092168252519081900360200190f35b6103b06109ec565b6102296109f5565b610358600480360360208110156103ec57600080fd5b50356001600160a01b0316610a04565b610328610a89565b610328610c66565b610358610d22565b6103286004803603604081101561042a57600080fd5b506001600160a01b038135169060200135610d28565b610448610de5565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048457818101518382015260200161046c565b505050509050019250505060405180910390f35b610229610e51565b61024d610e60565b610328600480360360208110156104be57600080fd5b50356001600160a01b0316610ebb565b610229610f17565b610328600480360360408110156104ec57600080fd5b506001600160a01b038135169060200135610f26565b6103286004803603602081101561051857600080fd5b50356001600160a01b0316610fe4565b6102ee6004803603604081101561053e57600080fd5b506001600160a01b038135169060200135611013565b6103286004803603602081101561056a57600080fd5b81019060208101813564010000000081111561058557600080fd5b82018360208201111561059757600080fd5b803590602001918460208302840111640100000000831117156105b957600080fd5b5090925090506110ab565b6102ee600480360360408110156105da57600080fd5b506001600160a01b038135169060200135611371565b6103286004803603602081101561060657600080fd5b50356001600160a01b03166114ca565b6102296114f4565b610358611503565b6103586004803603604081101561063c57600080fd5b506001600160a01b0381358116916020013516611509565b6102ee6004803603606081101561066a57600080fd5b506001600160a01b03813581169160208101359091169060400135611595565b6102296116e5565b6102296116f4565b61022961170c565b610328600480360360208110156106b857600080fd5b503561171b565b610358600480360360208110156106d557600080fd5b50356001600160a01b0316611728565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561077f5780601f106107545761010080835404028352916020019161077f565b820191906000526020600020905b81548152906001019060200180831161076257829003601f168201915b505050505081565b600061079161186b565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b1580156107f357600080fd5b505af1158015610807573d6000803e3d6000fd5b505050506108168185856118c2565b60019150505b92915050565b61082a6119fb565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6108546119fb565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b60006108b861186b565b6108c28483611a44565b6108cd848484611bbb565b949350505050565b600060606108e1610de5565b905060005b81518110156109dd5760008282815181106108fd57fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b15801561096c57600080fd5b505afa158015610980573d6000803e3d6000fd5b505050506040513d602081101561099657600080fd5b50516001600160a01b03161415806109c357506000818152600a60205260409020546001600160a01b0316155b156109d457600093505050506109e4565b506001016108e6565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610a5557600080fd5b505afa158015610a69573d6000803e3d6000fd5b505050506040513d6020811015610a7f57600080fd5b505190505b919050565b6060610a93610de5565b905060005b8151811015610c62576000828281518110610aaf57fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b7a578181015183820152602001610b62565b50505050905090810190601f168015610ba75780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610bc557600080fd5b505afa158015610bd9573d6000803e3d6000fd5b505050506040513d6020811015610bef57600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a98565b5050565b6001546001600160a01b03163314610caf5760405162461bcd60e51b8152600401808060200182810382526035815260200180612b8b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600c5481565b6000610d32611d7c565b6001600160a01b0316336001600160a01b03161490506000610d52611d96565b6001600160a01b0316336001600160a01b03161490506000610d72611dad565b6001600160a01b0316336001600160a01b03161490508280610d915750815b80610d995750805b610dd45760405162461bcd60e51b8152600401808060200182810382526033815260200180612bef6033913960400191505060405180910390fd5b610dde8585611dc1565b5050505050565b606080610df0611eeb565b60408051600180825281830190925291925060609190602080830190803883390190505090506c45786368616e6765526174657360981b81600081518110610e3457fe5b602002602001018181525050610e4a8282611fa7565b9250505090565b6000546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561077f5780601f106107545761010080835404028352916020019161077f565b610ec36119fb565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b6000610f30611d7c565b6001600160a01b0316336001600160a01b03161490506000610f50611d96565b6001600160a01b0316336001600160a01b03161490506000610f70611dad565b6001600160a01b0316336001600160a01b03161490508280610f8f5750815b80610f975750805b610fd25760405162461bcd60e51b8152600401808060200182810382526033815260200180612bef6033913960400191505060405180910390fd5b610fdc8585612063565b505050505050565b610fec612160565b600580546001600160a01b0319166001600160a01b03831617905561101081612210565b50565b600061101d61186b565b600454611033906001600160a01b031683611a44565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef141561106957611062838361234f565b905061081c565b6001600160a01b03831661108d57600454611062906001600160a01b031683612063565b6004546110a4906001600160a01b031684846124b2565b9392505050565b6110b3612160565b60006110bd6126df565b90506000816001600160a01b031663654a60ac600c54600b546040518363ffffffff1660e01b81526004018080631cd554d160e21b8152506020018381526020018281526020019250505060206040518083038186803b15801561112057600080fd5b505afa158015611134573d6000803e3d6000fd5b505050506040513d602081101561114a57600080fd5b5051600854909150811015806111ce5750816001600160a01b031663af3aea86600b546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156111a157600080fd5b505afa1580156111b5573d6000803e3d6000fd5b505050506040513d60208110156111cb57600080fd5b50515b6112095760405162461bcd60e51b8152600401808060200182810382526047815260200180612cb86047913960600191505060405180910390fd5b60005b83811015610dde57600085858381811061122257fe5b600554604080516370a0823160e01b8152602093840295909501356001600160a01b03908116600487018190529151919650600095921693506370a0823192602480840193919291829003018186803b15801561127e57600080fd5b505afa158015611292573d6000803e3d6000fd5b505050506040513d60208110156112a857600080fd5b505190508015611367576112ba611d96565b600b5460408051630a1e187d60e01b81526001600160a01b0386811660048301819052602483019490945260448201869052631cd554d160e21b6064830152608482019390935290519290911691630a1e187d9160a4808201926020929091908290030181600087803b15801561133057600080fd5b505af1158015611344573d6000803e3d6000fd5b505050506040513d602081101561135a57600080fd5b50611367905082826126fa565b505060010161120c565b600061137b61186b565b6000611385611d96565b60048054600b54604080516306c5a00b60e21b81526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b1580156113e057600080fd5b505af11580156113f4573d6000803e3d6000fd5b505050506040513d606081101561140a57600080fd5b506040015190508281156114985760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b15801561146957600080fd5b505afa15801561147d573d6000803e3d6000fd5b505050506040513d602081101561149357600080fd5b505190505b8084116114a557836114a7565b805b6004549094506114c1906001600160a01b031686866124b2565b95945050505050565b6114d261283b565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600b5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561156257600080fd5b505afa158015611576573d6000803e3d6000fd5b505050506040513d602081101561158c57600080fd5b50519392505050565b600061159f61186b565b60006115a9611d96565b6001600160a01b0316631b16802c86600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561160a57600080fd5b505af115801561161e573d6000803e3d6000fd5b505050506040513d606081101561163457600080fd5b506040015190508281156116be57600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561168f57600080fd5b505afa1580156116a3573d6000803e3d6000fd5b505050506040513d60208110156116b957600080fd5b505190505b808410156116cc57836116ce565b805b93506116db868686611bbb565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611723612160565b600855565b600080611733611d96565b6001600160a01b03166319d5c66584600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561179257600080fd5b505afa1580156117a6573d6000803e3d6000fd5b505050506040513d60608110156117bc57600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561181157600080fd5b505afa158015611825573d6000803e3d6000fd5b505050506040513d602081101561183b57600080fd5b505190508082111561185257600092505050610a84565b611862818363ffffffff6128af16565b92505050610a84565b6002546001600160a01b0316331480159061189157506003546001600160a01b03163314155b80156118a857506004546001600160a01b03163314155b156118c057600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612c518239602101905060405180910390206119158861290c565b61191e8861290c565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561198d578181015183820152602001611975565b50505050905090810190601f1680156119ba5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156119de57600080fd5b505af11580156119f2573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146118c05760405162461bcd60e51b815260040180806020018281038252602f815260200180612c22602f913960400191505060405180910390fd5b611a4c611d96565b6001600160a01b031663059c29ec83600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015611aab57600080fd5b505afa158015611abf573d6000803e3d6000fd5b505050506040513d6020811015611ad557600080fd5b505115611b135760405162461bcd60e51b8152600401808060200182810382526025815260200180612c726025913960400191505060405180910390fd5b80611b1d83611728565b1015611b5a5760405162461bcd60e51b815260040180806020018281038252602f815260200180612bc0602f913960400191505060405180910390fd5b611b62612918565b6001600160a01b03166342a28e21600b546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611ba757600080fd5b505afa158015610fdc573d6000803e3d6000fd5b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b158015611c1957600080fd5b505afa158015611c2d573d6000803e3d6000fd5b505050506040513d6020811015611c4357600080fd5b505114611d71576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c928892611cf0918891879163dd62ed3e91604480820192602092909190829003018186803b158015611cb857600080fd5b505afa158015611ccc573d6000803e3d6000fd5b505050506040513d6020811015611ce257600080fd5b50519063ffffffff6128af16565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611d5857600080fd5b505af1158015611d6c573d6000803e3d6000fd5b505050505b6108cd8484846124b2565b6000611d9166119959541bdbdb60ca1b61292e565b905090565b6000611d916822bc31b430b733b2b960b91b61292e565b6000611d916524b9b9bab2b960d11b61292e565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611e5791869186916370a0823191602480820192602092909190829003018186803b158015611e1f57600080fd5b505afa158015611e33573d6000803e3d6000fd5b505050506040513d6020811015611e4957600080fd5b50519063ffffffff612a0b16565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611ea657600080fd5b505af1158015611eba573d6000803e3d6000fd5b5050600854611ed2925090508263ffffffff612a0b16565b600855611ee160008383612a65565b610c628282612ab8565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110611f2b57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611f5157fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110611f7457fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110611f9857fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611fd7578160200160208202803883390190505b50905060005b835181101561201957838181518110611ff257fe5b602002602001015182828151811061200657fe5b6020908102919091010152600101611fdd565b5060005b825181101561205c5782818151811061203257fe5b602002602001015182828651018151811061204957fe5b602090810291909101015260010161201d565b5092915050565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f69186916120c391879186916370a08231916024808301926020929190829003018186803b158015611cb857600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561211257600080fd5b505af1158015612126573d6000803e3d6000fd5b505060085461213e925090508363ffffffff6128af16565b60085561214d83600084612a65565b6121578383612b21565b50600192915050565b6002546001600160a01b0316331480159061218657506003546001600160a01b03163314155b801561219d57506004546001600160a01b03163314155b156121b557600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146118c0576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b838110156122ea5781810151838201526020016122d2565b50505050905090810190601f1680156123175780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561233b57600080fd5b505af1158015610dde573d6000803e3d6000fd5b600080600b54631cd554d160e21b14156123835750600454829061237d906001600160a01b031685836124b2565b50612443565b61238b611d96565b60048054600b5460408051630a1e187d60e01b81526001600160a01b0393841694810194909452602484019190915260448301879052631cd554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b15801561241457600080fd5b505af1158015612428573d6000803e3d6000fd5b505050506040513d602081101561243e57600080fd5b505190505b61244b611d7c565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561249057600080fd5b505af11580156124a4573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b038316158015906124d557506001600160a01b0383163014155b80156124ef57506002546001600160a01b03848116911614155b612540576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161259e91879186916370a0823191602480820192602092909190829003018186803b158015611cb857600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156125ed57600080fd5b505af1158015612601573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f69250869161266391879186916370a0823191602480820192602092909190829003018186803b158015611e1f57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156126b257600080fd5b505af11580156126c6573d6000803e3d6000fd5b505050506126d5848484612a65565b5060019392505050565b6000611d916c45786368616e6765526174657360981b61292e565b60028054604080516020808201869052825180830390910181528183018084527f50757267656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127638761290c565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156127d65781810151838201526020016127be565b50505050905090810190601f1680156128035780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561282757600080fd5b505af1158015610fdc573d6000803e3d6000fd5b6002546001600160a01b031633148061285e57506003546001600160a01b031633145b6118c0576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b600082821115612906576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000611d916b53797374656d53746174757360a01b5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161205c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156129d05781810151838201526020016129b8565b50505050905090810190601f1680156129fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000828201838110156110a4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612c978239602101905060405180910390206119158861290c565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127638761290c565b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127638761290c56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e743235362943616e6e6f7420707572676520617320746f74616c20737570706c792069732061626f7665207468726573686f6c6420616e642072617465206973206e6f742066726f7a656e2ea265627a7a723158208231562ec7f6456ba9b887df1018bae42a01064ff370d40b4c1e53992ea97ee364736f6c63430005100032","abi":[{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"},{"internalType":"contract TokenState","name":"_tokenState","type":"address"},{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"address payable","name":"_owner","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event","signature":"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burned","type":"event","signature":"0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Issued","type":"event","signature":"0xa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxyAddress","type":"address"}],"name":"ProxyUpdated","type":"event","signature":"0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Purged","type":"event","signature":"0x265db6c9c62cb962adbcf4398a54e4b02b2d87b28ab5b7538850150465a5f43c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTokenState","type":"address"}],"name":"TokenStateUpdated","type":"event","signature":"0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event","signature":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"},{"constant":true,"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2e0f2625"},{"constant":true,"inputs":[],"name":"FEE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeb1edd61"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdd62ed3e"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x095ea7b3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9dc29fac"},{"constant":true,"inputs":[],"name":"currencyKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdbd06c85"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x313ce567"},{"constant":true,"inputs":[],"name":"integrationProxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9cbdaeb6"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x867904b4"},{"constant":true,"inputs":[],"name":"maxSupplyToPurgeInUSD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7e88ac16"},{"constant":true,"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd67bdd25"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x06fdde03"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"proxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xec556889"},{"constant":false,"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"purge","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xab593079"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_integrationProxy","type":"address"}],"name":"setIntegrationProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x131b0ae7"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"setMessageSender","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbc67f832"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"}],"name":"setProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x97107d6d"},{"constant":false,"inputs":[{"internalType":"contract TokenState","name":"_tokenState","type":"address"}],"name":"setTokenState","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9f769807"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTotalSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf7ea7a3d"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x95d89b41"},{"constant":true,"inputs":[],"name":"tokenState","outputs":[{"internalType":"contract TokenState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe90dd9e2"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18160ddd"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa9059cbb"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb014c3a3"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23b872dd"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFromAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe73cced3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"transferableSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xffff51d6"}],"source":{"keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855","urls":["bzz-raw://60a0eeb46cd23809b70a928101c82aa12318bec3a3053624c2dbf36bd098f83d","dweb:/ipfs/QmfJmHCAiE6soGdUntPttQbEP8FkQXRHr28EmMyrmx3jmf"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"PurgeableSynth.sol":"PurgeableSynth"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"PurgeableSynth.sol":{"keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855","urls":["bzz-raw://60a0eeb46cd23809b70a928101c82aa12318bec3a3053624c2dbf36bd098f83d","dweb:/ipfs/QmfJmHCAiE6soGdUntPttQbEP8FkQXRHr28EmMyrmx3jmf"]}},"version":1}},"ProxyERC20":{"bytecode":"608060405234801561001057600080fd5b50604051610f7f380380610f7f8339818101604052602081101561003357600080fd5b505180806001600160a01b038116610092576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505050610e83806100fc6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b4114610473578063a9059cbb14610488578063d4b83992146104c1578063dd62ed3e146104d6576100f3565b8063776d1a011461038157806379ba5097146103b45780638da5cb5b146103c9578063907dff97146103de576100f3565b806323b872dd116100c657806323b872dd146102af578063313ce567146102f257806353a47bb71461031d57806370a082311461034e576100f3565b806306fdde031461017c578063095ea7b3146102065780631627540c1461025357806318160ddd14610288575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e80610178573d82fd5b3d82f35b34801561018857600080fd5b50610191610511565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021257600080fd5b5061023f6004803603604081101561022957600080fd5b506001600160a01b038135169060200135610648565b604080519115158252519081900360200190f35b34801561025f57600080fd5b506102866004803603602081101561027657600080fd5b50356001600160a01b0316610736565b005b34801561029457600080fd5b5061029d610792565b60408051918252519081900360200190f35b3480156102bb57600080fd5b5061023f600480360360608110156102d257600080fd5b506001600160a01b03813581169160208101359091169060400135610808565b3480156102fe57600080fd5b506103076108ff565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b50610332610944565b604080516001600160a01b039092168252519081900360200190f35b34801561035a57600080fd5b5061029d6004803603602081101561037157600080fd5b50356001600160a01b0316610953565b34801561038d57600080fd5b50610286600480360360208110156103a457600080fd5b50356001600160a01b03166109d6565b3480156103c057600080fd5b50610286610a32565b3480156103d557600080fd5b50610332610aee565b3480156103ea57600080fd5b50610286600480360360c081101561040157600080fd5b81019060208101813564010000000081111561041c57600080fd5b82018360208201111561042e57600080fd5b8035906020019184600183028401116401000000008311171561045057600080fd5b919350915080359060208101359060408101359060608101359060800135610afd565b34801561047f57600080fd5b50610191610c06565b34801561049457600080fd5b5061023f600480360360408110156104ab57600080fd5b506001600160a01b038135169060200135610c4b565b3480156104cd57600080fd5b50610332610d04565b3480156104e257600080fd5b5061029d600480360360408110156104f957600080fd5b506001600160a01b0381358116916020013516610d13565b600254604080516306fdde0360e01b815290516060926001600160a01b0316916306fdde03916004808301926000929190829003018186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561059357600080fd5b81019080805160405193929190846401000000008211156105b357600080fd5b9083019060208201858111156105c857600080fd5b82516401000000008111828201881017156105e257600080fd5b82525081516020918201929091019080838360005b8381101561060f5781810151838201526020016105f7565b50505050905090810190601f16801561063c5780820380516001836020036101000a031916815260200191505b50604052505050905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506002546040805163095ea7b360e01b81526001600160a01b03888116600483015260248201889052915191909216935063095ea7b3925060448083019260209291908290030181600087803b15801561070157600080fd5b505af1158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b506001949350505050565b61073e610d9f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d602081101561080157600080fd5b5051905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b5050600254604080516323b872dd60e01b81526001600160a01b03898116600483015288811660248301526044820188905291519190921693506323b872dd925060648083019260209291908290030181600087803b1580156108c957600080fd5b505af11580156108dd573d6000803e3d6000fd5b505050506040513d60208110156108f357600080fd5b50600195945050505050565b6002546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b1580156107d757600080fd5b6001546001600160a01b031681565b600254604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109a457600080fd5b505afa1580156109b8573d6000803e3d6000fd5b505050506040513d60208110156109ce57600080fd5b505192915050565b6109de610d9f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b03163314610a7b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610deb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610b53576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610bbd5760018114610bc85760028114610bd45760038114610be15760048114610bef57610bfa565b8260208301a0610bfa565b868360208401a1610bfa565b85878460208501a2610bfa565b8486888560208601a3610bfa565b838587898660208701a45b50505050505050505050565b600254604080516395d89b4160e01b815290516060926001600160a01b0316916395d89b41916004808301926000929190829003018186803b15801561055657600080fd5b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b50506002546040805163a9059cbb60e01b81526001600160a01b03888116600483015260248201889052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561070157600080fd5b6002546001600160a01b031681565b60025460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610d6c57600080fd5b505afa158015610d80573d6000803e3d6000fd5b505050506040513d6020811015610d9657600080fd5b50519392505050565b6000546001600160a01b03163314610de85760405162461bcd60e51b815260040180806020018281038252602f815260200180610e20602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820bc16ca473a169ecfb5918c5dcce84659bb9529548bc8336990487ca08ab50b1a64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract Proxyable","name":"newTarget","type":"address"}],"name":"TargetUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"uint256","name":"numTopics","type":"uint256"},{"internalType":"bytes32","name":"topic1","type":"bytes32"},{"internalType":"bytes32","name":"topic2","type":"bytes32"},{"internalType":"bytes32","name":"topic3","type":"bytes32"},{"internalType":"bytes32","name":"topic4","type":"bytes32"}],"name":"_emit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract Proxyable","name":"_target","type":"address"}],"name":"setTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"target","outputs":[{"internalType":"contract Proxyable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0xa4731706c3292ed368ded616be2fcf28877d8a853cbce27be7d78e6a57636e9f","urls":["bzz-raw://f099f912010a38e63b1f3c6208bc7b605e59b9dd42bde020cb603dc4f73ce754","dweb:/ipfs/QmcP1qHd6wTcPh7xBMvWTbeWE3Ms8vmCSRsyKwkymiTNuW"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ProxyERC20.sol":"ProxyERC20"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"ProxyERC20.sol":{"keccak256":"0xa4731706c3292ed368ded616be2fcf28877d8a853cbce27be7d78e6a57636e9f","urls":["bzz-raw://f099f912010a38e63b1f3c6208bc7b605e59b9dd42bde020cb603dc4f73ce754","dweb:/ipfs/QmcP1qHd6wTcPh7xBMvWTbeWE3Ms8vmCSRsyKwkymiTNuW"]}},"version":1}},"RewardsDistribution":{"bytecode":"608060405234801561001057600080fd5b5060405160a0806115f9833981016040908152815160208301519183015160608401516080909401519193909184600160a060020a03811615156100b557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a03958616600160a060020a03199182161790915560038054948616948216949094179093556004805492851692841692909217909155600580549190931691161790555061148d8061016c6000396000f3006080604052600436106100fb5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663060ca25081146101005780631627540c146101275780634487d3df1461014a57806353a47bb71461018557806359974e38146101b65780635de39934146101e257806360eb3ff21461020357806379ba5097146102275780637a9e5e4b1461023c578063817a69511461025d5780638da5cb5b1461027557806395896b761461028a578063a430be6c146102ab578063bdd12482146102c0578063bf7e214f146102d5578063c9e9cc4d146102ea578063d8297e44146102ff578063e54c167114610320575b600080fd5b34801561010c57600080fd5b50610115610347565b60408051918252519081900360200190f35b34801561013357600080fd5b50610148600160a060020a036004351661034e565b005b34801561015657600080fd5b50610162600435610406565b60408051600160a060020a03909316835260208301919091528051918290030190f35b34801561019157600080fd5b5061019a61043c565b60408051600160a060020a039092168252519081900360200190f35b3480156101c257600080fd5b506101ce60043561044b565b604080519115158252519081900360200190f35b3480156101ee57600080fd5b50610148600160a060020a0360043516610ba1565b34801561020f57600080fd5b506101ce600160a060020a0360043516602435610c27565b34801561023357600080fd5b50610148610e37565b34801561024857600080fd5b50610148600160a060020a0360043516610f32565b34801561026957600080fd5b50610148600435610fb8565b34801561028157600080fd5b5061019a611111565b34801561029657600080fd5b50610148600160a060020a0360043516611120565b3480156102b757600080fd5b5061019a6111a6565b3480156102cc57600080fd5b5061019a6111b5565b3480156102e157600080fd5b5061019a6111c4565b3480156102f657600080fd5b5061019a6111d3565b34801561030b57600080fd5b50610148600160a060020a03600435166111e2565b34801561032c57600080fd5b506101ce600435600160a060020a0360243516604435611268565b6006545b90565b600054600160a060020a031633146103b2576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b60018054600160a060020a038316600160a060020a0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600680548290811061041457fe5b600091825260209091206002909102018054600190910154600160a060020a03909116915082565b600154600160a060020a031681565b60025460009081908190606090600160a060020a031633146104b7576040805160e560020a62461bcd02815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015290519081900360640190fd5b600454600160a060020a03161515610519576040805160e560020a62461bcd02815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b600354600160a060020a0316151561057b576040805160e560020a62461bcd02815260206004820152601960248201527f53796e74686574697850726f7879206973206e6f742073657400000000000000604482015290519081900360640190fd5b600554600160a060020a031615156105dd576040805160e560020a62461bcd02815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b60008511610635576040805160e560020a62461bcd02815260206004820152601560248201527f4e6f7468696e6720746f20646973747269627574650000000000000000000000604482015290519081900360640190fd5b600354604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518792600160a060020a0316916370a082319160248083019260209291908290030181600087803b15801561069a57600080fd5b505af11580156106ae573d6000803e3d6000fd5b505050506040513d60208110156106c457600080fd5b50511015610768576040805160e560020a62461bcd02815260206004820152604660248201527f52657761726473446973747269627574696f6e20636f6e747261637420646f6560448201527f73206e6f74206861766520656e6f75676820746f6b656e7320746f206469737460648201527f7269627574650000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b849250600091505b600654821015610a455760068054600091908490811061078c57fe5b6000918252602090912060029091020154600160a060020a03161415806107d3575060068054839081106107bc57fe5b906000526020600020906002020160010154600014155b15610a3a5761080b6006838154811015156107ea57fe5b906000526020600020906002020160010154846113a090919063ffffffff16565b60035460068054929550600160a060020a039091169163a9059cbb91908590811061083257fe5b600091825260209091206002909102015460068054600160a060020a03909216918690811061085d57fe5b9060005260206000209060020201600101546040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1580156108da57600080fd5b505af11580156108ee573d6000803e3d6000fd5b505050506040513d602081101561090457600080fd5b5050600680548390811061091457fe5b6000918252602091829020600160029092020101546040805160248082019390935281518082039093018352604401905290810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3c6b16ab0000000000000000000000000000000000000000000000000000000017905260068054919250908390811061099e57fe5b906000526020600020906002020160000160009054906101000a9004600160a060020a0316600160a060020a03168160405180828051906020019080838360005b838110156109f75781810151838201526020016109df565b50505050905090810190601f168015610a245780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af15050505b600190910190610770565b60035460048054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831693810193909352602483018790525192169163a9059cbb916044808201926020929091908290030181600087803b158015610ab857600080fd5b505af1158015610acc573d6000803e3d6000fd5b505050506040513d6020811015610ae257600080fd5b5050600554604080517ffd1f498d000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a039092169163fd1f498d9160248082019260009290919082900301818387803b158015610b4a57600080fd5b505af1158015610b5e573d6000803e3d6000fd5b50506040805188815290517f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429350908190036020019150a1506001949350505050565b600054600160a060020a03163314610c05576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b60048054600160a060020a031916600160a060020a0392909216919091179055565b6000610c316113b7565b600054600160a060020a03163314610c95576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b600160a060020a0384161515610cf5576040805160e560020a62461bcd02815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b821515610d4c576040805160e560020a62461bcd02815260206004820152601660248201527f43616e74206164642061207a65726f20616d6f756e7400000000000000000000604482015290519081900360640190fd5b50604080518082018252600160a060020a03858116808352602080840187815260068054600181018255600082905286517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f60029092029182018054600160a060020a031916919097161790955590517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909401939093559154845160001991909101815291820152808301859052915190917f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208916060918190039190910190a15060019392505050565b600154600160a060020a03163314610ebf576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b600054600160a060020a03163314610f96576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b60028054600160a060020a031916600160a060020a0392909216919091179055565b60008054600160a060020a0316331461101d576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b6006546000190182111561107b576040805160e560020a62461bcd02815260206004820152601360248201527f696e646578206f7574206f6620626f756e647300000000000000000000000000604482015290519081900360640190fd5b50805b600654600019018110156110f957600680546001830190811061109d57fe5b90600052602060002090600202016006828154811015156110ba57fe5b6000918252602090912082546002909202018054600160a060020a031916600160a060020a03909216919091178155600191820154908201550161107e565b600680549061110c9060001983016113ce565b505050565b600054600160a060020a031681565b600054600160a060020a03163314611184576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b60038054600160a060020a031916600160a060020a0392909216919091179055565b600454600160a060020a031681565b600354600160a060020a031681565b600254600160a060020a031681565b600554600160a060020a031681565b600054600160a060020a03163314611246576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b60058054600160a060020a031916600160a060020a0392909216919091179055565b60008054600160a060020a031633146112cd576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b6006546000190184111561132b576040805160e560020a62461bcd02815260206004820152601360248201527f696e646578206f7574206f6620626f756e647300000000000000000000000000604482015290519081900360640190fd5b8260068581548110151561133b57fe5b906000526020600020906002020160000160006101000a815481600160a060020a030219169083600160a060020a031602179055508160068581548110151561138057fe5b906000526020600020906002020160010181905550600190509392505050565b600080838311156113b057600080fd5b5050900390565b604080518082019091526000808252602082015290565b81548183558181111561110c5760008381526020902061110c9161034b9160029182028101918502015b8082111561141d578054600160a060020a0319168155600060018201556002016113f8565b509056004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e0000000000000000000000000000000000a165627a7a72305820dfcb1d66956584912ee1e204831a82856f207ae2355d1761b0d9cc0efd6cee370029","abi":[{"constant":true,"inputs":[],"name":"distributionsLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x060ca250"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"distributions","outputs":[{"name":"destination","type":"address"},{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4487d3df"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"distributeRewards","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x59974e38"},{"constant":false,"inputs":[{"name":"_rewardEscrow","type":"address"}],"name":"setRewardEscrow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5de39934"},{"constant":false,"inputs":[{"name":"destination","type":"address"},{"name":"amount","type":"uint256"}],"name":"addRewardDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x60eb3ff2"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"name":"_authority","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x7a9e5e4b"},{"constant":false,"inputs":[{"name":"index","type":"uint256"}],"name":"removeRewardDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x817a6951"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"name":"_synthetixProxy","type":"address"}],"name":"setSynthetixProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x95896b76"},{"constant":true,"inputs":[],"name":"rewardEscrow","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa430be6c"},{"constant":true,"inputs":[],"name":"synthetixProxy","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbdd12482"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbf7e214f"},{"constant":true,"inputs":[],"name":"feePoolProxy","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc9e9cc4d"},{"constant":false,"inputs":[{"name":"_feePoolProxy","type":"address"}],"name":"setFeePoolProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd8297e44"},{"constant":false,"inputs":[{"name":"index","type":"uint256"},{"name":"destination","type":"address"},{"name":"amount","type":"uint256"}],"name":"editRewardDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe54c1671"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_authority","type":"address"},{"name":"_synthetixProxy","type":"address"},{"name":"_rewardEscrow","type":"address"},{"name":"_feePoolProxy","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"index","type":"uint256"},{"indexed":false,"name":"destination","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"RewardDistributionAdded","type":"event","signature":"0x08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"RewardsDistributed","type":"event","signature":"0x6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be442"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"Math":{"bytecode":"604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058202cc46ac22383a5b3f8f2b208cff313c4febc44dab79fcbaa1d7596fd115ac5150029","abi":[]},"AddressResolver":{"bytecode":"608060405234801561001057600080fd5b50604051610ab9380380610ab98339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506109bf806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063766f781511610071578063766f78151461015157806379ba5097146101bf5780638da5cb5b146101c75780639f42102f146101cf578063ab0b8f77146102a1578063dacb2d011461035f576100a9565b80631627540c146100ae578063187f7935146100d657806321f8a7211461010f578063514560611461012c57806353a47bb714610149575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166103d4565b005b6100f3600480360360208110156100ec57600080fd5b5035610430565b604080516001600160a01b039092168252519081900360200190f35b6100f36004803603602081101561012557600080fd5b503561044b565b6100f36004803603602081101561014257600080fd5b5035610466565b6100f361056e565b6100d46004803603602081101561016757600080fd5b810190602081018135600160201b81111561018157600080fd5b82018360208201111561019357600080fd5b803590602001918460208302840111600160201b831117156101b457600080fd5b50909250905061057d565b6100d4610607565b6100f36106c3565b61028d600480360360408110156101e557600080fd5b810190602081018135600160201b8111156101ff57600080fd5b82018360208201111561021157600080fd5b803590602001918460208302840111600160201b8311171561023257600080fd5b919390929091602081019035600160201b81111561024f57600080fd5b82018360208201111561026157600080fd5b803590602001918460208302840111600160201b8311171561028257600080fd5b5090925090506106d2565b604080519115158252519081900360200190f35b6100d4600480360360408110156102b757600080fd5b810190602081018135600160201b8111156102d157600080fd5b8201836020820111156102e357600080fd5b803590602001918460208302840111600160201b8311171561030457600080fd5b919390929091602081019035600160201b81111561032157600080fd5b82018360208201111561033357600080fd5b803590602001918460208302840111600160201b8311171561035457600080fd5b50909250905061075b565b6100f36004803603604081101561037557600080fd5b81359190810190604081016020820135600160201b81111561039657600080fd5b8201836020820111156103a857600080fd5b803590602001918460018302840111600160201b831117156103c957600080fd5b509092509050610867565b6103dc6108db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b0316806104f7576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166332608039846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561053b57600080fd5b505afa15801561054f573d6000803e3d6000fd5b505050506040513d602081101561056557600080fd5b50519392505050565b6001546001600160a01b031681565b60005b818110156106025782828281811061059457fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105de57600080fd5b505af11580156105f2573d6000803e3d6000fd5b5050600190920191506105809050565b505050565b6001546001600160a01b031633146106505760405162461bcd60e51b81526004018080602001828103825260358152602001806109276035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000805b8481101561074d578383828181106106ea57fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061071357fe5b60209081029290920135835250810191909152604001600020546001600160a01b031614610745576000915050610753565b6001016106d6565b50600190505b949350505050565b6107636108db565b8281146107b7576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156108605760008585838181106107d057fe5b90506020020135905060008484848181106107e757fe5b600085815260026020908152604091829020805493820295909501356001600160a01b03166001600160a01b03199093168317909455805186815293840182905280519194507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9193829003019150a150506001016107ba565b5050505050565b6000838152600260205260408120546001600160a01b03168383826108d05760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b031633146109245760405162461bcd60e51b815260040180806020018281038252602f81526020018061095c602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820f199d36769f9e881e995f714bdddbea66b9f50378990764eea9c033c301f6b2064736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"AddressImported","type":"event","signature":"0xefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa91"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"names","type":"bytes32[]"},{"internalType":"address[]","name":"destinations","type":"address[]"}],"name":"areAddressesImported","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9f42102f"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"name","type":"bytes32"}],"name":"getAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x21f8a721"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"getSynth","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x51456061"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"names","type":"bytes32[]"},{"internalType":"address[]","name":"destinations","type":"address[]"}],"name":"importAddresses","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xab0b8f77"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"internalType":"contract MixinResolver[]","name":"destinations","type":"address[]"}],"name":"rebuildCaches","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x766f7815"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"repository","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x187f7935"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"reason","type":"string"}],"name":"requireAndGetAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdacb2d01"}],"source":{"keccak256":"0x08ec0f694f3303c567cc46ab5bf96aaf3851fd6a19648ad1918b5782429cc81a","urls":["bzz-raw://6de2473ac2527bcb410a341df44f9e49e3994419f86cd25ab81dbbb4986c5c7a","dweb:/ipfs/Qmbp1HNbceKDHgipiNrJNx8XCadEUzvgzVnKcFSbNK4BGE"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"AddressResolver.sol":"AddressResolver"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"AddressResolver.sol":{"keccak256":"0x08ec0f694f3303c567cc46ab5bf96aaf3851fd6a19648ad1918b5782429cc81a","urls":["bzz-raw://6de2473ac2527bcb410a341df44f9e49e3994419f86cd25ab81dbbb4986c5c7a","dweb:/ipfs/Qmbp1HNbceKDHgipiNrJNx8XCadEUzvgzVnKcFSbNK4BGE"]}},"version":1}},"Exchanger":{"bytecode":"6101806040526b53797374656d53746174757360a01b60809081526c45786368616e6765537461746560981b60a0526c45786368616e6765526174657360981b60c052680a6f2dce8d0cae8d2f60bb1b60e05266119959541bdbdb60ca1b610100526d54726164696e675265776172647360901b610120527044656c6567617465417070726f76616c7360781b610140526524b9b9bab2b960d11b61016052620000ae90600690600862000407565b50348015620000bc57600080fd5b50604051620040c1380380620040c183398181016040526040811015620000e257600080fd5b50805160209091015160408051610300810191829052829160069060189082845b8154815260200190600101908083116200010357508793505050506001600160a01b0381166200017a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000225576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b60188110156200028d5760008282601881106200024157fe5b6020020151146200027e5760048282601881106200025b57fe5b602090810291909101518254600181018455600093845291909220015562000284565b6200028d565b60010162000228565b5050600280546001600160a01b0319166001600160a01b0392909216919091179055620002cc6e466c657869626c6553746f7261676560881b620002d4565b50506200046a565b6004805460018101825560008290527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01829055546018116200035e576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600254604080516321f8a72160e01b81526004810184905290516001600160a01b03909216916321f8a72191602480820192602092909190829003018186803b158015620003ab57600080fd5b505afa158015620003c0573d6000803e3d6000fd5b505050506040513d6020811015620003d757600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b826018810192821562000438579160200282015b82811115620004385782518255916020019190600101906200041b565b50620004469291506200044a565b5090565b6200046791905b8082111562000446576000815560010162000451565b90565b613c47806200047a6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063631e144411610104578063ab49848c116100a2578063d6f32e0611610071578063d6f32e0614610573578063dfffca761461059f578063e3235c91146105ef578063f450aa34146105f7576101cf565b8063ab49848c146104ea578063c193f0d81461052b578063c6c9d82814610533578063ce09694014610550576101cf565b80637dd1a57a116100de5780637dd1a57a1461046d57806386baa45c1461048a57806389257117146104da5780638da5cb5b146104e2576101cf565b8063631e1444146103fd5780636a1c47581461042357806379ba509714610465576101cf565b80631b16802c116101715780633fa70f451161014b5780633fa70f45146103845780634c268fc81461038c57806353a47bb7146103c457806357af302c146103cc576101cf565b80631b16802c1461032a578063372a395a146103565780633be99e6f1461035e576101cf565b80630b9e31c9116101ad5780630b9e31c9146102785780631627540c1461029757806319d5c665146102bd5780631a5c609514610307576101cf565b806304f3bcec146101d4578063059c29ec146101f85780630a1e187d14610236575b600080fd5b6101dc610620565b604080516001600160a01b039092168252519081900360200190f35b6102246004803603604081101561020e57600080fd5b506001600160a01b03813516906020013561062f565b60408051918252519081900360200190f35b610224600480360360a081101561024c57600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608090910135166106d3565b6102956004803603602081101561028e57600080fd5b50356107cf565b005b610295600480360360208110156102ad57600080fd5b50356001600160a01b0316610a2e565b6102e9600480360360408110156102d357600080fd5b506001600160a01b038135169060200135610a8a565b60408051938452602084019290925282820152519081900360600190f35b6102246004803603604081101561031d57600080fd5b5080359060200135610aa8565b6102e96004803603604081101561034057600080fd5b506001600160a01b038135169060200135610ab4565b610224610b35565b6102956004803603602081101561037457600080fd5b50356001600160a01b0316610b44565b610224610c71565b610224600480360360808110156103a257600080fd5b506001600160a01b038135169060208101359060408101359060600135610c76565b6101dc610d96565b6103e9600480360360208110156103e257600080fd5b5035610da5565b604080519115158252519081900360200190f35b6103e96004803603602081101561041357600080fd5b50356001600160a01b0316610dfe565b610224600480360360a081101561043957600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135610f19565b6102956110e2565b6102246004803603602081101561048357600080fd5b503561119e565b610224600480360360e08110156104a057600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c001356111b0565b6102246112b9565b6101dc6112c3565b6104f26112d2565b604051808261030080838360005b83811015610518578181015183820152602001610500565b5050505090500191505060405180910390f35b6103e961131c565b6102246004803603602081101561054957600080fd5b5035611326565b6102956004803603604081101561056657600080fd5b5080359060200135611344565b6103e96004803603604081101561058957600080fd5b506001600160a01b03813516906020013561140c565b610224600480360360e08110156105b557600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c0013561143e565b610224611612565b6102e96004803603606081101561060d57600080fd5b5080359060208101359060400135611617565b6002546001600160a01b031681565b60006106ca61063c611637565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561069957600080fd5b505afa1580156106ad573d6000803e3d6000fd5b505050506040513d60208110156106c357600080fd5b5051611688565b90505b92915050565b6000806106de6116e7565b9050336001600160a01b038216148061076b5750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b15801561073c57600080fd5b505afa158015610750573d6000803e3d6000fd5b505050506040513d602081101561076657600080fd5b505114155b6107a65760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b60006107b58888888888611734565b90935090506107c48185611e9e565b505095945050505050565b6107d7611f4d565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561080f57600080fd5b505afa158015610823573d6000803e3d6000fd5b5050505060006001600160a01b031661083a611f9d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561087d57600080fd5b505afa158015610891573d6000803e3d6000fd5b505050506040513d60208110156108a757600080fd5b50516001600160a01b031614156108f5576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b61097581610901611fe0565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561094457600080fd5b505afa158015610958573d6000803e3d6000fd5b505050506040513d602081101561096e57600080fd5b5051612031565b6109bd576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b6109c5611f4d565b6001600160a01b031663abc0bb6e8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610a1357600080fd5b505af1158015610a27573d6000803e3d6000fd5b5050505050565b610a36612281565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000806000610a9985856122cc565b50919790965090945092505050565b60006106ca838361259a565b6000806000610ac1611f4d565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015610b0457600080fd5b505afa158015610b18573d6000803e3d6000fd5b50505050610b28858560016125a5565b9250925092509250925092565b6000610b3f612914565b905090565b610b4c612281565b600280546001600160a01b0319166001600160a01b03831617905560005b600454811015610c6d57600060048281548110610b8357fe5b600091825260209182902001546002546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b158015610c0d57600080fd5b505afa158015610c21573d6000803e3d6000fd5b505050506040513d6020811015610c3757600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610b6a565b5050565b604181565b816000610c81611f9d565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610cc457600080fd5b505afa158015610cd8573d6000803e3d6000fd5b505050506040513d6020811015610cee57600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610d3a57600080fd5b505afa158015610d4e573d6000803e3d6000fd5b505050506040513d6020811015610d6457600080fd5b5051905080821115610d74578091505b8215610d8d57610d8a828463ffffffff6129cb16565b91505b50949350505050565b6001546001600160a01b031681565b6000610df682610db3611fe0565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561094457600080fd5b90505b919050565b6002546000906001600160a01b03838116911614610e1e57506000610df9565b60005b600454811015610f1057600060048281548110610e3a57fe5b6000918252602080832090910154808352600382526040928390205460025484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b158015610ea057600080fd5b505afa158015610eb4573d6000803e3d6000fd5b505050506040513d6020811015610eca57600080fd5b50516001600160a01b0316141580610ef757506000818152600360205260409020546001600160a01b0316155b15610f0757600092505050610df9565b50600101610e21565b50600192915050565b600080610f246116e7565b9050336001600160a01b0382161480610fb15750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610f8257600080fd5b505afa158015610f96573d6000803e3d6000fd5b505050506040513d6020811015610fac57600080fd5b505114155b610fec5760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b610ff4612a25565b6040805163faf431bb60e01b81526001600160a01b038a8116600483015289811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b15801561104757600080fd5b505afa15801561105b573d6000803e3d6000fd5b505050506040513d602081101561107157600080fd5b50516110c4576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b60006110d3888787878c611734565b90935090506107c48189611e9e565b6001546001600160a01b0316331461112b5760405162461bcd60e51b8152600401808060200182810382526035815260200180613ae36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60056020526000908152604090205481565b6000806111bb6116e7565b9050336001600160a01b03821614806112485750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b15801561121957600080fd5b505afa15801561122d573d6000803e3d6000fd5b505050506040513d602081101561124357600080fd5b505114155b6112835760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b60006112928a8a8a8a8a611734565b90935090506112a18186611e9e565b6112ac848885612a5d565b5050979650505050505050565b6000610b3f612ad7565b6000546001600160a01b031681565b6112da613a78565b60005b60045481101561131857600481815481106112f457fe5b906000526020600020015482826018811061130b57fe5b60200201526001016112dd565b5090565b6000610b3f612b51565b6004818154811061133357fe5b600091825260209091200154905081565b600061134e611fe0565b9050336001600160a01b038216146113ad576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b600082116113f9576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526005602052604090912055565b6000611418838361062f565b15611425575060016106cd565b600061143184846122cc565b5050501515949350505050565b6000806114496116e7565b9050336001600160a01b03821614806114d65750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b1580156114a757600080fd5b505afa1580156114bb573d6000803e3d6000fd5b505050506040513d60208110156114d157600080fd5b505114155b6115115760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b611519612a25565b6040805163faf431bb60e01b81526001600160a01b038c811660048301528b811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b15801561156c57600080fd5b505afa158015611580573d6000803e3d6000fd5b505050506040513d602081101561159657600080fd5b50516115e9576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b60006115f88a8989898e611734565b90935090506116078186611e9e565b6112ac848785612a5d565b601881565b6000806000611627868686612bcf565b5092999198509650945050505050565b6000610b3f6c45786368616e6765537461746560981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676553746174652061646472657373000000815250612ca9565b600080611693612ad7565b90508215806116b157506116ad838263ffffffff6129cb16565b4210155b156116c0576000915050610df9565b6116e0426116d4858463ffffffff6129cb16565b9063ffffffff612d5316565b9392505050565b6000610b3f680a6f2dce8d0cae8d2f60bb1b6040518060400160405280601981526020017f4d697373696e672053796e746865746978206164647265737300000000000000815250612ca9565b600080611742868686612db0565b600080611751898960006125a5565b909350915087905081156117825761176b8a8a8a86610c76565b905080611782575060009350839250611e94915050565b6000806000611792848d8c612bcf565b939b509199509450925090506117a88c83612031565b1561182e576117b5611f4d565b6001600160a01b031663abc0bb6e8d60416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561180357600080fd5b505af1158015611817573d6000803e3d6000fd5b5060009a508a9950611e9498505050505050505050565b60008c81526005602052604090208290556118498a82612031565b156118a457611856611f4d565b6001600160a01b031663abc0bb6e8b60416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561180357600080fd5b60008a81526005602052604090208190556118bd611f9d565b6001600160a01b031663326080398d6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561190057600080fd5b505afa158015611914573d6000803e3d6000fd5b505050506040513d602081101561192a57600080fd5b81019080805190602001909291905050506001600160a01b0316639dc29fac8e866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561199a57600080fd5b505af11580156119ae573d6000803e3d6000fd5b505050506119ba611f9d565b6001600160a01b031663326080398b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156119fd57600080fd5b505afa158015611a11573d6000803e3d6000fd5b505050506040513d6020811015611a2757600080fd5b50516040805163219e412d60e21b81526001600160a01b038c81166004830152602482018c90529151919092169163867904b491604480830192600092919082900301818387803b158015611a7b57600080fd5b505af1158015611a8f573d6000803e3d6000fd5b505050506000871115611cef57611aa4611fe0565b6001600160a01b031663654a60ac8b89631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015611afe57600080fd5b505afa158015611b12573d6000803e3d6000fd5b505050506040513d6020811015611b2857600080fd5b50519650611b34611f9d565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b7e57600080fd5b505afa158015611b92573d6000803e3d6000fd5b505050506040513d6020811015611ba857600080fd5b50516001600160a01b031663867904b4611bc0612f89565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015611bf857600080fd5b505afa158015611c0c573d6000803e3d6000fd5b505050506040513d6020811015611c2257600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018b905251604480830192600092919082900301818387803b158015611c7157600080fd5b505af1158015611c85573d6000803e3d6000fd5b50505050611c91612f89565b6001600160a01b03166322bf55ef886040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611cd657600080fd5b505af1158015611cea573d6000803e3d6000fd5b505050505b611cf7611f9d565b6001600160a01b0316639e342f7160405180604001604052808f81526020018d8152506040518060400160405280868152602001858152506040518363ffffffff1660e01b81526004018083600260200280838360005b83811015611d66578181015183820152602001611d4e565b5050505090500182600260200280838360005b83811015611d91578181015183820152602001611d79565b5050505090500192505050600060405180830381600087803b158015611db657600080fd5b505af1158015611dca573d6000803e3d6000fd5b50505050611dd66116e7565b6001600160a01b0316636c00f3108e8e878e8d8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b158015611e6757600080fd5b505af1158015611e7b573d6000803e3d6000fd5b50505050611e8d898d868d8c88612fd4565b5050505050505b9550959350505050565b600082118015611eb657506001600160a01b03811615155b8015611ec55750611ec5612b51565b15610c6d57611ed26131e5565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b158015611f3157600080fd5b505af1158015611f45573d6000803e3d6000fd5b505050505050565b6000610b3f6b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250612ca9565b6000610b3f6524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b815250612ca9565b6000610b3f6c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676552617465732061646472657373000000815250612ca9565b600081612040575060016106cd565b60008381526005602052604090205480156120675761205f8184613237565b9150506106cd565b6060612071611fe0565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b1580156120bd57600080fd5b505afa1580156120d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156120fa57600080fd5b810190808051604051939291908464010000000082111561211a57600080fd5b90830190602082018581111561212f57600080fd5b825186602082028301116401000000008211171561214c57600080fd5b82525081516020918201928201910280838360005b83811015612179578181015183820152602001612161565b50505050905001604052602001805160405193929190846401000000008211156121a257600080fd5b9083019060208201858111156121b757600080fd5b82518660208202830111640100000000821117156121d457600080fd5b82525081516020918201928201910280838360005b838110156122015781810151838201526020016121e9565b505050509050016040525050505090506000600190505b815181101561227557600082828151811061222f57fe5b602002602001015111801561225c575061225c82828151811061224e57fe5b602002602001015186613237565b1561226d57600193505050506106cd565b600101612218565b50600095945050505050565b6000546001600160a01b031633146122ca5760405162461bcd60e51b815260040180806020018281038252602f815260200180613b7e602f913960400191505060405180910390fd5b565b600080600060606122db611637565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561233857600080fd5b505afa15801561234c573d6000803e3d6000fd5b505050506040513d602081101561236257600080fd5b50516040805182815260208084028201019091529092506060908380156123a357816020015b612390613a97565b8152602001906001900390816123885790505b50905060005b8381101561258e576000806123bc613a97565b6123c78b8b86613296565b90506000806123d5836133b1565b9150915060006123e3611fe0565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b15801561245257600080fd5b505afa158015612466573d6000803e3d6000fd5b505050506040513d602081101561247c57600080fd5b50516080850151909150600090612494908390613504565b90506124a4856060015182613237565b6125195780856060015111156124e25760608501516124c9908263ffffffff612d5316565b96506124db8d8863ffffffff6129cb16565b9c50612519565b846060015181111561251957606085015161250490829063ffffffff612d5316565b95506125168c8763ffffffff6129cb16565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a0015181525089898151811061256f57fe5b60200260200101819052505050505050505080806001019150506123a9565b50905092959194509250565b60006106ca82613596565b60008060006125b4868661062f565b156125f05760405162461bcd60e51b8152600401808060200182810382526023815260200180613bf06023913960400191505060405180910390fd5b600080600060606126018a8a6122cc565b93509350935093508284111561263357612621848463ffffffff612d5316565b965061262e8a8a8961366e565b612658565b838311156126585761264b838563ffffffff612d5316565b95506126588a8a886137be565b871561273f5760408051600180825281830190925260609160208083019080388339019050509050898160008151811061268e57fe5b6020026020010181815250506126a2611f9d565b6001600160a01b031663fe1d77e7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156127005781810151838201526020016126e8565b5050505090500192505050600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b50505050505b60005b8151811015612884578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e94083838151811061278257fe5b60200260200101516000015184848151811061279a57fe5b6020026020010151602001518585815181106127b257fe5b6020026020010151604001518686815181106127ca57fe5b6020026020010151606001518787815181106127e257fe5b6020026020010151608001518888815181106127fa57fe5b602002602001015160a0015189898151811061281257fe5b602002602001015160c001518a8a8151811061282a57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101612742565b50819450612890611637565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156128ef57600080fd5b505af1158015612903573d6000803e3d6000fd5b505050505050505093509350939050565b600061291e61390e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561299a57600080fd5b505afa1580156129ae573d6000803e3d6000fd5b505050506040513d60208110156129c457600080fd5b5051905090565b6000828201838110156106ca576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610b3f7044656c6567617465417070726f76616c7360781b604051806060016040528060218152602001613b1860219139612ca9565b612a656116e7565b6001600160a01b031663ddd03a3f8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015612aba57600080fd5b505af1158015612ace573d6000803e3d6000fd5b50505050505050565b6000612ae161390e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561299a57600080fd5b6000612b5b61390e565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561299a57600080fd5b600080600080600080612be0611fe0565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b158015612c3357600080fd5b505afa158015612c47573d6000803e3d6000fd5b505050506040513d6060811015612c5d57600080fd5b50805160208201516040909201519194509092509050612c7d888861259a565b9350612c898185613504565b9550612c9b818763ffffffff612d5316565b945050939792965093509350565b6000828152600360205260408120546001600160a01b03168281612d4b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d10578181015183820152602001612cf8565b50505050905090810190601f168015612d3d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600082821115612daa576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80831415612dfb576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b60008211612e3e576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b60408051600280825260608083018452926020830190803883390190505090508381600081518110612e6c57fe5b6020026020010181815250508181600181518110612e8657fe5b602002602001018181525050612e9a611fe0565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612ef8578181015183820152602001612ee0565b505050509050019250505060206040518083038186803b158015612f1b57600080fd5b505afa158015612f2f573d6000803e3d6000fd5b505050506040513d6020811015612f4557600080fd5b505115612f835760405162461bcd60e51b8152600401808060200182810382526022815260200180613bce6022913960400191505060405180910390fd5b50505050565b6000610b3f66119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c2061646472657373000000000000000000815250612ca9565b6000612fde611fe0565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561302657600080fd5b505afa15801561303a573d6000803e3d6000fd5b505050506040513d602081101561305057600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b15801561309f57600080fd5b505afa1580156130b3573d6000803e3d6000fd5b505050506040513d60208110156130c957600080fd5b505190506130d5611637565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b15801561315a57600080fd5b505af115801561316e573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b6000610b3f6d54726164696e675265776172647360901b6040518060400160405280601e81526020017f4d697373696e672054726164696e675265776172647320616464726573730000815250612ca9565b6000821580613244575081155b15613251575060016106cd565b6000838311156132725761326b838563ffffffff61396116565b9050613285565b613282848463ffffffff61396116565b90505b61328d612914565b11159392505050565b61329e613a97565b6000806000806000806000806132b2611637565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b15801561331857600080fd5b505afa15801561332c573d6000803e3d6000fd5b505050506040513d61010081101561334357600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b60008060006133be611fe0565b905060006133ca612ad7565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801561343457600080fd5b505afa158015613448573d6000803e3d6000fd5b505050506040513d602081101561345e57600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b1580156134ce57600080fd5b505afa1580156134e2573d6000803e3d6000fd5b505050506040513d60208110156134f857600080fd5b50519395939450505050565b60006106ca6135898373__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561355157600080fd5b505af4158015613565573d6000803e3d6000fd5b505050506040513d602081101561357b57600080fd5b50519063ffffffff612d5316565b849063ffffffff61398b16565b60006135a061390e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561363c57600080fd5b505afa158015613650573d6000803e3d6000fd5b505050506040513d602081101561366657600080fd5b505192915050565b613676611f9d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156136b957600080fd5b505afa1580156136cd573d6000803e3d6000fd5b505050506040513d60208110156136e357600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b15801561373757600080fd5b505af115801561374b573d6000803e3d6000fd5b505050506137576116e7565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015612aba57600080fd5b6137c6611f9d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561380957600080fd5b505afa15801561381d573d6000803e3d6000fd5b505050506040513d602081101561383357600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b15801561388757600080fd5b505af115801561389b573d6000803e3d6000fd5b505050506138a76116e7565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015612aba57600080fd5b6000610b3f6e466c657869626c6553746f7261676560881b6040518060400160405280601f81526020017f4d697373696e6720466c657869626c6553746f72616765206164647265737300815250612ca9565b60006106ca8261397f85670de0b6b3a764000063ffffffff6139b516565b9063ffffffff613a0e16565b6000670de0b6b3a76400006139a6848463ffffffff6139b516565b816139ad57fe5b049392505050565b6000826139c4575060006106cd565b828202828482816139d157fe5b04146106ca5760405162461bcd60e51b8152600401808060200182810382526021815260200180613bad6021913960400191505060405180910390fd5b6000808211613a64576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613a6f57fe5b04949350505050565b6040518061030001604052806018906020820280388339509192915050565b6040518061010001604052806000801916815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704d697373696e672044656c6567617465417070726f76616c73206164647265737345786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a7231582009ade86e1231fd4601e8b690d413a0870f181843bb770c2f23548e6dda7883e564736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amountReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"name":"ExchangeEntryAppended","type":"event","signature":"0x62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce9462398"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reclaim","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rebate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"srcRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"destRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeTimestamp","type":"uint256"}],"name":"ExchangeEntrySettled","type":"event","signature":"0x8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":true,"inputs":[],"name":"CIRCUIT_BREAKER_SUSPENSION_REASON","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3fa70f45"},{"constant":true,"inputs":[],"name":"MAX_ADDRESSES_FROM_RESOLVER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe3235c91"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"}],"name":"calculateAmountAfterSettlement","outputs":[{"internalType":"uint256","name":"amountAfterSettlement","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4c268fc8"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"destinationAddress","type":"address"}],"name":"exchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0a1e187d"},{"constant":false,"inputs":[{"internalType":"address","name":"exchangeForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"exchangeOnBehalf","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x6a1c4758"},{"constant":false,"inputs":[{"internalType":"address","name":"exchangeForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"originator","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchangeOnBehalfWithTracking","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xdfffca76"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"destinationAddress","type":"address"},{"internalType":"address","name":"originator","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchangeWithTracking","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x86baa45c"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"feeRateForExchange","outputs":[{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x1a5c6095"},{"constant":true,"inputs":[{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"getAmountsForExchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf450aa34"},{"constant":true,"inputs":[],"name":"getResolverAddressesRequired","outputs":[{"internalType":"bytes32[24]","name":"addressesRequired","type":"bytes32[24]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xab49848c"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"hasWaitingPeriodOrSettlementOwing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd6f32e06"},{"constant":true,"inputs":[{"internalType":"contract AddressResolver","name":"_resolver","type":"address"}],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x631e1444"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"isSynthRateInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x57af302c"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"lastExchangeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7dd1a57a"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"maxSecsLeftInWaitingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x059c29ec"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"priceDeviationThresholdFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x372a395a"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc6c9d828"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setLastExchangeRateForSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xce096940"},{"constant":false,"inputs":[{"internalType":"contract AddressResolver","name":"_resolver","type":"address"}],"name":"setResolverAndSyncCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3be99e6f"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settle","outputs":[{"internalType":"uint256","name":"reclaimed","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"},{"internalType":"uint256","name":"numEntriesSettled","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1b16802c"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settlementOwing","outputs":[{"internalType":"uint256","name":"reclaimAmount","type":"uint256"},{"internalType":"uint256","name":"rebateAmount","type":"uint256"},{"internalType":"uint256","name":"numEntries","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x19d5c665"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"suspendSynthWithInvalidRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0b9e31c9"},{"constant":true,"inputs":[],"name":"tradingRewardsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc193f0d8"},{"constant":true,"inputs":[],"name":"waitingPeriodSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x89257117"}],"source":{"keccak256":"0x5d6e11d4c9e1a785a435f44c861da9ed9ef4889db9151265145624a1cf64e512","urls":["bzz-raw://26c05fa00b9090c3fc82634facba885e1ff4c27a43fdbd40082bfe221d3f74f9","dweb:/ipfs/QmYf3wnwHuRvWZ1jbhm1as4dbLfsrNddnpMccHuupBHe5P"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"Exchanger.sol":"Exchanger"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"Exchanger.sol":{"keccak256":"0x5d6e11d4c9e1a785a435f44c861da9ed9ef4889db9151265145624a1cf64e512","urls":["bzz-raw://26c05fa00b9090c3fc82634facba885e1ff4c27a43fdbd40082bfe221d3f74f9","dweb:/ipfs/QmYf3wnwHuRvWZ1jbhm1as4dbLfsrNddnpMccHuupBHe5P"]}},"version":1}},"ExchangeState":{"bytecode":"6080604052600c60045534801561001557600080fd5b50604051604080610cbb833981016040528051602090910151818181600160a060020a03811615156100a857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505050610b56806101656000396000f3006080604052600436106100cf5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630d40d0cf81146100d457806315987eb6146100fb5780631627540c146101635780633ca9d85c1461018657806352f445ca146101c057806353a47bb7146101e15780636e13fe761461021257806379ba5097146102395780638da5cb5b1461024e578063aefc4ccb14610263578063b44e975314610278578063cd8b94dc1461029c578063d0d3d62a146102b4578063f1406dc8146102d8575b600080fd5b3480156100e057600080fd5b506100e96102fc565b60408051918252519081900360200190f35b34801561010757600080fd5b50610122600160a060020a0360043516602435604435610302565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b34801561016f57600080fd5b50610184600160a060020a0360043516610397565b005b34801561019257600080fd5b50610184600160a060020a036004351660243560443560643560843560a43560c43560e43561010435610480565b3480156101cc57600080fd5b50610184600160a060020a0360043516610634565b3480156101ed57600080fd5b506101f661071d565b60408051600160a060020a039092168252519081900360200190f35b34801561021e57600080fd5b50610122600160a060020a036004351660243560443561072c565b34801561024557600080fd5b50610184610798565b34801561025a57600080fd5b506101f66108a0565b34801561026f57600080fd5b506101f66108af565b34801561028457600080fd5b506100e9600160a060020a03600435166024356108be565b3480156102a857600080fd5b506101846004356108e6565b3480156102c057600080fd5b50610184600160a060020a0360043516602435610973565b3480156102e457600080fd5b506100e9600160a060020a0360043516602435610a2b565b60045481565b600160a060020a038316600090815260036020908152604080832085845290915281208054829182918291829182918291829182918b90811061034157fe5b906000526020600020906008020190508060000154816001015482600201548360030154846004015485600501548660060154876007015498509850985098509850985098509850509397509397509397509397565b600054600160a060020a0316331461041f576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254600160a060020a03163314610508576040805160e560020a62461bcd02815260206004820152603460248201527f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e60448201527f20706572666f726d207468697320616374696f6e000000000000000000000000606482015290519081900360840190fd5b600454600160a060020a038a1660009081526003602090815260408083208a845290915290205410610584576040805160e560020a62461bcd02815260206004820152601860248201527f4d6178207175657565206c656e67746820726561636865640000000000000000604482015290519081900360640190fd5b600160a060020a03909816600090815260036020818152604080842089855282528084208151610100810183529b8c528b83019a8b52908b0198895260608b0197885260808b0196875260a08b0195865260c08b0194855260e08b019b8c5280546001818101835591855291909320995160089091029099019889559651908801559351600287015591519385019390935591516004840155905160058301555160068201559051600790910155565b600054600160a060020a031633146106bc576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b60036020528260005260406000206020528160005260406000208181548110151561075357fe5b60009182526020909120600890910201805460018201546002830154600384015460048501546005860154600687015460079097015495995093975091955093909288565b600154600160a060020a03163314610820576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600254600160a060020a031681565b600160a060020a03919091166000908152600360209081526040808320938352929052205490565b600054600160a060020a0316331461096e576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b600455565b600254600160a060020a031633146109fb576040805160e560020a62461bcd02815260206004820152603460248201527f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e60448201527f20706572666f726d207468697320616374696f6e000000000000000000000000606482015290519081900360840190fd5b600160a060020a03821660009081526003602090815260408083208484529091528120610a2791610ab5565b5050565b600160a060020a0382166000908152600360209081526040808320848452909152812081805b8254811015610aac57818382815481101515610a6957fe5b9060005260206000209060080201600501541115610aa4578281815481101515610a8f57fe5b90600052602060002090600802016005015491505b600101610a51565b50949350505050565b5080546000825560080290600052602060002090810190610ad69190610ad9565b50565b610b2791905b80821115610b235760008082556001820181905560028201819055600382018190556004820181905560058201819055600682018190556007820155600801610adf565b5090565b905600a165627a7a72305820bf4c8cbb952e8e0db14fcbdb4a1795d5c66da0d9364e79f257686bb2bd5911340029","abi":[{"constant":true,"inputs":[],"name":"maxEntriesInQueue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0d40d0cf"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"currencyKey","type":"bytes32"},{"name":"index","type":"uint256"}],"name":"getEntryAt","outputs":[{"name":"src","type":"bytes32"},{"name":"amount","type":"uint256"},{"name":"dest","type":"bytes32"},{"name":"amountReceived","type":"uint256"},{"name":"exchangeFeeRate","type":"uint256"},{"name":"timestamp","type":"uint256"},{"name":"roundIdForSrc","type":"uint256"},{"name":"roundIdForDest","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x15987eb6"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"src","type":"bytes32"},{"name":"amount","type":"uint256"},{"name":"dest","type":"bytes32"},{"name":"amountReceived","type":"uint256"},{"name":"exchangeFeeRate","type":"uint256"},{"name":"timestamp","type":"uint256"},{"name":"roundIdForSrc","type":"uint256"},{"name":"roundIdForDest","type":"uint256"}],"name":"appendExchangeEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3ca9d85c"},{"constant":false,"inputs":[{"name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"},{"name":"","type":"uint256"}],"name":"exchanges","outputs":[{"name":"src","type":"bytes32"},{"name":"amount","type":"uint256"},{"name":"dest","type":"bytes32"},{"name":"amountReceived","type":"uint256"},{"name":"exchangeFeeRate","type":"uint256"},{"name":"timestamp","type":"uint256"},{"name":"roundIdForSrc","type":"uint256"},{"name":"roundIdForDest","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6e13fe76"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"currencyKey","type":"bytes32"}],"name":"getLengthOfEntries","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb44e9753"},{"constant":false,"inputs":[{"name":"_maxEntriesInQueue","type":"uint256"}],"name":"setMaxEntriesInQueue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xcd8b94dc"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"currencyKey","type":"bytes32"}],"name":"removeEntries","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd0d3d62a"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"currencyKey","type":"bytes32"}],"name":"getMaxTimestamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf1406dc8"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"Issuer":{"bytecode":"60806040523480156200001157600080fd5b50604051620061a2380380620061a28339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b615f7f80620002236000396000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c80637168d2c211610182578063a311c7c2116100e9578063c81ff8fa116100a2578063d686c06c1161007c578063d686c06c14610633578063dbf6334014610646578063dd3d2b2e1461064e578063fd864ccf14610661576102d6565b8063c81ff8fa146105fa578063c89771321461060d578063d37c4d8b14610620576102d6565b8063a311c7c214610593578063a5fdc5de146105a6578063ae3bbbbb146105b9578063b06e8c65146105cc578063b410a034146105df578063bff4fdfc146105e7576102d6565b8063835e119c1161013b578063835e119c14610537578063849cf5881461054a578063890235d41461055d578063899ffef4146105705780638da5cb5b146105785780639a5154b414610580576102d6565b80637168d2c2146104cb57806372c65816146104de57806372cb051f146104ff578063741853601461051457806379ba50971461051c5780637b1001b714610524576102d6565b80632b3f41aa11610241578063461ee763116101fa5780634e99bda9116101d45780634e99bda91461048557806353a47bb71461048d578063614d08f8146104a25780636bed0415146104aa576102d6565b8063461ee7631461044c57806347a9b6db1461045f578063497d704a14610472576102d6565b80632b3f41aa146103d857806331e6da5a146103eb57806332608039146103fe5780633b6afe40146104115780633fa70f451461043157806344ec6b6214610439576102d6565b806314d494131161029357806314d494131461037a5780631627540c1461038257806316b2213f146103955780631b3ba4d0146103a8578063242df9e1146103bb5780632af64bd3146103c3576102d6565b8063042e0688146102db57806304f3bcec146102f057806305b3c1c91461030e5780630b887dae1461032e5780631137aedf146103415780631313e6ca14610363575b600080fd5b6102ee6102e9366004614d8b565b610674565b005b6102f86106e5565b6040516103059190615b9c565b60405180910390f35b61032161031c366004614c98565b6106f4565b6040516103059190615ae8565b6102ee61033c366004614e62565b61070a565b61035461034f366004614c98565b6107e8565b60405161030593929190615b12565b61036b610804565b60405161030593929190615db2565b610321610998565b6102ee610390366004614c98565b61099e565b6103216103a3366004614c98565b6109fc565b6102ee6103b6366004614d8b565b610a0e565b610321610c65565b6103cb610c75565b6040516103059190615ada565b6102ee6103e6366004614cd4565b610d8c565b6102ee6103f9366004614f1a565b610ddb565b6102f861040c366004614e62565b610ed5565b61042461041f366004614dbb565b610ef0565b6040516103059190615ac9565b610321610f9e565b6102ee610447366004614d0e565b610fa3565b6102ee61045a366004614e62565b610ff6565b6102ee61046d366004614dbb565b611003565b6102ee610480366004614c98565b6110b4565b6103cb6110fc565b61049561118e565b60405161030591906159f5565b61032161119d565b6104bd6104b8366004614d8b565b6111aa565b604051610305929190615da4565b6102ee6104d9366004614dbb565b611290565b6104f16104ec366004614d5b565b6113c5565b604051610305929190615b04565b610507611873565b6040516103059190615ab8565b6102ee61187f565b6102ee6119d1565b610321610532366004614ebf565b611a6d565b6102f8610545366004614e62565b611a81565b6102ee610558366004614ede565b611aa8565b6103cb61056b366004614e9e565b611b22565b610507611eb6565b610495612185565b6102ee61058e366004614d0e565b612194565b6103216105a1366004614c98565b6121e2565b6103216105b4366004614c98565b6121f4565b6104bd6105c7366004614c98565b6121ff565b6102ee6105da366004614d8b565b612215565b610321612259565b6103cb6105f5366004614c98565b612263565b6103cb610608366004614e9e565b61226e565b6102ee61061b366004614c98565b612643565b61032161062e366004614d8b565b612688565b6102ee610641366004614d0e565b61273b565b6103216127e1565b61032161065c366004614c98565b6127e7565b6102ee61066f366004614cd4565b6127f2565b61067c612841565b6001600160a01b0316336001600160a01b0316146106b55760405162461bcd60e51b81526004016106ac90615c86565b60405180910390fd5b600081116106d55760405162461bcd60e51b81526004016106ac90615d36565b6106e182826000612858565b5050565b6002546001600160a01b031681565b600080610700836129ba565b509150505b919050565b610712612a86565b600061071c612ab2565b604051636b42ba1d60e11b81529091506001600160a01b0382169063d685743a9061074e908590600090600401615b3a565b600060405180830381600087803b15801561076857600080fd5b505af115801561077c573d6000803e3d6000fd5b50506040516304bd11e560e01b81526001600160a01b03841692506304bd11e591506107ad90600190600401615ada565b600060405180830381600087803b1580156107c757600080fd5b505af11580156107db573d6000803e3d6000fd5b505050506106e182612ac9565b60008060006107f684612f77565b509196909550909350915050565b60008060008060006108357f6578743a41676772656761746f7249737375656453796e746873000000000000613004565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561086d57600080fd5b505afa158015610881573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108a59190810190615019565b509350509250506000806108d2766578743a41676772656761746f7244656274526174696f60481b613004565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561090a57600080fd5b505afa15801561091e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109429190810190615019565b509350509250508396508160001461096957610964878363ffffffff61306116565b61096c565b60005b955082610977613081565b4203118061098d575080610989613081565b4203115b945050505050909192565b60075481565b6109a6612a86565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906109f19083906159f5565b60405180910390a150565b60066020526000908152604090205481565b610a16612a86565b6001600160a01b038216610a3c5760405162461bcd60e51b81526004016106ac90615cf6565b6002546040516321f8a72160e01b81526001600160a01b03909116906321f8a72190610a6a90600401615c39565b60206040518083038186803b158015610a8257600080fd5b505afa158015610a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aba9190810190614cb6565b6001600160a01b0316826001600160a01b031614610aea5760405162461bcd60e51b81526004016106ac90615c09565b631cd554d160e21b6000526005602052600080516020615f1d833981519152546001600160a01b0316610b2f5760405162461bcd60e51b81526004016106ac90615d56565b60008111610b4f5760405162461bcd60e51b81526004016106ac90615bf9565b610b5761312b565b6001600160a01b0316631b16802c83631cd554d160e21b6040518363ffffffff1660e01b8152600401610b8b929190615a39565b606060405180830381600087803b158015610ba557600080fd5b505af1158015610bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bdd9190810190614fd6565b5050631cd554d160e21b600052506005602052600080516020615f1d83398151915254604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90610c2f9085908590600401615a39565b600060405180830381600087803b158015610c4957600080fd5b505af1158015610c5d573d6000803e3d6000fd5b505050505050565b6000610c6f613142565b90505b90565b60006060610c81611eb6565b905060005b8151811015610d83576000828281518110610c9d57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610cee908590600401615ae8565b60206040518083038186803b158015610d0657600080fd5b505afa158015610d1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d3e9190810190614cb6565b6001600160a01b0316141580610d6957506000818152600360205260409020546001600160a01b0316155b15610d7a5760009350505050610c72565b50600101610c86565b50600191505090565b610d94612841565b6001600160a01b0316336001600160a01b031614610dc45760405162461bcd60e51b81526004016106ac90615c86565b610dce828261319d565b6106e1826000600161323e565b610de36134ae565b6001600160a01b0316336001600160a01b031614610e135760405162461bcd60e51b81526004016106ac90615c96565b6000610e1d6134c3565b9050816001600160801b0316816001600160a01b031663988e65956040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6257600080fd5b505afa158015610e76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e9a9190810190614f38565b6001600160801b031610156106e15760405163abb6de9560e01b81526001600160a01b0382169063abb6de9590610c2f908590600401615d96565b6005602052600090815260409020546001600160a01b031681565b60408051828152602080840282010190915260609082908290828015610f20578160200160208202803883390190505b50905060005b82811015610f935760056000878784818110610f3e57fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b0316828281518110610f7357fe5b6001600160a01b0390921660209283029190910190910152600101610f26565b509150505b92915050565b60a581565b610fab612841565b6001600160a01b0316336001600160a01b031614610fdb5760405162461bcd60e51b81526004016106ac90615c86565b610fe583836134e3565b610ff183826000612858565b505050565b610ffe612a86565b600755565b61100b612a86565b8060005b818110156110485761104084848381811061102657fe5b905060200201602061103b9190810190614ede565b613518565b60010161100f565b50611051612ab2565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b815260040161107d9190615ada565b600060405180830381600087803b15801561109757600080fd5b505af11580156110ab573d6000803e3d6000fd5b50505050505050565b6110bc612841565b6001600160a01b0316336001600160a01b0316146110ec5760405162461bcd60e51b81526004016106ac90615c86565b6110f9816000600161323e565b50565b60006111066136a9565b6001600160a01b031663c8e5bbd561111e60016136c4565b6040518263ffffffff1660e01b815260040161113a9190615ab8565b60006040518083038186803b15801561115257600080fd5b505afa158015611166573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f989190810190614dfd565b6001546001600160a01b031681565b6524b9b9bab2b960d11b81565b60008060006112416111ba6134c3565b6001600160a01b03166370a08231876040518263ffffffff1660e01b81526004016111e591906159f5565b60206040518083038186803b1580156111fd57600080fd5b505afa158015611211573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112359190810190614e80565b620a69cb60eb1b6137a0565b93509091506000905061126261125561388a565b839063ffffffff6138e216565b90508481106112745760009350611287565b611284858263ffffffff6138f716565b93505b50509250929050565b611298612a86565b8060006112a3612ab2565b90506060826040519080825280602002602001820160405280156112d1578160200160208202803883390190505b506040516305ece36d60e21b81529091506001600160a01b038316906317b38db49061130590889088908690600401615a92565b600060405180830381600087803b15801561131f57600080fd5b505af1158015611333573d6000803e3d6000fd5b50506040516304bd11e560e01b81526001600160a01b03851692506304bd11e5915061136490600190600401615ada565b600060405180830381600087803b15801561137e57600080fd5b505af1158015611392573d6000803e3d6000fd5b506000925050505b83811015610c5d576113bd8686838181106113b157fe5b90506020020135612ac9565b60010161139a565b6000806113d0612841565b6001600160a01b0316336001600160a01b0316146114005760405162461bcd60e51b81526004016106ac90615c86565b61140861391f565b6001600160a01b031663952225f385856040518363ffffffff1660e01b8152600401611435929190615a1e565b60206040518083038186803b15801561144d57600080fd5b505afa158015611461573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114859190810190614e44565b6114a15760405162461bcd60e51b81526004016106ac90615cd6565b6000836114b5576114b0613937565b6114bd565b6114bd613997565b90506000806115556114cd6134c3565b6001600160a01b03166370a08231896040518263ffffffff1660e01b81526004016114f891906159f5565b60206040518083038186803b15801561151057600080fd5b505afa158015611524573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115489190810190614e80565b631cd554d160e21b6137a0565b92505091506000806115656136a9565b6001600160a01b0316630c71cd23620a69cb60eb1b6040518263ffffffff1660e01b81526004016115969190615ae8565b604080518083038186803b1580156115ad57600080fd5b505afa1580156115c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115e59190810190614f56565b915091506115fa83806115f55750815b6139f8565b60006116058a613a16565b905061160f61391f565b6001600160a01b031663f557f73c866116288487613bbf565b896040518463ffffffff1660e01b815260040161164793929190615b12565b60206040518083038186803b15801561165f57600080fd5b505afa158015611673573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116979190810190614e80565b965061173e6117288773__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156116e457600080fd5b505af41580156116f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061171c9190810190614e80565b9063ffffffff613bd116565b6117328986613bf6565b9063ffffffff613c0816565b9750600061174a612841565b6001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040161177591906159f5565b60206040518083038186803b15801561178d57600080fd5b505afa1580156117a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117c59190810190614e80565b9050808911156117f5576117ef896117e38a8463ffffffff613c0816565b9063ffffffff613c3216565b97508098505b6118008b8988613c5c565b61180861391f565b6001600160a01b031663974e9e7f8c6040518263ffffffff1660e01b815260040161183391906159f5565b600060405180830381600087803b15801561184d57600080fd5b505af1158015611861573d6000803e3d6000fd5b50505050505050505050509250929050565b6060610c6f60006136c4565b6060611889611eb6565b905060005b81518110156106e15760008282815181106118a557fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016118e791906159ea565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611913929190615b55565b60206040518083038186803b15801561192b57600080fd5b505afa15801561193f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119639190810190614cb6565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906119bf9084908490615af6565b60405180910390a1505060010161188e565b6001546001600160a01b031633146119fb5760405162461bcd60e51b81526004016106ac90615bd9565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611a3e926001600160a01b0391821692911690615a03565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000611a798383613e3d565b509392505050565b60048181548110611a8e57fe5b6000918252602090912001546001600160a01b0316905081565b611ab0612a86565b611ab981613518565b611ac1612ab2565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b8152600401611aed9190615ada565b600060405180830381600087803b158015611b0757600080fd5b505af1158015611b1b573d6000803e3d6000fd5b5050505050565b6002546040516321f8a72160e01b815260009182916001600160a01b03909116906321f8a72190611b73907853796e746865746978427269646765546f4f7074696d69736d60381b90600401615ae8565b60206040518083038186803b158015611b8b57600080fd5b505afa158015611b9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bc39190810190614cb6565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a72190611c11907453796e746865746978427269646765546f4261736560581b90600401615ae8565b60206040518083038186803b158015611c2957600080fd5b505afa158015611c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c619190810190614cb6565b9050336001600160a01b0383161480611c825750336001600160a01b038216145b611c9e5760405162461bcd60e51b81526004016106ac90615d86565b6001600160a01b0382161580611cbb57506001600160a01b038116155b611cd75760405162461bcd60e51b81526004016106ac90615bc9565b6000868152600560205260409020546001600160a01b0316611d0b5760405162461bcd60e51b81526004016106ac90615d56565b60008411611d2b5760405162461bcd60e51b81526004016106ac90615d36565b611d3485614048565b6000868152600560205260409081902054905163219e412d60e21b81526001600160a01b039091169063867904b490611d739088908890600401615a39565b600060405180830381600087803b158015611d8d57600080fd5b505af1158015611da1573d6000803e3d6000fd5b50505050600080611db06136a9565b6001600160a01b0316630c71cd23896040518263ffffffff1660e01b8152600401611ddb9190615ae8565b604080518083038186803b158015611df257600080fd5b505afa158015611e06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e2a9190810190614f56565b91509150611e36612ab2565b6001600160a01b03166342c7b819611e5c611e57898663ffffffff613c0816565b6140c1565b6040518263ffffffff1660e01b8152600401611e789190615ae8565b600060405180830381600087803b158015611e9257600080fd5b505af1158015611ea6573d6000803e3d6000fd5b50929a9950505050505050505050565b606080611ec16140ea565b60408051600f808252610200820190925291925060609190602082016101e080388339019050509050680a6f2dce8d0cae8d2f60bb1b81600081518110611f0457fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611f2a57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110611f5457fe5b6020026020010181815250507153796e74686574697844656274536861726560701b81600381518110611f8357fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110611fa757fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b81600581518110611fd557fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160068151811061200057fe5b6020026020010181815250506e53796e746865746978457363726f7760881b8160078151811061202c57fe5b602002602001018181525050692634b8bab4b230ba37b960b11b8160088151811061205357fe5b602002602001018181525050704c697175696461746f725265776172647360781b8160098151811061208157fe5b6020026020010181815250506844656274436163686560b81b81600a815181106120a757fe5b6020026020010181815250506c29bcb73a342932b232b2b6b2b960991b81600b815181106120d157fe5b6020026020010181815250506b53797374656d53746174757360a01b81600c815181106120fa57fe5b6020026020010181815250507f6578743a41676772656761746f7249737375656453796e74687300000000000081600d8151811061213457fe5b602002602001018181525050766578743a41676772656761746f7244656274526174696f60481b81600e8151811061216857fe5b60200260200101818152505061217e828261413b565b9250505090565b6000546001600160a01b031681565b61219c612841565b6001600160a01b0316336001600160a01b0316146121cc5760405162461bcd60e51b81526004016106ac90615c86565b6121d6838361319d565b610ff18382600061323e565b60006121ed826141f0565b5092915050565b6000610f9882613a16565b60008061220b836141f0565b915091505b915091565b61221d612841565b6001600160a01b0316336001600160a01b03161461224d5760405162461bcd60e51b81526004016106ac90615c86565b6106e18282600061323e565b6000610c6f61388a565b6000610f9882614270565b6002546040516321f8a72160e01b815260009182916001600160a01b03909116906321f8a721906122bf907853796e746865746978427269646765546f4f7074696d69736d60381b90600401615ae8565b60206040518083038186803b1580156122d757600080fd5b505afa1580156122eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061230f9190810190614cb6565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a7219061235d907453796e746865746978427269646765546f4261736560581b90600401615ae8565b60206040518083038186803b15801561237557600080fd5b505afa158015612389573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123ad9190810190614cb6565b9050336001600160a01b03831614806123ce5750336001600160a01b038216145b6123ea5760405162461bcd60e51b81526004016106ac90615d86565b6001600160a01b038216158061240757506001600160a01b038116155b6124235760405162461bcd60e51b81526004016106ac90615bc9565b6000868152600560205260409020546001600160a01b03166124575760405162461bcd60e51b81526004016106ac90615d56565b600084116124775760405162461bcd60e51b81526004016106ac90615d36565b61247f61312b565b6001600160a01b0316631b16802c86886040518363ffffffff1660e01b81526004016124ac929190615a39565b606060405180830381600087803b1580156124c657600080fd5b505af11580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124fe9190810190614fd6565b50505060008681526005602052604090819020549051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906125409088908890600401615a39565b600060405180830381600087803b15801561255a57600080fd5b505af115801561256e573d6000803e3d6000fd5b5050505060008061257d6136a9565b6001600160a01b0316630c71cd23896040518263ffffffff1660e01b81526004016125a89190615ae8565b604080518083038186803b1580156125bf57600080fd5b505afa1580156125d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125f79190810190614f56565b91509150612603612ab2565b6001600160a01b03166342c7b819612624611e57898663ffffffff613c0816565b6000036040518263ffffffff1660e01b8152600401611e789190615ae8565b61264b612841565b6001600160a01b0316336001600160a01b03161461267b5760405162461bcd60e51b81526004016106ac90615c86565b6110f98160006001612858565b6000806126936134c3565b90506000816001600160a01b03166370a08231866040518263ffffffff1660e01b81526004016126c391906159f5565b60206040518083038186803b1580156126db57600080fd5b505afa1580156126ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127139190810190614e80565b90508061272557600092505050610f98565b61272f81856137a0565b50909695505050505050565b61274361428f565b826001600160a01b031663d4b839926040518163ffffffff1660e01b815260040160206040518083038186803b15801561277c57600080fd5b505afa158015612790573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127b49190810190614cb6565b6001600160a01b0316639dc29fac83836040518363ffffffff1660e01b815260040161107d929190615a39565b60045490565b6000610f98826142c7565b6127fa612841565b6001600160a01b0316336001600160a01b03161461282a5760405162461bcd60e51b81526004016106ac90615c86565b61283482826134e3565b6106e18260006001612858565b6000610c6f680a6f2dce8d0cae8d2f60bb1b613004565b612860614390565b61286957610ff1565b60008061287585612f77565b935050509150612884816139f8565b826128ae57818411156128a95760405162461bcd60e51b81526004016106ac90615c56565b6128b2565b8193505b6128bc85856144c5565b6128c585614048565b631cd554d160e21b6000526005602052600080516020615f1d8339815191525460405163219e412d60e21b81526001600160a01b039091169063867904b4906129149088908890600401615a39565b600060405180830381600087803b15801561292e57600080fd5b505af1158015612942573d6000803e3d6000fd5b5050505061294e612ab2565b6001600160a01b03166342c7b819612965866140c1565b6040518263ffffffff1660e01b81526004016129819190615ae8565b600060405180830381600087803b15801561299b57600080fd5b505af11580156129af573d6000803e3d6000fd5b505050505050505050565b6000806000806129c86136a9565b6001600160a01b0316630c71cd23620a69cb60eb1b6040518263ffffffff1660e01b81526004016129f99190615ae8565b604080518083038186803b158015612a1057600080fd5b505afa158015612a24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a489190810190614f56565b915091506000612a60612a5a87613a16565b84613bbf565b9050612a7a612a6d61388a565b829063ffffffff613c0816565b94509092505050915091565b6000546001600160a01b03163314612ab05760405162461bcd60e51b81526004016106ac90615ce6565b565b6000610c6f6844656274436163686560b81b613004565b6000818152600560205260409020546001600160a01b031680612afe5760405162461bcd60e51b81526004016106ac90615cb6565b631cd554d160e21b821415612b255760405162461bcd60e51b81526004016106ac90615d26565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612b6057600080fd5b505afa158015612b74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b989190810190614e80565b90508015612e1a57600080612bab6136a9565b6001600160a01b0316638295016a86856040518363ffffffff1660e01b8152600401612bd8929190615b75565b60606040518083038186803b158015612bf057600080fd5b505afa158015612c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c289190810190614fd6565b509150915060008111612c4d5760405162461bcd60e51b81526004016106ac90615cc6565b6000612c5761460f565b631cd554d160e21b6000526005602052600080516020615f1d8339815191525460405163219e412d60e21b81529192506001600160a01b03169063867904b490612ca79084908790600401615a39565b600060405180830381600087803b158015612cc157600080fd5b505af1158015612cd5573d6000803e3d6000fd5b50505050612ce1612ab2565b6001600160a01b03166342c7b819612cf8856140c1565b6040518263ffffffff1660e01b8152600401612d149190615ae8565b600060405180830381600087803b158015612d2e57600080fd5b505af1158015612d42573d6000803e3d6000fd5b50505050806001600160a01b0316633a70599c866001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b158015612d8e57600080fd5b505afa158015612da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612dc69190810190614efc565b846040518363ffffffff1660e01b8152600401612de4929190615baa565b600060405180830381600087803b158015612dfe57600080fd5b505af1158015612e12573d6000803e3d6000fd5b505050505050505b60005b600454811015612f0157826001600160a01b031660048281548110612e3e57fe5b6000918252602090912001546001600160a01b03161415612ef95760048181548110612e6657fe5b600091825260209091200180546001600160a01b0319169055600480546000198101908110612e9157fe5b600091825260209091200154600480546001600160a01b039092169183908110612eb757fe5b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556004805490612ef3906000198301614b25565b50612f01565b600101612e1d565b506001600160a01b038216600090815260066020908152604080832083905585835260059091529081902080546001600160a01b0319169055517f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d090612f6a9085908590615af6565b60405180910390a1505050565b600080600080612fb3612f886134c3565b6001600160a01b03166370a08231876040518263ffffffff1660e01b81526004016114f891906159f5565b91945092509050600080612fc6876129ba565b915091508195508280612fd65750805b9250858510612fe85760009550612ffb565b612ff8868663ffffffff6138f716565b95505b50509193509193565b60008181526003602090815260408083205490516001600160a01b039091169182151591613034918691016159ca565b604051602081830303815290604052906121ed5760405162461bcd60e51b81526004016106ac9190615bb8565b600061307a83836b033b2e3c9fd0803ce800000061462a565b9392505050565b600061308b614662565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b81526004016130db929190615b04565b60206040518083038186803b1580156130f357600080fd5b505afa158015613107573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c6f9190810190614e80565b6000610c6f6822bc31b430b733b2b960b91b613004565b600061314c614662565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b81526004016130db929190615b04565b6131a561467f565b6001600160a01b0316637d3f0ba283836040518363ffffffff1660e01b81526004016131d2929190615a03565b60206040518083038186803b1580156131ea57600080fd5b505afa1580156131fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132229190810190614e44565b6106e15760405162461bcd60e51b81526004016106ac90615be9565b613246614390565b61324f57610ff1565b806133ac5761325d83614270565b6132795760405162461bcd60e51b81526004016106ac90615d66565b60008061328461312b565b6001600160a01b0316631b16802c86631cd554d160e21b6040518363ffffffff1660e01b81526004016132b8929190615a39565b606060405180830381600087803b1580156132d257600080fd5b505af11580156132e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061330a9190810190614fd6565b90935091505080156133a95761331e61312b565b6001600160a01b0316634c268fc886631cd554d160e21b87866040518563ffffffff1660e01b81526004016133569493929190615a54565b60206040518083038186803b15801561336e57600080fd5b505afa158015613382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133a69190810190614e80565b93505b50505b6000806133ba612f886134c3565b92505091506000806133cb876129ba565b915091506133df83806115f55750816139f8565b600084116133ff5760405162461bcd60e51b81526004016106ac90615c46565b841561341857613415848363ffffffff6138f716565b95505b60006134268889898861469e565b905082613439868363ffffffff6138f716565b116134a45761344661391f565b6001600160a01b031663974e9e7f896040518263ffffffff1660e01b815260040161347191906159f5565b600060405180830381600087803b15801561348b57600080fd5b505af115801561349f573d6000803e3d6000fd5b505050505b5050505050505050565b6000610c6f66119959541bdbdb60ca1b613004565b6000610c6f7153796e74686574697844656274536861726560701b613004565b6134eb61467f565b6001600160a01b0316630487261783836040518363ffffffff1660e01b81526004016131d2929190615a03565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561355357600080fd5b505afa158015613567573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061358b9190810190614e80565b6000818152600560205260409020549091506001600160a01b0316156135c35760405162461bcd60e51b81526004016106ac90615d46565b6001600160a01b038216600090815260066020526040902054156135f95760405162461bcd60e51b81526004016106ac90615d06565b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0384166001600160a01b03199182168117909255600083815260056020908152604080832080549094168517909355928152600690925290819020829055517f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c628849061369d9083908590615af6565b60405180910390a15050565b6000610c6f6c45786368616e6765526174657360981b613004565b606080826136d35760006136d6565b60015b60ff1660048054905001604051908082528060200260200182016040528015613709578160200160208202803883390190505b50905060005b60045481101561377057600660006004838154811061372a57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054825183908390811061375d57fe5b602090810291909101015260010161370f565b508215610f98576004548151620a69cb60eb1b918391811061378e57fe5b60200260200101818152505092915050565b60008060008060006137b0610804565b925050915086600014156137cc57600094509092509050613883565b6000806137d76136a9565b6001600160a01b0316630c71cd23896040518263ffffffff1660e01b81526004016138029190615ae8565b604080518083038186803b15801561381957600080fd5b505afa15801561382d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138519190810190614f56565b9150915061386e826138628b6147ca565b9063ffffffff6138e216565b9650839550808061387c5750825b9450505050505b9250925092565b6000613894614662565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b81526004016130db929190615b04565b600061307a8383670de0b6b3a764000061462a565b6000828211156139195760405162461bcd60e51b81526004016106ac90615c66565b50900390565b6000610c6f692634b8bab4b230ba37b960b11b613004565b6000613941614662565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b74736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b81526004016130db929190615b04565b60006139a1614662565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b81526004016130db929190615b04565b80156110f95760405162461bcd60e51b81526004016106ac90615ca6565b600080613a21612841565b6001600160a01b03166370a08231846040518263ffffffff1660e01b8152600401613a4c91906159f5565b60206040518083038186803b158015613a6457600080fd5b505afa158015613a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a9c9190810190614e80565b90506000613aa8614879565b6001600160a01b031614613b4c57613b49613ac1614879565b6001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401613aec91906159f5565b60206040518083038186803b158015613b0457600080fd5b505afa158015613b18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b3c9190810190614e80565b829063ffffffff613bd116565b90505b6000613b56614896565b6001600160a01b031614613b7257613b6f613ac1614896565b90505b6000613b7c6148b2565b6001600160a01b031614610f985761307a613b956148b2565b6001600160a01b0316628cc262856040518263ffffffff1660e01b8152600401613aec91906159f5565b600061307a838363ffffffff6148d116565b60008282018381101561307a5760405162461bcd60e51b81526004016106ac90615c19565b600061307a838363ffffffff6138e216565b6000670de0b6b3a7640000613c23848463ffffffff6148e616565b81613c2a57fe5b049392505050565b600061307a82613c5085670de0b6b3a764000063ffffffff6148e616565b9063ffffffff61492016565b613c646148b2565b6001600160a01b031663270fb338846040518263ffffffff1660e01b8152600401613c8f91906159f5565b600060405180830381600087803b158015613ca957600080fd5b505af1158015613cbd573d6000803e3d6000fd5b505050506000613ccb6134c3565b90506000816001600160a01b03166370a08231866040518263ffffffff1660e01b8152600401613cfb91906159f5565b60206040518083038186803b158015613d1357600080fd5b505afa158015613d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d4b9190810190614e80565b905082841415613dba57604051631a378f0d60e01b81526001600160a01b03831690631a378f0d90613d839088908590600401615a39565b600060405180830381600087803b158015613d9d57600080fd5b505af1158015613db1573d6000803e3d6000fd5b50505050611b1b565b6000613dc585614955565b9050826001600160a01b0316631a378f0d87848410613de45784613de6565b835b6040518363ffffffff1660e01b8152600401613e03929190615a39565b600060405180830381600087803b158015613e1d57600080fd5b505af1158015613e31573d6000803e3d6000fd5b50505050505050505050565b6000806000806000613e4d612ab2565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b158015613e8557600080fd5b505afa158015613e99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ebd9190810190614f75565b935093505092508180613ecd5750805b93506000613ed96136a9565b905086613f7f57600080613eeb612ab2565b6001600160a01b0316632992dba26040518163ffffffff1660e01b8152600401604080518083038186803b158015613f2257600080fd5b505afa158015613f36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f5a9190810190614f56565b9092509050613f6f868363ffffffff613bd116565b95508680613f7a5750805b965050505b631cd554d160e21b881415613f9a5750919350614041915050565b600080826001600160a01b0316630c71cd238b6040518263ffffffff1660e01b8152600401613fc99190615ae8565b604080518083038186803b158015613fe057600080fd5b505afa158015613ff4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140189190810190614f56565b909250905061402d868363ffffffff6138e216565b87806140365750815b975097505050505050505b9250929050565b614050614662565b6001600160a01b0316631d5b277f6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8460405160200161408c9291906159a4565b60405160208183030381529060405280519060200120426040518463ffffffff1660e01b8152600401611aed93929190615b12565b6000600160ff1b82106140e65760405162461bcd60e51b81526004016106ac90615d76565b5090565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061412c57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561416b578160200160208202803883390190505b50905060005b83518110156141ad5783818151811061418657fe5b602002602001015182828151811061419a57fe5b6020908102919091010152600101614171565b5060005b82518110156121ed578281815181106141c657fe5b60200260200101518282865101815181106141dd57fe5b60209081029190910101526001016141b1565b60008060006141fe84613a16565b905060008061423961420e6134c3565b6001600160a01b03166370a08231886040518263ffffffff1660e01b81526004016111e591906159f5565b9250509150826000141561425557600094509250612210915050565b614265828463ffffffff6138e216565b945092505050915091565b600061428661427d613142565b61171c846142c7565b42101592915050565b61429761460f565b6001600160a01b0316336001600160a01b031614612ab05760405162461bcd60e51b81526004016106ac90615c29565b60006142d1614662565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8560405160200161430d9291906159a4565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401614340929190615b04565b60206040518083038186803b15801561435857600080fd5b505afa15801561436c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f989190810190614e80565b6000806143b6766578743a41676772656761746f7244656274526174696f60481b613004565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156143ee57600080fd5b505afa158015614402573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144269190810190615019565b505050915050600061443a60075483614a17565b9050614444614a63565b81106144bb57614452614acb565b6001600160a01b031663396e258e60a56040518263ffffffff1660e01b815260040161447e9190615ae8565b600060405180830381600087803b15801561449857600080fd5b505af11580156144ac573d6000803e3d6000fd5b50505050600092505050610c72565b5060075550600190565b6144cd6148b2565b6001600160a01b031663270fb338836040518263ffffffff1660e01b81526004016144f891906159f5565b600060405180830381600087803b15801561451257600080fd5b505af1158015614526573d6000803e3d6000fd5b5050505060006145346134c3565b9050600061454183614955565b9050806145ad57604051636178258560e11b81526001600160a01b0383169063c2f04b0a906145769087908790600401615a39565b600060405180830381600087803b15801561459057600080fd5b505af11580156145a4573d6000803e3d6000fd5b50505050614609565b604051636178258560e11b81526001600160a01b0383169063c2f04b0a906145db9087908590600401615a39565b600060405180830381600087803b1580156145f557600080fd5b505af11580156134a4573d6000803e3d6000fd5b50505050565b6000610c6f6c29bcb73a342932b232b2b6b2b960991b613004565b60008061464484613c5087600a870263ffffffff6148e616565b90506005600a825b061061465657600a015b600a9004949350505050565b6000610c6f6e466c657869626c6553746f7261676560881b613004565b6000610c6f7044656c6567617465417070726f76616c7360781b613004565b60006146a8614390565b6146b4575060006147c2565b8282106146c157826146c3565b815b90506146d0858284613c5c565b631cd554d160e21b6000526005602052600080516020615f1d83398151915254604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac9061471f9087908590600401615a39565b600060405180830381600087803b15801561473957600080fd5b505af115801561474d573d6000803e3d6000fd5b50505050614759612ab2565b6001600160a01b03166342c7b819614770836140c1565b6000036040518263ffffffff1660e01b815260040161478f9190615ae8565b600060405180830381600087803b1580156147a957600080fd5b505af11580156147bd573d6000803e3d6000fd5b505050505b949350505050565b6000806147f0766578743a41676772656761746f7244656274526174696f60481b613004565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561482857600080fd5b505afa15801561483c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506148609190810190615019565b50505091505061307a8184614ae590919063ffffffff16565b6000610c6f6e53796e746865746978457363726f7760881b613004565b6000610c6f6d2932bbb0b93222b9b1b937bbab1960911b613004565b6000610c6f704c697175696461746f725265776172647360781b613004565b600061307a8383670de0b6b3a7640000614afa565b6000826148f557506000610f98565b8282028284828161490257fe5b041461307a5760405162461bcd60e51b81526004016106ac90615d16565b60008082116149415760405162461bcd60e51b81526004016106ac90615c76565b600082848161494c57fe5b04949350505050565b60008061497b766578743a41676772656761746f7244656274526174696f60481b613004565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156149b357600080fd5b505afa1580156149c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506149eb9190810190615019565b50505091505080600014614a0e57614a09838263ffffffff61306116565b61307a565b50600092915050565b600082614a2657506001610f98565b81614a345750600019610f98565b81831115614a5357614a4c838363ffffffff613c3216565b9050610f98565b61307a828463ffffffff613c3216565b6000614a6d614662565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b81526004016130db929190615b04565b6000610c6f6b53797374656d53746174757360a01b613004565b600061307a83836b033b2e3c9fd0803ce80000005b600080600a8304614b11868663ffffffff6148e616565b81614b1857fe5b0490506005600a8261464c565b815481835581811115610ff157600083815260209020610ff1918101908301610c7291905b808211156140e65760008155600101614b4a565b8035610f9881615edb565b8051610f9881615edb565b60008083601f840112614b8657600080fd5b50813567ffffffffffffffff811115614b9e57600080fd5b60208301915083602082028301111561404157600080fd5b600082601f830112614bc757600080fd5b8151614bda614bd582615e01565b615dda565b91508181835260208401935060208101905083856020840282011115614bff57600080fd5b60005b83811015614c2b5781614c158882614c56565b8452506020928301929190910190600101614c02565b5050505092915050565b8035610f9881615eef565b8051610f9881615eef565b8035610f9881615ef8565b8051610f9881615ef8565b8035610f9881615f01565b8051610f9881615f01565b8035610f9881615f0a565b8051610f9881615f0a565b8051610f9881615f13565b600060208284031215614caa57600080fd5b60006147c28484614b5e565b600060208284031215614cc857600080fd5b60006147c28484614b69565b60008060408385031215614ce757600080fd5b6000614cf38585614b5e565b9250506020614d0485828601614b5e565b9150509250929050565b600080600060608486031215614d2357600080fd5b6000614d2f8686614b5e565b9350506020614d4086828701614b5e565b9250506040614d5186828701614c4b565b9150509250925092565b60008060408385031215614d6e57600080fd5b6000614d7a8585614b5e565b9250506020614d0485828601614c35565b60008060408385031215614d9e57600080fd5b6000614daa8585614b5e565b9250506020614d0485828601614c4b565b60008060208385031215614dce57600080fd5b823567ffffffffffffffff811115614de557600080fd5b614df185828601614b74565b92509250509250929050565b60008060408385031215614e1057600080fd5b825167ffffffffffffffff811115614e2757600080fd5b614e3385828601614bb6565b9250506020614d0485828601614c40565b600060208284031215614e5657600080fd5b60006147c28484614c40565b600060208284031215614e7457600080fd5b60006147c28484614c4b565b600060208284031215614e9257600080fd5b60006147c28484614c56565b600080600060608486031215614eb357600080fd5b6000614d2f8686614c4b565b60008060408385031215614ed257600080fd5b6000614d7a8585614c4b565b600060208284031215614ef057600080fd5b60006147c28484614c61565b600060208284031215614f0e57600080fd5b60006147c28484614c6c565b600060208284031215614f2c57600080fd5b60006147c28484614c77565b600060208284031215614f4a57600080fd5b60006147c28484614c82565b60008060408385031215614f6957600080fd5b6000614e338585614c56565b60008060008060808587031215614f8b57600080fd5b6000614f978787614c56565b9450506020614fa887828801614c56565b9350506040614fb987828801614c40565b9250506060614fca87828801614c40565b91505092959194509250565b600080600060608486031215614feb57600080fd5b6000614ff78686614c56565b935050602061500886828701614c56565b9250506040614d5186828701614c56565b600080600080600060a0868803121561503157600080fd5b600061503d8888614c8d565b955050602061504e88828901614c56565b945050604061505f88828901614c56565b935050606061507088828901614c56565b925050608061508188828901614c8d565b9150509295509295909350565b600061509a8383615205565b505060200190565b600061509a838361521f565b6150b781615e35565b82525050565b6150b76150c982615e35565b615eba565b60006150da8385615e2c565b93506001600160fb1b038311156150f057600080fd5b602083029250615101838584615e82565b50500190565b600061511282615e28565b61511c8185615e2c565b935061512783615e22565b8060005b8381101561515557815161513f888261508e565b975061514a83615e22565b92505060010161512b565b509495945050505050565b600061516b82615e28565b6151758185615e2c565b935061518083615e22565b8060005b8381101561515557815161519888826150a2565b97506151a383615e22565b925050600101615184565b60006151b982615e28565b6151c38185615e2c565b93506151ce83615e22565b8060005b838110156151555781516151e6888261508e565b97506151f183615e22565b9250506001016151d2565b6150b781615e40565b6150b781610c72565b6150b761521a82610c72565b610c72565b6150b781615e45565b6150b781615e77565b600061523c82615e28565b6152468185615e2c565b9350615256818560208601615e8e565b61525f81615ecb565b9093019392505050565b6000615276601e83615e2c565b7f4973737565723a206f6e65206d696e746572206d757374206265203078300000815260200192915050565b60006152af603583615e2c565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615306601d83615e2c565b7f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000815260200192915050565b600061533f601c83615e2c565b7f4973737565723a2063616e6e6f74206275726e20302073796e74687300000000815260200192915050565b6000615378601b83615e2c565b7f4973737565723a2077726f6e672073686f727420616464726573730000000000815260200192915050565b60006153b1601b83615e2c565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006153ea603f83615e2c565b7f4973737565723a204f6e6c79207468652053796e746852656465656d6572206381527f6f6e74726163742063616e20706572666f726d207468697320616374696f6e00602082015260400192915050565b74436f6c6c61746572616c53686f72744c656761637960581b9052565b6000615466601283615e2c565b714e6f206465627420746f20666f726769766560701b815260200192915050565b6000615494601083615e2c565b6f416d6f756e7420746f6f206c6172676560801b815260200192915050565b60006154c0601e83615e2c565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006154f9601a83615e2c565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615532601183610705565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061555f603b83615e2c565b7f4973737565723a204f6e6c79207468652073796e74686574697820636f6e747281527f6163742063616e20706572666f726d207468697320616374696f6e0000000000602082015260400192915050565b60006155be601083615e2c565b6f135d5cdd08189948199959481c1bdbdb60821b815260200192915050565b60006155ea601e83615e2c565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b6000615623601483615e2c565b7314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b815260200192915050565b6000615653602a83615e2c565b7f43616e6e6f742072656d6f76652073796e746820746f2072656465656d20776981526974686f7574207261746560b01b602082015260400192915050565b600061569f601883615e2c565b7f4e6f74206f70656e20666f72206c69717569646174696f6e0000000000000000815260200192915050565b60006156d8602f83615e2c565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000615735601783615e2c565b7f4973737565723a20696e76616c69642061646472657373000000000000000000815260200192915050565b600061576e601c83615e2c565b7f53796e7468206164647265737320616c72656164792065786973747300000000815260200192915050565b60006157a7602183615e2c565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006157ea601383615e2c565b72086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b815260200192915050565b6000615819601d83615e2c565b7f4973737565723a2063616e6e6f7420697373756520302073796e746873000000815260200192915050565b6000615852601983610705565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061588b600c83615e2c565b6b53796e74682065786973747360a01b815260200192915050565b60006158b3601b83615e2c565b7f4973737565723a2073796e746820646f65736e27742065786973740000000000815260200192915050565b60006158ec601e83615e2c565b7f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000815260200192915050565b6000615925602883615e2c565b7f53616665436173743a2076616c756520646f65736e27742066697420696e2061815267371034b73a191a9b60c11b602082015260400192915050565b600061596f601c83615e2c565b7f4973737565723a206f6e6c792074727573746564206d696e7465727300000000815260200192915050565b6150b781615e50565b60006159b0828561520e565b6020820191506159c082846150bd565b5060140192915050565b60006159d582615525565b91506159e1828461520e565b50602001919050565b60006159d582615845565b60208101610f9882846150ae565b60408101615a1182856150ae565b61307a60208301846150ae565b60408101615a2c82856150ae565b61307a60208301846151fc565b60408101615a4782856150ae565b61307a6020830184615205565b60808101615a6282876150ae565b615a6f6020830186615205565b615a7c6040830185615205565b615a896060830184615205565b95945050505050565b60408082528101615aa48185876150ce565b90508181036020830152615a8981846151ae565b6020808252810161307a8184615107565b6020808252810161307a8184615160565b60208101610f9882846151fc565b60208101610f988284615205565b60408101615a118285615205565b60408101615a478285615205565b60608101615b208286615205565b615b2d6020830185615205565b6147c26040830184615205565b60408101615b488285615205565b61307a6020830184615228565b60408101615b638285615205565b81810360208301526147c28184615231565b60608101615b838285615205565b615b906020830184615205565b61307a6040830161571c565b60208101610f98828461521f565b60408101615a47828561521f565b6020808252810161307a8184615231565b60208082528101610f9881615269565b60208082528101610f98816152a2565b60208082528101610f98816152f9565b60208082528101610f9881615332565b60208082528101610f988161536b565b60208082528101610f98816153a4565b60208082528101610f98816153dd565b602081016107058261543c565b60208082528101610f9881615459565b60208082528101610f9881615487565b60208082528101610f98816154b3565b60208082528101610f98816154ec565b60208082528101610f9881615552565b60208082528101610f98816155b1565b60208082528101610f98816155dd565b60208082528101610f9881615616565b60208082528101610f9881615646565b60208082528101610f9881615692565b60208082528101610f98816156cb565b60208082528101610f9881615728565b60208082528101610f9881615761565b60208082528101610f988161579a565b60208082528101610f98816157dd565b60208082528101610f988161580c565b60208082528101610f988161587e565b60208082528101610f98816158a6565b60208082528101610f98816158df565b60208082528101610f9881615918565b60208082528101610f9881615962565b60208101610f98828461599b565b60408101615a2c8285615205565b60608101615dc08286615205565b615dcd6020830185615205565b6147c260408301846151fc565b60405181810167ffffffffffffffff81118282101715615df957600080fd5b604052919050565b600067ffffffffffffffff821115615e1857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610f9882615e5c565b151590565b6000610f9882615e35565b6001600160801b031690565b6001600160a01b031690565b69ffffffffffffffffffff1690565b6000610f9882610c72565b82818337506000910152565b60005b83811015615ea9578181015183820152602001615e91565b838111156146095750506000910152565b6000610f98826000610f9882615ed5565b601f01601f191690565b60601b90565b615ee481615e35565b81146110f957600080fd5b615ee481615e40565b615ee481610c72565b615ee481615e45565b615ee481615e50565b615ee481615e6856fe74c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823fa365627a7a723158202a1a39542f91009d594d9c11ad41ac819edbb0753b0f6943f3d8a583aa1b9cf86c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"synth","type":"address"}],"name":"SynthAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"synth","type":"address"}],"name":"SynthRemoved","type":"event"},{"constant":true,"inputs":[],"name":"CIRCUIT_BREAKER_SUSPENSION_REASON","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract ISynth","name":"synth","type":"address"}],"name":"addSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract ISynth[]","name":"synthsToAdd","type":"address[]"}],"name":"addSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"allNetworksDebtInfo","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"sharesSupply","type":"uint256"},{"internalType":"bool","name":"isStale","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"anySynthOrSNXRateIsInvalid","outputs":[{"internalType":"bool","name":"anyRateInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"availableCurrencyKeys","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"availableSynthCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"availableSynths","outputs":[{"internalType":"contract ISynth","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"deprecatedSynthProxy","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"}],"name":"burnForRedemption","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"burnForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnSynthsOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"burnSynthsToTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"burnForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"}],"name":"burnSynthsToTargetOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnSynthsWithoutDebt","outputs":[{"internalType":"bool","name":"rateInvalid","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"canBurnSynths","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"collateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_issuer","type":"address"}],"name":"collateralisationRatio","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_issuer","type":"address"}],"name":"collateralisationRatioAndAnyRatesInvalid","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_issuer","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"debtBalanceOf","outputs":[{"internalType":"uint256","name":"debtBalance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"getSynths","outputs":[{"internalType":"contract ISynth[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issuanceRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"issueMaxSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"issueForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"}],"name":"issueMaxSynthsOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issueSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"issueForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issueSynthsOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issueSynthsWithoutDebt","outputs":[{"internalType":"bool","name":"rateInvalid","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastDebtRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"lastIssueEvent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isSelfLiquidation","type":"bool"}],"name":"liquidateAccount","outputs":[{"internalType":"uint256","name":"totalRedeemed","type":"uint256"},{"internalType":"uint256","name":"amountToLiquidate","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_issuer","type":"address"}],"name":"maxIssuableSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumStakeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_issuer","type":"address"}],"name":"remainingIssuableSynths","outputs":[{"internalType":"uint256","name":"maxIssuable","type":"uint256"},{"internalType":"uint256","name":"alreadyIssued","type":"uint256"},{"internalType":"uint256","name":"totalSystemDebt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"removeSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"removeSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint128","name":"periodId","type":"uint128"}],"name":"setCurrentPeriodId","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"ratio","type":"uint256"}],"name":"setLastDebtRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synths","outputs":[{"internalType":"contract ISynth","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"synthsByAddress","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"bool","name":"excludeOtherCollateral","type":"bool"}],"name":"totalIssuedSynths","outputs":[{"internalType":"uint256","name":"totalIssued","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"}],"name":"transferableSynthetixAndAnyRateIsInvalid","outputs":[{"internalType":"uint256","name":"transferable","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"short","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"upgradeCollateralShort","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x9820f36cf8ee40e9cfb286cae173e716e009ebe5594e921afac85a40f103c71b","urls":["bzz-raw://f54ee91ba95260372d2c872fd7c90b04eeb5c4f028398c4fa35256712372a83f","dweb:/ipfs/QmdHauQk47hJ7MzScCYr9mBMxkyjo9AUP9hnEvFzKjUDbx"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"Issuer.sol":"Issuer"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"Issuer.sol":{"keccak256":"0x9820f36cf8ee40e9cfb286cae173e716e009ebe5594e921afac85a40f103c71b","urls":["bzz-raw://f54ee91ba95260372d2c872fd7c90b04eeb5c4f028398c4fa35256712372a83f","dweb:/ipfs/QmdHauQk47hJ7MzScCYr9mBMxkyjo9AUP9hnEvFzKjUDbx"]}},"version":1}},"MultiCollateralSynth":{"bytecode":"60806040523480156200001157600080fd5b506040516200337d3803806200337d83398181016040526101008110156200003857600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006457600080fd5b9083019060208201858111156200007a57600080fd5b82516401000000008111828201881017156200009557600080fd5b82525081516020918201929091019080838360005b83811015620000c4578181015183820152602001620000aa565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b9083019060208201858111156200012c57600080fd5b82516401000000008111828201881017156200014757600080fd5b82525081516020918201929091019080838360005b83811015620001765781810151838201526020016200015c565b50505050905090810190601f168015620001a45780820380516001836020036101000a031916815260200191505b50604090815260208201519082015160608301516080909301519194509250878787878787878780888888888660128a86816001600160a01b03811662000232576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002dd576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600480546001600160a01b0319166001600160a01b03881617905584516200035f90600590602088019062000464565b5083516200037590600690602087019062000464565b50506007919091556008805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620003fa576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b0384166200044b576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600a5550620005099b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004a757805160ff1916838001178555620004d7565b82800160010185558215620004d7579182015b82811115620004d7578251825591602001919060010190620004ba565b50620004e5929150620004e9565b5090565b6200050691905b80821115620004e55760008155600101620004f0565b90565b612e6480620005196000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80638da5cb5b1161011a578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e2146105cb578063eb1edd61146105d3578063ec556889146105db578063f7ea7a3d146105e3578063ffff51d614610600576101fb565b8063d67bdd2514610557578063dbd06c851461055f578063dd62ed3e14610567578063e73cced314610595576101fb565b80639f769807116100e95780639f769807146104b3578063a9059cbb146104d9578063b014c3a314610505578063bc67f83214610531576101fb565b80638da5cb5b1461045157806395d89b411461045957806397107d6d146104615780639dc29fac14610487576101fb565b8063313ce56711610192578063741853601161016157806374185360146103bd57806379ba5097146103c5578063867904b4146103cd578063899ffef4146103f9576101fb565b8063313ce5671461037f57806353a47bb714610387578063614d08f81461038f57806370a0823114610397576101fb565b806318160ddd116101ce57806318160ddd1461030957806323b872dd146103235780632af64bd3146103595780632e0f262514610361576101fb565b806304f3bcec1461020057806306fdde0314610224578063095ea7b3146102a15780631627540c146102e1575b600080fd5b610208610626565b604080516001600160a01b039092168252519081900360200190f35b61022c61063a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026657818101518382015260200161024e565b50505050905090810190601f1680156102935780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102cd600480360360408110156102b757600080fd5b506001600160a01b0381351690602001356106c8565b604080519115158252519081900360200190f35b610307600480360360208110156102f757600080fd5b50356001600160a01b0316610765565b005b6103116107c1565b60408051918252519081900360200190f35b6102cd6004803603606081101561033957600080fd5b506001600160a01b038135811691602081013590911690604001356107c7565b6102cd6107ee565b610369610900565b6040805160ff9092168252519081900360200190f35b610369610905565b61020861090e565b61031161091d565b610311600480360360208110156103ad57600080fd5b50356001600160a01b0316610938565b6103076109bf565b610307610b9c565b610307600480360360408110156103e357600080fd5b506001600160a01b038135169060200135610c58565b610401610cbc565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043d578181015183820152602001610425565b505050509050019250505060405180910390f35b610208610d80565b61022c610d8f565b6103076004803603602081101561047757600080fd5b50356001600160a01b0316610dea565b6103076004803603604081101561049d57600080fd5b506001600160a01b038135169060200135610e46565b610307600480360360208110156104c957600080fd5b50356001600160a01b0316610eaf565b6102cd600480360360408110156104ef57600080fd5b506001600160a01b038135169060200135610ede565b6102cd6004803603604081101561051b57600080fd5b506001600160a01b038135169060200135610f76565b6103076004803603602081101561054757600080fd5b50356001600160a01b03166110cd565b6102086110f7565b610311611106565b6103116004803603604081101561057d57600080fd5b506001600160a01b038135811691602001351661110c565b6102cd600480360360608110156105ab57600080fd5b506001600160a01b0381358116916020810135909116906040013561119a565b6102086112ee565b6102086112fd565b610208611315565b610307600480360360208110156105f957600080fd5b5035611324565b6103116004803603602081101561061657600080fd5b50356001600160a01b0316611331565b60085461010090046001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106c05780601f10610695576101008083540402835291602001916106c0565b820191906000526020600020905b8154815290600101906020018083116106a357829003601f168201915b505050505081565b60006106d2611478565b6003546004805460408051633691826360e21b81526001600160a01b03948516938101849052878516602482015260448101879052905192939091169163da46098c9160648082019260009290919082900301818387803b15801561073657600080fd5b505af115801561074a573d6000803e3d6000fd5b505050506107598185856114b8565b60019150505b92915050565b61076d6115f1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60075481565b60006107d161163a565b6107db84836116be565b6107e684848461183d565b949350505050565b600060606107fa610cbc565b905060005b81518110156108f657600082828151811061081657fe5b6020908102919091018101516000818152600983526040908190205460085482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b15801561088557600080fd5b505afa158015610899573d6000803e3d6000fd5b505050506040513d60208110156108af57600080fd5b50516001600160a01b03161415806108dc57506000818152600960205260409020546001600160a01b0316155b156108ed57600093505050506108fd565b506001016107ff565b5060019150505b90565b601281565b60085460ff1681565b6001546001600160a01b031681565b7309aead8e8d286ded8d8c2e8cae4c2d8a6f2dce8d60631b81565b60048054604080516370a0823160e01b81526001600160a01b03858116948201949094529051600093909216916370a0823191602480820192602092909190829003018186803b15801561098b57600080fd5b505afa15801561099f573d6000803e3d6000fd5b505050506040513d60208110156109b557600080fd5b505190505b919050565b60606109c9610cbc565b905060005b8151811015610b985760008282815181106109e557fe5b602002602001015190506000600860019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610ab0578181015183820152602001610a98565b50505050905090810190601f168015610add5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610afb57600080fd5b505afa158015610b0f573d6000803e3d6000fd5b505050506040513d6020811015610b2557600080fd5b505160008381526009602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016109ce565b5050565b6001546001600160a01b03163314610be55760405162461bcd60e51b8152600401808060200182810382526035815260200180612d366035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610c61336119ff565b610cb2576040805162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920696e7465726e616c20636f6e74726163747320616c6c6f77656400604482015290519081900360640190fd5b610b988282611b52565b606080610cc7611c7e565b60408051600380825260808201909252919250606091906020820183803883390190505090507021b7b63630ba32b930b626b0b730b3b2b960791b81600081518110610d0f57fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b81600181518110610d3857fe5b6020026020010181815250506d57726170706572466163746f727960901b81600281518110610d6357fe5b602002602001018181525050610d798282611d6b565b9250505090565b6000546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106c05780601f10610695576101008083540402835291602001916106c0565b610df26115f1565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b610e4f336119ff565b610ea0576040805162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920696e7465726e616c20636f6e74726163747320616c6c6f77656400604482015290519081900360640190fd5b610eaa8282611e27565b505050565b610eb7611f26565b600480546001600160a01b0319166001600160a01b038316179055610edb81611fbf565b50565b6000610ee861163a565b600354610efe906001600160a01b0316836116be565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef1415610f3457610f2d8383612105565b905061075f565b6001600160a01b038316610f5857600354610f2d906001600160a01b031683611e27565b600354610f6f906001600160a01b03168484612282565b9392505050565b6000610f8061163a565b6000610f8a6124b3565b600354600a54604080516306c5a00b60e21b81526001600160a01b0393841660048201526024810192909252519290911691631b16802c916044808201926060929091908290030181600087803b158015610fe457600080fd5b505af1158015610ff8573d6000803e3d6000fd5b505050506040513d606081101561100e57600080fd5b5060400151905082811561109b5760048054600354604080516370a0823160e01b81526001600160a01b0392831694810194909452519116916370a08231916024808301926020929190829003018186803b15801561106c57600080fd5b505afa158015611080573d6000803e3d6000fd5b505050506040513d602081101561109657600080fd5b505190505b8084116110a857836110aa565b805b6003549094506110c4906001600160a01b03168686612282565b95945050505050565b6110d56124cf565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031681565b600a5481565b6004805460408051636eb1769f60e11b81526001600160a01b0386811694820194909452848416602482015290516000939092169163dd62ed3e91604480820192602092909190829003018186803b15801561116757600080fd5b505afa15801561117b573d6000803e3d6000fd5b505050506040513d602081101561119157600080fd5b50519392505050565b60006111a461163a565b60006111ae6124b3565b6001600160a01b0316631b16802c86600a546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561120f57600080fd5b505af1158015611223573d6000803e3d6000fd5b505050506040513d606081101561123957600080fd5b506040015190508281156112c75760048054604080516370a0823160e01b81526001600160a01b038a811694820194909452905192909116916370a0823191602480820192602092909190829003018186803b15801561129857600080fd5b505afa1580156112ac573d6000803e3d6000fd5b505050506040513d60208110156112c257600080fd5b505190505b808410156112d557836112d7565b805b93506112e486868661183d565b9695505050505050565b6004546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b61132c611f26565b600755565b60008061133c6124b3565b6001600160a01b03166319d5c66584600a546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561139b57600080fd5b505afa1580156113af573d6000803e3d6000fd5b505050506040513d60608110156113c557600080fd5b505160048054604080516370a0823160e01b81526001600160a01b0388811694820194909452905193945060009392909116916370a0823191602480820192602092909190829003018186803b15801561141e57600080fd5b505afa158015611432573d6000803e3d6000fd5b505050506040513d602081101561144857600080fd5b505190508082111561145f576000925050506109ba565b61146f818363ffffffff61252816565b925050506109ba565b6002546001600160a01b0316331480159061149e57506003546001600160a01b03163314155b156114b657600380546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612dc982396021019050604051809103902061150b88612585565b61151488612585565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561158357818101518382015260200161156b565b50505050905090810190601f1680156115b05780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156115d457600080fd5b505af11580156115e8573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146114b65760405162461bcd60e51b815260040180806020018281038252602f815260200180612d9a602f913960400191505060405180910390fd5b6002546001600160a01b0316331415611652576114b6565b61165b33612591565b1561167757600380546001600160a01b031916331790556114b6565b6040805162461bcd60e51b815260206004820152601760248201527613db9b1e481d1a19481c1c9bde1e4818d85b8818d85b1b604a1b604482015290519081900360640190fd5b6116c66124b3565b6001600160a01b031663059c29ec83600a546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561172557600080fd5b505afa158015611739573d6000803e3d6000fd5b505050506040513d602081101561174f57600080fd5b50511561178d5760405162461bcd60e51b8152600401808060200182810382526025815260200180612dea6025913960400191505060405180910390fd5b8061179783611331565b10156117d45760405162461bcd60e51b815260040180806020018281038252602f815260200180612d6b602f913960400191505060405180910390fd5b6117dc6128d9565b6001600160a01b03166342a28e21600a546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561182157600080fd5b505afa158015611835573d6000803e3d6000fd5b505050505050565b6004805460035460408051636eb1769f60e11b81526001600160a01b038881169582019590955291841660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b15801561189b57600080fd5b505afa1580156118af573d6000803e3d6000fd5b505050506040513d60208110156118c557600080fd5b5051146119f4576004805460035460408051636eb1769f60e11b81526001600160a01b0389811695820195909552918416602483018190529051939092169263da46098c9288929091611973918891879163dd62ed3e916044808301926020929190829003018186803b15801561193b57600080fd5b505afa15801561194f573d6000803e3d6000fd5b505050506040513d602081101561196557600080fd5b50519063ffffffff61252816565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156119db57600080fd5b505af11580156119ef573d6000803e3d6000fd5b505050505b6107e6848484612282565b6000611a0a826128f3565b80611a9a5750611a18612965565b6001600160a01b031663b38988f7836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611a6d57600080fd5b505afa158015611a81573d6000803e3d6000fd5b505050506040513d6020811015611a9757600080fd5b50515b80611b2a5750611aa8612984565b6001600160a01b031663e0aa2797836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611afd57600080fd5b505afa158015611b11573d6000803e3d6000fd5b505050506040513d6020811015611b2757600080fd5b50515b8061075f5750611b386129a0565b6001600160a01b0316826001600160a01b03161492915050565b60048054604080516370a0823160e01b81526001600160a01b03868116948201949094529051929091169163b46310f6918591611bea91869186916370a08231916024808301926020929190829003018186803b158015611bb257600080fd5b505afa158015611bc6573d6000803e3d6000fd5b505050506040513d6020811015611bdc57600080fd5b50519063ffffffff6129ba16565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611c3957600080fd5b505af1158015611c4d573d6000803e3d6000fd5b5050600754611c65925090508263ffffffff6129ba16565b600755611c7460008383612a14565b610b988282612a67565b60408051600580825260c082019092526060916020820160a0803883390190505090506b53797374656d53746174757360a01b81600081518110611cbe57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611ce457fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110611d0757fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110611d2b57fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600481518110611d5c57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611d9b578160200160208202803883390190505b50905060005b8351811015611ddd57838181518110611db657fe5b6020026020010151828281518110611dca57fe5b6020908102919091010152600101611da1565b5060005b8251811015611e2057828181518110611df657fe5b6020026020010151828286510181518110611e0d57fe5b6020908102919091010152600101611de1565b5092915050565b60048054604080516370a0823160e01b81526001600160a01b038681169482019490945290516000939092169163b46310f6918691611e8991879186916370a08231916024808301926020929190829003018186803b15801561193b57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611ed857600080fd5b505af1158015611eec573d6000803e3d6000fd5b5050600754611f04925090508363ffffffff61252816565b600755611f1383600084612a14565b611f1d8383612ba8565b50600192915050565b6002546001600160a01b03163314801590611f4c57506003546001600160a01b03163314155b15611f6457600380546001600160a01b031916331790555b6000546003546001600160a01b039081169116146114b6576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b83811015612099578181015183820152602001612081565b50505050905090810190601f1680156120c65780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156120ea57600080fd5b505af11580156120fe573d6000803e3d6000fd5b5050505050565b600080600a54631cd554d160e21b141561213957506003548290612133906001600160a01b03168583612282565b50612213565b6121416124b3565b600354600a54604080516327c319e960e11b81526001600160a01b03938416600482018190526024820152604481019290925260648201879052631cd554d160e21b608483015273feefeefeefeefeefeefeefeefeefeefeefeefeef60a4830152600060c4830181905260e48301819052610104830181905281519490931693634f8633d293610124808501948390030190829087803b1580156121e457600080fd5b505af11580156121f8573d6000803e3d6000fd5b505050506040513d604081101561220e57600080fd5b505190505b61221b612c11565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561226057600080fd5b505af1158015612274573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b038316158015906122a557506001600160a01b0383163014155b80156122bf57506002546001600160a01b03848116911614155b612310576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b60048054604080516370a0823160e01b81526001600160a01b03888116948201949094529051929091169163b46310f691879161237091879186916370a08231916024808301926020929190829003018186803b15801561193b57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156123bf57600080fd5b505af11580156123d3573d6000803e3d6000fd5b505060048054604080516370a0823160e01b81526001600160a01b0389811694820194909452905192909116935063b46310f69250869161243791879186916370a08231916024808301926020929190829003018186803b158015611bb257600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561248657600080fd5b505af115801561249a573d6000803e3d6000fd5b505050506124a9848484612a14565b5060019392505050565b60006124ca6822bc31b430b733b2b960b91b612c22565b905090565b6002546001600160a01b031633146114b6576040805162461bcd60e51b815260206004820152601760248201527613db9b1e481d1a19481c1c9bde1e4818d85b8818d85b1b604a1b604482015290519081900360640190fd5b60008282111561257f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b600854604080516321f8a72160e01b81526e10dbdb1b185d195c985b14da1bdc9d608a1b6004820152905160009261010090046001600160a01b0316916321f8a721916024808301926020929190829003018186803b1580156125f357600080fd5b505afa158015612607573d6000803e3d6000fd5b505050506040513d602081101561261d57600080fd5b50516001600160a01b03838116911614806126d75750600860019054906101000a90046001600160a01b03166001600160a01b03166321f8a7216040518163ffffffff1660e01b815260040180806c29bcb73a342932b232b2b6b2b960991b815250602001905060206040518083038186803b15801561269c57600080fd5b505afa1580156126b0573d6000803e3d6000fd5b505050506040513d60208110156126c657600080fd5b50516001600160a01b038381169116145b806127825750600860019054906101000a90046001600160a01b03166001600160a01b03166321f8a7216040518163ffffffff1660e01b815260040180806d57726170706572466163746f727960901b815250602001905060206040518083038186803b15801561274757600080fd5b505afa15801561275b573d6000803e3d6000fd5b505050506040513d602081101561277157600080fd5b50516001600160a01b038381169116145b806128315750600860019054906101000a90046001600160a01b03166001600160a01b03166321f8a7216040518163ffffffff1660e01b81526004018080712730ba34bb32a2ba3432b92bb930b83832b960711b815250602001905060206040518083038186803b1580156127f657600080fd5b505afa15801561280a573d6000803e3d6000fd5b505050506040513d602081101561282057600080fd5b50516001600160a01b038381169116145b8061075f5750600860019054906101000a90046001600160a01b03166001600160a01b03166321f8a7216040518163ffffffff1660e01b815260040180806411195c1bdd60da1b815250602001905060206040518083038186803b15801561289857600080fd5b505afa1580156128ac573d6000803e3d6000fd5b505050506040513d60208110156128c257600080fd5b50516001600160a01b038381169116149050919050565b60006124ca6b53797374656d53746174757360a01b612c22565b60006128fd612c11565b6001600160a01b0316826001600160a01b03161480612934575061291f6124b3565b6001600160a01b0316826001600160a01b0316145b806129575750612942612cff565b6001600160a01b0316826001600160a01b0316145b8061075f5750611b38612d13565b60006124ca7021b7b63630ba32b930b626b0b730b3b2b960791b612c22565b60006124ca6d57726170706572466163746f727960901b612c22565b60006124ca6b22ba3432b92bb930b83832b960a11b612c22565b600082820183811015610f6f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612e0f82396021019050604051809103902061150b88612585565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff9792612ad087612585565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015612b43578181015183820152602001612b2b565b50505050905090810190601f168015612b705780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015612b9457600080fd5b505af1158015611835573d6000803e3d6000fd5b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff9792612ad087612585565b60006124ca66119959541bdbdb60ca1b5b600081815260096020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611e205760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612cc4578181015183820152602001612cac565b50505050905090810190601f168015612cf15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006124ca6524b9b9bab2b960d11b612c22565b60006124ca73233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b612c2256fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a723158200ab6f354799b3f2ca84430782d67c46a02187bf8717a34537181b246fd3ff3c264736f6c63430005100032","abi":[{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"},{"internalType":"contract TokenState","name":"_tokenState","type":"address"},{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Issued","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxyAddress","type":"address"}],"name":"ProxyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTokenState","type":"address"}],"name":"TokenStateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FEE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currencyKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"setMessageSender","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"}],"name":"setProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract TokenState","name":"_tokenState","type":"address"}],"name":"setTokenState","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTotalSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenState","outputs":[{"internalType":"contract TokenState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFromAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"transferableSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe","urls":["bzz-raw://6d9e8792979f1eee0372a7dee6371c0b91e6b522605e0079120c162def58cbe7","dweb:/ipfs/QmQuccUukBgM3aLVmDrebRUc4aJjcYkVLjJ6Fv7wwVgrSd"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"MultiCollateralSynth.sol":"MultiCollateralSynth"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"MultiCollateralSynth.sol":{"keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe","urls":["bzz-raw://6d9e8792979f1eee0372a7dee6371c0b91e6b522605e0079120c162def58cbe7","dweb:/ipfs/QmQuccUukBgM3aLVmDrebRUc4aJjcYkVLjJ6Fv7wwVgrSd"]}},"version":1}},"IssuanceEternalStorage":{"bytecode":"608060405234801561001057600080fd5b506040516040806112eb8339810160405280516020909101518181818181600160a060020a03811615156100a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050505050611187806101646000396000f30060806040526004361061015e5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025ec81a8114610163578063043106c01461018d5780630c55d925146101a7578063124f2418146101bf5780631627540c146101d757806317e7dd22146101f857806325cf512d146102245780633562fd201461023f5780633cc1635c1461025a5780633eba9ed21461027257806344bfa56e1461028f5780634c77e5ba1461031c57806352f445ca1461035057806353a47bb7146103715780635a2bf25a1461038657806379ba5097146103aa5780638267a9ee146103bf5780638da5cb5b146103d75780639007127b146103ec57806393fe424814610404578063a209a29c1461041c578063a77aa49e14610434578063aefc4ccb1461044f578063ba69fcaa14610464578063bdc963d81461047c578063c9a52d2c14610494578063f5866066146104b8575b600080fd5b34801561016f57600080fd5b5061017b6004356104dc565b60408051918252519081900360200190f35b34801561019957600080fd5b506101a56004356104ee565b005b3480156101b357600080fd5b506101a560043561057d565b3480156101cb57600080fd5b506101a56004356105fb565b3480156101e357600080fd5b506101a5600160a060020a0360043516610670565b34801561020457600080fd5b50610210600435610759565b604080519115158252519081900360200190f35b34801561023057600080fd5b506101a560043560243561076e565b34801561024b57600080fd5b506101a56004356024356107e4565b34801561026657600080fd5b506101a560043561085a565b34801561027e57600080fd5b506101a560043560243515156108d6565b34801561029b57600080fd5b506102a760043561095a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102e15781810151838201526020016102c9565b50505050905090810190601f16801561030e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032857600080fd5b506103346004356109fb565b60408051600160a060020a039092168252519081900360200190f35b34801561035c57600080fd5b506101a5600160a060020a0360043516610a16565b34801561037d57600080fd5b50610334610aff565b34801561039257600080fd5b506101a5600435600160a060020a0360243516610b0e565b3480156103b657600080fd5b506101a5610bad565b3480156103cb57600080fd5b506101a5600435610cb5565b3480156103e357600080fd5b50610334610d2a565b3480156103f857600080fd5b5061017b600435610d39565b34801561041057600080fd5b506101a5600435610d4b565b34801561042857600080fd5b506102a7600435610dc0565b34801561044057600080fd5b506101a5600435602435610e2a565b34801561045b57600080fd5b50610334610ea0565b34801561047057600080fd5b506101a5600435610eaf565b34801561048857600080fd5b5061017b600435610f2a565b3480156104a057600080fd5b506101a5600480359060248035908101910135610f3c565b3480156104c457600080fd5b506101a5600480359060248035908101910135610fbf565b60009081526007602052604090205490565b600254600160a060020a03163314610552576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000908152600560205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b600254600160a060020a031633146105e1576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60008181526006602052604081206105f89161103c565b50565b600254600160a060020a0316331461065f576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600090815260076020526040812055565b600054600160a060020a031633146106f8576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b600254600160a060020a031633146107d2576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60009182526007602052604090912055565b600254600160a060020a03163314610848576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60009182526003602052604090912055565b600254600160a060020a031633146108be576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000908152600860205260409020805460ff19169055565b600254600160a060020a0316331461093a576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f60026101006001851615026000190190931692909204918201849004840281018401909452808452606093928301828280156109ef5780601f106109c4576101008083540402835291602001916109ef565b820191906000526020600020905b8154815290600101906020018083116109d257829003601f168201915b50505050509050919050565b600090815260056020526040902054600160a060020a031690565b600054600160a060020a03163314610a9e576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b600254600160a060020a03163314610b72576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600091825260056020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600154600160a060020a03163314610c35576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600254600160a060020a03163314610d19576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600090815260096020526040812055565b600054600160a060020a031681565b60009081526009602052604090205490565b600254600160a060020a03163314610daf576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f60026101006001851615026000190190931692909204918201849004840281018401909452808452606093928301828280156109ef5780601f106109c4576101008083540402835291602001916109ef565b600254600160a060020a03163314610e8e576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60009182526009602052604090912055565b600254600160a060020a031681565b600254600160a060020a03163314610f13576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60008181526004602052604081206105f89161103c565b60009081526003602052604090205490565b600254600160a060020a03163314610fa0576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000838152600660205260409020610fb9908383611080565b50505050565b600254600160a060020a03163314611023576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000838152600460205260409020610fb9908383611080565b50805460018160011615610100020316600290046000825580601f1061106257506105f8565b601f0160209004906000526020600020908101906105f891906110fe565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110c15782800160ff198235161785556110ee565b828001600101855582156110ee579182015b828111156110ee5782358255916020019190600101906110d3565b506110fa9291506110fe565b5090565b61111891905b808211156110fa5760008155600101611104565b9056004f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e000000000000000000000000a165627a7a72305820531a87be8a4483bef3d9e9bbf62e87857160f8008ec2ab17cd52197f7977cb410029","abi":[{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getBytes32Value","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x025ec81a"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x043106c0"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0c55d925"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x124f2418"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getBooleanValue","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x17e7dd22"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"bytes32"}],"name":"setBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x25cf512d"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"uint256"}],"name":"setUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3562fd20"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3cc1635c"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"bool"}],"name":"setBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3eba9ed2"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getBytesValue","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x44bfa56e"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getAddressValue","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4c77e5ba"},{"constant":false,"inputs":[{"name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"address"}],"name":"setAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5a2bf25a"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8267a9ee"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getIntValue","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9007127b"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x93fe4248"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getStringValue","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa209a29c"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"int256"}],"name":"setIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa77aa49e"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xba69fcaa"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getUIntValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbdc963d8"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"bytes"}],"name":"setBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc9a52d2c"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"string"}],"name":"setStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf5866066"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_issuer","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"SystemStatus":{"bytecode":"608060405234801561001057600080fd5b506040516128193803806128198339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061271f806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106103835760003560e01c80636309a10c116101de578063a55ce9c51161010f578063e470df58116100ad578063f405f65a1161007c578063f405f65a14610d61578063f44d1e0b14610d69578063f4c80f5e14610d71578063f8b4b08414610d8e57610383565b8063e470df5814610cb1578063e665edf014610cce578063e91e691814610d3c578063f161620714610d5957610383565b8063b9a49869116100e9578063b9a4986914610bb0578063c0eee44314610c1e578063da5917ae14610c26578063de1b885114610c4357610383565b8063a55ce9c514610b68578063abc0bb6e14610b70578063b431c0ea14610b9357610383565b80637c3125411161017c5780638da5cb5b116101565780638da5cb5b14610b1757806394c79f7414610b1f5780639f8a95ba14610b3c578063a0aad31c14610b6057610383565b80637c31254114610a845780637fe9b23d14610a8c578063856aae6c14610afa57610383565b80636ef5d841116101b85780636ef5d841146109505780637118d43114610a575780637243bc2c14610a5f57806379ba509714610a7c57610383565b80636309a10c146108bd57806367a280b2146108da57806369eaced2146108e257610383565b80632dd8afdb116102b85780634abdb44d1161025657806355585bce1161023057806355585bce1461088257806356c3da451461088a5780636132eba414610892578063614d08f8146108b557610383565b80634abdb44d146106f8578063517d60c61461070057806353a47bb71461085e57610383565b8063396e258e11610292578063396e258e1461065f57806342a28e211461067c57806348bf1971146106995780634a661850146106d557610383565b80632dd8afdb146106335780632e8d0b9e1461063b578063346cde511461065757610383565b80631ce00ba21161032557806322264567116102ff578063222645671461057d5780632366245e146105a05780632a647ab7146105a85780632be470901461061657610383565b80631ce00ba2146104a55780631f4b3401146104c857806320f2bf001461053657610383565b80631588e817116103615780631588e817146103b45780631627540c146103d1578063180113bc146103f75780631cba727c1461043757610383565b8063086dabd11461038857806312bde51414610392578063157c51d3146103ac575b600080fd5b610390610d96565b005b61039a610da0565b60408051918252519081900360200190f35b610390610dad565b610390600480360360208110156103ca57600080fd5b5035610e17565b610390600480360360208110156103e757600080fd5b50356001600160a01b0316610e82565b6104146004803603602081101561040d57600080fd5b5035610ede565b6040805192151583526001600160f81b0390911660208301528051918290030190f35b6103906004803603604081101561044d57600080fd5b810190602081018135600160201b81111561046757600080fd5b82018360208201111561047957600080fd5b803590602001918460208302840111600160201b8311171561049a57600080fd5b919350915035610f03565b610390600480360360408110156104bb57600080fd5b5080359060200135610f46565b610390600480360360208110156104de57600080fd5b810190602081018135600160201b8111156104f857600080fd5b82018360208201111561050a57600080fd5b803590602001918460208302840111600160201b8311171561052b57600080fd5b509092509050610f7e565b6105626004803603604081101561054c57600080fd5b50803590602001356001600160a01b0316610fba565b60408051921515835290151560208301528051918290030190f35b6103906004803603604081101561059357600080fd5b5080359060200135610fe3565b610414611029565b610390600480360360408110156105be57600080fd5b810190602081018135600160201b8111156105d857600080fd5b8201836020820111156105ea57600080fd5b803590602001918460208302840111600160201b8311171561060b57600080fd5b919350915035611042565b6103906004803603602081101561062c57600080fd5b5035611080565b6104146110ea565b610643611103565b604080519115158252519081900360200190f35b61041461112d565b6103906004803603602081101561067557600080fd5b5035611146565b6103906004803603602081101561069257600080fd5b50356111b1565b610390600480360360808110156106af57600080fd5b508035906001600160a01b036020820135169060408101351515906060013515156111c5565b610390600480360360408110156106eb57600080fd5b50803590602001356111df565b61039a611225565b6103906004803603608081101561071657600080fd5b810190602081018135600160201b81111561073057600080fd5b82018360208201111561074257600080fd5b803590602001918460208302840111600160201b8311171561076357600080fd5b919390929091602081019035600160201b81111561078057600080fd5b82018360208201111561079257600080fd5b803590602001918460208302840111600160201b831117156107b357600080fd5b919390929091602081019035600160201b8111156107d057600080fd5b8201836020820111156107e257600080fd5b803590602001918460208302840111600160201b8311171561080357600080fd5b919390929091602081019035600160201b81111561082057600080fd5b82018360208201111561083257600080fd5b803590602001918460208302840111600160201b8311171561085357600080fd5b509092509050611234565b610866611325565b604080516001600160a01b039092168252519081900360200190f35b610390611334565b61039a61139f565b610390600480360360408110156108a857600080fd5b50803590602001356113ad565b61039a6113b5565b610390600480360360208110156108d357600080fd5b50356113c8565b61039061140d565b610390600480360360208110156108f857600080fd5b810190602081018135600160201b81111561091257600080fd5b82018360208201111561092457600080fd5b803590602001918460208302840111600160201b8311171561094557600080fd5b509092509050611479565b6109be6004803603602081101561096657600080fd5b810190602081018135600160201b81111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111600160201b831117156109b357600080fd5b5090925090506114b5565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610a025781810151838201526020016109ea565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610a41578181015183820152602001610a29565b5050505090500194505050505060405180910390f35b6103906115de565b61041460048036036020811015610a7557600080fd5b50356115ee565b610390611613565b6103906116cf565b61039060048036036040811015610aa257600080fd5b810190602081018135600160201b811115610abc57600080fd5b820183602082011115610ace57600080fd5b803590602001918460208302840111600160201b83111715610aef57600080fd5b9193509150356116df565b61039060048036036020811015610b1057600080fd5b503561171d565b61086661173e565b61039060048036036020811015610b3557600080fd5b503561174d565b610b44611792565b604080516001600160f81b039092168252519081900360200190f35b610390611797565b61039a6117af565b61039060048036036040811015610b8657600080fd5b50803590602001356117c3565b61064360048036036020811015610ba957600080fd5b5035611809565b6109be60048036036020811015610bc657600080fd5b810190602081018135600160201b811115610be057600080fd5b820183602082011115610bf257600080fd5b803590602001918460208302840111600160201b83111715610c1357600080fd5b509092509050611831565b610643611952565b61039060048036036020811015610c3c57600080fd5b503561195b565b61039060048036036020811015610c5957600080fd5b810190602081018135600160201b811115610c7357600080fd5b820183602082011115610c8557600080fd5b803590602001918460208302840111600160201b83111715610ca657600080fd5b50909250905061196c565b61039060048036036020811015610cc757600080fd5b50356119a8565b6109be60048036036020811015610ce457600080fd5b810190602081018135600160201b811115610cfe57600080fd5b820183602082011115610d1057600080fd5b803590602001918460208302840111600160201b83111715610d3157600080fd5b509092509050611a1d565b61041460048036036020811015610d5257600080fd5b5035611b3e565b61039a611b63565b610390611b72565b61039a611bde565b61039060048036036020811015610d8757600080fd5b5035611bea565b610414611c2f565b610d9e611c48565b565b6553797374656d60d01b81565b610dbf6553797374656d60d01b611d27565b6003805460ff191690819055604080516101009092046001600160f81b03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b610e2b6745786368616e676560c01b611d84565b600580546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b610e8a611ddc565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60096020526000908152604090205460ff81169061010090046001600160f81b031682565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611e25915050565b505050565b610f4e611c48565b610f56611ed3565b610f5f82611f15565b610f6881611f15565b610f7182611f63565b610f7a81611f63565b5050565b610f7a828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611fb192505050565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061101357fe5b602002602001018181525050610f418183612059565b60045460ff81169061010090046001600160f81b031682565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612059915050565b611093664675747572657360c81b611d84565b600680546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fbb77bf6af5bb933d0fb912130167ce25b6debb9c728f232ee4e7c181f16c8e0c9181900360200190a150565b60035460ff81169061010090046001600160f81b031682565b60035460009060ff168015611128575060035461010090046001600160f81b03166001145b905090565b60065460ff81169061010090046001600160f81b031682565b61115a6749737375616e636560c01b611d84565b600480546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b6111b9611c48565b6111c281611f63565b50565b6111cd611ddc565b6111d984848484612101565b50505050565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061120f57fe5b602002602001018181525050610f418183611e25565b6749737375616e636560c01b81565b61123c611ddc565b868514801561124a57508483145b801561125557508281145b6112a6576040805162461bcd60e51b815260206004820152601e60248201527f496e707574206172726179206c656e67746873206d757374206d617463680000604482015290519081900360640190fd5b60005b8781101561131a576113128989838181106112c057fe5b905060200201358888848181106112d357fe5b905060200201356001600160a01b03168787858181106112ef57fe5b90506020020135151586868681811061130457fe5b905060200201351515612101565b6001016112a9565b505050505050505050565b6001546001600160a01b031681565b611347664675747572657360c81b611d27565b6006805460ff191690819055604080516101009092046001600160f81b03168252517fcbdc17547b5be7fb4a78666d4253509496561d5b1088a019865bd70d7e248fa6916020908290030190a16006805460ff169055565b664675747572657360c81b81565b610f68611c48565b6b53797374656d53746174757360a01b81565b6040805160018082528183019092526060916020808301908038833901905050905081816000815181106113f857fe5b602002602001018181525050610f7a81612247565b6114216749737375616e636560c01b611d27565b6004805460ff191690819055604080516101009092046001600160f81b03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b610f7a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061224792505050565b606080838390506040519080825280602002602001820160405280156114e5578160200160208202803883390190505b50604080518581526020808702820101909152909250838015611512578160200160208202803883390190505b50905060005b838110156115d6576009600086868481811061153057fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff1683828151811061156257fe5b911515602092830291909101909101526009600086868481811061158257fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b03168282815181106115c357fe5b6020908102919091010152600101611518565b509250929050565b6115e6611c48565b610d9e611ed3565b60086020526000908152604090205460ff81169061010090046001600160f81b031682565b6001546001600160a01b0316331461165c5760405162461bcd60e51b815260040180806020018281038252603581526020018061251d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6116d7611c48565b610d9e6122f5565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612337915050565b611725611c48565b61172d611ed3565b6117356123dd565b6111c28161241f565b6000546001600160a01b031681565b60408051600180825281830190925260609160208083019080388339019050509050818160008151811061177d57fe5b602002602001018181525050610f7a81612476565b600181565b61179f611c48565b6117a7611ed3565b610d9e6123dd565b6c53796e746845786368616e676560981b81565b6040805160018082528183019092526060916020808301908038833901905050905082816000815181106117f357fe5b602002602001018181525050610f418183612337565b60035460009060ff168061182b575060008281526008602052604090205460ff165b92915050565b60608083839050604051908082528060200260200182016040528015611861578160200160208202803883390190505b5060408051858152602080870282010190915290925083801561188e578160200160208202803883390190505b50905060005b838110156115d657600860008686848181106118ac57fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff168382815181106118de57fe5b91151560209283029190910190910152600860008686848181106118fe57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b031682828151811061193f57fe5b6020908102919091010152600101611894565b60035460ff1690565b611963611c48565b6111c281611f15565b610f7a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061247692505050565b6119ba6553797374656d60d01b611d84565b600380546001600160f81b0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b60608083839050604051908082528060200260200182016040528015611a4d578160200160208202803883390190505b50604080518581526020808702820101909152909250838015611a7a578160200160208202803883390190505b50905060005b838110156115d65760076000868684818110611a9857fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110611aca57fe5b9115156020928302919091019091015260076000868684818110611aea57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110611b2b57fe5b6020908102919091010152600101611a80565b60076020526000908152604090205460ff81169061010090046001600160f81b031682565b6745786368616e676560c01b81565b611b866745786368616e676560c01b611d27565b6005805460ff191690819055604080516101009092046001600160f81b03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b640a6f2dce8d60db1b81565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110611c1a57fe5b602002602001018181525050610f7a81611fb1565b60055460ff81169061010090046001600160f81b031682565b60035460ff8116159061010090046001600160f81b0316600114611c84576040518060600160405280602c8152602001612659602c9139611c9e565b6040518060600160405280603e8152602001612685603e91395b906111c25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cec578181015183820152602001611cd4565b50505050905090810190601f168015611d195780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000818152600260209081526040808320338452909152902054610100900460ff166111c25760405162461bcd60e51b81526004018080602001828103825260218152602001806126386021913960400191505060405180910390fd5b600081815260026020908152604080832033845290915290205460ff166111c25760405162461bcd60e51b81526004018080602001828103825260218152602001806126386021913960400191505060405180910390fd5b6000546001600160a01b03163314610d9e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806125de602f913960400191505060405180910390fd5b611e3e6c53796e746845786368616e676560981b611d84565b60005b8251811015610f41576000838281518110611e5857fe5b60209081029190910181015160008181526007835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507fcea0da706e9f2a6a1cb56cdab42ac548791339f1710deadf814f15fc0a6a7114928290030190a150600101611e41565b60055460ff1615610d9e5760405162461bcd60e51b815260040180806020018281038252602b81526020018061260d602b913960400191505060405180910390fd5b60008181526007602052604090205460ff16156111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061257d602e913960400191505060405180910390fd5b60008181526008602052604090205460ff16156111c25760405162461bcd60e51b81526004018080602001828103825260288152602001806126c36028913960400191505060405180910390fd5b611fc4664675747572657360c81b611d27565b60005b8151811015610f7a576000828281518110611fde57fe5b6020908102919091018101516000818152600983526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f250fcb5d34afaf9bc18ec9ca0bf709e0f2ecb8ae4d4a3a616c0bf54b2ddf53e6928290030190a1600090815260096020526040812055600101611fc7565b61206c664675747572657360c81b611d84565b60005b8251811015610f4157600083828151811061208657fe5b60209081029190910181015160008181526009835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507fcaa561b71353382b62092c429c14613b5db8f9c5f3a27cb51df16e51f350f8ca928290030190a15060010161206f565b6553797374656d60d01b84148061212257506749737375616e636560c01b84145b8061213757506745786368616e676560c01b84145b8061214b5750664675747572657360c81b84145b8061216557506c53796e746845786368616e676560981b84145b806121775750640a6f2dce8d60db1b84145b6121c8576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b6122606c53796e746845786368616e676560981b611d27565b60005b8151811015610f7a57600082828151811061227a57fe5b6020908102919091018101516000818152600783526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f91037f810fbf9c3c6d5573650d27de6b5e8d2187698822700d4524102472bc08928290030190a1600090815260076020526040812055600101612263565b60045460ff1615610d9e5760405162461bcd60e51b815260040180806020018281038252602b815260200180612552602b913960400191505060405180910390fd5b612348640a6f2dce8d60db1b611d84565b60005b8251811015610f4157600083828151811061236257fe5b60209081029190910181015160008181526008835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541928290030190a15060010161234b565b60065460ff1615610d9e5760405162461bcd60e51b81526004018080602001828103825260338152602001806125ab6033913960400191505060405180910390fd5b60008181526009602052604090205460ff16156111c2576040805162461bcd60e51b815260206004820152601060248201526f13585c9ad95d081cdd5cdc195b99195960821b604482015290519081900360640190fd5b612487640a6f2dce8d60db1b611d27565b60005b8151811015610f7a5760008282815181106124a157fe5b6020908102919091018101516000818152600883526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220928290030190a160009081526008602052604081205560010161248a56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697049737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e74682065786368616e67652073757370656e6465642e204f7065726174696f6e2070726f6869626974656446757475726573206d61726b657473206172652073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645265737472696374656420746f2061636365737320636f6e74726f6c206c69737453796e7468657469782069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e7468657469782069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e6420627953796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a265627a7a723158202225676251b5f53c6aeb0b703bd197b625c299226f79ad58e087f41a4b1e20ad64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"section","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"canSuspend","type":"bool"},{"indexed":false,"internalType":"bool","name":"canResume","type":"bool"}],"name":"AccessControlUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"ExchangeResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"ExchangeSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"marketKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"FuturesMarketResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"marketKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"FuturesMarketSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"FuturesResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"FuturesSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"IssuanceResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"IssuanceSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthExchangeResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthExchangeSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SystemResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SystemSuspended","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_EXCHANGE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_FUTURES","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_ISSUANCE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_SYNTH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_SYNTH_EXCHANGE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_SYSTEM","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SUSPENSION_REASON_UPGRADE","outputs":[{"internalType":"uint248","name":"","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"accessControl","outputs":[{"internalType":"bool","name":"canSuspend","type":"bool"},{"internalType":"bool","name":"canResume","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"futuresMarketSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"futuresSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"marketKeys","type":"bytes32[]"}],"name":"getFuturesMarketSuspensions","outputs":[{"internalType":"bool[]","name":"suspensions","type":"bool[]"},{"internalType":"uint256[]","name":"reasons","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"synths","type":"bytes32[]"}],"name":"getSynthExchangeSuspensions","outputs":[{"internalType":"bool[]","name":"exchangeSuspensions","type":"bool[]"},{"internalType":"uint256[]","name":"reasons","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"synths","type":"bytes32[]"}],"name":"getSynthSuspensions","outputs":[{"internalType":"bool[]","name":"suspensions","type":"bool[]"},{"internalType":"uint256[]","name":"reasons","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isSystemUpgrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issuanceSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"requireExchangeActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"requireExchangeBetweenSynthsAllowed","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"requireFuturesActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"marketKey","type":"bytes32"}],"name":"requireFuturesMarketActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"requireIssuanceActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"requireSynthActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"requireSynthExchangeActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"requireSynthsActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"requireSystemActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resumeExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"resumeFutures","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"marketKey","type":"bytes32"}],"name":"resumeFuturesMarket","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"marketKeys","type":"bytes32[]"}],"name":"resumeFuturesMarkets","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"resumeIssuance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"resumeSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"resumeSynthExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"resumeSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"resumeSynthsExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"resumeSystem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendFutures","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"marketKey","type":"bytes32"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendFuturesMarket","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"marketKeys","type":"bytes32[]"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendFuturesMarkets","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendIssuance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynthExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynthsExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSystem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthExchangeSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"synthSuspended","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"systemSuspended","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"systemSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"section","type":"bytes32"},{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"canSuspend","type":"bool"},{"internalType":"bool","name":"canResume","type":"bool"}],"name":"updateAccessControl","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"sections","type":"bytes32[]"},{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool[]","name":"canSuspends","type":"bool[]"},{"internalType":"bool[]","name":"canResumes","type":"bool[]"}],"name":"updateAccessControls","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0xd4ba3b8b574c2795ec994981815bdb6518da848579d169e419a906f4909ab8e1","urls":["bzz-raw://f1b100c21e7f590057d69e9a2a590dc9643369d060e4d3477021dd51bbeee5c9","dweb:/ipfs/QmQaij3wLXzj9aewLx9QwaWAUfNDu3UqTw12n9ZDTjbj2p"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SystemStatus.sol":"SystemStatus"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SystemStatus.sol":{"keccak256":"0xd4ba3b8b574c2795ec994981815bdb6518da848579d169e419a906f4909ab8e1","urls":["bzz-raw://f1b100c21e7f590057d69e9a2a590dc9643369d060e4d3477021dd51bbeee5c9","dweb:/ipfs/QmQaij3wLXzj9aewLx9QwaWAUfNDu3UqTw12n9ZDTjbj2p"]}},"version":1}},"EternalStorage":{"bytecode":"608060405234801561001057600080fd5b5060405161124b38038061124b8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506110a5806101a66000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104e9578063bdc963d814610506578063c9a52d2c14610523578063f58660661461059a576101a9565b8063a209a29c146104a1578063a77aa49e146104be578063aefc4ccb146104e1576101a9565b80638267a9ee116100d35780638267a9ee146104425780638da5cb5b1461045f5780639007127b1461046757806393fe424814610484576101a9565b806353a47bb7146104065780635a2bf25a1461040e57806379ba50971461043a576101a9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed2146102f057806344bfa56e146103155780634c77e5ba146103a757806352f445ca146103e0576101a9565b806325cf512d1461028d5780633562fd20146102b05780633cc1635c146102d3576101a9565b8063025ec81a146101ae578063043106c0146101dd5780630c55d925146101fc578063124f2418146102195780631627540c1461023657806317e7dd221461025c575b600080fd5b6101cb600480360360208110156101c457600080fd5b5035610611565b60408051918252519081900360200190f35b6101fa600480360360208110156101f357600080fd5b5035610623565b005b6101fa6004803603602081101561021257600080fd5b503561068a565b6101fa6004803603602081101561022f57600080fd5b50356106ed565b6101fa6004803603602081101561024c57600080fd5b50356001600160a01b0316610747565b6102796004803603602081101561027257600080fd5b50356107e4565b604080519115158252519081900360200190f35b6101fa600480360360408110156102a357600080fd5b50803590602001356107f9565b6101fa600480360360408110156102c657600080fd5b5080359060200135610854565b6101fa600480360360208110156102e957600080fd5b50356108af565b6101fa6004803603604081101561030657600080fd5b50803590602001351515610910565b6103326004803603602081101561032b57600080fd5b5035610979565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036c578181015183820152602001610354565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c4600480360360208110156103bd57600080fd5b5035610a1a565b604080516001600160a01b039092168252519081900360200190f35b6101fa600480360360208110156103f657600080fd5b50356001600160a01b0316610a35565b6103c4610ad2565b6101fa6004803603604081101561042457600080fd5b50803590602001356001600160a01b0316610ae1565b6101fa610b58565b6101fa6004803603602081101561045857600080fd5b5035610c14565b6103c4610c6e565b6101cb6004803603602081101561047d57600080fd5b5035610c7d565b6101fa6004803603602081101561049a57600080fd5b5035610c8f565b610332600480360360208110156104b757600080fd5b5035610ce9565b6101fa600480360360408110156104d457600080fd5b5080359060200135610d53565b6103c4610dae565b6101fa600480360360208110156104ff57600080fd5b5035610dbd565b6101cb6004803603602081101561051c57600080fd5b5035610e1d565b6101fa6004803603604081101561053957600080fd5b8135919081019060408101602082013564010000000081111561055b57600080fd5b82018360208201111561056d57600080fd5b8035906020019184600183028401116401000000008311171561058f57600080fd5b509092509050610e2f565b6101fa600480360360408110156105b057600080fd5b813591908101906040810160208201356401000000008111156105d257600080fd5b8201836020820111156105e457600080fd5b8035906020019184600183028401116401000000008311171561060657600080fd5b509092509050610e97565b60009081526007602052604090205490565b6002546001600160a01b0316331461066c5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146106d35760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60008181526006602052604081206106ea91610ef9565b50565b6002546001600160a01b031633146107365760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260076020526040812055565b6000546001600160a01b031633146107905760405162461bcd60e51b815260040180806020018281038252602f81526020018061100e602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108425760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461089d5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146108f85760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b031633146109595760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610a0e5780601f106109e357610100808354040283529160200191610a0e565b820191906000526020600020905b8154815290600101906020018083116109f157829003601f168201915b50505050509050919050565b6000908152600560205260409020546001600160a01b031690565b6000546001600160a01b03163314610a7e5760405162461bcd60e51b815260040180806020018281038252602f81526020018061100e602f913960400191505060405180910390fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b2a5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610ba15760405162461bcd60e51b8152600401808060200182810382526035815260200180610fd96035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610c5d5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610cd85760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610a0e5780601f106109e357610100808354040283529160200191610a0e565b6002546001600160a01b03163314610d9c5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6002546001600160a01b03163314610e065760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60008181526004602052604081206106ea91610ef9565b60009081526003602052604090205490565b6002546001600160a01b03163314610e785760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000838152600660205260409020610e91908383610f3d565b50505050565b6002546001600160a01b03163314610ee05760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000838152600460205260409020610e91908383610f3d565b50805460018160011615610100020316600290046000825580601f10610f1f57506106ea565b601f0160209004906000526020600020908101906106ea9190610fbb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f7e5782800160ff19823516178555610fab565b82800160010185558215610fab579182015b82811115610fab578235825591602001919060010190610f90565b50610fb7929150610fbb565b5090565b610fd591905b80821115610fb75760008155600101610fc1565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820890b88d06dd57d22f874f21510bda6a30f879ac72ddc010d8797db5e588518a564736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x043106c0"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3cc1635c"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x124f2418"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0c55d925"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8267a9ee"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xba69fcaa"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x93fe4248"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getAddressValue","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4c77e5ba"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBooleanValue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x17e7dd22"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBytes32Value","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x025ec81a"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBytesValue","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x44bfa56e"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getIntValue","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9007127b"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getStringValue","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa209a29c"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getUIntValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbdc963d8"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"address","name":"value","type":"address"}],"name":"setAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5a2bf25a"},{"constant":false,"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3eba9ed2"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"setBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x25cf512d"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bytes","name":"value","type":"bytes"}],"name":"setBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc9a52d2c"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"int256","name":"value","type":"int256"}],"name":"setIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa77aa49e"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"string","name":"value","type":"string"}],"name":"setStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf5866066"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3562fd20"}]},"ReadProxy":{"bytecode":"608060405234801561001057600080fd5b506040516104cc3803806104cc8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506103d2806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461008657806353a47bb7146100ae578063776d1a01146100d257806379ba5097146100f85780638da5cb5b14610100578063d4b8399214610108575b36600080376000803660006002545afa3d6000803e80610081573d6000fd5b3d6000f35b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b0316610110565b005b6100b66101ad565b604080516001600160a01b039092168252519081900360200190f35b6100ac600480360360208110156100e857600080fd5b50356001600160a01b03166101bc565b6100ac61025f565b6100b661031b565b6100b661032a565b6000546001600160a01b031633146101595760405162461bcd60e51b815260040180806020018281038252602f81526020018061036f602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6000546001600160a01b031633146102055760405162461bcd60e51b815260040180806020018281038252602f81526020018061036f602f913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102a85760405162461bcd60e51b815260040180806020018281038252603581526020018061033a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03168156fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820b878c0a58d67eea0d6a9cbef1e4c039388a1193f274de3a7ab86e4db4f087a2464736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTarget","type":"address"}],"name":"TargetUpdated","type":"event","signature":"0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"internalType":"address","name":"_target","type":"address"}],"name":"setTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x776d1a01"},{"constant":true,"inputs":[],"name":"target","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd4b83992"}]},"SynthUtil":{"bytecode":"608060405234801561001057600080fd5b506040516113693803806113698339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055611304806100656000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630120be331461006757806327fe55a6146100a5578063492dbcdd14610146578063a827bf481461022c578063d18ab37614610252578063eade6d2d14610276575b600080fd5b6100936004803603604081101561007d57600080fd5b506001600160a01b0381351690602001356102ce565b60408051918252519081900360200190f35b6100ad61054d565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100f15781810151838201526020016100d9565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610130578181015183820152602001610118565b5050505090500194505050505060405180910390f35b61014e6107b9565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561019657818101518382015260200161017e565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101d55781810151838201526020016101bd565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156102145781810151838201526020016101fc565b50505050905001965050505050505060405180910390f35b61014e6004803603602081101561024257600080fd5b50356001600160a01b0316610b32565b61025a610ec9565b604080516001600160a01b039092168252519081900360200190f35b61027e610ed8565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102ba5781810151838201526020016102a2565b505050509050019250505060405180910390f35b6000806102d9611182565b905060006102e561123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561032257600080fd5b505afa158015610336573d6000803e3d6000fd5b505050506040513d602081101561034c57600080fd5b5051905060005b81811015610543576000846001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103a157600080fd5b505afa1580156103b5573d6000803e3d6000fd5b505050506040513d60208110156103cb57600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038087169263654a60ac929185169163dbd06c85916004808301926020929190829003018186803b15801561041b57600080fd5b505afa15801561042f573d6000803e3d6000fd5b505050506040513d602081101561044557600080fd5b5051604080516370a0823160e01b81526001600160a01b038d811660048301529151918616916370a0823191602480820192602092909190829003018186803b15801561049157600080fd5b505afa1580156104a5573d6000803e3d6000fd5b505050506040513d60208110156104bb57600080fd5b5051604080516001600160e01b031960e086901b16815260048101939093526024830191909152604482018b9052516064808301926020929190829003018186803b15801561050957600080fd5b505afa15801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b5051959095019450600101610353565b5050505092915050565b606080606061055a611182565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561059257600080fd5b505afa1580156105a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156105cf57600080fd5b81019080805160405193929190846401000000008211156105ef57600080fd5b90830190602082018581111561060457600080fd5b825186602082028301116401000000008211171561062157600080fd5b82525081516020918201928201910280838360005b8381101561064e578181015183820152602001610636565b5050505090500160405250505090508061066661123f565b6001600160a01b031663c2c8a676836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156106c45781810151838201526020016106ac565b505050509050019250505060006040518083038186803b1580156106e757600080fd5b505afa1580156106fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561072457600080fd5b810190808051604051939291908464010000000082111561074457600080fd5b90830190602082018581111561075957600080fd5b825186602082028301116401000000008211171561077657600080fd5b82525081516020918201928201910280838360005b838110156107a357818101518382015260200161078b565b5050505090500160405250505092509250509091565b606080606060006107c8611182565b905060006107d461123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561081157600080fd5b505afa158015610825573d6000803e3d6000fd5b505050506040513d602081101561083b57600080fd5b505160408051828152602080840282010190915290915060609082801561086c578160200160208202803883390190505b50905060608260405190808252806020026020018201604052801561089b578160200160208202803883390190505b5090506060836040519080825280602002602001820160405280156108ca578160200160208202803883390190505b50905060005b84811015610b22576000876001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d602081101561094857600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b15801561098e57600080fd5b505afa1580156109a2573d6000803e3d6000fd5b505050506040513d60208110156109b857600080fd5b505185518690849081106109c857fe5b602002602001018181525050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d6020811015610a3757600080fd5b50518451859084908110610a4757fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610a6e57fe5b6020026020010151868581518110610a8257fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015610ad457600080fd5b505afa158015610ae8573d6000803e3d6000fd5b505050506040513d6020811015610afe57600080fd5b50518351849084908110610b0e57fe5b6020908102919091010152506001016108d0565b5091975095509350505050909192565b60608060606000610b41611182565b90506000610b4d61123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8a57600080fd5b505afa158015610b9e573d6000803e3d6000fd5b505050506040513d6020811015610bb457600080fd5b5051604080518281526020808402820101909152909150606090828015610be5578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610c14578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610c43578160200160208202803883390190505b50905060005b84811015610eb8576000876001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c9757600080fd5b505afa158015610cab573d6000803e3d6000fd5b505050506040513d6020811015610cc157600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b158015610d0757600080fd5b505afa158015610d1b573d6000803e3d6000fd5b505050506040513d6020811015610d3157600080fd5b50518551869084908110610d4157fe5b602002602001018181525050806001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610da357600080fd5b505afa158015610db7573d6000803e3d6000fd5b505050506040513d6020811015610dcd57600080fd5b50518451859084908110610ddd57fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610e0457fe5b6020026020010151868581518110610e1857fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015610e6a57600080fd5b505afa158015610e7e573d6000803e3d6000fd5b505050506040513d6020811015610e9457600080fd5b50518351849084908110610ea457fe5b602090810291909101015250600101610c49565b509199909850909650945050505050565b6000546001600160a01b031681565b60606000610ee4611182565b90506000610ef061123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015610f2d57600080fd5b505afa158015610f41573d6000803e3d6000fd5b505050506040513d6020811015610f5757600080fd5b5051604080518281526020808402820101909152909150606090828015610f88578160200160208202803883390190505b50905060005b82811015611179576000856001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610fdc57600080fd5b505afa158015610ff0573d6000803e3d6000fd5b505050506040513d602081101561100657600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038088169263af3aea86929185169163dbd06c85916004808301926020929190829003018186803b15801561105657600080fd5b505afa15801561106a573d6000803e3d6000fd5b505050506040513d602081101561108057600080fd5b5051604080516001600160e01b031960e085901b1681526004810192909252516024808301926020929190829003018186803b1580156110bf57600080fd5b505afa1580156110d3573d6000803e3d6000fd5b505050506040513d60208110156110e957600080fd5b50511561117057806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561112957600080fd5b505afa15801561113d573d6000803e3d6000fd5b505050506040513d602081101561115357600080fd5b5051835184908490811061116357fe5b6020026020010181815250505b50600101610f8e565b50935050505090565b600080546040805163dacb2d0160e01b8152680a6f2dce8d0cae8d2f60bb1b600482015260248101829052601960448201527f4d697373696e672053796e746865746978206164647265737300000000000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561120e57600080fd5b505afa158015611222573d6000803e3d6000fd5b505050506040513d602081101561123857600080fd5b5051905090565b600080546040805163dacb2d0160e01b81526c45786368616e6765526174657360981b600482015260248101829052601d60448201527f4d697373696e672045786368616e676552617465732061646472657373000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561120e57600080fdfea265627a7a723158209e7ba686f73798746736e8ff9d170da8215f2ad60eb6b3c4ba5c14e221d4140064736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"constant":true,"inputs":[],"name":"addressResolverProxy","outputs":[{"internalType":"contract IAddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd18ab376"},{"constant":true,"inputs":[],"name":"frozenSynths","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeade6d2d"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"synthsBalances","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa827bf48"},{"constant":true,"inputs":[],"name":"synthsRates","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x27fe55a6"},{"constant":true,"inputs":[],"name":"synthsTotalSupplies","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x492dbcdd"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"totalSynthsInKey","outputs":[{"internalType":"uint256","name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0120be33"}]},"DappMaintenance":{"bytecode":"60806040526001805461ffff60a01b1916905534801561001e57600080fd5b5060405161078a38038061078a8339818101604052602081101561004157600080fd5b5051806001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383169081178255604080519283526020830191909152805160008051602061076a8339815191529281900390910190a1506001600160a01b038116610141576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383169081178255604080519283526020830191909152805160008051602061076a8339815191529281900390910190a1506105d3806101976000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b1461010b57806393c2212514610113578063b33a5a001461012f578063c65a0ea21461014e578063ee02f27c1461015657610093565b80631627540c146100985780631d008652146100c057806353a47bb7146100df57806379ba509714610103575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610175565b005b6100be600480360360208110156100d657600080fd5b50351515610212565b6100e76102f2565b604080516001600160a01b039092168252519081900360200190f35b6100be610301565b6100e76103bd565b61011b6103cc565b604080519115158252519081900360200190f35b6100be6004803603602081101561014557600080fd5b503515156103dc565b61011b610483565b6100be6004803603602081101561016c57600080fd5b50351515610493565b6000546001600160a01b031633146101be5760405162461bcd60e51b815260040180806020018281038252602f815260200180610570602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000546001600160a01b0316331461025b5760405162461bcd60e51b815260040180806020018281038252602f815260200180610570602f913960400191505060405180910390fd5b6001805460ff60a01b1916600160a01b8315159081029190911760ff60a81b1916600160a81b82021790915560408051918252517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32916020908290030190a160408051821515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b0316331461034a5760405162461bcd60e51b815260040180806020018281038252603581526020018061053b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600154600160a81b900460ff1681565b6000546001600160a01b031633146104255760405162461bcd60e51b815260040180806020018281038252602f815260200180610570602f913960400191505060405180910390fd5b60018054821515600160a01b90810260ff60a01b199092169190911791829055604080519190920460ff161515815290517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea329181900360200190a150565b600154600160a01b900460ff1681565b6000546001600160a01b031633146104dc5760405162461bcd60e51b815260040180806020018281038252602f815260200180610570602f913960400191505060405180910390fd5b60018054821515600160a81b90810260ff60a81b199092169190911791829055604080519190920460ff161515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a15056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820c1158584fb5d71702e6078c73094c7f037a466b9db7562e0acacb0e35c65623064736f6c63430005100032b532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"SXMaintenance","type":"event","signature":"0x5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c6"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"StakingMaintenance","type":"event","signature":"0x628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"isPausedSX","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x93c22125"},{"constant":true,"inputs":[],"name":"isPausedStaking","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc65a0ea2"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setMaintenanceModeAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1d008652"},{"constant":false,"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setMaintenanceModeSX","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xee02f27c"},{"constant":false,"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setMaintenanceModeStaking","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb33a5a00"}]},"FlexibleStorage":{"bytecode":"608060405234801561001057600080fd5b506040516127833803806127838339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561271e806100656000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638ca0adaf116100f9578063c89eb56211610097578063d994502d11610071578063d994502d146109c2578063f7833c5d146109f9578063f9c39d2f14610a1c578063fdfc4c1314610ae1576101c3565b8063c89eb562146108b7578063d658d2e91461097c578063d71a9b0114610999576101c3565b8063ab15985d116100d3578063ab15985d146106e5578063b67fa7ed146107aa578063c13a2b0c1461081f578063c4f610ed14610894576101c3565b80638ca0adaf1461062a5780638f6b95a31461069f5780639ee5955a146106c2576101c3565b806335ab2708116101665780634dca0978116101405780634dca0978146105345780635bda91e2146105665780636a59e495146105915780638408a5e5146105b5576101c3565b806335ab2708146104215780633bd6ad89146104445780633f28a6fc14610509576101c3565b80631625e3ef116101a25780631625e3ef1461037d57806318f662ed146103a05780631d5b277f146103c357806323257c2b146103ec576101c3565b80624b62d6146101c857806303cdc017146101f3578063142a391e146102b8575b600080fd5b6101f1600480360360608110156101de57600080fd5b5080359060208101359060400135610b04565b005b6101f16004803603606081101561020957600080fd5b81359190810190604081016020820135600160201b81111561022a57600080fd5b82018360208201111561023c57600080fd5b803590602001918460208302840111600160201b8311171561025d57600080fd5b919390929091602081019035600160201b81111561027a57600080fd5b82018360208201111561028c57600080fd5b803590602001918460208302840111600160201b831117156102ad57600080fd5b509092509050610bf4565b61032d600480360360408110156102ce57600080fd5b81359190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b509092509050610d60565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610369578181015183820152602001610351565b505050509050019250505060405180910390f35b6101f16004803603604081101561039357600080fd5b5080359060200135610e07565b6101f1600480360360408110156103b657600080fd5b5080359060200135610f7b565b6101f1600480360360608110156103d957600080fd5b50803590602081013590604001356110e4565b61040f6004803603604081101561040257600080fd5b50803590602001356111cd565b60408051918252519081900360200190f35b6101f16004803603604081101561043757600080fd5b50803590602001356111f4565b6101f16004803603606081101561045a57600080fd5b81359190810190604081016020820135600160201b81111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460208302840111600160201b831117156104ae57600080fd5b919390929091602081019035600160201b8111156104cb57600080fd5b8201836020820111156104dd57600080fd5b803590602001918460208302840111600160201b831117156104fe57600080fd5b50909250905061135d565b6101f16004803603606081101561051f57600080fd5b508035906020810135906040013515156114c8565b6101f16004803603606081101561054a57600080fd5b50803590602081013590604001356001600160a01b03166115b1565b6101f16004803603606081101561057c57600080fd5b5080359060208101359060400135151561169a565b61059961184c565b604080516001600160a01b039092168252519081900360200190f35b61032d600480360360408110156105cb57600080fd5b81359190810190604081016020820135600160201b8111156105ec57600080fd5b8201836020820111156105fe57600080fd5b803590602001918460208302840111600160201b8311171561061f57600080fd5b50909250905061185b565b61032d6004803603604081101561064057600080fd5b81359190810190604081016020820135600160201b81111561066157600080fd5b82018360208201111561067357600080fd5b803590602001918460208302840111600160201b8311171561069457600080fd5b5090925090506118f7565b6101f1600480360360408110156106b557600080fd5b50803590602001356119b3565b610599600480360360408110156106d857600080fd5b5080359060200135611b32565b6101f1600480360360608110156106fb57600080fd5b81359190810190604081016020820135600160201b81111561071c57600080fd5b82018360208201111561072e57600080fd5b803590602001918460208302840111600160201b8311171561074f57600080fd5b919390929091602081019035600160201b81111561076c57600080fd5b82018360208201111561077e57600080fd5b803590602001918460208302840111600160201b8311171561079f57600080fd5b509092509050611b62565b61032d600480360360408110156107c057600080fd5b81359190810190604081016020820135600160201b8111156107e157600080fd5b8201836020820111156107f357600080fd5b803590602001918460208302840111600160201b8311171561081457600080fd5b509092509050611cc4565b61032d6004803603604081101561083557600080fd5b81359190810190604081016020820135600160201b81111561085657600080fd5b82018360208201111561086857600080fd5b803590602001918460208302840111600160201b8311171561088957600080fd5b509092509050611d60565b61040f600480360360408110156108aa57600080fd5b5080359060200135611e0e565b6101f1600480360360608110156108cd57600080fd5b81359190810190604081016020820135600160201b8111156108ee57600080fd5b82018360208201111561090057600080fd5b803590602001918460208302840111600160201b8311171561092157600080fd5b919390929091602081019035600160201b81111561093e57600080fd5b82018360208201111561095057600080fd5b803590602001918460208302840111600160201b8311171561097157600080fd5b509092509050611e35565b61040f6004803603602081101561099257600080fd5b5035611f97565b6101f1600480360360608110156109af57600080fd5b5080359060208101359060400135611fa9565b6109e5600480360360408110156109d857600080fd5b5080359060200135612092565b604080519115158252519081900360200190f35b61040f60048036036040811015610a0f57600080fd5b50803590602001356120bc565b6101f160048036036060811015610a3257600080fd5b81359190810190604081016020820135600160201b811115610a5357600080fd5b820183602082011115610a6557600080fd5b803590602001918460208302840111600160201b83111715610a8657600080fd5b919390929091602081019035600160201b811115610aa357600080fd5b820183602082011115610ab557600080fd5b803590602001918460208302840111600160201b83111715610ad657600080fd5b5090925090506120e3565b6101f160048036036040811015610af757600080fd5b5080359060200135612247565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610b6d57600080fd5b505afa158015610b81573d6000803e3d6000fd5b505050506040513d6020811015610b9757600080fd5b505190506001600160a01b0381163314610be25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed8585856123b0565b5050505050565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610c5d57600080fd5b505afa158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505190506001600160a01b0381163314610cd25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314610d14576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657610d4e88888884818110610d2f57fe5b90506020020135878785818110610d4257fe5b90506020020135612421565b600101610d17565b5050505050505050565b60608083839050604051908082528060200260200182016040528015610d90578160200160208202803883390190505b506000868152600160209081526040808320548352600390915281209192505b84811015610dfc57816000878784818110610dc757fe5b90506020020135815260200190815260200160002054838281518110610de957fe5b6020908102919091010152600101610db0565b509095945050505050565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b505190506001600160a01b0381163314610ee55760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526005825280832086845282529182902054825187815291820186905260ff168015158284015291517f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c9181900360600190a15050506000918252600160209081526040808420548452600582528084209284529190529020805460ff19169055565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b505190506001600160a01b03811633146110595760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526002825280832086845282529182902054825187815291820186905281830181905291517f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d46629181900360600190a1505050600091825260016020908152604080842054845260028252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561114d57600080fd5b505afa158015611161573d6000803e3d6000fd5b505050506040513d602081101561117757600080fd5b505190506001600160a01b03811633146111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612421565b60009182526001602090815260408084205484526002825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d602081101561128757600080fd5b505190506001600160a01b03811633146112d25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526006825280832086845282529182902054825187815291820186905281830181905291517f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd939181900360600190a1505050600091825260016020908152604080842054845260068252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156113c657600080fd5b505afa1580156113da573d6000803e3d6000fd5b505050506040513d60208110156113f057600080fd5b505190506001600160a01b038116331461143b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b84831461147d576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d56576114c08888888481811061149857fe5b905060200201358787858181106114ab57fe5b905060200201356001600160a01b0316612492565b600101611480565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561153157600080fd5b505afa158015611545573d6000803e3d6000fd5b505050506040513d602081101561155b57600080fd5b505190506001600160a01b03811633146115a65760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561251b565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561161a57600080fd5b505afa15801561162e573d6000803e3d6000fd5b505050506040513d602081101561164457600080fd5b505190506001600160a01b038116331461168f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612492565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561170357600080fd5b505afa158015611717573d6000803e3d6000fd5b505050506040513d602081101561172d57600080fd5b505190506001600160a01b03811633146117785760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000858152600160205260409020546117d8576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206d69677261746520656d70747920636f6e7472616374000000604482015290519081900360640190fd5b600085815260016020526040808220548683529120558215611804576000858152600160205260408120555b60408051868152602081018690528415158183015290517fa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c9181900360600190a15050505050565b6000546001600160a01b031681565b6060808383905060405190808252806020026020018201604052801561188b578160200160208202803883390190505b506000868152600160209081526040808320548352600690915281209192505b84811015610dfc578160008787848181106118c257fe5b905060200201358152602001908152602001600020548382815181106118e457fe5b60209081029190910101526001016118ab565b60608083839050604051908082528060200260200182016040528015611927578160200160208202803883390190505b506000868152600160209081526040808320548352600490915281209192505b84811015610dfc5781600087878481811061195e57fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b031683828151811061199357fe5b6001600160a01b0390921660209283029190910190910152600101611947565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b505190506001600160a01b0381163314611a915760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000848152600160209081526040808320548352600482528083208684528252918290205482518781529182018690526001600160a01b031681830181905291517fec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf669181900360600190a1505050600091825260016020908152604080842054845260048252808420928452919052902080546001600160a01b0319169055565b6000918252600160209081526040808420548452600482528084209284529190529020546001600160a01b031690565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611bcb57600080fd5b505afa158015611bdf573d6000803e3d6000fd5b505050506040513d6020811015611bf557600080fd5b505190506001600160a01b0381163314611c405760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611c82576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611cbc88888884818110611c9d57fe5b90506020020135878785818110611cb057fe5b9050602002013561259a565b600101611c85565b60608083839050604051908082528060200260200182016040528015611cf4578160200160208202803883390190505b506000868152600160209081526040808320548352600290915281209192505b84811015610dfc57816000878784818110611d2b57fe5b90506020020135815260200190815260200160002054838281518110611d4d57fe5b6020908102919091010152600101611d14565b60608083839050604051908082528060200260200182016040528015611d90578160200160208202803883390190505b506000868152600160209081526040808320548352600590915281209192505b84811015610dfc57816000878784818110611dc757fe5b90506020020135815260200190815260200160002060009054906101000a900460ff16838281518110611df657fe5b91151560209283029190910190910152600101611db0565b60009182526001602090815260408084205484526003825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611e9e57600080fd5b505afa158015611eb2573d6000803e3d6000fd5b505050506040513d6020811015611ec857600080fd5b505190506001600160a01b0381163314611f135760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611f55576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611f8f88888884818110611f7057fe5b90506020020135878785818110611f8357fe5b905060200201356123b0565b600101611f58565b60016020526000908152604090205481565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b505190506001600160a01b03811633146120875760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561259a565b60009182526001602090815260408084205484526005825280842092845291905290205460ff1690565b60009182526001602090815260408084205484526006825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561214c57600080fd5b505afa158015612160573d6000803e3d6000fd5b505050506040513d602081101561217657600080fd5b505190506001600160a01b03811633146121c15760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314612203576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d565761223f8888888481811061221e57fe5b9050602002013587878581811061223157fe5b90506020020135151561251b565b600101612206565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156122b057600080fd5b505afa1580156122c4573d6000803e3d6000fd5b505050506040513d60208110156122da57600080fd5b505190506001600160a01b03811633146123255760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526003825280832086845282529182902054825187815291820186905281830181905291517f78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae9181900360600190a1505050600091825260016020908152604080842054845260038252808420928452919052812055565b80600660006123be8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a952809181900360600190a1505050565b806002600061242f8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c99181900360600190a1505050565b80600460006124a08661260b565b815260208082019290925260409081016000908120868252835281902080546001600160a01b0319166001600160a01b0394851617905580518681529182018590529183168183015290517f524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365916060908290030190a1505050565b80600560006125298661260b565b8152602080820192909252604090810160009081208682528352819020805460ff19169315159390931790925581518581529081018490528215158183015290517f9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b916060908290030190a1505050565b80600360006125a88661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c9181900360600190a1505050565b6000818152600160205260408120548061266d5750604080513360601b60208083019190915260348201859052436054808401919091528351808403909101815260749092018352815191810191909120600085815260019092529190208190555b9291505056fe43616e6e6f742066696e6420636f6e747261637420696e2041646472657373205265736f6c76657243616e206f6e6c7920626520696e766f6b65642062792074686520636f6e6669677572656420636f6e7472616374496e707574206c656e67746873206d757374206d617463680000000000000000a265627a7a72315820bdee8814580757614c4504a1be30463b164f9dfaa045b4dc6a6b21d80306408d64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"fromContractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"toContractName","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"removeAccessFromPreviousContract","type":"bool"}],"name":"KeyMigrated","type":"event","signature":"0xa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"address","name":"value","type":"address"}],"name":"ValueDeletedAddress","type":"event","signature":"0xec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf66"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"ValueDeletedBool","type":"event","signature":"0x321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"ValueDeletedBytes32","type":"event","signature":"0x1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd93"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"int256","name":"value","type":"int256"}],"name":"ValueDeletedInt","type":"event","signature":"0x78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ValueDeletedUInt","type":"event","signature":"0x8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d4662"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"address","name":"value","type":"address"}],"name":"ValueSetAddress","type":"event","signature":"0x524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"ValueSetBool","type":"event","signature":"0x9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"ValueSetBytes32","type":"event","signature":"0x961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a95280"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"int256","name":"value","type":"int256"}],"name":"ValueSetInt","type":"event","signature":"0x0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ValueSetUInt","type":"event","signature":"0x60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c9"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8f6b95a3"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBoolValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1625e3ef"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x35ab2708"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xfdfc4c13"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x18f662ed"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getAddressValue","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9ee5955a"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getAddressValues","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8ca0adaf"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBoolValue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd994502d"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getBoolValues","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc13a2b0c"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBytes32Value","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf7833c5d"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getBytes32Values","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8408a5e5"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getIntValue","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc4f610ed"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getIntValues","outputs":[{"internalType":"int256[]","name":"","type":"int256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x142a391e"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getUIntValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x23257c2b"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getUIntValues","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb67fa7ed"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"hashes","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd658d2e9"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"fromContractName","type":"bytes32"},{"internalType":"bytes32","name":"toContractName","type":"bytes32"},{"internalType":"bool","name":"removeAccessFromPreviousContract","type":"bool"}],"name":"migrateContractKey","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5bda91e2"},{"constant":true,"inputs":[],"name":"resolverProxy","outputs":[{"internalType":"contract IAddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6a59e495"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"address","name":"value","type":"address"}],"name":"setAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4dca0978"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"address[]","name":"values","type":"address[]"}],"name":"setAddressValues","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3bd6ad89"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBoolValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3f28a6fc"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"bool[]","name":"values","type":"bool[]"}],"name":"setBoolValues","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf9c39d2f"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"setBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x004b62d6"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"name":"setBytes32Values","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc89eb562"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"int256","name":"value","type":"int256"}],"name":"setIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd71a9b01"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"int256[]","name":"values","type":"int256[]"}],"name":"setIntValues","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xab15985d"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1d5b277f"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"setUIntValues","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x03cdc017"}],"source":{"keccak256":"0x952f7c2f536ec424f53fc741cb4384b5d9ea94934de777ead382bf84e3c1e757","urls":["bzz-raw://c6ece5e5b14079110f32d446649475b7df647ba879552b11ba0af419830e3874","dweb:/ipfs/QmdY783nbqCJLiadqPa5TUmsqhNCbw7GyPaMKnZ15eRi7p"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"FlexibleStorage.sol":"FlexibleStorage"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"FlexibleStorage.sol":{"keccak256":"0x952f7c2f536ec424f53fc741cb4384b5d9ea94934de777ead382bf84e3c1e757","urls":["bzz-raw://c6ece5e5b14079110f32d446649475b7df647ba879552b11ba0af419830e3874","dweb:/ipfs/QmdY783nbqCJLiadqPa5TUmsqhNCbw7GyPaMKnZ15eRi7p"]}},"version":1}},"SystemSettings":{"bytecode":"60806040523480156200001157600080fd5b506040516200570838038062005708833981810160405260408110156200003757600080fd5b5080516020909101518080836001600160a01b0381166200009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15080600260006101000a8154816001600160a01b0302191690836001600160a01b03160217905550505073__$6a024fd1d0d065824004f6878746fc5d0d$__6375d0c0dc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200016657600080fd5b505af41580156200017b573d6000803e3d6000fd5b505050506040513d60208110156200019257600080fd5b50516d53797374656d53657474696e677360901b14620001f9576040805162461bcd60e51b815260206004820152601d60248201527f7265616420616e64207772697465206b657973206e6f7420657175616c000000604482015290519081900360640190fd5b50506154fd806200020b6000396000f3fe608060405234801561001057600080fd5b50600436106104e35760003560e01c80636a2b91511161028e578063a777155611610167578063d954bc02116100d9578063e84e2c3c11610092578063e84e2c3c14610d94578063e942204614610d9c578063ee93119814610db9578063f081da8514610dd6578063f216310714610df9578063f867e76714610e16576104e3565b8063d954bc0214610cf8578063dad0ab0f14610d24578063dc8f4a1b14610d2c578063e0e6393d14610d52578063e3bb67d414610d5a578063e7894da114610d77576104e3565b8063c193f0d81161012b578063c193f0d814610c56578063c52f35fe14610c5e578063c7b481bd14610c8a578063c855a8e114610cb6578063cc754a4c14610cbe578063d8ee820814610cdb576104e3565b8063a777155614610bf5578063af5355d814610c12578063b16e450f14610c1a578063b410a03414610c46578063bcf7eeac14610c4e576104e3565b80638925711711610200578063946ce8cd116101c4578063946ce8cd14610b62578063967706e914610b7f57806397a4aca014610b9c5780639d4e186d14610bb9578063a0cf745114610be5578063a4bca13114610bed576104e3565b80638925711714610acd5780638979ee0f14610ad5578063899ffef414610afa5780638da5cb5b14610b52578063922fef0814610b5a576104e3565b806379cb657a1161025257806379cb657a14610a315780637bf8230514610a4e5780637d708a4614610a745780637f3b293c14610a915780638074b37214610a995780638326470c14610aa1576104e3565b80636a2b9151146109d65780637066871f146109de5780637418536014610a0457806375aca32114610a0c57806379ba509714610a29576104e3565b806328a1170d116103c05780634c36b837116103325780635d14928f116102f65780635d14928f146109345780635d467d6a146109515780635e0117d614610977578063614d08f8146109945780636190dd7a1461099c578063635a3872146109b9576104e3565b80634c36b837146108e2578063510242bc146108ea578063523fd889146108f257806353a47bb71461090f578063556eaeb114610917576104e3565b8063345a394311610384578063345a39431461084157806334eac4971461085e578063372a395a14610881578063393d334f146108895780634328a925146108a65780634641ab66146108c3576104e3565b806328a1170d1461071857806329a022ba146107da5780632af64bd3146108005780632cce0e541461081c57806331e4e03014610839576104e3565b80631710940c1161045957806322425fa41161041d57806322425fa4146106a957806323b55008146106b157806323f5589a146106ce578063242df9e1146106d657806325539dd2146106de5780632806a743146106fb576104e3565b80631710940c146106395780631775765f146106415780631e6e219014610649578063214bf9e51461066657806321d9eba61461068c576104e3565b806309e514a4116104ab57806309e514a4146105975780630ee4951b146105bd5780630f27b788146105c557806310557020146105cd57806313d825b2146105f05780631627540c14610613576104e3565b8063038e47fe146104e85780630411d53c1461051a57806304c49f2c1461053957806304f3bcec14610556578063054be0b71461057a575b600080fd5b610508600480360360208110156104fe57600080fd5b503560ff16610e1e565b60408051918252519081900360200190f35b6105376004803603602081101561053057600080fd5b5035610e31565b005b6105376004803603602081101561054f57600080fd5b5035610f00565b61055e610fdb565b604080516001600160a01b039092168252519081900360200190f35b6105376004803603602081101561059057600080fd5b5035610fea565b610508600480360360208110156105ad57600080fd5b50356001600160a01b03166110c1565b6105086110cc565b6105086110dc565b610537600480360360408110156105e357600080fd5b50803590602001356110e6565b6105376004803603604081101561060657600080fd5b50803590602001356111dc565b6105376004803603602081101561062957600080fd5b50356001600160a01b03166112ca565b610508611326565b610508611330565b6105376004803603602081101561065f57600080fd5b503561133a565b6105086004803603602081101561067c57600080fd5b50356001600160a01b0316611421565b610537600480360360208110156106a257600080fd5b503561142c565b610508611558565b610537600480360360208110156106c757600080fd5b5035611562565b610508611642565b61050861164c565b610508600480360360208110156106f457600080fd5b5035611656565b6105376004803603602081101561071157600080fd5b5035611661565b6105376004803603604081101561072e57600080fd5b81019060208101813564010000000081111561074957600080fd5b82018360208201111561075b57600080fd5b8035906020019184602083028401116401000000008311171561077d57600080fd5b91939092909160208101903564010000000081111561079b57600080fd5b8201836020820111156107ad57600080fd5b803590602001918460208302840111640100000000831117156107cf57600080fd5b50909250905061173d565b610508600480360360208110156107f057600080fd5b50356001600160a01b03166118cb565b6108086118d6565b604080519115158252519081900360200190f35b6105376004803603602081101561083257600080fd5b50356119e0565b610508611ad2565b6108086004803603602081101561085757600080fd5b5035611adc565b6105376004803603604081101561087457600080fd5b5080359060200135611ae7565b610508611bdd565b6105376004803603602081101561089f57600080fd5b5035611be7565b610537600480360360208110156108bc57600080fd5b5035611cc6565b610537600480360360208110156108d957600080fd5b50351515611dfa565b61055e611edc565b610508611ee6565b6105376004803603602081101561090857600080fd5b5035611ef6565b61055e611fca565b6105376004803603602081101561092d57600080fd5b5035611fd9565b6105376004803603602081101561094a57600080fd5b50356120b8565b6105086004803603602081101561096757600080fd5b50356001600160a01b0316612199565b6105376004803603602081101561098d57600080fd5b50356121a4565b61050861227e565b610537600480360360208110156109b257600080fd5b50356122f5565b610537600480360360208110156109cf57600080fd5b50356123d4565b6105086124af565b610508600480360360208110156109f457600080fd5b50356001600160a01b03166124b9565b6105376124c4565b61053760048036036020811015610a2257600080fd5b503561268c565b61053761276d565b61053760048036036020811015610a4757600080fd5b5035612829565b61053760048036036020811015610a6457600080fd5b50356001600160a01b0316612902565b61053760048036036020811015610a8a57600080fd5b50356129eb565b610508612ac5565b610508612ad8565b61053760048036036040811015610ab757600080fd5b506001600160a01b038135169060200135612ae2565b610508612bc3565b61053760048036036040811015610aeb57600080fd5b50803590602001351515612bcd565b610b02612cc5565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610b3e578181015183820152602001610b26565b505050509050019250505060405180910390f35b61055e612d16565b610508612d25565b61053760048036036020811015610b7857600080fd5b5035612d2f565b61050860048036036020811015610b9557600080fd5b5035612e3a565b61050860048036036020811015610bb257600080fd5b5035612e45565b61053760048036036040811015610bcf57600080fd5b506001600160a01b038135169060200135612e50565b610508612f7a565b610508612f84565b61050860048036036020811015610c0b57600080fd5b5035612f8e565b610508612f99565b61053760048036036040811015610c3057600080fd5b506001600160a01b038135169060200135612fa3565b610508613095565b61050861309f565b6108086130a9565b61053760048036036040811015610c7457600080fd5b50803590602001356001600160a01b03166130b3565b61053760048036036040811015610ca057600080fd5b506001600160a01b0381351690602001356131b1565b610508613293565b61053760048036036020811015610cd457600080fd5b503561329d565b61053760048036036020811015610cf157600080fd5b5035613379565b61053760048036036040811015610d0e57600080fd5b506001600160a01b038135169060200135613456565b610508613580565b61053760048036036040811015610d4257600080fd5b5060ff8135169060200135613593565b61050861368f565b61053760048036036020811015610d7057600080fd5b5035613699565b61053760048036036020811015610d8d57600080fd5b5035613777565b610508613858565b61053760048036036020811015610db257600080fd5b5035613862565b61050860048036036020811015610dcf57600080fd5b503561393c565b61053760048036036040811015610dec57600080fd5b5080359060200135613947565b61055e60048036036020811015610e0f57600080fd5b5035613a38565b610508613a43565b6000610e2982613a56565b90505b919050565b610e39613af3565b610e41613b3e565b6001600160a01b0316631d5b277f6000805160206154a983398151915269199b1859d4995dd85c9960b21b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610eb157600080fd5b505af1158015610ec5573d6000803e3d6000fd5b50506040805184815290517fa31178ade19fb6a78fe78b68ebf820b88707e3bdbedbf77db4e80977800f39449350908190036020019150a150565b610f08613af3565b610f10613b3e565b604080516363daca0960e01b81526001600160a01b03929092166004830152703332b2a832b934b7b2223ab930ba34b7b760791b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916363daca09916064808301926000929190829003018186803b158015610f8c57600080fd5b505af4158015610fa0573d6000803e3d6000fd5b50506040805184815290517f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd9350908190036020019150a150565b6002546001600160a01b031681565b610ff2613af3565b610ffa613b3e565b60408051636d4851f160e01b81526001600160a01b039290921660048301526c69737375616e6365526174696f60981b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636d4851f1916064808301926000929190829003018186803b15801561107257600080fd5b505af4158015611086573d6000803e3d6000fd5b50506040805184815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529350908190036020019150a150565b6000610e2982613b5b565b60006110d6613c14565b90505b90565b60006110d6613c9d565b6110ee613af3565b6110f6613b3e565b60408051635d3045ab60e01b81526001600160a01b039290921660048301527f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91635d3045ab916084808301926000929190829003018186803b15801561118557600080fd5b505af4158015611199573d6000803e3d6000fd5b5050604080518581526020810185905281517f98698e41d9ebb66410ec490ae1224f1b8d1766696d7217fa96e067de3ef5332a9450908190039091019150a15050565b6111e4613af3565b6111ec613b3e565b60408051638134ddb760e01b81526001600160a01b039290921660048301527461746f6d696345786368616e67654665655261746560581b602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91638134ddb7916084808301926000929190829003018186803b15801561127357600080fd5b505af4158015611287573d6000803e3d6000fd5b5050604080518581526020810185905281517f84023d924a8ccb4a028f052967ed7e1e642279c24150e018962f0779021fce4c9450908190039091019150a15050565b6112d2613af3565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006110d6613d1a565b60006110d6613d96565b611342613af3565b61134a613b3e565b60408051630e7bf1c560e01b81526001600160a01b039290921660048301527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91630e7bf1c5916064808301926000929190829003018186803b1580156113d257600080fd5b505af41580156113e6573d6000803e3d6000fd5b50506040805184815290517f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e59350908190036020019150a150565b6000610e2982613e0c565b611434613af3565b8061147e576040805162461bcd60e51b815260206004820152601560248201527405468726573686f6c642063616e6e6f74206265203605c1b604482015290519081900360640190fd5b611486613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527f65786368616e676544796e616d69634665655468726573686f6c640000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561150957600080fd5b505af115801561151d573d6000803e3d6000fd5b50506040805184815290517f0a1c77eb56927959639f898ae5258d25789fe6c36d7958d2c3daf3f1471d42d99350908190036020019150a150565b60006110d6613ec5565b61156a613af3565b611572613b3e565b604080516367f9fdd960e11b81526001600160a01b039290921660048301527573656c664c69717569646174696f6e50656e616c747960501b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163cff3fbb2916064808301926000929190829003018186803b1580156115f357600080fd5b505af4158015611607573d6000803e3d6000fd5b50506040805184815290517fcc1eff40ab461aae35275af10e50d93e6e37087e019f27e936816b62540168fe9350908190036020019150a150565b60006110d6613f3c565b60006110d6613fb4565b6000610e298261402a565b611669613af3565b611671613b3e565b60408051631faca50560e21b81526001600160a01b03929092166004830152716c69717569646174696f6e50656e616c747960701b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637eb29414916064808301926000929190829003018186803b1580156116ee57600080fd5b505af4158015611702573d6000803e3d6000fd5b50506040805184815290517fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e99350908190036020019150a150565b611745613af3565b61174d613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__631a5bb1f790916e65786368616e67654665655261746560881b878787876040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b0316815260200186815260200180602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600081840152601f19601f8201169050808301925050509850505050505050505060006040518083038186803b15801561183957600080fd5b505af415801561184d573d6000803e3d6000fd5b506000925050505b838110156118c4577fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e85858381811061188a57fe5b9050602002013584848481811061189d57fe5b604080519485526020918202939093013590840152508051918290030190a1600101611855565b5050505050565b6000610e29826140d3565b600060606118e2612cc5565b905060005b81518110156119d75760008282815181106118fe57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561196657600080fd5b505afa15801561197a573d6000803e3d6000fd5b505050506040513d602081101561199057600080fd5b50516001600160a01b03161415806119bd57506000818152600360205260409020546001600160a01b0316155b156119ce57600093505050506110d9565b506001016118e7565b50600191505090565b6119e8613af3565b60006119f2613b3e565b6040805162856d3960e51b81526001600160a01b039290921660048301526e1d185c99d95d151a1c995cda1bdb19608a1b6024830152604482018490525173__$6a024fd1d0d065824004f6878746fc5d0d$__916310ada720916064808301926020929190829003018186803b158015611a6b57600080fd5b505af4158015611a7f573d6000803e3d6000fd5b505050506040513d6020811015611a9557600080fd5b50516040805182815290519192507fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab12919081900360200190a15050565b60006110d661418e565b6000610e2982614203565b611aef613af3565b611af7613b3e565b60408051636c5a980960e01b81526001600160a01b039290921660048301527f63726f7373436861696e53796e74685472616e73666572456e61626c65640000602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636c5a9809916084808301926000929190829003018186803b158015611b8657600080fd5b505af4158015611b9a573d6000803e3d6000fd5b5050604080518581526020810185905281517f2f10f42e3d725e85dada13510e81fc571c49386ab4cd9152b12e2db2b0c04b729450908190039091019150a15050565b60006110d66142b4565b611bef613af3565b611bf7613b3e565b604080516339aafdf360e21b81526001600160a01b039290921660048301527465786368616e67654d617844796e616d696346656560581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163e6abf7cc916064808301926000929190829003018186803b158015611c7757600080fd5b505af4158015611c8b573d6000803e3d6000fd5b50506040805184815290517fd7764866d2b524c8fa50c82668b78d32bf7b46a87e37b891de9dd40853de464f9350908190036020019150a150565b611cce613af3565b80611d20576040805162461bcd60e51b815260206004820152601860248201527f5765696768742064656361792063616e6e6f7420626520300000000000000000604482015290519081900360640190fd5b611d28613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527f65786368616e676544796e616d69634665655765696768744465636179000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611dab57600080fd5b505af1158015611dbf573d6000803e3d6000fd5b50506040805184815290517fd80e77b0d087a975f2a783eb806eb9a1e93dab1bf148651d3e70c6e85d740eba9350908190036020019150a150565b611e02613af3565b611e0a613b3e565b60408051633e0ecceb60e11b81526001600160a01b03929092166004830152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b602483015282151560448301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637c1d99d6916064808301926000929190829003018186803b158015611e8b57600080fd5b505af4158015611e9f573d6000803e3d6000fd5b505060408051841515815290517fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd9350908190036020019150a150565b60006110d6614337565b6000611ef06143b3565b51905090565b611efe613af3565b611f06613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191526e1b1a5c5d5a59185d1954995dd85c99608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611f7b57600080fd5b505af1158015611f8f573d6000803e3d6000fd5b50506040805184815290517f6586b69a20f0202ee8802e307c1ca76ce96354ff6b1123d5d7fd3e9b0057e0359350908190036020019150a150565b6001546001600160a01b031681565b611fe1613af3565b611fe9613b3e565b60408051636a5b304360e01b81526001600160a01b0392909216600483015274736e784c69717569646174696f6e50656e616c747960581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636a5b3043916064808301926000929190829003018186803b15801561206957600080fd5b505af415801561207d573d6000803e3d6000fd5b50506040805184815290517fe7a7d374b4557aa224d3675ac9b1abd0ac00b616e7b669db75d30d8582935bb39350908190036020019150a150565b6120c0613af3565b6120c8613b3e565b6040805163064c16cf60e21b81526001600160a01b039290921660048301527661746f6d69634d6178566f6c756d65506572426c6f636b60481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916319305b3c916064808301926000929190829003018186803b15801561214a57600080fd5b505af415801561215e573d6000803e3d6000fd5b50506040805184815290517ff96e059cb3386bb65fd1d80017c7ce524f813b012d7dc97a1252f9cd4f4c99f39350908190036020019150a150565b6000610e298261469d565b6121ac613af3565b6121b4613b3e565b60408051632cfaf72960e21b81526001600160a01b039290921660048301526f6c69717569646174696f6e44656c617960801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163b3ebdca4916064808301926000929190829003018186803b15801561222f57600080fd5b505af4158015612243573d6000803e3d6000fd5b50506040805184815290517f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53989350908190036020019150a150565b600073__$6a024fd1d0d065824004f6878746fc5d0d$__6375d0c0dc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156122c457600080fd5b505af41580156122d8573d6000803e3d6000fd5b505050506040513d60208110156122ee57600080fd5b5051905090565b6122fd613af3565b612305613b3e565b6040805163d4aebcef60e01b81526001600160a01b039290921660048301527464656274536e617073686f745374616c6554696d6560581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163d4aebcef916064808301926000929190829003018186803b15801561238557600080fd5b505af4158015612399573d6000803e3d6000fd5b50506040805184815290517f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d79350908190036020019150a150565b6123dc613af3565b6123e4613b3e565b604080516341a7936f60e11b81526001600160a01b039290921660048301527077616974696e67506572696f645365637360781b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163834f26de916064808301926000929190829003018186803b15801561246057600080fd5b505af4158015612474573d6000803e3d6000fd5b50506040805184815290517fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f89350908190036020019150a150565b60006110d6614755565b6000610e29826147cb565b60606124ce612cc5565b905060005b81518110156126885760008282815181106124ea57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156125a0578181015183820152602001612588565b50505050905090810190601f1680156125cd5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156125eb57600080fd5b505afa1580156125ff573d6000803e3d6000fd5b505050506040513d602081101561261557600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016124d3565b5050565b612694613af3565b61269c613b3e565b6040805163fe250a5560e01b81526001600160a01b03929092166004830152766574686572577261707065724d696e744665655261746560481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fe250a55916064808301926000929190829003018186803b15801561271e57600080fd5b505af4158015612732573d6000803e3d6000fd5b50506040805184815290517f19ef86e0422ac5c02afdc7b9f91f468ccc5e9b785bf7c158e01357e8503a819b9350908190036020019150a150565b6001546001600160a01b031633146127b65760405162461bcd60e51b81526004018080602001828103825260358152602001806154456035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b612831613af3565b612839613b3e565b6040805163fd194a3560e01b81526001600160a01b039290921660048301526e1c985d1954dd185b1954195c9a5bd9608a1b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fd194a35916064808301926000929190829003018186803b1580156128b357600080fd5b505af41580156128c7573d6000803e3d6000fd5b50506040805184815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669350908190036020019150a150565b61290a613af3565b612912613b3e565b604080516330d6e65760e21b81526001600160a01b0392831660048201527561676772656761746f725761726e696e67466c61677360501b602482015291831660448301525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163c35b995c916064808301926000929190829003018186803b15801561299357600080fd5b505af41580156129a7573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde9659350908190036020019150a150565b6129f3613af3565b6129fb613b3e565b6040805163067bb56d60e31b81526001600160a01b039290921660048301526f61746f6d69635477617057696e646f7760801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916333ddab68916064808301926000929190829003018186803b158015612a7657600080fd5b505af4158015612a8a573d6000803e3d6000fd5b50506040805184815290517f61ee2076e20b46130ce31de66f08321493e96f79de0837fb0296b7feca92285b9350908190036020019150a150565b6000612acf6143b3565b60400151905090565b60006110d6614886565b612aea613af3565b612af2613b3e565b60408051631b5238f760e31b81526001600160a01b0392831660048201526e636f6c6c617073654665655261746560881b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163da91c7b8916084808301926000929190829003018186803b158015612b7357600080fd5b505af4158015612b87573d6000803e3d6000fd5b50506040805184815290517f7e9498fa8cb2442ec5a6f05b47f4adaafaf286d03a3fa580cc0f3592b60b32359350908190036020019150a15050565b60006110d66148f6565b612bd5613af3565b612bdd613b3e565b60408051637c14e56b60e01b81526001600160a01b039290921660048301527f70757265436861696e6c696e6b466f7241746f6d696373456e61626c6564000060248301526044820184905282151560648301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637c14e56b916084808301926000929190829003018186803b158015612c6d57600080fd5b505af4158015612c81573d6000803e3d6000fd5b505060408051858152841515602082015281517fc39c526ec779c4ad9e0426c2a964a82134f99c4490e764153e19574c58b2ab539450908190039091019150a15050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612d0757fe5b60200260200101818152505090565b6000546001600160a01b031681565b60006110d661496d565b612d37613af3565b612d3f613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__6311d78c0c90916f6c69717569646174696f6e526174696f60801b84612d816149ea565b612d89614a65565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b031681526020018581526020018481526020018381526020018281526020019550505050505060006040518083038186803b158015612deb57600080fd5b505af4158015612dff573d6000803e3d6000fd5b50506040805184815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9350908190036020019150a150565b6000610e2982614ad8565b6000610e2982614b7b565b612e58613af3565b612e60613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__63c404a0de909171777261707065724275726e4665655261746560701b8585612ea6886140d3565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b031681526020018381526020018281526020019550505050505060006040518083038186803b158015612f1a57600080fd5b505af4158015612f2e573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517f65647551bef307c3b3c3cc08ff4dd60cf02eb1e9e9d20604c5603b90a453e4979450908190039091019150a15050565b60006110d6614c27565b60006110d6614c9d565b6000610e2982614d1a565b60006110d6614dcb565b612fab613af3565b612fb3613b3e565b60408051631f86e9a960e21b81526001600160a01b0392831660048201526f777261707065724d6178546f6b656e7360801b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637e1ba6a4916084808301926000929190829003018186803b15801561303557600080fd5b505af4158015613049573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517fc466f93337e5645290e02cdbed66a95340e81d809b710d8f6de2280de3e27b2f9450908190039091019150a15050565b60006110d6614a65565b60006110d6614e46565b60006110d6614ebe565b6130bb613af3565b6130c3613b3e565b60408051635f7ad87160e01b81526001600160a01b0392831660048201527f61746f6d69634571756976616c656e74466f7244657850726963696e6700000060248201526044810185905291831660648301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91635f7ad871916084808301926000929190829003018186803b15801561315257600080fd5b505af4158015613166573d6000803e3d6000fd5b5050604080518581526001600160a01b038516602082015281517fc7cff0a6f47777500050f9a29aac5206e15b25b782d1834a176f3b3b134d4f3a9450908190039091019150a15050565b6131b9613af3565b6131c1613b3e565b60408051637dfecb2360e11b81526001600160a01b0392831660048201526f696e746572616374696f6e44656c617960801b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fbfd9646916084808301926000929190829003018186803b15801561324357600080fd5b505af4158015613257573d6000803e3d6000fd5b50506040805184815290517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c23619350908190036020019150a15050565b60006110d6614f39565b6132a5613af3565b6132ad613b3e565b60408051630a6c461160e41b81526001600160a01b03929092166004830152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163a6c46110916064808301926000929190829003018186803b15801561332a57600080fd5b505af415801561333e573d6000803e3d6000fd5b50506040805184815290517f8086de8bfec0a6cd9a9213caef7ee137a59e4d8da145de163dc3f244dacddc689350908190036020019150a150565b613381613af3565b613389613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527765786368616e676544796e616d6963466565526f756e647360401b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561340757600080fd5b505af115801561341b573d6000803e3d6000fd5b50506040805184815290517f098d0190950f074545dd4e10dda16c804bd054facc9ed1ec4181e076ab09bd479350908190036020019150a150565b61345e613af3565b613466613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__6353c0bf1c909171777261707065724d696e744665655261746560701b85856134ac886147cb565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b031681526020018381526020018281526020019550505050505060006040518083038186803b15801561352057600080fd5b505af4158015613534573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517ffe7e17467e216f68f8d4a3aea0ab082631afc874fb216e93c38e52a2ddb7ec659450908190039091019150a15050565b600061358a6143b3565b60200151905090565b61359b613af3565b6135a3613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__63f02d9a5b90916135d185614fb8565b846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060006040518083038186803b15801561362657600080fd5b505af415801561363a573d6000803e3d6000fd5b505050507fbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a82826040518083600581111561367157fe5b60ff1681526020018281526020019250505060405180910390a15050565b60006110d6615161565b6136a1613af3565b6136a9613b3e565b6001600160a01b0316631d5b277f6000805160206154a9833981519152783634b8bab4b230ba34b7b722b9b1b937bba23ab930ba34b7b760391b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561372857600080fd5b505af115801561373c573d6000803e3d6000fd5b50506040805184815290517f9f268a84b9cb3eb37f078345457b36a34236602cd78eac0d9166e9e62579fef19350908190036020019150a150565b61377f613af3565b613787613b3e565b6040805163496d5d7960e11b81526001600160a01b03929092166004830152766574686572577261707065724275726e4665655261746560481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916392dabaf2916064808301926000929190829003018186803b15801561380957600080fd5b505af415801561381d573d6000803e3d6000fd5b50506040805184815290517f1c97c2e8b44aa487062d3e92ce52ac814b35191f4799fd2d5a3f36c67f1d9d4a9350908190036020019150a150565b60006110d66149ea565b61386a613af3565b613872613b3e565b6040805163d9158b0360e01b81526001600160a01b039290921660048301526f6d696e696d756d5374616b6554696d6560801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163d9158b03916064808301926000929190829003018186803b1580156138ed57600080fd5b505af4158015613901573d6000803e3d6000fd5b50506040805184815290517f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144779350908190036020019150a150565b6000610e29826151d6565b61394f613af3565b613957613b3e565b6040805163446ca4fd60e01b81526001600160a01b0392909216600483015277185d1bdb5a58d59bdb155c19185d19551a1c995cda1bdb1960421b602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163446ca4fd916084808301926000929190829003018186803b1580156139e157600080fd5b505af41580156139f5573d6000803e3d6000fd5b5050604080518581526020810185905281517f460476cc6f40e86f19053ba74c9baf4c2cef96452bb2722a454d66db953a7b3d9450908190039091019150a15050565b6000610e2982615287565b6000613a4d6143b3565b60600151905090565b6000613a60613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152613a8685614fb8565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b505afa158015613ad5573d6000803e3d6000fd5b505050506040513d6020811015613aeb57600080fd5b505192915050565b6000546001600160a01b03163314613b3c5760405162461bcd60e51b815260040180806020018281038252602f81526020018061547a602f913960400191505060405180910390fd5b565b60006110d66e466c657869626c6553746f7261676560881b615338565b6000613b65613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f696e746572616374696f6e44656c617960801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000613c1e613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b505afa1580156122d8573d6000803e3d6000fd5b6000613ca7613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152766574686572577261707065724d696e744665655261746560481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613d24613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613da0613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613e16613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f777261707065724d6178546f6b656e7360801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000613ecf613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613f46613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613fbe613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614034613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527461746f6d696345786368616e67654665655261746560581b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b60006140dd613b3e565b6001600160a01b031663c4f610ed6000805160206154a983398151915271777261707065724d696e744665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614198613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b600061420d613b3e565b6001600160a01b031663d994502d6000805160206154a98339815191527f70757265436861696e6c696e6b466f7241746f6d696373456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b60006142be613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614341613b3e565b6001600160a01b0316639ee5955a6000805160206154a98339815191527561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6143bb61541c565b60408051600480825260a08201909252606091602082016080803883390190505090507f65786368616e676544796e616d69634665655468726573686f6c6400000000008160008151811061440c57fe5b6020026020010181815250507f65786368616e676544796e616d696346656557656967687444656361790000008160018151811061444657fe5b6020026020010181815250507765786368616e676544796e616d6963466565526f756e647360401b8160028151811061447b57fe5b6020026020010181815250507465786368616e67654d617844796e616d696346656560581b816003815181106144ad57fe5b60200260200101818152505060606144c3613b3e565b6001600160a01b031663b67fa7ed6000805160206154a9833981519152846040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561453657818101518382015260200161451e565b50505050905001935050505060006040518083038186803b15801561455a57600080fd5b505afa15801561456e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561459757600080fd5b81019080805160405193929190846401000000008211156145b757600080fd5b9083019060208201858111156145cc57600080fd5b82518660208202830111640100000000821117156145e957600080fd5b82525081516020918201928201910280838360005b838110156146165781810151838201526020016145fe565b50505050905001604052505050905060405180608001604052808260008151811061463d57fe5b602002602001015181526020018260018151811061465757fe5b602002602001015181526020018260028151811061467157fe5b602002602001015181526020018260038151811061468b57fe5b60200260200101518152509250505090565b60006146a7613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e636f6c6c617073654665655261746560881b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b600061475f613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f61746f6d69635477617057696e646f7760801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006147d5613b3e565b6001600160a01b031663c4f610ed6000805160206154a983398151915271777261707065724275726e4665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614890613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915269199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614900613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614977613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152766574686572577261707065724275726e4665655261746560481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006149f4613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915274736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614a6f613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ae2613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614b85613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915277185d1bdb5a58d59bdb155c19185d19551a1c995cda1bdb1960421b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614c31613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ca7613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527661746f6d69634d6178566f6c756d65506572426c6f636b60481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614d24613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614dd5613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614e50613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ec8613b3e565b6001600160a01b031663d994502d6000805160206154a9833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614f43613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152783634b8bab4b230ba34b7b722b9b1b937bba23ab930ba34b7b760391b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b600080826005811115614fc757fe5b1415614ff457507f63726f7373446f6d61696e4465706f7369744761734c696d6974000000000000610e2c565b600182600581111561500257fe5b141561502f57507f63726f7373446f6d61696e457363726f774761734c696d697400000000000000610e2c565b600282600581111561503d57fe5b141561506a57507f63726f7373446f6d61696e5265776172644761734c696d697400000000000000610e2c565b600382600581111561507857fe5b14156150a557507f63726f7373446f6d61696e5769746864726177616c4761734c696d6974000000610e2c565b60058260058111156150b357fe5b14156150e057507f63726f7373446f6d61696e52656c61794761734c696d69740000000000000000610e2c565b60048260058111156150ee57fe5b141561511b57507f63726f7373446f6d61696e436c6f73654761734c696d69740000000000000000610e2c565b6040805162461bcd60e51b8152602060048201526016602482015275556e6b6e6f776e20676173206c696d6974207479706560501b604482015290519081900360640190fd5b600061516b613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006151e0613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f63726f7373436861696e53796e74685472616e73666572456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000615291613b3e565b6001600160a01b0316639ee5955a6000805160206154a98339815191527f61746f6d69634571756976616c656e74466f7244657850726963696e67000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816154155760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156153da5781810151838201526020016153c2565b50505050905090810190601f1680156154075780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b604051806080016040528060008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e53797374656d53657474696e6773000000000000000000000000000000000000a265627a7a723158200b8b315373443f7888eb35ce12767b8289579f3dca6072264716f3350cc984c964736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"flags","type":"address"}],"name":"AggregatorWarningFlagsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"equivalent","type":"address"}],"name":"AtomicEquivalentForDexPricingUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newExchangeFeeRate","type":"uint256"}],"name":"AtomicExchangeFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMaxVolume","type":"uint256"}],"name":"AtomicMaxVolumePerBlockUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newWindow","type":"uint256"}],"name":"AtomicTwapWindowUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newVolatilityConsiderationWindow","type":"uint256"}],"name":"AtomicVolatilityConsiderationWindowUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newVolatilityUpdateThreshold","type":"uint256"}],"name":"AtomicVolatilityUpdateThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"collapseFeeRate","type":"uint256"}],"name":"CollapseFeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"CrossChainSynthTransferEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum MixinSystemSettings.CrossDomainMessageGasLimits","name":"gasLimitType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"CrossDomainMessageGasLimitChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"debtSnapshotStaleTime","type":"uint256"}],"name":"DebtSnapshotStaleTimeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"rate","type":"uint256"}],"name":"EtherWrapperBurnFeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxETH","type":"uint256"}],"name":"EtherWrapperMaxETHUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"rate","type":"uint256"}],"name":"EtherWrapperMintFeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"dynamicFeeRounds","type":"uint256"}],"name":"ExchangeDynamicFeeRoundsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"dynamicFeeThreshold","type":"uint256"}],"name":"ExchangeDynamicFeeThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"dynamicFeeWeightDecay","type":"uint256"}],"name":"ExchangeDynamicFeeWeightDecayUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newExchangeFeeRate","type":"uint256"}],"name":"ExchangeFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxDynamicFee","type":"uint256"}],"name":"ExchangeMaxDynamicFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newFeePeriodDuration","type":"uint256"}],"name":"FeePeriodDurationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newReward","type":"uint256"}],"name":"FlagRewardUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"interactionDelay","type":"uint256"}],"name":"InteractionDelayUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newRatio","type":"uint256"}],"name":"IssuanceRatioUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newReward","type":"uint256"}],"name":"LiquidateRewardUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDelay","type":"uint256"}],"name":"LiquidationDelayUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"LiquidationEscrowDurationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newPenalty","type":"uint256"}],"name":"LiquidationPenaltyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newRatio","type":"uint256"}],"name":"LiquidationRatioUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minimumStakeTime","type":"uint256"}],"name":"MinimumStakeTimeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"PriceDeviationThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"PureChainlinkPriceForAtomicSwapsEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"rateStalePeriod","type":"uint256"}],"name":"RateStalePeriodUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newPenalty","type":"uint256"}],"name":"SelfLiquidationPenaltyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newPenalty","type":"uint256"}],"name":"SnxLiquidationPenaltyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newTargetThreshold","type":"uint256"}],"name":"TargetThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"TradingRewardsEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"waitingPeriodSecs","type":"uint256"}],"name":"WaitingPeriodSecsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"wrapper","type":"address"},{"indexed":false,"internalType":"int256","name":"rate","type":"int256"}],"name":"WrapperBurnFeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"wrapper","type":"address"},{"indexed":false,"internalType":"uint256","name":"maxTokenAmount","type":"uint256"}],"name":"WrapperMaxTokenAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"wrapper","type":"address"},{"indexed":false,"internalType":"int256","name":"rate","type":"int256"}],"name":"WrapperMintFeeRateUpdated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"aggregatorWarningFlags","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicEquivalentForDexPricing","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicExchangeFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"atomicMaxVolumePerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"atomicTwapWindow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicVolatilityConsiderationWindow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicVolatilityUpdateThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"collateral","type":"address"}],"name":"collapseFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"crossChainSynthTransferEnabled","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"enum MixinSystemSettings.CrossDomainMessageGasLimits","name":"gasLimitType","type":"uint8"}],"name":"crossDomainMessageGasLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"debtSnapshotStaleTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"etherWrapperBurnFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"etherWrapperMaxETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"etherWrapperMintFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeDynamicFeeRounds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeDynamicFeeThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeDynamicFeeWeightDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"exchangeFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeMaxDynamicFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feePeriodDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"flagReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"collateral","type":"address"}],"name":"interactionDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issuanceRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidateReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationEscrowDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumStakeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"priceDeviationThresholdFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"pureChainlinkPriceForAtomicSwapsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rateStalePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"selfLiquidationPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_flags","type":"address"}],"name":"setAggregatorWarningFlags","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"address","name":"_equivalent","type":"address"}],"name":"setAtomicEquivalentForDexPricing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_exchangeFeeRate","type":"uint256"}],"name":"setAtomicExchangeFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_maxVolume","type":"uint256"}],"name":"setAtomicMaxVolumePerBlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_window","type":"uint256"}],"name":"setAtomicTwapWindow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_window","type":"uint256"}],"name":"setAtomicVolatilityConsiderationWindow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setAtomicVolatilityUpdateThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_collateral","type":"address"},{"internalType":"uint256","name":"_collapseFeeRate","type":"uint256"}],"name":"setCollapseFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setCrossChainSynthTransferEnabled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"enum MixinSystemSettings.CrossDomainMessageGasLimits","name":"_gasLimitType","type":"uint8"},{"internalType":"uint256","name":"_crossDomainMessageGasLimit","type":"uint256"}],"name":"setCrossDomainMessageGasLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_seconds","type":"uint256"}],"name":"setDebtSnapshotStaleTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"setEtherWrapperBurnFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_maxETH","type":"uint256"}],"name":"setEtherWrapperMaxETH","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"setEtherWrapperMintFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"rounds","type":"uint256"}],"name":"setExchangeDynamicFeeRounds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"setExchangeDynamicFeeThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"weightDecay","type":"uint256"}],"name":"setExchangeDynamicFeeWeightDecay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"synthKeys","type":"bytes32[]"},{"internalType":"uint256[]","name":"exchangeFeeRates","type":"uint256[]"}],"name":"setExchangeFeeRateForSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"maxFee","type":"uint256"}],"name":"setExchangeMaxDynamicFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_feePeriodDuration","type":"uint256"}],"name":"setFeePeriodDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"setFlagReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_collateral","type":"address"},{"internalType":"uint256","name":"_interactionDelay","type":"uint256"}],"name":"setInteractionDelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"ratio","type":"uint256"}],"name":"setIssuanceRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"setLiquidateReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"setLiquidationDelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"setLiquidationEscrowDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"penalty","type":"uint256"}],"name":"setLiquidationPenalty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_liquidationRatio","type":"uint256"}],"name":"setLiquidationRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_seconds","type":"uint256"}],"name":"setMinimumStakeTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_priceDeviationThresholdFactor","type":"uint256"}],"name":"setPriceDeviationThresholdFactor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setPureChainlinkPriceForAtomicSwapsEnabled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"period","type":"uint256"}],"name":"setRateStalePeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"penalty","type":"uint256"}],"name":"setSelfLiquidationPenalty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"penalty","type":"uint256"}],"name":"setSnxLiquidationPenalty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"setTargetThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_tradingRewardsEnabled","type":"bool"}],"name":"setTradingRewardsEnabled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_waitingPeriodSecs","type":"uint256"}],"name":"setWaitingPeriodSecs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_wrapper","type":"address"},{"internalType":"int256","name":"_rate","type":"int256"}],"name":"setWrapperBurnFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_wrapper","type":"address"},{"internalType":"uint256","name":"_maxTokenAmount","type":"uint256"}],"name":"setWrapperMaxTokenAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_wrapper","type":"address"},{"internalType":"int256","name":"_rate","type":"int256"}],"name":"setWrapperMintFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"snxLiquidationPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"targetThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tradingRewardsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"waitingPeriodSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"wrapper","type":"address"}],"name":"wrapperBurnFeeRate","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"wrapper","type":"address"}],"name":"wrapperMaxTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"wrapper","type":"address"}],"name":"wrapperMintFeeRate","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xc78f371d395251ef1ee8c1305b485d38f084d31530560e802f5fc5147fe83451","urls":["bzz-raw://b9b7c2da32665fe30504f32be96c7cf326aa8ea84f34050aa6c338525be15fdc","dweb:/ipfs/QmRD7KH7LH9Cy7kxUyK6y9zNDAXkNo737wFAjHmyPANDF3"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SystemSettings.sol":"SystemSettings"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SystemSettings.sol":{"keccak256":"0xc78f371d395251ef1ee8c1305b485d38f084d31530560e802f5fc5147fe83451","urls":["bzz-raw://b9b7c2da32665fe30504f32be96c7cf326aa8ea84f34050aa6c338525be15fdc","dweb:/ipfs/QmRD7KH7LH9Cy7kxUyK6y9zNDAXkNo737wFAjHmyPANDF3"]}},"version":1}},"TradingRewards":{"bytecode":"608060405234801561001057600080fd5b506040516122133803806122138339818101604052606081101561003357600080fd5b5080516020820151604090920151600160005590919080836001600160a01b0381166100a6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506001546001600160a01b0316610152576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60048054610100600160a81b0319166101006001600160a01b039384160217905582166101c6576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b50600980546001600160a01b0319166001600160a01b03929092169190911790555061201c806101f76000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063741853601161010f578063b225dbaa116100a2578063f32ffd6911610071578063f32ffd69146104e2578063f61f5df614610552578063f6b584791461057e578063fc9c99ac146105fe576101f0565b8063b225dbaa14610491578063ccb6e043146102c5578063ce7fccba146104ae578063dea021a5146104da576101f0565b806391b4ded9116100de57806391b4ded914610438578063937ffb8f146104405780639865fdb71461045d578063ae934a7a14610465576101f0565b806374185360146103c857806379ba5097146103d0578063899ffef4146103d85780638da5cb5b14610430576101f0565b80632af64bd31161018757806355aa41bf1161015657806355aa41bf1461037e5780635c975abb1461039b5780636fe4136b146103a3578063706848d2146103ab576101f0565b80632af64bd31461032257806338dfa8cf1461032a5780633dbf12fa1461035057806353a47bb714610376576101f0565b806316841952116101c3578063168419521461028957806316c38b3c146102a6578063175c5189146102c557806321cad774146102f6576101f0565b806304f3bcec146101f5578063056097ac14610219578063086146d2146102495780631627540c14610263575b600080fd5b6101fd610606565b604080516001600160a01b039092168252519081900360200190f35b6102476004803603604081101561022f57600080fd5b506001600160a01b038135811691602001351661061a565b005b6102516107c5565b60408051918252519081900360200190f35b6102476004803603602081101561027957600080fd5b50356001600160a01b03166107cc565b6102476004803603602081101561029f57600080fd5b5035610828565b610247600480360360208110156102bc57600080fd5b50351515610a51565b6102e2600480360360208110156102db57600080fd5b5035610acb565b604080519115158252519081900360200190f35b6102476004803603604081101561030c57600080fd5b50803590602001356001600160a01b0316610ae0565b6102e2610c0a565b6102476004803603602081101561034057600080fd5b50356001600160a01b0316610d1c565b6102476004803603602081101561036657600080fd5b50356001600160a01b0316610ed4565b6101fd610f8b565b6102516004803603602081101561039457600080fd5b5035610f9a565b6102e2610faf565b6101fd610fb8565b610251600480360360208110156103c157600080fd5b5035610fc7565b610247610fdc565b6102476111b9565b6103e0611275565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561041c578181015183820152602001610404565b505050509050019250505060405180910390f35b6101fd6112e4565b6102516112f3565b6102516004803603602081101561045657600080fd5b50356112f9565b61025161130e565b6102476004803603604081101561047b57600080fd5b506001600160a01b0381351690602001356113ab565b610247600480360360208110156104a757600080fd5b5035611518565b610251600480360360408110156104c457600080fd5b506001600160a01b0381351690602001356115c5565b6101fd6115da565b610247600480360360208110156104f857600080fd5b81019060208101813564010000000081111561051357600080fd5b82018360208201111561052557600080fd5b8035906020019184602083028401116401000000008311171561054757600080fd5b5090925090506115e9565b6102516004803603604081101561056857600080fd5b506001600160a01b0381351690602001356116c7565b6102516004803603604081101561059457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156105bf57600080fd5b8201836020820111156105d157600080fd5b803590602001918460208302840111640100000000831117156105f357600080fd5b5090925090506116f2565b610251611742565b60045461010090046001600160a01b031681565b610622611748565b61062b81611793565b610633611803565b6001600160a01b0316826001600160a01b03161415610699576040805162461bcd60e51b815260206004820152601960248201527f4d7573742075736520616e6f746865722066756e6374696f6e00000000000000604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905183916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156106e457600080fd5b505afa1580156106f8573d6000803e3d6000fd5b505050506040513d602081101561070e57600080fd5b505190508061075b576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6107756001600160a01b038316848363ffffffff61181a16565b604080516001600160a01b0380871682528516602082015280820183905290517f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe69181900360600190a150505050565b6006545b90565b6107d4611748565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6009546001600160a01b03163314610887576040805162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206e6f7420706572696f6420636f6e74726f6c6c657200000000604482015290519081900360640190fd5b6000610891611803565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156108e657600080fd5b505afa1580156108fa573d6000803e3d6000fd5b505050506040513d602081101561091057600080fd5b505160075490915060009061092c90839063ffffffff61186c16565b905080831115610983576040805162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742066726565207265776172647300000000000000604482015290519081900360640190fd5b60065460009081526008602052604090206002810184905560038101849055805460ff191660011781556007546109c0908563ffffffff6118c916565b600755600654604080519182526020820186905280517ffa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f9281900390910190a1600654610a1490600163ffffffff6118c916565b600681905560408051918252517f4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a2307329181900360200190a150505050565b610a59611748565b60045460ff1615158115151415610a6f57610ac8565b6004805460ff1916821515179081905560ff1615610a8c57426003555b6004546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60009081526008602052604090205460ff1690565b610ae8611923565b6001600160a01b0316336001600160a01b031614610b4d576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015290519081900360640190fd5b60065460009081526008602090815260408083206001600160a01b03851684526004810190925290912054610b88908463ffffffff6118c916565b6001600160a01b03831660009081526004830160205260409020556001810154610bb8908463ffffffff6118c916565b600182015560065460408051858152602081019290925280516001600160a01b038516927f927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf86692908290030190a2505050565b60006060610c16611275565b905060005b8151811015610d13576000828281518110610c3257fe5b602090810291909101810151600081815260058352604090819020546004805483516321f8a72160e01b815291820185905292519395506001600160a01b0391821694610100909304909116926321f8a72192602480840193919291829003018186803b158015610ca257600080fd5b505afa158015610cb6573d6000803e3d6000fd5b505050506040513d6020811015610ccc57600080fd5b50516001600160a01b0316141580610cf957506000818152600560205260409020546001600160a01b0316155b15610d0a57600093505050506107c9565b50600101610c1b565b50600191505090565b610d24611748565b610d2d81611793565b6000610d37611803565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d8c57600080fd5b505afa158015610da0573d6000803e3d6000fd5b505050506040513d6020811015610db657600080fd5b5051905080610e03576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6000610e1a6007548361186c90919063ffffffff16565b905060008111610e68576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b610e8b8382610e75611803565b6001600160a01b0316919063ffffffff61181a16565b604080516001600160a01b03851681526020810183905281517f14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3929181900390910190a1505050565b610edc611748565b6001600160a01b038116610f37576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b600980546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc9181900360200190a150565b6002546001600160a01b031681565b60009081526008602052604090206001015490565b60045460ff1681565b6000610fc2611803565b905090565b60009081526008602052604090206003015490565b6060610fe6611275565b905060005b81518110156111b557600082828151811061100257fe5b602002602001015190506000600460019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156110cd5781810151838201526020016110b5565b50505050905090810190601f1680156110fa5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b505160008381526005602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610feb565b5050565b6002546001600160a01b031633146112025760405162461bcd60e51b8152600401808060200182810382526035815260200180611efd6035913960400191505060405180910390fd5b600154600254604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160028054600180546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600280825260608083018452926020830190803883390190505090506822bc31b430b733b2b960b91b816000815181106112af57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816001815181106112d557fe5b60200260200101818152505090565b6001546001600160a01b031681565b60035481565b60009081526008602052604090206002015490565b6000610fc260075461131e611803565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561137357600080fd5b505afa158015611387573d6000803e3d6000fd5b505050506040513d602081101561139d57600080fd5b50519063ffffffff61186c16565b6113b3611748565b6113bc82611793565b6006548110611412576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207265636f7665722066726f6d20616374697665000000000000604482015290519081900360640190fd5b60008181526008602052604090206003810154611476576040805162461bcd60e51b815260206004820152601f60248201527f4e6f207265776172647320617661696c61626c6520746f207265636f76657200604482015290519081900360640190fd5b60038101546114888482610e75611803565b60075461149b908263ffffffff61186c16565b6007556000838152600860209081526040808320805460ff1916815560018101849055600281018490556003019290925581516001600160a01b038716815290810183905280820185905290517f60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c9181900360600190a150505050565b600080546001019081905560045460ff16156115655760405162461bcd60e51b815260040180806020018281038252603c815260200180611f82603c913960400191505060405180910390fd5b61156f338361193a565b60005481146111b5576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60006115d18383611a99565b90505b92915050565b6009546001600160a01b031690565b600080546001019081905560045460ff16156116365760405162461bcd60e51b815260040180806020018281038252603c815260200180611f82603c913960400191505060405180910390fd5b60005b8281101561166b57600084848381811061164f57fe5b905060200201359050611662338261193a565b50600101611639565b5060005481146116c2576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b60009081526008602090815260408083206001600160a01b0394909416835260049093019052205490565b6000805b8281101561173a57600084848381811061170c57fe5b90506020020135905061172f6117228783611a99565b849063ffffffff6118c916565b9250506001016116f6565b509392505050565b60075490565b6001546001600160a01b031633146117915760405162461bcd60e51b815260040180806020018281038252602f815260200180611f32602f913960400191505060405180910390fd5b565b6001600160a01b03811615806117b157506001600160a01b03811630145b15610ac8576040805162461bcd60e51b815260206004820152601760248201527f496e76616c6964207265636f7665722061646472657373000000000000000000604482015290519081900360640190fd5b6000610fc2680a6f2dce8d0cae8d2f60bb1b611b3d565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526116c2908490611c21565b6000828211156118c3576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156115d1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610fc26822bc31b430b733b2b960b91b611b3d565b6000818152600860205260409020805460ff1661199e576040805162461bcd60e51b815260206004820152601760248201527f506572696f64206973206e6f742066696e616c697a6564000000000000000000604482015290519081900360640190fd5b60006119aa8484611a99565b9050600081116119f8576040805162461bcd60e51b81526020600482015260146024820152734e6f207265776172647320617661696c61626c6560601b604482015290519081900360640190fd5b6001600160a01b03841660009081526004830160205260408120556003820154611a28908263ffffffff61186c16565b6003830155600754611a40908263ffffffff61186c16565b600755611a508482610e75611803565b604080518281526020810185905281516001600160a01b038716927fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325928290030190a250505050565b600081815260086020526040812060038101541580611aba57506001810154155b80611ac75750805460ff16155b15611ad65760009150506115d4565b6001600160a01b038416600090815260048201602052604090205480611b01576000925050506115d4565b6000611b1a836001015483611ddf90919063ffffffff16565b9050611b33836002015482611e0990919063ffffffff16565b9695505050505050565b600081815260056020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611c1a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611bdf578181015183820152602001611bc7565b50505050905090810190601f168015611c0c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b611c33826001600160a01b0316611e33565b611c84576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310611cc25780518252601f199092019160209182019101611ca3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611d24576040519150601f19603f3d011682016040523d82523d6000602084013e611d29565b606091505b509150915081611d80576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611dd957808060200190516020811015611d9c57600080fd5b5051611dd95760405162461bcd60e51b815260040180806020018281038252602a815260200180611fbe602a913960400191505060405180910390fd5b50505050565b60006115d182611dfd85670de0b6b3a764000063ffffffff611e3916565b9063ffffffff611e9216565b6000670de0b6b3a7640000611e24848463ffffffff611e3916565b81611e2b57fe5b049392505050565b3b151590565b600082611e48575060006115d4565b82820282848281611e5557fe5b04146115d15760405162461bcd60e51b8152600401808060200182810382526021815260200180611f616021913960400191505060405180910390fd5b6000808211611ee8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611ef357fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e7472616374206973207061757365645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a7231582099ffc330f83cbd93ea5c827c0f9f0c8e88d2c0be241499dc9e0d9fc7f71eed3164736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"periodController","type":"address"},{"internalType":"address","name":"resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recoverAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"AssignedRewardTokensRecovered","type":"event","signature":"0x60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"ExchangeFeeRecorded","type":"event","signature":"0x927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf866"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"NewPeriodStarted","type":"event","signature":"0x4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a230732"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event","signature":"0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newPeriodController","type":"address"}],"name":"PeriodControllerChanged","type":"event","signature":"0xb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewards","type":"uint256"}],"name":"PeriodFinalizedWithRewards","type":"event","signature":"0xfa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"RewardsClaimed","type":"event","signature":"0xdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"address","name":"recoverAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensRecovered","type":"event","signature":"0x401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe6"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recoverAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"UnassignedRewardTokensRecovered","type":"event","signature":"0x14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"claimRewardsForPeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb225dbaa"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"periodIDs","type":"uint256[]"}],"name":"claimRewardsForPeriods","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf32ffd69"},{"constant":false,"inputs":[{"internalType":"uint256","name":"rewards","type":"uint256"}],"name":"closeCurrentPeriodWithRewards","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16841952"},{"constant":true,"inputs":[],"name":"getAvailableRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xfc9c99ac"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getAvailableRewardsForAccountForPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xce7fccba"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"periodIDs","type":"uint256[]"}],"name":"getAvailableRewardsForAccountForPeriods","outputs":[{"internalType":"uint256","name":"totalRewards","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf6b58479"},{"constant":true,"inputs":[],"name":"getCurrentPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x086146d2"},{"constant":true,"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodAvailableRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x706848d2"},{"constant":true,"inputs":[],"name":"getPeriodController","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdea021a5"},{"constant":true,"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodIsClaimable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x175c5189"},{"constant":true,"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodIsFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xccb6e043"},{"constant":true,"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodRecordedFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x55aa41bf"},{"constant":true,"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodTotalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x937ffb8f"},{"constant":true,"inputs":[],"name":"getRewardsToken","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6fe4136b"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getUnaccountedFeesForAccountForPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf61f5df6"},{"constant":true,"inputs":[],"name":"getUnassignedRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9865fdb7"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x91b4ded9"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c975abb"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":false,"inputs":[{"internalType":"uint256","name":"usdFeeAmount","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"recordExchangeFeeForAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x21cad774"},{"constant":false,"inputs":[{"internalType":"address","name":"recoverAddress","type":"address"},{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"recoverAssignedRewardTokensAndDestroyPeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xae934a7a"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"recoverAddress","type":"address"}],"name":"recoverTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x056097ac"},{"constant":false,"inputs":[{"internalType":"address","name":"recoverAddress","type":"address"}],"name":"recoverUnassignedRewardTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x38dfa8cf"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16c38b3c"},{"constant":false,"inputs":[{"internalType":"address","name":"newPeriodController","type":"address"}],"name":"setPeriodController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3dbf12fa"}],"source":{"keccak256":"0xbd78e356e87ea7ca505e365a1a21c5f84511c231a3531d61e7f0c4341ea80530","urls":["bzz-raw://7252dda708182a6cebf3c49e4de48b440cc3948e4216416b20dea5f75563bbb2","dweb:/ipfs/QmdqHfLopjqVqvuEGMfU16XvzK2znZsws4ieMNGVoiaErW"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"TradingRewards.sol":"TradingRewards"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"TradingRewards.sol":{"keccak256":"0xbd78e356e87ea7ca505e365a1a21c5f84511c231a3531d61e7f0c4341ea80530","urls":["bzz-raw://7252dda708182a6cebf3c49e4de48b440cc3948e4216416b20dea5f75563bbb2","dweb:/ipfs/QmdqHfLopjqVqvuEGMfU16XvzK2znZsws4ieMNGVoiaErW"]}},"version":1}},"DebtCache":{"bytecode":"60806040526008805461ff001960ff1990911660011716905534801561002457600080fd5b506040516134413803806134418339818101604052604081101561004757600080fd5b50805160209091015181818080836001600160a01b0381166100b0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b031990921691909117905550505050506133038061013e6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063741853601161010f578063af5355d8116100a2578063d0fffafd11610071578063d0fffafd14610707578063d685743a1461070f578063e3476cd414610732578063fc5247731461073a576101e5565b8063af5355d8146105f5578063b13cd785146105fd578063b7224ec71461066b578063cda218c714610699576101e5565b80638da5cb5b116100de5780638da5cb5b146105a55780638dd5bfbc146105ad5780639e3b92ca146105ca578063a5f27edb146105ed576101e5565b80637418536014610585578063759076e51461058d57806379ba509714610595578063899ffef41461059d576101e5565b80632992dba21161018757806342c7b8191161015657806342c7b8191461047d57806353a47bb71461049a578063614d08f8146104a25780636bf7c435146104aa576101e5565b80632992dba2146104085780632af64bd314610429578063392e53cd146104455780633a900a2e1461044d576101e5565b806307619a5f116101c357806307619a5f146102495780630fb38465146103075780631627540c1461032457806317b38db41461034a576101e5565b806304bd11e5146101ea57806304f3bcec1461020b578063053932621461022f575b600080fd5b6102096004803603602081101561020057600080fd5b50351515610742565b005b610213610756565b604080516001600160a01b039092168252519081900360200190f35b610237610765565b60408051918252519081900360200190f35b6102b76004803603602081101561025f57600080fd5b810190602081018135600160201b81111561027957600080fd5b82018360208201111561028b57600080fd5b803590602001918460208302840111600160201b831117156102ac57600080fd5b50909250905061076c565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102f35781810151838201526020016102db565b505050509050019250505060405180910390f35b6102376004803603602081101561031d57600080fd5b50356107b3565b6102096004803603602081101561033a57600080fd5b50356001600160a01b03166107c5565b6102096004803603604081101561036057600080fd5b810190602081018135600160201b81111561037a57600080fd5b82018360208201111561038c57600080fd5b803590602001918460208302840111600160201b831117156103ad57600080fd5b919390929091602081019035600160201b8111156103ca57600080fd5b8201836020820111156103dc57600080fd5b803590602001918460208302840111600160201b831117156103fd57600080fd5b509092509050610821565b61041061089c565b6040805192835290151560208301528051918290030190f35b610431610b21565b604080519115158252519081900360200190f35b610431610c2b565b610455610c39565b6040805194855260208501939093529015158383015215156060830152519081900360800190f35b6102096004803603602081101561049357600080fd5b5035610c6a565b610213610d93565b610237610da2565b610518600480360360208110156104c057600080fd5b810190602081018135600160201b8111156104da57600080fd5b8201836020820111156104ec57600080fd5b803590602001918460208302840111600160201b8311171561050d57600080fd5b509092509050610db2565b604051808060200185815260200184815260200183151515158152602001828103825286818151815260200191508051906020019060200280838360005b8381101561056e578181015183820152602001610556565b505050509050019550505050505060405180910390f35b610209610e05565b610410610fcd565b610209610fe0565b6102b761109c565b610213611230565b610209600480360360208110156105c357600080fd5b503561123f565b610209600480360360408110156105e057600080fd5b508035906020013561131b565b610431611389565b610237611392565b6102b76004803603602081101561061357600080fd5b810190602081018135600160201b81111561062d57600080fd5b82018360208201111561063f57600080fd5b803590602001918460208302840111600160201b8311171561066057600080fd5b5090925090506113a1565b6102096004803603604081101561068157600080fd5b506001600160a01b03813581169160200135166113df565b610209600480360360208110156106af57600080fd5b810190602081018135600160201b8111156106c957600080fd5b8201836020820111156106db57600080fd5b803590602001918460208302840111600160201b831117156106fc57600080fd5b5090925090506117aa565b61023761193f565b6102096004803603604081101561072557600080fd5b5080359060200135611945565b6102096119d2565b610431611c84565b61074a611c91565b61075381611cf7565b50565b6002546001600160a01b031681565b6004545b90565b60606107aa838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611d4492505050565b90505b92915050565b60009081526005602052604090205490565b6107cd611dd4565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610829611e1d565b6108968484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201829052509250611e97915050565b50505050565b60008060606108a961200d565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156108e157600080fd5b505afa1580156108f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561091e57600080fd5b8101908080516040519392919084600160201b82111561093d57600080fd5b90830190602082018581111561095257600080fd5b82518660208202830111600160201b8211171561096e57600080fd5b82525081516020918201928201910280838360005b8381101561099b578181015183820152602001610983565b505050509050016040525050509050606060006109b6612021565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015610a145781810151838201526020016109fc565b505050509050019250505060006040518083038186803b158015610a3757600080fd5b505afa158015610a4b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610a7457600080fd5b8101908080516040519392919084600160201b821115610a9357600080fd5b908301906020820185811115610aa857600080fd5b82518660208202830111600160201b82111715610ac457600080fd5b82525081516020918201928201910280838360005b83811015610af1578181015183820152602001610ad9565b50505050919091016040525060200151929450919250610b169150849050838361203c565b945094505050509091565b60006060610b2d61109c565b905060005b8151811015610c22576000828281518110610b4957fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610bb157600080fd5b505afa158015610bc5573d6000803e3d6000fd5b505050506040513d6020811015610bdb57600080fd5b50516001600160a01b0316141580610c0857506000818152600360205260409020546001600160a01b0316155b15610c195760009350505050610769565b50600101610b32565b50600191505090565b600854610100900460ff1681565b6007546004546008546000928392839283929190829060ff16610c5b82612255565b94509450945094505090919293565b610c72611c91565b6000610c7d8261226e565b90506000821315610cf357631cd554d160e21b60005260056020526000805160206132af83398151915254610cb8908263ffffffff61227916565b631cd554d160e21b60005260056020526000805160206132af83398151915255600454610ceb908263ffffffff61227916565b600455610d5a565b631cd554d160e21b60005260056020526000805160206132af83398151915254610d23908263ffffffff6122d316565b631cd554d160e21b60005260056020526000805160206132af83398151915255600454610d56908263ffffffff6122d316565b6004555b60045460408051918252517f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5999181900360200190a15050565b6001546001600160a01b031681565b6844656274436163686560b81b81565b60606000806000610df586868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061233092505050565b9299919850965090945092505050565b6060610e0f61109c565b905060005b8151811015610fc9576000828281518110610e2b57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610ee1578181015183820152602001610ec9565b50505050905090810190601f168015610f0e5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610f2c57600080fd5b505afa158015610f40573d6000803e3d6000fd5b505050506040513d6020811015610f5657600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610e14565b5050565b600080610fd861255c565b915091509091565b6001546001600160a01b031633146110295760405162461bcd60e51b81526004018080602001828103825260358152602001806132096035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806110a76128fc565b60408051600880825261012082019092529192506060919060208201610100803883390190505090506524b9b9bab2b960d11b816000815181106110e757fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061110d57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061113757fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061116057fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b8160048151811061118e57fe5b6020026020010181815250506d57726170706572466163746f727960901b816005815181106111b957fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b816006815181106111e257fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b8160078151811061121357fe5b602002602001018181525050611229828261294d565b9250505090565b6000546001600160a01b031681565b611247611dd4565b600061125161200d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561129457600080fd5b505afa1580156112a8573d6000803e3d6000fd5b505050506040513d60208110156112be57600080fd5b50516001600160a01b03161461130a576040805162461bcd60e51b815260206004820152600c60248201526b53796e74682065786973747360a01b604482015290519081900360640190fd5b600090815260056020526040812055565b611323612a09565b6000828152600660205260408120548201908112156113735760405162461bcd60e51b81526004018080602001828103825260248152602001806131e56024913960400191505060405180910390fd5b6000928352600660205260409092209190915550565b60085460ff1690565b600061139c612aff565b905090565b60606107aa838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612bae92505050565b6113e7611dd4565b600854610100900460ff161561143a576040805162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015290519081900360640190fd5b6008805461ff001916610100179055604080516372cb051f60e01b815290516060916001600160a01b038416916372cb051f91600480820192600092909190829003018186803b15801561148d57600080fd5b505afa1580156114a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156114ca57600080fd5b8101908080516040519392919084600160201b8211156114e957600080fd5b9083019060208201858111156114fe57600080fd5b82518660208202830111600160201b8211171561151a57600080fd5b82525081516020918201928201910280838360005b8381101561154757818101518382015260200161152f565b50505050905001604052505050905060008151116115ac576040805162461bcd60e51b815260206004820152601d60248201527f70726576696f75732049737375657220686173206e6f2073796e746873000000604482015290519081900360640190fd5b6060836001600160a01b03166307619a5f836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561160d5781810151838201526020016115f5565b505050509050019250505060006040518083038186803b15801561163057600080fd5b505afa158015611644573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561166d57600080fd5b8101908080516040519392919084600160201b82111561168c57600080fd5b9083019060208201858111156116a157600080fd5b82518660208202830111600160201b821117156116bd57600080fd5b82525081516020918201928201910280838360005b838110156116ea5781810151838201526020016116d2565b50505050905001604052505050905060008090505b82518110156117a357600082828151811061171657fe5b6020026020010151111561179b5761177082828151811061173357fe5b60200260200101516006600086858151811061174b57fe5b602002602001015181526020019081526020016000205461227990919063ffffffff16565b6006600085848151811061178057fe5b60200260200101518152602001908152602001600020819055505b6001016116ff565b5050505050565b6117b2612c36565b606060006117be612021565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561183057600080fd5b505afa158015611844573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561186d57600080fd5b8101908080516040519392919084600160201b82111561188c57600080fd5b9083019060208201858111156118a157600080fd5b82518660208202830111600160201b821117156118bd57600080fd5b82525081516020918201928201910280838360005b838110156118ea5781810151838201526020016118d2565b505050509190910160408181526020938401518a850280840186019092528a8352969850959650610896959094508993508892839250850190849080828437600092019190915250869250859150611e979050565b60075490565b61194d611c91565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061197d57fe5b602090810291909101015260408051600180825281830190925260609181602001602082028038833901905050905082816000815181106119ba57fe5b60200260200101818152505061089682826000611e97565b6119da612c36565b60606119e461200d565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611a5957600080fd5b8101908080516040519392919084600160201b821115611a7857600080fd5b908301906020820185811115611a8d57600080fd5b82518660208202830111600160201b82111715611aa957600080fd5b82525081516020918201928201910280838360005b83811015611ad6578181015183820152602001611abe565b50505050905001604052505050905060606000806000611af585612330565b6b11955515549154d7d111509560a21b600090815260056020527fb03402a6fc396b42a4a74df8120873f820800f1398191168ef707a9051d6d76e849055845194985092965090945092508491905b81811015611bae576000878281518110611b5a57fe5b60200260200101519050611b77818561227990919063ffffffff16565b935080600560008b8581518110611b8a57fe5b60209081029190910181015182528101919091526040016000205550600101611b44565b506c115610d31551115117d1115095609a1b600090815260056020527fbca14b7b4212dd98a4b255832d862779dccd9aba14592c2e2c4e62d4efc07bc7859055611bfe838663ffffffff612c9c16565b6004819055426007556040805182815290519192507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599919081900360200190a16040805142815290517fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f9181900360200190a1611c7a84611cf7565b5050505050505050565b600061139c600754612255565b611c9961200d565b6001600160a01b0316336001600160a01b031614611cf5576040805162461bcd60e51b815260206004820152601460248201527329b2b73232b91034b9903737ba1024b9b9bab2b960611b604482015290519081900360640190fd5b565b60085460ff16151581151514610753576008805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6060600082519050606081604051908082528060200260200182016040528015611d78578160200160208202803883390190505b50905060005b82811015611dcc5760066000868381518110611d9657fe5b6020026020010151815260200190815260200160002054828281518110611db957fe5b6020908102919091010152600101611d7e565b509392505050565b6000546001600160a01b03163314611cf55760405162461bcd60e51b815260040180806020018281038252602f81526020018061325f602f913960400191505060405180910390fd5b611e2561200d565b6001600160a01b0316336001600160a01b03161480611e5c5750611e47612cb7565b6001600160a01b0316336001600160a01b0316145b611cf55760405162461bcd60e51b815260040180806020018281038252602181526020018061323e6021913960400191505060405180910390fd5b825182518114611eee576040805162461bcd60e51b815260206004820152601a60248201527f496e707574206172726179206c656e6774687320646966666572000000000000604482015290519081900360640190fd5b6000806060611efd8787612cce565b905060005b84811015611f8c576000888281518110611f1857fe5b602002602001015190506000838381518110611f3057fe5b60200260200101519050611f6060056000848152602001908152602001600020548761227990919063ffffffff16565b9550611f72858263ffffffff61227916565b600092835260056020526040909220559250600101611f02565b50818314611ff557600454611fb784611fab838663ffffffff61227916565b9063ffffffff6122d316565b60048190556040805182815290519192507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599919081900360200190a1505b84156120045761200485611cf7565b50505050505050565b600061139c6524b9b9bab2b960d11b612f99565b600061139c6c45786368616e6765526174657360981b612f99565b60008060008061204a613076565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b8152600401604080518083038186803b15801561208157600080fd5b505afa158015612095573d6000803e3d6000fd5b505050506040513d60408110156120ab57600080fd5b50805160209091015190925090506000806120c4613076565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b1580156120fb57600080fd5b505afa15801561210f573d6000803e3d6000fd5b505050506040513d604081101561212557600080fd5b5080516020909101519092509050868061213c5750825b806121445750805b9450612156848363ffffffff61227916565b95506121d4612163613095565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561219b57600080fd5b505afa1580156121af573d6000803e3d6000fd5b505050506040513d60208110156121c557600080fd5b5051879063ffffffff61227916565b955060005b89518110156122485761223e6122318a83815181106121f457fe5b6020026020010151600660008e868151811061220c57fe5b60200260200101518152602001908152602001600020546130af90919063ffffffff16565b889063ffffffff61227916565b96506001016121d9565b5050505050935093915050565b6000814203612262612aff565b10806107ad5750501590565b60006107ad826130c4565b6000828201838110156107aa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008282111561232a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060600080600060606000612343612021565b6001600160a01b031663c8e5bbd5886040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156123a1578181015183820152602001612389565b505050509050019250505060006040518083038186803b1580156123c457600080fd5b505afa1580156123d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561240157600080fd5b8101908080516040519392919084600160201b82111561242057600080fd5b90830190602082018581111561243557600080fd5b82518660208202830111600160201b8211171561245157600080fd5b82525081516020918201928201910280838360005b8381101561247e578181015183820152602001612466565b50505050919091016040525060200151929450919250606091506124a490508884612cce565b90506000806124b48a868661203c565b915091506000806124c36130da565b6001600160a01b031663fc7b9c186040518163ffffffff1660e01b8152600401604080518083038186803b1580156124fa57600080fd5b505afa15801561250e573d6000803e3d6000fd5b505050506040513d604081101561252457600080fd5b5080516020909101519092509050848285888061253e5750835b806125465750855b9a509a509a509a50505050505050509193509193565b600080606061256961200d565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156125a157600080fd5b505afa1580156125b5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156125de57600080fd5b8101908080516040519392919084600160201b8211156125fd57600080fd5b90830190602082018581111561261257600080fd5b82518660208202830111600160201b8211171561262e57600080fd5b82525081516020918201928201910280838360005b8381101561265b578181015183820152602001612643565b50505050905001604052505050905060606000612676612021565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156126d45781810151838201526020016126bc565b505050509050019250505060006040518083038186803b1580156126f757600080fd5b505afa15801561270b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561273457600080fd5b8101908080516040519392919084600160201b82111561275357600080fd5b90830190602082018581111561276857600080fd5b82518660208202830111600160201b8211171561278457600080fd5b82525081516020918201928201910280838360005b838110156127b1578181015183820152602001612799565b50505050919091016040525060200151929450919250606091506127d790508484612cce565b90506000806127e786868661203c565b845191935091506000805b8281101561282a5761282086828151811061280957fe5b60200260200101518361227990919063ffffffff16565b91506001016127f2565b506000806128366130da565b6001600160a01b031663fc7b9c186040518163ffffffff1660e01b8152600401604080518083038186803b15801561286d57600080fd5b505afa158015612881573d6000803e3d6000fd5b505050506040513d604081101561289757600080fd5b50805160209091015190925090506128b5838363ffffffff61227916565b92508583106128d3576128ce838763ffffffff6122d316565b6128d6565b60005b92508288806128e25750815b806128ea5750855b9b509b50505050505050505050509091565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061293e57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561297d578160200160208202803883390190505b50905060005b83518110156129bf5783818151811061299857fe5b60200260200101518282815181106129ac57fe5b6020908102919091010152600101612983565b5060005b8251811015612a02578281815181106129d857fe5b60200260200101518282865101815181106129ef57fe5b60209081029190910101526001016129c3565b5092915050565b6000612a136130fc565b6001600160a01b031663e0aa2797336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612a6857600080fd5b505afa158015612a7c573d6000803e3d6000fd5b505050506040513d6020811015612a9257600080fd5b50516000549091506001600160a01b031633148080612aae5750815b610fc9576040805162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920646562742069737375657273206d61792063616c6c207468697300604482015290519081900360640190fd5b6000612b09613118565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612b7d57600080fd5b505afa158015612b91573d6000803e3d6000fd5b505050506040513d6020811015612ba757600080fd5b5051905090565b6060600082519050606081604051908082528060200260200182016040528015612be2578160200160208202803883390190505b50905060005b82811015611dcc5760056000868381518110612c0057fe5b6020026020010151815260200190815260200160002054828281518110612c2357fe5b6020908102919091010152600101612be8565b6000546001600160a01b03163314611cf557612c50613135565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015612c8857600080fd5b505afa158015610896573d6000803e3d6000fd5b600082821015612cae578183036107aa565b50600092915050565b600061139c6822bc31b430b733b2b960b91b612f99565b606060008351905080604051908082528060200260200182016040528015612d00578160200160208202803883390190505b5091506060612d0d61200d565b6001600160a01b0316633b6afe40866040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612d6b578181015183820152602001612d53565b505050509050019250505060006040518083038186803b158015612d8e57600080fd5b505afa158015612da2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015612dcb57600080fd5b8101908080516040519392919084600160201b821115612dea57600080fd5b908301906020820185811115612dff57600080fd5b82518660208202830111600160201b82111715612e1b57600080fd5b82525081516020918201928201910280838360005b83811015612e48578181015183820152602001612e30565b50505050905001604052505050905060008090505b82811015612f90576000828281518110612e7357fe5b6020026020010151905060006001600160a01b0316816001600160a01b03161415612edc576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f1757600080fd5b505afa158015612f2b573d6000803e3d6000fd5b505050506040513d6020811015612f4157600080fd5b50518751909150612f6f90889085908110612f5857fe5b6020026020010151826130af90919063ffffffff16565b868481518110612f7b57fe5b60209081029190910101525050600101612e5d565b50505092915050565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612a025760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561303b578181015183820152602001613023565b50505050905090810190601f1680156130685780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600061139c7021b7b63630ba32b930b626b0b730b3b2b960791b612f99565b600061139c6b22ba3432b92bb930b83832b960a11b612f99565b60006107aa8383670de0b6b3a764000061314f565b60008082126130d357816107ad565b5060000390565b600061139c73233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b612f99565b600061139c6d57726170706572466163746f727960901b612f99565b600061139c6e466c657869626c6553746f7261676560881b612f99565b600061139c6b53797374656d53746174757360a01b612f99565b600080600a8304613166868663ffffffff61318b16565b8161316d57fe5b0490506005600a82061061317f57600a015b600a9004949350505050565b60008261319a575060006107ad565b828202828482816131a757fe5b04146107aa5760405162461bcd60e51b815260040180806020018281038252602181526020018061328e6021913960400191505060405180910390fdfe4578636c7564656420646562742063616e6e6f74206265636f6d65206e65676174697665596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053656e646572206973206e6f7420497373756572206f722045786368616e6765724f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7774c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823fa265627a7a723158202400349b111f11971a00e184852baa1066b223ca1073e686cd4d88dad61c585864736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"DebtCacheSnapshotTaken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"cachedDebt","type":"uint256"}],"name":"DebtCacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"isInvalid","type":"bool"}],"name":"DebtCacheValidityChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cacheInfo","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"},{"internalType":"bool","name":"isStale","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cacheInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cacheStale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cacheTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cachedDebt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"cachedSynthDebt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"cachedSynthDebts","outputs":[{"internalType":"uint256[]","name":"snxIssuedDebts","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentDebt","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"currentSynthDebts","outputs":[{"internalType":"uint256[]","name":"debtValues","type":"uint256[]"},{"internalType":"uint256","name":"futuresDebt","type":"uint256"},{"internalType":"uint256","name":"excludedDebt","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"debtSnapshotStaleTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"excludedIssuedDebts","outputs":[{"internalType":"uint256[]","name":"excludedDebts","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IDebtCache","name":"prevDebtCache","type":"address"},{"internalType":"contract IIssuer","name":"prevIssuer","type":"address"}],"name":"importExcludedIssuedDebts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"purgeCachedSynthDebt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"int256","name":"delta","type":"int256"}],"name":"recordExcludedDebtChange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"takeDebtSnapshot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalNonSnxBackedDebt","outputs":[{"internalType":"uint256","name":"excludedDebt","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"currencyRate","type":"uint256"}],"name":"updateCachedSynthDebtWithRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"updateCachedSynthDebts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256[]","name":"currencyRates","type":"uint256[]"}],"name":"updateCachedSynthDebtsWithRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"int256","name":"amount","type":"int256"}],"name":"updateCachedsUSDDebt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"currentlyInvalid","type":"bool"}],"name":"updateDebtCacheValidity","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x1140dbb0909dd19e64d449d716798fc190c55238dce804eaf35d4f383ec1ae05","urls":["bzz-raw://95e5e71d093af7b280e741894ea69579f7afaab7f9552b3833fa38ab78c4cfd1","dweb:/ipfs/QmPuekBASUQ7SzezYp7cH64y9eVHdQzmGRS7sj4muUYcA1"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"DebtCache.sol":"DebtCache"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"DebtCache.sol":{"keccak256":"0x1140dbb0909dd19e64d449d716798fc190c55238dce804eaf35d4f383ec1ae05","urls":["bzz-raw://95e5e71d093af7b280e741894ea69579f7afaab7f9552b3833fa38ab78c4cfd1","dweb:/ipfs/QmPuekBASUQ7SzezYp7cH64y9eVHdQzmGRS7sj4muUYcA1"]}},"version":1}},"ExchangerWithVirtualSynth":{"bytecode":"60806040523480156200001157600080fd5b506040516200436338038062004363833981810160405260408110156200003757600080fd5b50805160209091015181818080836001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050505061423380620001306000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806353a47bb7116100de5780638925711711610097578063c193f0d811610071578063c193f0d8146104ea578063ce096940146104f2578063d6f32e0614610515578063f450aa34146105415761018e565b80638925711714610482578063899ffef41461048a5780638da5cb5b146104e25761018e565b806353a47bb71461042857806357af302c14610430578063614d08f81461044d578063741853601461045557806379ba50971461045d5780637dd1a57a146104655761018e565b80631b16802c1161014b578063372a395a11610125578063372a395a1461035d5780633fa70f45146103655780634c268fc81461036d5780634f8633d2146103a55761018e565b80631b16802c146102a757806324286df0146102d35780632af64bd3146103415761018e565b806304f3bcec14610193578063059c29ec146101b75780630b9e31c9146101f55780631627540c1461021457806319d5c6651461023a5780631a5c609514610284575b600080fd5b61019b61056a565b604080516001600160a01b039092168252519081900360200190f35b6101e3600480360360408110156101cd57600080fd5b506001600160a01b038135169060200135610579565b60408051918252519081900360200190f35b6102126004803603602081101561020b57600080fd5b503561061d565b005b6102126004803603602081101561022a57600080fd5b50356001600160a01b031661087c565b6102666004803603604081101561025057600080fd5b506001600160a01b0381351690602001356108d8565b60408051938452602084019290925282820152519081900360600190f35b6101e36004803603604081101561029a57600080fd5b50803590602001356108f6565b610266600480360360408110156102bd57600080fd5b506001600160a01b038135169060200135610902565b610212600480360360208110156102e957600080fd5b810190602081018135600160201b81111561030357600080fd5b82018360208201111561031557600080fd5b803590602001918460208302840111600160201b8311171561033657600080fd5b509092509050610983565b610349610b80565b604080519115158252519081900360200190f35b6101e3610c8b565b6101e3610c9a565b6101e36004803603608081101561038357600080fd5b506001600160a01b038135169060208101359060408101359060600135610c9f565b61040760048036036101208110156103bc57600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a081013582169160c082013515159160e0810135909116906101000135610dbf565b604080519283526001600160a01b0390911660208301528051918290030190f35b61019b6110f8565b6103496004803603602081101561044657600080fd5b5035611107565b6101e3611160565b610212611184565b61021261134c565b6101e36004803603602081101561047b57600080fd5b5035611408565b6101e361141a565b610492611424565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104ce5781810151838201526020016104b6565b505050509050019250505060405180910390f35b61019b611499565b6103496114a8565b6102126004803603604081101561050857600080fd5b50803590602001356114b2565b6103496004803603604081101561052b57600080fd5b506001600160a01b03813516906020013561157a565b6102666004803603606081101561055757600080fd5b50803590602081013590604001356115ac565b6002546001600160a01b031681565b60006106146105866115cc565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156105e357600080fd5b505afa1580156105f7573d6000803e3d6000fd5b505050506040513d602081101561060d57600080fd5b50516115e7565b90505b92915050565b610625611646565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561065d57600080fd5b505afa158015610671573d6000803e3d6000fd5b5050505060006001600160a01b0316610688611660565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156106cb57600080fd5b505afa1580156106df573d6000803e3d6000fd5b505050506040513d60208110156106f557600080fd5b50516001600160a01b03161415610743576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b6107c38161074f611674565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561079257600080fd5b505afa1580156107a6573d6000803e3d6000fd5b505050506040513d60208110156107bc57600080fd5b505161168f565b61080b576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b610813611646565b6001600160a01b031663abc0bb6e8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561086157600080fd5b505af1158015610875573d6000803e3d6000fd5b5050505050565b6108846118db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008060006108e78585611926565b50919790965090945092505050565b60006106148383611bf4565b600080600061090f611646565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561095257600080fd5b505afa158015610966573d6000803e3d6000fd5b5050505061097685856001611cb2565b9250925092509250925092565b61098b6118db565b60606000610997611674565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b158015610a0957600080fd5b505afa158015610a1d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610a4657600080fd5b8101908080516040519392919084600160201b821115610a6557600080fd5b908301906020820185811115610a7a57600080fd5b82518660208202830111600160201b82111715610a9657600080fd5b82525081516020918201928201910280838360005b83811015610ac3578181015183820152602001610aab565b505050509190910160405250602001519294509192505081159050610b2f576040805162461bcd60e51b815260206004820181905260248201527f526174657320666f7220676976656e2073796e746873206e6f742076616c6964604482015290519081900360640190fd5b60005b8381101561087557828181518110610b4657fe5b602002602001015160046000878785818110610b5e57fe5b6020908102929092013583525081019190915260400160002055600101610b32565b60006060610b8c611424565b905060005b8151811015610c81576000828281518110610ba857fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610c1057600080fd5b505afa158015610c24573d6000803e3d6000fd5b505050506040513d6020811015610c3a57600080fd5b50516001600160a01b0316141580610c6757506000818152600360205260409020546001600160a01b0316155b15610c785760009350505050610c88565b50600101610b91565b5060019150505b90565b6000610c95612037565b905090565b604181565b816000610caa611660565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ced57600080fd5b505afa158015610d01573d6000803e3d6000fd5b505050506040513d6020811015610d1757600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610d6357600080fd5b505afa158015610d77573d6000803e3d6000fd5b505050506040513d6020811015610d8d57600080fd5b5051905080821115610d9d578091505b8215610db657610db3828463ffffffff6120ee16565b91505b50949350505050565b6000806000610dcc612148565b9050336001600160a01b0382161480610e595750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610e2a57600080fd5b505afa158015610e3e573d6000803e3d6000fd5b505050506040513d6020811015610e5457600080fd5b505114155b610e945760405162461bcd60e51b81526004018080602001828103825260458152602001806141256045913960600191505060405180910390fd5b60008c6001600160a01b03168c6001600160a01b031614610fa357610eb761215f565b6001600160a01b031663faf431bb8e8e6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b03168152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b158015610f2657600080fd5b505afa158015610f3a573d6000803e3d6000fd5b505050506040513d6020811015610f5057600080fd5b5051610fa3576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b610fb18d8c8c8c8c8c61217e565b91955090935090508015801590610fd057506001600160a01b03861615155b8015610fdf5750610fdf612590565b1561106457610fec61260e565b6001600160a01b03166321cad77482886040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561104b57600080fd5b505af115801561105f573d6000803e3d6000fd5b505050505b84156110e857611072612148565b6001600160a01b0316632d3169eb868b87856040518563ffffffff1660e01b815260040180858152602001848152602001838152602001828152602001945050505050600060405180830381600087803b1580156110cf57600080fd5b505af11580156110e3573d6000803e3d6000fd5b505050505b5050995099975050505050505050565b6001546001600160a01b031681565b600061115882611115611674565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561079257600080fd5b90505b919050565b7f45786368616e676572576974685669727475616c53796e74680000000000000081565b606061118e611424565b905060005b81518110156113485760008282815181106111aa57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611260578181015183820152602001611248565b50505050905090810190601f16801561128d5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156112ab57600080fd5b505afa1580156112bf573d6000803e3d6000fd5b505050506040513d60208110156112d557600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611193565b5050565b6001546001600160a01b031633146113955760405162461bcd60e51b81526004018080602001828103825260358152602001806140f06035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60046020526000908152604090205481565b6000610c9561262a565b60608061142f6126a4565b6040805160018082528183019092529192506060919060208083019080388339019050509050755669727475616c53796e74684d6173746572636f707960501b8160008151811061147c57fe5b6020026020010181815250506114928282612835565b9250505090565b6000546001600160a01b031681565b6000610c95612590565b60006114bc611674565b9050336001600160a01b0382161461151b576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b60008211611567576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526004602052604090912055565b60006115868383610579565b1561159357506001610617565b600061159f8484611926565b5050501515949350505050565b60008060006115bc8686866128f1565b5092999198509650945050505050565b6000610c956c45786368616e6765537461746560981b6129cb565b6000806115f261262a565b9050821580611610575061160c838263ffffffff6120ee16565b4210155b1561161f57600091505061115b565b61163f42611633858463ffffffff6120ee16565b9063ffffffff612aa816565b9392505050565b6000610c956b53797374656d53746174757360a01b6129cb565b6000610c956524b9b9bab2b960d11b6129cb565b6000610c956c45786368616e6765526174657360981b6129cb565b60008161169e57506001610617565b60008381526004602052604090205480156116c5576116bd8184612b05565b915050610617565b60606116cf611674565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b15801561171b57600080fd5b505afa15801561172f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561175857600080fd5b8101908080516040519392919084600160201b82111561177757600080fd5b90830190602082018581111561178c57600080fd5b82518660208202830111600160201b821117156117a857600080fd5b82525081516020918201928201910280838360005b838110156117d55781810151838201526020016117bd565b5050505090500160405260200180516040519392919084600160201b8211156117fd57600080fd5b90830190602082018581111561181257600080fd5b82518660208202830111600160201b8211171561182e57600080fd5b82525081516020918201928201910280838360005b8381101561185b578181015183820152602001611843565b505050509050016040525050505090506000600190505b81518110156118cf57600082828151811061188957fe5b60200260200101511180156118b657506118b68282815181106118a857fe5b602002602001015186612b05565b156118c75760019350505050610617565b600101611872565b50600095945050505050565b6000546001600160a01b031633146119245760405162461bcd60e51b815260040180806020018281038252602f81526020018061416a602f913960400191505060405180910390fd5b565b600080600060606119356115cc565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561199257600080fd5b505afa1580156119a6573d6000803e3d6000fd5b505050506040513d60208110156119bc57600080fd5b50516040805182815260208084028201019091529092506060908380156119fd57816020015b6119ea6140a4565b8152602001906001900390816119e25790505b50905060005b83811015611be857600080611a166140a4565b611a218b8b86612b64565b9050600080611a2f83612c7f565b915091506000611a3d611674565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b158015611aac57600080fd5b505afa158015611ac0573d6000803e3d6000fd5b505050506040513d6020811015611ad657600080fd5b50516080850151909150600090611aee908390612dd2565b9050611afe856060015182612b05565b611b73578085606001511115611b3c576060850151611b23908263ffffffff612aa816565b9650611b358d8863ffffffff6120ee16565b9c50611b73565b8460600151811115611b73576060850151611b5e90829063ffffffff612aa816565b9550611b708c8763ffffffff6120ee16565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a00151815250898981518110611bc957fe5b6020026020010181905250505050505050508080600101915050611a03565b50905092959194509250565b6000611bff82612e64565b9050631cd554d160e21b831480611c1c5750631cd554d160e21b82145b15611c2657610617565b607360f81b6001600160f81b0319600085901a60f81b16148015611c5e5750606960f81b6001600160f81b0319600084901a60f81b16145b80611c9c5750606960f81b6001600160f81b0319600085901a60f81b16148015611c9c5750607360f81b6001600160f81b0319600084901a60f81b16145b156106175761061481600263ffffffff612f3c16565b6000806000611cc18686610579565b15611cfd5760405162461bcd60e51b81526004018080602001828103825260238152602001806141dc6023913960400191505060405180910390fd5b60008060006060611d0e8a8a611926565b935093509350935082841115611d4057611d2e848463ffffffff612aa816565b9650611d3b8a8a89612f95565b611d65565b83831115611d6557611d58838563ffffffff612aa816565b9550611d658a8a88613102565b878015611d7c57506000871180611d7c5750600086115b15611e6257604080516001808252818301909252606091602080830190803883390190505090508981600081518110611db157fe5b602002602001018181525050611dc5613252565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611e23578181015183820152602001611e0b565b5050505090500192505050600060405180830381600087803b158015611e4857600080fd5b505af1158015611e5c573d6000803e3d6000fd5b50505050505b60005b8151811015611fa7578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940838381518110611ea557fe5b602002602001015160000151848481518110611ebd57fe5b602002602001015160200151858581518110611ed557fe5b602002602001015160400151868681518110611eed57fe5b602002602001015160600151878781518110611f0557fe5b602002602001015160800151888881518110611f1d57fe5b602002602001015160a00151898981518110611f3557fe5b602002602001015160c001518a8a81518110611f4d57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101611e65565b50819450611fb36115cc565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561201257600080fd5b505af1158015612026573d6000803e3d6000fd5b505050505050505093509350939050565b6000612041613269565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156120bd57600080fd5b505afa1580156120d1573d6000803e3d6000fd5b505050506040513d60208110156120e757600080fd5b5051905090565b600082820183811015610614576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610c95680a6f2dce8d0cae8d2f60bb1b6129cb565b6000610c957044656c6567617465417070726f76616c7360781b6129cb565b600080600061218e888888613286565b600061219b888b8b61345f565b9050806121b2575060009250829150819050612584565b60008060006121c2848d8c6128f1565b939a509198509450925090506121d88c83613497565b806121e857506121e88a82613497565b1561220157506000955085945084935061258492505050565b6122108c8e868d8b8e8e613532565b94506001600160a01b03851615612225578498505b851561247e57612233611674565b6001600160a01b031663654a60ac8b88631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561228d57600080fd5b505afa1580156122a1573d6000803e3d6000fd5b505050506040513d60208110156122b757600080fd5b505195506122c3611660565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561230d57600080fd5b505afa158015612321573d6000803e3d6000fd5b505050506040513d602081101561233757600080fd5b50516001600160a01b031663867904b461234f613810565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561238757600080fd5b505afa15801561239b573d6000803e3d6000fd5b505050506040513d60208110156123b157600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018a905251604480830192600092919082900301818387803b15801561240057600080fd5b505af1158015612414573d6000803e3d6000fd5b50505050612420613810565b6001600160a01b03166322bf55ef876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561246557600080fd5b505af1158015612479573d6000803e3d6000fd5b505050505b6124b060405180604001604052808e81526020018c815250604051806040016040528085815260200184815250613825565b6124b8612148565b6001600160a01b0316636c00f3108e8e878e8c8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b15801561254957600080fd5b505af115801561255d573d6000803e3d6000fd5b50505050600061256b61262a565b111561257f5761257f898d868d8b88613ae3565b505050505b96509650969350505050565b600061259a613269565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156120bd57600080fd5b6000610c956d54726164696e675265776172647360901b6129cb565b6000612634613269565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156120bd57600080fd5b6060806126af613cf4565b60408051600980825261014082019092529192506060919060208201610120803883390190505090506b53797374656d53746174757360a01b816000815181106126f557fe5b6020026020010181815250506c45786368616e6765537461746560981b8160018151811061271f57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061274957fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061276f57fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061279357fe5b6020026020010181815250506d54726164696e675265776172647360901b816005815181106127be57fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b816006815181106127ec57fe5b6020026020010181815250506524b9b9bab2b960d11b8160078151811061280f57fe5b6020026020010181815250506844656274436163686560b81b8160088151811061147c57fe5b60608151835101604051908082528060200260200182016040528015612865578160200160208202803883390190505b50905060005b83518110156128a75783818151811061288057fe5b602002602001015182828151811061289457fe5b602090810291909101015260010161286b565b5060005b82518110156128ea578281815181106128c057fe5b60200260200101518282865101815181106128d757fe5b60209081029190910101526001016128ab565b5092915050565b600080600080600080612902611674565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b15801561295557600080fd5b505afa158015612969573d6000803e3d6000fd5b505050506040513d606081101561297f57600080fd5b5080516020820151604090920151919450909250905061299f8888611bf4565b93506129ab8185612dd2565b95506129bd818763ffffffff612aa816565b945050939792965093509350565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816128ea5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a6d578181015183820152602001612a55565b50505050905090810190601f168015612a9a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600082821115612aff576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000821580612b12575081155b15612b1f57506001610617565b600083831115612b4057612b39838563ffffffff613d4516565b9050612b53565b612b50848463ffffffff613d4516565b90505b612b5b612037565b11159392505050565b612b6c6140a4565b600080600080600080600080612b806115cc565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b158015612be657600080fd5b505afa158015612bfa573d6000803e3d6000fd5b505050506040513d610100811015612c1157600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b6000806000612c8c611674565b90506000612c9861262a565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b158015612d0257600080fd5b505afa158015612d16573d6000803e3d6000fd5b505050506040513d6020811015612d2c57600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b158015612d9c57600080fd5b505afa158015612db0573d6000803e3d6000fd5b505050506040513d6020811015612dc657600080fd5b50519395939450505050565b6000610614612e578373__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612e1f57600080fd5b505af4158015612e33573d6000803e3d6000fd5b505050506040513d6020811015612e4957600080fd5b50519063ffffffff612aa816565b849063ffffffff613d6f16565b6000612e6e613269565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612f0a57600080fd5b505afa158015612f1e573d6000803e3d6000fd5b505050506040513d6020811015612f3457600080fd5b505192915050565b600082612f4b57506000610617565b82820282848281612f5857fe5b04146106145760405162461bcd60e51b81526004018080602001828103825260218152602001806141996021913960400191505060405180910390fd5b612f9d611660565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612fe057600080fd5b505afa158015612ff4573d6000803e3d6000fd5b505050506040513d602081101561300a57600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b15801561305e57600080fd5b505af1158015613072573d6000803e3d6000fd5b5050505061307e612148565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156130e557600080fd5b505af11580156130f9573d6000803e3d6000fd5b50505050505050565b61310a611660565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561314d57600080fd5b505afa158015613161573d6000803e3d6000fd5b505050506040513d602081101561317757600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b1580156131cb57600080fd5b505af11580156131df573d6000803e3d6000fd5b505050506131eb612148565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156130e557600080fd5b6000610c956844656274436163686560b81b6129cb565b6000610c956e466c657869626c6553746f7261676560881b6129cb565b808314156132d1576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b60008211613314576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b6040805160028082526060808301845292602083019080388339019050509050838160008151811061334257fe5b602002602001018181525050818160018151811061335c57fe5b602002602001018181525050613370611674565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156133ce5781810151838201526020016133b6565b505050509050019250505060206040518083038186803b1580156133f157600080fd5b505afa158015613405573d6000803e3d6000fd5b505050506040513d602081101561341b57600080fd5b5051156134595760405162461bcd60e51b81526004018080602001828103825260228152602001806141ba6022913960400191505060405180910390fd5b50505050565b600080600061347085856000611cb2565b889550909350915050801561348e5761348b85858885610c9f565b92505b50509392505050565b60006134a3838361168f565b1561351f576134b0611646565b6001600160a01b031663abc0bb6e8460416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156134fe57600080fd5b505af1158015613512573d6000803e3d6000fd5b5050505060019050610617565b6000928352600460205260409092205590565b600061353c611660565b6001600160a01b03166332608039896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561357f57600080fd5b505afa158015613593573d6000803e3d6000fd5b505050506040513d60208110156135a957600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b1580156135fd57600080fd5b505af1158015613611573d6000803e3d6000fd5b50505050600061361f611660565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561366257600080fd5b505afa158015613676573d6000803e3d6000fd5b505050506040513d602081101561368c57600080fd5b50519050821561378b57600081905061370b816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b1580156136d757600080fd5b505afa1580156136eb573d6000803e3d6000fd5b505050506040513d602081101561370157600080fd5b505186888a613d99565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561376d57600080fd5b505af1158015613781573d6000803e3d6000fd5b5050505050613804565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156137eb57600080fd5b505af11580156137ff573d6000803e3d6000fd5b505050505b50979650505050505050565b6000610c9566119959541bdbdb60ca1b6129cb565b8151600090631cd554d160e21b148061384857506020830151631cd554d160e21b145b905060008161385857600361385b565b60025b60ff16905060608160405190808252806020026020018201604052801561388c578160200160208202803883390190505b5090508460006020020151816000815181106138a457fe5b60209081029190910101528460016020020151816001815181106138c457fe5b6020026020010181815250506060826040519080825280602002602001820160405280156138fc578160200160208202803883390190505b50905084600060200201518160008151811061391457fe5b602090810291909101015284600160200201518160018151811061393457fe5b602002602001018181525050836139f257631cd554d160e21b8260028151811061395a57fe5b60200260200101818152505073__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156139aa57600080fd5b505af41580156139be573d6000803e3d6000fd5b505050506040513d60208110156139d457600080fd5b50518151829060029081106139e557fe5b6020026020010181815250505b6139fa613252565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613a5d578181015183820152602001613a45565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613a9c578181015183820152602001613a84565b50505050905001945050505050600060405180830381600087803b158015613ac357600080fd5b505af1158015613ad7573d6000803e3d6000fd5b50505050505050505050565b6000613aed611674565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613b3557600080fd5b505afa158015613b49573d6000803e3d6000fd5b505050506040513d6020811015613b5f57600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b158015613bae57600080fd5b505afa158015613bc2573d6000803e3d6000fd5b505050506040513d6020811015613bd857600080fd5b50519050613be46115cc565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b158015613c6957600080fd5b505af1158015613c7d573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110613d3657fe5b60200260200101818152505090565b600061061482613d6385670de0b6b3a764000063ffffffff612f3c16565b9063ffffffff613f2e16565b6000670de0b6b3a7640000613d8a848463ffffffff612f3c16565b81613d9157fe5b049392505050565b6000606960f81b6001600160f81b031983831a60f81b161415613e03576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732073796e746800000000604482015290519081900360640190fd5b6000613e4b613e10613f98565b6040518060400160405280601b81526020017f436f756c64206e6f7420637265617465206e6577207653796e74680000000000815250613fbc565b60025460408051638d7017d360e01b81526001600160a01b038a81166004830152928316602482015288831660448201526064810188905260848101879052905192935090831691638d7017d39160a48082019260009290919082900301818387803b158015613eba57600080fd5b505af1158015613ece573d6000803e3d6000fd5b5050604080516001600160a01b038581168252602082018890528183018990529151828a169450918a1692507fb5ec76d79549c775883022e4426db5cd36bd5307f216cdb341554c301548ef9f919081900360600190a395945050505050565b6000808211613f84576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613f8f57fe5b04949350505050565b6000610c95755669727475616c53796e74684d6173746572636f707960501b6129cb565b60006060613fc984614034565b90506037602082016000f09150826001600160a01b03831661402c5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612a6d578181015183820152602001612a55565b505092915050565b60408051693d602d80600a3d3981f360b01b602082015269363d3d373d3d3d363d7360b01b602a82015260609290921b6bffffffffffffffffffffffff191660348301526e5af43d82803e903d91602b57fd5bf360881b6048830152805180830360370181526057909201905290565b6040518061010001604052806000801916815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a72315820500914a952fa6ffe38741d57f18a348e355824c127f8a6899b188f72cf3713af64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amountReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"name":"ExchangeEntryAppended","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reclaim","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rebate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"srcRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"destRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeTimestamp","type":"uint256"}],"name":"ExchangeEntrySettled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"synth","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"address","name":"vSynth","type":"address"},{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"VirtualSynthCreated","type":"event"},{"constant":true,"inputs":[],"name":"CIRCUIT_BREAKER_SUSPENSION_REASON","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"}],"name":"calculateAmountAfterSettlement","outputs":[{"internalType":"uint256","name":"amountAfterSettlement","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"exchangeForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"destinationAddress","type":"address"},{"internalType":"bool","name":"virtualSynth","type":"bool"},{"internalType":"address","name":"rewardAddress","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"contract IVirtualSynth","name":"vSynth","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"feeRateForExchange","outputs":[{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"getAmountsForExchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"hasWaitingPeriodOrSettlementOwing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"isSynthRateInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"lastExchangeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"maxSecsLeftInWaitingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"priceDeviationThresholdFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"resetLastExchangeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setLastExchangeRateForSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settle","outputs":[{"internalType":"uint256","name":"reclaimed","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"},{"internalType":"uint256","name":"numEntriesSettled","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settlementOwing","outputs":[{"internalType":"uint256","name":"reclaimAmount","type":"uint256"},{"internalType":"uint256","name":"rebateAmount","type":"uint256"},{"internalType":"uint256","name":"numEntries","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"suspendSynthWithInvalidRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tradingRewardsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"waitingPeriodSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x059aa9b7964b0808f8cd484d5f281c3d13141a379af7c58b781c4b62839e79d2","urls":["bzz-raw://153aed1de3b6ee4c942440aa0e1e95f3c51197569b0fd5f603acdd6f38df2192","dweb:/ipfs/QmUSg1MHssQvB6Drh8FM4LF2KxQL7bPwnK16y96cY2eYJG"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ExchangerWithVirtualSynth.sol":"ExchangerWithVirtualSynth"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"ExchangerWithVirtualSynth.sol":{"keccak256":"0x059aa9b7964b0808f8cd484d5f281c3d13141a379af7c58b781c4b62839e79d2","urls":["bzz-raw://153aed1de3b6ee4c942440aa0e1e95f3c51197569b0fd5f603acdd6f38df2192","dweb:/ipfs/QmUSg1MHssQvB6Drh8FM4LF2KxQL7bPwnK16y96cY2eYJG"]}},"version":1}},"CollateralManagerState":{"bytecode":"60806040523480156200001157600080fd5b50604051620011b2380380620011b2833981016040819052620000349162000190565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f906200029d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000265565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f906200028b565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906200013690839062000255565b60405180910390a150506004805460018101825560009182527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01555042600555620002f8565b80516200018a81620002de565b92915050565b60008060408385031215620001a457600080fd5b6000620001b285856200017d565b9250506020620001c5858286016200017d565b9150509250929050565b620001da81620002ca565b82525050565b620001da81620002b8565b6000620001fa601183620002af565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000229601983620002af565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200018a8284620001e0565b60408101620002758285620001cf565b620002846020830184620001e0565b9392505050565b602080825281016200018a81620001eb565b602080825281016200018a816200021a565b90815260200190565b60006001600160a01b0382166200018a565b60006200018a8260006200018a82620002b8565b620002e981620002b8565b8114620002f557600080fd5b50565b610eaa80620003086000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638c58250311610104578063cc952b57116100a2578063e50a31b311610071578063e50a31b31461038f578063eb94bbde146103a2578063ed039154146103b5578063f53037b6146103c8576101cf565b8063cc952b571461034e578063d2f0047514610356578063e31f27c114610369578063e32261fe1461037c576101cf565b8063a29fe7b8116100de578063a29fe7b81461030d578063aefc4ccb14610320578063af07aa9d14610328578063b52e0dc81461033b576101cf565b80638c582503146102ea5780638da5cb5b146102f2578063a0356f6e146102fa576101cf565b806352f445ca116101715780636431e0bd1161014b5780636431e0bd146102a6578063781dc0e2146102b957806379ba5097146102c157806383d625d4146102c9576101cf565b806352f445ca1461026b57806353a47bb71461027e5780635537479914610293576101cf565b806322e07b7a116101ad57806322e07b7a14610235578063246206391461023d578063381c5cb5146102505780635246f2b914610258576101cf565b806303f048b0146101d45780631627540c14610200578063173fcb4114610215575b600080fd5b6101e76101e2366004610b70565b6103db565b6040516101f79493929190610df2565b60405180910390f35b61021361020e366004610b4a565b610415565b005b610228610223366004610b8e565b610473565b6040516101f79190610dc9565b6102286104a1565b61021361024b366004610b8e565b6104a7565b61022861050d565b610213610266366004610b8e565b610514565b610213610279366004610b4a565b610579565b6102866105cc565b6040516101f79190610d50565b6102286102a1366004610b70565b6105db565b6102136102b4366004610b70565b6105ed565b610228610631565b610213610637565b6102dc6102d7366004610b70565b6106d3565b6040516101f7929190610dd7565b6102286106ec565b610286610737565b610228610308366004610b70565b610746565b61022861031b366004610b70565b610758565b610286610776565b6101e7610336366004610b8e565b610785565b610228610349366004610b70565b6107c5565b6102286107e6565b610228610364366004610b70565b6107ec565b610213610377366004610b8e565b61082c565b61022861038a366004610b70565b610878565b61021361039d366004610b8e565b6108bb565b6102136103b0366004610b8e565b61091a565b6102136103c3366004610b70565b610963565b6102136103d6366004610b70565b6109d6565b6000806000806103e961050d565b90506103f4856107c5565b9350610402600182036107c5565b925061040c610631565b91509193509193565b61041d610a39565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610468908390610d50565b60405180910390a150565b6006602052816000526040600020818154811061048c57fe5b90600052602060002001600091509150505481565b60055481565b6002546001600160a01b031633146104da5760405162461bcd60e51b81526004016104d190610db9565b60405180910390fd5b60008281526006602090815260408083208054600181018255908452828420019390935592815260079092529020429055565b6004545b90565b6002546001600160a01b0316331461053e5760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a6516565b6000928352600860205260409092206001019190915550565b610581610a39565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610468908390610d50565b6001546001600160a01b031681565b60076020526000908152604090205481565b6002546001600160a01b031633146106175760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040812061062e91610afd565b50565b60055490565b6001546001600160a01b031633146106615760405162461bcd60e51b81526004016104d190610d79565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926106a4926001600160a01b0391821692911690610d5e565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6008602052600090815260409020805460019091015482565b6002546000906001600160a01b031633146107195760405162461bcd60e51b81526004016104d190610db9565b60035461072d90600163ffffffff610a9216565b6003819055905090565b6000546001600160a01b031681565b60009081526006602052604090205490565b6004818154811061076557fe5b600091825260209091200154905081565b6002546001600160a01b031681565b60008060008061079486610746565b90506107a08686610abe565b93506107af8660018303610abe565b92506107ba86610aeb565b915092959194509250565b6000600482815481106107d457fe5b90600052602060002001549050919050565b60035481565b6002546000906001600160a01b031633146108195760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090205490565b6002546001600160a01b031633146108565760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a9216565b6002546000906001600160a01b031633146108a55760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090206001015490565b6002546001600160a01b031633146108e55760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a6516565b6000928352600860205260409092209190915550565b6002546001600160a01b031633146109445760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a9216565b6002546001600160a01b0316331461098d5760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040902054156109a65761062e565b60008181526006602090815260408083208054600181018255908452828420018390559282526007905220429055565b6002546001600160a01b03163314610a005760405162461bcd60e51b81526004016104d190610db9565b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b015542600555565b6000546001600160a01b03163314610a635760405162461bcd60e51b81526004016104d190610da9565b565b600082821115610a875760405162461bcd60e51b81526004016104d190610d99565b508082035b92915050565b600082820183811015610ab75760405162461bcd60e51b81526004016104d190610d89565b9392505050565b6000828152600660205260408120805483908110610ad857fe5b9060005260206000200154905092915050565b60009081526007602052604090205490565b508054600082559060005260206000209081019061062e919061051191905b80821115610b305760008155600101610b1c565b5090565b8035610a8c81610e4a565b8035610a8c81610e5e565b600060208284031215610b5c57600080fd5b6000610b688484610b34565b949350505050565b600060208284031215610b8257600080fd5b6000610b688484610b3f565b60008060408385031215610ba157600080fd5b6000610bad8585610b3f565b9250506020610bbe85828601610b3f565b9150509250929050565b610bd181610e39565b82525050565b6000610be4603583610e30565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610c3b601b83610e30565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610c74601e83610e30565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610cad602f83610e30565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000610cfe603483610e30565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b610bd181610511565b60208101610a8c8284610bc8565b60408101610d6c8285610bc8565b610ab76020830184610bc8565b60208082528101610a8c81610bd7565b60208082528101610a8c81610c2e565b60208082528101610a8c81610c67565b60208082528101610a8c81610ca0565b60208082528101610a8c81610cf1565b60208101610a8c8284610d47565b60408101610de58285610d47565b610ab76020830184610d47565b60808101610e008287610d47565b610e0d6020830186610d47565b610e1a6040830185610d47565b610e276060830184610d47565b95945050505050565b90815260200190565b60006001600160a01b038216610a8c565b610e5381610e39565b811461062e57600080fd5b610e538161051156fea365627a7a7231582091503a827566fb95d584f2050719a607ef349a163fcecc6fa8da3f5f578977266c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"addShortCurrency","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xed039154"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"borrowRates","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa29fe7b8"},{"constant":true,"inputs":[],"name":"borrowRatesLastUpdated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x22e07b7a"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decrementLongs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe50a31b3"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decrementShorts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5246f2b9"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRateAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb52e0dc8"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRatesAndTime","outputs":[{"internalType":"uint256","name":"entryRate","type":"uint256"},{"internalType":"uint256","name":"lastRate","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"newIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x03f048b0"},{"constant":true,"inputs":[],"name":"getRatesLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x381c5cb5"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getShortRatesAndTime","outputs":[{"internalType":"uint256","name":"entryRate","type":"uint256"},{"internalType":"uint256","name":"lastRate","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"newIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaf07aa9d"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"getShortRatesLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa0356f6e"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"incrementLongs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xeb94bbde"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"incrementShorts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe31f27c1"},{"constant":false,"inputs":[],"name":"incrementTotalLoans","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8c582503"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"long","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd2f00475"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"ratesLastUpdated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x781dc0e2"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"removeShortCurrency","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x6431e0bd"},{"constant":false,"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"short","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe32261fe"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"shortRates","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x173fcb41"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"shortRatesLastUpdated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x55374799"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"totalIssuedSynths","outputs":[{"internalType":"uint256","name":"long","type":"uint256"},{"internalType":"uint256","name":"short","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x83d625d4"},{"constant":true,"inputs":[],"name":"totalLoans","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcc952b57"},{"constant":false,"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"updateBorrowRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf53037b6"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"updateShortRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x24620639"}],"source":{"keccak256":"0x614dd98ef6d3ac07a6f11efcf61e17925555e41e6bc964956eeca7c541af4d54","urls":["bzz-raw://825799e40255dcc29a4ba6a382505d6011fb083a8e2f77b97b6120e3b744c078","dweb:/ipfs/QmYAZDCd8oTyFCJC4zbZ583htPkiXW6ivWvaFA1UUYVHFE"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"CollateralManagerState.sol":"CollateralManagerState"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"CollateralManagerState.sol":{"keccak256":"0x614dd98ef6d3ac07a6f11efcf61e17925555e41e6bc964956eeca7c541af4d54","urls":["bzz-raw://825799e40255dcc29a4ba6a382505d6011fb083a8e2f77b97b6120e3b744c078","dweb:/ipfs/QmYAZDCd8oTyFCJC4zbZ583htPkiXW6ivWvaFA1UUYVHFE"]}},"version":1}},"CollateralManager":{"bytecode":"670de0b6b3a7640000600e5560c06040526524b9b9bab2b960d11b60809081526c45786368616e6765526174657360981b60a052620000439060129060026200030a565b503480156200005157600080fd5b5060405162003c7838038062003c7883398101604081905262000074916200039a565b83856001600160a01b038116620000a85760405162461bcd60e51b81526004016200009f90620005a9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000f59184906200054d565b60405180910390a1506000546001600160a01b0316620001295760405162461bcd60e51b81526004016200009f9062000597565b60038054610100600160a81b0319166101006001600160a01b039384160217905560008054336001600160a01b031991821617909155600580549091169188169190911790556200017a83620001cf565b6200018e826001600160e01b036200024716565b620001a2816001600160e01b036200029116565b5050600080546001600160a01b0319166001600160a01b0394909416939093179092555062000637915050565b620001e26001600160e01b03620002db16565b60008111620002055760405162461bcd60e51b81526004016200009f9062000573565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906200023c908390620005bb565b60405180910390a150565b6200025a6001600160e01b03620002db16565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906200023c908390620005bb565b620002a46001600160e01b03620002db16565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906200023c908390620005bb565b6000546001600160a01b03163314620003085760405162461bcd60e51b81526004016200009f9062000585565b565b82601881019282156200033b579160200282015b828111156200033b5782518255916020019190600101906200031e565b50620003499291506200034d565b5090565b6200036a91905b8082111562000349576000815560010162000354565b90565b80516200037a8162000607565b92915050565b80516200037a8162000621565b80516200037a816200062c565b60008060008060008060c08789031215620003b457600080fd5b6000620003c2898962000380565b9650506020620003d589828a016200036d565b9550506040620003e889828a016200036d565b9450506060620003fb89828a016200038d565b93505060806200040e89828a016200038d565b92505060a06200042189828a016200038d565b9150509295509295509295565b6200043981620005fa565b82525050565b6200043981620005d4565b600062000459601683620005cb565b7f4d7573742062652067726561746572207468616e203000000000000000000000815260200192915050565b600062000494602f83620005cb565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000620004e7601183620005cb565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000516601983620005cb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b62000439816200036a565b604081016200055d82856200042e565b6200056c60208301846200043f565b9392505050565b602080825281016200037a816200044a565b602080825281016200037a8162000485565b602080825281016200037a81620004d8565b602080825281016200037a8162000507565b602081016200037a828462000542565b90815260200190565b60006200037a82620005ee565b60006200037a82620005d4565b6001600160a01b031690565b60006200037a82620005e1565b6200061281620005d4565b81146200061e57600080fd5b50565b6200061281620005e1565b62000612816200036a565b61363180620006476000396000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c806391b4ded911610182578063c88b412e116100e9578063e32261fe116100a2578063ee81f7901161007c578063ee81f790146105ec578063f0e740c3146105ff578063f53037b614610612578063ffa749cd14610625576102d6565b8063e32261fe146105b3578063e50a31b3146105c6578063eb94bbde146105d9576102d6565b8063c88b412e14610557578063c9e180151461056a578063ca969f2314610572578063d0064c0014610585578063d2f004751461058d578063e31f27c1146105a0576102d6565b8063b3b467321161013b578063b3b4673214610503578063b4d6cb401461050b578063ba1c5e801461052c578063bbb601cd14610534578063bf38668214610547578063c19d93fb1461054f576102d6565b806391b4ded9146104a757806393a72fbe146104af5780639f7eac37146104c2578063ad79a858146104d5578063af07aa9d146104dd578063b38988f7146104f0576102d6565b806353a47bb71161024157806374185360116101fa5780638471db13116101d45780638471db1314610464578063899ffef4146104775780638b173e811461048c5780638da5cb5b1461049f576102d6565b80637418536014610441578063744d646e1461044957806379ba50971461045c576102d6565b806353a47bb7146103e35780635c975abb146103f8578063614d08f8146104005780636526941b14610408578063710388d11461041b57806372e18b6a1461042e576102d6565b806323d60e2e1161029357806323d60e2e1461036d57806324620639146103805780632af64bd31461039357806338245377146103a85780634db7764c146103c85780635246f2b9146103d0576102d6565b806303f048b0146102db57806304f3bcec146103075780630c9c81a11461031c5780631627540c1461033157806316c38b3c146103445780631e33fc6b14610357575b600080fd5b6102ee6102e9366004612e42565b610638565b6040516102fe94939291906134d2565b60405180910390f35b61030f6106cf565b6040516102fe9190613413565b61032f61032a366004612e42565b6106e3565b005b61032f61033f366004612caa565b61072b565b61032f610352366004612e06565b61077e565b61035f6107f3565b6040516102fe9291906133a2565b61032f61037b366004612dcd565b610ae6565b61032f61038e366004612e7e565b610bc0565b61039b610c5c565b6040516102fe919061335d565b6103bb6103b6366004612e42565b610d79565b6040516102fe9190613386565b6103bb610d8b565b61032f6103de366004612e7e565b610d91565b6103eb610ded565b6040516102fe9190613323565b61039b610dfc565b6103bb610e05565b61032f610416366004612e42565b610e1d565b61032f610429366004612dcd565b610e7a565b61039b61043c366004612dcd565b610f42565b61032f610fdc565b61039b610457366004612d28565b611132565b61032f61117c565b61039b610472366004612e42565b611218565b61047f61122c565b6040516102fe919061334c565b61032f61049a366004612e42565b6113e4565b6103eb611421565b6103bb611430565b61039b6104bd366004612dcd565b611436565b61032f6104d0366004612e42565b611581565b61035f6115ae565b6102ee6104eb366004612e7e565b61178f565b61039b6104fe366004612caa565b61182a565b6103bb611843565b61051e610519366004612e7e565b6118fc565b6040516102fe92919061336b565b61035f6119ef565b61032f610542366004612ce6565b611b12565b6103bb611bf2565b61030f611bf8565b61032f610565366004612d5d565b611c07565b6103bb611d82565b61032f610580366004612ce6565b611d88565b6103bb611f58565b6103bb61059b366004612e42565b611f5e565b61032f6105ae366004612e7e565b611fdf565b6103bb6105c1366004612e42565b61203b565b61032f6105d4366004612e7e565b61206c565b61032f6105e7366004612e7e565b6120c8565b61035f6105fa366004612e42565b612124565b6103bb61060d366004612e42565b61243e565b61032f610620366004612e42565b612450565b61032f610633366004612ce6565b6124e0565b600554604051623f048b60e41b81526000918291829182916001600160a01b03909116906303f048b090610670908890600401613386565b60806040518083038186803b15801561068857600080fd5b505afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106c09190810190612ee8565b92989197509550909350915050565b60035461010090046001600160a01b031681565b6106eb612599565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec0205573924700490610720908390613386565b60405180910390a150565b610733612599565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610720908390613323565b610786612599565b60035460ff161515811515141561079c576107f0565b6003805460ff1916821515179081905560ff16156107b957426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916107209160ff9091169061335d565b50565b6008805460408051602080840282018101909252828152600093849360609383018282801561084157602002820191906000526020600020905b81548152602001906001019080831161082d575b50505050509050600081511115610ae15760005b8151811015610adf57600061087c83838151811061086f57fe5b60200260200101516125c5565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b457600080fd5b505afa1580156108c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108ec9190810190612e60565b9050631cd554d160e21b8114156109935760055460405163d2f0047560e01b815261098c916001600160a01b03169063d2f004759061092f908590600401613386565b60206040518083038186803b15801561094757600080fd5b505afa15801561095b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097f9190810190612e60565b869063ffffffff6125d016565b9450610ad6565b60008061099e6125fc565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b81526004016109c99190613386565b604080518083038186803b1580156109e057600080fd5b505afa1580156109f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a189190810190612eb8565b60055460405163d2f0047560e01b8152929450909250600091610ab39185916001600160a01b039091169063d2f0047590610a57908990600401613386565b60206040518083038186803b158015610a6f57600080fd5b505afa158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa79190810190612e60565b9063ffffffff61261c16565b9050610ac5888263ffffffff6125d016565b97508115610ad257600196505b5050505b50600101610855565b505b509091565b610aee612599565b60005b83811015610bb957610b1f858583818110610b0857fe5b90506020020135600861264690919063ffffffff16565b610bb1576000858583818110610b3157fe5b905060200201359050610b4e81600861269690919063ffffffff16565b80600a6000868686818110610b5f57fe5b905060200201358152602001908152602001600020819055507f87f8a613724bd8be7a9139e4c83bc8d58fedee7206e2d7077849f5988d78759981604051610ba79190613386565b60405180910390a1505b600101610af1565b5050505050565b6000610bcb3361182a565b905080610bf35760405162461bcd60e51b8152600401610bea906134c2565b60405180910390fd5b600554604051632462063960e01b81526001600160a01b0390911690632462063990610c2590869086906004016133d0565b600060405180830381600087803b158015610c3f57600080fd5b505af1158015610c53573d6000803e3d6000fd5b50505050505050565b60006060610c6861122c565b905060005b8151811015610d6f576000828281518110610c8457fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a72191610cda91869101613386565b60206040518083038186803b158015610cf257600080fd5b505afa158015610d06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2a9190810190612cc8565b6001600160a01b0316141580610d5557506000818152600460205260409020546001600160a01b0316155b15610d665760009350505050610d76565b50600101610c6d565b5060019150505b90565b600a6020526000908152604090205481565b60115481565b6000610d9c3361182a565b905080610dbb5760405162461bcd60e51b8152600401610bea906134c2565b600554604051635246f2b960e01b81526001600160a01b0390911690635246f2b990610c2590869086906004016133d0565b6001546001600160a01b031681565b60035460ff1681565b7021b7b63630ba32b930b626b0b730b3b2b960791b81565b610e25612599565b60008111610e455760405162461bcd60e51b8152600401610bea90613492565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f90610720908390613386565b610e82612599565b60005b83811015610bb957610e9c858583818110610b0857fe5b15610f3a57610ec7858583818110610eb057fe5b9050602002013560086126ce90919063ffffffff16565b600a6000848484818110610ed757fe5b905060200201358152602001908152602001600020600090557f788aff97f65e6ddeee9246c47d08b819813066c87876a912c79baddffb138f0a858583818110610f1d57fe5b90506020020135604051610f319190613386565b60405180910390a15b600101610e85565b6008546000908414610f5657506000610fd4565b60005b84811015610fce57610f70868683818110610b0857fe5b610f7e576000915050610fd4565b858582818110610f8a57fe5b90506020020135600a6000868685818110610fa157fe5b9050602002013581526020019081526020016000205414610fc6576000915050610fd4565b600101610f59565b50600190505b949350505050565b6060610fe661122c565b905060005b815181101561112e57600082828151811061100257fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016110449190613318565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016110709291906133b0565b60206040518083038186803b15801561108857600080fd5b505afa15801561109c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110c09190810190612cc8565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061111c9084908490613394565b60405180910390a15050600101610feb565b5050565b6000805b82518110156111715761115b83828151811061114e57fe5b602002602001015161182a565b611169576000915050611177565b600101611136565b50600190505b919050565b6001546001600160a01b031633146111a65760405162461bcd60e51b8152600401610bea90613442565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926111e9926001600160a01b0391821692911690613331565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000908152600a6020526040902054151590565b6040805160028082526060808301845292839291906020830190803883390190505090506524b9b9bab2b960d11b8160008151811061126757fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061129157fe5b6020908102919091010152600b54606090801561136557806002026040519080825280602002602001820160405280156112d5578160200160208202803883390190505b50915060005b8181101561136357600b8054829081106112f157fe5b906000526020600020015483828151811061130857fe5b602002602001018181525050600d6000600b600001838154811061132857fe5b9060005260206000200154815260200190815260200160002054838383018151811061135057fe5b60209081029190910101526001016112db565b505b60088054604080516020808402820181019092528281526060936113be9387938301828280156113b457602002820191906000526020600020905b8154815260200190600101908083116113a0575b50505050506127a2565b8051909150156113d9576113d281856127a2565b94506113dd565b8394505b5050505090565b6113ec612599565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc990610720908390613386565b6000546001600160a01b031681565b60025481565b60008382146114575760405162461bcd60e51b8152600401610bea90613432565b600b54841461146857506000610fd4565b60005b848110156114cf57600086868381811061148157fe5b90506020020135905061149e81600b61264690919063ffffffff16565b15806114b657506000818152600d6020526040902054155b156114c657600092505050610fd4565b5060010161146b565b5060005b82811015610fce576005546001600160a01b031663a0356f6e8585848181106114f857fe5b905060200201356040518263ffffffff1660e01b815260040161151b9190613386565b60206040518083038186803b15801561153357600080fd5b505afa158015611547573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061156b9190810190612e60565b611579576000915050610fd4565b6001016114d3565b611589612599565b600081116115a95760405162461bcd60e51b8152600401610bea90613492565b600e55565b600b80546040805160208084028201810190925282815260009384936060938301828280156115fc57602002820191906000526020600020905b8154815260200190600101908083116115e8575b50505050509050600081511115610ae15760005b8151811015610adf57600061162a83838151811061086f57fe5b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561166257600080fd5b505afa158015611676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169a9190810190612e60565b90506000806116a76125fc565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b81526004016116d29190613386565b604080518083038186803b1580156116e957600080fd5b505afa1580156116fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117219190810190612eb8565b60055460405163719130ff60e11b81529294509092506000916117609185916001600160a01b039091169063e32261fe90610a57908990600401613386565b9050611772888263ffffffff6125d016565b9750811561177f57600196505b5050600190920191506116109050565b60055460405163af07aa9d60e01b81526000918291829182916001600160a01b039091169063af07aa9d906117ca90899089906004016133d0565b60806040518083038186803b1580156117e257600080fd5b505afa1580156117f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061181a9190810190612ee8565b9299919850965090945092505050565b600061183d60068363ffffffff61285e16565b92915050565b60008061184f3361182a565b90508061186e5760405162461bcd60e51b8152600401610bea906134c2565b600560009054906101000a90046001600160a01b03166001600160a01b0316638c5825036040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156118be57600080fd5b505af11580156118d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118f69190810190612e60565b91505090565b60008060006119096125fc565b6001600160a01b031663654a60ac8587631cd554d160e21b6040518463ffffffff1660e01b815260040161193f939291906133eb565b60206040518083038186803b15801561195757600080fd5b505afa15801561196b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061198f9190810190612e60565b905060008061199c6107f3565b915091506000806119ab6115ae565b9150915082806119b85750805b600f549096506119de866119d2878663ffffffff6125d016565b9063ffffffff6125d016565b1115965050505050505b9250929050565b60008060006119fc6128cb565b6001600160a01b0316637b1001b7631cd554d160e21b60016040518363ffffffff1660e01b8152600401611a319291906133a2565b60206040518083038186803b158015611a4957600080fd5b505afa158015611a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a819190810190612e60565b9050600080611a8e6107f3565b90925090506000611aa5848463ffffffff6125d016565b90506000611ad46a1a1a7062e5185d7e380000611ac8868563ffffffff6128df16565b9063ffffffff6128df16565b90506000611aed600e548361261c90919063ffffffff16565b9050611b04601054826125d090919063ffffffff16565b989397509295505050505050565b611b1a612599565b60005b81811015611bed57611b57838383818110611b3457fe5b9050602002016020611b499190810190612caa565b60069063ffffffff61285e16565b611be557611b8d838383818110611b6a57fe5b9050602002016020611b7f9190810190612caa565b60069063ffffffff61290916565b7f7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f838383818110611bba57fe5b9050602002016020611bcf9190810190612caa565b604051611bdc9190613323565b60405180910390a15b600101611b1d565b505050565b60105481565b6005546001600160a01b031681565b611c0f612599565b828114611c2e5760405162461bcd60e51b8152600401610bea90613432565b60005b83811015611d73576000858583818110611c4757fe5b905060400201600060028110611c5957fe5b602002013590506000868684818110611c6e57fe5b905060400201600160028110611c8057fe5b60200201359050611c98600b8363ffffffff61264616565b611d6957611cad600b8363ffffffff61269616565b6000828152600d602052604090819020829055517fa71e21d8a72d99830e0d382f042d37e6a20c8a33ec3185affcaf6586e9a0187a90611cee908490613386565b60405180910390a16005546001600160a01b031663ed039154868686818110611d1357fe5b905060200201356040518263ffffffff1660e01b8152600401611d369190613386565b600060405180830381600087803b158015611d5057600080fd5b505af1158015611d64573d6000803e3d6000fd5b505050505b5050600101611c31565b50611d7c610fdc565b50505050565b600e5481565b611d90612599565b60005b81811015611bed57611dc1838383818110611daa57fe5b90506020020135600b61264690919063ffffffff16565b15611f5057611dec838383818110611dd557fe5b90506020020135600b6126ce90919063ffffffff16565b6000611e09848484818110611dfd57fe5b905060200201356125c5565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015611e4157600080fd5b505afa158015611e55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e799190810190612e60565b600554604051636431e0bd60e01b81529192506001600160a01b031690636431e0bd90611eaa908490600401613386565b600060405180830381600087803b158015611ec457600080fd5b505af1158015611ed8573d6000803e3d6000fd5b50505050600d6000858585818110611eec57fe5b905060200201358152602001908152602001600020600090557f23caa21d7c1015aa7051e1ae4a09f99de36dab4545dfec5f4dde3a54173a123b848484818110611f3257fe5b90506020020135604051611f469190613386565b60405180910390a1505b600101611d93565b600f5481565b60055460405163d2f0047560e01b81526000916001600160a01b03169063d2f0047590611f8f908590600401613386565b60206040518083038186803b158015611fa757600080fd5b505afa158015611fbb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061183d9190810190612e60565b6000611fea3361182a565b9050806120095760405162461bcd60e51b8152600401610bea906134c2565b60055460405163e31f27c160e01b81526001600160a01b039091169063e31f27c190610c2590869086906004016133d0565b60055460405163719130ff60e11b81526000916001600160a01b03169063e32261fe90611f8f908590600401613386565b60006120773361182a565b9050806120965760405162461bcd60e51b8152600401610bea906134c2565b60055460405163e50a31b360e01b81526001600160a01b039091169063e50a31b390610c2590869086906004016133d0565b60006120d33361182a565b9050806120f25760405162461bcd60e51b8152600401610bea906134c2565b6005546040516375ca5def60e11b81526001600160a01b039091169063eb94bbde90610c2590869086906004016133d0565b6000806000612132846125c5565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561216a57600080fd5b505afa15801561217e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121a29190810190612e60565b90506121ac6125fc565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004016121d79190613386565b60206040518083038186803b1580156121ef57600080fd5b505afa158015612203573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122279190810190612e24565b91506000612234856125c5565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561226c57600080fd5b505afa158015612280573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122a49190810190612e60565b6000868152600d6020526040812054919250906122c0906125c5565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156122f857600080fd5b505afa15801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123309190810190612e60565b60055460405163719130ff60e11b81529192506000916123bc9184916001600160a01b039091169063e32261fe9061236c908990600401613386565b60206040518083038186803b15801561238457600080fd5b505afa158015612398573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119d29190810190612e60565b9050808311156123d457506000945061243992505050565b60006123e6828563ffffffff61295b16565b905060006124196a1a1a7062e5185d7e380000611ac861240c888763ffffffff6125d016565b859063ffffffff6128df16565b9050612430601154826125d090919063ffffffff16565b97505050505050505b915091565b600d6020526000908152604090205481565b600061245b3361182a565b90508061247a5760405162461bcd60e51b8152600401610bea906134c2565b600554604051637a981bdb60e11b81526001600160a01b039091169063f53037b6906124aa908590600401613386565b600060405180830381600087803b1580156124c457600080fd5b505af11580156124d8573d6000803e3d6000fd5b505050505050565b6124e8612599565b60005b81811015611bed57612502838383818110611b3457fe5b156125915761253983838381811061251657fe5b905060200201602061252b9190810190612caa565b60069063ffffffff61298316565b7fd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a59383838381811061256657fe5b905060200201602061257b9190810190612caa565b6040516125889190613323565b60405180910390a15b6001016124eb565b6000546001600160a01b031633146125c35760405162461bcd60e51b8152600401610bea906134a2565b565b600061183d82612a99565b6000828201838110156125f55760405162461bcd60e51b8152600401610bea90613452565b9392505050565b60006126176c45786368616e6765526174657360981b612a99565b905090565b6000670de0b6b3a7640000612637848463ffffffff612af616565b8161263e57fe5b049392505050565b81546000906126575750600061183d565b600082815260018401602052604090205480151580610fd45750828460000160008154811061268257fe5b906000526020600020015414949350505050565b6126a08282612646565b61112e5781546000828152600180850160209081526040832084905590830185558482529020018190555050565b6126d88282612646565b6126f45760405162461bcd60e51b8152600401610bea90613462565b600081815260018301602052604090205482546000190180821461276257600084600001828154811061272357fe5b906000526020600020015490508085600001848154811061274057fe5b6000918252602080832090910192909255918252600186019052604090208290555b835484908061276d57fe5b600190038181906000526020600020016000905590558360010160008481526020019081526020016000206000905550505050565b606081518351016040519080825280602002602001820160405280156127d2578160200160208202803883390190505b50905060005b8351811015612814578381815181106127ed57fe5b602002602001015182828151811061280157fe5b60209081029190910101526001016127d8565b5060005b82518110156128575782818151811061282d57fe5b602002602001015182828651018151811061284457fe5b6020908102919091010152600101612818565b5092915050565b815460009061286f5750600061183d565b6001600160a01b038216600090815260018401602052604090205480151580610fd45750826001600160a01b0316846000016000815481106128ad57fe5b6000918252602090912001546001600160a01b031614949350505050565b60006126176524b9b9bab2b960d11b612a99565b60006125f5826128fd85670de0b6b3a764000063ffffffff612af616565b9063ffffffff612b3016565b612913828261285e565b61112e5781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b60008282111561297d5760405162461bcd60e51b8152600401610bea90613472565b50900390565b61298d828261285e565b6129a95760405162461bcd60e51b8152600401610bea90613462565b6001600160a01b0381166000908152600183016020526040902054825460001901808214612a485760008460000182815481106129e257fe5b60009182526020909120015485546001600160a01b0390911691508190869085908110612a0b57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b8354849080612a5357fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b60008181526004602090815260408083205490516001600160a01b039091169182151591612ac9918691016132f8565b604051602081830303815290604052906128575760405162461bcd60e51b8152600401610bea9190613421565b600082612b055750600061183d565b82820282848281612b1257fe5b04146125f55760405162461bcd60e51b8152600401610bea906134b2565b6000808211612b515760405162461bcd60e51b8152600401610bea90613482565b6000828481612b5c57fe5b04949350505050565b803561183d816135c8565b805161183d816135c8565b60008083601f840112612b8d57600080fd5b50813567ffffffffffffffff811115612ba557600080fd5b6020830191508360208202830111156119e857600080fd5b600082601f830112612bce57600080fd5b8135612be1612bdc82613537565b613510565b91508181835260208401935060208101905083856020840282011115612c0657600080fd5b60005b83811015612c325781612c1c8882612b65565b8452506020928301929190910190600101612c09565b5050505092915050565b60008083601f840112612c4e57600080fd5b50813567ffffffffffffffff811115612c6657600080fd5b6020830191508360408202830111156119e857600080fd5b803561183d816135dc565b805161183d816135dc565b803561183d816135e5565b805161183d816135e5565b600060208284031215612cbc57600080fd5b6000610fd48484612b65565b600060208284031215612cda57600080fd5b6000610fd48484612b70565b60008060208385031215612cf957600080fd5b823567ffffffffffffffff811115612d1057600080fd5b612d1c85828601612b7b565b92509250509250929050565b600060208284031215612d3a57600080fd5b813567ffffffffffffffff811115612d5157600080fd5b610fd484828501612bbd565b60008060008060408587031215612d7357600080fd5b843567ffffffffffffffff811115612d8a57600080fd5b612d9687828801612c3c565b9450945050602085013567ffffffffffffffff811115612db557600080fd5b612dc187828801612b7b565b95989497509550505050565b60008060008060408587031215612de357600080fd5b843567ffffffffffffffff811115612dfa57600080fd5b612d9687828801612b7b565b600060208284031215612e1857600080fd5b6000610fd48484612c7e565b600060208284031215612e3657600080fd5b6000610fd48484612c89565b600060208284031215612e5457600080fd5b6000610fd48484612c94565b600060208284031215612e7257600080fd5b6000610fd48484612c9f565b60008060408385031215612e9157600080fd5b6000612e9d8585612c94565b9250506020612eae85828601612c94565b9150509250929050565b60008060408385031215612ecb57600080fd5b6000612ed78585612c9f565b9250506020612eae85828601612c89565b60008060008060808587031215612efe57600080fd5b6000612f0a8787612c9f565b9450506020612f1b87828801612c9f565b9350506040612f2c87828801612c9f565b9250506060612f3d87828801612c9f565b91505092959194509250565b6000612f558383612fce565b505060200190565b612f668161356b565b82525050565b6000612f778261355e565b612f818185613562565b9350612f8c83613558565b8060005b83811015612fba578151612fa48882612f49565b9750612faf83613558565b925050600101612f90565b509495945050505050565b612f6681613576565b612f6681610d76565b612f66612fe382610d76565b610d76565b612f6681613587565b6000612ffc8261355e565b6130068185613562565b9350613016818560208601613592565b61301f816135be565b9093019392505050565b6000613036601b83613562565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b600061306f603583613562565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006130c6601b83613562565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006130ff601383613562565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b600061312e601e83613562565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613167601a83613562565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006131a0601183611177565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006131cd601683613562565b7504d7573742062652067726561746572207468616e20360541b815260200192915050565b60006131ff602f83613562565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613250602183613562565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613293601983613562565b7f4f6e6c7920636f6c6c61746572616c20636f6e74726163747300000000000000815260200192915050565b60006132cc601983611177565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061330382613193565b915061330f8284612fd7565b50602001919050565b6000613303826132bf565b6020810161183d8284612f5d565b6040810161333f8285612f5d565b6125f56020830184612f5d565b602080825281016125f58184612f6c565b6020810161183d8284612fc5565b604081016133798285612fc5565b6125f56020830184612fc5565b6020810161183d8284612fce565b6040810161333f8285612fce565b604081016133798285612fce565b604081016133be8285612fce565b8181036020830152610fd48184612ff1565b604081016133de8285612fce565b6125f56020830184612fce565b606081016133f98286612fce565b6134066020830185612fce565b610fd46040830184612fce565b6020810161183d8284612fe8565b602080825281016125f58184612ff1565b6020808252810161183d81613029565b6020808252810161183d81613062565b6020808252810161183d816130b9565b6020808252810161183d816130f2565b6020808252810161183d81613121565b6020808252810161183d8161315a565b6020808252810161183d816131c0565b6020808252810161183d816131f2565b6020808252810161183d81613243565b6020808252810161183d81613286565b608081016134e08287612fce565b6134ed6020830186612fce565b6134fa6040830185612fce565b6135076060830184612fce565b95945050505050565b60405181810167ffffffffffffffff8111828210171561352f57600080fd5b604052919050565b600067ffffffffffffffff82111561354e57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061183d8261357b565b151590565b6001600160a01b031690565b600061183d8261356b565b60005b838110156135ad578181015183820152602001613595565b83811115611d7c5750506000910152565b601f01601f191690565b6135d18161356b565b81146107f057600080fd5b6135d181613576565b6135d181610d7656fea365627a7a7231582086139b15c2c894f5f985b303fdd27b70745c143d7fad10f0c56a854fc078a7af6c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"contract CollateralManagerState","name":"_state","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"uint256","name":"_maxDebt","type":"uint256"},{"internalType":"uint256","name":"_baseBorrowRate","type":"uint256"},{"internalType":"uint256","name":"_baseShortRate","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"baseBorrowRate","type":"uint256"}],"name":"BaseBorrowRateUpdated","type":"event","signature":"0x08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"baseShortRate","type":"uint256"}],"name":"BaseShortRateUpdated","type":"event","signature":"0xe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"collateral","type":"address"}],"name":"CollateralAdded","type":"event","signature":"0x7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"collateral","type":"address"}],"name":"CollateralRemoved","type":"event","signature":"0xd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a593"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"liquidationPenalty","type":"uint256"}],"name":"LiquidationPenaltyUpdated","type":"event","signature":"0xbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e9"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxDebt","type":"uint256"}],"name":"MaxDebtUpdated","type":"event","signature":"0x3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event","signature":"0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"ShortableSynthAdded","type":"event","signature":"0xa71e21d8a72d99830e0d382f042d37e6a20c8a33ec3185affcaf6586e9a0187a"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"ShortableSynthRemoved","type":"event","signature":"0x23caa21d7c1015aa7051e1ae4a09f99de36dab4545dfec5f4dde3a54173a123b"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"SynthAdded","type":"event","signature":"0x87f8a613724bd8be7a9139e4c83bc8d58fedee7206e2d7077849f5988d787599"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"SynthRemoved","type":"event","signature":"0x788aff97f65e6ddeee9246c47d08b819813066c87876a912c79baddffb138f0a"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x614d08f8"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"address[]","name":"collaterals","type":"address[]"}],"name":"addCollaterals","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbbb601cd"},{"constant":false,"inputs":[{"internalType":"bytes32[2][]","name":"requiredSynthAndInverseNamesInResolver","type":"bytes32[2][]"},{"internalType":"bytes32[]","name":"synthKeys","type":"bytes32[]"}],"name":"addShortableSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc88b412e"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"synthKeys","type":"bytes32[]"}],"name":"addSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23d60e2e"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"requiredSynthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"synthKeys","type":"bytes32[]"}],"name":"areShortableSynthsSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x93a72fbe"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"requiredSynthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"synthKeys","type":"bytes32[]"}],"name":"areSynthsAndCurrenciesSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x72e18b6a"},{"constant":true,"inputs":[],"name":"baseBorrowRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbf386682"},{"constant":true,"inputs":[],"name":"baseShortRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4db7764c"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decrementLongs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe50a31b3"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decrementShorts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5246f2b9"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"exceedsDebtLimit","outputs":[{"internalType":"bool","name":"canIssue","type":"bool"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb4d6cb40"},{"constant":true,"inputs":[],"name":"getBorrowRate","outputs":[{"internalType":"uint256","name":"borrowRate","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xba1c5e80"},{"constant":false,"inputs":[],"name":"getNewLoanId","outputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb3b46732"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRatesAndTime","outputs":[{"internalType":"uint256","name":"entryRate","type":"uint256"},{"internalType":"uint256","name":"lastRate","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"newIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x03f048b0"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"getShortRate","outputs":[{"internalType":"uint256","name":"shortRate","type":"uint256"},{"internalType":"bool","name":"rateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xee81f790"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getShortRatesAndTime","outputs":[{"internalType":"uint256","name":"entryRate","type":"uint256"},{"internalType":"uint256","name":"lastRate","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"newIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaf07aa9d"},{"constant":true,"inputs":[{"internalType":"address[]","name":"collaterals","type":"address[]"}],"name":"hasAllCollaterals","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x744d646e"},{"constant":true,"inputs":[{"internalType":"address","name":"collateral","type":"address"}],"name":"hasCollateral","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb38988f7"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"incrementLongs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xeb94bbde"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"incrementShorts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe31f27c1"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"isSynthManaged","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8471db13"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x91b4ded9"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"long","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd2f00475"},{"constant":true,"inputs":[],"name":"maxDebt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd0064c00"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c975abb"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":false,"inputs":[{"internalType":"address[]","name":"collaterals","type":"address[]"}],"name":"removeCollaterals","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xffa749cd"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"synths","type":"bytes32[]"}],"name":"removeShortableSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xca969f23"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"synths","type":"bytes32[]"},{"internalType":"bytes32[]","name":"synthKeys","type":"bytes32[]"}],"name":"removeSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x710388d1"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_baseBorrowRate","type":"uint256"}],"name":"setBaseBorrowRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0c9c81a1"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_baseShortRate","type":"uint256"}],"name":"setBaseShortRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8b173e81"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_maxDebt","type":"uint256"}],"name":"setMaxDebt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x6526941b"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16c38b3c"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_utilisationMultiplier","type":"uint256"}],"name":"setUtilisationMultiplier","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9f7eac37"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"short","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe32261fe"},{"constant":true,"inputs":[],"name":"state","outputs":[{"internalType":"contract CollateralManagerState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc19d93fb"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthToInverseSynth","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf0e740c3"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthsByKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x38245377"},{"constant":true,"inputs":[],"name":"totalLong","outputs":[{"internalType":"uint256","name":"susdValue","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x1e33fc6b"},{"constant":true,"inputs":[],"name":"totalShort","outputs":[{"internalType":"uint256","name":"susdValue","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xad79a858"},{"constant":false,"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"updateBorrowRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf53037b6"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"updateShortRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x24620639"},{"constant":true,"inputs":[],"name":"utilisationMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc9e18015"}],"source":{"keccak256":"0x20ccb7af61701bb647d44055355ec93371d8897c459f70079cab337a5d8696b9","urls":["bzz-raw://1ca6f79259ca2e1616ba6c87d6b13bfe7da32c8feda9c108d79ee856a9b0da4f","dweb:/ipfs/QmYMbcC8v1eTxdyEEMNX1sZbFBY9o9WRZTVCAtmhw9BJ7B"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"CollateralManager.sol":"CollateralManager"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"CollateralManager.sol":{"keccak256":"0x20ccb7af61701bb647d44055355ec93371d8897c459f70079cab337a5d8696b9","urls":["bzz-raw://1ca6f79259ca2e1616ba6c87d6b13bfe7da32c8feda9c108d79ee856a9b0da4f","dweb:/ipfs/QmYMbcC8v1eTxdyEEMNX1sZbFBY9o9WRZTVCAtmhw9BJ7B"]}},"version":1}},"CollateralState":{"bytecode":"60806040523480156200001157600080fd5b5060405162000f6c38038062000f6c83398101604081905262000034916200015a565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000267565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b59184906200022f565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f9062000255565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390620001369083906200021f565b60405180910390a1505050620002c2565b80516200015481620002a8565b92915050565b600080604083850312156200016e57600080fd5b60006200017c858562000147565b92505060206200018f8582860162000147565b9150509250929050565b620001a48162000294565b82525050565b620001a48162000282565b6000620001c460118362000279565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001f360198362000279565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620001548284620001aa565b604081016200023f828562000199565b6200024e6020830184620001aa565b9392505050565b602080825281016200015481620001b5565b602080825281016200015481620001e4565b90815260200190565b60006001600160a01b03821662000154565b600062000154826000620001548262000282565b620002b38162000282565b8114620002bf57600080fd5b50565b610c9a80620002d26000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806379ba50971161007157806379ba50971461011a5780638da5cb5b1461012257806398c61c371461012a578063a1c5158614610152578063aefc4ccb14610172578063e0b6adbc1461017a576100a9565b80631627540c146100ae57806344dce41c146100c357806352f445ca146100d657806353a47bb7146100e95780635c33120414610107575b600080fd5b6100c16100bc36600461088c565b61019a565b005b6100c16100d13660046108ec565b6101f8565b6100c16100e436600461088c565b610352565b6100f16103a5565b6040516100fe9190610adc565b60405180910390f35b6100c16101153660046108ec565b6103b4565b6100c161048d565b6100f1610529565b61013d6101383660046108b2565b610538565b6040516100fe99989796959493929190610b59565b6101656101603660046108b2565b6105ad565b6040516100fe9190610b3c565b6100f16106e4565b61018d61018836600461088c565b6106f3565b6040516100fe9190610b4b565b6101a261070e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101ed908390610adc565b60405180910390a150565b6002546001600160a01b0316331461022b5760405162461bcd60e51b815260040161022290610b2c565b60405180910390fd5b6020808201516001600160a01b03166000908152600390915260408120905b815481101561034d57826000015182828154811061026457fe5b906000526020600020906009020160000154141561034557826003600085602001516001600160a01b03166001600160a01b0316815260200190815260200160002082815481106102b157fe5b6000918252602091829020835160099290920201908155908201516001820180546001600160a01b0319166001600160a01b0390921691909117905560408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e08201516007820155610100909101516008909101555b60010161024a565b505050565b61035a61070e565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906101ed908390610adc565b6001546001600160a01b031681565b6002546001600160a01b031633146103de5760405162461bcd60e51b815260040161022290610b2c565b602081810180516001600160a01b03908116600090815260038085526040808320805460018082018355918552969093208751600990970201958655935191850180546001600160a01b03191692909316919091179091559083015160028301556060830151908201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e0820151600782015561010090910151600890910155565b6001546001600160a01b031633146104b75760405162461bcd60e51b815260040161022290610b0c565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926104fa926001600160a01b0391821692911690610aea565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6003602052816000526040600020818154811061055157fe5b60009182526020909120600990910201805460018201546002830154600384015460048501546005860154600687015460078801546008909801549699506001600160a01b03909516975092959194909360ff90931692919089565b6105b561073a565b6001600160a01b0383166000908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610683576000848152602090819020604080516101208101825260098602909201805483526001808201546001600160a01b0316848601526002820154928401929092526003810154606084015260048101546080840152600581015460ff16151560a0840152600681015460c0840152600781015460e08401526008015461010083015290835290920191016105ed565b509293506000925050505b81518110156106db57838282815181106106a457fe5b60200260200101516000015114156106d3578181815181106106c257fe5b6020026020010151925050506106de565b60010161068e565b50505b92915050565b6002546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b031633146107385760405162461bcd60e51b815260040161022290610b1c565b565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b80356106de81610c2e565b80356106de81610c45565b80356106de81610c4e565b600061012082840312156107c857600080fd5b6107d3610120610bdf565b905060006107e184846107aa565b82525060206107f284848301610794565b6020830152506040610806848285016107aa565b604083015250606061081a848285016107aa565b606083015250608061082e848285016107aa565b60808301525060a06108428482850161079f565b60a08301525060c0610856848285016107aa565b60c08301525060e061086a848285016107aa565b60e08301525061010061087f848285016107aa565b6101008301525092915050565b60006020828403121561089e57600080fd5b60006108aa8484610794565b949350505050565b600080604083850312156108c557600080fd5b60006108d18585610794565b92505060206108e2858286016107aa565b9150509250929050565b600061012082840312156108ff57600080fd5b60006108aa84846107b5565b61091481610c0f565b82525050565b61091481610c1a565b61091481610c1f565b6000610939603583610c06565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610990602f83610c06565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006109e1603483610c06565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b8051610120830190610a3c8482610923565b506020820151610a4f602085018261090b565b506040820151610a626040850182610923565b506060820151610a756060850182610923565b506080820151610a886080850182610923565b5060a0820151610a9b60a085018261091a565b5060c0820151610aae60c0850182610923565b5060e0820151610ac160e0850182610923565b50610100820151610ad6610100850182610923565b50505050565b602081016106de828461090b565b60408101610af8828561090b565b610b05602083018461090b565b9392505050565b602080825281016106de8161092c565b602080825281016106de81610983565b602080825281016106de816109d4565b61012081016106de8284610a2a565b602081016106de8284610923565b6101208101610b68828c610923565b610b75602083018b61090b565b610b82604083018a610923565b610b8f6060830189610923565b610b9c6080830188610923565b610ba960a083018761091a565b610bb660c0830186610923565b610bc360e0830185610923565b610bd1610100830184610923565b9a9950505050505050505050565b60405181810167ffffffffffffffff81118282101715610bfe57600080fd5b604052919050565b90815260200190565b60006106de82610c22565b151590565b90565b6001600160a01b031690565b610c3781610c0f565b8114610c4257600080fd5b50565b610c3781610c1a565b610c3781610c1f56fea365627a7a72315820013790680977a1d5d556326b132fbc33c26b7a3445eb646fe167987d94f609726c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":false,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"createLoan","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5c331204"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"loanID","type":"uint256"}],"name":"getLoan","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"","type":"tuple"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa1c51586"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getNumLoans","outputs":[{"internalType":"uint256","name":"numLoans","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe0b6adbc"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"loans","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x98c61c37"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":false,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"updateLoan","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x44dce41c"}],"source":{"keccak256":"0x30ca2798b72c79907035679c274da0e6692b585e6792e7977d70b3b1d966d508","urls":["bzz-raw://5533bc62cc1a5780e58c63b2f859ee8c48463409ac7b85dcf8e1456146e0fbe9","dweb:/ipfs/QmcekAvqmfvhTLPZ3oPeViurCfVXC4YJwamFw9DQDdZkMJ"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"CollateralState.sol":"CollateralState"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"CollateralState.sol":{"keccak256":"0x30ca2798b72c79907035679c274da0e6692b585e6792e7977d70b3b1d966d508","urls":["bzz-raw://5533bc62cc1a5780e58c63b2f859ee8c48463409ac7b85dcf8e1456146e0fbe9","dweb:/ipfs/QmcekAvqmfvhTLPZ3oPeViurCfVXC4YJwamFw9DQDdZkMJ"]}},"version":1}},"CollateralEth":{"bytecode":"60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162006240380380620062408339810160408190526200004c916200016c565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f9062000294565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d59184906200026e565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b5550506001601055506200031595505050505050565b80516200014c81620002e5565b92915050565b80516200014c81620002ff565b80516200014c816200030a565b600080600080600080600060e0888a0312156200018857600080fd5b6000620001968a8a6200015f565b9750506020620001a98a828b016200013f565b9650506040620001bc8a828b016200013f565b9550506060620001cf8a828b016200013f565b9450506080620001e28a828b0162000152565b93505060a0620001f58a828b0162000152565b92505060c0620002088a828b0162000152565b91505092959891949750929550565b6200022281620002d8565b82525050565b6200022281620002af565b600062000242601983620002a6565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200027e828562000217565b6200028d602083018462000228565b9392505050565b602080825281016200014c8162000233565b90815260200190565b60006200014c82620002cc565b90565b60006200014c82620002af565b6001600160a01b031690565b60006200014c82620002bf565b620002f081620002af565b8114620002fc57600080fd5b50565b620002f081620002bc565b620002f081620002bf565b615f1b80620003256000396000f3fe6080604052600436106102465760003560e01c80635eb2ad0111610139578063a76cdfa5116100b6578063d2b8035a1161007a578063d2b8035a14610638578063dac8cf6814610658578063de81eda914610678578063e74337c614610698578063eb8e3b65146106b8578063f3f43703146106cd57610246565b8063a76cdfa5146105b9578063b562a1ab146105d9578063ba2de9bc146105ee578063c19d93fb14610603578063d0ebdbe71461061857610246565b8063899ffef4116100fd578063899ffef41461052d5780638cd2e0c71461054f5780638da5cb5b1461056f57806390abb4d914610584578063925ead11146105a457610246565b80635eb2ad01146104a357806372e18b6a146104c357806374185360146104e357806379ba5097146104f85780637e1323551461050d57610246565b806330edd961116101c7578063441a3e701161018b578063441a3e701461041957806347e7ef2414610439578063481c6a751461044c5780634c17ace41461046e57806353a47bb71461048e57610246565b806330edd9611461038f578063361e2086146103af578063379607f5146103c457806338245377146103e45780634065b81b1461040457610246565b80630cdd1c651161020e5780630cdd1c65146102f857806315aaf4dd146103185780631627540c1461032d57806323d60e2e1461034d5780632af64bd31461036d57610246565b806304f3bcec1461024b57806306c19e3f146102765780630710285c1461028b5780630a153c97146102ab5780630aebeb4e146102d8575b600080fd5b34801561025757600080fd5b506102606106ed565b60405161026d9190615b77565b60405180910390f35b6102896102843660046150c9565b6106fc565b005b34801561029757600080fd5b506102896102a6366004614f82565b61070e565b3480156102b757600080fd5b506102cb6102c63660046150c9565b610754565b60405161026d9190615b05565b3480156102e457600080fd5b506102896102f33660046150ab565b610890565b34801561030457600080fd5b506102896103133660046150ab565b6108d3565b34801561032457600080fd5b506102cb6109be565b34801561033957600080fd5b50610289610348366004614f0c565b6109c4565b34801561035957600080fd5b50610289610368366004614fcf565b610a17565b34801561037957600080fd5b50610382610add565b60405161026d9190615af7565b34801561039b57600080fd5b506102cb6103aa3660046150ab565b610bf5565b3480156103bb57600080fd5b506102cb610c13565b3480156103d057600080fd5b506102896103df3660046150ab565b610c19565b3480156103f057600080fd5b506102cb6103ff3660046150ab565b610cee565b34801561041057600080fd5b50610382610d00565b34801561042557600080fd5b506102896104343660046150c9565b610d09565b610289610447366004614f48565b610d4d565b34801561045857600080fd5b50610461610d58565b60405161026d9190615a86565b34801561047a57600080fd5b506102896104893660046150ab565b610d67565b34801561049a57600080fd5b50610461610e43565b3480156104af57600080fd5b506102896104be366004614f48565b610e52565b3480156104cf57600080fd5b506103826104de366004614fcf565b610e88565b3480156104ef57600080fd5b50610289610f4a565b34801561050457600080fd5b5061028961109c565b34801561051957600080fd5b506102cb6105283660046150c9565b611138565b34801561053957600080fd5b506105426111e1565b60405161026d9190615ae6565b34801561055b57600080fd5b5061028961056a366004614f82565b611346565b34801561057b57600080fd5b50610461611352565b34801561059057600080fd5b5061028961059f36600461503f565b611361565b3480156105b057600080fd5b506102cb6113ad565b3480156105c557600080fd5b506102896105d43660046150ab565b6113b3565b3480156105e557600080fd5b506102cb6113f0565b3480156105fa57600080fd5b506102cb6113f6565b34801561060f57600080fd5b506102606113fc565b34801561062457600080fd5b50610289610633366004614f0c565b61140b565b34801561064457600080fd5b506102896106533660046150c9565b611464565b34801561066457600080fd5b506102cb6106733660046150e8565b61146e565b34801561068457600080fd5b506104616106933660046150ab565b6115c7565b3480156106a457600080fd5b506102cb6106b33660046150e8565b6115e2565b3480156106c457600080fd5b506102cb6118cc565b3480156106d957600080fd5b506102cb6106e8366004614f0c565b6118d2565b6002546001600160a01b031681565b61070934838360006118e4565b505050565b600061071b84848461210d565b3360009081526011602052604090205490915061073e908263ffffffff61257216565b3360009081526011602052604090205550505050565b60008061075f6125a0565b9050610769612652565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161079a93929190615b4f565b60206040518083038186803b1580156107b257600080fd5b505afa1580156107c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ea9190810190615126565b915061088861087b8273__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561083757600080fd5b505af415801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061086f9190810190615126565b9063ffffffff61257216565b839063ffffffff61266d16565b949350505050565b600061089c3383612697565b336000908152601160205260409020549091506108bf908263ffffffff61257216565b336000908152601160205260409020555050565b6108db612bfc565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561091f57600080fd5b505af4158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109579190810190615126565b811161097e5760405162461bcd60e51b815260040161097590615ba6565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906109b3908390615b05565b60405180910390a150565b600e5481565b6109cc612bfc565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906109b3908390615a86565b610a1f612bfc565b828114610a3e5760405162461bcd60e51b815260040161097590615b96565b60005b83811015610ace576000858583818110610a5757fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610aab57fe5b602090810292909201358352508101919091526040016000205550600101610a41565b50610ad7610f4a565b50505050565b60006060610ae96111e1565b905060005b8151811015610beb576000828281518110610b0557fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b56908590600401615b05565b60206040518083038186803b158015610b6e57600080fd5b505afa158015610b82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ba69190810190614f2a565b6001600160a01b0316141580610bd157506000818152600360205260409020546001600160a01b0316155b15610be25760009350505050610bf2565b50600101610aee565b5060019150505b90565b60078181548110610c0257fe5b600091825260209091200154905081565b600c5481565b601080546001019081905533600090815260116020526040902054610c44908363ffffffff612c2816565b336000818152601160205260408082209390935591518490610c6590615a7b565b60006040518083038185875af1925050503d8060008114610ca2576040519150601f19603f3d011682016040523d82523d6000602084013e610ca7565b606091505b5050905080610cc85760405162461bcd60e51b815260040161097590615be6565b506010548114610cea5760405162461bcd60e51b815260040161097590615d56565b5050565b60086020526000908152604090205481565b600f5460ff1681565b6000610d158383612c50565b33600090815260116020526040902054909150610d38908263ffffffff61257216565b33600090815260116020526040902055505050565b610cea828234612eed565b6006546001600160a01b031681565b610d6f612bfc565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610db357600080fd5b505af4158015610dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610deb9190810190615126565b610e1002811115610e0e5760405162461bcd60e51b815260040161097590615cb6565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906109b3908390615b05565b6001546001600160a01b031681565b610e5a612bfc565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610e9c57506000610888565b60005b84811015610f3e576000868683818110610eb557fe5b9050602002013590508060078381548110610ecc57fe5b906000526020600020015414610ee757600092505050610888565b60078281548110610ef457fe5b906000526020600020015460086000878786818110610f0f57fe5b9050602002013581526020019081526020016000205414610f3557600092505050610888565b50600101610e9f565b50600195945050505050565b6060610f546111e1565b905060005b8151811015610cea576000828281518110610f7057fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610fb29190615a70565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610fde929190615b2f565b60206040518083038186803b158015610ff657600080fd5b505afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061102e9190810190614f2a565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061108a9084908490615b13565b60405180910390a15050600101610f59565b6001546001600160a01b031633146110c65760405162461bcd60e51b815260040161097590615bd6565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611109926001600160a01b0391821692911690615abd565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111da611145612652565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b815260040161117693929190615b4f565b60206040518083038186803b15801561118e57600080fd5b505afa1580156111a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111c69190810190615126565b6111ce61317e565b9063ffffffff61266d16565b9392505050565b6060806111ec61320e565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061122b57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061125557fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061127b57fe5b6020026020010181815250506b53797374656d53746174757360a01b816003815181106112a457fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b816004815181106112ca57fe5b60200260200101818152505060606112e2838361325f565b905061133e81600780548060200260200160405190810160405280929190818152602001828054801561133457602002820191906000526020600020905b815481526020019060010190808311611320575b505050505061325f565b935050505090565b6107098333848461331b565b6000546001600160a01b031681565b611369612bfc565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916109b39160ff90911690615af7565b600a5481565b6113bb612bfc565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906109b3908390615b05565b60045481565b600b5481565b6005546001600160a01b031681565b611413612bfc565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926109b3921690615a86565b610cea82826136d6565b600080611479612652565b6001600160a01b031663654a60ac6004548560400151631cd554d160e21b6040518463ffffffff1660e01b81526004016114b593929190615b4f565b60206040518083038186803b1580156114cd57600080fd5b505afa1580156114e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115059190810190615126565b90506000611511612652565b6001600160a01b031663654a60ac856060015161153f8760c00151886080015161257290919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161156593929190615b4f565b60206040518083038186803b15801561157d57600080fd5b505afa158015611591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115b59190810190615126565b9050610888828263ffffffff613c9616565b6009602052600090815260409020546001600160a01b031681565b6000806115ed6125a0565b905060006115f9612652565b6001600160a01b031663654a60ac85606001516116278760c00151886080015161257290919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161164d93929190615b4f565b60206040518083038186803b15801561166557600080fd5b505afa158015611679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169d9190810190615126565b905060006116a9612652565b6001600160a01b031663654a60ac6004548760400151631cd554d160e21b6040518463ffffffff1660e01b81526004016116e593929190615b4f565b60206040518083038186803b1580156116fd57600080fd5b505afa158015611711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117359190810190615126565b9050600073__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561177d57600080fd5b505af4158015611791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117b59190810190615126565b905060006117de6117d1600a5485613c9690919063ffffffff16565b859063ffffffff612c2816565b9050600061181761180a600a546117fe898761257290919063ffffffff16565b9063ffffffff613c9616565b849063ffffffff612c2816565b9050600061182b838363ffffffff613c9616565b9050611835612652565b6001600160a01b031663654a60ac631cd554d160e21b838c606001516040518463ffffffff1660e01b815260040161186f93929190615b4f565b60206040518083038186803b15801561188757600080fd5b505afa15801561189b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118bf9190810190615126565b9998505050505050505050565b600d5481565b60116020526000908152604090205481565b60006118ee613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561192657600080fd5b505afa15801561193a573d6000803e3d6000fd5b5050600f5460ff16915061196290505760405162461bcd60e51b815260040161097590615ca6565b61196a612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016119979190615b05565b60206040518083038186803b1580156119af57600080fd5b505afa1580156119c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119e7919081019061505d565b15611a045760405162461bcd60e51b815260040161097590615cc6565b600083815260086020526040902054611a2f5760405162461bcd60e51b815260040161097590615cf6565b611a37612652565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b8152600401611a629190615b05565b60206040518083038186803b158015611a7a57600080fd5b505afa158015611a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ab2919081019061505d565b15611acf5760405162461bcd60e51b815260040161097590615c56565b600b54851015611af15760405162461bcd60e51b815260040161097590615c46565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc90611b24903390600401615a94565b60206040518083038186803b158015611b3c57600080fd5b505afa158015611b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b749190810190615126565b10611b915760405162461bcd60e51b815260040161097590615c26565b600080611b9c613cda565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401611bc9929190615b21565b604080518083038186803b158015611be057600080fd5b505afa158015611bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c18919081019061507b565b91509150818015611c27575080155b611c435760405162461bcd60e51b815260040161097590615d36565b611c4d8786611138565b861115611c6c5760405162461bcd60e51b815260040161097590615cd6565b6000611c83600c5488613ce990919063ffffffff16565b90506000611c97888363ffffffff612c2816565b9050611ca1613cda565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611cdb57600080fd5b505af1158015611cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d139190810190615126565b9450611d1d614c86565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a815260200188151581526020016000815260200160008152602001428152509050611d7581613cfe565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490611da6908490600401615d76565b600060405180830381600087803b158015611dc057600080fd5b505af1158015611dd4573d6000803e3d6000fd5b50505050611de283896141ea565b8615611fd857611df06143d6565b6001600160a01b031663867904b433611e07612652565b6001600160a01b031663654a60ac8c87631cd554d160e21b6040518463ffffffff1660e01b8152600401611e3d93929190615b4f565b60206040518083038186803b158015611e5557600080fd5b505afa158015611e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e8d9190810190615126565b6040518363ffffffff1660e01b8152600401611eaa929190615aa2565b600060405180830381600087803b158015611ec457600080fd5b505af1158015611ed8573d6000803e3d6000fd5b50505050611ee4613cda565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401611f11929190615b21565b600060405180830381600087803b158015611f2b57600080fd5b505af1158015611f3f573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050611fd3576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190611fa09033908d90600401615aa2565b600060405180830381600087803b158015611fba57600080fd5b505af1158015611fce573d6000803e3d6000fd5b505050505b6120b7565b600088815260086020526040902054611ff0906143ed565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040161201d929190615aa2565b600060405180830381600087803b15801561203757600080fd5b505af115801561204b573d6000803e3d6000fd5b50505050612057613cda565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401612084929190615b21565b600060405180830381600087803b15801561209e57600080fd5b505af11580156120b2573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c886040516120f8959493929190615dc3565b60405180910390a25050505050949350505050565b6000612117613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561214f57600080fd5b505afa158015612163573d6000803e3d6000fd5b5050505061216f612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b815260040161219c9190615b05565b60206040518083038186803b1580156121b457600080fd5b505afa1580156121c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121ec919081019061505d565b156122095760405162461bcd60e51b815260040161097590615cc6565b600082116122295760405162461bcd60e51b815260040161097590615c06565b612231614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906122639088908890600401615ad8565b6101206040518083038186803b15801561227c57600080fd5b505afa158015612290573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122b49190810190615107565b90506122bf816143f8565b6122c881613cfe565b90506122d933826060015185614458565b600a546122e58261146e565b106123025760405162461bcd60e51b815260040161097590615c36565b600061230d826115e2565b9050600084821061231e5784612320565b815b9050600061233f8460c00151856080015161257290919063ffffffff16565b905080821061235e5761235388338661450b565b9450505050506111da565b61236884836148da565b9350612378846060015183610754565b6040850151909550612390908663ffffffff612c2816565b6040850152426101008501526123a4614afd565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b81526004016123d5929190615aa2565b60206040518083038186803b1580156123ed57600080fd5b505afa158015612401573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612425919081019061505d565b156124425760405162461bcd60e51b815260040161097590615d66565b606084015160009081526008602052604090205461245f906143ed565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040161248c929190615aa2565b600060405180830381600087803b1580156124a657600080fd5b505af11580156124ba573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c91506124ee908790600401615d76565b600060405180830381600087803b15801561250857600080fd5b505af115801561251c573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c58833858960405161255f9493929190615d85565b60405180910390a2505050509392505050565b6000828201838110156125975760405162461bcd60e51b815260040161097590615c16565b90505b92915050565b60006125aa614b14565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b81526004016125fd929190615b21565b60206040518083038186803b15801561261557600080fd5b505afa158015612629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061264d9190810190615126565b905090565b600061264d6c45786368616e6765526174657360981b614b2d565b6000670de0b6b3a7640000612688848463ffffffff614b8a16565b8161268f57fe5b049392505050565b60006126a1613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156126d957600080fd5b505afa1580156126ed573d6000803e3d6000fd5b505050506126f9612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127269190615b05565b60206040518083038186803b15801561273e57600080fd5b505afa158015612752573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612776919081019061505d565b156127935760405162461bcd60e51b815260040161097590615cc6565b61279b614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906127cd9087908790600401615ad8565b6101206040518083038186803b1580156127e657600080fd5b505afa1580156127fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061281e9190810190615107565b9050612829816143f8565b61283281613cfe565b905060006128518260c00151836080015161257290919063ffffffff16565b90506128668260200151836060015183614458565b61286e614afd565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b815260040161289f929190615ad8565b60206040518083038186803b1580156128b757600080fd5b505afa1580156128cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128ef919081019061505d565b1561290c5760405162461bcd60e51b815260040161097590615c66565b6060820151600090815260086020526040902054612929906143ed565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612956929190615ad8565b600060405180830381600087803b15801561297057600080fd5b505af1158015612984573d6000803e3d6000fd5b505050508160a0015115612aa25761299a613cda565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b81526004016129cf929190615b21565b600060405180830381600087803b1580156129e957600080fd5b505af11580156129fd573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b031615612a9d57606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391612a6a918991600401615ad8565b600060405180830381600087803b158015612a8457600080fd5b505af1158015612a98573d6000803e3d6000fd5b505050505b612b12565b612aaa613cda565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b8152600401612adf929190615b21565b600060405180830381600087803b158015612af957600080fd5b505af1158015612b0d573d6000803e3d6000fd5b505050505b81604001519250612b2b8260c0015183606001516141ea565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612b81908590600401615d76565b600060405180830381600087803b158015612b9b57600080fd5b505af1158015612baf573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f85604051612bec9190615b05565b60405180910390a2505092915050565b6000546001600160a01b03163314612c265760405162461bcd60e51b815260040161097590615ce6565b565b600082821115612c4a5760405162461bcd60e51b815260040161097590615c76565b50900390565b6000612c5a613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612c9257600080fd5b505afa158015612ca6573d6000803e3d6000fd5b50505050612cb2612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612cdf9190615b05565b60206040518083038186803b158015612cf757600080fd5b505afa158015612d0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d2f919081019061505d565b15612d4c5760405162461bcd60e51b815260040161097590615cc6565b612d54614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612d869033908890600401615aa2565b6101206040518083038186803b158015612d9f57600080fd5b505afa158015612db3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612dd79190810190615107565b9050612de2816143f8565b612deb81613cfe565b6040810151909150612e03908463ffffffff612c2816565b604082015242610100820152600a54612e1b8261146e565b11612e385760405162461bcd60e51b815260040161097590615bb6565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612e68908490600401615d76565b600060405180830381600087803b158015612e8257600080fd5b505af1158015612e96573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330385858460400151604051612ede93929190615b4f565b60405180910390a25092915050565b612ef5613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f2d57600080fd5b505afa158015612f41573d6000803e3d6000fd5b50505050612f4d612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612f7a9190615b05565b60206040518083038186803b158015612f9257600080fd5b505afa158015612fa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612fca919081019061505d565b15612fe75760405162461bcd60e51b815260040161097590615cc6565b600081116130075760405162461bcd60e51b815260040161097590615d26565b61300f614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906130419087908790600401615ad8565b6101206040518083038186803b15801561305a57600080fd5b505afa15801561306e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130929190810190615107565b905061309d816143f8565b6130a681613cfe565b60408101519091506130be908363ffffffff61257216565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906130fd908490600401615d76565b600060405180830381600087803b15801561311757600080fd5b505af115801561312b573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161317093929190615b4f565b60405180910390a250505050565b600061264d600a5473__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156131ca57600080fd5b505af41580156131de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132029190810190615126565b9063ffffffff614bc416565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061325057fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561328f578160200160208202803883390190505b50905060005b83518110156132d1578381815181106132aa57fe5b60200260200101518282815181106132be57fe5b6020908102919091010152600101613295565b5060005b8251811015613314578281815181106132ea57fe5b602002602001015182828651018151811061330157fe5b60209081029190910101526001016132d5565b5092915050565b613323613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561335b57600080fd5b505afa15801561336f573d6000803e3d6000fd5b5050505061337b612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016133a89190615b05565b60206040518083038186803b1580156133c057600080fd5b505afa1580156133d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133f8919081019061505d565b156134155760405162461bcd60e51b815260040161097590615cc6565b600081116134355760405162461bcd60e51b815260040161097590615c06565b61343d614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061346f9088908790600401615ad8565b6101206040518083038186803b15801561348857600080fd5b505afa15801561349c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134c09190810190615107565b90506134cb816143f8565b6134d481613cfe565b90506134e584826060015184614458565b6134ef81836148da565b426101008201529050613500614afd565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401613531929190615ad8565b60206040518083038186803b15801561354957600080fd5b505afa15801561355d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613581919081019061505d565b1561359e5760405162461bcd60e51b815260040161097590615d66565b60608101516000908152600860205260409020546135bb906143ed565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b81526004016135e8929190615ad8565b600060405180830381600087803b15801561360257600080fd5b505af1158015613616573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c915061364a908490600401615d76565b600060405180830381600087803b15801561366457600080fd5b505af1158015613678573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f858585608001516040516136c793929190615b4f565b60405180910390a35050505050565b6136de613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561371657600080fd5b505afa15801561372a573d6000803e3d6000fd5b50505050613736612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016137639190615b05565b60206040518083038186803b15801561377b57600080fd5b505afa15801561378f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137b3919081019061505d565b156137d05760405162461bcd60e51b815260040161097590615cc6565b6137d8614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061380a9033908790600401615aa2565b6101206040518083038186803b15801561382357600080fd5b505afa158015613837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061385b9190810190615107565b9050613866816143f8565b61386f81613cfe565b6080810151909150613887908363ffffffff61257216565b6080820152600a546138988261146e565b116138b55760405162461bcd60e51b815260040161097590615bc6565b60006138cc600c5484613ce990919063ffffffff16565b905060006138e0848363ffffffff612c2816565b90508260a0015115613aed576138f4613cda565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401613925929190615b21565b600060405180830381600087803b15801561393f57600080fd5b505af1158015613953573d6000803e3d6000fd5b5050505061395f6143d6565b6001600160a01b031663867904b433613976612652565b6001600160a01b031663654a60ac876060015186631cd554d160e21b6040518463ffffffff1660e01b81526004016139b093929190615b4f565b60206040518083038186803b1580156139c857600080fd5b505afa1580156139dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a009190810190615126565b6040518363ffffffff1660e01b8152600401613a1d929190615aa2565b600060405180830381600087803b158015613a3757600080fd5b505af1158015613a4b573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b031615613ae85760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190613ab59033908890600401615aa2565b600060405180830381600087803b158015613acf57600080fd5b505af1158015613ae3573d6000803e3d6000fd5b505050505b613bd5565b613af5613cda565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b8152600401613b26929190615b21565b600060405180830381600087803b158015613b4057600080fd5b505af1158015613b54573d6000803e3d6000fd5b5050506060840151600090815260086020526040902054613b7591506143ed565b6001600160a01b031663867904b433836040518363ffffffff1660e01b8152600401613ba2929190615aa2565b600060405180830381600087803b158015613bbc57600080fd5b505af1158015613bd0573d6000803e3d6000fd5b505050505b613be38284606001516141ea565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613c1a908690600401615d76565b600060405180830381600087803b158015613c3457600080fd5b505af1158015613c48573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf3583106548686604051613c87929190615b21565b60405180910390a25050505050565b60006111da82613cb485670de0b6b3a764000063ffffffff614b8a16565b9063ffffffff614bd916565b600061264d6b53797374656d53746174757360a01b614b2d565b6006546001600160a01b031690565b60006111da8383670de0b6b3a7640000614c0e565b613d06614c86565b8190506000806000808560a00151613da457613d20613cda565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613d4f9190615b05565b60806040518083038186803b158015613d6757600080fd5b505afa158015613d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d9f9190810190615163565b613e31565b613dac613cda565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613de1929190615b21565b60806040518083038186803b158015613df957600080fd5b505afa158015613e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e319190810190615163565b93509350935093506000808760a00151613ec157613e4d613cda565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613e8457600080fd5b505afa158015613e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ebc9190810190615144565b613f59565b613ec9613cda565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613f0a91600401615b05565b604080518083038186803b158015613f2157600080fd5b505afa158015613f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f599190810190615144565b915091508015613f7b5760405162461bcd60e51b815260040161097590615c96565b600061401873__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613fc457600080fd5b505af4158015613fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ffc9190810190615126565b61400c428863ffffffff612c2816565b9063ffffffff614b8a16565b9050600061403c61402f858463ffffffff61266d16565b889063ffffffff61257216565b905060008a60e001516000146140755761407061405f838b63ffffffff612c2816565b60808d01519063ffffffff61266d16565b614078565b60005b90508a60a001516140ed5761408b613cda565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b81526004016140b69190615b05565b600060405180830381600087803b1580156140d057600080fd5b505af11580156140e4573d6000803e3d6000fd5b50505050614159565b6140f5613cda565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401614126929190615b21565b600060405180830381600087803b15801561414057600080fd5b505af1158015614154573d6000803e3d6000fd5b505050505b60c08b015161416e908263ffffffff61257216565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c906141aa908d90600401615d76565b600060405180830381600087803b1580156141c457600080fd5b505af11580156141d8573d6000803e3d6000fd5b50505050505050505050505050919050565b8115610cea57631cd554d160e21b811461428f57614206612652565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b815260040161423c93929190615b4f565b60206040518083038186803b15801561425457600080fd5b505afa158015614268573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061428c9190810190615126565b91505b6142976143d6565b6001600160a01b031663867904b46142ad614c4b565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b1580156142e557600080fd5b505afa1580156142f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061431d9190810190614f2a565b846040518363ffffffff1660e01b815260040161433b929190615ad8565b600060405180830381600087803b15801561435557600080fd5b505af1158015614369573d6000803e3d6000fd5b50505050614375614c4b565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b81526004016143a09190615b05565b600060405180830381600087803b1580156143ba57600080fd5b505af11580156143ce573d6000803e3d6000fd5b505050505050565b600061264d6814de5b9d1a1cd554d160ba1b614b2d565b600061259a82614b2d565b60008160e001511161441c5760405162461bcd60e51b815260040161097590615d46565b42614437600e5483610100015161257290919063ffffffff16565b11156144555760405162461bcd60e51b815260040161097590615bf6565b50565b6000828152600860205260409020548190614472906143ed565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161449d9190615a86565b60206040518083038186803b1580156144b557600080fd5b505afa1580156144c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144ed9190810190615126565b10156107095760405162461bcd60e51b815260040161097590615d16565b6000806145298360c00151846080015161257290919063ffffffff16565b608084015160408501519350909150614540614afd565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b8152600401614571929190615ad8565b60206040518083038186803b15801561458957600080fd5b505afa15801561459d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506145c1919081019061505d565b156145de5760405162461bcd60e51b815260040161097590615d66565b60608401516000908152600860205260409020546145fb906143ed565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b8152600401614628929190615ad8565b600060405180830381600087803b15801561464257600080fd5b505af1158015614656573d6000803e3d6000fd5b505050508360a00151156147745761466c613cda565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b81526004016146a1929190615b21565b600060405180830381600087803b1580156146bb57600080fd5b505af11580156146cf573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b03161561476f57606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161473c918a91600401615ad8565b600060405180830381600087803b15801561475657600080fd5b505af115801561476a573d6000803e3d6000fd5b505050505b6147e4565b61477c613cda565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b81526004016147b1929190615b21565b600060405180830381600087803b1580156147cb57600080fd5b505af11580156147df573d6000803e3d6000fd5b505050505b6147f68460c0015185606001516141ea565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c9061484c908790600401615d76565b600060405180830381600087803b15801561486657600080fd5b505af115801561487a573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516148c993929190615b4f565b60405180910390a350509392505050565b6148e2614c86565b508181158015906148f7575060008360c00151115b156149545760008360c00151831161490f5782614915565b8360c001515b60c085015190915061492d908263ffffffff612c2816565b60c0830152614942838263ffffffff612c2816565b92506149528185606001516141ea565b505b811561259a57608083015161496f908363ffffffff612c2816565b608082015260a081015115614a8c57614986613cda565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b81526004016149b7929190615b21565b600060405180830381600087803b1580156149d157600080fd5b505af11580156149e5573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b031615614a875760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391614a5491908690600401615aa2565b600060405180830381600087803b158015614a6e57600080fd5b505af1158015614a82573d6000803e3d6000fd5b505050505b61259a565b614a94613cda565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b8152600401614ac5929190615b21565b600060405180830381600087803b158015614adf57600080fd5b505af1158015614af3573d6000803e3d6000fd5b5050505092915050565b600061264d6822bc31b430b733b2b960b91b614b2d565b600061264d6e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b039091169182151591614b5d91869101615a50565b604051602081830303815290604052906133145760405162461bcd60e51b81526004016109759190615b85565b600082614b995750600061259a565b82820282848281614ba657fe5b04146125975760405162461bcd60e51b815260040161097590615d06565b60006111da8383670de0b6b3a7640000614c60565b6000808211614bfa5760405162461bcd60e51b815260040161097590615c86565b6000828481614c0557fe5b04949350505050565b600080600a8304614c25868663ffffffff614b8a16565b81614c2c57fe5b0490506005600a825b0610614c3f57600a015b600a9004949350505050565b600061264d66119959541bdbdb60ca1b614b2d565b600080614c7a84613cb487600a870263ffffffff614b8a16565b90506005600a82614c35565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b803561259a81615eb2565b805161259a81615eb2565b60008083601f840112614d0857600080fd5b50813567ffffffffffffffff811115614d2057600080fd5b602083019150836020820283011115614d3857600080fd5b9250929050565b803561259a81615ec6565b805161259a81615ec6565b803561259a81615ecf565b805161259a81615ecf565b60006101208284031215614d7e57600080fd5b614d89610120615e0f565b90506000614d978484614d55565b8252506020614da884848301614ce0565b6020830152506040614dbc84828501614d55565b6040830152506060614dd084828501614d55565b6060830152506080614de484828501614d55565b60808301525060a0614df884828501614d3f565b60a08301525060c0614e0c84828501614d55565b60c08301525060e0614e2084828501614d55565b60e083015250610100614e3584828501614d55565b6101008301525092915050565b60006101208284031215614e5557600080fd5b614e60610120615e0f565b90506000614e6e8484614d60565b8252506020614e7f84848301614ceb565b6020830152506040614e9384828501614d60565b6040830152506060614ea784828501614d60565b6060830152506080614ebb84828501614d60565b60808301525060a0614ecf84828501614d4a565b60a08301525060c0614ee384828501614d60565b60c08301525060e0614ef784828501614d60565b60e083015250610100614e3584828501614d60565b600060208284031215614f1e57600080fd5b60006108888484614ce0565b600060208284031215614f3c57600080fd5b60006108888484614ceb565b60008060408385031215614f5b57600080fd5b6000614f678585614ce0565b9250506020614f7885828601614d55565b9150509250929050565b600080600060608486031215614f9757600080fd5b6000614fa38686614ce0565b9350506020614fb486828701614d55565b9250506040614fc586828701614d55565b9150509250925092565b60008060008060408587031215614fe557600080fd5b843567ffffffffffffffff811115614ffc57600080fd5b61500887828801614cf6565b9450945050602085013567ffffffffffffffff81111561502757600080fd5b61503387828801614cf6565b95989497509550505050565b60006020828403121561505157600080fd5b60006108888484614d3f565b60006020828403121561506f57600080fd5b60006108888484614d4a565b6000806040838503121561508e57600080fd5b600061509a8585614d4a565b9250506020614f7885828601614d4a565b6000602082840312156150bd57600080fd5b60006108888484614d55565b600080604083850312156150dc57600080fd5b6000614f678585614d55565b600061012082840312156150fb57600080fd5b60006108888484614d6b565b6000610120828403121561511a57600080fd5b60006108888484614e42565b60006020828403121561513857600080fd5b60006108888484614d60565b6000806040838503121561515757600080fd5b600061509a8585614d60565b6000806000806080858703121561517957600080fd5b60006151858787614d60565b945050602061519687828801614d60565b93505060406151a787828801614d60565b92505060606151b887828801614d60565b91505092959194509250565b60006151d08383615252565b505060200190565b6151e181615e6a565b82525050565b6151e181615e4e565b60006151fb82615e3c565b6152058185615e40565b935061521083615e36565b8060005b8381101561523e57815161522888826151c4565b975061523383615e36565b925050600101615214565b509495945050505050565b6151e181615e59565b6151e181610bf2565b6151e161526782610bf2565b610bf2565b6151e181615e71565b600061528082615e3c565b61528a8185615e40565b935061529a818560208601615e7c565b6152a381615ea8565b9093019392505050565b60006152ba601b83615e40565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006152f3601683615e40565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b6000615325600e83615e40565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b600061534f601583615e40565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b6000615380603583615e40565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006153d7600f83615e40565b6e151c985b9cd9995c8819985a5b1959608a1b815260200192915050565b6000615402601d83615e40565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b600061543b601e83615e40565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b6000615474601b83615e40565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006154ad601283615e40565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b60006154db601e83615e40565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b6000615514601d83615e40565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b600061554d601883615e40565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000615586602083615e40565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b60006155bf601e83615e40565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006155f8601a83615e40565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615631601183615e49565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061565e601183615e40565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b600061568b601383615e40565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b60006156ba600a83615e40565b6926b0bc1018903437bab960b11b815260200192915050565b60006156e0601a83615e40565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615719601b83615e40565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b6000615752602f83615e40565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006157a3601f83615e40565b7f4e6f7420616c6c6f77656420746f20697373756520746869732073796e746800815260200192915050565b60006157dc602183615e40565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061581f601883615e40565b7f4e6f7420656e6f7567682073796e74682062616c616e63650000000000000000815260200192915050565b6000615858601e83615e40565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b6000615891601a83615e40565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006158ca601983615e49565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061259a600083615e49565b6000615910601383615e40565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b600061593f601f83615e40565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000615978601b83615e40565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906159b68482615252565b5060208201516159c960208501826151e7565b5060408201516159dc6040850182615252565b5060608201516159ef6060850182615252565b506080820151615a026080850182615252565b5060a0820151615a1560a0850182615249565b5060c0820151615a2860c0850182615252565b5060e0820151615a3b60e0850182615252565b50610100820151610ad7610100850182615252565b6000615a5b82615624565b9150615a67828461525b565b50602001919050565b6000615a5b826158bd565b600061259a826158f6565b6020810161259a82846151e7565b6020810161259a82846151d8565b60408101615ab082856151d8565b6111da6020830184615252565b60408101615acb82856151e7565b6111da60208301846151e7565b60408101615ab082856151e7565b602080825281016111da81846151f0565b6020810161259a8284615249565b6020810161259a8284615252565b60408101615acb8285615252565b60408101615ab08285615252565b60408101615b3d8285615252565b81810360208301526108888184615275565b60608101615b5d8286615252565b615b6a6020830185615252565b6108886040830184615252565b6020810161259a828461526c565b602080825281016111da8184615275565b6020808252810161259a816152ad565b6020808252810161259a816152e6565b6020808252810161259a81615318565b6020808252810161259a81615342565b6020808252810161259a81615373565b6020808252810161259a816153ca565b6020808252810161259a816153f5565b6020808252810161259a8161542e565b6020808252810161259a81615467565b6020808252810161259a816154a0565b6020808252810161259a816154ce565b6020808252810161259a81615507565b6020808252810161259a81615540565b6020808252810161259a81615579565b6020808252810161259a816155b2565b6020808252810161259a816155eb565b6020808252810161259a81615651565b6020808252810161259a8161567e565b6020808252810161259a816156ad565b6020808252810161259a816156d3565b6020808252810161259a8161570c565b6020808252810161259a81615745565b6020808252810161259a81615796565b6020808252810161259a816157cf565b6020808252810161259a81615812565b6020808252810161259a8161584b565b6020808252810161259a81615884565b6020808252810161259a81615903565b6020808252810161259a81615932565b6020808252810161259a8161596b565b610120810161259a82846159a4565b60808101615d938287615252565b615da060208301866151d8565b615dad6040830185615252565b615dba6060830184615252565b95945050505050565b60a08101615dd18288615252565b615dde6020830187615252565b615deb6040830186615252565b615df86060830185615252565b615e056080830184615252565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615e2e57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b600061259a82615e5e565b151590565b6001600160a01b031690565b600061259a825b600061259a82615e4e565b60005b83811015615e97578181015183820152602001615e7f565b83811115610ad75750506000910152565b601f01601f191690565b615ebb81615e4e565b811461445557600080fd5b615ebb81615e59565b615ebb81610bf256fea365627a7a723158204f8c74024927e46661278ea6cfe2e203eefaf23b2400b6cd678f30b0a7e255d96c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"contract CollateralState","name":"_state","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_manager","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"},{"internalType":"uint256","name":"_minCratio","type":"uint256"},{"internalType":"uint256","name":"_minCollateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"canOpenLoans","type":"bool"}],"name":"CanOpenLoansUpdated","type":"event","signature":"0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountDeposited","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralDeposited","type":"event","signature":"0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountWithdrawn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralWithdrawn","type":"event","signature":"0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"interactionDelay","type":"uint256"}],"name":"InteractionDelayUpdated","type":"event","signature":"0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"issueFeeRate","type":"uint256"}],"name":"IssueFeeRateUpdated","type":"event","signature":"0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"LoanClosed","type":"event","signature":"0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanClosedByLiquidation","type":"event","signature":"0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateral","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"currency","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"issuanceFee","type":"uint256"}],"name":"LoanCreated","type":"event","signature":"0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LoanDrawnDown","type":"event","signature":"0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanPartiallyLiquidated","type":"event","signature":"0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"repayer","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRepaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAfter","type":"uint256"}],"name":"LoanRepaymentMade","type":"event","signature":"0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"manager","type":"address"}],"name":"ManagerUpdated","type":"event","signature":"0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxLoansPerAccount","type":"uint256"}],"name":"MaxLoansPerAccountUpdated","type":"event","signature":"0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCollateral","type":"uint256"}],"name":"MinCollateralUpdated","type":"event","signature":"0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCratio","type":"uint256"}],"name":"MinCratioRatioUpdated","type":"event","signature":"0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"address","name":"rewardsContract","type":"address"},{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"addRewardsContracts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5eb2ad01"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"addSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23d60e2e"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"areSynthsAndCurrenciesSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x72e18b6a"},{"constant":true,"inputs":[],"name":"canOpenLoans","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4065b81b"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x379607f5"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0aebeb4e"},{"constant":true,"inputs":[],"name":"collateralKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb562a1ab"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"collateralRatio","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdac8cf68"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"collateralRedeemed","outputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0a153c97"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function","signature":"0x47e7ef24"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"draw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd2b8035a"},{"constant":true,"inputs":[],"name":"interactionDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x15aaf4dd"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"issueFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x361e2086"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"liquidate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0710285c"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"liquidationAmount","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe74337c6"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x481c6a75"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"maxLoan","outputs":[{"internalType":"uint256","name":"max","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7e132355"},{"constant":true,"inputs":[],"name":"maxLoansPerAccount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeb8e3b65"},{"constant":true,"inputs":[],"name":"minCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xba2de9bc"},{"constant":true,"inputs":[],"name":"minCratio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x925ead11"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"open","outputs":[],"payable":true,"stateMutability":"payable","type":"function","signature":"0x06c19e3f"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pendingWithdrawals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf3f43703"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"repay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8cd2e0c7"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"bool","name":"_canOpenLoans","type":"bool"}],"name":"setCanOpenLoans","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x90abb4d9"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_interactionDelay","type":"uint256"}],"name":"setInteractionDelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4c17ace4"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_issueFeeRate","type":"uint256"}],"name":"setIssueFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa76cdfa5"},{"constant":false,"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"name":"setManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd0ebdbe7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_minCratio","type":"uint256"}],"name":"setMinCratio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0cdd1c65"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"shortingRewards","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xde81eda9"},{"constant":true,"inputs":[],"name":"state","outputs":[{"internalType":"contract CollateralState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc19d93fb"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"synths","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x30edd961"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthsByKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x38245377"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x441a3e70"}],"source":{"keccak256":"0xa48ff50e2dbdb646cb5933caf7f577a673f7e535eb520e7e9b32ff86e3bc9784","urls":["bzz-raw://de83c1e9d2cb8f8cba647b2e3bd0c9e03284096e82cd752c7f30e6d2cb2cb931","dweb:/ipfs/Qmcx9SSBT8q257W6qpmgmjJtgWX16Maib4hu6tcxdjp69R"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"CollateralEth.sol":"CollateralEth"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"CollateralEth.sol":{"keccak256":"0xa48ff50e2dbdb646cb5933caf7f577a673f7e535eb520e7e9b32ff86e3bc9784","urls":["bzz-raw://de83c1e9d2cb8f8cba647b2e3bd0c9e03284096e82cd752c7f30e6d2cb2cb931","dweb:/ipfs/Qmcx9SSBT8q257W6qpmgmjJtgWX16Maib4hu6tcxdjp69R"]}},"version":1}},"CollateralErc20":{"bytecode":"60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162006350380380620063508339810160408190526200004c916200018c565b888888888888888380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f90620002e0565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d5918490620002ba565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498831698821698909817909755600580549982169990971698909817909555600492909255600a55600b555050600f80549490921661010002610100600160a81b031990941693909317905560105550620003619650505050505050565b80516200016c8162000331565b92915050565b80516200016c816200034b565b80516200016c8162000356565b60008060008060008060008060006101208a8c031215620001ac57600080fd5b6000620001ba8c8c6200017f565b9950506020620001cd8c828d016200015f565b9850506040620001e08c828d016200015f565b9750506060620001f38c828d016200015f565b9650506080620002068c828d0162000172565b95505060a0620002198c828d0162000172565b94505060c06200022c8c828d0162000172565b93505060e06200023f8c828d016200015f565b925050610100620002538c828d0162000172565b9150509295985092959850929598565b6200026e8162000324565b82525050565b6200026e81620002fb565b60006200028e601983620002f2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002ca828562000263565b620002d9602083018462000274565b9392505050565b602080825281016200016c816200027f565b90815260200190565b60006200016c8262000318565b90565b60006200016c82620002fb565b6001600160a01b031690565b60006200016c826200030b565b6200033c81620002fb565b81146200034857600080fd5b50565b6200033c8162000308565b6200033c816200030b565b615fdf80620003716000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c806372e18b6a11610151578063b094f2c4116100c3578063d2b8035a11610087578063d2b8035a146104be578063dac8cf68146104d1578063de81eda9146104e4578063e74337c6146104f7578063eb8e3b651461050a578063f93451ed1461051257610269565b8063b094f2c414610480578063b562a1ab14610493578063ba2de9bc1461049b578063c19d93fb146104a3578063d0ebdbe7146104ab57610269565b8063899ffef411610115578063899ffef4146104225780638cd2e0c7146104375780638da5cb5b1461044a57806390abb4d914610452578063925ead1114610465578063a76cdfa51461046d57610269565b806372e18b6a146103d957806374185360146103ec57806379ba5097146103f45780637e132355146103fc578063883a22091461040f57610269565b80632af64bd3116101ea5780634065b81b116101ae5780634065b81b14610388578063441a3e7014610390578063481c6a75146103a35780634c17ace4146103ab57806353a47bb7146103be5780635eb2ad01146103c657610269565b80632af64bd31461033d57806330edd96114610352578063361e208614610365578063382453771461036d5780633cc3ffc71461038057610269565b80630efe6a8b116102315780630efe6a8b146102e757806310cfe906146102fa57806315aaf4dd1461030f5780631627540c1461031757806323d60e2e1461032a57610269565b806304f3bcec1461026e5780630710285c1461028c5780630a153c97146102a15780630aebeb4e146102c15780630cdd1c65146102d4575b600080fd5b610276610525565b6040516102839190615c4b565b60405180910390f35b61029f61029a36600461504f565b610534565b005b6102b46102af366004615196565b6105e0565b6040516102839190615be6565b61029f6102cf366004615178565b61071c565b61029f6102e2366004615178565b6107c5565b61029f6102f536600461504f565b6108b0565b6103026109f8565b6040516102839190615b31565b6102b4610a0c565b61029f610325366004614fd9565b610a12565b61029f61033836600461509c565b610a65565b610345610b25565b6040516102839190615bd8565b6102b4610360366004615178565b610c3d565b6102b4610c5b565b6102b461037b366004615178565b610c61565b6102b4610c73565b610345610c79565b61029f61039e366004615196565b610c82565b610302610c9b565b61029f6103b9366004615178565b610caa565b610302610d86565b61029f6103d4366004615015565b610d95565b6103456103e736600461509c565b610dcb565b61029f610e8d565b61029f610fe3565b6102b461040a366004615196565b61107f565b6102b461041d366004615178565b611128565b61042a61114d565b6040516102839190615bc7565b61029f61044536600461504f565b6112b2565b6103026112c3565b61029f61046036600461510c565b6112d2565b6102b461131e565b61029f61047b366004615178565b611324565b6102b461048e366004615178565b611361565b6102b4611386565b6102b461138c565b610276611392565b61029f6104b9366004614fd9565b6113a1565b61029f6104cc366004615196565b6113fa565b6102b46104df3660046151b5565b611404565b6103026104f2366004615178565b61155d565b6102b46105053660046151b5565b611578565b6102b4611862565b61029f610520366004615230565b611868565b6002546001600160a01b031681565b60006105418484846119b9565b9050600061054e82611361565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb906105869033908590600401615b90565b602060405180830381600087803b1580156105a057600080fd5b505af11580156105b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d8919081019061512a565b505050505050565b6000806105eb611e1e565b90506105f5611ed0565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161062693929190615c30565b60206040518083038186803b15801561063e57600080fd5b505afa158015610652573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061067691908101906151f3565b91506107146107078273__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c357600080fd5b505af41580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106fb91908101906151f3565b9063ffffffff611eeb16565b839063ffffffff611f1916565b949350505050565b60006107283383611f43565b9050600061073582611361565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb9061076d9033908590600401615b90565b602060405180830381600087803b15801561078757600080fd5b505af115801561079b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107bf919081019061512a565b50505050565b6107cd6124a8565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561081157600080fd5b505af4158015610825573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061084991908101906151f3565b81116108705760405162461bcd60e51b815260040161086790615c7a565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906108a5908390615be6565b60405180910390a150565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e906108e69033903090600401615b4d565b60206040518083038186803b1580156108fe57600080fd5b505afa158015610912573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061093691908101906151f3565b8111156109555760405162461bcd60e51b815260040161086790615cba565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd9061098d90339030908690600401615b68565b602060405180830381600087803b1580156109a757600080fd5b505af11580156109bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109df919081019061512a565b5060006109eb82611128565b90506107bf8484836124d4565b600f5461010090046001600160a01b031681565b600e5481565b610a1a6124a8565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108a5908390615b31565b610a6d6124a8565b828114610a8c5760405162461bcd60e51b815260040161086790615c6a565b60005b83811015610b1c576000858583818110610aa557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610af957fe5b602090810292909201358352508101919091526040016000205550600101610a8f565b506107bf610e8d565b60006060610b3161114d565b905060005b8151811015610c33576000828281518110610b4d57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b9e908590600401615be6565b60206040518083038186803b158015610bb657600080fd5b505afa158015610bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bee9190810190614ff7565b6001600160a01b0316141580610c1957506000818152600360205260409020546001600160a01b0316155b15610c2a5760009350505050610c3a565b50600101610b36565b5060019150505b90565b60078181548110610c4a57fe5b600091825260209091200154905081565b600c5481565b60086020526000908152604090205481565b60105481565b600f5460ff1681565b6000610c8d82611128565b905060006105418483612765565b6006546001600160a01b031681565b610cb26124a8565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf657600080fd5b505af4158015610d0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2e91908101906151f3565b610e1002811115610d515760405162461bcd60e51b815260040161086790615d8a565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906108a5908390615be6565b6001546001600160a01b031681565b610d9d6124a8565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610ddf57506000610714565b60005b84811015610e81576000868683818110610df857fe5b9050602002013590508060078381548110610e0f57fe5b906000526020600020015414610e2a57600092505050610714565b60078281548110610e3757fe5b906000526020600020015460086000878786818110610e5257fe5b9050602002013581526020019081526020016000205414610e7857600092505050610714565b50600101610de2565b50600195945050505050565b6060610e9761114d565b905060005b8151811015610fdf576000828281518110610eb357fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610ef59190615b26565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610f21929190615c10565b60206040518083038186803b158015610f3957600080fd5b505afa158015610f4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f719190810190614ff7565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610fcd9084908490615bf4565b60405180910390a15050600101610e9c565b5050565b6001546001600160a01b0316331461100d5760405162461bcd60e51b815260040161086790615caa565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611050926001600160a01b0391821692911690615bab565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061112161108c611ed0565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b81526004016110bd93929190615c30565b60206040518083038186803b1580156110d557600080fd5b505afa1580156110e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061110d91908101906151f3565b611115612a02565b9063ffffffff611f1916565b9392505050565b6000806111386012601054612a92565b600a0a9050611121838263ffffffff612aba16565b606080611158612af4565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061119757fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106111c157fe5b6020026020010181815250506822bc31b430b733b2b960b91b816002815181106111e757fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061121057fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061123657fe5b602002602001018181525050606061124e8383612b45565b90506112aa8160078054806020026020016040519081016040528092919081815260200182805480156112a057602002820191906000526020600020905b81548152602001906001019080831161128c575b5050505050612b45565b935050505090565b6112be83338484612c01565b505050565b6000546001600160a01b031681565b6112da6124a8565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108a59160ff90911690615bd8565b600a5481565b61132c6124a8565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906108a5908390615be6565b6000806113716012601054612a92565b600a0a9050611121838263ffffffff612fbc16565b60045481565b600b5481565b6005546001600160a01b031681565b6113a96124a8565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926108a5921690615b31565b610fdf8282612ff1565b60008061140f611ed0565b6001600160a01b031663654a60ac6004548560400151631cd554d160e21b6040518463ffffffff1660e01b815260040161144b93929190615c30565b60206040518083038186803b15801561146357600080fd5b505afa158015611477573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061149b91908101906151f3565b905060006114a7611ed0565b6001600160a01b031663654a60ac85606001516114d58760c001518860800151611eeb90919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b81526004016114fb93929190615c30565b60206040518083038186803b15801561151357600080fd5b505afa158015611527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061154b91908101906151f3565b9050610714828263ffffffff6135b116565b6009602052600090815260409020546001600160a01b031681565b600080611583611e1e565b9050600061158f611ed0565b6001600160a01b031663654a60ac85606001516115bd8760c001518860800151611eeb90919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b81526004016115e393929190615c30565b60206040518083038186803b1580156115fb57600080fd5b505afa15801561160f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061163391908101906151f3565b9050600061163f611ed0565b6001600160a01b031663654a60ac6004548760400151631cd554d160e21b6040518463ffffffff1660e01b815260040161167b93929190615c30565b60206040518083038186803b15801561169357600080fd5b505afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116cb91908101906151f3565b9050600073__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561171357600080fd5b505af4158015611727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061174b91908101906151f3565b90506000611774611767600a54856135b190919063ffffffff16565b859063ffffffff612a9216565b905060006117ad6117a0600a546117948987611eeb90919063ffffffff16565b9063ffffffff6135b116565b849063ffffffff612a9216565b905060006117c1838363ffffffff6135b116565b90506117cb611ed0565b6001600160a01b031663654a60ac631cd554d160e21b838c606001516040518463ffffffff1660e01b815260040161180593929190615c30565b60206040518083038186803b15801561181d57600080fd5b505afa158015611831573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061185591908101906151f3565b9998505050505050505050565b600d5481565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e9061189e9033903090600401615b4d565b60206040518083038186803b1580156118b657600080fd5b505afa1580156118ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118ee91908101906151f3565b83111561190d5760405162461bcd60e51b815260040161086790615cba565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd9061194590339030908890600401615b68565b602060405180830381600087803b15801561195f57600080fd5b505af1158015611973573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611997919081019061512a565b5060006119a384611128565b90506119b281848460006135db565b5050505050565b60006119c3613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119fb57600080fd5b505afa158015611a0f573d6000803e3d6000fd5b50505050611a1b611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611a489190615be6565b60206040518083038186803b158015611a6057600080fd5b505afa158015611a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a98919081019061512a565b15611ab55760405162461bcd60e51b815260040161086790615d9a565b60008211611ad55760405162461bcd60e51b815260040161086790615cda565b611add614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611b0f9088908890600401615bb9565b6101206040518083038186803b158015611b2857600080fd5b505afa158015611b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b6091908101906151d4565b9050611b6b81613e1e565b611b7481613e7e565b9050611b853382606001518561436a565b600a54611b9182611404565b10611bae5760405162461bcd60e51b815260040161086790615d0a565b6000611bb982611578565b90506000848210611bca5784611bcc565b815b90506000611beb8460c001518560800151611eeb90919063ffffffff16565b9050808210611c0a57611bff88338661441d565b945050505050611121565b611c1484836147ec565b9350611c248460600151836105e0565b6040850151909550611c3c908663ffffffff612a9216565b604085015242610100850152611c50614a0f565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611c81929190615b90565b60206040518083038186803b158015611c9957600080fd5b505afa158015611cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cd1919081019061512a565b15611cee5760405162461bcd60e51b815260040161086790615e2a565b6060840151600090815260086020526040902054611d0b90614a26565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611d38929190615b90565b600060405180830381600087803b158015611d5257600080fd5b505af1158015611d66573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611d9a908790600401615e3a565b600060405180830381600087803b158015611db457600080fd5b505af1158015611dc8573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611e0b9493929190615e49565b60405180910390a2505050509392505050565b6000611e28614a31565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611e7b929190615c02565b60206040518083038186803b158015611e9357600080fd5b505afa158015611ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ecb91908101906151f3565b905090565b6000611ecb6c45786368616e6765526174657360981b614a4a565b600082820183811015611f105760405162461bcd60e51b815260040161086790615cea565b90505b92915050565b6000670de0b6b3a7640000611f34848463ffffffff612aba16565b81611f3b57fe5b049392505050565b6000611f4d613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611f8557600080fd5b505afa158015611f99573d6000803e3d6000fd5b50505050611fa5611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611fd29190615be6565b60206040518083038186803b158015611fea57600080fd5b505afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612022919081019061512a565b1561203f5760405162461bcd60e51b815260040161086790615d9a565b612047614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906120799087908790600401615bb9565b6101206040518083038186803b15801561209257600080fd5b505afa1580156120a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ca91908101906151d4565b90506120d581613e1e565b6120de81613e7e565b905060006120fd8260c001518360800151611eeb90919063ffffffff16565b9050612112826020015183606001518361436a565b61211a614a0f565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b815260040161214b929190615bb9565b60206040518083038186803b15801561216357600080fd5b505afa158015612177573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061219b919081019061512a565b156121b85760405162461bcd60e51b815260040161086790615d3a565b60608201516000908152600860205260409020546121d590614a26565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612202929190615bb9565b600060405180830381600087803b15801561221c57600080fd5b505af1158015612230573d6000803e3d6000fd5b505050508160a001511561234e57612246614aa7565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161227b929190615c02565b600060405180830381600087803b15801561229557600080fd5b505af11580156122a9573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b03161561234957606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391612316918991600401615bb9565b600060405180830381600087803b15801561233057600080fd5b505af1158015612344573d6000803e3d6000fd5b505050505b6123be565b612356614aa7565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161238b929190615c02565b600060405180830381600087803b1580156123a557600080fd5b505af11580156123b9573d6000803e3d6000fd5b505050505b816040015192506123d78260c001518360600151614ab6565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c9061242d908590600401615e3a565b600060405180830381600087803b15801561244757600080fd5b505af115801561245b573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f856040516124989190615be6565b60405180910390a2505092915050565b6000546001600160a01b031633146124d25760405162461bcd60e51b815260040161086790615dba565b565b6124dc613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561251457600080fd5b505afa158015612528573d6000803e3d6000fd5b50505050612534611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016125619190615be6565b60206040518083038186803b15801561257957600080fd5b505afa15801561258d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125b1919081019061512a565b156125ce5760405162461bcd60e51b815260040161086790615d9a565b600081116125ee5760405162461bcd60e51b815260040161086790615dfa565b6125f6614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906126289087908790600401615bb9565b6101206040518083038186803b15801561264157600080fd5b505afa158015612655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061267991908101906151d4565b905061268481613e1e565b61268d81613e7e565b60408101519091506126a5908363ffffffff611eeb16565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906126e4908490600401615e3a565b600060405180830381600087803b1580156126fe57600080fd5b505af1158015612712573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161275793929190615c30565b60405180910390a250505050565b600061276f613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156127a757600080fd5b505afa1580156127bb573d6000803e3d6000fd5b505050506127c7611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127f49190615be6565b60206040518083038186803b15801561280c57600080fd5b505afa158015612820573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612844919081019061512a565b156128615760405162461bcd60e51b815260040161086790615d9a565b612869614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061289b9033908890600401615b90565b6101206040518083038186803b1580156128b457600080fd5b505afa1580156128c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128ec91908101906151d4565b90506128f781613e1e565b61290081613e7e565b6040810151909150612918908463ffffffff612a9216565b604082015242610100820152600a5461293082611404565b1161294d5760405162461bcd60e51b815260040161086790615c8a565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c9061297d908490600401615e3a565b600060405180830381600087803b15801561299757600080fd5b505af11580156129ab573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303858584604001516040516129f393929190615c30565b60405180910390a25092915050565b6000611ecb600a5473__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612a4e57600080fd5b505af4158015612a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a8691908101906151f3565b9063ffffffff614c9a16565b600082821115612ab45760405162461bcd60e51b815260040161086790615d4a565b50900390565b600082612ac957506000611f13565b82820282848281612ad657fe5b0414611f105760405162461bcd60e51b815260040161086790615dda565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612b3657fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612b75578160200160208202803883390190505b50905060005b8351811015612bb757838181518110612b9057fe5b6020026020010151828281518110612ba457fe5b6020908102919091010152600101612b7b565b5060005b8251811015612bfa57828181518110612bd057fe5b6020026020010151828286510181518110612be757fe5b6020908102919091010152600101612bbb565b5092915050565b612c09613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612c4157600080fd5b505afa158015612c55573d6000803e3d6000fd5b50505050612c61611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612c8e9190615be6565b60206040518083038186803b158015612ca657600080fd5b505afa158015612cba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612cde919081019061512a565b15612cfb5760405162461bcd60e51b815260040161086790615d9a565b60008111612d1b5760405162461bcd60e51b815260040161086790615cda565b612d23614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612d559088908790600401615bb9565b6101206040518083038186803b158015612d6e57600080fd5b505afa158015612d82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612da691908101906151d4565b9050612db181613e1e565b612dba81613e7e565b9050612dcb8482606001518461436a565b612dd581836147ec565b426101008201529050612de6614a0f565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612e17929190615bb9565b60206040518083038186803b158015612e2f57600080fd5b505afa158015612e43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e67919081019061512a565b15612e845760405162461bcd60e51b815260040161086790615e2a565b6060810151600090815260086020526040902054612ea190614a26565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612ece929190615bb9565b600060405180830381600087803b158015612ee857600080fd5b505af1158015612efc573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612f30908490600401615e3a565b600060405180830381600087803b158015612f4a57600080fd5b505af1158015612f5e573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612fad93929190615c30565b60405180910390a35050505050565b6000808211612fdd5760405162461bcd60e51b815260040161086790615d5a565b6000828481612fe857fe5b04949350505050565b612ff9613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561303157600080fd5b505afa158015613045573d6000803e3d6000fd5b50505050613051611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b815260040161307e9190615be6565b60206040518083038186803b15801561309657600080fd5b505afa1580156130aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130ce919081019061512a565b156130eb5760405162461bcd60e51b815260040161086790615d9a565b6130f3614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906131259033908790600401615b90565b6101206040518083038186803b15801561313e57600080fd5b505afa158015613152573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061317691908101906151d4565b905061318181613e1e565b61318a81613e7e565b60808101519091506131a2908363ffffffff611eeb16565b6080820152600a546131b382611404565b116131d05760405162461bcd60e51b815260040161086790615c9a565b60006131e7600c5484614caf90919063ffffffff16565b905060006131fb848363ffffffff612a9216565b90508260a00151156134085761320f614aa7565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401613240929190615c02565b600060405180830381600087803b15801561325a57600080fd5b505af115801561326e573d6000803e3d6000fd5b5050505061327a614cc4565b6001600160a01b031663867904b433613291611ed0565b6001600160a01b031663654a60ac876060015186631cd554d160e21b6040518463ffffffff1660e01b81526004016132cb93929190615c30565b60206040518083038186803b1580156132e357600080fd5b505afa1580156132f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061331b91908101906151f3565b6040518363ffffffff1660e01b8152600401613338929190615b90565b600060405180830381600087803b15801561335257600080fd5b505af1158015613366573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156134035760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906133d09033908890600401615b90565b600060405180830381600087803b1580156133ea57600080fd5b505af11580156133fe573d6000803e3d6000fd5b505050505b6134f0565b613410614aa7565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b8152600401613441929190615c02565b600060405180830381600087803b15801561345b57600080fd5b505af115801561346f573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546134909150614a26565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016134bd929190615b90565b600060405180830381600087803b1580156134d757600080fd5b505af11580156134eb573d6000803e3d6000fd5b505050505b6134fe828460600151614ab6565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613535908690600401615e3a565b600060405180830381600087803b15801561354f57600080fd5b505af1158015613563573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf35831065486866040516135a2929190615c02565b60405180910390a25050505050565b6000611121826135cf85670de0b6b3a764000063ffffffff612aba16565b9063ffffffff612fbc16565b60006135e5613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561361d57600080fd5b505afa158015613631573d6000803e3d6000fd5b5050600f5460ff16915061365990505760405162461bcd60e51b815260040161086790615d7a565b613661611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b815260040161368e9190615be6565b60206040518083038186803b1580156136a657600080fd5b505afa1580156136ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136de919081019061512a565b156136fb5760405162461bcd60e51b815260040161086790615d9a565b6000838152600860205260409020546137265760405162461bcd60e51b815260040161086790615dca565b61372e611ed0565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016137599190615be6565b60206040518083038186803b15801561377157600080fd5b505afa158015613785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137a9919081019061512a565b156137c65760405162461bcd60e51b815260040161086790615d2a565b600b548510156137e85760405162461bcd60e51b815260040161086790615d1a565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc9061381b903390600401615b3f565b60206040518083038186803b15801561383357600080fd5b505afa158015613847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061386b91908101906151f3565b106138885760405162461bcd60e51b815260040161086790615cfa565b600080613893614aa7565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b81526004016138c0929190615c02565b604080518083038186803b1580156138d757600080fd5b505afa1580156138eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061390f9190810190615148565b9150915081801561391e575080155b61393a5760405162461bcd60e51b815260040161086790615e0a565b613944878661107f565b8611156139635760405162461bcd60e51b815260040161086790615daa565b600061397a600c5488614caf90919063ffffffff16565b9050600061398e888363ffffffff612a9216565b9050613998614aa7565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156139d257600080fd5b505af11580156139e6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a0a91908101906151f3565b9450613a14614d53565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a815260200188151581526020016000815260200160008152602001428152509050613a6c81613e7e565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490613a9d908490600401615e3a565b600060405180830381600087803b158015613ab757600080fd5b505af1158015613acb573d6000803e3d6000fd5b50505050613ad98389614ab6565b8615613ccf57613ae7614cc4565b6001600160a01b031663867904b433613afe611ed0565b6001600160a01b031663654a60ac8c87631cd554d160e21b6040518463ffffffff1660e01b8152600401613b3493929190615c30565b60206040518083038186803b158015613b4c57600080fd5b505afa158015613b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b8491908101906151f3565b6040518363ffffffff1660e01b8152600401613ba1929190615b90565b600060405180830381600087803b158015613bbb57600080fd5b505af1158015613bcf573d6000803e3d6000fd5b50505050613bdb614aa7565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401613c08929190615c02565b600060405180830381600087803b158015613c2257600080fd5b505af1158015613c36573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613cca576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190613c979033908d90600401615b90565b600060405180830381600087803b158015613cb157600080fd5b505af1158015613cc5573d6000803e3d6000fd5b505050505b613dae565b600088815260086020526040902054613ce790614a26565b6001600160a01b031663867904b433846040518363ffffffff1660e01b8152600401613d14929190615b90565b600060405180830381600087803b158015613d2e57600080fd5b505af1158015613d42573d6000803e3d6000fd5b50505050613d4e614aa7565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401613d7b929190615c02565b600060405180830381600087803b158015613d9557600080fd5b505af1158015613da9573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c88604051613def959493929190615e87565b60405180910390a25050505050949350505050565b6000611ecb6b53797374656d53746174757360a01b614a4a565b60008160e0015111613e425760405162461bcd60e51b815260040161086790615e1a565b42613e5d600e54836101000151611eeb90919063ffffffff16565b1115613e7b5760405162461bcd60e51b815260040161086790615cca565b50565b613e86614d53565b8190506000806000808560a00151613f2457613ea0614aa7565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613ecf9190615be6565b60806040518083038186803b158015613ee757600080fd5b505afa158015613efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f1f9190810190615251565b613fb1565b613f2c614aa7565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613f61929190615c02565b60806040518083038186803b158015613f7957600080fd5b505afa158015613f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613fb19190810190615251565b93509350935093506000808760a0015161404157613fcd614aa7565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b15801561400457600080fd5b505afa158015614018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061403c9190810190615211565b6140d9565b614049614aa7565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f7909161408a91600401615be6565b604080518083038186803b1580156140a157600080fd5b505afa1580156140b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140d99190810190615211565b9150915080156140fb5760405162461bcd60e51b815260040161086790615d6a565b600061419873__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561414457600080fd5b505af4158015614158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061417c91908101906151f3565b61418c428863ffffffff612a9216565b9063ffffffff612aba16565b905060006141bc6141af858463ffffffff611f1916565b889063ffffffff611eeb16565b905060008a60e001516000146141f5576141f06141df838b63ffffffff612a9216565b60808d01519063ffffffff611f1916565b6141f8565b60005b90508a60a0015161426d5761420b614aa7565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b81526004016142369190615be6565b600060405180830381600087803b15801561425057600080fd5b505af1158015614264573d6000803e3d6000fd5b505050506142d9565b614275614aa7565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b81526004016142a6929190615c02565b600060405180830381600087803b1580156142c057600080fd5b505af11580156142d4573d6000803e3d6000fd5b505050505b60c08b01516142ee908263ffffffff611eeb16565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c9061432a908d90600401615e3a565b600060405180830381600087803b15801561434457600080fd5b505af1158015614358573d6000803e3d6000fd5b50505050505050505050505050919050565b600082815260086020526040902054819061438490614a26565b6001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016143af9190615b31565b60206040518083038186803b1580156143c757600080fd5b505afa1580156143db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506143ff91908101906151f3565b10156112be5760405162461bcd60e51b815260040161086790615dea565b60008061443b8360c001518460800151611eeb90919063ffffffff16565b608084015160408501519350909150614452614a0f565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b8152600401614483929190615bb9565b60206040518083038186803b15801561449b57600080fd5b505afa1580156144af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144d3919081019061512a565b156144f05760405162461bcd60e51b815260040161086790615e2a565b606084015160009081526008602052604090205461450d90614a26565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b815260040161453a929190615bb9565b600060405180830381600087803b15801561455457600080fd5b505af1158015614568573d6000803e3d6000fd5b505050508360a00151156146865761457e614aa7565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b81526004016145b3929190615c02565b600060405180830381600087803b1580156145cd57600080fd5b505af11580156145e1573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b03161561468157606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161464e918a91600401615bb9565b600060405180830381600087803b15801561466857600080fd5b505af115801561467c573d6000803e3d6000fd5b505050505b6146f6565b61468e614aa7565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b81526004016146c3929190615c02565b600060405180830381600087803b1580156146dd57600080fd5b505af11580156146f1573d6000803e3d6000fd5b505050505b6147088460c001518560600151614ab6565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c9061475e908790600401615e3a565b600060405180830381600087803b15801561477857600080fd5b505af115801561478c573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516147db93929190615c30565b60405180910390a350509392505050565b6147f4614d53565b50818115801590614809575060008360c00151115b156148665760008360c0015183116148215782614827565b8360c001515b60c085015190915061483f908263ffffffff612a9216565b60c0830152614854838263ffffffff612a9216565b9250614864818560600151614ab6565b505b8115611f13576080830151614881908363ffffffff612a9216565b608082015260a08101511561499e57614898614aa7565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b81526004016148c9929190615c02565b600060405180830381600087803b1580156148e357600080fd5b505af11580156148f7573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b0316156149995760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161496691908690600401615b90565b600060405180830381600087803b15801561498057600080fd5b505af1158015614994573d6000803e3d6000fd5b505050505b611f13565b6149a6614aa7565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b81526004016149d7929190615c02565b600060405180830381600087803b1580156149f157600080fd5b505af1158015614a05573d6000803e3d6000fd5b5050505092915050565b6000611ecb6822bc31b430b733b2b960b91b614a4a565b6000611f1382614a4a565b6000611ecb6e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b039091169182151591614a7a91869101615b06565b60405160208183030381529060405290612bfa5760405162461bcd60e51b81526004016108679190615c59565b6006546001600160a01b031690565b8115610fdf57631cd554d160e21b8114614b5b57614ad2611ed0565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b8152600401614b0893929190615c30565b60206040518083038186803b158015614b2057600080fd5b505afa158015614b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614b5891908101906151f3565b91505b614b63614cc4565b6001600160a01b031663867904b4614b79614cdb565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015614bb157600080fd5b505afa158015614bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614be99190810190614ff7565b846040518363ffffffff1660e01b8152600401614c07929190615bb9565b600060405180830381600087803b158015614c2157600080fd5b505af1158015614c35573d6000803e3d6000fd5b50505050614c41614cdb565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401614c6c9190615be6565b600060405180830381600087803b158015614c8657600080fd5b505af11580156105d8573d6000803e3d6000fd5b60006111218383670de0b6b3a7640000614cf0565b60006111218383670de0b6b3a7640000614d28565b6000611ecb6814de5b9d1a1cd554d160ba1b614a4a565b6000611ecb66119959541bdbdb60ca1b614a4a565b600080614d0a846135cf87600a870263ffffffff612aba16565b90506005600a825b0610614d1c57600a015b600a9004949350505050565b600080600a8304614d3f868663ffffffff612aba16565b81614d4657fe5b0490506005600a82614d12565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611f1381615f76565b8051611f1381615f76565b60008083601f840112614dd557600080fd5b50813567ffffffffffffffff811115614ded57600080fd5b602083019150836020820283011115614e0557600080fd5b9250929050565b8035611f1381615f8a565b8051611f1381615f8a565b8035611f1381615f93565b8051611f1381615f93565b60006101208284031215614e4b57600080fd5b614e56610120615ed3565b90506000614e648484614e22565b8252506020614e7584848301614dad565b6020830152506040614e8984828501614e22565b6040830152506060614e9d84828501614e22565b6060830152506080614eb184828501614e22565b60808301525060a0614ec584828501614e0c565b60a08301525060c0614ed984828501614e22565b60c08301525060e0614eed84828501614e22565b60e083015250610100614f0284828501614e22565b6101008301525092915050565b60006101208284031215614f2257600080fd5b614f2d610120615ed3565b90506000614f3b8484614e2d565b8252506020614f4c84848301614db8565b6020830152506040614f6084828501614e2d565b6040830152506060614f7484828501614e2d565b6060830152506080614f8884828501614e2d565b60808301525060a0614f9c84828501614e17565b60a08301525060c0614fb084828501614e2d565b60c08301525060e0614fc484828501614e2d565b60e083015250610100614f0284828501614e2d565b600060208284031215614feb57600080fd5b60006107148484614dad565b60006020828403121561500957600080fd5b60006107148484614db8565b6000806040838503121561502857600080fd5b60006150348585614dad565b925050602061504585828601614e22565b9150509250929050565b60008060006060848603121561506457600080fd5b60006150708686614dad565b935050602061508186828701614e22565b925050604061509286828701614e22565b9150509250925092565b600080600080604085870312156150b257600080fd5b843567ffffffffffffffff8111156150c957600080fd5b6150d587828801614dc3565b9450945050602085013567ffffffffffffffff8111156150f457600080fd5b61510087828801614dc3565b95989497509550505050565b60006020828403121561511e57600080fd5b60006107148484614e0c565b60006020828403121561513c57600080fd5b60006107148484614e17565b6000806040838503121561515b57600080fd5b60006151678585614e17565b925050602061504585828601614e17565b60006020828403121561518a57600080fd5b60006107148484614e22565b600080604083850312156151a957600080fd5b60006150348585614e22565b600061012082840312156151c857600080fd5b60006107148484614e38565b600061012082840312156151e757600080fd5b60006107148484614f0f565b60006020828403121561520557600080fd5b60006107148484614e2d565b6000806040838503121561522457600080fd5b60006151678585614e2d565b60008060006060848603121561524557600080fd5b60006150708686614e22565b6000806000806080858703121561526757600080fd5b60006152738787614e2d565b945050602061528487828801614e2d565b935050604061529587828801614e2d565b92505060606152a687828801614e2d565b91505092959194509250565b60006152be8383615340565b505060200190565b6152cf81615f2e565b82525050565b6152cf81615f12565b60006152e982615f00565b6152f38185615f04565b93506152fe83615efa565b8060005b8381101561532c57815161531688826152b2565b975061532183615efa565b925050600101615302565b509495945050505050565b6152cf81615f1d565b6152cf81610c3a565b6152cf61535582610c3a565b610c3a565b6152cf81615f35565b600061536e82615f00565b6153788185615f04565b9350615388818560208601615f40565b61539181615f6c565b9093019392505050565b60006153a8601b83615f04565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006153e1601683615f04565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b6000615413600e83615f04565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b600061543d601583615f04565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b600061546e603583615f04565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006154c5601983615f04565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b60006154fe601d83615f04565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b6000615537601e83615f04565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b6000615570601b83615f04565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006155a9601283615f04565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b60006155d7601e83615f04565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b6000615610601d83615f04565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b6000615649601883615f04565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000615682602083615f04565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b60006156bb601e83615f04565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006156f4601a83615f04565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061572d601183615f0d565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061575a601183615f04565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b6000615787601383615f04565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b60006157b6600a83615f04565b6926b0bc1018903437bab960b11b815260200192915050565b60006157dc601a83615f04565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615815601b83615f04565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b600061584e602f83615f04565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061589f601f83615f04565b7f4e6f7420616c6c6f77656420746f20697373756520746869732073796e746800815260200192915050565b60006158d8602183615f04565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061591b601883615f04565b7f4e6f7420656e6f7567682073796e74682062616c616e63650000000000000000815260200192915050565b6000615954601e83615f04565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b600061598d601a83615f04565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006159c6601983615f0d565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006159ff601383615f04565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b6000615a2e601b83615f04565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b8051610120830190615a6c8482615340565b506020820151615a7f60208501826152d5565b506040820151615a926040850182615340565b506060820151615aa56060850182615340565b506080820151615ab86080850182615340565b5060a0820151615acb60a0850182615337565b5060c0820151615ade60c0850182615340565b5060e0820151615af160e0850182615340565b506101008201516107bf610100850182615340565b6000615b1182615720565b9150615b1d8284615349565b50602001919050565b6000615b11826159b9565b60208101611f1382846152d5565b60208101611f1382846152c6565b60408101615b5b82856152c6565b61112160208301846152d5565b60608101615b7682866152c6565b615b8360208301856152d5565b6107146040830184615340565b60408101615b9e82856152c6565b6111216020830184615340565b60408101615b5b82856152d5565b60408101615b9e82856152d5565b6020808252810161112181846152de565b60208101611f138284615337565b60208101611f138284615340565b60408101615b5b8285615340565b60408101615b9e8285615340565b60408101615c1e8285615340565b81810360208301526107148184615363565b60608101615c3e8286615340565b615b836020830185615340565b60208101611f13828461535a565b602080825281016111218184615363565b60208082528101611f138161539b565b60208082528101611f13816153d4565b60208082528101611f1381615406565b60208082528101611f1381615430565b60208082528101611f1381615461565b60208082528101611f13816154b8565b60208082528101611f13816154f1565b60208082528101611f138161552a565b60208082528101611f1381615563565b60208082528101611f138161559c565b60208082528101611f13816155ca565b60208082528101611f1381615603565b60208082528101611f138161563c565b60208082528101611f1381615675565b60208082528101611f13816156ae565b60208082528101611f13816156e7565b60208082528101611f138161574d565b60208082528101611f138161577a565b60208082528101611f13816157a9565b60208082528101611f13816157cf565b60208082528101611f1381615808565b60208082528101611f1381615841565b60208082528101611f1381615892565b60208082528101611f13816158cb565b60208082528101611f138161590e565b60208082528101611f1381615947565b60208082528101611f1381615980565b60208082528101611f13816159f2565b60208082528101611f1381615a21565b6101208101611f138284615a5a565b60808101615e578287615340565b615e6460208301866152c6565b615e716040830185615340565b615e7e6060830184615340565b95945050505050565b60a08101615e958288615340565b615ea26020830187615340565b615eaf6040830186615340565b615ebc6060830185615340565b615ec96080830184615340565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615ef257600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611f1382615f22565b151590565b6001600160a01b031690565b6000611f13825b6000611f1382615f12565b60005b83811015615f5b578181015183820152602001615f43565b838111156107bf5750506000910152565b601f01601f191690565b615f7f81615f12565b8114613e7b57600080fd5b615f7f81615f1d565b615f7f81610c3a56fea365627a7a723158204578f876648ef8ba05b02ba66bfbd1ec2475768095dfe27bc32fd41939008dd06c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"contract CollateralState","name":"_state","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_manager","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"},{"internalType":"uint256","name":"_minCratio","type":"uint256"},{"internalType":"uint256","name":"_minCollateral","type":"uint256"},{"internalType":"address","name":"_underlyingContract","type":"address"},{"internalType":"uint256","name":"_underlyingDecimals","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"canOpenLoans","type":"bool"}],"name":"CanOpenLoansUpdated","type":"event","signature":"0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountDeposited","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralDeposited","type":"event","signature":"0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountWithdrawn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralWithdrawn","type":"event","signature":"0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"interactionDelay","type":"uint256"}],"name":"InteractionDelayUpdated","type":"event","signature":"0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"issueFeeRate","type":"uint256"}],"name":"IssueFeeRateUpdated","type":"event","signature":"0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"LoanClosed","type":"event","signature":"0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanClosedByLiquidation","type":"event","signature":"0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateral","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"currency","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"issuanceFee","type":"uint256"}],"name":"LoanCreated","type":"event","signature":"0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LoanDrawnDown","type":"event","signature":"0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanPartiallyLiquidated","type":"event","signature":"0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"repayer","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRepaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAfter","type":"uint256"}],"name":"LoanRepaymentMade","type":"event","signature":"0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"manager","type":"address"}],"name":"ManagerUpdated","type":"event","signature":"0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxLoansPerAccount","type":"uint256"}],"name":"MaxLoansPerAccountUpdated","type":"event","signature":"0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCollateral","type":"uint256"}],"name":"MinCollateralUpdated","type":"event","signature":"0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCratio","type":"uint256"}],"name":"MinCratioRatioUpdated","type":"event","signature":"0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"address","name":"rewardsContract","type":"address"},{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"addRewardsContracts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5eb2ad01"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"addSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23d60e2e"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"areSynthsAndCurrenciesSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x72e18b6a"},{"constant":true,"inputs":[],"name":"canOpenLoans","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4065b81b"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0aebeb4e"},{"constant":true,"inputs":[],"name":"collateralKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb562a1ab"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"collateralRatio","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdac8cf68"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"collateralRedeemed","outputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0a153c97"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0efe6a8b"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"draw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd2b8035a"},{"constant":true,"inputs":[],"name":"interactionDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x15aaf4dd"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"issueFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x361e2086"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"liquidate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0710285c"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"liquidationAmount","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe74337c6"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x481c6a75"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"maxLoan","outputs":[{"internalType":"uint256","name":"max","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7e132355"},{"constant":true,"inputs":[],"name":"maxLoansPerAccount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeb8e3b65"},{"constant":true,"inputs":[],"name":"minCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xba2de9bc"},{"constant":true,"inputs":[],"name":"minCratio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x925ead11"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"open","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf93451ed"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"repay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8cd2e0c7"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":true,"inputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"name":"scaleDownCollateral","outputs":[{"internalType":"uint256","name":"scaledDown","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb094f2c4"},{"constant":true,"inputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"name":"scaleUpCollateral","outputs":[{"internalType":"uint256","name":"scaledUp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x883a2209"},{"constant":false,"inputs":[{"internalType":"bool","name":"_canOpenLoans","type":"bool"}],"name":"setCanOpenLoans","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x90abb4d9"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_interactionDelay","type":"uint256"}],"name":"setInteractionDelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4c17ace4"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_issueFeeRate","type":"uint256"}],"name":"setIssueFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa76cdfa5"},{"constant":false,"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"name":"setManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd0ebdbe7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_minCratio","type":"uint256"}],"name":"setMinCratio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0cdd1c65"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"shortingRewards","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xde81eda9"},{"constant":true,"inputs":[],"name":"state","outputs":[{"internalType":"contract CollateralState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc19d93fb"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"synths","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x30edd961"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthsByKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x38245377"},{"constant":true,"inputs":[],"name":"underlyingContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x10cfe906"},{"constant":true,"inputs":[],"name":"underlyingContractDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3cc3ffc7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x441a3e70"}],"source":{"keccak256":"0xcba65179bf463952f22a9a8d0543d767b233039d0ebcf7721b86cd60b3e8c948","urls":["bzz-raw://31bca12091d1a98ab30f8f183cfbe91ba21da8a7c738c81274813a7a4acb1905","dweb:/ipfs/QmQpUw8GhUMRi26y2Mii1SJk1HFjbuGKj4ui3gVFF9CemV"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"CollateralErc20.sol":"CollateralErc20"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"CollateralErc20.sol":{"keccak256":"0xcba65179bf463952f22a9a8d0543d767b233039d0ebcf7721b86cd60b3e8c948","urls":["bzz-raw://31bca12091d1a98ab30f8f183cfbe91ba21da8a7c738c81274813a7a4acb1905","dweb:/ipfs/QmQpUw8GhUMRi26y2Mii1SJk1HFjbuGKj4ui3gVFF9CemV"]}},"version":1}},"CollateralShort":{"bytecode":"60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b50604051620062ce380380620062ce8339810160408190526200004c9162000167565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f906200028f565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d591849062000269565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b555062000310975050505050505050565b80516200014781620002e0565b92915050565b80516200014781620002fa565b8051620001478162000305565b600080600080600080600060e0888a0312156200018357600080fd5b6000620001918a8a6200015a565b9750506020620001a48a828b016200013a565b9650506040620001b78a828b016200013a565b9550506060620001ca8a828b016200013a565b9450506080620001dd8a828b016200014d565b93505060a0620001f08a828b016200014d565b92505060c0620002038a828b016200014d565b91505092959891949750929550565b6200021d81620002d3565b82525050565b6200021d81620002aa565b60006200023d601983620002a1565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b6040810162000279828562000212565b62000288602083018462000223565b9392505050565b6020808252810162000147816200022e565b90815260200190565b60006200014782620002c7565b90565b60006200014782620002aa565b6001600160a01b031690565b60006200014782620002ba565b620002eb81620002aa565b8114620002f757600080fd5b50565b620002eb81620002b7565b620002eb81620002ba565b615fae80620003206000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c806372e18b6a1161013b578063b562a1ab116100b8578063dac8cf681161007c578063dac8cf681461048d578063de81eda9146104a0578063e74337c6146104b3578063eb8e3b65146104c6578063f93451ed146104ce57610248565b8063b562a1ab1461044f578063ba2de9bc14610457578063c19d93fb1461045f578063d0ebdbe714610467578063d2b8035a1461047a57610248565b80638cd2e0c7116100ff5780638cd2e0c7146104065780638da5cb5b1461041957806390abb4d914610421578063925ead1114610434578063a76cdfa51461043c57610248565b806372e18b6a146103bb57806374185360146103ce57806379ba5097146103d65780637e132355146103de578063899ffef4146103f157610248565b806330edd961116101c9578063481c6a751161018d578063481c6a75146103655780634c17ace41461037a57806353a47bb71461038d57806356dc04a1146103955780635eb2ad01146103a857610248565b806330edd9611461031c578063361e20861461032f57806338245377146103375780634065b81b1461034a578063441a3e701461035257610248565b80630efe6a8b116102105780630efe6a8b146102c657806315aaf4dd146102d95780631627540c146102e157806323d60e2e146102f45780632af64bd31461030757610248565b806304f3bcec1461024d5780630710285c1461026b5780630a153c97146102805780630aebeb4e146102a05780630cdd1c65146102b3575b600080fd5b6102556104e1565b6040516102629190615c1a565b60405180910390f35b61027e610279366004614fee565b6104f0565b005b61029361028e366004615165565b61058d565b6040516102629190615bb5565b61027e6102ae366004615117565b6106c9565b61027e6102c1366004615117565b610763565b61027e6102d4366004614fee565b61084e565b610293610987565b61027e6102ef366004614f78565b61098d565b61027e61030236600461503b565b6109e0565b61030f610aa6565b6040516102629190615ba7565b61029361032a366004615117565b610bbe565b610293610bdc565b610293610345366004615117565b610be2565b61030f610bf4565b61027e610360366004615165565b610bfd565b61036d610c92565b6040516102629190615b00565b61027e610388366004615117565b610ca1565b61036d610d7d565b61027e6103a3366004615135565b610d8c565b61027e6103b6366004614fb4565b610e1d565b61030f6103c936600461503b565b610e53565b61027e610f15565b61027e611067565b6102936103ec366004615165565b611103565b6103f96111ac565b6040516102629190615b96565b61027e610414366004614fee565b611311565b61036d61131d565b61027e61042f3660046150ab565b61132c565b610293611378565b61027e61044a366004615117565b61137e565b6102936113bb565b6102936113c1565b6102556113c7565b61027e610475366004614f78565b6113d6565b61027e610488366004615165565b61142f565b61029361049b366004615184565b611439565b61036d6104ae366004615117565b611592565b6102936104c1366004615184565b6115ad565b610293611897565b61027e6104dc3660046151ff565b61189d565b6002546001600160a01b031681565b60006104fd848484611986565b9050610507611deb565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401610534929190615b5f565b602060405180830381600087803b15801561054e57600080fd5b505af1158015610562573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061058691908101906150c9565b5050505050565b600080610598611e07565b90506105a2611eb4565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b81526004016105d393929190615bff565b60206040518083038186803b1580156105eb57600080fd5b505afa1580156105ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061062391908101906151c2565b91506106c16106b48273__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561067057600080fd5b505af4158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a891908101906151c2565b9063ffffffff611ecf16565b839063ffffffff611efd16565b949350505050565b60006106d53383611f27565b90506106df611deb565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040161070c929190615b5f565b602060405180830381600087803b15801561072657600080fd5b505af115801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061075e91908101906150c9565b505050565b61076b61248c565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107af57600080fd5b505af41580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107e791908101906151c2565b811161080e5760405162461bcd60e51b815260040161080590615c49565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a590610843908390615bb5565b60405180910390a150565b610856611deb565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b8152600401610883929190615b1c565b60206040518083038186803b15801561089b57600080fd5b505afa1580156108af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108d391908101906151c2565b8111156108f25760405162461bcd60e51b815260040161080590615c89565b6108fa611deb565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b815260040161092993929190615b37565b602060405180830381600087803b15801561094357600080fd5b505af1158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097b91908101906150c9565b5061075e8383836124b8565b600e5481565b61099561248c565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610843908390615b00565b6109e861248c565b828114610a075760405162461bcd60e51b815260040161080590615c39565b60005b83811015610a97576000858583818110610a2057fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610a7457fe5b602090810292909201358352508101919091526040016000205550600101610a0a565b50610aa0610f15565b50505050565b60006060610ab26111ac565b905060005b8151811015610bb4576000828281518110610ace57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b1f908590600401615bb5565b60206040518083038186803b158015610b3757600080fd5b505afa158015610b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b6f9190810190614f96565b6001600160a01b0316141580610b9a57506000818152600360205260409020546001600160a01b0316155b15610bab5760009350505050610bbb565b50600101610ab7565b5060019150505b90565b60078181548110610bcb57fe5b600091825260209091200154905081565b600c5481565b60086020526000908152604090205481565b600f5460ff1681565b6000610c098383612749565b9050610c13611deb565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401610c40929190615b5f565b602060405180830381600087803b158015610c5a57600080fd5b505af1158015610c6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa091908101906150c9565b6006546001600160a01b031681565b610ca961248c565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ced57600080fd5b505af4158015610d01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2591908101906151c2565b610e1002811115610d485760405162461bcd60e51b815260040161080590615d59565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c236190610843908390615bb5565b6001546001600160a01b031681565b6000828152600960205260409020546001600160a01b031615610e195760008281526009602052604090819020549051630c00007b60e41b81526001600160a01b039091169063c00007b090610de6908490600401615b00565b600060405180830381600087803b158015610e0057600080fd5b505af1158015610e14573d6000803e3d6000fd5b505050505b5050565b610e2561248c565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610e67575060006106c1565b60005b84811015610f09576000868683818110610e8057fe5b9050602002013590508060078381548110610e9757fe5b906000526020600020015414610eb2576000925050506106c1565b60078281548110610ebf57fe5b906000526020600020015460086000878786818110610eda57fe5b9050602002013581526020019081526020016000205414610f00576000925050506106c1565b50600101610e6a565b50600195945050505050565b6060610f1f6111ac565b905060005b8151811015610e19576000828281518110610f3b57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610f7d9190615af5565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610fa9929190615bdf565b60206040518083038186803b158015610fc157600080fd5b505afa158015610fd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ff99190810190614f96565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906110559084908490615bc3565b60405180910390a15050600101610f24565b6001546001600160a01b031633146110915760405162461bcd60e51b815260040161080590615c79565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926110d4926001600160a01b0391821692911690615b7a565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111a5611110611eb4565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b815260040161114193929190615bff565b60206040518083038186803b15801561115957600080fd5b505afa15801561116d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061119191908101906151c2565b6111996129e6565b9063ffffffff611efd16565b9392505050565b6060806111b7612a76565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b816000815181106111f657fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061122057fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061124657fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061126f57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061129557fe5b60200260200101818152505060606112ad8383612ac7565b90506113098160078054806020026020016040519081016040528092919081815260200182805480156112ff57602002820191906000526020600020905b8154815260200190600101908083116112eb575b5050505050612ac7565b935050505090565b61075e83338484612b83565b6000546001600160a01b031681565b61133461248c565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108439160ff90911690615ba7565b600a5481565b61138661248c565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c90610843908390615bb5565b60045481565b600b5481565b6005546001600160a01b031681565b6113de61248c565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d92610843921690615b00565b610e198282612f3e565b600080611444611eb4565b6001600160a01b031663654a60ac6004548560400151631cd554d160e21b6040518463ffffffff1660e01b815260040161148093929190615bff565b60206040518083038186803b15801561149857600080fd5b505afa1580156114ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114d091908101906151c2565b905060006114dc611eb4565b6001600160a01b031663654a60ac856060015161150a8760c001518860800151611ecf90919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161153093929190615bff565b60206040518083038186803b15801561154857600080fd5b505afa15801561155c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061158091908101906151c2565b90506106c1828263ffffffff6134fe16565b6009602052600090815260409020546001600160a01b031681565b6000806115b8611e07565b905060006115c4611eb4565b6001600160a01b031663654a60ac85606001516115f28760c001518860800151611ecf90919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161161893929190615bff565b60206040518083038186803b15801561163057600080fd5b505afa158015611644573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061166891908101906151c2565b90506000611674611eb4565b6001600160a01b031663654a60ac6004548760400151631cd554d160e21b6040518463ffffffff1660e01b81526004016116b093929190615bff565b60206040518083038186803b1580156116c857600080fd5b505afa1580156116dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061170091908101906151c2565b9050600073__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561174857600080fd5b505af415801561175c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061178091908101906151c2565b905060006117a961179c600a54856134fe90919063ffffffff16565b859063ffffffff61352816565b905060006117e26117d5600a546117c98987611ecf90919063ffffffff16565b9063ffffffff6134fe16565b849063ffffffff61352816565b905060006117f6838363ffffffff6134fe16565b9050611800611eb4565b6001600160a01b031663654a60ac631cd554d160e21b838c606001516040518463ffffffff1660e01b815260040161183a93929190615bff565b60206040518083038186803b15801561185257600080fd5b505afa158015611866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061188a91908101906151c2565b9998505050505050505050565b600d5481565b6118a5611deb565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b81526004016118d2929190615b1c565b60206040518083038186803b1580156118ea57600080fd5b505afa1580156118fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061192291908101906151c2565b8311156119415760405162461bcd60e51b815260040161080590615c89565b61194e8383836001613550565b50611957611deb565b6001600160a01b03166323b872dd3330866040518463ffffffff1660e01b8152600401610c4093929190615b37565b6000611990613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119c857600080fd5b505afa1580156119dc573d6000803e3d6000fd5b505050506119e8611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611a159190615bb5565b60206040518083038186803b158015611a2d57600080fd5b505afa158015611a41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a6591908101906150c9565b15611a825760405162461bcd60e51b815260040161080590615d69565b60008211611aa25760405162461bcd60e51b815260040161080590615ca9565b611aaa614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611adc9088908890600401615b88565b6101206040518083038186803b158015611af557600080fd5b505afa158015611b09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b2d91908101906151a3565b9050611b3881613d93565b611b4181613df3565b9050611b52338260600151856142df565b600a54611b5e82611439565b10611b7b5760405162461bcd60e51b815260040161080590615cd9565b6000611b86826115ad565b90506000848210611b975784611b99565b815b90506000611bb88460c001518560800151611ecf90919063ffffffff16565b9050808210611bd757611bcc883386614392565b9450505050506111a5565b611be18483614761565b9350611bf184606001518361058d565b6040850151909550611c09908663ffffffff61352816565b604085015242610100850152611c1d614984565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611c4e929190615b5f565b60206040518083038186803b158015611c6657600080fd5b505afa158015611c7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c9e91908101906150c9565b15611cbb5760405162461bcd60e51b815260040161080590615df9565b6060840151600090815260086020526040902054611cd89061499b565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611d05929190615b5f565b600060405180830381600087803b158015611d1f57600080fd5b505af1158015611d33573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611d67908790600401615e09565b600060405180830381600087803b158015611d8157600080fd5b505af1158015611d95573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611dd89493929190615e18565b60405180910390a2505050509392505050565b6000611e026814de5b9d1a1cd554d160ba1b6149a2565b905090565b6000611e116149ff565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611e64929190615bd1565b60206040518083038186803b158015611e7c57600080fd5b505afa158015611e90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e0291908101906151c2565b6000611e026c45786368616e6765526174657360981b6149a2565b600082820183811015611ef45760405162461bcd60e51b815260040161080590615cb9565b90505b92915050565b6000670de0b6b3a7640000611f18848463ffffffff614a1c16565b81611f1f57fe5b049392505050565b6000611f31613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611f6957600080fd5b505afa158015611f7d573d6000803e3d6000fd5b50505050611f89611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611fb69190615bb5565b60206040518083038186803b158015611fce57600080fd5b505afa158015611fe2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061200691908101906150c9565b156120235760405162461bcd60e51b815260040161080590615d69565b61202b614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061205d9087908790600401615b88565b6101206040518083038186803b15801561207657600080fd5b505afa15801561208a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ae91908101906151a3565b90506120b981613d93565b6120c281613df3565b905060006120e18260c001518360800151611ecf90919063ffffffff16565b90506120f682602001518360600151836142df565b6120fe614984565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b815260040161212f929190615b88565b60206040518083038186803b15801561214757600080fd5b505afa15801561215b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061217f91908101906150c9565b1561219c5760405162461bcd60e51b815260040161080590615d09565b60608201516000908152600860205260409020546121b99061499b565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016121e6929190615b88565b600060405180830381600087803b15801561220057600080fd5b505af1158015612214573d6000803e3d6000fd5b505050508160a00151156123325761222a614a56565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161225f929190615bd1565b600060405180830381600087803b15801561227957600080fd5b505af115801561228d573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b03161561232d57606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916122fa918991600401615b88565b600060405180830381600087803b15801561231457600080fd5b505af1158015612328573d6000803e3d6000fd5b505050505b6123a2565b61233a614a56565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161236f929190615bd1565b600060405180830381600087803b15801561238957600080fd5b505af115801561239d573d6000803e3d6000fd5b505050505b816040015192506123bb8260c001518360600151614a65565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612411908590600401615e09565b600060405180830381600087803b15801561242b57600080fd5b505af115801561243f573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f8560405161247c9190615bb5565b60405180910390a2505092915050565b6000546001600160a01b031633146124b65760405162461bcd60e51b815260040161080590615d89565b565b6124c0613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156124f857600080fd5b505afa15801561250c573d6000803e3d6000fd5b50505050612518611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016125459190615bb5565b60206040518083038186803b15801561255d57600080fd5b505afa158015612571573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061259591908101906150c9565b156125b25760405162461bcd60e51b815260040161080590615d69565b600081116125d25760405162461bcd60e51b815260040161080590615dc9565b6125da614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061260c9087908790600401615b88565b6101206040518083038186803b15801561262557600080fd5b505afa158015612639573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061265d91908101906151a3565b905061266881613d93565b61267181613df3565b6040810151909150612689908363ffffffff611ecf16565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906126c8908490600401615e09565b600060405180830381600087803b1580156126e257600080fd5b505af11580156126f6573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161273b93929190615bff565b60405180910390a250505050565b6000612753613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561278b57600080fd5b505afa15801561279f573d6000803e3d6000fd5b505050506127ab611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127d89190615bb5565b60206040518083038186803b1580156127f057600080fd5b505afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061282891908101906150c9565b156128455760405162461bcd60e51b815260040161080590615d69565b61284d614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061287f9033908890600401615b5f565b6101206040518083038186803b15801561289857600080fd5b505afa1580156128ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128d091908101906151a3565b90506128db81613d93565b6128e481613df3565b60408101519091506128fc908463ffffffff61352816565b604082015242610100820152600a5461291482611439565b116129315760405162461bcd60e51b815260040161080590615c59565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612961908490600401615e09565b600060405180830381600087803b15801561297b57600080fd5b505af115801561298f573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303858584604001516040516129d793929190615bff565b60405180910390a25092915050565b6000611e02600a5473__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3257600080fd5b505af4158015612a46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a6a91908101906151c2565b9063ffffffff614c1b16565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612ab857fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612af7578160200160208202803883390190505b50905060005b8351811015612b3957838181518110612b1257fe5b6020026020010151828281518110612b2657fe5b6020908102919091010152600101612afd565b5060005b8251811015612b7c57828181518110612b5257fe5b6020026020010151828286510181518110612b6957fe5b6020908102919091010152600101612b3d565b5092915050565b612b8b613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612bc357600080fd5b505afa158015612bd7573d6000803e3d6000fd5b50505050612be3611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612c109190615bb5565b60206040518083038186803b158015612c2857600080fd5b505afa158015612c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c6091908101906150c9565b15612c7d5760405162461bcd60e51b815260040161080590615d69565b60008111612c9d5760405162461bcd60e51b815260040161080590615ca9565b612ca5614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612cd79088908790600401615b88565b6101206040518083038186803b158015612cf057600080fd5b505afa158015612d04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d2891908101906151a3565b9050612d3381613d93565b612d3c81613df3565b9050612d4d848260600151846142df565b612d578183614761565b426101008201529050612d68614984565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612d99929190615b88565b60206040518083038186803b158015612db157600080fd5b505afa158015612dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612de991908101906150c9565b15612e065760405162461bcd60e51b815260040161080590615df9565b6060810151600090815260086020526040902054612e239061499b565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612e50929190615b88565b600060405180830381600087803b158015612e6a57600080fd5b505af1158015612e7e573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612eb2908490600401615e09565b600060405180830381600087803b158015612ecc57600080fd5b505af1158015612ee0573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612f2f93929190615bff565b60405180910390a35050505050565b612f46613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f7e57600080fd5b505afa158015612f92573d6000803e3d6000fd5b50505050612f9e611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612fcb9190615bb5565b60206040518083038186803b158015612fe357600080fd5b505afa158015612ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061301b91908101906150c9565b156130385760405162461bcd60e51b815260040161080590615d69565b613040614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906130729033908790600401615b5f565b6101206040518083038186803b15801561308b57600080fd5b505afa15801561309f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130c391908101906151a3565b90506130ce81613d93565b6130d781613df3565b60808101519091506130ef908363ffffffff611ecf16565b6080820152600a5461310082611439565b1161311d5760405162461bcd60e51b815260040161080590615c69565b6000613134600c5484614c3090919063ffffffff16565b90506000613148848363ffffffff61352816565b90508260a00151156133555761315c614a56565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b815260040161318d929190615bd1565b600060405180830381600087803b1580156131a757600080fd5b505af11580156131bb573d6000803e3d6000fd5b505050506131c7611deb565b6001600160a01b031663867904b4336131de611eb4565b6001600160a01b031663654a60ac876060015186631cd554d160e21b6040518463ffffffff1660e01b815260040161321893929190615bff565b60206040518083038186803b15801561323057600080fd5b505afa158015613244573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061326891908101906151c2565b6040518363ffffffff1660e01b8152600401613285929190615b5f565b600060405180830381600087803b15801561329f57600080fd5b505af11580156132b3573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156133505760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a519061331d9033908890600401615b5f565b600060405180830381600087803b15801561333757600080fd5b505af115801561334b573d6000803e3d6000fd5b505050505b61343d565b61335d614a56565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b815260040161338e929190615bd1565b600060405180830381600087803b1580156133a857600080fd5b505af11580156133bc573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546133dd915061499b565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040161340a929190615b5f565b600060405180830381600087803b15801561342457600080fd5b505af1158015613438573d6000803e3d6000fd5b505050505b61344b828460600151614a65565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613482908690600401615e09565b600060405180830381600087803b15801561349c57600080fd5b505af11580156134b0573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf35831065486866040516134ef929190615bd1565b60405180910390a25050505050565b60006111a58261351c85670de0b6b3a764000063ffffffff614a1c16565b9063ffffffff614c4516565b60008282111561354a5760405162461bcd60e51b815260040161080590615d19565b50900390565b600061355a613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561359257600080fd5b505afa1580156135a6573d6000803e3d6000fd5b5050600f5460ff1691506135ce90505760405162461bcd60e51b815260040161080590615d49565b6135d6611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016136039190615bb5565b60206040518083038186803b15801561361b57600080fd5b505afa15801561362f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061365391908101906150c9565b156136705760405162461bcd60e51b815260040161080590615d69565b60008381526008602052604090205461369b5760405162461bcd60e51b815260040161080590615d99565b6136a3611eb4565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016136ce9190615bb5565b60206040518083038186803b1580156136e657600080fd5b505afa1580156136fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061371e91908101906150c9565b1561373b5760405162461bcd60e51b815260040161080590615cf9565b600b5485101561375d5760405162461bcd60e51b815260040161080590615ce9565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc90613790903390600401615b0e565b60206040518083038186803b1580156137a857600080fd5b505afa1580156137bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137e091908101906151c2565b106137fd5760405162461bcd60e51b815260040161080590615cc9565b600080613808614a56565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401613835929190615bd1565b604080518083038186803b15801561384c57600080fd5b505afa158015613860573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061388491908101906150e7565b91509150818015613893575080155b6138af5760405162461bcd60e51b815260040161080590615dd9565b6138b98786611103565b8611156138d85760405162461bcd60e51b815260040161080590615d79565b60006138ef600c5488614c3090919063ffffffff16565b90506000613903888363ffffffff61352816565b905061390d614a56565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561394757600080fd5b505af115801561395b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061397f91908101906151c2565b9450613989614cf2565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a8152602001881515815260200160008152602001600081526020014281525090506139e181613df3565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490613a12908490600401615e09565b600060405180830381600087803b158015613a2c57600080fd5b505af1158015613a40573d6000803e3d6000fd5b50505050613a4e8389614a65565b8615613c4457613a5c611deb565b6001600160a01b031663867904b433613a73611eb4565b6001600160a01b031663654a60ac8c87631cd554d160e21b6040518463ffffffff1660e01b8152600401613aa993929190615bff565b60206040518083038186803b158015613ac157600080fd5b505afa158015613ad5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613af991908101906151c2565b6040518363ffffffff1660e01b8152600401613b16929190615b5f565b600060405180830381600087803b158015613b3057600080fd5b505af1158015613b44573d6000803e3d6000fd5b50505050613b50614a56565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401613b7d929190615bd1565b600060405180830381600087803b158015613b9757600080fd5b505af1158015613bab573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613c3f576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190613c0c9033908d90600401615b5f565b600060405180830381600087803b158015613c2657600080fd5b505af1158015613c3a573d6000803e3d6000fd5b505050505b613d23565b600088815260086020526040902054613c5c9061499b565b6001600160a01b031663867904b433846040518363ffffffff1660e01b8152600401613c89929190615b5f565b600060405180830381600087803b158015613ca357600080fd5b505af1158015613cb7573d6000803e3d6000fd5b50505050613cc3614a56565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401613cf0929190615bd1565b600060405180830381600087803b158015613d0a57600080fd5b505af1158015613d1e573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c88604051613d64959493929190615e56565b60405180910390a25050505050949350505050565b6000611e026b53797374656d53746174757360a01b6149a2565b60008160e0015111613db75760405162461bcd60e51b815260040161080590615de9565b42613dd2600e54836101000151611ecf90919063ffffffff16565b1115613df05760405162461bcd60e51b815260040161080590615c99565b50565b613dfb614cf2565b8190506000806000808560a00151613e9957613e15614a56565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613e449190615bb5565b60806040518083038186803b158015613e5c57600080fd5b505afa158015613e70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e949190810190615220565b613f26565b613ea1614a56565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613ed6929190615bd1565b60806040518083038186803b158015613eee57600080fd5b505afa158015613f02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f269190810190615220565b93509350935093506000808760a00151613fb657613f42614a56565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613f7957600080fd5b505afa158015613f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613fb191908101906151e0565b61404e565b613fbe614a56565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613fff91600401615bb5565b604080518083038186803b15801561401657600080fd5b505afa15801561402a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061404e91908101906151e0565b9150915080156140705760405162461bcd60e51b815260040161080590615d39565b600061410d73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156140b957600080fd5b505af41580156140cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140f191908101906151c2565b614101428863ffffffff61352816565b9063ffffffff614a1c16565b90506000614131614124858463ffffffff611efd16565b889063ffffffff611ecf16565b905060008a60e0015160001461416a57614165614154838b63ffffffff61352816565b60808d01519063ffffffff611efd16565b61416d565b60005b90508a60a001516141e257614180614a56565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b81526004016141ab9190615bb5565b600060405180830381600087803b1580156141c557600080fd5b505af11580156141d9573d6000803e3d6000fd5b5050505061424e565b6141ea614a56565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b815260040161421b929190615bd1565b600060405180830381600087803b15801561423557600080fd5b505af1158015614249573d6000803e3d6000fd5b505050505b60c08b0151614263908263ffffffff611ecf16565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c9061429f908d90600401615e09565b600060405180830381600087803b1580156142b957600080fd5b505af11580156142cd573d6000803e3d6000fd5b50505050505050505050505050919050565b60008281526008602052604090205481906142f99061499b565b6001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016143249190615b00565b60206040518083038186803b15801561433c57600080fd5b505afa158015614350573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061437491908101906151c2565b101561075e5760405162461bcd60e51b815260040161080590615db9565b6000806143b08360c001518460800151611ecf90919063ffffffff16565b6080840151604085015193509091506143c7614984565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016143f8929190615b88565b60206040518083038186803b15801561441057600080fd5b505afa158015614424573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061444891908101906150c9565b156144655760405162461bcd60e51b815260040161080590615df9565b60608401516000908152600860205260409020546144829061499b565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b81526004016144af929190615b88565b600060405180830381600087803b1580156144c957600080fd5b505af11580156144dd573d6000803e3d6000fd5b505050508360a00151156145fb576144f3614a56565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b8152600401614528929190615bd1565b600060405180830381600087803b15801561454257600080fd5b505af1158015614556573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b0316156145f657606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916145c3918a91600401615b88565b600060405180830381600087803b1580156145dd57600080fd5b505af11580156145f1573d6000803e3d6000fd5b505050505b61466b565b614603614a56565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b8152600401614638929190615bd1565b600060405180830381600087803b15801561465257600080fd5b505af1158015614666573d6000803e3d6000fd5b505050505b61467d8460c001518560600151614a65565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c906146d3908790600401615e09565b600060405180830381600087803b1580156146ed57600080fd5b505af1158015614701573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb8660000151848760405161475093929190615bff565b60405180910390a350509392505050565b614769614cf2565b5081811580159061477e575060008360c00151115b156147db5760008360c001518311614796578261479c565b8360c001515b60c08501519091506147b4908263ffffffff61352816565b60c08301526147c9838263ffffffff61352816565b92506147d9818560600151614a65565b505b8115611ef75760808301516147f6908363ffffffff61352816565b608082015260a0810151156149135761480d614a56565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b815260040161483e929190615bd1565b600060405180830381600087803b15801561485857600080fd5b505af115801561486c573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b03161561490e5760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916148db91908690600401615b5f565b600060405180830381600087803b1580156148f557600080fd5b505af1158015614909573d6000803e3d6000fd5b505050505b611ef7565b61491b614a56565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b815260040161494c929190615bd1565b600060405180830381600087803b15801561496657600080fd5b505af115801561497a573d6000803e3d6000fd5b5050505092915050565b6000611e026822bc31b430b733b2b960b91b6149a2565b6000611ef7825b60008181526003602090815260408083205490516001600160a01b0390911691821515916149d291869101615ad5565b60405160208183030381529060405290612b7c5760405162461bcd60e51b81526004016108059190615c28565b6000611e026e466c657869626c6553746f7261676560881b6149a2565b600082614a2b57506000611ef7565b82820282848281614a3857fe5b0414611ef45760405162461bcd60e51b815260040161080590615da9565b6006546001600160a01b031690565b8115610e1957631cd554d160e21b8114614b0a57614a81611eb4565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b8152600401614ab793929190615bff565b60206040518083038186803b158015614acf57600080fd5b505afa158015614ae3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614b0791908101906151c2565b91505b614b12611deb565b6001600160a01b031663867904b4614b28614c7a565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015614b6057600080fd5b505afa158015614b74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614b989190810190614f96565b846040518363ffffffff1660e01b8152600401614bb6929190615b88565b600060405180830381600087803b158015614bd057600080fd5b505af1158015614be4573d6000803e3d6000fd5b50505050614bf0614c7a565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401610de69190615bb5565b60006111a58383670de0b6b3a7640000614c8f565b60006111a58383670de0b6b3a7640000614cc7565b6000808211614c665760405162461bcd60e51b815260040161080590615d29565b6000828481614c7157fe5b04949350505050565b6000611e0266119959541bdbdb60ca1b6149a2565b600080614ca98461351c87600a870263ffffffff614a1c16565b90506005600a825b0610614cbb57600a015b600a9004949350505050565b600080600a8304614cde868663ffffffff614a1c16565b81614ce557fe5b0490506005600a82614cb1565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611ef781615f45565b8051611ef781615f45565b60008083601f840112614d7457600080fd5b50813567ffffffffffffffff811115614d8c57600080fd5b602083019150836020820283011115614da457600080fd5b9250929050565b8035611ef781615f59565b8051611ef781615f59565b8035611ef781615f62565b8051611ef781615f62565b60006101208284031215614dea57600080fd5b614df5610120615ea2565b90506000614e038484614dc1565b8252506020614e1484848301614d4c565b6020830152506040614e2884828501614dc1565b6040830152506060614e3c84828501614dc1565b6060830152506080614e5084828501614dc1565b60808301525060a0614e6484828501614dab565b60a08301525060c0614e7884828501614dc1565b60c08301525060e0614e8c84828501614dc1565b60e083015250610100614ea184828501614dc1565b6101008301525092915050565b60006101208284031215614ec157600080fd5b614ecc610120615ea2565b90506000614eda8484614dcc565b8252506020614eeb84848301614d57565b6020830152506040614eff84828501614dcc565b6040830152506060614f1384828501614dcc565b6060830152506080614f2784828501614dcc565b60808301525060a0614f3b84828501614db6565b60a08301525060c0614f4f84828501614dcc565b60c08301525060e0614f6384828501614dcc565b60e083015250610100614ea184828501614dcc565b600060208284031215614f8a57600080fd5b60006106c18484614d4c565b600060208284031215614fa857600080fd5b60006106c18484614d57565b60008060408385031215614fc757600080fd5b6000614fd38585614d4c565b9250506020614fe485828601614dc1565b9150509250929050565b60008060006060848603121561500357600080fd5b600061500f8686614d4c565b935050602061502086828701614dc1565b925050604061503186828701614dc1565b9150509250925092565b6000806000806040858703121561505157600080fd5b843567ffffffffffffffff81111561506857600080fd5b61507487828801614d62565b9450945050602085013567ffffffffffffffff81111561509357600080fd5b61509f87828801614d62565b95989497509550505050565b6000602082840312156150bd57600080fd5b60006106c18484614dab565b6000602082840312156150db57600080fd5b60006106c18484614db6565b600080604083850312156150fa57600080fd5b60006151068585614db6565b9250506020614fe485828601614db6565b60006020828403121561512957600080fd5b60006106c18484614dc1565b6000806040838503121561514857600080fd5b60006151548585614dc1565b9250506020614fe485828601614d4c565b6000806040838503121561517857600080fd5b6000614fd38585614dc1565b6000610120828403121561519757600080fd5b60006106c18484614dd7565b600061012082840312156151b657600080fd5b60006106c18484614eae565b6000602082840312156151d457600080fd5b60006106c18484614dcc565b600080604083850312156151f357600080fd5b60006151068585614dcc565b60008060006060848603121561521457600080fd5b600061500f8686614dc1565b6000806000806080858703121561523657600080fd5b60006152428787614dcc565b945050602061525387828801614dcc565b935050604061526487828801614dcc565b925050606061527587828801614dcc565b91505092959194509250565b600061528d838361530f565b505060200190565b61529e81615efd565b82525050565b61529e81615ee1565b60006152b882615ecf565b6152c28185615ed3565b93506152cd83615ec9565b8060005b838110156152fb5781516152e58882615281565b97506152f083615ec9565b9250506001016152d1565b509495945050505050565b61529e81615eec565b61529e81610bbb565b61529e61532482610bbb565b610bbb565b61529e81615f04565b600061533d82615ecf565b6153478185615ed3565b9350615357818560208601615f0f565b61536081615f3b565b9093019392505050565b6000615377601b83615ed3565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006153b0601683615ed3565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b60006153e2600e83615ed3565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b600061540c601583615ed3565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b600061543d603583615ed3565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615494601983615ed3565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b60006154cd601d83615ed3565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b6000615506601e83615ed3565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b600061553f601b83615ed3565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615578601283615ed3565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b60006155a6601e83615ed3565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b60006155df601d83615ed3565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b6000615618601883615ed3565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000615651602083615ed3565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b600061568a601e83615ed3565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006156c3601a83615ed3565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006156fc601183615edc565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000615729601183615ed3565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b6000615756601383615ed3565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b6000615785600a83615ed3565b6926b0bc1018903437bab960b11b815260200192915050565b60006157ab601a83615ed3565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b60006157e4601b83615ed3565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b600061581d602f83615ed3565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061586e601f83615ed3565b7f4e6f7420616c6c6f77656420746f20697373756520746869732073796e746800815260200192915050565b60006158a7602183615ed3565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006158ea601883615ed3565b7f4e6f7420656e6f7567682073796e74682062616c616e63650000000000000000815260200192915050565b6000615923601e83615ed3565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b600061595c601a83615ed3565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b6000615995601983615edc565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006159ce601383615ed3565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b60006159fd601b83615ed3565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b8051610120830190615a3b848261530f565b506020820151615a4e60208501826152a4565b506040820151615a61604085018261530f565b506060820151615a74606085018261530f565b506080820151615a87608085018261530f565b5060a0820151615a9a60a0850182615306565b5060c0820151615aad60c085018261530f565b5060e0820151615ac060e085018261530f565b50610100820151610aa061010085018261530f565b6000615ae0826156ef565b9150615aec8284615318565b50602001919050565b6000615ae082615988565b60208101611ef782846152a4565b60208101611ef78284615295565b60408101615b2a8285615295565b6111a560208301846152a4565b60608101615b458286615295565b615b5260208301856152a4565b6106c1604083018461530f565b60408101615b6d8285615295565b6111a5602083018461530f565b60408101615b2a82856152a4565b60408101615b6d82856152a4565b602080825281016111a581846152ad565b60208101611ef78284615306565b60208101611ef7828461530f565b60408101615b2a828561530f565b60408101615b6d828561530f565b60408101615bed828561530f565b81810360208301526106c18184615332565b60608101615c0d828661530f565b615b52602083018561530f565b60208101611ef78284615329565b602080825281016111a58184615332565b60208082528101611ef78161536a565b60208082528101611ef7816153a3565b60208082528101611ef7816153d5565b60208082528101611ef7816153ff565b60208082528101611ef781615430565b60208082528101611ef781615487565b60208082528101611ef7816154c0565b60208082528101611ef7816154f9565b60208082528101611ef781615532565b60208082528101611ef78161556b565b60208082528101611ef781615599565b60208082528101611ef7816155d2565b60208082528101611ef78161560b565b60208082528101611ef781615644565b60208082528101611ef78161567d565b60208082528101611ef7816156b6565b60208082528101611ef78161571c565b60208082528101611ef781615749565b60208082528101611ef781615778565b60208082528101611ef78161579e565b60208082528101611ef7816157d7565b60208082528101611ef781615810565b60208082528101611ef781615861565b60208082528101611ef78161589a565b60208082528101611ef7816158dd565b60208082528101611ef781615916565b60208082528101611ef78161594f565b60208082528101611ef7816159c1565b60208082528101611ef7816159f0565b6101208101611ef78284615a29565b60808101615e26828761530f565b615e336020830186615295565b615e40604083018561530f565b615e4d606083018461530f565b95945050505050565b60a08101615e64828861530f565b615e71602083018761530f565b615e7e604083018661530f565b615e8b606083018561530f565b615e98608083018461530f565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615ec157600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611ef782615ef1565b151590565b6001600160a01b031690565b6000611ef7825b6000611ef782615ee1565b60005b83811015615f2a578181015183820152602001615f12565b83811115610aa05750506000910152565b601f01601f191690565b615f4e81615ee1565b8114613df057600080fd5b615f4e81615eec565b615f4e81610bbb56fea365627a7a723158207eea408e568f2b63599acab5435027c647d16c8da004a96930363835dfbc8f026c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"contract CollateralState","name":"_state","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_manager","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"},{"internalType":"uint256","name":"_minCratio","type":"uint256"},{"internalType":"uint256","name":"_minCollateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"canOpenLoans","type":"bool"}],"name":"CanOpenLoansUpdated","type":"event","signature":"0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountDeposited","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralDeposited","type":"event","signature":"0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountWithdrawn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralWithdrawn","type":"event","signature":"0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"interactionDelay","type":"uint256"}],"name":"InteractionDelayUpdated","type":"event","signature":"0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"issueFeeRate","type":"uint256"}],"name":"IssueFeeRateUpdated","type":"event","signature":"0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"LoanClosed","type":"event","signature":"0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanClosedByLiquidation","type":"event","signature":"0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateral","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"currency","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"issuanceFee","type":"uint256"}],"name":"LoanCreated","type":"event","signature":"0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LoanDrawnDown","type":"event","signature":"0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanPartiallyLiquidated","type":"event","signature":"0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"repayer","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRepaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAfter","type":"uint256"}],"name":"LoanRepaymentMade","type":"event","signature":"0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"manager","type":"address"}],"name":"ManagerUpdated","type":"event","signature":"0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxLoansPerAccount","type":"uint256"}],"name":"MaxLoansPerAccountUpdated","type":"event","signature":"0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCollateral","type":"uint256"}],"name":"MinCollateralUpdated","type":"event","signature":"0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCratio","type":"uint256"}],"name":"MinCratioRatioUpdated","type":"event","signature":"0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"address","name":"rewardsContract","type":"address"},{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"addRewardsContracts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5eb2ad01"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"addSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23d60e2e"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"areSynthsAndCurrenciesSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x72e18b6a"},{"constant":true,"inputs":[],"name":"canOpenLoans","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4065b81b"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0aebeb4e"},{"constant":true,"inputs":[],"name":"collateralKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb562a1ab"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"collateralRatio","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdac8cf68"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"collateralRedeemed","outputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0a153c97"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0efe6a8b"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"draw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd2b8035a"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x56dc04a1"},{"constant":true,"inputs":[],"name":"interactionDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x15aaf4dd"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"issueFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x361e2086"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"liquidate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0710285c"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"liquidationAmount","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe74337c6"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x481c6a75"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"maxLoan","outputs":[{"internalType":"uint256","name":"max","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7e132355"},{"constant":true,"inputs":[],"name":"maxLoansPerAccount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeb8e3b65"},{"constant":true,"inputs":[],"name":"minCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xba2de9bc"},{"constant":true,"inputs":[],"name":"minCratio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x925ead11"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"open","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf93451ed"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"repay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8cd2e0c7"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"bool","name":"_canOpenLoans","type":"bool"}],"name":"setCanOpenLoans","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x90abb4d9"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_interactionDelay","type":"uint256"}],"name":"setInteractionDelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4c17ace4"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_issueFeeRate","type":"uint256"}],"name":"setIssueFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa76cdfa5"},{"constant":false,"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"name":"setManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd0ebdbe7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_minCratio","type":"uint256"}],"name":"setMinCratio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0cdd1c65"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"shortingRewards","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xde81eda9"},{"constant":true,"inputs":[],"name":"state","outputs":[{"internalType":"contract CollateralState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc19d93fb"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"synths","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x30edd961"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthsByKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x38245377"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x441a3e70"}],"source":{"keccak256":"0x332ba7664d15521a81c57ff5f1f5a8d18216ae4e3843991f25ac9ff524b90758","urls":["bzz-raw://80c891a51be4cc85dcbfb98ecafa839603c708c8204e48e21fd0fcc43e274102","dweb:/ipfs/QmWeWMbChUdJaFrfJfmohBzySrnv5fVf5gx4bGxzs7Vzzb"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"CollateralShort.sol":"CollateralShort"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"CollateralShort.sol":{"keccak256":"0x332ba7664d15521a81c57ff5f1f5a8d18216ae4e3843991f25ac9ff524b90758","urls":["bzz-raw://80c891a51be4cc85dcbfb98ecafa839603c708c8204e48e21fd0fcc43e274102","dweb:/ipfs/QmWeWMbChUdJaFrfJfmohBzySrnv5fVf5gx4bGxzs7Vzzb"]}},"version":1}},"StakingRewards":{"bytecode":"60806040526000600755600060085562093a8060095534801561002157600080fd5b506040516118e33803806118e38339818101604052608081101561004457600080fd5b5080516020820151604083015160609093015191929091836001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060016003556000546001600160a01b0316610166576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600580546001600160a01b0393841661010002610100600160a81b0319909116179055600680549183166001600160a01b03199283161790556002805493909216921691909117905550611724806101bf6000396000f3fe608060405234801561001057600080fd5b50600436106101ef5760003560e01c806372f702f31161010f578063a694fc3a116100a2578063d1af0c7d11610071578063d1af0c7d14610470578063df136d6514610478578063e9fad8ee14610480578063ebe2b12b14610488576101ef565b8063a694fc3a14610426578063c8f33c9114610443578063cc1a378f1461044b578063cd3daf9d14610468576101ef565b80638980f11f116100de5780638980f11f146103c45780638b876347146103f05780638da5cb5b1461041657806391b4ded91461041e576101ef565b806372f702f3146103a457806379ba5097146103ac5780637b0a47ee146103b457806380faa57d146103bc576101ef565b8063386a95251161018757806353a47bb71161015657806353a47bb71461033d578063556f6e6b146103455780635c975abb1461036257806370a082311461037e576101ef565b8063386a9525146102ec5780633c6b16ab146102f45780633d18b912146103115780633fc6df6e14610319576101ef565b806318160ddd116101c357806318160ddd1461029957806319762143146102a15780631c1f78eb146102c75780632e1a7d4d146102cf576101ef565b80628cc262146101f45780630700037d1461022c5780631627540c1461025257806316c38b3c1461027a575b600080fd5b61021a6004803603602081101561020a57600080fd5b50356001600160a01b0316610490565b60408051918252519081900360200190f35b61021a6004803603602081101561024257600080fd5b50356001600160a01b0316610526565b6102786004803603602081101561026857600080fd5b50356001600160a01b0316610538565b005b6102786004803603602081101561029057600080fd5b50351515610594565b61021a61060e565b610278600480360360208110156102b757600080fd5b50356001600160a01b0316610615565b61021a61063f565b610278600480360360208110156102e557600080fd5b503561065d565b61021a6107ff565b6102786004803603602081101561030a57600080fd5b5035610805565b610278610a5b565b610321610b99565b604080516001600160a01b039092168252519081900360200190f35b610321610ba8565b6102786004803603602081101561035b57600080fd5b5035610bb7565b61036a610c21565b604080519115158252519081900360200190f35b61021a6004803603602081101561039457600080fd5b50356001600160a01b0316610c2a565b610321610c45565b610278610c54565b61021a610d10565b61021a610d16565b610278600480360360408110156103da57600080fd5b506001600160a01b038135169060200135610d24565b61021a6004803603602081101561040657600080fd5b50356001600160a01b0316610de1565b610321610df3565b61021a610e02565b6102786004803603602081101561043c57600080fd5b5035610e08565b61021a610fe6565b6102786004803603602081101561046157600080fd5b5035610fec565b61021a61106f565b6103216110c9565b61021a6110dd565b6102786110e3565b61021a611106565b6001600160a01b0381166000908152600d6020908152604080832054600c909252822054610520919061051490670de0b6b3a764000090610508906104e3906104d761106f565b9063ffffffff61110c16565b6001600160a01b0388166000908152600f60205260409020549063ffffffff61116916565b9063ffffffff6111c916565b9063ffffffff61123316565b92915050565b600d6020526000908152604090205481565b61054061128d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61059c61128d565b60055460ff16151581151514156105b25761060b565b6005805460ff1916821515179081905560ff16156105cf57426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b600e545b90565b61061d61128d565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600061065860095460085461116990919063ffffffff16565b905090565b60038054600101908190553361067161106f565b600b5561067c610d16565b600a556001600160a01b038116156106c35761069781610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b6000831161070c576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b600e5461071f908463ffffffff61110c16565b600e55336000908152600f6020526040902054610742908463ffffffff61110c16565b336000818152600f602052604090209190915560065461076e916001600160a01b0390911690856112d6565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25060035481146107fb576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050565b60095481565b6002546001600160a01b0316331461084e5760405162461bcd60e51b815260040180806020018281038252602a81526020018061167b602a913960400191505060405180910390fd5b600061085861106f565b600b55610863610d16565b600a556001600160a01b038116156108aa5761087e81610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60075442106108cf576009546108c790839063ffffffff6111c916565b60085561091e565b6007546000906108e5904263ffffffff61110c16565b905060006108fe6008548361116990919063ffffffff16565b60095490915061091890610508868463ffffffff61123316565b60085550505b600554604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561096e57600080fd5b505afa158015610982573d6000803e3d6000fd5b505050506040513d602081101561099857600080fd5b50516009549091506109b190829063ffffffff6111c916565b6008541115610a07576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b42600a819055600954610a20919063ffffffff61123316565b6007556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b600380546001019081905533610a6f61106f565b600b55610a7a610d16565b600a556001600160a01b03811615610ac157610a9581610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b336000908152600d60205260409020548015610b4157336000818152600d6020526040812055600554610b0a916101009091046001600160a01b0316908363ffffffff6112d616565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050600354811461060b576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002546001600160a01b031681565b6001546001600160a01b031681565b610bbf61128d565b6000610bc961106f565b600b55610bd4610d16565b600a556001600160a01b03811615610c1b57610bef81610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b50600755565b60055460ff1681565b6001600160a01b03166000908152600f602052604090205490565b6006546001600160a01b031681565b6001546001600160a01b03163314610c9d5760405162461bcd60e51b81526004018080602001828103825260358152602001806115ba6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60085481565b60006106584260075461132d565b610d2c61128d565b6006546001600160a01b0383811691161415610d795760405162461bcd60e51b81526004018080602001828103825260218152602001806116cf6021913960400191505060405180910390fd5b600054610d99906001600160a01b0384811691168363ffffffff6112d616565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a15050565b600c6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b600380546001019081905560055460ff1615610e555760405162461bcd60e51b815260040180806020018281038252603c81526020018061163f603c913960400191505060405180910390fd5b33610e5e61106f565b600b55610e69610d16565b600a556001600160a01b03811615610eb057610e8481610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610ef6576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b600e54610f09908463ffffffff61123316565b600e55336000908152600f6020526040902054610f2c908463ffffffff61123316565b336000818152600f6020526040902091909155600654610f59916001600160a01b03909116903086611343565b60408051848152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25060035481146107fb576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600a5481565b610ff461128d565b60075442116110345760405162461bcd60e51b81526004018080602001828103825260588152602001806115626058913960600191505060405180910390fd5b60098190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600e54600014156110855750600b54610612565b6106586110ba600e54610508670de0b6b3a76400006110ae6008546110ae600a546104d7610d16565b9063ffffffff61116916565b600b549063ffffffff61123316565b60055461010090046001600160a01b031681565b600b5481565b336000908152600f60205260409020546110fc9061065d565b611104610a5b565b565b60075481565b600082821115611163576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008261117857506000610520565b8282028284828161118557fe5b04146111c25760405162461bcd60e51b815260040180806020018281038252602181526020018061161e6021913960400191505060405180910390fd5b9392505050565b600080821161121f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161122a57fe5b04949350505050565b6000828201838110156111c2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546001600160a01b031633146111045760405162461bcd60e51b815260040180806020018281038252602f8152602001806115ef602f913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526113289084906113a3565b505050565b600081831061133c57816111c2565b5090919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261139d9085906113a3565b50505050565b6113b5826001600160a01b031661155b565b611406576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106114445780518252601f199092019160209182019101611425565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146114a6576040519150601f19603f3d011682016040523d82523d6000602084013e6114ab565b606091505b509150915081611502576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b80511561139d5780806020019051602081101561151e57600080fd5b505161139d5760405162461bcd60e51b815260040180806020018281038252602a8152602001806116a5602a913960400191505060405180910390fd5b3b15159056fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f64596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656443616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656443616e6e6f7420776974686472617720746865207374616b696e6720746f6b656ea265627a7a7231582055a41070d871a9ef481a33e3caec686c7f16116a553ebc972a8821ef39a8f81b64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_rewardsDistribution","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event","signature":"0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Recovered","type":"event","signature":"0x8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event","signature":"0xde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event","signature":"0xe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"RewardsDurationUpdated","type":"event","signature":"0xfb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event","signature":"0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event","signature":"0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x008cc262"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe9fad8ee"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3d18b912"},{"constant":true,"inputs":[],"name":"getRewardForDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x1c1f78eb"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x91b4ded9"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x80faa57d"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc8f33c91"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3c6b16ab"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c975abb"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xebe2b12b"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8980f11f"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcd3daf9d"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdf136d65"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7b0a47ee"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0700037d"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3fc6df6e"},{"constant":true,"inputs":[],"name":"rewardsDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x386a9525"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd1af0c7d"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16c38b3c"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x19762143"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rewardsDuration","type":"uint256"}],"name":"setRewardsDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xcc1a378f"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa694fc3a"},{"constant":true,"inputs":[],"name":"stakingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x72f702f3"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18160ddd"},{"constant":false,"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"updatePeriodFinish","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x556f6e6b"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8b876347"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x2e1a7d4d"}],"source":{"keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516","urls":["bzz-raw://400d1e795b227dafe8d3b2620d785ed29ce088d1e53d021786da1c101cd50a50","dweb:/ipfs/QmeGfoQ1JQJVDWQAkWSvZSwt2npvQs62AEAFcqZcrGSAfw"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"StakingRewards.sol":"StakingRewards"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"StakingRewards.sol":{"keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516","urls":["bzz-raw://400d1e795b227dafe8d3b2620d785ed29ce088d1e53d021786da1c101cd50a50","dweb:/ipfs/QmeGfoQ1JQJVDWQAkWSvZSwt2npvQs62AEAFcqZcrGSAfw"]}},"version":1}},"RewardEscrowV2":{"bytecode":"608060408190526303bfc400600c556224ea00600d5562093a80600e55630241ebdb60e61b815273__$58c62a0096148744468f14ce5088c1760d$__9063907af6c09060849060209060048186803b1580156200005b57600080fd5b505af415801562000070573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620000969190810190620001f1565b6103e802601155348015620000aa57600080fd5b5060405162003eae38038062003eae833981016040819052620000cd91620001b2565b8181806249d400836001600160a01b038116620001075760405162461bcd60e51b8152600401620000fe9062000297565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200015491849062000271565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b03929092169190911790555050600160075550620003009050565b80516200019f81620002db565b92915050565b80516200019f81620002f5565b60008060408385031215620001c657600080fd5b6000620001d4858562000192565b9250506020620001e78582860162000192565b9150509250929050565b6000602082840312156200020457600080fd5b6000620002128484620001a5565b949350505050565b6200022581620002c7565b82525050565b6200022581620002b2565b600062000245601983620002a9565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200028182856200021a565b6200029060208301846200022b565b9392505050565b602080825281016200019f8162000236565b90815260200190565b60006001600160a01b0382166200019f565b90565b60006200019f8260006200019f82620002b2565b620002e681620002b2565b8114620002f257600080fd5b50565b620002e681620002c4565b613b9e80620003106000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c806370a082311161015c5780638da5cb5b116100ce578063b95375bd11610087578063b95375bd1461052e578063cd7b43dd14610541578063d621a16914610554578063e6b2cf6c14610567578063eac624891461056f578063f0b882ba1461058f5761027f565b80638da5cb5b146104dd578063910a326d146104e55780639ad6a7e5146104ed578063a0416ed3146104f5578063ae58254914610508578063b0fd59631461051b5761027f565b80637839b92f116101205780637839b92f146104665780637993e6991461047957806379ba50971461048c5780637cc1d7561461049457806380d46f58146104a7578063899ffef4146104c85761027f565b806370a082311461041057806371e780f31461042357806373307e401461042b578063741853601461043e578063773ab39f146104465761027f565b8063326a3cfb116101f557806346ba2d90116101b957806346ba2d90146103b257806353a47bb7146103ba5780635b85c200146103cf5780635eb8cf25146103e25780636154c343146103ea5780636dc05bd3146103fd5761027f565b8063326a3cfb1461035057806334c7fec91461036357806337088ffc146103765780634525aabc1461037e57806345626bd6146103915761027f565b8063178c565511610247578063178c5655146102f45780631bb47b44146102fc578063204b676a1461030f578063227d517a146103225780632af64bd31461033557806330104c5f1461033d5761027f565b8063018c6c551461028457806304f3bcec1461029957806305662986146102b75780630fcdefb7146102cc5780631627540c146102e1575b600080fd5b610297610292366004612c1f565b6105a2565b005b6102a16105ea565b6040516102ae91906137f0565b60405180910390f35b6102bf6105f9565b6040516102ae91906137a6565b6102d461061a565b6040516102ae91906137b4565b6102976102ef366004612923565b610620565b610297610673565b61029761030a366004612a55565b6106d0565b6102d461031d366004612923565b610721565b6102d4610330366004612923565b61073c565b6102bf61074e565b6102d461034b3660046129b4565b610865565b6102d461035e366004612923565b6108c4565b610297610371366004612bc0565b6108d6565b6102d461098c565b61029761038c366004612c1f565b610992565b6103a461039f3660046129b4565b6109cf565b6040516102ae929190613a45565b6102d46109ff565b6103c2610a05565b6040516102ae9190613659565b6102976103dd366004612c1f565b610a14565b6102d4610a51565b6103a46103f83660046129b4565b610a57565b6102d461040b36600461295f565b610a91565b6102d461041e366004612923565b610b3e565b6102d4610b59565b6103c2610439366004612923565b610b5f565b610297610b7a565b610459610454366004612a55565b610cd0565b6040516102ae919061374d565b610297610474366004612923565b610e70565b610297610487366004612c1f565b61116e565b6102976111cd565b6102976104a2366004612923565b611269565b6104ba6104b536600461295f565b6113b9565b6040516102ae92919061399f565b6104d0611642565b6040516102ae919061373c565b6103c261170c565b6102d461171b565b6102d4611721565b610297610503366004612a55565b611727565b6102d46105163660046129b4565b6117f2565b6102d4610529366004612923565b611820565b61029761053c366004612b04565b611832565b61029761054f3660046129ee565b611a1d565b610297610562366004612aa2565b611a2b565b6102d4611bec565b61058261057d366004612a55565b611bf2565b6040516102ae9190613795565b61029761059d36600461295f565b611cde565b6105aa61201a565b600d8190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e906105df9083906137b4565b60405180910390a150565b6003546001600160a01b031681565b600042610613600e54600f5461204690919063ffffffff16565b1190505b90565b600f5481565b61062861201a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105df908390613659565b61067b61201a565b42600f819055600e547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd3444591906106b890829063ffffffff61204616565b6040516106c69291906139bf565b60405180910390a1565b6106d861206b565b6001600160a01b0316336001600160a01b0316146107115760405162461bcd60e51b81526004016107089061395f565b60405180910390fd5b61071c838383612085565b505050565b6001600160a01b031660009081526006602052604090205490565b60096020526000908152604090205481565b6000606061075a611642565b905060005b815181101561085c57600082828151811061077657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a721916107c7918691016137b4565b60206040518083038186803b1580156107df57600080fd5b505afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108179190810190612941565b6001600160a01b031614158061084257506000818152600460205260409020546001600160a01b0316155b156108535760009350505050610617565b5060010161075f565b50600191505090565b600061086f612794565b506001600160a01b0383166000908152600560209081526040808320858452825291829020825180840190935280546001600160401b0316835260010154908201526108ba8161229d565b9150505b92915050565b60086020526000908152604090205481565b6000805b8281101561097b57336000908152600560205260408120818686858181106108fe57fe5b90506020020135815260200190815260200160002090508060010154600014610972576040805180820190915281546001600160401b031681526001820154602082015260009061094e9061229d565b9050801561095e57600060018301555b61096e848263ffffffff61204616565b9350505b506001016108da565b50801561071c5761071c33826122ce565b600d5481565b61099a61201a565b600c8190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4906105df9083906137b4565b6005602090815260009283526040808420909152908252902080546001909101546001600160401b039091169082565b60025481565b6001546001600160a01b031681565b610a1c61201a565b60118190556040517f7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef8672906105df9083906137b4565b600c5481565b6001600160a01b039190911660009081526005602090815260408083209383529290522080546001909101546001600160401b0390911691565b6000805b82811015610b3657610aa5612794565b6001600160a01b038616600090815260056020526040812090868685818110610aca57fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015610b2d576000610b178261229d565b9050610b29848263ffffffff61204616565b9350505b50600101610a95565b509392505050565b6001600160a01b031660009081526008602052604090205490565b600b5481565b600a602052600090815260409020546001600160a01b031681565b6060610b84611642565b905060005b8151811015610ccc576000828281518110610ba057fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610be2919061364e565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c0e9291906137d0565b60206040518083038186803b158015610c2657600080fd5b505afa158015610c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5e9190810190612941565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610cba90849084906137c2565b60405180910390a15050600101610b89565b5050565b6060828201838111610d16576040805160008082526020820190925290610d0d565b610cfa6127ab565b815260200190600190039081610cf25790505b50915050610e69565b6001600160a01b038516600090815260066020526040902054811115610d5157506001600160a01b0384166000908152600660205260409020545b604080518583038082526020808202830101909252606090828015610d9057816020015b610d7d6127ab565b815260200190600190039081610d755790505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604081208054838a01908110610dc457fe5b90600052602060002001549050610dd9612794565b506001600160a01b03891660009081526005602090815260408083208484528252918290208251808401845281546001600160401b03908116825260019092015481840190815284516060810186528251909316835251928201929092529182018390528451909190859085908110610e4e57fe5b60209081029190910101525050600101610d96565b50925050505b9392505050565b610e786123e9565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610eb057600080fd5b505afa158015610ec4573d6000803e3d6000fd5b505050506001600160a01b038116600090815260106020526040902054610efd5760405162461bcd60e51b81526004016107089061388f565b6001600160a01b038116600090815260086020526040902054610f325760405162461bcd60e51b81526004016107089061397f565b6011546001600160a01b03821660009081526010602052604090205411610fbd57610f9f816040518060400160405280426001600160401b0316815260200160106000866001600160a01b03166001600160a01b0316815260200190815260200160002054815250612403565b6001600160a01b03811660009081526010602052604081205561116b565b6000610fc7612461565b6001600160a01b031663204b676a836040518263ffffffff1660e01b8152600401610ff29190613659565b60206040518083038186803b15801561100a57600080fd5b505afa15801561101e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110429190810190612c3d565b905060015b81811161071c576110566127d5565b61105e612461565b6001600160a01b031663da7bd3e9858486036040518363ffffffff1660e01b815260040161108d929190613721565b604080518083038186803b1580156110a457600080fd5b505afa1580156110b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110dc9190810190612ba2565b8051602082015191925090428210156110f75750505061071c565b61111e866040518060400160405280856001600160401b0316815260200184815250612403565b6001600160a01b038616600090815260106020526040902054611147908263ffffffff61247b16565b6001600160a01b038716600090815260106020526040902055505050600101611047565b50565b61117661201a565b600d548111156111985760405162461bcd60e51b81526004016107089061394f565b600e8190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6906105df9083906137b4565b6001546001600160a01b031633146111f75760405162461bcd60e51b81526004016107089061380f565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261123a926001600160a01b03918216929116906136f8565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b0381163314156112925760405162461bcd60e51b8152600401610708906138ef565b61129a6105f9565b6112b65760405162461bcd60e51b8152600401610708906138bf565b6112be6124a3565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b81526004016112e99190613697565b60206040518083038186803b15801561130157600080fd5b505afa158015611315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113399190810190612c3d565b156113565760405162461bcd60e51b81526004016107089061398f565b336000818152600a60205260409081902080546001600160a01b0319166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852906113ae908490613659565b60405180910390a250565b600060606113c56124b7565b6001600160a01b0316336001600160a01b0316146113f55760405162461bcd60e51b8152600401610708906138df565b826114125760405162461bcd60e51b8152600401610708906138ff565b60408051848152602080860282010190915283801561144b57816020015b611438612794565b8152602001906001900390816114305790505b50905060005b83811015611552576001600160a01b03861660009081526005602052604081208187878581811061147e57fe5b9050602002013581526020019081526020016000209050600081600101541115611549576040805180820190915281546001600160401b031681526001820154602082015283518490849081106114d157fe5b60200260200101819052506114f381600101548561204690919063ffffffff16565b6001600160a01b038816600090815260056020526040812091955087878581811061151a57fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611451565b5081156115f35761156385836124de565b61156b61253d565b6001600160a01b031663a9059cbb6115816124b7565b846040518363ffffffff1660e01b815260040161159f929190613721565b602060405180830381600087803b1580156115b957600080fd5b505af11580156115cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115f19190810190612c01565b505b846001600160a01b03167f929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c85858542604051611632949392919061375e565b60405180910390a2935093915050565b60608061164d612554565b60408051600380825260808201909252919250606091906020820183803883390190505090507853796e746865746978427269646765546f4f7074696d69736d60381b8160008151811061169d57fe5b6020026020010181815250506b526577617264457363726f7760a01b816001815181106116c657fe5b6020026020010181815250506b53797374656d53746174757360a01b816002815181106116ef57fe5b60200260200101818152505061170582826125e6565b9250505090565b6000546001600160a01b031681565b600e5481565b60115481565b6001600160a01b03831661174d5760405162461bcd60e51b81526004016107089061384f565b61175561253d565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b815260040161178493929190613667565b602060405180830381600087803b15801561179e57600080fd5b505af11580156117b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117d69190810190612c01565b6107115760405162461bcd60e51b8152600401610708906138cf565b6006602052816000526040600020818154811061180b57fe5b90600052602060002001600091509150505481565b60106020526000908152604090205481565b60025442106118535760405162461bcd60e51b81526004016107089061393f565b61185b61201a565b84831461187a5760405162461bcd60e51b81526004016107089061396f565b8481146118995760405162461bcd60e51b81526004016107089061387f565b60005b85811015611a145760008787838181106118b257fe5b90506020020160206118c79190810190612923565b905060008686848181106118d757fe5b90506020020135905060008585858181106118ee57fe5b6001600160a01b03861660009081526010602090815260409091205491029290920135925050156119315760405162461bcd60e51b81526004016107089061381f565b600b54611944908363ffffffff61204616565b600b556001600160a01b038316600090815260086020526040902054611970908363ffffffff61204616565b6001600160a01b0384166000908152600860209081526040808320939093556009905220546119a5908263ffffffff61204616565b6001600160a01b0384166000818152600960209081526040808320949094556010905282902084905590517fa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d690611a01908590859042906139cd565b60405180910390a250505060010161189c565b50505050505050565b611a256126a2565b50505050565b6002544210611a4c5760405162461bcd60e51b81526004016107089061393f565b611a5461201a565b828114611a735760405162461bcd60e51b81526004016107089061392f565b60005b83811015611be5576000858583818110611a8c57fe5b9050602002016020611aa19190810190612923565b90506000848484818110611ab157fe5b905060200201359050600060086000846001600160a01b03166001600160a01b031681526020019081526020016000205411611aff5760405162461bcd60e51b81526004016107089061397f565b6001600160a01b038216600090815260106020526040902054611b345760405162461bcd60e51b81526004016107089061388f565b611b5b826040518060400160405280426001600160401b0316815260200184815250612403565b6001600160a01b038216600090815260106020526040902054611b84908263ffffffff61247b16565b6001600160a01b038316600081815260106020526040908190209290925590517f73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc490611bd390429085906139bf565b60405180910390a25050600101611a76565b5050505050565b60075481565b6001600160a01b03831660009081526006602052604090205460609083830190811115611c3457506001600160a01b0384166000908152600660205260409020545b838111611c51576040805160008082526020820190925290610d0d565b604080518583038082526020808202830101909252606090828015611c80578160200160208202803883390190505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604090208054828901908110611cb457fe5b9060005260206000200154828281518110611ccb57fe5b6020908102919091010152600101611c86565b611ce66105f9565b611d025760405162461bcd60e51b8152600401610708906138bf565b611d0a6124a3565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b8152600401611d359190613713565b60206040518083038186803b158015611d4d57600080fd5b505afa158015611d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d859190810190612c3d565b15611da25760405162461bcd60e51b81526004016107089061398f565b6001600160a01b038381166000908152600a6020526040902054163314611ddb5760405162461bcd60e51b81526004016107089061391f565b6000805b82811015611f5a57611def612794565b6001600160a01b038616600090815260056020526040812090868685818110611e1457fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015611f51573360009081526005602052604081208291878786818110611e7357fe5b60209081029290920135835250818101929092526040016000208251815467ffffffffffffffff19166001600160401b0390911617815591810151600190920191909155810151611ec5908490612046565b336000908152600660205260409020909350858584818110611ee357fe5b8354600181018555600094855260208086209281029490940135910155506001600160a01b0388168252600590526040812090868685818110611f2257fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611ddf565b506001600160a01b038416600090815260086020526040902054611f84908263ffffffff61247b16565b6001600160a01b038516600090815260086020526040808220929092553381522054611fb6908263ffffffff61204616565b33600081815260086020526040908190209290925590516001600160a01b038616917f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c9161200c919085908890889042906136b1565b60405180910390a250505050565b6000546001600160a01b031633146120445760405162461bcd60e51b81526004016107089061390f565b565b600082820183811015610e695760405162461bcd60e51b81526004016107089061382f565b600061208066119959541bdbdb60ca1b6126ba565b905090565b816120a25760405162461bcd60e51b81526004016107089061389f565b6000811180156120b45750600c548111155b6120d05760405162461bcd60e51b81526004016107089061383f565b600b546120e3908363ffffffff61204616565b600b556120ee61253d565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016121199190613659565b60206040518083038186803b15801561213157600080fd5b505afa158015612145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121699190810190612c3d565b600b54111561218a5760405162461bcd60e51b8152600401610708906138af565b6001600160a01b038316600090815260086020526040902054428201906121b7908463ffffffff61204616565b6001600160a01b03851660008181526008602090815260408083209490945560078054855180870187526001600160401b0388811682528185018b81528787526005865288872084885286528887209251835467ffffffffffffffff1916921691909117825551600191820155948452600683529483208054808601825590845291909220018390555461224a91612046565b6007556040516001600160a01b038616907f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc09061228e9042908890889087906139e8565b60405180910390a25050505050565b60008082602001516000146108be5782516001600160401b03164210156122c5576000610e69565b50506020015190565b6122d882826124de565b6001600160a01b038216600090815260096020526040902054612301908263ffffffff61204616565b6001600160a01b03831660009081526009602052604090205561232261253d565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040161234f929190613721565b602060405180830381600087803b15801561236957600080fd5b505af115801561237d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123a19190810190612c01565b50816001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc642836040516123dd9291906139bf565b60405180910390a25050565b60006120806b53797374656d53746174757360a01b6126ba565b600061240f8383612717565b602083015183516040519293506001600160a01b038616927fa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb92612454928692613a1d565b60405180910390a2505050565b60006120806b526577617264457363726f7760a01b6126ba565b60008282111561249d5760405162461bcd60e51b81526004016107089061385f565b50900390565b60006120806524b9b9bab2b960d11b6126ba565b60006120807853796e746865746978427269646765546f4f7074696d69736d60381b6126ba565b600b546124f1908263ffffffff61247b16565b600b556001600160a01b03821660009081526008602052604090205461251d908263ffffffff61247b16565b6001600160a01b0390921660009081526008602052604090209190915550565b6000612080680a6f2dce8d0cae8d2f60bb1b6126ba565b60408051600380825260808201909252606091602082018380388339019050509050680a6f2dce8d0cae8d2f60bb1b8160008151811061259057fe5b60200260200101818152505066119959541bdbdb60ca1b816001815181106125b457fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106125d757fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612616578160200160208202803883390190505b50905060005b83518110156126585783818151811061263157fe5b602002602001015182828151811061264557fe5b602090810291909101015260010161261c565b5060005b825181101561269b5782818151811061267157fe5b602002602001015182828651018151811061268857fe5b602090810291909101015260010161265c565b5092915050565b60405162461bcd60e51b81526004016107089061386f565b60008181526004602090815260408083205490516001600160a01b0390911691821515916126ea9186910161362e565b6040516020818303038152906040529061269b5760405162461bcd60e51b815260040161070891906137fe565b600780546001600160a01b038416600081815260056020908152604080832085845282528083208751815467ffffffffffffffff19166001600160401b03909116178155878301516001918201559383526006825282208054808501825590835290822001839055925461278a91612046565b6007559392505050565b604080518082019091526000808252602082015290565b604051806060016040528060006001600160401b0316815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b80356108be81613b35565b80516108be81613b35565b60008083601f84011261281b57600080fd5b5081356001600160401b0381111561283257600080fd5b60208301915083602082028301111561284a57600080fd5b9250929050565b60008083601f84011261286357600080fd5b5081356001600160401b0381111561287a57600080fd5b60208301915083604082028301111561284a57600080fd5b600082601f8301126128a357600080fd5b60026128b66128b182613a79565b613a53565b915081838560208402820111156128cc57600080fd5b60005b838110156128f857816128e28882612918565b84525060209283019291909101906001016128cf565b5050505092915050565b80516108be81613b49565b80356108be81613b52565b80516108be81613b52565b60006020828403121561293557600080fd5b60006108ba84846127f3565b60006020828403121561295357600080fd5b60006108ba84846127fe565b60008060006040848603121561297457600080fd5b600061298086866127f3565b93505060208401356001600160401b0381111561299c57600080fd5b6129a886828701612809565b92509250509250925092565b600080604083850312156129c757600080fd5b60006129d385856127f3565b92505060206129e48582860161290d565b9150509250929050565b60008060008060608587031215612a0457600080fd5b6000612a1087876127f3565b9450506020612a218782880161290d565b93505060408501356001600160401b03811115612a3d57600080fd5b612a4987828801612851565b95989497509550505050565b600080600060608486031215612a6a57600080fd5b6000612a7686866127f3565b9350506020612a878682870161290d565b9250506040612a988682870161290d565b9150509250925092565b60008060008060408587031215612ab857600080fd5b84356001600160401b03811115612ace57600080fd5b612ada87828801612809565b945094505060208501356001600160401b03811115612af857600080fd5b612a4987828801612809565b60008060008060008060608789031215612b1d57600080fd5b86356001600160401b03811115612b3357600080fd5b612b3f89828a01612809565b965096505060208701356001600160401b03811115612b5d57600080fd5b612b6989828a01612809565b945094505060408701356001600160401b03811115612b8757600080fd5b612b9389828a01612809565b92509250509295509295509295565b600060408284031215612bb457600080fd5b60006108ba8484612892565b60008060208385031215612bd357600080fd5b82356001600160401b03811115612be957600080fd5b612bf585828601612809565b92509250509250929050565b600060208284031215612c1357600080fd5b60006108ba8484612902565b600060208284031215612c3157600080fd5b60006108ba848461290d565b600060208284031215612c4f57600080fd5b60006108ba8484612918565b6000612c678383612e34565b505060200190565b6000612c7b83836135c1565b505060600190565b6000612c8f83836135f8565b505060400190565b612ca081613ad6565b82525050565b612ca081613aae565b6000612cba82613a9c565b612cc48185613aa0565b9350612ccf83613a96565b8060005b83811015612cfd578151612ce78882612c5b565b9750612cf283613a96565b925050600101612cd3565b509495945050505050565b6000612d1382613a9c565b612d1d8185613aa0565b9350612d2883613a96565b8060005b83811015612cfd578151612d408882612c6f565b9750612d4b83613a96565b925050600101612d2c565b6000612d6182613a9c565b612d6b8185613aa0565b9350612d7683613a96565b8060005b83811015612cfd578151612d8e8882612c83565b9750612d9983613a96565b925050600101612d7a565b6000612db08385613aa0565b93506001600160fb1b03831115612dc657600080fd5b602083029250612dd7838584613af3565b50500190565b6000612de882613a9c565b612df28185613aa0565b9350612dfd83613a96565b8060005b83811015612cfd578151612e158882612c5b565b9750612e2083613a96565b925050600101612e01565b612ca081613ab9565b612ca081610617565b612ca0612e4982610617565b610617565b612ca081613add565b6000612e6282613a9c565b612e6c8185613aa0565b9350612e7c818560208601613aff565b612e8581613b2b565b9093019392505050565b6000612e9c603583613aa0565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612ef3602483613aa0565b7f4163636f756e74206d6967726174696f6e2069732070656e64696e6720616c728152636561647960e01b602082015260400192915050565b6000612f39601b83613aa0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612f72603383613aa0565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b6000612fc7602483613aa0565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b600061300d601e83613aa0565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613046601b83613aa0565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b600061307f603183613aa0565b7f4e756d626572206f66206163636f756e747320616e642076657374656442616c8152700c2dcc6cae640c8dedc4ee840dac2e8c6d607b1b602082015260400192915050565b60006130d2601b83613aa0565b7f4e6f20657363726f77206d6967726174696f6e2070656e64696e670000000000815260200192915050565b600061310b601183613aa9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613138601783613aa0565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b6000613171604783613aa0565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b60006131e0601983613aa0565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b6000613219601583613aa0565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b600061324a603983613aa0565b7f43616e206f6e6c7920626520696e766f6b65642062792053796e74686574697881527f427269646765546f4f7074696d69736d20636f6e747261637400000000000000602082015260400192915050565b60006132a9602483613aa0565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b60006132ef601283613aa0565b71115b9d1c9e4812511cc81c995c5d5a5c995960721b815260200192915050565b600061331d602f83613aa0565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b600061337a602183613aa0565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b60006133bd602983613aa0565b7f4163636f756e7420616e6420657363726f77416d6f756e7473204c656e677468815268040dad2e6dac2e8c6d60bb1b602082015260400192915050565b6000613408602983613aa0565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e206475728152680696e672073657475760bc1b602082015260400192915050565b6000613453601c83613aa0565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b600061348c601983613aa9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006134c5602883613aa0565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b600061350f602b83613aa0565b7f4e756d626572206f66206163636f756e747320616e642062616c616e6365732081526a0c8dedc4ee840dac2e8c6d60ab1b602082015260400192915050565b600061355c601b83613aa0565b7f4164647265737320657363726f772062616c616e636520697320300000000000815260200192915050565b6000613595601f83613aa0565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b805160608301906135d28482613625565b5060208201516135e56020850182612e34565b506040820151611a256040850182612e34565b805160408301906136098482613625565b506020820151611a256020850182612e34565b612ca081613ae8565b612ca081613aca565b6000613639826130fe565b91506136458284612e3d565b50602001919050565b60006136398261347f565b602081016108be8284612ca6565b606081016136758286612c97565b6136826020830185612ca6565b61368f6040830184612e34565b949350505050565b604081016136a58284612c97565b6108be60208301613361565b608081016136bf8288612c97565b6136cc6020830187612e34565b81810360408301526136df818587612da4565b90506136ee6060830184612e34565b9695505050505050565b604081016137068285612ca6565b610e696020830184612ca6565b604081016136a58284612ca6565b6040810161372f8285612ca6565b610e696020830184612e34565b60208082528101610e698184612caf565b60208082528101610e698184612d08565b60608082528101613770818688612da4565b905061377f6020830185612e34565b61378c6040830184612e34565b95945050505050565b60208082528101610e698184612ddd565b602081016108be8284612e2b565b602081016108be8284612e34565b604081016137068285612e34565b604081016137de8285612e34565b818103602083015261368f8184612e57565b602081016108be8284612e4e565b60208082528101610e698184612e57565b602080825281016108be81612e8f565b602080825281016108be81612ee6565b602080825281016108be81612f2c565b602080825281016108be81612f65565b602080825281016108be81612fba565b602080825281016108be81613000565b602080825281016108be81613039565b602080825281016108be81613072565b602080825281016108be816130c5565b602080825281016108be8161312b565b602080825281016108be81613164565b602080825281016108be816131d3565b602080825281016108be8161320c565b602080825281016108be8161323d565b602080825281016108be8161329c565b602080825281016108be816132e2565b602080825281016108be81613310565b602080825281016108be8161336d565b602080825281016108be816133b0565b602080825281016108be816133fb565b602080825281016108be81613446565b602080825281016108be816134b8565b602080825281016108be81613502565b602080825281016108be8161354f565b602080825281016108be81613588565b604081016139ad8285612e34565b818103602083015261368f8184612d56565b6040810161372f8285612e34565b606081016139db8286612e34565b6136826020830185612e34565b608081016139f68287612e34565b613a036020830186612e34565b613a106040830185612e34565b61378c6060830184612e34565b60608101613a2b8286612e34565b613a386020830185612e34565b61368f604083018461361c565b6040810161372f8285613625565b6040518181016001600160401b0381118282101715613a7157600080fd5b604052919050565b60006001600160401b03821115613a8f57600080fd5b5060200290565b60200190565b5190565b90815260200190565b919050565b60006108be82613abe565b151590565b6001600160a01b031690565b6001600160401b031690565b60006108be825b60006108be82613aae565b60006108be82613aca565b82818337506000910152565b60005b83811015613b1a578181015183820152602001613b02565b83811115611a255750506000910152565b601f01601f191690565b613b3e81613aae565b811461116b57600080fd5b613b3e81613ab9565b613b3e8161061756fea365627a7a7231582007e8688ccad2edf68d3998a27c6d32da38af3aed72fe489049be57980f70ccd16c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"accountToMerge","type":"address"},{"indexed":false,"internalType":"address","name":"destinationAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"escrowAmountMerged","type":"uint256"},{"indexed":false,"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"AccountMerged","type":"event","signature":"0x48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"AccountMergingDurationUpdated","type":"event","signature":"0x723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"}],"name":"AccountMergingStarted","type":"event","signature":"0xceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd34445"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"escrowedAmountMigrated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"BurnedForMigrationToL2","type":"event","signature":"0x929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"entryID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"escrowAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"}],"name":"ImportedVestingEntry","type":"event","signature":"0xa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"name":"ImportedVestingSchedule","type":"event","signature":"0x73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc4"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"MaxAccountMergingDurationUpdated","type":"event","signature":"0xe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"MaxEscrowDurationUpdated","type":"event","signature":"0x6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"MigrateEntriesThresholdAmountUpdated","type":"event","signature":"0x7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef8672"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"escrowedAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"vestedAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"MigratedAccountEscrow","type":"event","signature":"0xa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d6"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"NominateAccountToMerge","type":"event","signature":"0xcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Vested","type":"event","signature":"0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"entryID","type":"uint256"}],"name":"VestingEntryCreated","type":"event","signature":"0x2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"accountMergingDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x910a326d"},{"constant":true,"inputs":[],"name":"accountMergingIsOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x05662986"},{"constant":true,"inputs":[],"name":"accountMergingStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0fcdefb7"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"accountVestingEntryIDs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xae582549"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"appendVestingEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1bb47b44"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"}],"name":"burnForMigration","outputs":[{"internalType":"uint256","name":"escrowedAccountBalance","type":"uint256"},{"components":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"internalType":"struct VestingEntries.VestingEntry[]","name":"vestingEntries","type":"tuple[]"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x80d46f58"},{"constant":false,"inputs":[{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"deposit","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"createEscrowEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa0416ed3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"getAccountVestingEntryIDs","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeac62489"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"entryID","type":"uint256"}],"name":"getVestingEntry","outputs":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6154c343"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"entryID","type":"uint256"}],"name":"getVestingEntryClaimable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x30104c5f"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"}],"name":"getVestingQuantity","outputs":[{"internalType":"uint256","name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6dc05bd3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"getVestingSchedules","outputs":[{"components":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"},{"internalType":"uint256","name":"entryID","type":"uint256"}],"internalType":"struct VestingEntries.VestingEntryWithID[]","name":"","type":"tuple[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x773ab39f"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"components":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"internalType":"struct VestingEntries.VestingEntry[]","name":"","type":"tuple[]"}],"name":"importVestingEntries","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xcd7b43dd"},{"constant":false,"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"escrowAmounts","type":"uint256[]"}],"name":"importVestingSchedule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd621a169"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"maxAccountMergingDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x37088ffc"},{"constant":true,"inputs":[],"name":"max_duration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5eb8cf25"},{"constant":false,"inputs":[{"internalType":"address","name":"accountToMerge","type":"address"},{"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"}],"name":"mergeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf0b882ba"},{"constant":false,"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"escrowBalances","type":"uint256[]"},{"internalType":"uint256[]","name":"vestedBalances","type":"uint256[]"}],"name":"migrateAccountEscrowBalances","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb95375bd"},{"constant":true,"inputs":[],"name":"migrateEntriesThresholdAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9ad6a7e5"},{"constant":false,"inputs":[{"internalType":"address","name":"addressToMigrate","type":"address"}],"name":"migrateVestingSchedule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x7839b92f"},{"constant":true,"inputs":[],"name":"nextEntryId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe6b2cf6c"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"nominateAccountToMerge","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x7cc1d756"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nominatedReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x73307e40"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"numVestingEntries","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x204b676a"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"setAccountMergingDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x7993e699"},{"constant":false,"inputs":[{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"setMaxAccountMergingWindow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x018c6c55"},{"constant":false,"inputs":[{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"setMaxEscrowDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4525aabc"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMigrateEntriesThresholdAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5b85c200"},{"constant":true,"inputs":[],"name":"setupExpiryTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x46ba2d90"},{"constant":false,"inputs":[],"name":"startMergingWindow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x178c5655"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalBalancePendingMigration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb0fd5963"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalEscrowedAccountBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x326a3cfb"},{"constant":true,"inputs":[],"name":"totalEscrowedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x71e780f3"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalVestedAccountBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x227d517a"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"}],"name":"vest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x34c7fec9"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"vestingSchedules","outputs":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x45626bd6"}],"source":{"keccak256":"0xd6153f08b1517a31caa3c5a3b2035a553d8e62dc1c578a97b30fbb7bbf7c4d43","urls":["bzz-raw://8096ac7c58b42bed0b4231ac8bd7699dfec1be16dce4013e65554ab3ebfcd5d7","dweb:/ipfs/QmYJ2LovVh4vq5h2f7j8kDbPTec2XXBhixPvd3Js9fbxjR"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"RewardEscrowV2.sol":"RewardEscrowV2"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"RewardEscrowV2.sol":{"keccak256":"0xd6153f08b1517a31caa3c5a3b2035a553d8e62dc1c578a97b30fbb7bbf7c4d43","urls":["bzz-raw://8096ac7c58b42bed0b4231ac8bd7699dfec1be16dce4013e65554ab3ebfcd5d7","dweb:/ipfs/QmYJ2LovVh4vq5h2f7j8kDbPTec2XXBhixPvd3Js9fbxjR"]}},"version":1}},"SynthetixBridgeToOptimism":{"bytecode":"60806040523480156200001157600080fd5b506040516200394a3803806200394a83398101604081905262000034916200010d565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001c9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b8918490620001a3565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550506004805460ff191660011790555062000224915050565b805162000107816200020a565b92915050565b600080604083850312156200012157600080fd5b60006200012f8585620000fa565b92505060206200014285828601620000fa565b9150509250929050565b6200015781620001f6565b82525050565b6200015781620001e4565b600062000177601983620001db565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001b382856200014c565b620001c260208301846200015d565b9392505050565b60208082528101620001078162000168565b90815260200190565b60006001600160a01b03821662000107565b6000620001078260006200010782620001e4565b6200021581620001e4565b81146200022157600080fd5b50565b61371680620002346000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063698a26b2116100de578063a18e230711610097578063b9958ab811610071578063b9958ab8146102cf578063bb91f6a3146102e2578063f4f7b41a146102ea578063ffaad6a5146102fd57610173565b8063a18e230714610296578063a6492fe2146102a9578063b6b55f25146102bc57610173565b8063698a26b21461024e578063741853601461025657806379ba50971461025e578063899ffef4146102665780638da5cb5b1461027b5780639a9e7f961461028357610173565b80633c6b16ab116101305780633c6b16ab146101e3578063462286d5146101f65780634873966f1461020957806353a47bb71461021c5780635aba32ae14610231578063614d08f81461024657610173565b806304f3bcec14610178578063100be6d4146101965780631627540c146101ab5780631e2720ff146101c05780632af64bd3146101d35780633872dda3146101db575b600080fd5b610180610310565b60405161018d9190613440565b60405180910390f35b61019e61031f565b60405161018d9190613384565b6101be6101b9366004612765565b610328565b005b6101be6101ce366004612934565b610386565b61019e61042c565b6101be610544565b6101be6101f1366004612934565b6105ac565b6101be610204366004612765565b610620565b6101be6102173660046128e7565b6106c3565b61022461094e565b60405161018d919061325a565b61023961095d565b60405161018d9190613392565b610239610974565b6101be610998565b6101be6109fb565b6101be610b4d565b61026e610be9565b60405161018d9190613373565b610224610ce7565b6101be6102913660046127e3565b610cf6565b6101be6102a4366004612970565b610d0f565b6101be6102b73660046128e7565b610d3f565b6101be6102ca366004612934565b610e2a565b6101be6102dd366004612a00565b610e44565b610239610f92565b6101be6102f83660046127a9565b610fa4565b6101be61030b3660046127a9565b611082565b6002546001600160a01b031681565b60045460ff1681565b61033061109c565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061037b90839061325a565b60405180910390a150565b61038e6110c8565b6103966110ea565b6001600160a01b03166323b872dd336103ad611101565b846040518463ffffffff1660e01b81526004016103cc93929190613268565b602060405180830381600087803b1580156103e657600080fd5b505af11580156103fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061041e91908101906128c9565b506104293382611124565b50565b60006060610438610be9565b905060005b815181101561053a57600082828151811061045457fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906104a5908590600401613392565b60206040518083038186803b1580156104bd57600080fd5b505afa1580156104d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104f5919081019061278b565b6001600160a01b031614158061052057506000818152600360205260409020546001600160a01b0316155b156105315760009350505050610541565b5060010161043d565b5060019150505b90565b61054c61109c565b60045460ff166105775760405162461bcd60e51b815260040161056e9061348f565b60405180910390fd5b6004805460ff191690556040517f43e00f2c8f8651a29db34d34fb689573423f8aaae8f9d32e3e871b4c35c6254690600090a1565b6105b461123a565b6001600160a01b0316336001600160a01b0316146105e45760405162461bcd60e51b815260040161056e9061355f565b6105ec6110ea565b6001600160a01b031663a9059cbb610602611101565b836040518363ffffffff1660e01b81526004016103cc929190613358565b806106bf61062c611101565b6040516370a0823160e01b81526001600160a01b038416906370a082319061065890309060040161325a565b60206040518083038186803b15801561067057600080fd5b505afa158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a89190810190612952565b6001600160a01b038416919063ffffffff61125b16565b5050565b6106cb6110c8565b6001600160a01b0382166106f15760405162461bcd60e51b815260040161056e906134ef565b60006106fc846112b9565b116107195760405162461bcd60e51b815260040161056e9061352f565b6107216113a1565b6001600160a01b03166342a28e21846040518263ffffffff1660e01b815260040161074c9190613392565b60006040518083038186803b15801561076457600080fd5b505afa158015610778573d6000803e3d6000fd5b5050505061078e6314d95b9d60e21b84836113bb565b6000610798611510565b6001600160a01b031663c81ff8fa8533856040518463ffffffff1660e01b81526004016107c7939291906133ae565b602060405180830381600087803b1580156107e157600080fd5b505af11580156107f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061081991908101906128c9565b905080156108395760405162461bcd60e51b815260040161056e9061357f565b606063a6492fe260e01b858585604051602401610858939291906133c9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610894611524565b6001600160a01b0316633dbb202b6108aa61153f565b836108b56003611549565b6040518463ffffffff1660e01b81526004016108d393929190613329565b600060405180830381600087803b1580156108ed57600080fd5b505af1158015610901573d6000803e3d6000fd5b50505050836001600160a01b0316857f8437572793cb04c0a02524a185d39f9b72a4284bd2e69151b0ca0cf254b2cb0b8560405161093f9190613392565b60405180910390a35050505050565b6001546001600160a01b031681565b600061096f6314d95b9d60e21b611599565b905090565b7f53796e746865746978427269646765546f4f7074696d69736d0000000000000090565b6109a061109c565b60045460ff16156109c35760405162461bcd60e51b815260040161056e9061345f565b6004805460ff191660011790556040517f7c88488c18e2ff121a34a4a2a44990557a5b76ab1ceb6bd95ebe7d419c7575f490600090a1565b6060610a05610be9565b905060005b81518110156106bf576000828281518110610a2157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610a63919061324f565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610a8f929190613420565b60206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610adf919081019061278b565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610b3b90849084906133a0565b60405180910390a15050600101610a0a565b6001546001600160a01b03163314610b775760405162461bcd60e51b815260040161056e9061346f565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610bba926001600160a01b0391821692911690613300565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610bf4611870565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506524b9b9bab2b960d11b81600081518110610c3257fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b81600181518110610c6257fe5b602002602001018181525050786f766d3a53796e746865746978427269646765546f4261736560381b81600281518110610c9857fe5b6020026020010181815250507453796e746865746978427269646765457363726f7760581b81600381518110610cca57fe5b602002602001018181525050610ce082826119d9565b9250505090565b6000546001600160a01b031681565b610cfe6110c8565b610d06611a95565b61042981611b35565b610d176110c8565b610d1f611a95565b805115610d2f57610d2f81611b35565b81156106bf576106bf3383611dd6565b610d47611f71565b610d59632932b1bb60e11b84836113bb565b610d61611510565b6001600160a01b031663890235d48484846040518463ffffffff1660e01b8152600401610d90939291906133c9565b602060405180830381600087803b158015610daa57600080fd5b505af1158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de291908101906128c9565b50816001600160a01b0316837f81b100a611d2b249e23d093c64f09470928821e123a7cff2a033eb24c85b797983604051610e1d9190613392565b60405180910390a3505050565b610e326110c8565b610e3a611a95565b6104293382611dd6565b610e4c6110c8565b610e5461204d565b6001600160a01b0316336001600160a01b031614610e845760405162461bcd60e51b815260040161056e9061350f565b6040516000906060906325aae56360e01b90610ea690869086906024016133f7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610ee2611524565b6001600160a01b0316633dbb202b610ef8612062565b83610f036004611549565b6040518463ffffffff1660e01b8152600401610f2193929190613329565b600060405180830381600087803b158015610f3b57600080fd5b505af1158015610f4f573d6000803e3d6000fd5b505050507fcca0df3f2f18cd65d14c04abffc77c2d00aaca7ad00b0d2eb074adeea3fb54f48484604051610f849291906133f7565b60405180910390a150505050565b600061096f632932b1bb60e11b611599565b610fac611f71565b610fb46110ea565b6001600160a01b03166323b872dd610fca611101565b84846040518463ffffffff1660e01b8152600401610fea9392919061331b565b602060405180830381600087803b15801561100457600080fd5b505af1158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061103c91908101906128c9565b50816001600160a01b03167f9e5c4f9f4e46b8629d3dda85f43a69194f50254404a72dc62b9e932d9c94eda8826040516110769190613392565b60405180910390a25050565b61108a6110c8565b611092611a95565b6106bf8282611dd6565b6000546001600160a01b031633146110c65760405162461bcd60e51b815260040161056e906134ff565b565b60045460ff166110c65760405162461bcd60e51b815260040161056e906134bf565b600061096f680a6f2dce8d0cae8d2f60bb1b612085565b600061096f7453796e746865746978427269646765457363726f7760581b612085565b60405160009060609063a616cdfb60e01b906111469086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611182611524565b6001600160a01b0316633dbb202b611198612062565b836111a36002611549565b6040518463ffffffff1660e01b81526004016111c193929190613329565b600060405180830381600087803b1580156111db57600080fd5b505af11580156111ef573d6000803e3d6000fd5b50505050836001600160a01b03167f0ac6af0c6fd21e58850b0385f451cdcc08071424f47fd04652be4e51069f43cc8460405161122c9190613392565b60405180910390a250505050565b600061096f722932bbb0b93239a234b9ba3934b13aba34b7b760691b612085565b6040516112b490849063a9059cbb60e01b9061127d9086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526120e2565b505050565b60006112c36121cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f63726f7373436861696e53796e74685472616e73666572456e61626c65640000856040516020016113169291906131c6565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016113499291906133f7565b60206040518083038186803b15801561136157600080fd5b505afa158015611375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113999190810190612952565b90505b919050565b600061096f6b53797374656d53746174757360a01b612085565b60006c29bcb73a342a3930b739b332b960991b84846040516020016113e2939291906131ec565b60405160208183030381529060405280519060200120905060006114046121cd565b6001600160a01b03166323257c2b61141a610974565b846040518363ffffffff1660e01b81526004016114389291906133f7565b60206040518083038186803b15801561145057600080fd5b505afa158015611464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114889190810190612952565b90506114926121cd565b6001600160a01b0316631d5b277f6114a8610974565b846114b9858863ffffffff6121ea16565b6040518463ffffffff1660e01b81526004016114d793929190613405565b600060405180830381600087803b1580156114f157600080fd5b505af1158015611505573d6000803e3d6000fd5b505050505050505050565b600061096f6524b9b9bab2b960d11b612085565b600061096f6c32bc3a1d26b2b9b9b2b733b2b960991b612085565b600061096f612062565b60006115536121cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b61157c85612218565b6040518363ffffffff1660e01b81526004016113499291906133f7565b600060606115a5611510565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156115dd57600080fd5b505afa1580156115f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116199190810190612818565b905060606000611627612393565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004016116529190613373565b60006040518083038186803b15801561166a57600080fd5b505afa15801561167e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116a69190810190612882565b9150915080156116c85760405162461bcd60e51b815260040161056e906134cf565b606083516040519080825280602002602001820160405280156116f5578160200160208202803883390190505b50905060005b8451811015611771576c29bcb73a342a3930b739b332b960991b8786838151811061172257fe5b602002602001015160405160200161173c939291906131ec565b6040516020818303038152906040528051906020012082828151811061175e57fe5b60209081029190910101526001016116fb565b50606061177c6121cd565b6001600160a01b031663b67fa7ed611792610974565b846040518363ffffffff1660e01b81526004016117b09291906133d7565b60006040518083038186803b1580156117c857600080fd5b505afa1580156117dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611804919081019061284d565b905060005b85518110156118655761185b61184e86838151811061182457fe5b602002602001015184848151811061183857fe5b60200260200101516123ae90919063ffffffff16565b889063ffffffff6121ea16565b9650600101611809565b505050505050919050565b60608061187b6123c3565b60408051600880825261012082019092529192506060919060208201610100803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b816000815181106118c257fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816001815181106118e857fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160028151811061191357fe5b6020026020010181815250506524b9b9bab2b960d11b8160038151811061193657fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061195a57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b8160058151811061198657fe5b6020026020010181815250506c45786368616e6765526174657360981b816006815181106119b057fe5b6020026020010181815250506b53797374656d53746174757360a01b81600781518110610cca57fe5b60608151835101604051908082528060200260200182016040528015611a09578160200160208202803883390190505b50905060005b8351811015611a4b57838181518110611a2457fe5b6020026020010151828281518110611a3857fe5b6020908102919091010152600101611a0f565b5060005b8251811015611a8e57828181518110611a6457fe5b6020026020010151828286510181518110611a7b57fe5b6020908102919091010152600101611a4f565b5092915050565b611a9d611510565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b8152600401611ac891906132b0565b60206040518083038186803b158015611ae057600080fd5b505afa158015611af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b189190810190612952565b156110c65760405162461bcd60e51b815260040161056e906134df565b60005b81518110156106bf57601a60ff16828281518110611b5257fe5b6020026020010151511115611b795760405162461bcd60e51b815260040161056e906134af565b60006060611b85612414565b6001600160a01b03166380d46f5833868681518110611ba057fe5b60200260200101516040518363ffffffff1660e01b8152600401611bc5929190613290565b600060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c1b91908101906129b8565b90925090508115611dcc57611c2e6110ea565b6001600160a01b031663a9059cbb611c44611101565b846040518363ffffffff1660e01b8152600401611c62929190613358565b602060405180830381600087803b158015611c7c57600080fd5b505af1158015611c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cb491908101906128c9565b50604051600090606090637cbc127f60e11b90611cd9903390879087906024016132ca565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611d15611524565b6001600160a01b0316633dbb202b611d2b612062565b83611d366001611549565b6040518463ffffffff1660e01b8152600401611d5493929190613329565b600060405180830381600087803b158015611d6e57600080fd5b505af1158015611d82573d6000803e3d6000fd5b50505050336001600160a01b03167f4dc5956ab6218a4dfa2cc5e5c50d98d039dde03aabfc504c54b601b6f56226968585604051611dc19291906135af565b60405180910390a250505b5050600101611b38565b611dde6110ea565b6001600160a01b03166323b872dd33611df5611101565b846040518463ffffffff1660e01b8152600401611e1493929190613268565b602060405180830381600087803b158015611e2e57600080fd5b505af1158015611e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e6691908101906128c9565b50604051600090606090638d6e9a5b60e01b90611e899086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611ec5611524565b6001600160a01b0316633dbb202b611edb612062565b83611ee66000611549565b6040518463ffffffff1660e01b8152600401611f0493929190613329565b600060405180830381600087803b158015611f1e57600080fd5b505af1158015611f32573d6000803e3d6000fd5b50505050336001600160a01b03167ff531653a5819e21265de50358610d55dbe6594c61605b209dfa4280d277938c1858560405161122c929190613358565b6000611f7b611524565b9050336001600160a01b03821614611fa55760405162461bcd60e51b815260040161056e9061353f565b611fad61153f565b6001600160a01b0316816001600160a01b0316636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b158015611fef57600080fd5b505afa158015612003573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612027919081019061278b565b6001600160a01b0316146104295760405162461bcd60e51b815260040161056e9061354f565b600061096f66119959541bdbdb60ca1b612085565b600061096f786f766d3a53796e746865746978427269646765546f4261736560381b5b60008181526003602090815260408083205490516001600160a01b0390911691821515916120b59186910161322f565b60405160208183030381529060405290611a8e5760405162461bcd60e51b815260040161056e919061344e565b6120f4826001600160a01b0316612430565b6121105760405162461bcd60e51b815260040161056e9061359f565b60006060836001600160a01b03168360405161212c9190613223565b6000604051808303816000865af19150503d8060008114612169576040519150601f19603f3d011682016040523d82523d6000602084013e61216e565b606091505b5091509150816121905760405162461bcd60e51b815260040161056e9061349f565b8051156121c757808060200190516121ab91908101906128c9565b6121c75760405162461bcd60e51b815260040161056e9061356f565b50505050565b600061096f6e466c657869626c6553746f7261676560881b612085565b60008282018381101561220f5760405162461bcd60e51b815260040161056e9061347f565b90505b92915050565b60008082600581111561222757fe5b141561225457507f63726f7373446f6d61696e4465706f7369744761734c696d697400000000000061139c565b600182600581111561226257fe5b141561228f57507f63726f7373446f6d61696e457363726f774761734c696d69740000000000000061139c565b600282600581111561229d57fe5b14156122ca57507f63726f7373446f6d61696e5265776172644761734c696d69740000000000000061139c565b60038260058111156122d857fe5b141561230557507f63726f7373446f6d61696e5769746864726177616c4761734c696d697400000061139c565b600582600581111561231357fe5b141561234057507f63726f7373446f6d61696e52656c61794761734c696d6974000000000000000061139c565b600482600581111561234e57fe5b141561237b57507f63726f7373446f6d61696e436c6f73654761734c696d6974000000000000000061139c565b60405162461bcd60e51b815260040161056e9061358f565b600061096f6c45786368616e6765526174657360981b612085565b600061220f8383670de0b6b3a7640000612436565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061240557fe5b60200260200101818152505090565b600061096f6d2932bbb0b93222b9b1b937bbab1960911b612085565b3b151590565b600080600a830461244d868663ffffffff61247416565b8161245457fe5b0490506005600a82061061246657600a015b600a900490505b9392505050565b60008261248357506000612212565b8282028284828161249057fe5b041461220f5760405162461bcd60e51b815260040161056e9061351f565b8035612212816136a4565b8051612212816136a4565b600082601f8301126124d557600080fd5b81356124e86124e3826135f6565b6135cf565b81815260209384019390925082018360005b8381101561252657813586016125108882612612565b84525060209283019291909101906001016124fa565b5050505092915050565b600082601f83011261254157600080fd5b815161254f6124e3826135f6565b9150818183526020840193506020810190508385602084028201111561257457600080fd5b60005b83811015612526578161258a8882612708565b8452506020928301929190910190600101612577565b600082601f8301126125b157600080fd5b81516125bf6124e3826135f6565b915081818352602084019350602081019050838560408402820111156125e457600080fd5b60005b8381101561252657816125fa8882612713565b845250602090920191604091909101906001016125e7565b600082601f83011261262357600080fd5b81356126316124e3826135f6565b9150818183526020840193506020810190508385602084028201111561265657600080fd5b60005b83811015612526578161266c88826126fd565b8452506020928301929190910190600101612659565b600082601f83011261269357600080fd5b81516126a16124e3826135f6565b915081818352602084019350602081019050838560208402820111156126c657600080fd5b60005b8381101561252657816126dc8882612708565b84525060209283019291909101906001016126c9565b8051612212816136b8565b8035612212816136c1565b8051612212816136c1565b60006040828403121561272557600080fd5b61272f60406135cf565b9050600061273d848461275a565b825250602061274e84848301612708565b60208301525092915050565b8051612212816136ca565b60006020828403121561277757600080fd5b600061278384846124ae565b949350505050565b60006020828403121561279d57600080fd5b600061278384846124b9565b600080604083850312156127bc57600080fd5b60006127c885856124ae565b92505060206127d9858286016126fd565b9150509250929050565b6000602082840312156127f557600080fd5b813567ffffffffffffffff81111561280c57600080fd5b612783848285016124c4565b60006020828403121561282a57600080fd5b815167ffffffffffffffff81111561284157600080fd5b61278384828501612530565b60006020828403121561285f57600080fd5b815167ffffffffffffffff81111561287657600080fd5b61278384828501612682565b6000806040838503121561289557600080fd5b825167ffffffffffffffff8111156128ac57600080fd5b6128b885828601612682565b92505060206127d9858286016126f2565b6000602082840312156128db57600080fd5b600061278384846126f2565b6000806000606084860312156128fc57600080fd5b600061290886866126fd565b9350506020612919868287016124ae565b925050604061292a868287016126fd565b9150509250925092565b60006020828403121561294657600080fd5b600061278384846126fd565b60006020828403121561296457600080fd5b60006127838484612708565b6000806040838503121561298357600080fd5b600061298f85856126fd565b925050602083013567ffffffffffffffff8111156129ac57600080fd5b6127d9858286016124c4565b600080604083850312156129cb57600080fd5b60006129d78585612708565b925050602083015167ffffffffffffffff8111156129f457600080fd5b6127d9858286016125a0565b60008060408385031215612a1357600080fd5b60006127c885856126fd565b6000612a2b8383612b5d565b505060200190565b6000612a3f8383613190565b505060400190565b612a508161365c565b82525050565b612a508161362a565b6000612a6a8261361d565b612a748185613621565b9350612a7f83613617565b8060005b83811015612aad578151612a978882612a1f565b9750612aa283613617565b925050600101612a83565b509495945050505050565b6000612ac38261361d565b612acd8185613621565b9350612ad883613617565b8060005b83811015612aad578151612af08882612a33565b9750612afb83613617565b925050600101612adc565b6000612b118261361d565b612b1b8185613621565b9350612b2683613617565b8060005b83811015612aad578151612b3e8882612a1f565b9750612b4983613617565b925050600101612b2a565b612a5081613635565b612a5081610541565b612a50612b7282610541565b610541565b6000612b828261361d565b612b8c8185613621565b9350612b9c81856020860161366e565b612ba58161369a565b9093019392505050565b6000612bba8261361d565b612bc4818561139c565b9350612bd481856020860161366e565b9290920192915050565b612a5081613663565b6000612bf4601883613621565b7f496e6974696174696f6e206e6f742073757370656e6465640000000000000000815260200192915050565b6000612c2d603583613621565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612c84601b83613621565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612cbd601483613621565b73125b9a5d1a585d1a5bdb881cdd5cdc195b99195960621b815260200192915050565b6000612ced602083613621565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000612d26602183613621565b7f45786365656473206d617820656e747269657320706572206d6967726174696f8152603760f91b602082015260400192915050565b6000612d6960118361139c565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612d96601683613621565b75125b9a5d1a585d1a5bdb8819195858dd1a5d985d195960521b815260200192915050565b6000612dc8601183613621565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b6000612df5602383613621565b7f43616e6e6f74206465706f736974206f72206d6967726174652077697468206481526219589d60ea1b602082015260400192915050565b6000612e3a601b83613621565b7f43616e6e6f742073656e6420746f207a65726f20616464726573730000000000815260200192915050565b6000612e73602f83613621565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000612ed0601f83613621565b7f4f6e6c79207468652066656520706f6f6c2063616e2063616c6c207468697300815260200192915050565b6000612f09602183613621565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612f4c602a83613621565b7f53796e7468206e6f7420656e61626c656420666f722063726f7373206368616981526937103a3930b739b332b960b11b602082015260400192915050565b6000612f98601e83613621565b7f4f6e6c79207468652072656c617965722063616e2063616c6c20746869730000815260200192915050565b6000612fd160198361139c565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061300a602483613621565b7f4f6e6c79206120636f756e74657270617274206272696467652063616e20696e815263766f6b6560e01b602082015260400192915050565b6000613050602a83613621565b7f43616c6c6572206973206e6f742052657761726473446973747269627574696f8152691b8818dbdb9d1c9858dd60b21b602082015260400192915050565b600061309c602a83613621565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006130e8602883613621565b7f43616e6e6f7420696e6974696174652069662073796e74682072617465206973815267081a5b9d985b1a5960c21b602082015260400192915050565b6000613132601683613621565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b6000613164601f83613621565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b805160408301906131a184826131bd565b5060208201516121c76020850182612b5d565b612a5081613646565b612a508161364f565b60006131d28285612b66565b6020820191506131e28284612b66565b5060200192915050565b60006131f88286612b66565b6020820191506132088285612b66565b6020820191506132188284612b66565b506020019392505050565b600061246d8284612baf565b600061323a82612d5c565b91506132468284612b66565b50602001919050565b600061323a82612fc4565b602081016122128284612a56565b606081016132768286612a47565b6132836020830185612a56565b6127836040830184612b5d565b6040810161329e8285612a47565b81810360208301526127838184612b06565b604081016132be8284612a47565b61221260208301612eb7565b606081016132d88286612a56565b6132e56020830185612b5d565b81810360408301526132f78184612ab8565b95945050505050565b6040810161330e8285612a56565b61246d6020830184612a56565b606081016132768286612a56565b606081016133378286612a56565b81810360208301526133498185612b77565b905061278360408301846131b4565b604081016133668285612a56565b61246d6020830184612b5d565b6020808252810161220f8184612a5f565b602081016122128284612b54565b602081016122128284612b5d565b6040810161330e8285612b5d565b606081016133bc8286612b5d565b6132836020830185612a47565b606081016132768286612b5d565b604081016133e58285612b5d565b81810360208301526127838184612a5f565b604081016133668285612b5d565b606081016134138286612b5d565b6132836020830185612b5d565b6040810161342e8285612b5d565b81810360208301526127838184612b77565b602081016122128284612bde565b6020808252810161220f8184612b77565b6020808252810161139981612be7565b6020808252810161139981612c20565b6020808252810161139981612c77565b6020808252810161139981612cb0565b6020808252810161139981612ce0565b6020808252810161139981612d19565b6020808252810161139981612d89565b6020808252810161139981612dbb565b6020808252810161139981612de8565b6020808252810161139981612e2d565b6020808252810161139981612e66565b6020808252810161139981612ec3565b6020808252810161139981612efc565b6020808252810161139981612f3f565b6020808252810161139981612f8b565b6020808252810161139981612ffd565b6020808252810161139981613043565b602080825281016113998161308f565b60208082528101611399816130db565b6020808252810161139981613125565b6020808252810161139981613157565b604081016135bd8285612b5d565b81810360208301526127838184612ab8565b60405181810167ffffffffffffffff811182821017156135ee57600080fd5b604052919050565b600067ffffffffffffffff82111561360d57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006113998261363a565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b6000611399825b60006113998261362a565b60005b83811015613689578181015183820152602001613671565b838111156121c75750506000910152565b601f01601f191690565b6136ad8161362a565b811461042957600080fd5b6136ad81613635565b6136ad81610541565b6136ad8161364f56fea365627a7a72315820fae196f19170575bc61868be3406147da6f7959d46ca1778e5c29d8d465bc0456c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"DepositInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"escrowedAccountBalance","type":"uint256"},{"components":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"indexed":false,"internalType":"struct VestingEntries.VestingEntry[]","name":"vestingEntries","type":"tuple[]"}],"name":"ExportedVestingEntries","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"snxBackedDebt","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalDebtShares","type":"uint256"}],"name":"FeePeriodClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":true,"internalType":"address","name":"destination","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FinalizeSynthTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":true,"internalType":"address","name":"destination","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"InitiateSynthTransfer","type":"event"},{"anonymous":false,"inputs":[],"name":"InitiationResumed","type":"event"},{"anonymous":false,"inputs":[],"name":"InitiationSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardDepositInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"WithdrawalFinalized","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"snxBackedAmount","type":"uint256"},{"internalType":"uint256","name":"totalDebtShares","type":"uint256"}],"name":"closeFeePeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256[][]","name":"entryIDs","type":"uint256[][]"}],"name":"depositAndMigrateEscrow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"finalizeSynthTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"finalizeWithdrawal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"forwardTokensToEscrow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"initiateSynthTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initiationActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256[][]","name":"entryIDs","type":"uint256[][]"}],"name":"migrateEscrow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resumeInitiation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"suspendInitiation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"synthTransferReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"synthTransferSent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xdff9df88e885c9026ab62c879f5378f213292e70ca6e99106893271b0ca9109a","urls":["bzz-raw://0acdade1553279df2193726bd44b1772b9f12736425ab319e928a5afe8abb836","dweb:/ipfs/QmWmDxjv1LC2znwgQ842PKwowkQytBHdWUoTiKZdBXAnvU"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SynthetixBridgeToOptimism.sol":"SynthetixBridgeToOptimism"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SynthetixBridgeToOptimism.sol":{"keccak256":"0xdff9df88e885c9026ab62c879f5378f213292e70ca6e99106893271b0ca9109a","urls":["bzz-raw://0acdade1553279df2193726bd44b1772b9f12736425ab319e928a5afe8abb836","dweb:/ipfs/QmWmDxjv1LC2znwgQ842PKwowkQytBHdWUoTiKZdBXAnvU"]}},"version":1}},"ShortingRewards":{"bytecode":"60806040526000600855600060095562093a80600a553480156200002257600080fd5b506040516200208b3803806200208b833981016040819052620000459162000164565b82846001600160a01b038116620000795760405162461bcd60e51b815260040162000070906200028c565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c691849062000254565b60405180910390a15060016003556000546001600160a01b0316620000ff5760405162461bcd60e51b815260040162000070906200027a565b60058054610100600160a81b0319166101006001600160a01b0393841602179055600780546001600160a01b031990811693831693909317905560028054909216921691909117905550620002e79050565b80516200015e81620002cd565b92915050565b600080600080608085870312156200017b57600080fd5b600062000189878762000151565b94505060206200019c8782880162000151565b9350506040620001af8782880162000151565b9250506060620001c28782880162000151565b91505092959194509250565b620001d981620002b9565b82525050565b620001d981620002a7565b6000620001f96011836200029e565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002286019836200029e565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002648285620001ce565b620002736020830184620001df565b9392505050565b602080825281016200015e81620001ea565b602080825281016200015e8162000219565b90815260200190565b60006001600160a01b0382166200015e565b60006200015e8260006200015e82620002a7565b620002d881620002a7565b8114620002e457600080fd5b50565b611d9480620002f76000396000f3fe608060405234801561001057600080fd5b50600436106101ef5760003560e01c806379ba50971161010f578063c8f33c91116100a2578063db454a5111610071578063db454a511461038e578063df136d65146103a1578063ebe2b12b146103a9578063f3fef3a3146103b1576101ef565b8063c8f33c9114610363578063cc1a378f1461036b578063cd3daf9d1461037e578063d1af0c7d14610386576101ef565b80638b876347116100de5780638b8763471461032d5780638da5cb5b1461034057806391b4ded914610348578063c00007b014610350576101ef565b806379ba5097146103005780637b0a47ee1461030857806380faa57d14610310578063899ffef414610318576101ef565b80632af64bd31161018757806353a47bb71161015657806353a47bb7146102d55780635c975abb146102dd57806370a08231146102e557806374185360146102f8576101ef565b80632af64bd314610290578063386a9525146102a55780633c6b16ab146102ad5780633fc6df6e146102c0576101ef565b806316c38b3c116101c357806316c38b3c1461025a57806318160ddd1461026d57806319762143146102755780631c1f78eb14610288576101ef565b80628cc262146101f457806304f3bcec1461021d5780630700037d146102325780631627540c14610245575b600080fd5b6102076102023660046113ca565b6103c4565b6040516102149190611b4b565b60405180910390f35b61022561045a565b6040516102149190611b87565b6102076102403660046113ca565b61046e565b6102586102533660046113ca565b610480565b005b610258610268366004611448565b6104de565b610207610553565b6102586102833660046113ca565b61055a565b610207610584565b6102986105a2565b6040516102149190611b3d565b6102076106be565b6102586102bb366004611484565b6106c4565b6102c86108d9565b6040516102149190611ae8565b6102c86108e8565b6102986108f7565b6102076102f33660046113ca565b610900565b61025861091b565b610258610a71565b610207610b0d565b610207610b13565b610320610b21565b6040516102149190611b2c565b61020761033b3660046113ca565b610b72565b6102c8610b84565b610207610b93565b61025861035e3660046113ca565b610b99565b610207610cf4565b610258610379366004611484565b610cfa565b610207610d58565b610225610db2565b61025861039c36600461140e565b610dc1565b610207610f63565b610207610f69565b6102586103bf36600461140e565b610f6f565b6001600160a01b0381166000908152600e6020908152604080832054600d909252822054610454919061044890670de0b6b3a76400009061043c906104179061040b610d58565b9063ffffffff6110be16565b6001600160a01b0388166000908152601060205260409020549063ffffffff6110e616565b9063ffffffff61112716565b9063ffffffff61115c16565b92915050565b60055461010090046001600160a01b031681565b600e6020526000908152604090205481565b610488611181565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906104d3908390611ae8565b60405180910390a150565b6104e6611181565b60055460ff16151581151514156104fc57610550565b6005805460ff1916821515179081905560ff161561051957426004555b6005546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916104d39160ff90911690611b3d565b50565b600f545b90565b610562611181565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600061059d600a546009546110e690919063ffffffff16565b905090565b600060606105ae610b21565b905060005b81518110156106b55760008282815181106105ca57fe5b602090810291909101810151600081815260069092526040918290205460055492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a72190610620908590600401611b4b565b60206040518083038186803b15801561063857600080fd5b505afa15801561064c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061067091908101906113f0565b6001600160a01b031614158061069b57506000818152600660205260409020546001600160a01b0316155b156106ac5760009350505050610557565b506001016105b3565b50600191505090565b600a5481565b6002546001600160a01b031633146106f75760405162461bcd60e51b81526004016106ee90611c66565b60405180910390fd5b6000610701610d58565b600c5561070c610b13565b600b556001600160a01b0381161561075357610727816103c4565b6001600160a01b0382166000908152600e6020908152604080832093909355600c54600d909152919020555b600854421061077857600a5461077090839063ffffffff61112716565b6009556107c7565b60085460009061078e904263ffffffff6110be16565b905060006107a7600954836110e690919063ffffffff16565b600a549091506107c19061043c868463ffffffff61115c16565b60095550505b6007546040516370a0823160e01b81526000916001600160a01b0316906370a08231906107f8903090600401611ae8565b60206040518083038186803b15801561081057600080fd5b505afa158015610824573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061084891908101906114a2565b905061085f600a548261112790919063ffffffff16565b60095411156108805760405162461bcd60e51b81526004016106ee90611c46565b42600b819055600a54610899919063ffffffff61115c16565b6008556040517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d906108cc908590611b4b565b60405180910390a1505050565b6002546001600160a01b031681565b6001546001600160a01b031681565b60055460ff1681565b6001600160a01b031660009081526010602052604090205490565b6060610925610b21565b905060005b8151811015610a6d57600082828151811061094157fe5b602002602001015190506000600560019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016109839190611add565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016109af929190611b67565b60206040518083038186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109ff91908101906113f0565b6000838152600660205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610a5b9084908490611b59565b60405180910390a1505060010161092a565b5050565b6001546001600160a01b03163314610a9b5760405162461bcd60e51b81526004016106ee90611bb6565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610ade926001600160a01b0391821692911690611af6565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b600061059d426008546111ad565b604080516001808252818301909252606091602080830190803883390190505090506e10dbdb1b185d195c985b14da1bdc9d608a1b81600081518110610b6357fe5b60200260200101818152505090565b600d6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b6000610ba36111c3565b6001600160a01b0316336001600160a01b031614905080610bd65760405162461bcd60e51b81526004016106ee90611ca6565b600380546001019081905582610bea610d58565b600c55610bf5610b13565b600b556001600160a01b03811615610c3c57610c10816103c4565b6001600160a01b0382166000908152600e6020908152604080832093909355600c54600d909152919020555b6001600160a01b0384166000908152600e60205260409020548015610ccc576001600160a01b038086166000908152600e6020526040812055600754610c8a9116868363ffffffff6111e016565b846001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048682604051610cc39190611b4b565b60405180910390a25b50506003548114610cef5760405162461bcd60e51b81526004016106ee90611c86565b505050565b600b5481565b610d02611181565b6008544211610d235760405162461bcd60e51b81526004016106ee90611ba6565b600a8190556040517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3906104d3908390611b4b565b6000600f5460001415610d6e5750600c54610557565b61059d610da3600f5461043c670de0b6b3a7640000610d97600954610d97600b5461040b610b13565b9063ffffffff6110e616565b600c549063ffffffff61115c16565b6007546001600160a01b031681565b6000610dcb6111c3565b6001600160a01b0316336001600160a01b031614905080610dfe5760405162461bcd60e51b81526004016106ee90611ca6565b600380546001019081905560055460ff1615610e2c5760405162461bcd60e51b81526004016106ee90611c56565b83610e35610d58565b600c55610e40610b13565b600b556001600160a01b03811615610e8757610e5b816103c4565b6001600160a01b0382166000908152600e6020908152604080832093909355600c54600d909152919020555b60008411610ea75760405162461bcd60e51b81526004016106ee90611bc6565b600f54610eba908563ffffffff61115c16565b600f556001600160a01b038516600090815260106020526040902054610ee6908563ffffffff61115c16565b6001600160a01b038616600081815260106020526040908190209290925590517fc3d87d134210f5b3ee2418004c5f887bf335f79829d32e72ba5f282baccc859190610f33908790611b4b565b60405180910390a2506003548114610f5d5760405162461bcd60e51b81526004016106ee90611c86565b50505050565b600c5481565b60085481565b6000610f796111c3565b6001600160a01b0316336001600160a01b031614905080610fac5760405162461bcd60e51b81526004016106ee90611ca6565b600380546001019081905583610fc0610d58565b600c55610fcb610b13565b600b556001600160a01b0381161561101257610fe6816103c4565b6001600160a01b0382166000908152600e6020908152604080832093909355600c54600d909152919020555b600084116110325760405162461bcd60e51b81526004016106ee90611c26565b600f54611045908563ffffffff6110be16565b600f556001600160a01b038516600090815260106020526040902054611071908563ffffffff6110be16565b6001600160a01b038616600081815260106020526040908190209290925590517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d590610f33908790611b4b565b6000828211156110e05760405162461bcd60e51b81526004016106ee90611bf6565b50900390565b6000826110f557506000610454565b8282028284828161110257fe5b04146111205760405162461bcd60e51b81526004016106ee90611c36565b9392505050565b60008082116111485760405162461bcd60e51b81526004016106ee90611c06565b600082848161115357fe5b04949350505050565b6000828201838110156111205760405162461bcd60e51b81526004016106ee90611bd6565b6000546001600160a01b031633146111ab5760405162461bcd60e51b81526004016106ee90611c16565b565b60008183106111bc5781611120565b5090919050565b600061059d6e10dbdb1b185d195c985b14da1bdc9d608a1b611239565b604051610cef90849063a9059cbb60e01b906112029086908690602401611b11565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261129d565b60008181526006602090815260408083205490516001600160a01b03909116918215159161126991869101611abd565b604051602081830303815290604052906112965760405162461bcd60e51b81526004016106ee9190611b95565b5092915050565b6112af826001600160a01b0316611382565b6112cb5760405162461bcd60e51b81526004016106ee90611c96565b60006060836001600160a01b0316836040516112e79190611ab1565b6000604051808303816000865af19150503d8060008114611324576040519150601f19603f3d011682016040523d82523d6000602084013e611329565b606091505b50915091508161134b5760405162461bcd60e51b81526004016106ee90611be6565b805115610f5d57808060200190516113669190810190611466565b610f5d5760405162461bcd60e51b81526004016106ee90611c76565b3b151590565b803561045481611d2b565b805161045481611d2b565b803561045481611d3f565b805161045481611d3f565b803561045481611d48565b805161045481611d48565b6000602082840312156113dc57600080fd5b60006113e88484611388565b949350505050565b60006020828403121561140257600080fd5b60006113e88484611393565b6000806040838503121561142157600080fd5b600061142d8585611388565b925050602061143e858286016113b4565b9150509250929050565b60006020828403121561145a57600080fd5b60006113e8848461139e565b60006020828403121561147857600080fd5b60006113e884846113a9565b60006020828403121561149657600080fd5b60006113e884846113b4565b6000602082840312156114b457600080fd5b60006113e884846113bf565b60006114cc8383611545565b505060200190565b6114dd81611cce565b82525050565b60006114ee82611cbc565b6114f88185611cc0565b935061150383611cb6565b8060005b8381101561153157815161151b88826114c0565b975061152683611cb6565b925050600101611507565b509495945050505050565b6114dd81611cd9565b6114dd81610557565b6114dd61155a82610557565b610557565b600061156a82611cbc565b6115748185611cc9565b9350611584818560208601611cf5565b9290920192915050565b6114dd81611cea565b60006115a282611cbc565b6115ac8185611cc0565b93506115bc818560208601611cf5565b6115c581611d21565b9093019392505050565b60006115dc605883611cc0565b7f50726576696f7573207265776172647320706572696f64206d7573742062652081527f636f6d706c657465206265666f7265206368616e67696e67207468652064757260208201527f6174696f6e20666f7220746865206e657720706572696f640000000000000000604082015260600192915050565b6000611661603583611cc0565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006116b8600e83611cc0565b6d043616e6e6f74207374616b6520360941b815260200192915050565b60006116e2601b83611cc0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061171b602083611cc0565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000611754601e83611cc0565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061178d601a83611cc0565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006117c6601183611cc9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006117f3602f83611cc0565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611844601183611cc0565b70043616e6e6f74207769746864726177203607c1b815260200192915050565b6000611871602183611cc0565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006118b4601883611cc0565b7f50726f76696465642072657761726420746f6f20686967680000000000000000815260200192915050565b60006118ed603c83611cc0565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b600061194c601983611cc9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611985602a83611cc0565b7f43616c6c6572206973206e6f742052657761726473446973747269627574696f8152691b8818dbdb9d1c9858dd60b21b602082015260400192915050565b60006119d1602a83611cc0565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000611a1d601f83611cc0565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000611a56601f83611cc0565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b6000611a8f601383611cc0565b7213db9b1e4814da1bdc9d0810dbdb9d1c9858dd606a1b815260200192915050565b6000611120828461155f565b6000611ac8826117b9565b9150611ad4828461154e565b50602001919050565b6000611ac88261193f565b6020810161045482846114d4565b60408101611b0482856114d4565b61112060208301846114d4565b60408101611b1f82856114d4565b6111206020830184611545565b6020808252810161112081846114e3565b60208101610454828461153c565b602081016104548284611545565b60408101611b048285611545565b60408101611b758285611545565b81810360208301526113e88184611597565b60208101610454828461158e565b602080825281016111208184611597565b60208082528101610454816115cf565b6020808252810161045481611654565b60208082528101610454816116ab565b60208082528101610454816116d5565b602080825281016104548161170e565b6020808252810161045481611747565b6020808252810161045481611780565b60208082528101610454816117e6565b6020808252810161045481611837565b6020808252810161045481611864565b60208082528101610454816118a7565b60208082528101610454816118e0565b6020808252810161045481611978565b60208082528101610454816119c4565b6020808252810161045481611a10565b6020808252810161045481611a49565b6020808252810161045481611a82565b60200190565b5190565b90815260200190565b919050565b600061045482611cde565b151590565b6001600160a01b031690565b600061045482611cce565b60005b83811015611d10578181015183820152602001611cf8565b83811115610f5d5750506000910152565b601f01601f191690565b611d3481611cce565b811461055057600080fd5b611d3481611cd9565b611d348161055756fea365627a7a72315820399c602140bd49c6cd78010b6c83eb4a3e0217cf29c2728a13ab7ed21c40e5ed6c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"address","name":"_rewardsDistribution","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Enrol","type":"event","signature":"0xc3d87d134210f5b3ee2418004c5f887bf335f79829d32e72ba5f282baccc8591"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event","signature":"0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event","signature":"0xde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event","signature":"0xe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"RewardsDurationUpdated","type":"event","signature":"0xfb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event","signature":"0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x008cc262"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"enrol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xdb454a51"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc00007b0"},{"constant":true,"inputs":[],"name":"getRewardForDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x1c1f78eb"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x91b4ded9"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x80faa57d"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc8f33c91"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3c6b16ab"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c975abb"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xebe2b12b"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcd3daf9d"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdf136d65"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7b0a47ee"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0700037d"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3fc6df6e"},{"constant":true,"inputs":[],"name":"rewardsDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x386a9525"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd1af0c7d"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16c38b3c"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x19762143"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rewardsDuration","type":"uint256"}],"name":"setRewardsDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xcc1a378f"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18160ddd"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8b876347"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf3fef3a3"}],"source":{"keccak256":"0xff9b3bd33ceece6255032e9becb94e0ac28d6c7b7e5310f6329a86dc5b380fae","urls":["bzz-raw://f14dad4667587d2cf51ca21e8ad2dafc6567460da0d548bc4264431d63c46fb3","dweb:/ipfs/QmZw77YrvmFDoosxSwKV8cDCEdgZr1W4Jm1Q9rhfoLkXkk"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ShortingRewards.sol":"ShortingRewards"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"ShortingRewards.sol":{"keccak256":"0xff9b3bd33ceece6255032e9becb94e0ac28d6c7b7e5310f6329a86dc5b380fae","urls":["bzz-raw://f14dad4667587d2cf51ca21e8ad2dafc6567460da0d548bc4264431d63c46fb3","dweb:/ipfs/QmZw77YrvmFDoosxSwKV8cDCEdgZr1W4Jm1Q9rhfoLkXkk"]}},"version":1}},"VirtualSynthMastercopy":{"bytecode":"60806040526004805460ff60a01b191690556008805460ff1916905534801561002757600080fd5b506008805460ff19166001179055611371806100446000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80633db3dc9b116100c35780638f7758391161007c5780638f775839146103c657806395d89b41146103ce578063a457c2d7146103d6578063a9059cbb14610402578063dbd06c851461042e578063dd62ed3e1461043657610158565b80633db3dc9b1461031e5780634be37cea146103265780636a256b291461032e57806370a082311461035657806378f2ac261461037c5780638d7017d31461038457610158565b806323b872dd1161011557806323b872dd146102685780632c4e722e1461029e578063313ce567146102a6578063378dc3dc146102c457806339509351146102cc5780633af9e669146102f857610158565b806304f3bcec1461015d57806306fdde0314610181578063095ea7b3146101fe578063115f4fee1461023e578063158ef93e1461024657806318160ddd1461024e575b600080fd5b610165610464565b604080516001600160a01b039092168252519081900360200190f35b610189610473565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c35781810151838201526020016101ab565b50505050905090810190601f1680156101f05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61022a6004803603604081101561021457600080fd5b506001600160a01b0381351690602001356104ad565b604080519115158252519081900360200190f35b6101656104c4565b61022a6104d3565b6102566104dc565b60408051918252519081900360200190f35b61022a6004803603606081101561027e57600080fd5b506001600160a01b038135811691602081013590911690604001356104e2565b610256610539565b6102ae610548565b6040805160ff9092168252519081900360200190f35b61025661054d565b61022a600480360360408110156102e257600080fd5b506001600160a01b038135169060200135610553565b6102566004803603602081101561030e57600080fd5b50356001600160a01b031661058f565b61025661059a565b6102566105a0565b6103546004803603602081101561034457600080fd5b50356001600160a01b03166105aa565b005b6102566004803603602081101561036c57600080fd5b50356001600160a01b031661065e565b61022a610679565b610354600480360360a081101561039a57600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060800135610689565b61022a610736565b610189610746565b61022a600480360360408110156103ec57600080fd5b506001600160a01b038135169060200135610772565b61022a6004803603604081101561041857600080fd5b506001600160a01b0381351690602001356107ae565b6102566107bb565b6102566004803603604081101561044c57600080fd5b506001600160a01b03813581169160200135166107c1565b6004546001600160a01b031681565b600754604080516d02b34b93a3ab0b61029bcb73a34160951b6020820152602e8082019390935281518082039093018352604e0190525b90565b60006104ba3384846107ec565b5060015b92915050565b6003546001600160a01b031681565b60085460ff1681565b60025490565b60006104ef8484846108d8565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461052f91869161052a908663ffffffff610a1a16565b6107ec565b5060019392505050565b6000610543610a77565b905090565b601281565b60055481565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104ba91859061052a908663ffffffff610c1716565b60006104be82610c78565b60065481565b6000610543610c9e565b6105b2610d38565b6003546001600160a01b031663a9059cbb826105cd81610c78565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561061c57600080fd5b505af1158015610630573d6000803e3d6000fd5b505050506040513d602081101561064657600080fd5b5061065b9050816106568161065e565b610eb8565b50565b6001600160a01b031660009081526020819052604090205490565b6000610683610c9e565b15905090565b60085460ff16156106e1576040805162461bcd60e51b815260206004820152601a60248201527f7653796e746820616c726561647920696e697469616c697a6564000000000000604482015290519081900360640190fd5b6008805460ff19166001179055600380546001600160a01b038088166001600160a01b0319928316179092556004805492871692909116919091179055600781905561072d8383610f91565b50600555505050565b600454600160a01b900460ff1681565b60075460408051603b60f91b602082015260218082019390935281518082039093018352604101905290565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104ba91859061052a908663ffffffff610a1a16565b60006104ba3384846108d8565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166108315760405162461bcd60e51b81526004018080602001828103825260248152602001806113196024913960400191505060405180910390fd5b6001600160a01b0382166108765760405162461bcd60e51b81526004018080602001828103825260228152602001806112906022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661091d5760405162461bcd60e51b81526004018080602001828103825260258152602001806112f46025913960400191505060405180910390fd5b6001600160a01b0382166109625760405162461bcd60e51b815260040180806020018281038252602381526020018061126d6023913960400191505060405180910390fd5b6001600160a01b03831660009081526020819052604090205461098b908263ffffffff610a1a16565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546109c0908263ffffffff610c1716565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610a71576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600060055460001415610a8c575060006104aa565b600454600090600160a01b900460ff16610bf857600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610aeb57600080fd5b505afa158015610aff573d6000803e3d6000fd5b505050506040513d6020811015610b1557600080fd5b50519050600080610b24611081565b6001600160a01b03166319d5c665306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610b8357600080fd5b505afa158015610b97573d6000803e3d6000fd5b505050506040513d6060811015610bad57600080fd5b50805160209091015190925090508115610bd857610bd1838363ffffffff610a1a16565b9250610bf1565b8015610bf157610bee838263ffffffff610c1716565b92505b5050610bfd565b506006545b600554610c1190829063ffffffff61111016565b91505090565b600082820183811015610c71576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080610c848361065e565b9050610c71610c91610a77565b829063ffffffff61112516565b6000610ca8611081565b6001600160a01b031663059c29ec306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015610d0757600080fd5b505afa158015610d1b573d6000803e3d6000fd5b505050506040513d6020811015610d3157600080fd5b5051905090565b600454600160a01b900460ff1615610d4f57610eb6565b6004805460ff60a01b1916600160a01b179055610d6a611081565b6001600160a01b0316631b16802c306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015610dcb57600080fd5b505af1158015610ddf573d6000803e3d6000fd5b505050506040513d6060811015610df557600080fd5b5050600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610e4257600080fd5b505afa158015610e56573d6000803e3d6000fd5b505050506040513d6020811015610e6c57600080fd5b50516006557ff5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62610e9a6104dc565b6006546040805192835260208301919091528051918290030190a15b565b6001600160a01b038216610efd5760405162461bcd60e51b81526004018080602001828103825260218152602001806112d36021913960400191505060405180910390fd5b600254610f10908263ffffffff610a1a16565b6002556001600160a01b038216600090815260208190526040902054610f3c908263ffffffff610a1a16565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b038216610fec576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610fff908263ffffffff610c1716565b6002556001600160a01b03821660009081526020819052604090205461102b908263ffffffff610c1716565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600480546040805163dacb2d0160e01b81526822bc31b430b733b2b960b91b9381019390935260248301819052601c60448401527f45786368616e67657220636f6e7472616374206e6f7420666f756e64000000006064840152516000926001600160a01b039092169163dacb2d01916084808301926020929190829003018186803b158015610d0757600080fd5b6000610c718383670de0b6b3a764000061113a565b6000610c718383670de0b6b3a764000061117e565b6000806111608461115487600a870263ffffffff6111a916565b9063ffffffff61120216565b90506005600a825b061061117257600a015b600a9004949350505050565b600080600a8304611195868663ffffffff6111a916565b8161119c57fe5b0490506005600a82611168565b6000826111b8575060006104be565b828202828482816111c557fe5b0414610c715760405162461bcd60e51b81526004018080602001828103825260218152602001806112b26021913960400191505060405180910390fd5b6000808211611258576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161126357fe5b0494935050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820afc837addf59581a854535d2c0e6006f3c148d47ef7af8204abb8c3335aecfa764736f6c63430005100032","abi":[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event","signature":"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"totalSupply","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAfterSettled","type":"uint256"}],"name":"Settled","type":"event","signature":"0xf5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event","signature":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdd62ed3e"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x095ea7b3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOfUnderlying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3af9e669"},{"constant":true,"inputs":[],"name":"currencyKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdbd06c85"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x313ce567"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa457c2d7"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x39509351"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x378dc3dc"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"_synth","type":"address"},{"internalType":"contract IAddressResolver","name":"_resolver","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8d7017d3"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x158ef93e"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x06fdde03"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2c4e722e"},{"constant":true,"inputs":[],"name":"readyToSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x78f2ac26"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract IAddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"secsLeftInWaitingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4be37cea"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"settle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x6a256b29"},{"constant":true,"inputs":[],"name":"settled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8f775839"},{"constant":true,"inputs":[],"name":"settledAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3db3dc9b"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x95d89b41"},{"constant":true,"inputs":[],"name":"synth","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x115f4fee"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18160ddd"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa9059cbb"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23b872dd"}],"source":{"keccak256":"0xac5507c03171e54910218c5da4876e475e129a808af8b3050b81b3990ea73089","urls":["bzz-raw://8ae8b19f0c740450bf7e86230287564eef8f19f5f1dbdb3d982d5f93a5361c18","dweb:/ipfs/QmQ2x57ErArvnZmSAjXiEeq7CC8FdLqymndfaY9pTQR2wG"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"VirtualSynthMastercopy.sol":"VirtualSynthMastercopy"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"VirtualSynthMastercopy.sol":{"keccak256":"0xac5507c03171e54910218c5da4876e475e129a808af8b3050b81b3990ea73089","urls":["bzz-raw://8ae8b19f0c740450bf7e86230287564eef8f19f5f1dbdb3d982d5f93a5361c18","dweb:/ipfs/QmQ2x57ErArvnZmSAjXiEeq7CC8FdLqymndfaY9pTQR2wG"]}},"version":1}},"SynthetixBridgeEscrow":{"bytecode":"608060405234801561001057600080fd5b506040516107ab3803806107ab8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506106b1806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631627540c1461005c57806338e499cd1461008457806353a47bb7146100ba57806379ba5097146100de5780638da5cb5b146100e6575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b03166100ee565b005b6100826004803603606081101561009a57600080fd5b506001600160a01b0381358116916020810135909116906040013561014a565b6100c26101b7565b604080516001600160a01b039092168252519081900360200190f35b6100826101c6565b6100c2610282565b6100f6610291565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610152610291565b61016c6001600160a01b038416838363ffffffff6102dc16565b604080516001600160a01b038581168252602082018490528251908516927f303c1899feacd9139708637ad42646489d4e1be45f252b25b53561e934d74712928290030190a2505050565b6001546001600160a01b031681565b6001546001600160a01b0316331461020f5760405162461bcd60e51b81526004018080602001828103825260358152602001806105b96035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000546001600160a01b031633146102da5760405162461bcd60e51b815260040180806020018281038252602f8152602001806105ee602f913960400191505060405180910390fd5b565b801580610362575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561033457600080fd5b505afa158015610348573d6000803e3d6000fd5b505050506040513d602081101561035e57600080fd5b5051155b61039d5760405162461bcd60e51b81526004018080602001828103825260368152602001806106476036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526103ef9084906103f4565b505050565b610406826001600160a01b03166105b2565b610457576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106104955780518252601f199092019160209182019101610476565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146104f7576040519150601f19603f3d011682016040523d82523d6000602084013e6104fc565b606091505b509150915081610553576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156105ac5780806020019051602081101561056f57600080fd5b50516105ac5760405162461bcd60e51b815260040180806020018281038252602a81526020018061061d602a913960400191505060405180910390fd5b50505050565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a265627a7a72315820d751dacdb9bfed2e9a8d57571fee12c0cf6653229d53237d56c0c20b99b42d2c64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_token","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"BridgeApproval","type":"event","signature":"0x303c1899feacd9139708637ad42646489d4e1be45f252b25b53561e934d74712"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_bridge","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approveBridge","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x38e499cd"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"}],"source":{"keccak256":"0xb2c7f7c807bc4783ed66f959cb3335f1b77727bf4d074e3319992842eca64235","urls":["bzz-raw://1987da1be2d9260ee8a6fae5a1047199d83e8312d26404406c22d9da53b25985","dweb:/ipfs/QmQDY5wJmTdwRq8gkKFHV8vpgffb1Q7nDvEHxKx6nDWXA6"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SynthetixBridgeEscrow.sol":"SynthetixBridgeEscrow"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SynthetixBridgeEscrow.sol":{"keccak256":"0xb2c7f7c807bc4783ed66f959cb3335f1b77727bf4d074e3319992842eca64235","urls":["bzz-raw://1987da1be2d9260ee8a6fae5a1047199d83e8312d26404406c22d9da53b25985","dweb:/ipfs/QmQDY5wJmTdwRq8gkKFHV8vpgffb1Q7nDvEHxKx6nDWXA6"]}},"version":1}},"EtherWrapper":{"bytecode":"608060405260006006556000600755600060085534801561001f57600080fd5b506040516123403803806123408339818101604052606081101561004257600080fd5b50805160208201516040909201519091908180846001600160a01b0381166100b1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031661015b576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60038054610100600160a81b0319166101006001600160a01b0393841602179055600580546001600160a01b03191693909116929092179091555061219791508190506101a96000396000f3fe6080604052600436106101815760003560e01c80635cfc1a51116100d1578063899ffef41161008a578063a02a76f111610064578063a02a76f1146104a4578063a0712d68146104b9578063bb57ad20146104e3578063ee5f3f5c146104f857610181565b8063899ffef4146104155780638da5cb5b1461047a57806391b4ded91461048f57610181565b80635cfc1a511461038257806368eb5e4f146103975780636ad88269146103ac57806374185360146103d657806375d920a9146103eb57806379ba50971461040057610181565b80632af64bd31161013e578063509bf42a11610118578063509bf42a1461031957806353a47bb71461032e5780635c095e54146103435780635c975abb1461036d57610181565b80632af64bd3146102b15780633fc8cef3146102da57806342966c68146102ef57610181565b806302814b86146101ce57806304f3bcec146101f55780630902f1ac146102265780631627540c1461023b57806316c38b3c1461027057806318819a311461029c575b6040805162461bcd60e51b815260206004820152601d60248201527f46616c6c6261636b2064697361626c65642c20757365206d696e742829000000604482015290519081900360640190fd5b3480156101da57600080fd5b506101e361050d565b60408051918252519081900360200190f35b34801561020157600080fd5b5061020a61051d565b604080516001600160a01b039092168252519081900360200190f35b34801561023257600080fd5b506101e3610531565b34801561024757600080fd5b5061026e6004803603602081101561025e57600080fd5b50356001600160a01b03166105ad565b005b34801561027c57600080fd5b5061026e6004803603602081101561029357600080fd5b50351515610609565b3480156102a857600080fd5b506101e3610683565b3480156102bd57600080fd5b506102c661068d565b604080519115158252519081900360200190f35b3480156102e657600080fd5b5061020a61079d565b3480156102fb57600080fd5b5061026e6004803603602081101561031257600080fd5b50356107ac565b34801561032557600080fd5b506101e3610912565b34801561033a57600080fd5b5061020a61091c565b34801561034f57600080fd5b506101e36004803603602081101561036657600080fd5b503561092b565b34801561037957600080fd5b506102c661094b565b34801561038e57600080fd5b506101e3610954565b3480156103a357600080fd5b506101e3610997565b3480156103b857600080fd5b506101e3600480360360208110156103cf57600080fd5b503561099d565b3480156103e257600080fd5b5061026e6109aa565b3480156103f757600080fd5b506101e3610b87565b34801561040c57600080fd5b5061026e610b8d565b34801561042157600080fd5b5061042a610c49565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561046657818101518382015260200161044e565b505050509050019250505060405180910390f35b34801561048657600080fd5b5061020a610d49565b34801561049b57600080fd5b506101e3610d58565b3480156104b057600080fd5b506101e3610d5e565b3480156104c557600080fd5b5061026e600480360360208110156104dc57600080fd5b5035610d64565b3480156104ef57600080fd5b5061026e610f9d565b34801561050457600080fd5b506101e3611395565b600061051761141c565b90505b90565b60035461010090046001600160a01b031681565b600554604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561057c57600080fd5b505afa158015610590573d6000803e3d6000fd5b505050506040513d60208110156105a657600080fd5b5051905090565b6105b5611497565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610611611497565b60035460ff161515811515141561062757610680565b6003805460ff1916821515179081905560ff161561064457426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60006105176114e2565b60006060610699610c49565b905060005b81518110156107945760008282815181106106b557fe5b602090810291909101810151600081815260048084526040918290205460035483516321f8a72160e01b815292830185905292519395506001600160a01b039081169461010090930416926321f8a72192602480840193919291829003018186803b15801561072357600080fd5b505afa158015610737573d6000803e3d6000fd5b505050506040513d602081101561074d57600080fd5b50516001600160a01b031614158061077a57506000818152600460205260409020546001600160a01b0316155b1561078b576000935050505061051a565b5060010161069e565b50600191505090565b6005546001600160a01b031690565b60035460ff16156107ee5760405162461bcd60e51b815260040180806020018281038252603c8152602001806120c9603c913960400191505060405180910390fd5b60006107f8610531565b9050600081116108395760405162461bcd60e51b815260040180806020018281038252603881526020018061212b6038913960400191505060405180910390fd5b60006108d26108c5610849610912565b73__$d4f9e2232a762468832913f371b83514a4$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561088d57600080fd5b505af41580156108a1573d6000803e3d6000fd5b505050506040513d60208110156108b757600080fd5b50519063ffffffff61156816565b849063ffffffff6115c916565b9050818110156108eb576108e681846115de565b61090d565b61090d826109086108fb8561099d565b859063ffffffff61156816565b6115de565b505050565b600061051761199b565b6001546001600160a01b031681565b6000610945610938610683565b839063ffffffff611a2116565b92915050565b60035460ff1681565b60008061095f610531565b905061096961050d565b811061097957600091505061051a565b6109918161098561050d565b9063ffffffff611a3616565b91505090565b60065481565b6000610945610938610912565b60606109b4610c49565b905060005b8151811015610b835760008282815181106109d057fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a9b578181015183820152602001610a83565b50505050905090810190601f168015610ac85780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610ae657600080fd5b505afa158015610afa573d6000803e3d6000fd5b505050506040513d6020811015610b1057600080fd5b505160008381526004602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016109b9565b5050565b60085481565b6001546001600160a01b03163314610bd65760405162461bcd60e51b81526004018080602001828103825260358152602001806120446035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610c54611a93565b60408051600580825260c08201909252919250606091906020820160a080388339019050509050680a6f2dce8d0e68aa8960bb1b81600081518110610c9557fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b81600181518110610cbb57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610ce557fe5b6020026020010181815250506524b9b9bab2b960d11b81600381518110610d0857fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110610d2c57fe5b602002602001018181525050610d428282611ae4565b9250505090565b6000546001600160a01b031681565b60025481565b60075481565b60035460ff1615610da65760405162461bcd60e51b815260040180806020018281038252603c8152602001806120c9603c913960400191505060405180910390fd5b60055460408051636eb1769f60e11b815233600482015230602482015290516001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b158015610df757600080fd5b505afa158015610e0b573d6000803e3d6000fd5b505050506040513d6020811015610e2157600080fd5b5051811115610e73576040805162461bcd60e51b8152602060048201526019602482015278082d8d8deeec2dcc6ca40dcdee840d0d2ced040cadcdeeaced603b1b604482015290519081900360640190fd5b600554604080516370a0823160e01b815233600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610ebe57600080fd5b505afa158015610ed2573d6000803e3d6000fd5b505050506040513d6020811015610ee857600080fd5b5051811115610f33576040805162461bcd60e51b815260206004820152601260248201527142616c616e636520697320746f6f206c6f7760701b604482015290519081900360640190fd5b6000610f3d610954565b905060008111610f7e5760405162461bcd60e51b81526004018080602001828103825260268152602001806121056026913960400191505060405180910390fd5b80821015610f9457610f8f82611ba0565b610b83565b610b8381611ba0565b610fa5611dbc565b6001600160a01b0316632528f0fe630e68aa8960e31b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610fef57600080fd5b505afa158015611003573d6000803e3d6000fd5b505050506040513d602081101561101957600080fd5b50511561106d576040805162461bcd60e51b815260206004820152601860248201527f43757272656e6379207261746520697320696e76616c69640000000000000000604482015290519081900360640190fd5b6000611077611dbc565b6001600160a01b031663654a60ac630e68aa8960e31b600854631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156110da57600080fd5b505afa1580156110ee573d6000803e3d6000fd5b505050506040513d602081101561110457600080fd5b50519050611110611dd7565b6001600160a01b0316639dc29fac306008546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561117157600080fd5b505af1158015611185573d6000803e3d6000fd5b50505050600854600654106111ae576008546006546111a99163ffffffff611a3616565b6111b1565b60005b6006556111bc611dee565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561120657600080fd5b505afa15801561121a573d6000803e3d6000fd5b505050506040513d602081101561123057600080fd5b50516001600160a01b031663867904b4611248611e02565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561128057600080fd5b505afa158015611294573d6000803e3d6000fd5b505050506040513d60208110156112aa57600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820185905251604480830192600092919082900301818387803b1580156112f957600080fd5b505af115801561130d573d6000803e3d6000fd5b5050600754611325925090508263ffffffff61156816565b600755611330611e02565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50506000600855505050565b60006105176007546113a5611dbc565b6001600160a01b031663654a60ac630e68aa8960e31b600654631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561140857600080fd5b505afa1580156108a1573d6000803e3d6000fd5b6000611426611e17565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561057c57600080fd5b6000546001600160a01b031633146114e05760405162461bcd60e51b815260040180806020018281038252602f815260200180612079602f913960400191505060405180910390fd5b565b60006114ec611e17565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6574686572577261707065724d696e74466565526174650000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561057c57600080fd5b6000828201838110156115c2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006115c28383670de0b6b3a7640000611e34565b60006115f0828463ffffffff611a3616565b90506115fa611dd7565b60408051636eb1769f60e11b815233600482015230602482015290516001600160a01b03929092169163dd62ed3e91604480820192602092909190829003018186803b15801561164957600080fd5b505afa15801561165d573d6000803e3d6000fd5b505050506040513d602081101561167357600080fd5b50518211156116c5576040805162461bcd60e51b8152602060048201526019602482015278082d8d8deeec2dcc6ca40dcdee840d0d2ced040cadcdeeaced603b1b604482015290519081900360640190fd5b6116cd611dd7565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561172257600080fd5b505afa158015611736573d6000803e3d6000fd5b505050506040513d602081101561174c57600080fd5b5051821115611797576040805162461bcd60e51b815260206004820152601260248201527142616c616e636520697320746f6f206c6f7760701b604482015290519081900360640190fd5b61179f611dd7565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156117fe57600080fd5b505af1158015611812573d6000803e3d6000fd5b50505050826006541061183757600654611832908463ffffffff611a3616565b61183a565b60005b600655611845611dd7565b6001600160a01b031663867904b430836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156118a457600080fd5b505af11580156118b8573d6000803e3d6000fd5b50506008546118d0925090508263ffffffff61156816565b6008556005546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561192757600080fd5b505af115801561193b573d6000803e3d6000fd5b505050506040513d602081101561195157600080fd5b50506040805184815260208101839052808201849052905133917f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c0919081900360600190a2505050565b60006119a5611e17565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6574686572577261707065724275726e466565526174650000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561057c57600080fd5b60006115c28383670de0b6b3a7640000611e78565b600082821115611a8d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611ad557fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611b14578160200160208202803883390190505b50905060005b8351811015611b5657838181518110611b2f57fe5b6020026020010151828281518110611b4357fe5b6020908102919091010152600101611b1a565b5060005b8251811015611b9957828181518110611b6f57fe5b6020026020010151828286510181518110611b8657fe5b6020908102919091010152600101611b5a565b5092915050565b6000611bab8261092b565b90506000611bbf838363ffffffff611a3616565b600554604080516323b872dd60e01b81523360048201523060248201526044810187905290519293506001600160a01b03909116916323b872dd916064808201926020929091908290030181600087803b158015611c1c57600080fd5b505af1158015611c30573d6000803e3d6000fd5b505050506040513d6020811015611c4657600080fd5b50611c519050611dd7565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611cb057600080fd5b505af1158015611cc4573d6000803e3d6000fd5b50505050611cd0611dd7565b6001600160a01b031663867904b430846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611d2f57600080fd5b505af1158015611d43573d6000803e3d6000fd5b5050600854611d5b925090508363ffffffff61156816565b600855600654611d71908463ffffffff61156816565b6006556040805182815260208101849052808201859052905133917f5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d919919081900360600190a2505050565b60006105176c45786368616e6765526174657360981b611ea3565b6000610517680a6f2dce8d0e68aa8960bb1b611ea3565b60006105176524b9b9bab2b960d11b611ea3565b600061051766119959541bdbdb60ca1b611ea3565b60006105176e466c657869626c6553746f7261676560881b611ea3565b600080611e5a84611e4e87600a870263ffffffff611f8016565b9063ffffffff611fd916565b90506005600a825b0610611e6c57600a015b600a9004949350505050565b600080600a8304611e8f868663ffffffff611f8016565b81611e9657fe5b0490506005600a82611e62565b600081815260046020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611b995760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f45578181015183820152602001611f2d565b50505050905090810190601f168015611f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600082611f8f57506000610945565b82820282848281611f9c57fe5b04146115c25760405162461bcd60e51b81526004018080602001828103825260218152602001806120a86021913960400191505060405180910390fd5b600080821161202f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161203a57fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564436f6e747261637420686173206e6f20737061726520636170616369747920746f206d696e74436f6e74726163742063616e6e6f74206275726e207345544820666f7220574554482c20574554482062616c616e6365206973207a65726fa265627a7a7231582061cf11c9011e67bb852831a9194451327609f64ea00fb2b3e9807afbbc48b9d864736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"address payable","name":"_WETH","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"principal","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"Burned","type":"event","signature":"0x4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c0"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"principal","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"Minted","type":"event","signature":"0x5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d919"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event","signature":"0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x42966c68"},{"constant":true,"inputs":[],"name":"burnFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x509bf42a"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calculateBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6ad88269"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calculateMintFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c095e54"},{"constant":true,"inputs":[],"name":"capacity","outputs":[{"internalType":"uint256","name":"_capacity","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5cfc1a51"},{"constant":false,"inputs":[],"name":"distributeFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbb57ad20"},{"constant":true,"inputs":[],"name":"feesEscrowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x75d920a9"},{"constant":true,"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0902f1ac"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x91b4ded9"},{"constant":true,"inputs":[],"name":"maxETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x02814b86"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa0712d68"},{"constant":true,"inputs":[],"name":"mintFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18819a31"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c975abb"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":true,"inputs":[],"name":"sETHIssued","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x68eb5e4f"},{"constant":true,"inputs":[],"name":"sUSDIssued","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa02a76f1"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16c38b3c"},{"constant":true,"inputs":[],"name":"totalIssuedSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xee5f3f5c"},{"constant":true,"inputs":[],"name":"weth","outputs":[{"internalType":"contract IWETH","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3fc8cef3"}],"source":{"keccak256":"0xff636098ad63aae110ba03238e110f0b991e74fe2204664f9a17df2b131ab469","urls":["bzz-raw://99af6532a9495790019498b7f3303874c6effd449e8f40a1bce22281882ddf88","dweb:/ipfs/Qmdv1Be94AqU1qvtft6SaryA2B2DhKawXrXxVFTYwPcBez"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"EtherWrapper.sol":"EtherWrapper"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"EtherWrapper.sol":{"keccak256":"0xff636098ad63aae110ba03238e110f0b991e74fe2204664f9a17df2b131ab469","urls":["bzz-raw://99af6532a9495790019498b7f3303874c6effd449e8f40a1bce22281882ddf88","dweb:/ipfs/Qmdv1Be94AqU1qvtft6SaryA2B2DhKawXrXxVFTYwPcBez"]}},"version":1}},"NativeEtherWrapper":{"bytecode":"608060405234801561001057600080fd5b506040516110703803806110708339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050610f4c806101246000396000f3fe6080604052600436106100915760003560e01c806353a47bb71161005957806353a47bb714610152578063741853601461016757806379ba50971461017c578063899ffef4146101915780638da5cb5b146101f657610091565b806304f3bcec146100935780631249c58b146100c45780631627540c146100cc5780632af64bd3146100ff57806342966c6814610128575b005b34801561009f57600080fd5b506100a861020b565b604080516001600160a01b039092168252519081900360200190f35b61009161021a565b3480156100d857600080fd5b50610091600480360360208110156100ef57600080fd5b50356001600160a01b031661051c565b34801561010b57600080fd5b50610114610578565b604080519115158252519081900360200190f35b34801561013457600080fd5b506100916004803603602081101561014b57600080fd5b5035610683565b34801561015e57600080fd5b506100a86109c2565b34801561017357600080fd5b506100916109d1565b34801561018857600080fd5b50610091610b99565b34801561019d57600080fd5b506101a6610c55565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101e25781810151838201526020016101ca565b505050509050019250505060405180910390f35b34801561020257600080fd5b506100a8610ccc565b6002546001600160a01b031681565b348061026d576040805162461bcd60e51b815260206004820181905260248201527f6d73672e76616c7565206d7573742062652067726561746572207468616e2030604482015290519081900360640190fd5b610275610cdb565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156102af57600080fd5b505af11580156102c3573d6000803e3d6000fd5b50505050506102d0610cdb565b6001600160a01b031663095ea7b36102e6610d4e565b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561033657600080fd5b505af115801561034a573d6000803e3d6000fd5b505050506040513d602081101561036057600080fd5b5061036b9050610d4e565b6001600160a01b031663a0712d68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156103b057600080fd5b505af11580156103c4573d6000803e3d6000fd5b505050506103d0610d6d565b6001600160a01b031663a9059cbb336103e7610d6d565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561043c57600080fd5b505afa158015610450573d6000803e3d6000fd5b505050506040513d602081101561046657600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156104b757600080fd5b505af11580156104cb573d6000803e3d6000fd5b505050506040513d60208110156104e157600080fd5b505060408051828152905133917f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe919081900360200190a250565b610524610d84565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006060610584610c55565b905060005b81518110156106795760008282815181106105a057fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d602081101561063257600080fd5b50516001600160a01b031614158061065f57506000818152600360205260409020546001600160a01b0316155b156106705760009350505050610680565b50600101610589565b5060019150505b90565b600081116106d8576040805162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b60006106e2610cdb565b90506106ec610d6d565b604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b0392909216916323b872dd916064808201926020929091908290030181600087803b15801561074457600080fd5b505af1158015610758573d6000803e3d6000fd5b505050506040513d602081101561076e57600080fd5b506107799050610d6d565b6001600160a01b031663095ea7b361078f610d4e565b846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107df57600080fd5b505af11580156107f3573d6000803e3d6000fd5b505050506040513d602081101561080957600080fd5b506108149050610d4e565b6001600160a01b03166342966c68836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561085957600080fd5b505af115801561086d573d6000803e3d6000fd5b5050604080516370a0823160e01b815230600482015290516001600160a01b0385169350632e1a7d4d925083916370a08231916024808301926020929190829003018186803b1580156108bf57600080fd5b505afa1580156108d3573d6000803e3d6000fd5b505050506040513d60208110156108e957600080fd5b5051604080516001600160e01b031960e085901b168152600481019290925251602480830192600092919082900301818387803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b5050604051339250479150600081818185875af1925050503d8060008114610981576040519150601f19603f3d011682016040523d82523d6000602084013e610986565b606091505b50506040805184815290513392507f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df79181900360200190a25050565b6001546001600160a01b031681565b60606109db610c55565b905060005b8151811015610b955760008282815181106109f757fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610aad578181015183820152602001610a95565b50505050905090810190601f168015610ada5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610af857600080fd5b505afa158015610b0c573d6000803e3d6000fd5b505050506040513d6020811015610b2257600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016109e0565b5050565b6001546001600160a01b03163314610be25760405162461bcd60e51b8152600401808060200182810382526035815260200180610eb46035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6040805160028082526060808301845292839291906020830190803883390190505090506b22ba3432b92bb930b83832b960a11b81600081518110610c9657fe5b602002602001018181525050680a6f2dce8d0e68aa8960bb1b81600181518110610cbc57fe5b6020908102919091010152905090565b6000546001600160a01b031681565b6000610ce5610d4e565b6001600160a01b0316633fc8cef36040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1d57600080fd5b505afa158015610d31573d6000803e3d6000fd5b505050506040513d6020811015610d4757600080fd5b5051905090565b6000610d686b22ba3432b92bb930b83832b960a11b610dcf565b905090565b6000610d68680a6f2dce8d0e68aa8960bb1b610dcf565b6000546001600160a01b03163314610dcd5760405162461bcd60e51b815260040180806020018281038252602f815260200180610ee9602f913960400191505060405180910390fd5b565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610eac5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e71578181015183820152602001610e59565b50505050905090810190601f168015610e9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158205440feb76760d81bf7cf1ac0dae8e6f196bbf524ccf55137d94ab5d0b4391e9064736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burned","type":"event","signature":"0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Minted","type":"event","signature":"0x30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x42966c68"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":false,"inputs":[],"name":"mint","outputs":[],"payable":true,"stateMutability":"payable","type":"function","signature":"0x1249c58b"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"}],"source":{"keccak256":"0x0a6a96be15d65a9a904c514508fcf6b832c52675d8331f5427535616586d47c4","urls":["bzz-raw://376aff616db161b66d843a242deff1f9f348ef75f0924e756280cfbe7125acd9","dweb:/ipfs/QmajudgLisMKCn7W3unSQUng75z59H1NhT7fp9TAp73Dtb"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"NativeEtherWrapper.sol":"NativeEtherWrapper"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"NativeEtherWrapper.sol":{"keccak256":"0x0a6a96be15d65a9a904c514508fcf6b832c52675d8331f5427535616586d47c4","urls":["bzz-raw://376aff616db161b66d843a242deff1f9f348ef75f0924e756280cfbe7125acd9","dweb:/ipfs/QmajudgLisMKCn7W3unSQUng75z59H1NhT7fp9TAp73Dtb"]}},"version":1}},"SynthRedeemer":{"bytecode":"608060405234801561001057600080fd5b506040516110b03803806110b08339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561104b806100656000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806395a2251f1161007157806395a2251f146101a15780639bc3f269146101c7578063b915ece0146101ed578063d6232e8914610219578063e4dc2aa414610289578063f7888aec146102af576100b4565b806304f3bcec146100b95780632af64bd3146100dd5780633a70599c146100f9578063614d08f8146101275780637418536014610141578063899ffef414610149575b600080fd5b6100c16102dd565b604080516001600160a01b039092168252519081900360200190f35b6100e56102ec565b604080519115158252519081900360200190f35b6101256004803603604081101561010f57600080fd5b506001600160a01b0381351690602001356103f6565b005b61012f610685565b60408051918252519081900360200190f35b610125610699565b610151610864565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561018d578181015183820152602001610175565b505050509050019250505060405180910390f35b610125600480360360208110156101b757600080fd5b50356001600160a01b03166108d0565b61012f600480360360208110156101dd57600080fd5b50356001600160a01b0316610950565b6101256004803603604081101561020357600080fd5b506001600160a01b038135169060200135610962565b6101256004803603602081101561022f57600080fd5b81019060208101813564010000000081111561024a57600080fd5b82018360208201111561025c57600080fd5b8035906020019184602083028401116401000000008311171561027e57600080fd5b509092509050610a2b565b61012f6004803603602081101561029f57600080fd5b50356001600160a01b0316610aba565b61012f600480360360408110156102c557600080fd5b506001600160a01b0381358116916020013516610b5c565b6000546001600160a01b031681565b600060606102f8610864565b905060005b81518110156103ec57600082828151811061031457fe5b602090810291909101810151600081815260018352604080822054915481516321f8a72160e01b81526004810185905291519395506001600160a01b03928316949216926321f8a72192602480840193919291829003018186803b15801561037b57600080fd5b505afa15801561038f573d6000803e3d6000fd5b505050506040513d60208110156103a557600080fd5b50516001600160a01b03161415806103d257506000818152600160205260409020546001600160a01b0316155b156103e357600093505050506103f3565b506001016102fd565b5060019150505b90565b6103fe610bc0565b6001600160a01b03821660009081526002602052604090205482901561046b576040805162461bcd60e51b815260206004820152601b60248201527f53796e746820697320616c726561647920646570726563617465640000000000604482015290519081900360640190fd5b600082116104c0576040805162461bcd60e51b815260206004820152601b60248201527f4e6f207261746520666f722073796e746820746f2072656465656d0000000000604482015290519081900360640190fd5b6000836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fb57600080fd5b505afa15801561050f573d6000803e3d6000fd5b505050506040513d602081101561052557600080fd5b50519050600061053b828563ffffffff610c2f16565b905080610546610c59565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561059b57600080fd5b505afa1580156105af573d6000803e3d6000fd5b505050506040513d60208110156105c557600080fd5b5051101561061a576040805162461bcd60e51b815260206004820152601b60248201527f73555344206d75737420666972737420626520737570706c6965640000000000604482015290519081900360640190fd5b6001600160a01b0380841660009081526002602090815260409182902087905581519288168352820186905281810184905260608201839052517f729d5d4b6f2f5105eb1f707c4929870479e07c211953ef7014da9463fb15d88a9181900360800190a15050505050565b6c29bcb73a342932b232b2b6b2b960991b81565b60606106a3610864565b905060005b81518110156108605760008282815181106106bf57fe5b60209081029190910181015160008054604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818701526039808201869052825180830390910181526059820180845263dacb2d0160e01b9052605d8201868152607d83019384528151609d840152815196985094966001600160a01b039094169563dacb2d0195899592949093909260bd90910191908501908083838c5b83811015610778578181015183820152602001610760565b50505050905090810190601f1680156107a55780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156107c357600080fd5b505afa1580156107d7573d6000803e3d6000fd5b505050506040513d60208110156107ed57600080fd5b505160008381526001602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016106a8565b5050565b60408051600280825260608083018452926020830190803883390190505090506524b9b9bab2b960d11b8160008151811061089b57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b816001815181106108c157fe5b60200260200101818152505090565b604080516370a0823160e01b8152336004820152905161094d9183916001600160a01b038316916370a08231916024808301926020929190829003018186803b15801561091c57600080fd5b505afa158015610930573d6000803e3d6000fd5b505050506040513d602081101561094657600080fd5b5051610c75565b50565b60026020526000908152604090205481565b604080516370a0823160e01b8152336004820152905182916001600160a01b038516916370a0823191602480820192602092909190829003018186803b1580156109ab57600080fd5b505afa1580156109bf573d6000803e3d6000fd5b505050506040513d60208110156109d557600080fd5b50511015610a21576040805162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6108608282610c75565b60005b81811015610ab557610aad838383818110610a4557fe5b905060200201356001600160a01b0316848484818110610a6157fe5b604080516370a0823160e01b81523360048201529051602092830294909401356001600160a01b0316936370a08231935060248083019392829003018186803b15801561091c57600080fd5b600101610a2e565b505050565b6000610b5660026000846001600160a01b03166001600160a01b0316815260200190815260200160002054836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1e57600080fd5b505afa158015610b32573d6000803e3d6000fd5b505050506040513d6020811015610b4857600080fd5b50519063ffffffff610c2f16565b92915050565b6001600160a01b0380831660008181526002602090815260408083205481516370a0823160e01b8152958716600487015290519294610bb994919391926370a0823192602480840193829003018186803b158015610b1e57600080fd5b9392505050565b610bc8610ea4565b6001600160a01b0316336001600160a01b031614610c2d576040805162461bcd60e51b815260206004820152601d60248201527f5265737472696374656420746f2049737375657220636f6e7472616374000000604482015290519081900360640190fd5b565b6000670de0b6b3a7640000610c4a848463ffffffff610eb816565b81610c5157fe5b049392505050565b6000610c706814de5b9d1a1cd554d160ba1b610f11565b905090565b6001600160a01b03821660009081526002602052604090205480610cd7576040805162461bcd60e51b815260206004820152601460248201527353796e7468206e6f742072656465656d61626c6560601b604482015290519081900360640190fd5b60008211610d2c576040805162461bcd60e51b815260206004820152601d60248201527f4e6f2062616c616e6365206f662073796e746820746f2072656465656d000000604482015290519081900360640190fd5b610d34610ea4565b604080516335a1b01b60e21b81526001600160a01b038681166004830152336024830152604482018690529151929091169163d686c06c9160648082019260009290919082900301818387803b158015610d8d57600080fd5b505af1158015610da1573d6000803e3d6000fd5b505050506000610dba8284610c2f90919063ffffffff16565b9050610dc4610c59565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610e2357600080fd5b505af1158015610e37573d6000803e3d6000fd5b505050506040513d6020811015610e4d57600080fd5b5050604080516001600160a01b03861681523360208201528082018590526060810183905290517f8734fd5c7511ef698c61bce7dd8eefb212edea08cf7d9d4694e223c6f6121aef9181900360800190a150505050565b6000610c706524b9b9bab2b960d11b610f11565b600082610ec757506000610b56565b82820282848281610ed457fe5b0414610bb95760405162461bcd60e51b8152600401808060200182810382526021815260200180610ff66021913960400191505060405180910390fd5b600081815260016020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610fee5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fb3578181015183820152602001610f9b565b50505050905090810190601f168015610fe05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158207084373c27f3352851007e41581f5b04f0c24aaaec5e84f5181357a8fc5134a864736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"synth","type":"address"},{"indexed":false,"internalType":"uint256","name":"rateToRedeem","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSynthSupply","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"supplyInsUSD","type":"uint256"}],"name":"SynthDeprecated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"synth","type":"address"},{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountOfSynth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountInsUSD","type":"uint256"}],"name":"SynthRedeemed","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balanceInsUSD","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"},{"internalType":"uint256","name":"rateToRedeem","type":"uint256"}],"name":"deprecate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20[]","name":"synthProxies","type":"address[]"}],"name":"redeemAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"},{"internalType":"uint256","name":"amountOfSynth","type":"uint256"}],"name":"redeemPartial","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"redemptions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"}],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"supplyInsUSD","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x4d31499235bb64ab5975313a6c9208fad376de17a3d78f8f11e530b6d0f4af0b","urls":["bzz-raw://bf0d27c1716b7e43b2345b15b6cb7218615b0c6aa9e6b8234480b0f4729a65cc","dweb:/ipfs/QmXq4EA3r3JYrWtgXfzjn5DFwapSXmJr6iKutCqgPJenA4"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SynthRedeemer.sol":"SynthRedeemer"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SynthRedeemer.sol":{"keccak256":"0x4d31499235bb64ab5975313a6c9208fad376de17a3d78f8f11e530b6d0f4af0b","urls":["bzz-raw://bf0d27c1716b7e43b2345b15b6cb7218615b0c6aa9e6b8234480b0f4729a65cc","dweb:/ipfs/QmXq4EA3r3JYrWtgXfzjn5DFwapSXmJr6iKutCqgPJenA4"]}},"version":1}},"ExchangeRatesWithDexPricing":{"bytecode":"608060405234801561001057600080fd5b5060405162003923380380620039238339818101604052604081101561003557600080fd5b50805160209091015181818080836001600160a01b03811661009e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b031990921691909117905550505050506137f6806200012d6000396000f3fe608060405234801561001057600080fd5b50600436106102735760003560e01c80636ce66c80116101515780639eab4a37116100c3578063c8e5bbd511610087578063c8e5bbd514610855578063ce8480ea14610922578063d89ee8611461093f578063ed762450146109fd578063f216310714610abf578063fdadbc7e14610adc57610273565b80639eab4a3714610772578063a77715561461077a578063ac82f60814610797578063b295ad34146107b4578063c2c8a676146107e757610273565b80637a018a1e116101155780637a018a1e146106e25780638295016a146106ff5780638661cc7b14610728578063899ffef4146107455780638da5cb5b1461074d57806397a4aca01461075557610273565b80636ce66c801461063c5780637103353e1461068f57806374185360146106ac57806374eded39146106b457806379ba5097146106da57610273565b80632af64bd3116101ea5780634c36b837116101ae5780634c36b837146105d65780634f72def6146105de57806353a47bb7146105fb578063614d08f814610603578063654a60ac1461060b5780636a2b91511461063457610273565b80632af64bd3146105325780632bed9e0c1461053a57806338aa1b99146105575780633f0e084f146105745780634308a94f146105a057610273565b80630c71cd231161023c5780630c71cd23146104485780630ee4951b1461047e578063109e46a2146104985780631627540c146104c75780632528f0fe146104ef5780632678df961461050c57610273565b80629919c01461027857806304f3bcec146102a9578063055286e0146102cd57806305a046e51461031c5780630a7d36d1146103da575b600080fd5b6102956004803603602081101561028e57600080fd5b5035610aff565b604080519115158252519081900360200190f35b6102b1610b1a565b604080516001600160a01b039092168252519081900360200190f35b6102f6600480360360608110156102e357600080fd5b5080359060208101359060400135610b29565b604080519485526020850193909352838301919091526060830152519081900360800190f35b61038a6004803603602081101561033257600080fd5b810190602081018135600160201b81111561034c57600080fd5b82018360208201111561035e57600080fd5b803590602001918460208302840111600160201b8311171561037f57600080fd5b509092509050610be4565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103c65781810151838201526020016103ae565b505050509050019250505060405180910390f35b610295600480360360208110156103f057600080fd5b810190602081018135600160201b81111561040a57600080fd5b82018360208201111561041c57600080fd5b803590602001918460208302840111600160201b8311171561043d57600080fd5b509092509050610c66565b6104656004803603602081101561045e57600080fd5b5035610d19565b6040805192835290151560208301528051918290030190f35b610486610d9e565b60408051918252519081900360200190f35b610486600480360360808110156104ae57600080fd5b5080359060208101359060408101359060600135610dae565b6104ed600480360360208110156104dd57600080fd5b50356001600160a01b0316610df1565b005b6102956004803603602081101561050557600080fd5b5035610e4d565b61038a6004803603602081101561052257600080fd5b50356001600160a01b0316610e6d565b610295610f21565b6104ed6004803603602081101561055057600080fd5b503561102b565b6102956004803603602081101561056d57600080fd5b5035611127565b6104ed6004803603604081101561058a57600080fd5b50803590602001356001600160a01b0316611135565b6105bd600480360360208110156105b657600080fd5b503561137b565b6040805192835260208301919091528051918290030190f35b6102b16113b3565b610486600480360360208110156105f457600080fd5b50356113bd565b6102b16113db565b6104866113ea565b6104866004803603606081101561062157600080fd5b508035906020810135906040013561140e565b610486611426565b610671600480360360a081101561065257600080fd5b5080359060208101359060408101359060608101359060800135611430565b60408051938452602084019290925282820152519081900360600190f35b6102b1600480360360208110156106a557600080fd5b5035611495565b6104ed6114b0565b6104ed600480360360208110156106ca57600080fd5b50356001600160a01b0316611678565b6104ed61175d565b610486600480360360208110156106f857600080fd5b5035611819565b6106716004803603606081101561071557600080fd5b5080359060208101359060400135611824565b6102956004803603602081101561073e57600080fd5b5035611844565b61038a61192d565b6102b161197e565b6104866004803603602081101561076b57600080fd5b503561198d565b6102b1611998565b6104866004803603602081101561079057600080fd5b5035611a43565b610486600480360360208110156107ad57600080fd5b5035611a4e565b6107d1600480360360208110156107ca57600080fd5b5035611a69565b6040805160ff9092168252519081900360200190f35b61038a600480360360208110156107fd57600080fd5b810190602081018135600160201b81111561081757600080fd5b82018360208201111561082957600080fd5b803590602001918460208302840111600160201b8311171561084a57600080fd5b509092509050611a7e565b6108c36004803603602081101561086b57600080fd5b810190602081018135600160201b81111561088557600080fd5b82018360208201111561089757600080fd5b803590602001918460208302840111600160201b831117156108b857600080fd5b509092509050611af6565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b8381101561090d5781810151838201526020016108f5565b50505050905001935050505060405180910390f35b6104866004803603602081101561093857600080fd5b5035611c3d565b6102956004803603604081101561095557600080fd5b810190602081018135600160201b81111561096f57600080fd5b82018360208201111561098157600080fd5b803590602001918460208302840111600160201b831117156109a257600080fd5b919390929091602081019035600160201b8111156109bf57600080fd5b8201836020820111156109d157600080fd5b803590602001918460208302840111600160201b831117156109f257600080fd5b509092509050611c48565b610a2660048036036060811015610a1357600080fd5b5080359060208101359060400135611d4f565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610a6a578181015183820152602001610a52565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610aa9578181015183820152602001610a91565b5050505090500194505050505060405180910390f35b6102b160048036036020811015610ad557600080fd5b5035611e2d565b6105bd60048036036040811015610af257600080fd5b5080359060200135611e38565b6000610b1282610b0d611e51565b611ec9565b90505b919050565b6002546001600160a01b031681565b600080600080610b3a878787611efb565b919450925090506000610b4c88611f4d565b90506000610b5987611f4d565b90506000808315610b6c57859150610b8a565b610b8786610b828d631cd554d160e21b8e612033565b612331565b91505b8215610b97575083610bb5565b610bb285610bad631cd554d160e21b8c8e612033565b612347565b90505b610bd581610bc98c8563ffffffff61235616565b9063ffffffff6123af16565b97505050505093509350935093565b60608083839050604051908082528060200260200182016040528015610c14578160200160208202803883390190505b50905060005b83811015610c5c57610c3d858583818110610c3157fe5b90506020020135612419565b828281518110610c4957fe5b6020908102919091010152600101610c1a565b5090505b92915050565b600080610c71611e51565b90506060610cb185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061243592505050565b905060005b84811015610d0d57818181518110610cca57fe5b602002602001015180610cf45750610cf4868683818110610ce757fe5b9050602002013584611ec9565b15610d055760019350505050610c60565b600101610cb6565b50600095945050505050565b600080610d24613665565b610d2d84612678565b9050631cd554d160e21b841415610d5357516001600160d81b0316915060009050610d99565b8051610d71610d60611e51565b836020015164ffffffffff16612886565b80610d885750610d8885610d836128a1565b612920565b6001600160d81b0390911693509150505b915091565b6000610da8611e51565b90505b90565b600083815b610dc087836001016129fe565b915050801580610dd1575083850181115b15610dde57509050610de9565b600190910190610db3565b949350505050565b610df9612bdd565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610e5b82610b0d611e51565b80610b125750610b1282610d836128a1565b600654604080518281526020808402820101909152606091600091908015610e9f578160200160208202803883390190505b50915060005b600654811015610f1a57600060068281548110610ebe57fe5b600091825260208083209091015480835260049091526040909120549091506001600160a01b039081169086161415610f115780848480600101955081518110610f0457fe5b6020026020010181815250505b50600101610ea5565b5050919050565b60006060610f2d61192d565b905060005b8151811015611022576000828281518110610f4957fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610fb157600080fd5b505afa158015610fc5573d6000803e3d6000fd5b505050506040513d6020811015610fdb57600080fd5b50516001600160a01b031614158061100857506000818152600360205260409020546001600160a01b0316155b156110195760009350505050610dab565b50600101610f32565b50600191505090565b611033612bdd565b6000818152600460205260409020546001600160a01b03168061109d576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b657900000000604482015290519081900360640190fd5b600082815260046020908152604080832080546001600160a01b031916905560059091528120805460ff191690556110d6836006612c28565b9050801561112257604080518481526001600160a01b038416602082015281517fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777929181900390910190a15b505050565b6000610b1282610d836128a1565b61113d612bdd565b60008190506000816001600160a01b031663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561117d57600080fd5b505afa158015611191573d6000803e3d6000fd5b505050506040513d60208110156111a757600080fd5b505110156111fc576040805162461bcd60e51b815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c69640000000000604482015290519081900360640190fd5b6000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561123757600080fd5b505afa15801561124b573d6000803e3d6000fd5b505050506040513d602081101561126157600080fd5b50519050601260ff821611156112a85760405162461bcd60e51b81526004018080602001828103825260328152602001806137906032913960400191505060405180910390fd5b6000848152600460205260409020546001600160a01b03166112fa57600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f018490555b600084815260046020908152604080832080546001600160a01b0319166001600160a01b0387169081179091556005835292819020805460ff191660ff861617905580518781529182019290925281517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63929181900390910190a150505050565b600080611386613665565b61138f84612678565b80516020909101516001600160d81b03909116935064ffffffffff16915050915091565b6000610da86128a1565b600681815481106113ca57fe5b600091825260209091200154905081565b6001546001600160a01b031681565b7f45786368616e676552617465735769746844657850726963696e67000000000081565b600061141b848484611efb565b509095945050505050565b6000610da8612ccc565b600080600061143f88866129fe565b5091508786141561145457508591508061148a565b61145e86856129fe565b509050801561148a576114878161147b898563ffffffff612d4516565b9063ffffffff612d5a16565b92505b955095509592505050565b6004602052600090815260409020546001600160a01b031681565b60606114ba61192d565b905060005b81518110156116745760008282815181106114d657fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561158c578181015183820152602001611574565b50505050905090810190601f1680156115b95780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156115d757600080fd5b505afa1580156115eb573d6000803e3d6000fd5b505050506040513d602081101561160157600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016114bf565b5050565b611680612bdd565b611688612d6f565b604080516309b9412f60e31b81526c45786368616e6765526174657360981b6004820152713232bc283934b1b2a0b3b3b932b3b0ba37b960711b60248201526001600160a01b03848116604483015291519290911691634dca09789160648082019260009290919082900301818387803b15801561170557600080fd5b505af1158015611719573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f8a51d16f378c74938a4b9290afe425bbfba62f05aa9d27bff5e892f62696f7609350908190036020019150a150565b6001546001600160a01b031633146117a65760405162461bcd60e51b81526004018080602001828103825260358152602001806136db6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610b1282612d8c565b6000806000611834868686611efb565b9250925092505b93509350939050565b600081631cd554d160e21b141561185d57506000610b15565b600061186883612e31565b9050600061187584612ee5565b9050811580611882575080155b1561189257600092505050610b15565b60006118a4428463ffffffff612f9916565b905060006118b186612d8c565b90505b8215611921576000806118c788846129fe565b91509150806000141580156118db57508381105b156118ef5760009650505050505050610b15565b8115806118fa575080155b15611906575050611921565b82611912575050611921565b505060001992830192016118b4565b50600195945050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061196f57fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000610b1282612ee5565b60006119a2612d6f565b6001600160a01b0316639ee5955a6c45786368616e6765526174657360981b713232bc283934b1b2a0b3b3b932b3b0ba37b960711b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611a1257600080fd5b505afa158015611a26573d6000803e3d6000fd5b505050506040513d6020811015611a3c57600080fd5b5051905090565b6000610b1282612e31565b6000611a5982612678565b516001600160d81b031692915050565b60056020526000908152604090205460ff1681565b60608083839050604051908082528060200260200182016040528015611aae578160200160208202803883390190505b50905060005b83811015610c5c57611ad7858583818110611acb57fe5b90506020020135611a4e565b828281518110611ae357fe5b6020908102919091010152600101611ab4565b6060600083839050604051908082528060200260200182016040528015611b27578160200160208202803883390190505b5091506000611b34611e51565b90506060611b7486868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061243592505050565b905060005b85811015611c3357611b89613665565b611ba4888884818110611b9857fe5b90506020020135612678565b905080600001516001600160d81b0316868381518110611bc057fe5b60200260200101818152505084158015611bf35750631cd554d160e21b888884818110611be957fe5b9050602002013514155b15611c2a57828281518110611c0457fe5b602002602001015180611c275750611c2784826020015164ffffffffff16612886565b94505b50600101611b79565b5050509250929050565b6000610b1282612419565b6000818414611c885760405162461bcd60e51b81526004018080602001828103825260308152602001806137606030913960400191505060405180910390fd5b6000611c92611e51565b90506060611cd287878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061243592505050565b905060005b86811015611d4157818181518110611ceb57fe5b602002602001015180611d285750611d28888883818110611d0857fe5b90506020020135878784818110611d1b57fe5b9050602002013585612ff6565b15611d395760019350505050610de9565b600101611cd7565b506000979650505050505050565b60608083604051908082528060200260200182016040528015611d7c578160200160208202803883390190505b50915083604051908082528060200260200182016040528015611da9578160200160208202803883390190505b50905060008311611dc257611dbd85612d8c565b611dc4565b825b925060005b84811015611e2357611ddb86856129fe565b848381518110611de757fe5b60200260200101848481518110611dfa57fe5b60209081029190910101919091525283611e145750611e25565b60001990930192600101611dc9565b505b935093915050565b6000610b1282613031565b600080611e4584846129fe565b915091505b9250929050565b6000611e5b612d6f565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611a1257600080fd5b6000631cd554d160e21b831415611ee257506000610c60565b611ef482611eef85612419565b612886565b9392505050565b6000806000611f0986611a4e565b915083861415611f1d57508391508061183b565b611f2684611a4e565b9050801561183b57611f428161147b878563ffffffff612d4516565b925093509350939050565b6000611f57612d6f565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b7f70757265436861696e6c696e6b466f7241746f6d696373456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561200157600080fd5b505afa158015612015573d6000803e3d6000fd5b505050506040513d602081101561202b57600080fd5b505192915050565b600081612087576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b631cd554d160e21b8414806120a25750631cd554d160e21b83145b6120dd5760405162461bcd60e51b81526004018080602001828103825260218152602001806136ba6021913960400191505060405180910390fd5b60006120e885613031565b90506001600160a01b038116612145576040805162461bcd60e51b815260206004820152601f60248201527f4e6f2061746f6d6963206571756976616c656e7420666f7220736f7572636500604482015290519081900360640190fd5b600061215085613031565b90506001600160a01b0381166121ad576040805162461bcd60e51b815260206004820152601d60248201527f4e6f2061746f6d6963206571756976616c656e7420666f722064657374000000604482015290519081900360640190fd5b600061223d85610bc973__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156121fa57600080fd5b505af415801561220e573d6000803e3d6000fd5b505050506040513d602081101561222457600080fd5b505161223187878b6130e5565b9063ffffffff61235616565b905080612291576040805162461bcd60e51b815260206004820152601d60248201527f526573756c74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b85631cd554d160e21b146123245761231f8173__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156122e757600080fd5b505af41580156122fb573d6000803e3d6000fd5b505050506040513d602081101561231157600080fd5b50519063ffffffff612d5a16565b612326565b805b979650505050505050565b60008183106123405781611ef4565b5090919050565b60008183116123405781611ef4565b60008261236557506000610c60565b8282028284828161237257fe5b0414611ef45760405162461bcd60e51b815260040180806020018281038252602181526020018061373f6021913960400191505060405180910390fd5b6000808211612405576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161241057fe5b04949350505050565b600061242482612678565b6020015164ffffffffff1692915050565b606060006124416128a1565b90506001600160a01b03811615612643576060835160405190808252806020026020018201604052801561247f578160200160208202803883390190505b50905060005b84518110156124f4576004600086838151811061249e57fe5b6020026020010151815260200190815260200160002060009054906101000a90046001600160a01b03168282815181106124d457fe5b6001600160a01b0390921660209283029190910190910152600101612485565b50604051631f5c8f2b60e21b81526020600482018181528351602484015283516001600160a01b03861693637d723cac93869392839260440191808601910280838360005b83811015612551578181015183820152602001612539565b505050509050019250505060006040518083038186803b15801561257457600080fd5b505afa158015612588573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156125b157600080fd5b8101908080516040519392919084600160201b8211156125d057600080fd5b9083019060208201858111156125e557600080fd5b82518660208202830111600160201b8211171561260157600080fd5b82525081516020918201928201910280838360005b8381101561262e578181015183820152602001612616565b50505050905001604052505050925050612672565b825160405190808252806020026020018201604052801561266e578160200160208202803883390190505b5091505b50919050565b612680613665565b631cd554d160e21b82141561272457604051806040016040528073__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156126de57600080fd5b505af41580156126f2573d6000803e3d6000fd5b505050506040513d602081101561270857600080fd5b50516001600160d81b0316815260006020909101529050610b15565b6000828152600460205260409020546001600160a01b031680156126725760408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b1781529151815191926000926060926001600160a01b0387169286928291908083835b602083106127a95780518252601f19909201916020918201910161278a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114612809576040519150601f19603f3d011682016040523d82523d6000602084013e61280e565b606091505b5091509150811561287d576000808280602001905160a081101561283157600080fd5b506020810151606090910151604080518082019091529193509150806128578a8561341b565b6001600160d81b031681526020018264ffffffffff168152509650505050505050610b15565b50505050919050565b600042612899838563ffffffff6134c416565b109392505050565b60006128ab612d6f565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611a1257600080fd5b6000631cd554d160e21b83141561293957506000610c60565b6000838152600460205260409020546001600160a01b031680158061296557506001600160a01b038316155b15612974576000915050610c60565b826001600160a01b031663357e47fe826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156129ca57600080fd5b505afa1580156129de573d6000803e3d6000fd5b505050506040513d60208110156129f457600080fd5b5051949350505050565b600080631cd554d160e21b841415612a8b5773__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612a5457600080fd5b505af4158015612a68573d6000803e3d6000fd5b505050506040513d6020811015612a7e57600080fd5b5051915060009050611e4a565b6000848152600460205260409020546001600160a01b03168015612bd55760408051602480820187905282518083039091018152604490910182526020810180516001600160e01b0316639a6fc8f560e01b1781529151815191926000926060926001600160a01b0387169286928291908083835b60208310612b1f5780518252601f199092019160209182019101612b00565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114612b7f576040519150601f19603f3d011682016040523d82523d6000602084013e612b84565b606091505b50915091508115612bd1576000808280602001905160a0811015612ba757600080fd5b5060208101516060909101519092509050612bc28a8361341b565b97509550611e4a945050505050565b5050505b509250929050565b6000546001600160a01b03163314612c265760405162461bcd60e51b815260040180806020018281038252602f815260200180613710602f913960400191505060405180910390fd5b565b6000805b8254811015612cc25783838281548110612c4257fe5b90600052602060002001541415612cba57828181548110612c5f57fe5b6000918252602082200155825483906000198101908110612c7c57fe5b9060005260206000200154838281548110612c9357fe5b6000918252602090912001558254612caf84600019830161367c565b506001915050610c60565b600101612c2c565b5060009392505050565b6000612cd6612d6f565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f61746f6d69635477617057696e646f7760801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611a1257600080fd5b6000611ef48383670de0b6b3a764000061351e565b6000611ef48383670de0b6b3a764000061355b565b6000610da86e466c657869626c6553746f7261676560881b613581565b6000631cd554d160e21b821415612da557506000610b15565b6000828152600460205260409020546001600160a01b0316801561267257806001600160a01b031663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b158015612dfc57600080fd5b505afa158015612e10573d6000803e3d6000fd5b505050506040513d6020811015612e2657600080fd5b50519150610b159050565b6000612e3b612d6f565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561200157600080fd5b6000612eef612d6f565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d6963566f6c5570646174655468726573686f6c640000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561200157600080fd5b600082821115612ff0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000631cd554d160e21b84141561300f57506000611ef4565b600061301b85856129fe565b9150506130288382612886565b95945050505050565b600061303b612d6f565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7f61746f6d69634571756976616c656e74466f7244657850726963696e67000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561200157600080fd5b6000806131df73__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561312f57600080fd5b505af4158015613143573d6000803e3d6000fd5b505050506040513d602081101561315957600080fd5b50516040805163313ce56760e01b81529051610bc9916001600160a01b038a169163313ce56791600480820192602092909190829003018186803b1580156131a057600080fd5b505afa1580156131b4573d6000803e3d6000fd5b505050506040513d60208110156131ca57600080fd5b5051869060ff16600a0a63ffffffff61235616565b905060006131eb612ccc565b90508061323f576040805162461bcd60e51b815260206004820181905260248201527f556e696e697469616c697a65642061746f6d696320747761702077696e646f77604482015290519081900360640190fd5b6000613249611998565b60408051637c66194960e01b81526001600160a01b038a811660048301526024820187905289811660448301526064820186905291519290911691637c66194991608480820192602092909190829003018186803b1580156132aa57600080fd5b505afa1580156132be573d6000803e3d6000fd5b505050506040513d60208110156132d457600080fd5b5051905080613321576040805162461bcd60e51b815260206004820152601460248201527306465782070726963652072657475726e656420360641b604482015290519081900360640190fd5b612326866001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561335d57600080fd5b505afa158015613371573d6000803e3d6000fd5b505050506040513d602081101561338757600080fd5b505160408051630241ebdb60e61b8152905160ff909216600a0a91610bc99173__$e9b11e9f4c77d4fa45acd0743461a141a9$__9163907af6c091600480820192602092909190829003018186803b1580156133e257600080fd5b505af41580156133f6573d6000803e3d6000fd5b505050506040513d602081101561340c57600080fd5b5051849063ffffffff61235616565b600080821215613472576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526005602052604090205460ff1615612672576000838152600560205260408120546134a79060129060ff16612f99565b600a0a90506134bc838263ffffffff61235616565b915050610c60565b600082820183811015611ef4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600a8304613535868663ffffffff61235616565b8161353c57fe5b0490506005600a825b061061354f57600a015b600a9004949350505050565b60008061357584610bc987600a870263ffffffff61235616565b90506005600a82613545565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161365e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561362357818101518382015260200161360b565b50505050905090810190601f1680156136505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b604080518082019091526000808252602082015290565b81548183558181111561112257600083815260209020611122918101908301610dab91905b808211156136b557600081556001016136a1565b509056fe41746f6d6963207377617073206d75737420676f207468726f7567682073555344596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77726f756e64496473206d757374206265207468652073616d65206c656e6774682061732063757272656e63794b65797341676772656761746f7220646563696d616c732073686f756c64206265206c6f776572206f7220657175616c20746f203138a265627a7a72315820d86b5a5b35d8ca35c0664f390dc97f454c78fe261c4ce6d23b625346366e1d0564736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"aggregator","type":"address"}],"name":"AggregatorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"aggregator","type":"address"}],"name":"AggregatorRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newDexPriceAggregator","type":"address"}],"name":"DexPriceAggregatorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"aggregatorAddress","type":"address"}],"name":"addAggregator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"aggregatorKeys","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"aggregatorWarningFlags","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"aggregators","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"anyRateIsInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256[]","name":"roundIds","type":"uint256[]"}],"name":"anyRateIsInvalidAtRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicEquivalentForDexPricing","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"atomicTwapWindow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicVolatilityConsiderationWindow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicVolatilityUpdateThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"name":"currenciesUsingAggregator","outputs":[{"internalType":"bytes32[]","name":"currencies","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"currencyKeyDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dexPriceAggregator","outputs":[{"internalType":"contract IDexPriceAggregator","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"effectiveAtomicValueAndRates","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"systemValue","type":"uint256"},{"internalType":"uint256","name":"systemSourceRate","type":"uint256"},{"internalType":"uint256","name":"systemDestinationRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"effectiveValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"effectiveValueAndRates","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"sourceRate","type":"uint256"},{"internalType":"uint256","name":"destinationRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"name":"effectiveValueAndRatesAtRound","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"sourceRate","type":"uint256"},{"internalType":"uint256","name":"destinationRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"getCurrentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"startingRoundId","type":"uint256"},{"internalType":"uint256","name":"startingTimestamp","type":"uint256"},{"internalType":"uint256","name":"timediff","type":"uint256"}],"name":"getLastRoundIdBeforeElapsedSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"lastRateUpdateTimes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"lastRateUpdateTimesForCurrencies","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateAndInvalid","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"rateAndTimestampAtRound","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateAndUpdatedTime","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateForCurrency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsFlagged","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsStale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rateStalePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"ratesAndInvalidForCurrencies","outputs":[{"internalType":"uint256[]","name":"rates","type":"uint256[]"},{"internalType":"bool","name":"anyRateInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"numRounds","type":"uint256"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"ratesAndUpdatedTimeForCurrencyLastNRounds","outputs":[{"internalType":"uint256[]","name":"rates","type":"uint256[]"},{"internalType":"uint256[]","name":"times","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"ratesForCurrencies","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"removeAggregator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IDexPriceAggregator","name":"_dexPriceAggregator","type":"address"}],"name":"setDexPriceAggregator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"synthTooVolatileForAtomicExchange","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xfec05faecf82227e8f3957c8c66047e96c24defa8fd9e92099bd63b7c905828d","urls":["bzz-raw://b0c1bb5a991a29bf2dd4a0e0a21bb3041682e9e4dda85246a0d0be61e61a9844","dweb:/ipfs/QmWbPy8sTVbBc5BFDBt98LKU9mA5peJEdR6LP9D4aUNsaR"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ExchangeRatesWithDexPricing.sol":"ExchangeRatesWithDexPricing"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"ExchangeRatesWithDexPricing.sol":{"keccak256":"0xfec05faecf82227e8f3957c8c66047e96c24defa8fd9e92099bd63b7c905828d","urls":["bzz-raw://b0c1bb5a991a29bf2dd4a0e0a21bb3041682e9e4dda85246a0d0be61e61a9844","dweb:/ipfs/QmWbPy8sTVbBc5BFDBt98LKU9mA5peJEdR6LP9D4aUNsaR"]}},"version":1}},"ExchangerWithFeeRecAlternatives":{"bytecode":"60806040523480156200001157600080fd5b5060405162005b0838038062005b08833981810160405260408110156200003757600080fd5b50805160209091015181818080836001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b031990921691909117905550505050506159d880620001306000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806357af302c116101045780638da5cb5b116100a2578063c39def0b11610071578063c39def0b14610568578063d6f32e06146105a4578063dc703e73146105d0578063f450aa34146105f9576101cf565b80638da5cb5b1461051c5780638e52049c14610524578063a4bca13114610558578063c193f0d814610560576101cf565b806379ba5097116100de57806379ba5097146104975780637dd1a57a1461049f57806389257117146104bc578063899ffef4146104c4576101cf565b806357af302c1461046a578063614d08f814610487578063741853601461048f576101cf565b80631b16802c11610171578063372a395a1161014b578063372a395a1461039f5780634c268fc8146103a75780634f8633d2146103df57806353a47bb714610462576101cf565b80631b16802c1461030b5780632af64bd31461033757806333a7688014610353576101cf565b80630b9e31c9116101ad5780630b9e31c9146102595780631627540c1461027857806319d5c6651461029e5780631a5c6095146102e8576101cf565b806304f3bcec146101d4578063059c29ec146101f85780630ae81a5e14610236575b600080fd5b6101dc610622565b604080516001600160a01b039092168252519081900360200190f35b6102246004803603604081101561020e57600080fd5b506001600160a01b038135169060200135610631565b60408051918252519081900360200190f35b6102246004803603604081101561024c57600080fd5b50803590602001356106d5565b6102766004803603602081101561026f57600080fd5b50356106e1565b005b6102766004803603602081101561028e57600080fd5b50356001600160a01b0316610805565b6102ca600480360360408110156102b457600080fd5b506001600160a01b038135169060200135610861565b60408051938452602084019290925282820152519081900360600190f35b610224600480360360408110156102fe57600080fd5b508035906020013561087f565b6102ca6004803603604081101561032157600080fd5b506001600160a01b0381351690602001356108dc565b61033f61095d565b604080519115158252519081900360200190f35b610224600480360360e081101561036957600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a08101359060c00135610a68565b610224610bb7565b610224600480360360808110156103bd57600080fd5b506001600160a01b038135169060208101359060408101359060600135610bc6565b61044160048036036101208110156103f657600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a081013582169160c082013515159160e0810135909116906101000135610ce6565b604080519283526001600160a01b0390911660208301528051918290030190f35b6101dc610f0c565b61033f6004803603602081101561048057600080fd5b5035610f1b565b610224610fa0565b610276610fc4565b610276611188565b610224600480360360208110156104b557600080fd5b5035611244565b6102246112c3565b6104cc6112cd565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105085781810151838201526020016104f0565b505050509050019250505060405180910390f35b6101dc611342565b61052c611351565b6040805167ffffffffffffffff90931683526001600160c01b0390911660208301528051918290030190f35b610224611373565b61033f61137d565b61058b6004803603604081101561057e57600080fd5b5080359060200135611387565b6040805192835290151560208301528051918290030190f35b61033f600480360360408110156105ba57600080fd5b506001600160a01b0381351690602001356113a0565b6102ca600480360360608110156105e657600080fd5b50803590602081013590604001356113d2565b6102ca6004803603606081101561060f57600080fd5b50803590602081013590604001356113f5565b6002546001600160a01b031681565b60006106cc61063e611785565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561069b57600080fd5b505afa1580156106af573d6000803e3d6000fd5b505050506040513d60208110156106c557600080fd5b50516117a0565b90505b92915050565b60006106cc83836117ff565b6106e9611847565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561072157600080fd5b505afa158015610735573d6000803e3d6000fd5b505050506000610743611861565b6001600160a01b031663a47af19e836040518263ffffffff1660e01b8152600401808281526020019150506040805180830381600087803b15801561078757600080fd5b505af115801561079b573d6000803e3d6000fd5b505050506040513d60408110156107b157600080fd5b5060200151905080610801576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b5050565b61080d611885565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600080600061087085856118d0565b50919790965090945092505050565b600080600061088e8585611c19565b9150915080156108d4576040805162461bcd60e51b815260206004820152600c60248201526b746f6f20766f6c6174696c6560a01b604482015290519081900360640190fd5b509392505050565b60008060006108e9611847565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561092c57600080fd5b505afa158015610940573d6000803e3d6000fd5b5050505061095085856001611c60565b9250925092509250925092565b600060606109696112cd565b905060005b8151811015610a5e57600082828151811061098557fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156109ed57600080fd5b505afa158015610a01573d6000803e3d6000fd5b505050506040513d6020811015610a1757600080fd5b50516001600160a01b0316141580610a4457506000818152600360205260409020546001600160a01b0316155b15610a555760009350505050610a65565b5060010161096e565b5060019150505b90565b600080610a73611fe5565b9050336001600160a01b0382161480610b005750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610ad157600080fd5b505afa158015610ae5573d6000803e3d6000fd5b505050506040513d6020811015610afb57600080fd5b505114155b610b3b5760405162461bcd60e51b81526004018080602001828103825260458152602001806158ec6045913960600191505060405180910390fd5b6000610b4a8a8a8a8a8a611ffc565b909350905083831015610b8e5760405162461bcd60e51b815260040180806020018281038252603a8152602001806158b2603a913960400191505060405180910390fd5b610b988187612752565b8415610baa57610baa85888584612801565b5050979650505050505050565b6000610bc1612884565b905090565b816000610bd161293b565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c1457600080fd5b505afa158015610c28573d6000803e3d6000fd5b505050506040513d6020811015610c3e57600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610c8a57600080fd5b505afa158015610c9e573d6000803e3d6000fd5b505050506040513d6020811015610cb457600080fd5b5051905080821115610cc4578091505b8215610cdd57610cda828463ffffffff61294f16565b91505b50949350505050565b6000806000610cf3611fe5565b9050336001600160a01b0382161480610d805750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610d5157600080fd5b505afa158015610d65573d6000803e3d6000fd5b505050506040513d6020811015610d7b57600080fd5b505114155b610dbb5760405162461bcd60e51b81526004018080602001828103825260458152602001806158ec6045913960600191505060405180910390fd5b60008c6001600160a01b03168c6001600160a01b031614610eca57610dde6129a9565b6001600160a01b031663faf431bb8e8e6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b03168152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b158015610e4d57600080fd5b505afa158015610e61573d6000803e3d6000fd5b505050506040513d6020811015610e7757600080fd5b5051610eca576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b610ed88d8c8c8c8c8c6129c8565b9195509093509050610eea8187612752565b8415610efc57610efc858a8684612801565b5050995099975050505050505050565b6001546001600160a01b031681565b600080610f26611861565b6001600160a01b031663cb1ec317846040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015610f6857600080fd5b505afa158015610f7c573d6000803e3d6000fd5b505050506040513d6040811015610f9257600080fd5b50602001519150505b919050565b7f45786368616e67657257697468466565526563416c7465726e6174697665730081565b6060610fce6112cd565b905060005b8151811015610801576000828281518110610fea57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156110a0578181015183820152602001611088565b50505050905090810190601f1680156110cd5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156110eb57600080fd5b505afa1580156110ff573d6000803e3d6000fd5b505050506040513d602081101561111557600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610fd3565b6001546001600160a01b031633146111d15760405162461bcd60e51b815260040180806020018281038252603581526020018061587d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061124e611861565b6001600160a01b0316637dd1a57a836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561129157600080fd5b505afa1580156112a5573d6000803e3d6000fd5b505050506040513d60208110156112bb57600080fd5b505192915050565b6000610bc1612ffc565b6060806112d8613076565b6040805160018082528183019092529192506060919060208083019080388339019050509050755669727475616c53796e74684d6173746572636f707960501b8160008151811061132557fe5b60200260200101818152505061133b828261323a565b9250505090565b6000546001600160a01b031681565b60045467ffffffffffffffff811690600160401b90046001600160c01b031682565b6000610bc16132f6565b6000610bc161337c565b60008061139484846133fa565b915091505b9250929050565b60006113ac8383610631565b156113b9575060016106cf565b60006113c584846118d0565b5050501515949350505050565b60008060006113e2868686613482565b50939a9299509097509095505050505050565b6000806000611402611847565b6001600160a01b03166342a28e21866040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561144557600080fd5b505afa158015611459573d6000803e3d6000fd5b50505050611465611847565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b1580156114a857600080fd5b505afa1580156114bc573d6000803e3d6000fd5b5050505060006114ca611861565b6001600160a01b031663cb1ec317876040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561150c57600080fd5b505afa158015611520573d6000803e3d6000fd5b505050506040513d604081101561153657600080fd5b506020015190506000611547611861565b6001600160a01b031663cb1ec317876040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561158957600080fd5b505afa15801561159d573d6000803e3d6000fd5b505050506040513d60408110156115b357600080fd5b50602001519050811561160d576040805162461bcd60e51b815260206004820152601960248201527f736f757263652073796e7468207261746520696e76616c696400000000000000604482015290519081900360640190fd5b8015611660576040805162461bcd60e51b815260206004820152601e60248201527f64657374696e6174696f6e2073796e7468207261746520696e76616c69640000604482015290519081900360640190fd5b61166b878988613567565b60006116778888611c19565b909450905080156116cf576040805162461bcd60e51b815260206004820152601b60248201527f65786368616e676520726174657320746f6f20766f6c6174696c650000000000604482015290519081900360640190fd5b60006116d9613756565b6001600160a01b0316638295016a8a8c8b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b15801561172c57600080fd5b505afa158015611740573d6000803e3d6000fd5b505050506040513d606081101561175657600080fd5b505190506117648186613771565b9650611776818863ffffffff61380316565b95505050505093509350939050565b6000610bc16c45786368616e6765537461746560981b613860565b6000806117ab612ffc565b90508215806117c957506117c5838263ffffffff61294f16565b4210155b156117d8576000915050610f9b565b6117f8426117ec858463ffffffff61294f16565b9063ffffffff61380316565b9392505050565b60008061182361180e8461393d565b6118178661393d565b9063ffffffff61294f16565b9050806106cc5761183f611836846139e9565b611817866139e9565b949350505050565b6000610bc16b53797374656d53746174757360a01b613860565b6000610bc17522bc31b430b733b2a1b4b931bab4ba213932b0b5b2b960511b613860565b6000546001600160a01b031633146118ce5760405162461bcd60e51b815260040180806020018281038252602f815260200180615931602f913960400191505060405180910390fd5b565b600080600060606118df611785565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561193c57600080fd5b505afa158015611950573d6000803e3d6000fd5b505050506040513d602081101561196657600080fd5b50516040805182815260208084028201019091529092506060908380156119a757816020015b6119946157cc565b81526020019060019003908161198c5790505b50905060005b83811015611c0d576000806119c06157cc565b6119cb8b8b86613a8f565b90506000806119d983613baa565b9150915060006119e7613756565b6001600160a01b0316636ce66c8085600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060606040518083038186803b158015611a5657600080fd5b505afa158015611a6a573d6000803e3d6000fd5b505050506040513d6060811015611a8057600080fd5b50516080850151909150600090611a98908390613771565b90506000611aa4611861565b6001600160a01b03166378cb51cb8760600151846040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611af357600080fd5b505afa158015611b07573d6000803e3d6000fd5b505050506040513d6020811015611b1d57600080fd5b5051905080611b97578186606001511115611b60576060860151611b47908363ffffffff61380316565b9750611b598e8963ffffffff61294f16565b9d50611b97565b8560600151821115611b97576060860151611b8290839063ffffffff61380316565b9650611b948d8863ffffffff61294f16565b9c505b6040518061010001604052808760000151815260200187602001518152602001876040015181526020018981526020018881526020018681526020018581526020018760a001518152508a8a81518110611bed57fe5b6020026020010181905250505050505050505080806001019150506119ad565b50905092959194509250565b6000806000611c33611c2a856139e9565b611817876139e9565b90506000611c4186866133fa565b93509050611c55828263ffffffff61294f16565b935050509250929050565b6000806000611c6f8686610631565b15611cab5760405162461bcd60e51b81526004018080602001828103825260238152602001806159816023913960400191505060405180910390fd5b60008060006060611cbc8a8a6118d0565b935093509350935082841115611cee57611cdc848463ffffffff61380316565b9650611ce98a8a89613cfd565b611d13565b83831115611d1357611d06838563ffffffff61380316565b9550611d138a8a88613e6a565b878015611d2a57506000871180611d2a5750600086115b15611e1057604080516001808252818301909252606091602080830190803883390190505090508981600081518110611d5f57fe5b602002602001018181525050611d73613fba565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611dd1578181015183820152602001611db9565b5050505090500192505050600060405180830381600087803b158015611df657600080fd5b505af1158015611e0a573d6000803e3d6000fd5b50505050505b60005b8151811015611f55578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940838381518110611e5357fe5b602002602001015160000151848481518110611e6b57fe5b602002602001015160200151858581518110611e8357fe5b602002602001015160400151868681518110611e9b57fe5b602002602001015160600151878781518110611eb357fe5b602002602001015160800151888881518110611ecb57fe5b602002602001015160a00151898981518110611ee357fe5b602002602001015160c001518a8a81518110611efb57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101611e13565b50819450611f61611785565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611fc057600080fd5b505af1158015611fd4573d6000803e3d6000fd5b505050505050505093509350939050565b6000610bc1680a6f2dce8d0cae8d2f60bb1b613860565b60008061200a868686613567565b612012613756565b6001600160a01b0316638661cc7b876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561205557600080fd5b505afa158015612069573d6000803e3d6000fd5b505050506040513d602081101561207f57600080fd5b5051156120cc576040805162461bcd60e51b81526020600482015260166024820152755372632073796e746820746f6f20766f6c6174696c6560501b604482015290519081900360640190fd5b6120d4613756565b6001600160a01b0316638661cc7b856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561211757600080fd5b505afa15801561212b573d6000803e3d6000fd5b505050506040513d602081101561214157600080fd5b505115612195576040805162461bcd60e51b815260206004820152601760248201527f446573742073796e746820746f6f20766f6c6174696c65000000000000000000604482015290519081900360640190fd5b60006121a2868989613fd1565b9050806121b6575060009150819050612748565b6000806000806121c7858c8b613482565b949b509299509096509450925090506121e08b8a614009565b156121f75750600095508594506127489350505050565b6121ff611861565b6001600160a01b03166378cb51cb8461221e8a8a63ffffffff61294f16565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561225957600080fd5b505afa15801561226d573d6000803e3d6000fd5b505050506040513d602081101561228357600080fd5b5051156122d7576040805162461bcd60e51b815260206004820152601d60248201527f41746f6d6963207261746520646576696174657320746f6f206d756368000000604482015290519081900360640190fd5b6000631cd554d160e21b8c14156122ef57508461233a565b631cd554d160e21b8a141561230557508261233a565b60008061231a888f631cd554d160e21b613482565b5050505091509150612335818361294f90919063ffffffff16565b925050505b61234381614132565b6123538c8e888d8c8e6000614200565b5086156125ad57612362613756565b6001600160a01b031663654a60ac8b89631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156123bc57600080fd5b505afa1580156123d0573d6000803e3d6000fd5b505050506040513d60208110156123e657600080fd5b505196506123f261293b565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561243c57600080fd5b505afa158015612450573d6000803e3d6000fd5b505050506040513d602081101561246657600080fd5b50516001600160a01b031663867904b461247e6144de565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b1580156124b657600080fd5b505afa1580156124ca573d6000803e3d6000fd5b505050506040513d60208110156124e057600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018b905251604480830192600092919082900301818387803b15801561252f57600080fd5b505af1158015612543573d6000803e3d6000fd5b5050505061254f6144de565b6001600160a01b03166322bf55ef886040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561259457600080fd5b505af11580156125a8573d6000803e3d6000fd5b505050505b6125df60405180604001604052808e81526020018c8152506040518060400160405280868152602001858152506144f3565b6125e7611fe5565b6001600160a01b0316636c00f3108e8e898e8d8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b15801561267857600080fd5b505af115801561268c573d6000803e3d6000fd5b50505050612698611fe5565b6001600160a01b0316632f7206ce8e8e898e8d8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b15801561272957600080fd5b505af115801561273d573d6000803e3d6000fd5b505050505050505050505b9550959350505050565b60008211801561276a57506001600160a01b03811615155b8015612779575061277961337c565b15610801576127866147b1565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b1580156127e557600080fd5b505af11580156127f9573d6000803e3d6000fd5b505050505050565b612809611fe5565b6001600160a01b0316632d3169eb858585856040518563ffffffff1660e01b815260040180858152602001848152602001838152602001828152602001945050505050600060405180830381600087803b15801561286657600080fd5b505af115801561287a573d6000803e3d6000fd5b5050505050505050565b600061288e6147cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290a57600080fd5b505afa15801561291e573d6000803e3d6000fd5b505050506040513d602081101561293457600080fd5b5051905090565b6000610bc16524b9b9bab2b960d11b613860565b6000828201838110156106cc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610bc17044656c6567617465417070726f76616c7360781b613860565b6000806000808711612a0f576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b612a17615817565b612a1f613756565b6001600160a01b0316637a018a1e8a6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612a6257600080fd5b505afa158015612a76573d6000803e3d6000fd5b505050506040513d6020811015612a8c57600080fd5b505160a0820152612a9b613756565b6001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612ade57600080fd5b505afa158015612af2573d6000803e3d6000fd5b505050506040513d6020811015612b0857600080fd5b505160c08201526000612b1c898c8c613fd1565b905080612b35575060009350839250829150612ff09050565b612b3d613756565b6001600160a01b0316636ce66c808b838b8660a001518760c001516040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060606040518083038186803b158015612ba857600080fd5b505afa158015612bbc573d6000803e3d6000fd5b505050506040513d6060811015612bd257600080fd5b5080516020808301516040938401519186019190915284529083015260a082015160c0830151612c06918c918b91906147ea565b612c108a89614009565b15612c27575060009350839250829150612ff09050565b6000612c3d8b8a8560a001518660c00151614a2c565b606085019190915290508015612c60575060009450849350839250612ff0915050565b612c7283604001518460600151613771565b6040840151909650612c8a908763ffffffff61380316565b9450612c9b8b8d848c8a8d8d614200565b93506001600160a01b03841615612cb0578397505b8415612f0957612cbe613756565b6001600160a01b031663654a60ac8a87631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015612d1857600080fd5b505afa158015612d2c573d6000803e3d6000fd5b505050506040513d6020811015612d4257600080fd5b50519450612d4e61293b565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612d9857600080fd5b505afa158015612dac573d6000803e3d6000fd5b505050506040513d6020811015612dc257600080fd5b50516001600160a01b031663867904b4612dda6144de565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015612e1257600080fd5b505afa158015612e26573d6000803e3d6000fd5b505050506040513d6020811015612e3c57600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820189905251604480830192600092919082900301818387803b158015612e8b57600080fd5b505af1158015612e9f573d6000803e3d6000fd5b50505050612eab6144de565b6001600160a01b03166322bf55ef866040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015612ef057600080fd5b505af1158015612f04573d6000803e3d6000fd5b505050505b6040805180820182528c815260208082018c90528251808401909352855183528581015190830152612f3a916144f3565b612f42611fe5565b604080516306c00f3160e41b81526001600160a01b038f81166004830152602482018f905260448201869052606482018d9052608482018a90528b811660a483015291519290911691636c00f3109160c48082019260009290919082900301818387803b158015612fb257600080fd5b505af1158015612fc6573d6000803e3d6000fd5b505050506000612fd4612ffc565b1115612fec57612fec888c848c8a8860600151614a77565b5050505b96509650969350505050565b60006130066147cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290a57600080fd5b606080613081614c88565b60408051600a80825261016082019092529192506060919060208201610140803883390190505090506b53797374656d53746174757360a01b816000815181106130c757fe5b6020026020010181815250506c45786368616e6765537461746560981b816001815181106130f157fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061311b57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061314157fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061316557fe5b6020026020010181815250506d54726164696e675265776172647360901b8160058151811061319057fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b816006815181106131be57fe5b6020026020010181815250506524b9b9bab2b960d11b816007815181106131e157fe5b6020026020010181815250506844656274436163686560b81b8160088151811061320757fe5b6020026020010181815250507522bc31b430b733b2a1b4b931bab4ba213932b0b5b2b960511b8160098151811061132557fe5b6060815183510160405190808252806020026020018201604052801561326a578160200160208202803883390190505b50905060005b83518110156132ac5783818151811061328557fe5b602002602001015182828151811061329957fe5b6020908102919091010152600101613270565b5060005b82518110156132ef578281815181106132c557fe5b60200260200101518282865101815181106132dc57fe5b60209081029190910101526001016132b0565b5092915050565b60006133006147cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d69634d6178566f6c756d65506572426c6f636b0000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290a57600080fd5b60006133866147cd565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290a57600080fd5b600080613405615854565b61340d614cd9565b905060008061341c8684614fcb565b9150915060008061342d8986614fcb565b9092509050613442848363ffffffff61294f16565b6060860151909750871180613457578761345d565b85606001515b97508781806134695750845b806134715750825b975097505050505050509250929050565b6000806000806000806000613495613756565b6001600160a01b031663055286e08a8c8b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060806040518083038186803b1580156134e857600080fd5b505afa1580156134fc573d6000803e3d6000fd5b505050506040513d608081101561351257600080fd5b50805160208201516040830151606090930151909650919450909250905061353a89896117ff565b94506135468186613771565b9650613558818863ffffffff61380316565b95505093975093979195509350565b808314156135b2576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b600082116135f5576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b6040805160028082526060808301845292602083019080388339019050509050838160008151811061362357fe5b602002602001018181525050818160018151811061363d57fe5b602002602001018181525050613651613756565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156136af578181015183820152602001613697565b505050509050019250505060206040518083038186803b1580156136d257600080fd5b505afa1580156136e6573d6000803e3d6000fd5b505050506040513d60208110156136fc57600080fd5b505115613750576040805162461bcd60e51b815260206004820152601e60248201527f7372632f646573742072617465207374616c65206f7220666c61676765640000604482015290519081900360640190fd5b50505050565b6000610bc16c45786368616e6765526174657360981b613860565b60006106cc6137f68373__$6cb7b9807fd48ae83b08c44b530df1d1ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156137be57600080fd5b505af41580156137d2573d6000803e3d6000fd5b505050506040513d60208110156137e857600080fd5b50519063ffffffff61380316565b849063ffffffff61508a16565b60008282111561385a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816132ef5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156139025781810151838201526020016138ea565b50505050905090810190601f16801561392f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006139476147cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7461746f6d696345786368616e67654665655261746560581b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561129157600080fd5b60006139f36147cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561129157600080fd5b613a976157cc565b600080600080600080600080613aab611785565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b158015613b1157600080fd5b505afa158015613b25573d6000803e3d6000fd5b505050506040513d610100811015613b3c57600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b6000806000613bb7613756565b90506000613bc3612ffc565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b158015613c2d57600080fd5b505afa158015613c41573d6000803e3d6000fd5b505050506040513d6020811015613c5757600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b158015613cc757600080fd5b505afa158015613cdb573d6000803e3d6000fd5b505050506040513d6020811015613cf157600080fd5b50519395939450505050565b613d0561293b565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613d4857600080fd5b505afa158015613d5c573d6000803e3d6000fd5b505050506040513d6020811015613d7257600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b158015613dc657600080fd5b505af1158015613dda573d6000803e3d6000fd5b50505050613de6611fe5565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015613e4d57600080fd5b505af1158015613e61573d6000803e3d6000fd5b50505050505050565b613e7261293b565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613eb557600080fd5b505afa158015613ec9573d6000803e3d6000fd5b505050506040513d6020811015613edf57600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b158015613f3357600080fd5b505af1158015613f47573d6000803e3d6000fd5b50505050613f53611fe5565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015613e4d57600080fd5b6000610bc16844656274436163686560b81b613860565b6000806000613fe285856000611c60565b889550909350915050801561400057613ffd85858885610bc6565b92505b50509392505050565b6000631cd554d160e21b831461409757614021611861565b6001600160a01b031663a47af19e846040518263ffffffff1660e01b8152600401808281526020019150506040805180830381600087803b15801561406557600080fd5b505af1158015614079573d6000803e3d6000fd5b505050506040513d604081101561408f57600080fd5b506020015190505b631cd554d160e21b82146106cf5760006140af611861565b6001600160a01b031663a47af19e846040518263ffffffff1660e01b8152600401808281526020019150506040805180830381600087803b1580156140f357600080fd5b505af1158015614107573d6000803e3d6000fd5b505050506040513d604081101561411d57600080fd5b50602001519050818061183f57509392505050565b60045460009067ffffffffffffffff16421461414e578161416b565b60045461416b90600160401b90046001600160c01b03168361294f565b90506141756132f6565b8111156141c2576040805162461bcd60e51b815260206004820152601660248201527514dd5c9c185cdcd959081d9bdb1d5b59481b1a5b5a5d60521b604482015290519081900360640190fd5b600480546001600160c01b03909216600160401b0267ffffffffffffffff42811667ffffffffffffffff199094169390931790921691909117905550565b600061420a61293b565b6001600160a01b03166332608039896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561424d57600080fd5b505afa158015614261573d6000803e3d6000fd5b505050506040513d602081101561427757600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b1580156142cb57600080fd5b505af11580156142df573d6000803e3d6000fd5b5050505060006142ed61293b565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561433057600080fd5b505afa158015614344573d6000803e3d6000fd5b505050506040513d602081101561435a57600080fd5b5051905082156144595760008190506143d9816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b1580156143a557600080fd5b505afa1580156143b9573d6000803e3d6000fd5b505050506040513d60208110156143cf57600080fd5b505186888a6150b4565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561443b57600080fd5b505af115801561444f573d6000803e3d6000fd5b50505050506144d2565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156144b957600080fd5b505af11580156144cd573d6000803e3d6000fd5b505050505b50979650505050505050565b6000610bc166119959541bdbdb60ca1b613860565b8151600090631cd554d160e21b148061451657506020830151631cd554d160e21b145b9050600081614526576003614529565b60025b60ff16905060608160405190808252806020026020018201604052801561455a578160200160208202803883390190505b50905084600060200201518160008151811061457257fe5b602090810291909101015284600160200201518160018151811061459257fe5b6020026020010181815250506060826040519080825280602002602001820160405280156145ca578160200160208202803883390190505b5090508460006020020151816000815181106145e257fe5b602090810291909101015284600160200201518160018151811061460257fe5b602002602001018181525050836146c057631cd554d160e21b8260028151811061462857fe5b60200260200101818152505073__$6cb7b9807fd48ae83b08c44b530df1d1ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561467857600080fd5b505af415801561468c573d6000803e3d6000fd5b505050506040513d60208110156146a257600080fd5b50518151829060029081106146b357fe5b6020026020010181815250505b6146c8613fba565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561472b578181015183820152602001614713565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561476a578181015183820152602001614752565b50505050905001945050505050600060405180830381600087803b15801561479157600080fd5b505af11580156147a5573d6000803e3d6000fd5b50505050505050505050565b6000610bc16d54726164696e675265776172647360901b613860565b6000610bc16e466c657869626c6553746f7261676560881b613860565b82841415614835576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b6040805160028082526060808301845292602083019080388339019050509050848160008151811061486357fe5b602002602001018181525050838160018151811061487d57fe5b6020908102919091010152604080516002808252606082810190935281602001602082028038833901905050905083816000815181106148b957fe5b60200260200101818152505082816001815181106148d357fe5b6020026020010181815250506148e7613756565b6001600160a01b031663d89ee86183836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561494a578181015183820152602001614932565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015614989578181015183820152602001614971565b5050505090500194505050505060206040518083038186803b1580156149ae57600080fd5b505afa1580156149c2573d6000803e3d6000fd5b505050506040513d60208110156149d857600080fd5b5051156127f9576040805162461bcd60e51b815260206004820152601e60248201527f7372632f646573742072617465207374616c65206f7220666c61676765640000604482015290519081900360640190fd5b6000806000614a46614a3d876139e9565b611817896139e9565b90506000614a5688888888615249565b93509050614a6a828263ffffffff61294f16565b9350505094509492505050565b6000614a81613756565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015614ac957600080fd5b505afa158015614add573d6000803e3d6000fd5b505050506040513d6020811015614af357600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b158015614b4257600080fd5b505afa158015614b56573d6000803e3d6000fd5b505050506040513d6020811015614b6c57600080fd5b50519050614b78611785565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b158015614bfd57600080fd5b505af1158015614c11573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110614cca57fe5b60200260200101818152505090565b614ce1615854565b60408051600480825260a08201909252606091602082016080803883390190505090507f65786368616e676544796e616d69634665655468726573686f6c64000000000081600081518110614d3257fe5b6020026020010181815250507f65786368616e676544796e616d6963466565576569676874446563617900000081600181518110614d6c57fe5b6020026020010181815250507f65786368616e676544796e616d6963466565526f756e6473000000000000000081600281518110614da657fe5b6020026020010181815250507465786368616e67654d617844796e616d696346656560581b81600381518110614dd857fe5b6020026020010181815250506060614dee6147cd565b6001600160a01b031663b67fa7ed6d53797374656d53657474696e677360901b846040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015614e64578181015183820152602001614e4c565b50505050905001935050505060006040518083038186803b158015614e8857600080fd5b505afa158015614e9c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015614ec557600080fd5b8101908080516040519392919084640100000000821115614ee557600080fd5b908301906020820185811115614efa57600080fd5b8251866020820283011164010000000082111715614f1757600080fd5b82525081516020918201928201910280838360005b83811015614f44578181015183820152602001614f2c565b505050509050016040525050509050604051806080016040528082600081518110614f6b57fe5b6020026020010151815260200182600181518110614f8557fe5b6020026020010151815260200182600281518110614f9f57fe5b6020026020010151815260200182600381518110614fb957fe5b60200260200101518152509250505090565b600080631cd554d160e21b841480614fe857506001836040015111155b15614ff857506000905080611399565b6000615002613756565b6001600160a01b0316637a018a1e866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561504557600080fd5b505afa158015615059573d6000803e3d6000fd5b505050506040513d602081101561506f57600080fd5b5051905061507e8582866152d5565b92509250509250929050565b6000670de0b6b3a76400006150a5848463ffffffff6154f516565b816150ac57fe5b049392505050565b6000606960f81b6001600160f81b031983831a60f81b16141561511e576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732073796e746800000000604482015290519081900360640190fd5b600061516661512b61554e565b6040518060400160405280601b81526020017f436f756c64206e6f7420637265617465206e6577207653796e74680000000000815250615572565b60025460408051638d7017d360e01b81526001600160a01b038a81166004830152928316602482015288831660448201526064810188905260848101879052905192935090831691638d7017d39160a48082019260009290919082900301818387803b1580156151d557600080fd5b505af11580156151e9573d6000803e3d6000fd5b5050604080516001600160a01b038581168252602082018890528183018990529151828a169450918a1692507fb5ec76d79549c775883022e4426db5cd36bd5307f216cdb341554c301548ef9f919081900360600190a395945050505050565b600080615254615854565b61525c614cd9565b905060008061526c8887856152d5565b9150915060008061527e8b8a876152d5565b9092509050615293848363ffffffff61294f16565b60608601519097508711806152a857876152ae565b85606001515b97508781806152ba5750845b806152c25750825b9750975050505050505094509492505050565b600080631cd554d160e21b8514806152f257506001836040015111155b15615302575060009050806154ed565b606061530c613756565b6001600160a01b031663ed762450878660400151886040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060006040518083038186803b15801561536357600080fd5b505afa158015615377573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156153a057600080fd5b81019080805160405193929190846401000000008211156153c057600080fd5b9083019060208201858111156153d557600080fd5b82518660208202830111640100000000821117156153f257600080fd5b82525081516020918201928201910280838360005b8381101561541f578181015183820152602001615407565b505050509050016040526020018051604051939291908464010000000082111561544857600080fd5b90830190602082018581111561545d57600080fd5b825186602082028301116401000000008211171561547a57600080fd5b82525081516020918201928201910280838360005b838110156154a757818101518382015260200161548f565b5050505090500160405250505050809150506154cc81856000015186602001516155ea565b60608501519093508311806154e157836154e7565b84606001515b93509150505b935093915050565b600082615504575060006106cf565b8282028284828161551157fe5b04146106cc5760405162461bcd60e51b81526004018080602001828103825260218152602001806159606021913960400191505060405180910390fd5b6000610bc1755669727475616c53796e74684d6173746572636f707960501b613860565b6000606061557f84615674565b90506037602082016000f09150826001600160a01b0383166155e25760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156139025781810151838201526020016138ea565b505092915050565b60008351600014156155fe575060006117f8565b8351600090600019015b8015610cdd5761561e828563ffffffff61508a16565b9150600061565687600184038151811061563457fe5b602002602001015188848151811061564857fe5b6020026020010151886156e4565b9050615668838263ffffffff61294f16565b92505060001901615608565b60408051693d602d80600a3d3981f360b01b602082015269363d3d373d3d3d363d7360b01b602a82015260609290921b6bffffffffffffffffffffffff191660348301526e5af43d82803e903d91602b57fd5bf360881b6048830152805180830360370181526057909201905290565b6000826156f3575060006117f8565b600083851161570457848403615708565b8385035b9050600061571c828663ffffffff61573816565b905083811161572c576000613ffd565b92909203949350505050565b60006106cc8261575685670de0b6b3a764000063ffffffff6154f516565b9063ffffffff61576216565b60008082116157b8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816157c357fe5b04949350505050565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806080016040528060008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697054686520616d6f756e742072656365697665642069732062656c6f7720746865206d696e696d756d20616d6f756e74207370656369666965642e45786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a72315820d3cc996c4b5f085a856d8100bbbf0a8feb79df26ea89b1f37fd5c2fed358865264736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amountReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"name":"ExchangeEntryAppended","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reclaim","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rebate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"srcRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"destRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeTimestamp","type":"uint256"}],"name":"ExchangeEntrySettled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"synth","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"address","name":"vSynth","type":"address"},{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"VirtualSynthCreated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"atomicMaxVolumePerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"}],"name":"calculateAmountAfterSettlement","outputs":[{"internalType":"uint256","name":"amountAfterSettlement","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"dynamicFeeRateForExchange","outputs":[{"internalType":"uint256","name":"feeRate","type":"uint256"},{"internalType":"bool","name":"tooVolatile","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"exchangeForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"destinationAddress","type":"address"},{"internalType":"bool","name":"virtualSynth","type":"bool"},{"internalType":"address","name":"rewardAddress","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"contract IVirtualSynth","name":"vSynth","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"destinationAddress","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"},{"internalType":"uint256","name":"minAmount","type":"uint256"}],"name":"exchangeAtomically","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"feeRateForAtomicExchange","outputs":[{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"feeRateForExchange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"getAmountsForAtomicExchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"getAmountsForExchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"hasWaitingPeriodOrSettlementOwing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"isSynthRateInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastAtomicVolume","outputs":[{"internalType":"uint64","name":"time","type":"uint64"},{"internalType":"uint192","name":"volume","type":"uint192"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"lastExchangeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"maxSecsLeftInWaitingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"priceDeviationThresholdFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settle","outputs":[{"internalType":"uint256","name":"reclaimed","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"},{"internalType":"uint256","name":"numEntriesSettled","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settlementOwing","outputs":[{"internalType":"uint256","name":"reclaimAmount","type":"uint256"},{"internalType":"uint256","name":"rebateAmount","type":"uint256"},{"internalType":"uint256","name":"numEntries","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"suspendSynthWithInvalidRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tradingRewardsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"waitingPeriodSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x249092f47e4e7db34b013bbb56027462cd27bc2f1bf79dca4e99a9bf1e0ac6bf","urls":["bzz-raw://3136355856d62b9df707b62ef592ce6ba0f25083985fb516c7c533f29af304e1","dweb:/ipfs/QmXriDxrw7AdiaZjsoCCK5RiQKPEwJ1MsE9arJPTawEwkb"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ExchangerWithFeeRecAlternatives.sol":"ExchangerWithFeeRecAlternatives"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"ExchangerWithFeeRecAlternatives.sol":{"keccak256":"0x249092f47e4e7db34b013bbb56027462cd27bc2f1bf79dca4e99a9bf1e0ac6bf","urls":["bzz-raw://3136355856d62b9df707b62ef592ce6ba0f25083985fb516c7c533f29af304e1","dweb:/ipfs/QmXriDxrw7AdiaZjsoCCK5RiQKPEwJ1MsE9arJPTawEwkb"]}},"version":1}},"WrapperFactory":{"bytecode":"608060405234801561001057600080fd5b506040516135553803806135558339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050613431806101246000396000f3fe608060405260043610620000d45760003560e01c806375d920a9116200008b5780638da5cb5b11620000615780638da5cb5b14620002ae578063a106935d14620002c6578063bb57ad201462000309578063e0aa2797146200032157620000d4565b806375d920a9146200021457806379ba5097146200022c578063899ffef4146200024457620000d4565b806304f3bcec14620001215780631627540c14620001555780632af64bd3146200018e57806353a47bb714620001ba578063614d08f814620001d25780637418536014620001fc575b6040805162461bcd60e51b815260206004820152601760248201527f436f6e7472616374206973206e6f742070617961626c65000000000000000000604482015290519081900360640190fd5b3480156200012e57600080fd5b506200013962000358565b604080516001600160a01b039092168252519081900360200190f35b3480156200016257600080fd5b506200018c600480360360208110156200017b57600080fd5b50356001600160a01b031662000367565b005b3480156200019b57600080fd5b50620001a6620003c5565b604080519115158252519081900360200190f35b348015620001c757600080fd5b5062000139620004db565b348015620001df57600080fd5b50620001ea620004ea565b60408051918252519081900360200190f35b3480156200020957600080fd5b506200018c620004ff565b3480156200022157600080fd5b50620001ea620006d2565b3480156200023957600080fd5b506200018c62000767565b3480156200025157600080fd5b506200025c62000825565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156200029a57818101518382015260200162000280565b505050509050019250505060405180910390f35b348015620002bb57600080fd5b5062000139620008c3565b348015620002d357600080fd5b506200013960048036036060811015620002ec57600080fd5b506001600160a01b038135169060208101359060400135620008d2565b3480156200031657600080fd5b506200018c62000a8a565b3480156200032e57600080fd5b50620001a6600480360360208110156200034757600080fd5b50356001600160a01b031662000bff565b6002546001600160a01b031681565b6200037162000caa565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006060620003d362000825565b905060005b8151811015620004d1576000828281518110620003f157fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156200045a57600080fd5b505afa1580156200046f573d6000803e3d6000fd5b505050506040513d60208110156200048657600080fd5b50516001600160a01b0316141580620004b457506000818152600360205260409020546001600160a01b0316155b15620004c75760009350505050620004d8565b50600101620003d8565b5060019150505b90565b6001546001600160a01b031681565b6d57726170706572466163746f727960901b81565b60606200050b62000825565b905060005b8151811015620006ce5760008282815181106200052957fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015620005e1578181015183820152602001620005c7565b50505050905090810190601f1680156200060f5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156200062e57600080fd5b505afa15801562000643573d6000803e3d6000fd5b505050506040513d60208110156200065a57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010162000510565b5050565b6000620006de62000cf7565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156200073457600080fd5b505afa15801562000749573d6000803e3d6000fd5b505050506040513d60208110156200076057600080fd5b5051905090565b6001546001600160a01b03163314620007b25760405162461bcd60e51b8152600401808060200182810382526035815260200180620033996035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b604080516003808252608082019092526060916020820183803883390190505090506814de5b9d1a1cd554d160ba1b816000815181106200086257fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816001815181106200088f57fe5b60200260200101818152505066119959541bdbdb60ca1b81600281518110620008b457fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000620008de62000caa565b600080546002546040516001600160a01b039283169290911690879087908790620009099062000e2e565b6001600160a01b0395861681529385166020850152919093166040808401919091526060830193909352608082015290519081900360a001906000f08015801562000958573d6000803e3d6000fd5b509050806001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200099757600080fd5b505af1158015620009ac573d6000803e3d6000fd5b50505050620009ba62000d15565b60408051631d5b277f60e01b81526d57726170706572466163746f727960901b60048201526001600160a01b0384811660248301526001604483015291519290911691631d5b277f9160648082019260009290919082900301818387803b15801562000a2557600080fd5b505af115801562000a3a573d6000803e3d6000fd5b5050604080516001600160a01b038581168252915188945091891692507f8aba3d0a3cbd86bcfc8d4d553823cb5030939fb35208794c1ca597046b2b561e919081900360200190a3949350505050565b600062000a96620006d2565b9050801562000bfc57600062000aab62000cf7565b6001600160a01b031663a9059cbb62000ac362000d34565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801562000afc57600080fd5b505afa15801562000b11573d6000803e3d6000fd5b505050506040513d602081101562000b2857600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018690525160448083019260209291908290030181600087803b15801562000b7957600080fd5b505af115801562000b8e573d6000803e3d6000fd5b505050506040513d602081101562000ba557600080fd5b5051905080620006ce576040805162461bcd60e51b815260206004820152601860248201527f5472616e7366657220646964206e6f7420737563636565640000000000000000604482015290519081900360640190fd5b50565b60008062000c0c62000d15565b6001600160a01b03166323257c2b6d57726170706572466163746f727960901b856001600160a01b031660001b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562000c7557600080fd5b505afa15801562000c8a573d6000803e3d6000fd5b505050506040513d602081101562000ca157600080fd5b50511192915050565b6000546001600160a01b0316331462000cf55760405162461bcd60e51b815260040180806020018281038252602f815260200180620033ce602f913960400191505060405180910390fd5b565b600062000d106814de5b9d1a1cd554d160ba1b62000d46565b905090565b600062000d106e466c657869626c6553746f7261676560881b62000d46565b600062000d1066119959541bdbdb60ca1b5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908162000e275760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000deb57818101518382015260200162000dd1565b50505050905090810190601f16801562000e195780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b61255c8062000e3d8339019056fe60806040523480156200001157600080fd5b506040516200255c3803806200255c833981810160405260a08110156200003757600080fd5b508051602082015160408301516060840151608090940151929391929091908380866001600160a01b038116620000b5576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000160576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60038054610100600160a81b0319166101006001600160a01b0393841602179055600580546001600160a01b031916868316179081905560068590556007849055600060088190556040805163095ea7b360e01b81523060048201526000196024820152905192909316935063095ea7b392604480820193602093909283900390910190829087803b158015620001f657600080fd5b505af11580156200020b573d6000803e3d6000fd5b505050506040513d60208110156200022257600080fd5b5050505050505061232380620002396000396000f3fe6080604052600436106101665760003560e01c80635c975abb116100d15780638a926d0f1161008a578063a0712d6811610064578063a0712d681461048d578063dbd06c85146104b7578063ee5f3f5c146104cc578063fc0c546a146104e157610166565b80638a926d0f1461044e5780638da5cb5b1461046357806391b4ded91461047857610166565b80635c975abb1461036b5780635cfc1a51146103805780636ad882691461039557806374185360146103bf57806379ba5097146103d4578063899ffef4146103e957610166565b80631f23a352116101235780631f23a352146102965780632af64bd3146102ab57806342966c68146102d4578063509bf42a146102fe57806353a47bb7146103135780635c095e541461032857610166565b806304f3bcec146101b35780630902f1ac146101e45780631627540c1461020b57806316c38b3c1461024057806317c943bc1461026c57806318819a3114610281575b6040805162461bcd60e51b815260206004820152601d60248201527f46616c6c6261636b2064697361626c65642c20757365206d696e742829000000604482015290519081900360640190fd5b3480156101bf57600080fd5b506101c86104f6565b604080516001600160a01b039092168252519081900360200190f35b3480156101f057600080fd5b506101f961050a565b60408051918252519081900360200190f35b34801561021757600080fd5b5061023e6004803603602081101561022e57600080fd5b50356001600160a01b0316610587565b005b34801561024c57600080fd5b5061023e6004803603602081101561026357600080fd5b503515156105e3565b34801561027857600080fd5b506101f961065d565b34801561028d57600080fd5b506101f9610663565b3480156102a257600080fd5b506101f9610673565b3480156102b757600080fd5b506102c0610679565b604080519115158252519081900360200190f35b3480156102e057600080fd5b5061023e600480360360208110156102f757600080fd5b5035610789565b34801561030a57600080fd5b506101f9610c73565b34801561031f57600080fd5b506101c8610c7e565b34801561033457600080fd5b506103526004803603602081101561034b57600080fd5b5035610c8d565b6040805192835290151560208301528051918290030190f35b34801561037757600080fd5b506102c0610ce2565b34801561038c57600080fd5b506101f9610ceb565b3480156103a157600080fd5b50610352600480360360208110156103b857600080fd5b5035610d2d565b3480156103cb57600080fd5b5061023e610d3a565b3480156103e057600080fd5b5061023e610f17565b3480156103f557600080fd5b506103fe610fd3565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043a578181015183820152602001610422565b505050509050019250505060405180910390f35b34801561045a57600080fd5b506101f96110f5565b34801561046f57600080fd5b506101c8611100565b34801561048457600080fd5b506101f961110f565b34801561049957600080fd5b5061023e600480360360208110156104b057600080fd5b5035611115565b3480156104c357600080fd5b506101f961156f565b3480156104d857600080fd5b506101f9611575565b3480156104ed57600080fd5b506101c86115dd565b60035461010090046001600160a01b031681565b600554604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561055557600080fd5b505afa158015610569573d6000803e3d6000fd5b505050506040513d602081101561057f57600080fd5b505190505b90565b61058f6115ec565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6105eb6115ec565b60035460ff16151581151514156106015761065a565b6003805460ff1916821515179081905560ff161561061e57426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60085481565b600061066e30611637565b905090565b60075481565b60006060610685610fd3565b905060005b81518110156107805760008282815181106106a157fe5b602090810291909101810151600081815260048084526040918290205460035483516321f8a72160e01b815292830185905292519395506001600160a01b039081169461010090930416926321f8a72192602480840193919291829003018186803b15801561070f57600080fd5b505afa158015610723573d6000803e3d6000fd5b505050506040513d602081101561073957600080fd5b50516001600160a01b031614158061076657506000818152600460205260409020546001600160a01b0316155b156107775760009350505050610584565b5060010161068a565b50600191505090565b60035460ff16156107cb5760405162461bcd60e51b815260040180806020018281038252603c815260200180612258603c913960400191505060405180910390fd5b6107d3611727565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561080b57600080fd5b505afa15801561081f573d6000803e3d6000fd5b5050505061082b611741565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561088057600080fd5b505afa158015610894573d6000803e3d6000fd5b505050506040513d60208110156108aa57600080fd5b50518111156108f5576040805162461bcd60e51b815260206004820152601260248201527142616c616e636520697320746f6f206c6f7760701b604482015290519081900360640190fd5b6108fd61174e565b6001600160a01b0316632528f0fe6006546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561094257600080fd5b505afa158015610956573d6000803e3d6000fd5b505050506040513d602081101561096c57600080fd5b5051156109bb576040805162461bcd60e51b815260206004820152601860248201527710dd5c9c995b98de481c985d19481a5cc81a5b9d985b1a5960421b604482015290519081900360640190fd5b60006109c5611575565b11610a015760405162461bcd60e51b81526004018080602001828103825260358152602001806122ba6035913960400191505060405180910390fd5b600080610a0f600854610d2d565b915091506000808215610ad1578460085410610a2b5784610a3e565b600854610a3e908563ffffffff61176916565b9150610aca610a4b610c73565b73__$b638afe8340e430a394ced2a8f566f670f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8f57600080fd5b505af4158015610aa3573d6000803e3d6000fd5b505050506040513d6020811015610ab957600080fd5b50518491900363ffffffff6117cb16565b9050610b92565b6008548590610ae6908663ffffffff6117f516565b10610af15784610b04565b600854610b04908563ffffffff6117f516565b9150610b8f610b11610c73565b73__$b638afe8340e430a394ced2a8f566f670f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5557600080fd5b505af4158015610b69573d6000803e3d6000fd5b505050506040513d6020811015610b7f57600080fd5b505184910163ffffffff61185616565b90505b600083610bae57610ba9838363ffffffff61176916565b610bb1565b60005b600554909150600090610bcf906001600160a01b0316303386611880565b905080610c1e576040805162461bcd60e51b8152602060048201526018602482015277151c985b9cd9995c88191a59081b9bdd081cdd58d8d9595960421b604482015290519081900360640190fd5b610c2784611925565b6040805184815260208101849052808201869052905133917f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c0919081900360600190a250505050505050565b600061066e30611b2b565b6001546001600160a01b031681565b6000806000610c9a610663565b90506000811215610cc557610cb984600083900363ffffffff611be916565b60019250925050610cdd565b610cd5848263ffffffff611be916565b600092509250505b915091565b60035460ff1681565b600080610cf661050a565b90506000610d026110f5565b9050808210610d1657600092505050610584565b610d26818363ffffffff61176916565b9250505090565b6000806000610c9a610c73565b6060610d44610fd3565b905060005b8151811015610f13576000828281518110610d6057fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e2b578181015183820152602001610e13565b50505050905090810190601f168015610e585780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610e7657600080fd5b505afa158015610e8a573d6000803e3d6000fd5b505050506040513d6020811015610ea057600080fd5b505160008381526004602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610d49565b5050565b6001546001600160a01b03163314610f605760405162461bcd60e51b81526004018080602001828103825260358152602001806121d36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610fde611bfe565b60408051600680825260e08201909252919250606091906020820160c0803883390190505090506814de5b9d1a1cd554d160ba1b8160008151811061101f57fe5b6020026020010181815250506007548160018151811061103b57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061106557fe5b6020026020010181815250506844656274436163686560b81b8160038151811061108b57fe5b6020026020010181815250506b53797374656d53746174757360a01b816004815181106110b457fe5b6020026020010181815250506d57726170706572466163746f727960901b816005815181106110df57fe5b602002602001018181525050610d268282611c4f565b600061066e30611d0b565b6000546001600160a01b031681565b60025481565b60035460ff16156111575760405162461bcd60e51b815260040180806020018281038252603c815260200180612258603c913960400191505060405180910390fd5b61115f611727565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561119757600080fd5b505afa1580156111ab573d6000803e3d6000fd5b505060055460408051636eb1769f60e11b815233600482015230602482015290516001600160a01b03909216935063dd62ed3e9250604480820192602092909190829003018186803b15801561120057600080fd5b505afa158015611214573d6000803e3d6000fd5b505050506040513d602081101561122a57600080fd5b5051811115611280576040805162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000604482015290519081900360640190fd5b600554604080516370a0823160e01b815233600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156112cb57600080fd5b505afa1580156112df573d6000803e3d6000fd5b505050506040513d60208110156112f557600080fd5b5051811115611340576040805162461bcd60e51b815260206004820152601260248201527142616c616e636520697320746f6f206c6f7760701b604482015290519081900360640190fd5b61134861174e565b6001600160a01b0316632528f0fe6006546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561138d57600080fd5b505afa1580156113a1573d6000803e3d6000fd5b505050506040513d60208110156113b757600080fd5b505115611406576040805162461bcd60e51b815260206004820152601860248201527710dd5c9c995b98de481c985d19481a5cc81a5b9d985b1a5960421b604482015290519081900360640190fd5b6000611410610ceb565b9050600081116114515760405162461bcd60e51b81526004018080602001828103825260268152602001806122946026913960400191505060405180910390fd5b60008282106114605782611462565b815b905060008061147083610c8d565b915091506000816114905761148b848463ffffffff61176916565b6114a0565b6114a0848463ffffffff6117f516565b6005549091506000906114be906001600160a01b0316333088611880565b90508061150d576040805162461bcd60e51b8152602060048201526018602482015277151c985b9cd9995c88191a59081b9bdd081cdd58d8d9595960421b604482015290519081900360640190fd5b61151682611dc7565b337f5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d91983856115445786611547565b60005b604080519283526020830191909152818101899052519081900360600190a250505050505050565b60065481565b600061157f61174e565b6001600160a01b031663654a60ac600654600854631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561055557600080fd5b6005546001600160a01b031681565b6000546001600160a01b031633146116355760405162461bcd60e51b815260040180806020018281038252602f815260200180612208602f913960400191505060405180910390fd5b565b6000611641611f18565b6001600160a01b031663c4f610ed6d53797374656d53657474696e677360901b71777261707065724d696e744665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156116f557600080fd5b505afa158015611709573d6000803e3d6000fd5b505050506040513d602081101561171f57600080fd5b505192915050565b600061066e6b53797374656d53746174757360a01b611f31565b600061066e600754611f31565b600061066e6c45786368616e6765526174657360981b611f31565b6000828211156117c0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b508082035b92915050565b6000670de0b6b3a76400006117e6848463ffffffff61200e16565b816117ed57fe5b049392505050565b60008282018381101561184f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600061184f8261187485670de0b6b3a764000063ffffffff61200e16565b9063ffffffff61206716565b604080516001600160a01b038086166024830152841660448201526064808201849052825180830390910181526084909101909152602081810180516001600160e01b03166323b872dd60e01b178152825160ff60009081529392909184908390828b5af16118ee57600080fd5b60005160ff811461190c576001811461190c57801561191557600080fd5b6001935061191a565b600093505b505050949350505050565b600061192f61050a565b600854909150600090611948838563ffffffff6117f516565b11611954576000611977565b6008546119779061196b848663ffffffff6117f516565b9063ffffffff61176916565b9050600061198361174e565b6001600160a01b031663654a60ac60065484631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156119df57600080fd5b505afa1580156119f3573d6000803e3d6000fd5b505050506040513d6020811015611a0957600080fd5b50519050611a15611741565b6001600160a01b0316639dc29fac33866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611a7457600080fd5b505af1158015611a88573d6000803e3d6000fd5b505050506000811115611b1c57611a9d6120d1565b6001600160a01b031663867904b4611ab36120e8565b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611b0357600080fd5b505af1158015611b17573d6000803e3d6000fd5b505050505b611b2583612104565b50505050565b6000611b35611f18565b6001600160a01b031663c4f610ed6d53797374656d53657474696e677360901b71777261707065724275726e4665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156116f557600080fd5b600061184f8383670de0b6b3a764000061217f565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611c4057fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611c7f578160200160208202803883390190505b50905060005b8351811015611cc157838181518110611c9a57fe5b6020026020010151828281518110611cae57fe5b6020908102919091010152600101611c85565b5060005b8251811015611d0457828181518110611cda57fe5b6020026020010151828286510181518110611cf157fe5b6020908102919091010152600101611cc5565b5092915050565b6000611d15611f18565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f777261707065724d6178546f6b656e7360801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156116f557600080fd5b6000611dd161050a565b90506000611dea836008546117f590919063ffffffff16565b8211611df7576000611e1b565b600854611e1b90611e0e908563ffffffff6117f516565b839063ffffffff61176916565b90506000611e2761174e565b6001600160a01b031663654a60ac60065484631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015611e8357600080fd5b505afa158015611e97573d6000803e3d6000fd5b505050506040513d6020811015611ead57600080fd5b50519050611eb9611741565b6001600160a01b031663867904b433866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611a7457600080fd5b600061066e6e466c657869626c6553746f7261676560881b5b600081815260046020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611d045760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611fd3578181015183820152602001611fbb565b50505050905090810190601f1680156120005780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60008261201d575060006117c5565b8282028284828161202a57fe5b041461184f5760405162461bcd60e51b81526004018080602001828103825260218152602001806122376021913960400191505060405180910390fd5b60008082116120bd576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816120c857fe5b04949350505050565b600061066e6814de5b9d1a1cd554d160ba1b611f31565b600061066e6d57726170706572466163746f727960901b611f31565b61210c6121bb565b6001600160a01b0316639e3b92ca60065460085484036040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561215f57600080fd5b505af1158015612173573d6000803e3d6000fd5b50505060089190915550565b600080600a8304612196868663ffffffff61200e16565b8161219d57fe5b0490506005600a8206106121af57600a015b600a9004949350505050565b600061066e6844656274436163686560b81b611f3156fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564436f6e747261637420686173206e6f20737061726520636170616369747920746f206d696e74436f6e74726163742063616e6e6f74206275726e20666f7220746f6b656e2c20746f6b656e2062616c616e6365206973207a65726fa265627a7a72315820a4a10d85c707bcbaf53a80a679c2465266162fe35b377e6b8360036004afc38e64736f6c63430005100032596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820389b20616fbd648646f2eabc9039e3a34d21fd0baea43bc61609f135762f668f64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"wrapperAddress","type":"address"}],"name":"WrapperCreated","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"bytes32","name":"synthContractName","type":"bytes32"}],"name":"createWrapper","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"distributeFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feesEscrowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"possibleWrapper","type":"address"}],"name":"isWrapper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x582cac91f50cfefc154d67097081d0dd0d4877333df51c3cfe19485f80ef7e74","urls":["bzz-raw://315555f29d5cf1602830af23bf1c97d8259d7ad3103590d1094b9c942affe69e","dweb:/ipfs/QmXmVJg9JYtL3VSHFpC6WTh4CLcVm9WDDTmCoSMVxPzAHc"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"WrapperFactory.sol":"WrapperFactory"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"WrapperFactory.sol":{"keccak256":"0x582cac91f50cfefc154d67097081d0dd0d4877333df51c3cfe19485f80ef7e74","urls":["bzz-raw://315555f29d5cf1602830af23bf1c97d8259d7ad3103590d1094b9c942affe69e","dweb:/ipfs/QmXmVJg9JYtL3VSHFpC6WTh4CLcVm9WDDTmCoSMVxPzAHc"]}},"version":1}},"OwnerRelayOnEthereum":{"bytecode":"60806040523480156200001157600080fd5b5060405162001678380380620016788339810160408190526200003491620000f4565b600080546001600160a01b0319166001600160a01b038381169190911790915582908116620000805760405162461bcd60e51b81526004016200007790620001b0565b60405180910390fd5b600280546001600160a01b0319166001600160a01b0383161790556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c90620000d09060009084906200018a565b60405180910390a15050506200020b565b8051620000ee81620001f1565b92915050565b600080604083850312156200010857600080fd5b6000620001168585620000e1565b92505060206200012985828601620000e1565b9150509250929050565b6200013e81620001dd565b82525050565b6200013e81620001cb565b60006200015e601983620001c2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200019a828562000133565b620001a9602083018462000144565b9392505050565b60208082528101620000ee816200014f565b90815260200190565b60006001600160a01b038216620000ee565b6000620000ee826000620000ee82620001cb565b620001fc81620001cb565b81146200020857600080fd5b50565b61145d806200021b6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80637418536011610066578063741853601461011357806379ba50971461011b578063899ffef4146101235780638da5cb5b14610138578063e210f042146101405761009e565b806304f3bcec146100a35780631627540c146100c15780632af64bd3146100d65780634aeda11f146100eb57806353a47bb7146100fe575b600080fd5b6100ab610153565b6040516100b891906112a9565b60405180910390f35b6100d46100cf366004610ca3565b610162565b005b6100de6101c0565b6040516100b89190611244565b6100d46100f9366004610d51565b6102d6565b61010661041e565b6040516100b89190611179565b6100d461042d565b6100d4610582565b61012b61061e565b6040516100b89190611233565b6101066106bd565b6100d461014e366004610ce7565b6106cc565b6000546001600160a01b031681565b61016a6107e7565b600380546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101b5908390611179565b60405180910390a150565b600060606101cc61061e565b905060005b81518110156102cc5760008282815181106101e857fe5b60209081029190910181015160008181526001909252604080832054925490516321f8a72160e01b81529193506001600160a01b039283169216906321f8a72190610237908590600401611252565b60206040518083038186803b15801561024f57600080fd5b505afa158015610263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102879190810190610cc9565b6001600160a01b03161415806102b257506000818152600160205260409020546001600160a01b0316155b156102c357600093505050506102d3565b506001016101d1565b5060019150505b90565b6102de6107e7565b8382146103065760405162461bcd60e51b81526004016102fd906112e8565b60405180910390fd5b604051600090606090637a153de960e11b9061032c908990899089908990602401611202565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610368610813565b6001600160a01b0316633dbb202b61037e610833565b8361038887610859565b6040518463ffffffff1660e01b81526004016103a6939291906111d3565b600060405180830381600087803b1580156103c057600080fd5b505af11580156103d4573d6000803e3d6000fd5b505050507faa86356fa99dddd7d5773ad300a6f8e0213a5a2f3f5dbdd4b696c6746d78ec048787878760405161040d9493929190611202565b60405180910390a150505050505050565b6003546001600160a01b031681565b606061043761061e565b905060005b815181101561057e57600082828151811061045357fe5b6020026020010151905060008060009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610494919061116e565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016104c0929190611289565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105109190810190610cc9565b6000838152600160205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061056c9084908490611260565b60405180910390a1505060010161043c565b5050565b6003546001600160a01b031633146105ac5760405162461bcd60e51b81526004016102fd906112c8565b6002546003546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926105ef926001600160a01b0391821692911690611187565b60405180910390a160038054600280546001600160a01b03199081166001600160a01b03841617909155169055565b60608061062961087f565b6040805160028082526060808301845293945090916020830190803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b8160008151811061066b57fe5b602002602001018181525050776f766d3a4f776e657252656c61794f6e4f7074696d69736d60401b816001815181106106a057fe5b6020026020010181815250506106b682826108d0565b9250505090565b6002546001600160a01b031681565b6106d46107e7565b60405160009060609063c3c79e5d60e01b906106f8908890889088906024016111a9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610734610813565b6001600160a01b0316633dbb202b61074a610833565b8361075487610859565b6040518463ffffffff1660e01b8152600401610772939291906111d3565b600060405180830381600087803b15801561078c57600080fd5b505af11580156107a0573d6000803e3d6000fd5b505050507f0ad3bed4c45a8b7f0de84c5caaea6851b93c0453c25ad26d37077fcf4feb5c448686866040516107d7939291906111a9565b60405180910390a1505050505050565b6002546001600160a01b031633146108115760405162461bcd60e51b81526004016102fd906112d8565b565b600061082e6c32bc3a1d26b2b9b9b2b733b2b960991b61098c565b905090565b600061082e776f766d3a4f776e657252656c61794f6e4f7074696d69736d60401b61098c565b600063ffffffff82166108755761087060046109e9565b610877565b815b90505b919050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106108c157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610900578160200160208202803883390190505b50905060005b83518110156109425783818151811061091b57fe5b602002602001015182828151811061092f57fe5b6020908102919091010152600101610906565b5060005b82518110156109855782818151811061095b57fe5b602002602001015182828651018151811061097257fe5b6020908102919091010152600101610946565b5092915050565b60008181526001602090815260408083205490516001600160a01b0390911691821515916109bc9186910161114e565b604051602081830303815290604052906109855760405162461bcd60e51b81526004016102fd91906112b7565b60006109f3610a89565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b610a1c85610aa6565b6040518363ffffffff1660e01b8152600401610a3992919061126e565b60206040518083038186803b158015610a5157600080fd5b505afa158015610a65573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108779190810190610dd7565b600061082e6e466c657869626c6553746f7261676560881b61098c565b600080826004811115610ab557fe5b1415610ae257507f63726f7373446f6d61696e4465706f7369744761734c696d697400000000000061087a565b6001826004811115610af057fe5b1415610b1d57507f63726f7373446f6d61696e457363726f774761734c696d69740000000000000061087a565b6002826004811115610b2b57fe5b1415610b5857507f63726f7373446f6d61696e5265776172644761734c696d69740000000000000061087a565b6003826004811115610b6657fe5b1415610b9357507f63726f7373446f6d61696e5769746864726177616c4761734c696d697400000061087a565b6004826004811115610ba157fe5b1415610bce57507f63726f7373446f6d61696e52656c61794761734c696d6974000000000000000061087a565b60405162461bcd60e51b81526004016102fd906112f8565b8035610bf1816113f1565b92915050565b8051610bf1816113f1565b60008083601f840112610c1457600080fd5b50813567ffffffffffffffff811115610c2c57600080fd5b602083019150836020820283011115610c4457600080fd5b9250929050565b60008083601f840112610c5d57600080fd5b50813567ffffffffffffffff811115610c7557600080fd5b602083019150836001820283011115610c4457600080fd5b8051610bf181611408565b8035610bf181611411565b600060208284031215610cb557600080fd5b6000610cc18484610be6565b949350505050565b600060208284031215610cdb57600080fd5b6000610cc18484610bf7565b60008060008060608587031215610cfd57600080fd5b6000610d098787610be6565b945050602085013567ffffffffffffffff811115610d2657600080fd5b610d3287828801610c4b565b93509350506040610d4587828801610c98565b91505092959194509250565b600080600080600060608688031215610d6957600080fd5b853567ffffffffffffffff811115610d8057600080fd5b610d8c88828901610c02565b9550955050602086013567ffffffffffffffff811115610dab57600080fd5b610db788828901610c02565b93509350506040610dca88828901610c98565b9150509295509295909350565b600060208284031215610de957600080fd5b6000610cc18484610c8d565b6000610e018383610e22565b505060200190565b6000610e018383610f4f565b6000610cc1848484610f69565b610e2b8161137b565b82525050565b6000610e3d8385611312565b9350610e48826102d3565b8060005b85811015610e7e57610e5e828461131b565b610e688882610df5565b9750610e7383611308565b925050600101610e4c565b509495945050505050565b6000610e948261130e565b610e9e8185611312565b9350610ea983611308565b8060005b83811015610e7e578151610ec18882610e09565b9750610ecc83611308565b925050600101610ead565b6000610ee38385611312565b935083602084028501610ef5846102d3565b8060005b87811015610f39578484038952610f10828461132a565b610f1b868284610e15565b9550610f2684611308565b60209b909b019a93505050600101610ef9565b5091979650505050505050565b610e2b81611386565b610e2b816102d3565b610e2b610f64826102d3565b6102d3565b6000610f758385611312565b9350610f828385846113ab565b610f8b836113e7565b9093019392505050565b6000610fa08261130e565b610faa8185611312565b9350610fba8185602086016113b7565b610f8b816113e7565b610e2b816113a0565b6000610fd9603583611312565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061103060118361087a565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061105d602f83611312565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006110ae60198361087a565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006110e7601883611312565b7f417267756d656e74206c656e677468206d69736d617463680000000000000000815260200192915050565b6000611120601683611312565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b610e2b81611397565b600061115982611023565b91506111658284610f58565b50602001919050565b6000611159826110a1565b60208101610bf18284610e22565b604081016111958285610e22565b6111a26020830184610e22565b9392505050565b604081016111b78286610e22565b81810360208301526111ca818486610f69565b95945050505050565b606081016111e18286610e22565b81810360208301526111f38185610f95565b9050610cc16040830184611145565b60408082528101611214818688610e31565b90508181036020830152611229818486610ed7565b9695505050505050565b602080825281016111a28184610e89565b60208101610bf18284610f46565b60208101610bf18284610f4f565b604081016111958285610f4f565b6040810161127c8285610f4f565b6111a26020830184610f4f565b604081016112978285610f4f565b8181036020830152610cc18184610f95565b60208101610bf18284610fc3565b602080825281016111a28184610f95565b6020808252810161087781610fcc565b6020808252810161087781611050565b60208082528101610877816110da565b6020808252810161087781611113565b60200190565b5190565b90815260200190565b60006111a26020840184610be6565b6000808335601e193685900301811261134257600080fd5b83810160208101935035915067ffffffffffffffff82111561136357600080fd5b3682900384131561137357600080fd5b509250929050565b60006108778261138b565b151590565b6001600160a01b031690565b63ffffffff1690565b60006108778261137b565b82818337506000910152565b60005b838110156113d25781810151838201526020016113ba565b838111156113e1576000848401525b50505050565b601f01601f191690565b6113fa8161137b565b811461140557600080fd5b50565b6113fa816102d3565b6113fa8161139756fea365627a7a72315820f120088082344418b6734cfb9dfb744636fc53f16fe25edf83b27da1354f99856c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"bytes[]","name":"payloads","type":"bytes[]"}],"name":"RelayBatchInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"}],"name":"RelayInitiated","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"uint32","name":"crossDomainGasLimit","type":"uint32"}],"name":"initiateRelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"bytes[]","name":"payloads","type":"bytes[]"},{"internalType":"uint32","name":"crossDomainGasLimit","type":"uint32"}],"name":"initiateRelayBatch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xa1449f609b4427b695977ed157cfe46414a16d902590507338c7d5fb00c40206","urls":["bzz-raw://d5743955f14c8d6aa11062dae9cbdb55518cd8f3a591cd1468ce76937079660f","dweb:/ipfs/QmaRTxN92Z1FXMT1vzobt5aKaVgT2w384tpJE8ndWCMpsz"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"OwnerRelayOnEthereum.sol":"OwnerRelayOnEthereum"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"OwnerRelayOnEthereum.sol":{"keccak256":"0xa1449f609b4427b695977ed157cfe46414a16d902590507338c7d5fb00c40206","urls":["bzz-raw://d5743955f14c8d6aa11062dae9cbdb55518cd8f3a591cd1468ce76937079660f","dweb:/ipfs/QmaRTxN92Z1FXMT1vzobt5aKaVgT2w384tpJE8ndWCMpsz"]}},"version":1}},"SystemSettingsLib":{"bytecode":"61227c610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106103a35760003560e01c806392dabaf2116101f3578063cff3fbb211610119578063f02d9a5b116100b7578063fbfd964611610086578063fbfd964614610b21578063fcaee852146103c2578063fd194a35146103c2578063fe250a5514610b68576103a3565b8063f02d9a5b14610aca578063f1076b2514610b09578063f344da6714610b11578063fb1b4c7e14610b19576103a3565b8063d9158b03116100f3578063d9158b0314610a44578063da91c7b81461087a578063e6abf7cc14610a83578063e78e6bb914610ac2576103a3565b8063cff3fbb21461075c578063d4aebcef146103c2578063d62ae3991461094d576103a3565b8063add0989d11610191578063c264b8f311610160578063c264b8f314610754578063c35b995c146109ac578063c404a0de146109ef578063c58c9ae414610a3c576103a3565b8063add0989d1461095d578063af8bc66014610965578063b2ea705414610754578063b3ebdca41461096d576103a3565b80639f91787d116101cd5780639f91787d14610945578063a4ce5b7114610955578063a6c46110146103c2578063aad237391461094d576103a3565b806392dabaf21461090657806394286a1e1461094557806398be8e3f1461094d576103a3565b80636a5b3043116102d85780637c1d99d6116102765780638134ddb7116102455780638134ddb7146108c1578063834f26de146103c257806383c2ab4d146103c25780638ab5a4a214610754576103a3565b80637c1d99d6146108315780637ce2cc7f146108725780637e1ba6a41461087a5780637eb294141461075c576103a3565b80636db97ffa116102b25780636db97ffa146103c257806372c6c341146107da57806375d0c0dc146107e25780637c14e56b146107ea576103a3565b80636a5b30431461075c5780636c5a9809146105ef5780636d4851f11461079b576103a3565b8063446ca4fd116103455780635d3045ab1161031f5780635d3045ab146106895780635f7ad871146106ce57806363daca0914610715578063657c6dc714610754576103a3565b8063446ca4fd146105ef57806353c0bf1c14610634578063580a975c14610681576103a3565b806311d78c0c1161038157806311d78c0c1461044257806319305b3c1461048d5780631a5bb1f7146104cc57806333ddab68146105b0576103a3565b8063085f95cd146103a85780630e7bf1c5146103c257806310ada72014610403575b600080fd5b6103b0610ba7565b60408051918252519081900360200190f35b8180156103ce57600080fd5b50610401600480360360608110156103e557600080fd5b506001600160a01b038135169060208101359060400135610bb3565b005b81801561040f57600080fd5b506103b06004803603606081101561042657600080fd5b506001600160a01b038135169060208101359060400135610c36565b81801561044e57600080fd5b50610401600480360360a081101561046557600080fd5b506001600160a01b038135169060208101359060408101359060608101359060800135610d9c565b81801561049957600080fd5b50610401600480360360608110156104b057600080fd5b506001600160a01b038135169060208101359060400135610f53565b8180156104d857600080fd5b50610401600480360360808110156104ef57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561051f57600080fd5b82018360208201111561053157600080fd5b8035906020019184602083028401116401000000008311171561055357600080fd5b91939092909160208101903564010000000081111561057157600080fd5b82018360208201111561058357600080fd5b803590602001918460208302840111640100000000831117156105a557600080fd5b509092509050610f99565b8180156105bc57600080fd5b50610401600480360360608110156105d357600080fd5b506001600160a01b038135169060208101359060400135611144565b8180156105fb57600080fd5b506104016004803603608081101561061257600080fd5b506001600160a01b0381351690602081013590604081013590606001356111c6565b81801561064057600080fd5b50610401600480360360a081101561065757600080fd5b506001600160a01b038135811691602081013591604082013516906060810135906080013561126e565b6103b0611430565b81801561069557600080fd5b50610401600480360360808110156106ac57600080fd5b506001600160a01b038135169060208101359060408101359060600135611437565b8180156106da57600080fd5b50610401600480360360808110156106f157600080fd5b506001600160a01b03813581169160208101359160408201359160600135166114bf565b81801561072157600080fd5b506104016004803603606081101561073857600080fd5b506001600160a01b0381351690602081013590604001356115a7565b6103b0611657565b81801561076857600080fd5b506104016004803603606081101561077f57600080fd5b506001600160a01b038135169060208101359060400135611663565b8180156107a757600080fd5b50610401600480360360608110156107be57600080fd5b506001600160a01b0381351690602081013590604001356116aa565b6103b06116f1565b6103b0611706565b8180156107f657600080fd5b506104016004803603608081101561080d57600080fd5b506001600160a01b038135169060208101359060408101359060600135151561171b565b81801561083d57600080fd5b506104016004803603606081101561085457600080fd5b506001600160a01b03813516906020810135906040013515156117a6565b6103b061180d565b81801561088657600080fd5b506104016004803603608081101561089d57600080fd5b506001600160a01b0381358116916020810135916040820135169060600135611814565b8180156108cd57600080fd5b50610401600480360360808110156108e457600080fd5b506001600160a01b0381351690602081013590604081013590606001356118b1565b81801561091257600080fd5b506104016004803603606081101561092957600080fd5b506001600160a01b03813516906020810135906040013561190e565b6103b061196b565b6103b0611970565b6103b0611977565b6103b0611983565b6103b0611989565b81801561097957600080fd5b506104016004803603606081101561099057600080fd5b506001600160a01b03813516906020810135906040013561198e565b8180156109b857600080fd5b50610401600480360360608110156109cf57600080fd5b506001600160a01b03813581169160208101359160409091013516611a11565b8180156109fb57600080fd5b50610401600480360360a0811015610a1257600080fd5b506001600160a01b0381358116916020810135916040820135169060608101359060800135611ad5565b6103b0611bdb565b818015610a5057600080fd5b5061040160048036036060811015610a6757600080fd5b506001600160a01b038135169060208101359060400135611be2565b818015610a8f57600080fd5b5061040160048036036060811015610aa657600080fd5b506001600160a01b038135169060208101359060400135611c3a565b6103b0611ce9565b818015610ad657600080fd5b5061040160048036036060811015610aed57600080fd5b506001600160a01b038135169060208101359060400135611cf4565b6103b0611d5b565b6103b0611d62565b6103b0611d69565b818015610b2d57600080fd5b5061040160048036036080811015610b4457600080fd5b506001600160a01b0381358116916020810135916040820135169060600135611d75565b818015610b7457600080fd5b5061040160048036036060811015610b8b57600080fd5b506001600160a01b038135169060208101359060400135611e2a565b670c7d713b49da000081565b60408051631d5b277f60e01b81526d53797374656d53657474696e677360901b6004820152602481018490526044810183905290516001600160a01b03851691631d5b277f91606480830192600092919082900301818387803b158015610c1957600080fd5b505af1158015610c2d573d6000803e3d6000fd5b50505050505050565b60006032821115610c83576040805162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b604482015290519081900360640190fd5b610d146064610d0873__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ccf57600080fd5b505af4158015610ce3573d6000803e3d6000fd5b505050506040513d6020811015610cf957600080fd5b5051859063ffffffff611e8716565b9063ffffffff611ee916565b9050836001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b85846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b505050509392505050565b610e34610e1f8373__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610de757600080fd5b505af4158015610dfb573d6000803e3d6000fd5b505050506040513d6020811015610e1157600080fd5b50519063ffffffff611f5316565b670de0b6b3a76400009063ffffffff611fad16565b831115610e725760405162461bcd60e51b81526004018080602001828103825260388152602001806120386038913960400191505060405180910390fd5b6000610e8c82671bc16d674ec8000063ffffffff611fcb16565b905080841015610ecd5760405162461bcd60e51b81526004018080602001828103825260288152602001806121946028913960400191505060405180910390fd5b60408051631d5b277f60e01b81526d53797374656d53657474696e677360901b6004820152602481018790526044810186905290516001600160a01b03881691631d5b277f91606480830192600092919082900301818387803b158015610f3357600080fd5b505af1158015610f47573d6000803e3d6000fd5b50505050505050505050565b6001600160c01b03811115610bb35760405162461bcd60e51b81526004018080602001828103825260288152602001806120916028913960400191505060405180910390fd5b828114610fed576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b83811015610c2d5767016345785d8a000083838381811061100d57fe5b905060200201351115611067576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b866001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b8888888681811061109557fe5b905060200201356040516020018083815260200182815260200192505050604051602081830303815290604052805190602001208686868181106110d557fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561112057600080fd5b505af1158015611134573d6000803e3d6000fd5b505060019092019150610ff09050565b603c8110156111845760405162461bcd60e51b81526004018080602001828103825260268152602001806121146026913960400191505060405180910390fd5b62015180811115610bb35760405162461bcd60e51b81526004018080602001828103825260278152602001806121bc6027913960400191505060405180910390fd5b6040805160208082018690528183018590528251808303840181526060830180855281519190920120631d5b277f60e01b9091526d53797374656d53657474696e677360901b6064830152608482015260a4810183905290516001600160a01b03861691631d5b277f9160c480830192600092919082900301818387803b15801561125057600080fd5b505af1158015611264573d6000803e3d6000fd5b5050505050505050565b670de0b6b3a76400008213156112cb576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4d494e545f4645455f52415445604482015290519081900360640190fd5b670de0b6b3a763ffff198212156113135760405162461bcd60e51b81526004018080602001828103825260218152602001806120706021913960400191505060405180910390fd5b60008212156113745780826000031315611374576040805162461bcd60e51b815260206004820152601a60248201527f2d72617465203e20777261707065724275726e46656552617465000000000000604482015290519081900360640190fd5b6040805160208082018790526bffffffffffffffffffffffff19606087901b168284015282516034818403018152605483018085528151919092012063d71a9b0160e01b9091526d53797374656d53657474696e677360901b605883015260788201526098810184905290516001600160a01b0387169163d71a9b019160b880830192600092919082900301818387803b15801561141157600080fd5b505af1158015611425573d6000803e3d6000fd5b505050505050505050565b62093a8081565b80156111c657603c81101561147d5760405162461bcd60e51b815260040180806020018281038252603a8152602001806120da603a913960400191505060405180910390fd5b620151808111156111c65760405162461bcd60e51b815260040180806020018281038252603b81526020018061220d603b913960400191505060405180910390fd5b6001600160a01b03811661151a576040805162461bcd60e51b815260206004820152601e60248201527f41746f6d6963206571756976616c656e74206973203020616464726573730000604482015290519081900360640190fd5b60408051602080820186905281830185905282518083038401815260608301808552815191909201206309b9412f60e31b9091526d53797374656d53657474696e677360901b606483015260848201526001600160a01b0383811660a4830152915191861691634dca09789160c48082019260009290919082900301818387803b15801561125057600080fd5b620151808110156115ff576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b624f1a00811115610bb3576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b670de0b6b3a764000081565b670c7d713b49da0000811115610bb35760405162461bcd60e51b8152600401808060200182810382526021815260200180611ff66021913960400191505060405180910390fd5b670de0b6b3a7640000811115610bb35760405162461bcd60e51b815260040180806020018281038252603381526020018061213a6033913960400191505060405180910390fd5b6d53797374656d53657474696e677360901b81565b6d53797374656d53657474696e677360901b90565b6040805160208082018690528183018590528251808303840181526060830180855281519190920120630fca29bf60e21b9091526d53797374656d53657474696e677360901b6064830152608482015282151560a482015290516001600160a01b03861691633f28a6fc9160c480830192600092919082900301818387803b15801561125057600080fd5b60408051630fca29bf60e21b81526d53797374656d53657474696e677360901b600482015260248101849052821515604482015290516001600160a01b03851691633f28a6fc91606480830192600092919082900301818387803b158015610c1957600080fd5b622dc6c081565b6040805160208082018690526bffffffffffffffffffffffff19606086901b1682840152825160348184030181526054830180855281519190920120631d5b277f60e01b9091526d53797374656d53657474696e677360901b605883015260788201526098810183905290516001600160a01b03861691631d5b277f9160b880830192600092919082900301818387803b15801561125057600080fd5b67016345785d8a00008111156111c6576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b670de0b6b3a7640000811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4255524e5f4645455f52415445604482015290519081900360640190fd5b603c81565b6201518081565b671bc16d674ec8000081565b61012c81565b603281565b6203f4808111156119d05760405162461bcd60e51b815260040180806020018281038252602781526020018061216d6027913960400191505060405180910390fd5b61012c811015610bb35760405162461bcd60e51b815260040180806020018281038252602a8152602001806121e3602a913960400191505060405180910390fd5b6001600160a01b038116611a6c576040805162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015290519081900360640190fd5b604080516309b9412f60e31b81526d53797374656d53657474696e677360901b6004820152602481018490526001600160a01b038381166044830152915191851691634dca09789160648082019260009290919082900301818387803b158015610c1957600080fd5b670de0b6b3a7640000821315611b32576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4255524e5f4645455f52415445604482015290519081900360640190fd5b670de0b6b3a763ffff19821215611b7a5760405162461bcd60e51b81526004018080602001828103825260218152602001806120176021913960400191505060405180910390fd5b60008212156113745780826000031315611374576040805162461bcd60e51b815260206004820152601a60248201527f2d72617465203e20777261707065724d696e7446656552617465000000000000604482015290519081900360640190fd5b62b71b0081565b62093a80811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015290519081900360640190fd5b80611c8c576040805162461bcd60e51b815260206004820152601b60248201527f4d61782064796e616d6963206665652063616e6e6f7420626520300000000000604482015290519081900360640190fd5b67016345785d8a0000811115610bb3576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b6001600160c01b0381565b622dc6c08110158015611d0a575062b71b008111155b610bb3576040805162461bcd60e51b815260206004820152601d60248201527f4f7574206f662072616e67652078446f6d61696e206761734c696d6974000000604482015290519081900360640190fd5b6203f48081565b624f1a0081565b67016345785d8a000081565b73__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611db957600080fd5b505af4158015611dcd573d6000803e3d6000fd5b505050506040513d6020811015611de357600080fd5b5051610e1002811115611814576040805162461bcd60e51b815260206004820152600a60248201526926b0bc1018903437bab960b11b604482015290519081900360640190fd5b670de0b6b3a7640000811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4d494e545f4645455f52415445604482015290519081900360640190fd5b600082611e9657506000611ee3565b82820282848281611ea357fe5b0414611ee05760405162461bcd60e51b81526004018080602001828103825260218152602001806120b96021913960400191505060405180910390fd5b90505b92915050565b6000808211611f3f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611f4a57fe5b04949350505050565b600082820183811015611ee0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611ee082610d0885670de0b6b3a764000063ffffffff611e8716565b6000670de0b6b3a7640000611fe6848463ffffffff611e8716565b81611fed57fe5b04939250505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c545972617465203c202d4d41585f575241505045525f4255524e5f4645455f524154456c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c74792972617465203c202d4d41585f575241505045525f4d494e545f4645455f5241544541746f6d6963206d617820766f6c756d6520657863656564206d6178696d756d2075696e74313932536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7741746f6d696320766f6c6174696c69747920636f6e73696465726174696f6e2077696e646f7720756e646572206d696e696d756d2031206d696e41746f6d696320747761702077696e646f7720756e646572206d696e696d756d2031206d696e4e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f4d757374206265206c657373207468616e204d41585f4c49515549444154494f4e5f44454c41596c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f41746f6d696320747761702077696e646f7720657863656564206d6178696d756d2031206461794d7573742062652067726561746572207468616e204d494e5f4c49515549444154494f4e5f44454c415941746f6d696320766f6c6174696c69747920636f6e73696465726174696f6e2077696e646f7720657863656564206d6178696d756d203120646179a265627a7a72315820cd8363b75bb13ef0742464a072a3de5915154d92220f428192cdca5e26a0706264736f6c63430005100032","abi":[{"constant":true,"inputs":[],"name":"MAX_ATOMIC_TWAP_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_ATOMIC_VOLUME_PER_BLOCK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_CROSS_DOMAIN_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_EXCHANGE_FEE_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_FEE_PERIOD_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_ISSUANCE_RATIO","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_LIQUIDATION_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_LIQUIDATION_PENALTY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_LIQUIDATION_RATIO","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_MINIMUM_STAKE_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_TARGET_THRESHOLD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_WRAPPER_BURN_FEE_RATE","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_WRAPPER_MINT_FEE_RATE","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_ATOMIC_TWAP_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_CROSS_DOMAIN_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_FEE_PERIOD_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_LIQUIDATION_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"RATIO_FROM_TARGET_BUFFER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SETTINGS_CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contractName","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xc4e328478f9c625bb34c4f019040afd62b9dfb8f03882727e39888d3173f09a9","urls":["bzz-raw://9b67af2b53422c1e714c9b0d692091b106859c2fac8086e0138f0097404cc9b8","dweb:/ipfs/Qme6KcWY48toJuoEKLHh8SJuKNcJPYHp5jfxXaYsELUTXc"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SystemSettingsLib.sol":"SystemSettingsLib"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SystemSettingsLib.sol":{"keccak256":"0xc4e328478f9c625bb34c4f019040afd62b9dfb8f03882727e39888d3173f09a9","urls":["bzz-raw://9b67af2b53422c1e714c9b0d692091b106859c2fac8086e0138f0097404cc9b8","dweb:/ipfs/Qme6KcWY48toJuoEKLHh8SJuKNcJPYHp5jfxXaYsELUTXc"]}},"version":1}},"SynthetixDebtShare":{"bytecode":"6080604052600a805460ff60881b191690553480156200001e57600080fd5b506040516200247238038062002472833981810160405260408110156200004457600080fd5b50805160209091015180826001600160a01b038116620000ab576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260158082527f53796e746865746978204465627420536861726573000000000000000000000060209092019182526200016a91600891620001be565b506040805180820190915260038082526253445360e81b60209092019182526200019791600991620001be565b5050600a8054610100600160881b031960ff19909116601217166101001790555062000263565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020157805160ff191683800117855562000231565b8280016001018555821562000231579182015b828111156200023157825182559160200191906001019062000214565b506200023f92915062000243565b5090565b6200026091905b808211156200023f57600081556001016200024a565b90565b6121ff80620002736000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806379ba509711610125578063a3e0a7d7116100ad578063cbf1304d1161007c578063cbf1304d146106cf578063d186820614610721578063dd62ed3e14610747578063e6d24bbd14610775578063f9cb1da31461079b5761021c565b8063a3e0a7d714610660578063a9059cbb146102c2578063abb6de951461067d578063c2f04b0a146106a35761021c565b80638ced14df116100f45780638ced14df1461053e5780638da5cb5b1461056a5780638f8495181461057257806395d89b4114610634578063988e65951461063c5761021c565b806379ba5097146104aa57806386f25e4d146104b2578063899ffef4146104ba5780638a25acf4146105125761021c565b806325428394116101a8578063392e53cd11610177578063392e53cd1461046457806353a47bb71461046c578063614d08f81461047457806370a082311461047c57806374185360146104a25761021c565b806325428394146103f25780632af64bd314610418578063313ce567146104205780633913d24b1461043e5761021c565b80631627540c116101ef5780631627540c1461032a578063174495dd1461035057806318160ddd146103765780631a378f0d1461039057806323b872dd146103bc5761021c565b806304f3bcec1461022157806306fdde0314610245578063095ea7b3146102c25780631495552814610302575b600080fd5b6102296107c1565b604080516001600160a01b039092168252519081900360200190f35b61024d6107d0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028757818101518382015260200161026f565b50505050905090810190601f1680156102b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ee600480360360408110156102d857600080fd5b506001600160a01b03813516906020013561085e565b604080519115158252519081900360200190f35b6103286004803603602081101561031857600080fd5b50356001600160a01b0316610897565b005b6103286004803603602081101561034057600080fd5b50356001600160a01b03166108fd565b6103286004803603602081101561036657600080fd5b50356001600160a01b0316610959565b61037e6109b7565b60408051918252519081900360200190f35b610328600480360360408110156103a657600080fd5b506001600160a01b0381351690602001356109db565b6102ee600480360360608110156103d257600080fd5b506001600160a01b03813581169160208101359091169060400135610b61565b6103286004803603602081101561040857600080fd5b50356001600160a01b0316610c61565b6102ee610cbf565b610428610dc9565b6040805160ff9092168252519081900360200190f35b6103286004803603602081101561045457600080fd5b50356001600160a01b0316610dd2565b6102ee610e38565b610229610e48565b61037e610e57565b61037e6004803603602081101561049257600080fd5b50356001600160a01b0316610e70565b610328610ede565b6103286110a6565b610328611162565b6104c261117f565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104fe5781810151838201526020016104e6565b505050509050019250505060405180910390f35b61037e6004803603604081101561052857600080fd5b506001600160a01b0381351690602001356111c7565b61037e6004803603604081101561055457600080fd5b506001600160a01b0381351690602001356112e6565b61022961132c565b6103286004803603604081101561058857600080fd5b8101906020810181356401000000008111156105a357600080fd5b8201836020820111156105b557600080fd5b803590602001918460208302840111640100000000831117156105d757600080fd5b9193909290916020810190356401000000008111156105f557600080fd5b82018360208201111561060757600080fd5b8035906020019184602083028401116401000000008311171561062957600080fd5b50909250905061133b565b61024d611643565b61064461169e565b604080516001600160801b039092168252519081900360200190f35b61037e6004803603602081101561067657600080fd5b50356116b2565b6103286004803603602081101561069357600080fd5b50356001600160801b03166116c4565b610328600480360360408110156106b957600080fd5b506001600160a01b0381351690602001356117fb565b6106fb600480360360408110156106e557600080fd5b506001600160a01b03813516906020013561197d565b604080516001600160801b03938416815291909216602082015281519081900390910190f35b6102ee6004803603602081101561073757600080fd5b50356001600160a01b03166119bd565b61037e6004803603604081101561075d57600080fd5b506001600160a01b03813581169160200135166119d2565b61037e6004803603602081101561078b57600080fd5b50356001600160a01b0316611a04565b6102ee600480360360208110156107b157600080fd5b50356001600160a01b0316611a23565b6002546001600160a01b031681565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b820191906000526020600020905b81548152906001019060200180831161083957829003601f168201915b505050505081565b600060405162461bcd60e51b815260040180806020018281038252602181526020018061215c6021913960400191505060405180910390fd5b61089f611a38565b6001600160a01b038116600081815260046020908152604091829020805460ff19166001908117909155825190815291517f6e713465f03f44982be319e75ac01e2170374630e7bde28a104881e236fb07e39281900390910190a250565b610905611a38565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610961611a38565b6001600160a01b0381166000818152600560209081526040808320805460ff191690558051928352517f6c26d4e15c21227ab0fca84cab71715b23c6c4137b24cbcaedc517b673a1781f9281900390910190a250565b600a5461010090046001600160801b03166000908152600760205260409020545b90565b6109ed6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b031614610a3c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061212f602d913960400191505060405180910390fd5b6001600160a01b038216610a97576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a206275726e2066726f6d207a65726f2061646472657373000000604482015290519081900360640190fd5b610aa18282611b67565b600a5461010090046001600160801b0316600090815260076020526040902054610acb9082611d45565b600a5461010090046001600160801b03166000908152600760209081526040808320939093558251848152925191926001600160a01b0386169260008051602061217d833981519152929181900390910190a36040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b3360009081526004602052604081205460ff16610baf5760405162461bcd60e51b81526004018080602001828103825260318152602001806120a86031913960400191505060405180910390fd5b6001600160a01b038316610c0a576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a2073656e6420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c148483611b67565b610c1e8383611da2565b826001600160a01b0316846001600160a01b031660008051602061217d833981519152846040518082815260200191505060405180910390a35060019392505050565b610c69611a38565b6001600160a01b0381166000818152600460209081526040808320805460ff191690558051928352517f6e713465f03f44982be319e75ac01e2170374630e7bde28a104881e236fb07e39281900390910190a250565b60006060610ccb61117f565b905060005b8151811015610dc0576000828281518110610ce757fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610d4f57600080fd5b505afa158015610d63573d6000803e3d6000fd5b505050506040513d6020811015610d7957600080fd5b50516001600160a01b0316141580610da657506000818152600360205260409020546001600160a01b0316155b15610db757600093505050506109d8565b50600101610cd0565b50600191505090565b600a5460ff1681565b610dda611a38565b6001600160a01b038116600081815260056020908152604091829020805460ff19166001908117909155825190815291517f6c26d4e15c21227ab0fca84cab71715b23c6c4137b24cbcaedc517b673a1781f9281900390910190a250565b600a54600160881b900460ff1681565b6001546001600160a01b031681565b7153796e74686574697844656274536861726560701b81565b6001600160a01b03811660009081526006602052604081205480610e98576000915050610ed9565b6001600160a01b038316600090815260066020526040902080546000198301908110610ec057fe5b6000918252602090912001546001600160801b03169150505b919050565b6060610ee861117f565b905060005b81518110156110a2576000828281518110610f0457fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610fba578181015183820152602001610fa2565b50505050905090810190601f168015610fe75780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561100557600080fd5b505afa158015611019573d6000803e3d6000fd5b505050506040513d602081101561102f57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610eed565b5050565b6001546001600160a01b031633146110ef5760405162461bcd60e51b8152600401808060200182810382526035815260200180611fe36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b61116a611a38565b600a805460ff60881b1916600160881b179055565b604080516001808252818301909252606091602080830190803883390190505090506524b9b9bab2b960d11b816000815181106111b857fe5b60200260200101818152505090565b6001600160a01b03821660009081526006602052604081205481601e82116111f05760006111f5565b601e82035b905060001982015b818112611299576001600160a01b038616600090815260066020526040902080548691908390811061122b57fe5b600091825260209091200154600160801b90046001600160801b031611611290576001600160a01b038616600090815260066020526040902080548290811061127057fe5b6000918252602090912001546001600160801b031693506112e092505050565b600019016111fd565b600081126112d85760405162461bcd60e51b815260040180806020018281038252602f815260200180612018602f913960400191505060405180910390fd5b600093505050505b92915050565b6000806112f384846111c7565b9050806113045760009150506112e0565b60008381526007602052604090205461132490829063ffffffff611e9416565b949350505050565b6000546001600160a01b031681565b611343611a38565b600a54600160881b900460ff161561138c5760405162461bcd60e51b81526004018080602001828103825260358152602001806120fa6035913960400191505060405180910390fd5b600a5461010090046001600160801b0316600090815260076020526040812054905b8481101561161c5760006113dc8787848181106113c757fe5b905060200201356001600160a01b0316610e70565b90508484838181106113ea57fe5b905060200201358110156114ff5760008186868581811061140757fe5b9050602002013503905061143688888581811061142057fe5b905060200201356001600160a01b031682611da2565b611446848263ffffffff611ec516565b935087878481811061145457fe5b905060200201356001600160a01b03166001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a28787848181106114b057fe5b905060200201356001600160a01b03166001600160a01b031660006001600160a01b031660008051602061217d833981519152836040518082815260200191505060405180910390a350611613565b84848381811061150b57fe5b9050602002013581111561161357600085858481811061152757fe5b905060200201358203905061155788888581811061154157fe5b905060200201356001600160a01b031682611b67565b611567848263ffffffff611d4516565b935087878481811061157557fe5b905060200201356001600160a01b03166001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a260008888858181106115d357fe5b905060200201356001600160a01b03166001600160a01b031660008051602061217d833981519152836040518082815260200191505060405180910390a3505b506001016113ae565b50600a5461010090046001600160801b031660009081526007602052604090205550505050565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b600a5461010090046001600160801b031681565b60076020526000908152604090205481565b3360009081526005602052604090205460ff168061170457506116ef6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b0316145b61173f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061219d602e913960400191505060405180910390fd5b600a546001600160801b036101009091048116908216116117a7576040805162461bcd60e51b815260206004820152601e60248201527f706572696f64206964206d75737420616c7761797320696e6372656173650000604482015290519081900360640190fd5b600a8054610100908190046001600160801b03908116600090815260076020526040808220549590921680825291902093909355815470ffffffffffffffffffffffffffffffff0019169202919091179055565b61180d6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b03161461185c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061212f602d913960400191505060405180910390fd5b6001600160a01b0382166118b7576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6118c18282611da2565b600a5461010090046001600160801b03166000908152600760205260409020546118eb9082611ec5565b600a5461010090046001600160801b0316600090815260076020908152604080832093909355825184815292516001600160a01b0386169360008051602061217d83398151915292908290030190a36040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25050565b6006602052816000526040600020818154811061199657fe5b6000918252602090912001546001600160801b038082169350600160801b90910416905082565b60046020526000908152604090205460ff1681565b6001600160a01b03811660009081526004602052604081205460ff16156119fc57506000196112e0565b5060006112e0565b600a546000906112e090839061010090046001600160801b03166112e6565b60056020526000908152604090205460ff1681565b6000546001600160a01b03163314611a815760405162461bcd60e51b815260040180806020018281038252602f815260200180612079602f913960400191505060405180910390fd5b565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611b605760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b25578181015183820152602001611b0d565b50505050905090810190601f168015611b525780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b6001600160a01b03821660009081526006602052604090205480611bbc5760405162461bcd60e51b81526004018080602001828103825260328152602001806120476032913960400191505060405180910390fd5b6001600160a01b03831660009081526006602052604081208054611c0b9185916000198601908110611bea57fe5b6000918252602090912001546001600160801b03169063ffffffff611d4516565b600a546001600160a01b038616600090815260066020526040902080549293506101009091046001600160801b0316916000198501908110611c4957fe5b600091825260209091200154600160801b90046001600160801b031614611cea576001600160a01b038416600090815260066020908152604080832081518083019092526001600160801b038086168352600a546101009004811683850190815282546001810184559286529390942091519101805492518416600160801b029184166001600160801b031990931692909217909216919091179055611d3f565b6001600160a01b038416600090815260066020526040902080548291906000198501908110611d1557fe5b600091825260209091200180546001600160801b0319166001600160801b03929092169190911790555b50505050565b600082821115611d9c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b03821660009081526006602052604090205480611e40576001600160a01b038316600090815260066020908152604080832081518083019092526001600160801b038087168352600a546101009004811683850190815282546001810184559286529390942091519101805492518416600160801b029184166001600160801b031990931692909217909216919091179055611e8f565b6001600160a01b03831660009081526006602052604081208054611c0b9185916000198601908110611e6e57fe5b6000918252602090912001546001600160801b03169063ffffffff611ec516565b505050565b6000611ebe82611eb285670de0b6b3a764000063ffffffff611f1f16565b9063ffffffff611f7816565b9392505050565b600082820183811015611ebe576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082611f2e575060006112e0565b82820282848281611f3b57fe5b0414611ebe5760405162461bcd60e51b81526004018080602001828103825260218152602001806120d96021913960400191505060405180910390fd5b6000808211611fce576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611fd957fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053796e7468657469784465627453686172653a206e6f7420666f756e6420696e20726563656e7420686973746f727953796e7468657469784465627453686172653a206163636f756e7420686173206e6f20736861726520746f206465647563744f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e53796e7468657469784465627453686172653a206f6e6c792062726f6b6572732063616e207472616e7366657246726f6d536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753796e746865746978446562743a206f6e6c792063616c6c61626c65207768696c65207374696c6c20696e697469616c697a696e6753796e7468657469784465627453686172653a206f6e6c79206973737565722063616e206d696e742f6275726e646562742073686172657320617265206e6f74207472616e736665727261626c65ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef53796e7468657469784465627453686172653a206e6f7420617574686f72697a656420746f20736e617073686f74a265627a7a72315820e11b43536dd21a59bb3dcb49ad27bfd66750e25ebf7094c5f21da77098b7418064736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authorizedBroker","type":"address"},{"indexed":false,"internalType":"bool","name":"authorized","type":"bool"}],"name":"ChangeAuthorizedBroker","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authorizedToSnapshot","type":"address"},{"indexed":false,"internalType":"bool","name":"authorized","type":"bool"}],"name":"ChangeAuthorizedToSnapshot","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"addAuthorizedBroker","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"addAuthorizedToSnapshot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedBrokers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedToSnapshot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"periodId","type":"uint256"}],"name":"balanceOfOnPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"balances","outputs":[{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"uint128","name":"periodId","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnShare","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentPeriodId","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishSetup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"importAddresses","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintShare","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"removeAuthorizedBroker","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"removeAuthorizedToSnapshot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"sharePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"periodId","type":"uint256"}],"name":"sharePercentOnPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint128","name":"id","type":"uint128"}],"name":"takeSnapshot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"totalSupplyOnPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x403192bc309d6eee98ddbfaeed166b50c2665df94167c6970e785a65b71dd0e3","urls":["bzz-raw://d2970733a0d6aa60f3586add135bc3b3027a85a7b7b78aa13302b759da9e2a01","dweb:/ipfs/QmXDdJw9UmFP23ERqEzgYGAJtBtmnkbVVu2Guj67dRkK81"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SynthetixDebtShare.sol":"SynthetixDebtShare"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SynthetixDebtShare.sol":{"keccak256":"0x403192bc309d6eee98ddbfaeed166b50c2665df94167c6970e785a65b71dd0e3","urls":["bzz-raw://d2970733a0d6aa60f3586add135bc3b3027a85a7b7b78aa13302b759da9e2a01","dweb:/ipfs/QmXDdJw9UmFP23ERqEzgYGAJtBtmnkbVVu2Guj67dRkK81"]}},"version":1}},"SignedSafeDecimalMath":{"bytecode":"61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a7231582002d10680a162a038b37ac2fc2674f016de20e4afe149e671085264fae2a1a3f164736f6c63430005100032","abi":[{"constant":true,"inputs":[],"name":"PRECISE_UNIT","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"UNIT","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"highPrecisionDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"preciseUnit","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"unit","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"pure","type":"function"}],"source":{"keccak256":"0x0ddaacba077350bf0186ddf53ac5128dfc1de2b4a7e845ab15be49e78f96b5c9","urls":["bzz-raw://b3d390a2e050bb973002380fa2a51a122551b609862d0f29147fa18decc825ce","dweb:/ipfs/QmXn396HhaabfdtctpgxKs5VHpPE6mJmRVJyXAS8tPtMEX"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SignedSafeDecimalMath.sol":"SignedSafeDecimalMath"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SignedSafeDecimalMath.sol":{"keccak256":"0x0ddaacba077350bf0186ddf53ac5128dfc1de2b4a7e845ab15be49e78f96b5c9","urls":["bzz-raw://b3d390a2e050bb973002380fa2a51a122551b609862d0f29147fa18decc825ce","dweb:/ipfs/QmXn396HhaabfdtctpgxKs5VHpPE6mJmRVJyXAS8tPtMEX"]}},"version":1}},"OneNetAggregatorIssuedSynths":{"bytecode":"608060405234801561001057600080fd5b506040516107c73803806107c78339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055506106b5806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b610169610305565b61013961030a565b6100f76103c6565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103d5565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b5035610533565b6101696004803603602081101561022e57600080fd5b5035610576565b6101696004803603602081101561024b57600080fd5b503561058c565b6101696105a2565b6101bc6105a8565b6002546001600160a01b031681565b6102796105d1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600090565b6001546001600160a01b031681565b7f4f6e654e657441676772656761746f7249737375656453796e7468730000000081565b600190565b6001546001600160a01b031633146103535760405162461bcd60e51b815260040180806020018281038252603581526020018061061d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546040805163dacb2d0160e01b81526524b9b9bab2b960d11b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b60648201529051600092839283928392839283926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561046057600080fd5b505afa158015610474573d6000803e3d6000fd5b505050506040513d602081101561048a57600080fd5b505160408051637b1001b760e01b8152631cd554d160e21b60048201526001602482015290516001600160a01b0390921691637b1001b791604480820192602092909190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b505160035490915042901561052057506003545b6001989197509550859450879350915050565b61053b6105d1565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b6000610581826103d5565b509195945050505050565b6000610597826103d5565b509095945050505050565b60035481565b60008060008060006105c06105bb610305565b6103d5565b945094509450945094509091929394565b6000546001600160a01b0316331461061a5760405162461bcd60e51b815260040180806020018281038252602f815260200180610652602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820a8352dd68973310a46b067473c21594fbc025d3483917d5536fa040291d56b6e64736f6c63430005100032","abi":[{"inputs":[{"internalType":"contract AddressResolver","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"SetOverrideTimestamp","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"answer","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint80","name":"","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"overrideTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"setOverrideTimestamp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x0ede3bc15d24f2a3af48de0cec7077cd6572345a3fd313e22319e676eeb57526","urls":["bzz-raw://321ca48e8408efd0de1a3fe7c2f23e82ac6253e1e358aef10504cf2739af1e1a","dweb:/ipfs/QmPDBHp4iKUvw76znEsFj4yLiJE4rVymfQrQetqkbgaRiK"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"OneNetAggregatorIssuedSynths.sol":"OneNetAggregatorIssuedSynths"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"OneNetAggregatorIssuedSynths.sol":{"keccak256":"0x0ede3bc15d24f2a3af48de0cec7077cd6572345a3fd313e22319e676eeb57526","urls":["bzz-raw://321ca48e8408efd0de1a3fe7c2f23e82ac6253e1e358aef10504cf2739af1e1a","dweb:/ipfs/QmPDBHp4iKUvw76znEsFj4yLiJE4rVymfQrQetqkbgaRiK"]}},"version":1}},"OneNetAggregatorDebtRatio":{"bytecode":"608060405234801561001057600080fd5b50604051610a7d380380610a7d8339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b03929092169190911790555061096b806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b610169610305565b61013961030a565b6100f76103c6565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103d5565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b503561068a565b6101696004803603602081101561022e57600080fd5b50356106cd565b6101696004803603602081101561024b57600080fd5b50356106e3565b6101696106f9565b6101bc6106ff565b6002546001600160a01b031681565b610279610728565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600090565b6001546001600160a01b031681565b7f4f6e654e657441676772656761746f7244656274526174696f0000000000000081565b600190565b6001546001600160a01b031633146103535760405162461bcd60e51b81526004018080602001828103825260358152602001806108b26035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546040805163dacb2d0160e01b81526524b9b9bab2b960d11b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b60648201529051600092839283928392839283926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561046057600080fd5b505afa158015610474573d6000803e3d6000fd5b505050506040513d602081101561048a57600080fd5b505160408051637b1001b760e01b8152631cd554d160e21b60048201526001602482015290516001600160a01b0390921691637b1001b791604480820192602092909190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b50516002546040805163dacb2d0160e01b81527153796e74686574697844656274536861726560701b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b606482015290519293506000926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561059e57600080fd5b505afa1580156105b2573d6000803e3d6000fd5b505050506040513d60208110156105c857600080fd5b5051604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b15801561060c57600080fd5b505afa158015610620573d6000803e3d6000fd5b505050506040513d602081101561063657600080fd5b50519050600081156106605761065b8261064f85610773565b9063ffffffff61078f16565b610663565b60005b60035490915042901561067557506003545b60019a91995097508796508995509350505050565b610692610728565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b60006106d8826103d5565b509195945050505050565b60006106ee826103d5565b509095945050505050565b60035481565b6000806000806000610717610712610305565b6103d5565b945094509450945094509091929394565b6000546001600160a01b031633146107715760405162461bcd60e51b815260040180806020018281038252602f8152602001806108e7602f913960400191505060405180910390fd5b565b600061078982633b9aca0063ffffffff6107ab16565b92915050565b60006107a48383670de0b6b3a7640000610804565b9392505050565b6000826107ba57506000610789565b828202828482816107c757fe5b04146107a45760405162461bcd60e51b81526004018080602001828103825260218152602001806109166021913960400191505060405180910390fd5b60008061082a8461081e87600a870263ffffffff6107ab16565b9063ffffffff61084716565b90506005600a82061061083b57600a015b600a9004949350505050565b600080821161089d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816108a857fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a7231582009e49f7debea502e08c3eb3be2d65a2024aceab8ea78b8785278a3ca603582cd64736f6c63430005100032","abi":[{"inputs":[{"internalType":"contract AddressResolver","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"SetOverrideTimestamp","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"answer","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint80","name":"","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"overrideTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"setOverrideTimestamp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0xb64547811fca7c66e90856ac0f175ca0e3dcc2033ec15985fbb854ff275e796c","urls":["bzz-raw://27c3111da5cb739550e024dd051aeb5ad4bcb57dcff396a29041ffa312228703","dweb:/ipfs/QmP6J5yQFEq9N7JZ9659n2BbEPFmGZhZp2kLN512Azar9v"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"OneNetAggregatorDebtRatio.sol":"OneNetAggregatorDebtRatio"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"OneNetAggregatorDebtRatio.sol":{"keccak256":"0xb64547811fca7c66e90856ac0f175ca0e3dcc2033ec15985fbb854ff275e796c","urls":["bzz-raw://27c3111da5cb739550e024dd051aeb5ad4bcb57dcff396a29041ffa312228703","dweb:/ipfs/QmP6J5yQFEq9N7JZ9659n2BbEPFmGZhZp2kLN512Azar9v"]}},"version":1}},"ExchangeCircuitBreaker":{"bytecode":"608060405234801561001057600080fd5b506040516116d23803806116d28339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050506115ac806101266000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063614d08f8116100a25780637dd1a57a116100715780637dd1a57a14610253578063899ffef4146102705780638da5cb5b146102c8578063a47af19e146102d0578063cb1ec317146103065761010b565b8063614d08f814610218578063741853601461022057806378cb51cb1461022857806379ba50971461024b5761010b565b8063372a395a116100de578063372a395a146101e65780633fa70f45146102005780634ffcd9df1461020857806353a47bb7146102105761010b565b806304f3bcec146101105780631627540c1461013457806324286df01461015c5780632af64bd3146101ca575b600080fd5b610118610323565b604080516001600160a01b039092168252519081900360200190f35b61015a6004803603602081101561014a57600080fd5b50356001600160a01b0316610332565b005b61015a6004803603602081101561017257600080fd5b810190602081018135600160201b81111561018c57600080fd5b82018360208201111561019e57600080fd5b803590602001918460208302840111600160201b831117156101bf57600080fd5b50909250905061038e565b6101d2610623565b604080519115158252519081900360200190f35b6101ee61072e565b60408051918252519081900360200190f35b6101ee61073d565b610118610742565b61011861075d565b6101ee61076c565b61015a610789565b6101d26004803603604081101561023e57600080fd5b5080359060200135610951565b61015a610966565b6101ee6004803603602081101561026957600080fd5b5035610a22565b610278610a34565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102b457818101518382015260200161029c565b505050509050019250505060405180910390f35b610118610aec565b6102ed600480360360208110156102e657600080fd5b5035610afb565b6040805192835290151560208301528051918290030190f35b6102ed6004803603602081101561031c57600080fd5b5035610d75565b6002546001600160a01b031681565b61033a610e1a565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610396610e1a565b606060006103a2610742565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561041457600080fd5b505afa158015610428573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561045157600080fd5b8101908080516040519392919084600160201b82111561047057600080fd5b90830190602082018581111561048557600080fd5b82518660208202830111600160201b821117156104a157600080fd5b82525081516020918201928201910280838360005b838110156104ce5781810151838201526020016104b6565b50505050919091016040525060200151929450919250508115905061053a576040805162461bcd60e51b815260206004820181905260248201527f526174657320666f7220676976656e2073796e746873206e6f742076616c6964604482015290519081900360640190fd5b60005b8381101561061c577f04ee51667f8fd5f98b8803e7cd0a206fb508b0c37545e7f8055f0de051d8ad4385858381811061057257fe5b905060200201356004600088888681811061058957fe5b905060200201358152602001908152602001600020548584815181106105ab57fe5b602002602001015160405180848152602001838152602001828152602001935050505060405180910390a18281815181106105e257fe5b6020026020010151600460008787858181106105fa57fe5b602090810292909201358352508101919091526040016000205560010161053d565b5050505050565b6000606061062f610a34565b905060005b815181101561072457600082828151811061064b57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156106b357600080fd5b505afa1580156106c7573d6000803e3d6000fd5b505050506040513d60208110156106dd57600080fd5b50516001600160a01b031614158061070a57506000818152600360205260409020546001600160a01b0316155b1561071b576000935050505061072b565b50600101610634565b5060019150505b90565b6000610738610e65565b905090565b604181565b60006107386c45786368616e6765526174657360981b610f1c565b6001546001600160a01b031681565b7522bc31b430b733b2a1b4b931bab4ba213932b0b5b2b960511b81565b6060610793610a34565b905060005b815181101561094d5760008282815181106107af57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561086557818101518382015260200161084d565b50505050905090810190601f1680156108925780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156108b057600080fd5b505afa1580156108c4573d6000803e3d6000fd5b505050506040513d60208110156108da57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610798565b5050565b600061095d8383611000565b90505b92915050565b6001546001600160a01b031633146109af5760405162461bcd60e51b81526004018080602001828103825260358152602001806114f36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60009081526004602052604090205490565b606080610a3f61105f565b60408051600380825260808201909252919250606091906020820183803883390190505090506b53797374656d53746174757360a01b81600081518110610a8257fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610aac57fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610acf57fe5b602002602001018181525050610ae582826110b0565b9250505090565b6000546001600160a01b031681565b600080610b06611165565b6001600160a01b031663c0eee4436040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3e57600080fd5b505afa158015610b52573d6000803e3d6000fd5b505050506040513d6020811015610b6857600080fd5b505115610b7457610d60565b600080610b7f610742565b6001600160a01b0316630c71cd23866040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015610bc157600080fd5b505afa158015610bd5573d6000803e3d6000fd5b505050506040513d6040811015610beb57600080fd5b50805160209091015190925090508080610c0a5750610c0a858361117f565b15610d4b576000610c196113d4565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c5c57600080fd5b505afa158015610c70573d6000803e3d6000fd5b505050506040513d6020811015610c8657600080fd5b50516001600160a01b03161415610cd4576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b610cdc611165565b6001600160a01b031663abc0bb6e8660416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610d2a57600080fd5b505af1158015610d3e573d6000803e3d6000fd5b5050505060019250610d5d565b60008581526004602052604090208290555b50505b60009283526004602052604090922054929050565b600080600080610d83610742565b6001600160a01b0316630c71cd23866040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015610dc557600080fd5b505afa158015610dd9573d6000803e3d6000fd5b505050506040513d6040811015610def57600080fd5b5080516020909101519092509050818180610e0f5750610e0f868461117f565b935093505050915091565b6000546001600160a01b03163314610e635760405162461bcd60e51b815260040180806020018281038252602f815260200180611528602f913960400191505060405180910390fd5b565b6000610e6f6113e8565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015610eeb57600080fd5b505afa158015610eff573d6000803e3d6000fd5b505050506040513d6020811015610f1557600080fd5b5051905090565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610ff95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fbe578181015183820152602001610fa6565b50505050905090810190601f168015610feb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600082158061100d575081155b1561101a57506001610960565b60008383111561103b57611034838563ffffffff61140516565b905061104e565b61104b848463ffffffff61140516565b90505b611056610e65565b11159392505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106110a157fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156110e0578160200160208202803883390190505b50905060005b8351811015611122578381815181106110fb57fe5b602002602001015182828151811061110f57fe5b60209081029190910101526001016110e6565b5060005b8251811015610ff95782818151811061113b57fe5b602002602001015182828651018151811061115257fe5b6020908102919091010152600101611126565b60006107386b53797374656d53746174757360a01b610f1c565b60008161118e57506001610960565b60008381526004602052604090205480156111b5576111ad8184611000565b915050610960565b60606111bf610742565b6001600160a01b031663ed76245086600460006040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060006040518083038186803b15801561121457600080fd5b505afa158015611228573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561125157600080fd5b8101908080516040519392919084600160201b82111561127057600080fd5b90830190602082018581111561128557600080fd5b82518660208202830111600160201b821117156112a157600080fd5b82525081516020918201928201910280838360005b838110156112ce5781810151838201526020016112b6565b5050505090500160405260200180516040519392919084600160201b8211156112f657600080fd5b90830190602082018581111561130b57600080fd5b82518660208202830111600160201b8211171561132757600080fd5b82525081516020918201928201910280838360005b8381101561135457818101518382015260200161133c565b505050509050016040525050505090506000600190505b81518110156113c857600082828151811061138257fe5b60200260200101511180156113af57506113af8282815181106113a157fe5b602002602001015186611000565b156113c05760019350505050610960565b60010161136b565b50600095945050505050565b60006107386524b9b9bab2b960d11b610f1c565b60006107386e466c657869626c6553746f7261676560881b610f1c565b600061095d8261142385670de0b6b3a764000063ffffffff61142f16565b9063ffffffff61148816565b60008261143e57506000610960565b8282028284828161144b57fe5b041461095d5760405162461bcd60e51b81526004018080602001828103825260218152602001806115576021913960400191505060405180910390fd5b60008082116114de576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816114e957fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158209782593f6a4fdb08c095cac3dcd7bebad5cb55611d73615e71041a392b0ad0d664736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"previousRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newRate","type":"uint256"}],"name":"LastRateOverriden","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":true,"inputs":[],"name":"CIRCUIT_BREAKER_SUSPENSION_REASON","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"exchangeRates","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"base","type":"uint256"},{"internalType":"uint256","name":"comparison","type":"uint256"}],"name":"isDeviationAboveThreshold","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"lastExchangeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"priceDeviationThresholdFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateWithBreakCircuit","outputs":[{"internalType":"uint256","name":"lastValidRate","type":"uint256"},{"internalType":"bool","name":"circuitBroken","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateWithInvalid","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"resetLastExchangeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x9a69567c37adbbe24df3515316cebbfb4899916d08af38c7738e4cd32c73827d","urls":["bzz-raw://9edb699f3216673201bcf24a5dc4289b3fb5e8614c5c5f2b9f270495005bd7f9","dweb:/ipfs/QmZZvcu5Takmk2PZhQ7w83MTyHAcrbrHF1R2vouZXVJXSL"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ExchangeCircuitBreaker.sol":"ExchangeCircuitBreaker"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"ExchangeCircuitBreaker.sol":{"keccak256":"0x9a69567c37adbbe24df3515316cebbfb4899916d08af38c7738e4cd32c73827d","urls":["bzz-raw://9edb699f3216673201bcf24a5dc4289b3fb5e8614c5c5f2b9f270495005bd7f9","dweb:/ipfs/QmZZvcu5Takmk2PZhQ7w83MTyHAcrbrHF1R2vouZXVJXSL"]}},"version":1}},"EmptyFuturesMarketManager":{"bytecode":"608060405234801561001057600080fd5b5061025c806100206000396000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c8063614d08f81161005b578063614d08f814610163578063e63bfadb1461016b578063fc7b9c18146101a4578063fe11edc9146101c55761007c565b80628d3aca1461008157806326e04f9d14610141578063375a7cba1461015b575b600080fd5b6100f16004803603602081101561009757600080fd5b8101906020810181356401000000008111156100b257600080fd5b8201836020820111156100c457600080fd5b803590602001918460208302840111640100000000831117156100e657600080fd5b5090925090506101e4565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561012d578181015183820152602001610115565b505050509050019250505060405180910390f35b6101496101ec565b60408051918252519081900360200190f35b6100f16101f1565b6101496101f6565b6101886004803603602081101561018157600080fd5b503561021a565b604080516001600160a01b039092168252519081900360200190f35b6101ac610220565b6040805192835290151560208301528051918290030190f35b6100f1600480360360408110156101db57600080fd5b50803590602001355b606092915050565b600090565b606090565b7f456d707479467574757265734d61726b65744d616e616765720000000000000081565b50600090565b600080909156fea265627a7a7231582062200c475f3efcf77c70a66da401000a3d57b7129c38a3429d4dc7b15f5e06b964736f6c63430005100032","abi":[{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allMarkets","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"marketKey","type":"bytes32"}],"name":"marketForKey","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"markets","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"marketKeys","type":"bytes32[]"}],"name":"marketsForKeys","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numMarkets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalDebt","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x70d93adddedc13bddf1a98d5846f06736949d0d26d0547bacc656be9ee829055","urls":["bzz-raw://19074f999f78cc9081592524e31f5defcd508dba90502cef2d6a715c93eb77eb","dweb:/ipfs/QmRKfTw7hXnaLBgnGXLvoBuJukCTgnftWKdt8bJapmfeme"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"EmptyFuturesMarketManager.sol":"EmptyFuturesMarketManager"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"EmptyFuturesMarketManager.sol":{"keccak256":"0x70d93adddedc13bddf1a98d5846f06736949d0d26d0547bacc656be9ee829055","urls":["bzz-raw://19074f999f78cc9081592524e31f5defcd508dba90502cef2d6a715c93eb77eb","dweb:/ipfs/QmRKfTw7hXnaLBgnGXLvoBuJukCTgnftWKdt8bJapmfeme"]}},"version":1}},"Liquidator":{"bytecode":"608060405234801561001057600080fd5b506040516122f43803806122f48339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050506121ce806101266000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806379ba5097116100f9578063974e9e7f11610097578063b410a03411610071578063b410a034146103f7578063c855a8e1146103ff578063d45c0d7e14610407578063f557f73c1461042d576101c4565b8063974e9e7f146103a3578063a0cf7451146103c9578063ad2bc2d5146103d1576101c4565b8063899ffef4116100d3578063899ffef41461030d5780638d1bd1be146103655780638da5cb5b1461036d578063952225f314610375576101c4565b806379ba5097146102d75780638074b372146102df578063828afc4b146102e7576101c4565b806339a9df1b11610166578063614d08f811610140578063614d08f8146102b75780636a058966146102bf57806374185360146102c757806374e889c9146102cf576101c4565b806339a9df1b1461026357806353a47bb7146102895780635616c95714610291576101c4565b80631775765f116101a25780631775765f1461022f57806323f5589a146102375780632af64bd31461023f57806331e4e0301461025b576101c4565b806304f3bcec146101c95780631627540c146101ed5780631710940c14610215575b600080fd5b6101d1610456565b604080516001600160a01b039092168252519081900360200190f35b6102136004803603602081101561020357600080fd5b50356001600160a01b0316610465565b005b61021d6104c1565b60408051918252519081900360200190f35b61021d6104d1565b61021d6104db565b6102476104e5565b604080519115158252519081900360200190f35b61021d6105ef565b6102476004803603602081101561027957600080fd5b50356001600160a01b03166105f9565b6101d1610622565b6101d1600480360360208110156102a757600080fd5b50356001600160a01b0316610631565b61021d61064f565b61021d610660565b610213610678565b61021d610840565b61021361085a565b61021d610916565b61021d600480360360208110156102fd57600080fd5b50356001600160a01b0316610920565b61031561093b565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610351578181015183820152602001610339565b505050509050019250505060405180910390f35b61021d610a1a565b6101d1610aa3565b6102476004803603604081101561038b57600080fd5b506001600160a01b0381351690602001351515610ab2565b610213600480360360208110156103b957600080fd5b50356001600160a01b0316610bb4565b61021d610c2f565b610213600480360360208110156103e757600080fd5b50356001600160a01b0316610c39565b61021d610e72565b61021d610e7c565b6102136004803603602081101561041d57600080fd5b50356001600160a01b0316610e86565b61021d6004803603606081101561044357600080fd5b50803590602081013590604001356111f8565b6002546001600160a01b031681565b61046d6112ed565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104cb611338565b90505b90565b60006104cb6113e8565b60006104cb611461565b600060606104f161093b565b905060005b81518110156105e657600082828151811061050d57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561057557600080fd5b505afa158015610589573d6000803e3d6000fd5b505050506040513d602081101561059f57600080fd5b50516001600160a01b03161415806105cc57506000818152600360205260409020546001600160a01b0316155b156105dd57600093505050506104ce565b506001016104f6565b50600191505090565b60006104cb6114dc565b6000610603612065565b61060c83611554565b905061061b81600001516116c5565b9392505050565b6001546001600160a01b031681565b600061063b612065565b61064483611554565b602001519392505050565b692634b8bab4b230ba37b960b11b81565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b606061068261093b565b905060005b815181101561083c57600082828151811061069e57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561075457818101518382015260200161073c565b50505050905090810190601f1680156107815780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561079f57600080fd5b505afa1580156107b3573d6000803e3d6000fd5b505050506040513d60208110156107c957600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610687565b5050565b724c69717569646174696f6e446561646c696e6560681b81565b6001546001600160a01b031633146108a35760405162461bcd60e51b815260040180806020018281038252603581526020018061207d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006104cb6116d7565b600061092a612065565b61093383611554565b519392505050565b60608061094661174a565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506b53797374656d53746174757360a01b8160008151811061098a57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816001815181106109b057fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106109d357fe5b6020026020010181815250506c45786368616e6765526174657360981b816003815181106109fd57fe5b602002602001018181525050610a13828261179b565b9250505090565b60006104cb610a276113e8565b73__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6b57600080fd5b505af4158015610a7f573d6000803e3d6000fd5b505050506040513d6020811015610a9557600080fd5b50519063ffffffff61185716565b6000546001600160a01b031681565b600080610abd61186c565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610b1257600080fd5b505afa158015610b26573d6000803e3d6000fd5b505050506040513d6020811015610b3c57600080fd5b50519050610b48611883565b8111610b58576000915050610bae565b82610ba857610b65612065565b610b6e85611554565b9050610b7d81600001516116c5565b8015610b8d5750610b8d856118f9565b15610b9d57600192505050610bae565b600092505050610bae565b60019150505b92915050565b610bbc6119ad565b6001600160a01b0316336001600160a01b031614610c0b5760405162461bcd60e51b815260040180806020018281038252603c8152602001806120b2603c913960400191505060405180910390fd5b610c13612065565b610c1c82611554565b80519091501561083c5761083c826119c1565b60006104cb611a9c565b620a69cb60eb1b610c48611b15565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c8b57600080fd5b505afa158015610c9f573d6000803e3d6000fd5b505050506040513d6020811015610cb557600080fd5b505115610d09576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000604482015290519081900360640190fd5b610d11611b30565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610d4957600080fd5b505afa158015610d5d573d6000803e3d6000fd5b50505050610d69612065565b610d7283611554565b8051909150610dc8576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000604482015290519081900360640190fd5b6000610dd261186c565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610e2757600080fd5b505afa158015610e3b573d6000803e3d6000fd5b505050506040513d6020811015610e5157600080fd5b50519050610e5d611883565b8111610e6c57610e6c846119c1565b50505050565b60006104cb611883565b60006104cb611b4a565b620a69cb60eb1b610e95611b15565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ed857600080fd5b505afa158015610eec573d6000803e3d6000fd5b505050506040513d6020811015610f0257600080fd5b505115610f56576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000604482015290519081900360640190fd5b610f5e611b30565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610f9657600080fd5b505afa158015610faa573d6000803e3d6000fd5b505050506000610fb86113e8565b1161100a576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e20726174696f206e6f742073657400000000000000604482015290519081900360640190fd5b6000611014611a9c565b11611066576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000604482015290519081900360640190fd5b61106e612065565b61107783611554565b8051909150156110b85760405162461bcd60e51b81526004018080602001828103825260278152602001806121736027913960400191505060405180910390fd5b60006110c261186c565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561111757600080fd5b505afa15801561112b573d6000803e3d6000fd5b505050506040513d602081101561114157600080fd5b5051905061114d6113e8565b81101561118b5760405162461bcd60e51b81526004018080602001828103825260358152602001806120ee6035913960400191505060405180910390fd5b60006111a5611198611a9c565b429063ffffffff611bd016565b90506111b2858233611c2a565b6040805182815290516001600160a01b038716917fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996919081900360200190a25050505050565b600080611203611883565b9050600073__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561124b57600080fd5b505af415801561125f573d6000803e3d6000fd5b505050506040513d602081101561127557600080fd5b50519050600061129b61128e878563ffffffff611d8116565b889063ffffffff611dab16565b905060006112cf6112c2856112b6868a63ffffffff611bd016565b9063ffffffff611d8116565b849063ffffffff611dab16565b90506112e1828263ffffffff611e0816565b98975050505050505050565b6000546001600160a01b031633146113365760405162461bcd60e51b815260040180806020018281038252602f815260200180612123602f913960400191505060405180910390fd5b565b6000611342611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b505afa1580156113cb573d6000803e3d6000fd5b505050506040513d60208110156113e157600080fd5b5051905090565b60006113f2611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b600061146b611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b60006114e6611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b61155c612065565b611564611e32565b6001600160a01b03166323257c2b692634b8bab4b230ba37b960b11b6115a0724c69717569646174696f6e446561646c696e6560681b86611e4f565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156115db57600080fd5b505afa1580156115ef573d6000803e3d6000fd5b505050506040513d602081101561160557600080fd5b50518152611611611e32565b6001600160a01b0316639ee5955a692634b8bab4b230ba37b960b11b61164b702634b8bab4b230ba34b7b721b0b63632b960791b86611e4f565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561168657600080fd5b505afa15801561169a573d6000803e3d6000fd5b505050506040513d60208110156116b057600080fd5b50516001600160a01b03166020820152919050565b60008082118015610bae575050421190565b60006116e1611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b69199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061178c57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156117cb578160200160208202803883390190505b50905060005b835181101561180d578381815181106117e657fe5b60200260200101518282815181106117fa57fe5b60209081029190910101526001016117d1565b5060005b82518110156118505782818151811061182657fe5b602002602001015182828651018151811061183d57fe5b6020908102919091010152600101611811565b5092915050565b600061061b8383670de0b6b3a7640000611e8e565b60006104cb680a6f2dce8d0cae8d2f60bb1b611ec5565b600061188d611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b60008061190461186c565b6001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561195957600080fd5b505afa15801561196d573d6000803e3d6000fd5b505050506040513d602081101561198357600080fd5b505190506119a66119926116d7565b61199a6114dc565b9063ffffffff611bd016565b1092915050565b60006104cb6524b9b9bab2b960d11b611ec5565b6119c9611e32565b6001600160a01b03166318f662ed692634b8bab4b230ba37b960b11b611a05724c69717569646174696f6e446561646c696e6560681b85611e4f565b6040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015611a4257600080fd5b505af1158015611a56573d6000803e3d6000fd5b50506040805142815290516001600160a01b03851693507f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c8792509081900360200190a250565b6000611aa6611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b60006104cb6c45786368616e6765526174657360981b611ec5565b60006104cb6b53797374656d53746174757360a01b611ec5565b6000611b54611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e457363726f774475726174696f6e000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b60008282018381101561061b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b611c32611e32565b6001600160a01b0316631d5b277f692634b8bab4b230ba37b960b11b611c6e724c69717569646174696f6e446561646c696e6560681b87611e4f565b856040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611cb357600080fd5b505af1158015611cc7573d6000803e3d6000fd5b50505050611cd3611e32565b6001600160a01b0316634dca0978692634b8bab4b230ba37b960b11b611d0d702634b8bab4b230ba34b7b721b0b63632b960791b87611e4f565b846040518463ffffffff1660e01b815260040180848152602001838152602001826001600160a01b03166001600160a01b031681526020019350505050600060405180830381600087803b158015611d6457600080fd5b505af1158015611d78573d6000803e3d6000fd5b50505050505050565b6000670de0b6b3a7640000611d9c848463ffffffff611fa216565b81611da357fe5b049392505050565b600082821115611e02576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600061061b82611e2685670de0b6b3a764000063ffffffff611fa216565b9063ffffffff611ffb16565b60006104cb6e466c657869626c6553746f7261676560881b611ec5565b6040805160208082019490945260609290921b6bffffffffffffffffffffffff1916828201528051808303603401815260549092019052805191012090565b600080611ea884611e2687600a870263ffffffff611fa216565b90506005600a820610611eb957600a015b600a9004949350505050565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816118505760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f67578181015183820152602001611f4f565b50505050905090810190601f168015611f945780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600082611fb157506000610bae565b82820282848281611fbe57fe5b041461061b5760405162461bcd60e51b81526004018080602001828103825260218152602001806121526021913960400191505060405180910390fd5b6000808211612051576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161205c57fe5b04949350505050565b60408051808201909152600080825260208201529056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704c697175696461746f723a204f6e6c79207468652049737375657220636f6e74726163742063616e20706572666f726d207468697320616374696f6e4163636f756e742069737375616e636520726174696f206973206c657373207468616e206c69717569646174696f6e20726174696f4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774163636f756e7420616c726561647920666c616767656420666f72206c69717569646174696f6ea265627a7a72315820d9dea194bbc35a853968ee64f35318a1f5ebf0ea1516c8364fba0f3dc131834964736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"AccountFlaggedForLiquidation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"AccountRemovedFromLiquidation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LIQUIDATION_CALLER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LIQUIDATION_DEADLINE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"debtBalance","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"uint256","name":"penalty","type":"uint256"}],"name":"calculateAmountToFixCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"checkAndRemoveAccountInLiquidation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"flagAccountForLiquidation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"flagReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getLiquidationCallerForAccount","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getLiquidationDeadlineForAccount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isLiquidationDeadlinePassed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isSelfLiquidation","type":"bool"}],"name":"isLiquidationOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issuanceRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidateReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationCollateralRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationEscrowDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeAccountInLiquidation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"selfLiquidationPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xc6b74874b217e37376d292760ccdde188bec97c34f5d205633d458010bf7cc48","urls":["bzz-raw://ac313c6bda371fbb76160c1df6968bd836944f64a1cc8ac07b25fab863fc1abf","dweb:/ipfs/QmbEsCmibGk6uRXNDbVXmV9o3kwSBwmBtxg4qmYbMJoMrp"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"Liquidator.sol":"Liquidator"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"Liquidator.sol":{"keccak256":"0xc6b74874b217e37376d292760ccdde188bec97c34f5d205633d458010bf7cc48","urls":["bzz-raw://ac313c6bda371fbb76160c1df6968bd836944f64a1cc8ac07b25fab863fc1abf","dweb:/ipfs/QmbEsCmibGk6uRXNDbVXmV9o3kwSBwmBtxg4qmYbMJoMrp"]}},"version":1}},"LiquidatorRewards":{"bytecode":"60806040523480156200001157600080fd5b506040516200187938038062001879833981016040819052620000349162000100565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b0392909216919091179055505060016004555062000217565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b61165280620002276000396000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c806353a47bb711610097578063899ffef411610066578063899ffef4146101da5780638da5cb5b146101ef578063c00007b0146101f7578063f29ee1251461020a576100ff565b806353a47bb7146101ad578063614d08f8146101c257806374185360146101ca57806379ba5097146101d2576100ff565b80631627540c116100d35780631627540c1461016a578063270fb3381461017f5780632af64bd3146101925780633c6b16ab1461019a576100ff565b80628cc26214610104578063049939f31461012d57806304f3bcec1461014d578063061960aa14610162575b600080fd5b610117610112366004610fc4565b61022b565b6040516101249190611460565b60405180910390f35b61014061013b366004610fc4565b610334565b6040516101249190611452565b610155610349565b60405161012491906114aa565b610117610358565b61017d610178366004610fc4565b61035e565b005b61017d61018d366004610fc4565b6103bc565b61014061049a565b61017d6101a8366004611026565b6105b2565b6101b56106a5565b60405161012491906113d5565b6101176106b4565b61017d6106cc565b61017d610822565b6101e26108be565b6040516101249190611441565b6101b56109a4565b61017d610205366004610fc4565b6109b3565b61021d610218366004610fc4565b610b78565b604051610124929190611549565b6000610235610f76565b506001600160a01b0382166000908152600660209081526040918290208251808401909352546001600160801b03808216808552600160801b9092041691830182905260055461032d92610321916102929163ffffffff610b9e16565b61029a610bcb565b6001600160a01b03166370a08231886040518263ffffffff1660e01b81526004016102c591906113d5565b60206040518083038186803b1580156102dd57600080fd5b505afa1580156102f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103159190810190611044565b9063ffffffff610bf016565b9063ffffffff610c1a16565b9392505050565b60076020526000908152604090205460ff1681565b6002546001600160a01b031681565b60055481565b610366610c3f565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906103b19083906113d5565b60405180910390a150565b6001600160a01b03811660009081526007602052604090205460ff1661042b576005546001600160a01b038216600090815260066020908152604080832080546001600160801b03958616600160801b029516949094179093556007905220805460ff19166001179055610497565b604051806040016040528061043f8361022b565b6001600160801b03908116825260055481166020928301526001600160a01b038416600090815260068352604090208351815494909301518216600160801b029282166001600160801b031990941693909317161790555b50565b600060606104a66108be565b905060005b81518110156105a85760008282815181106104c257fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610513908590600401611460565b60206040518083038186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105639190810190610fea565b6001600160a01b031614158061058e57506000818152600360205260409020546001600160a01b0316155b1561059f57600093505050506105af565b506001016104ab565b5060019150505b90565b60006105bc610c6b565b6001600160a01b0316336001600160a01b0316149050806105f85760405162461bcd60e51b81526004016105ef906114c9565b60405180910390fd5b6000610602610bcb565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561063a57600080fd5b505afa15801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106729190810190611044565b905080156106a05761069c61068d848363ffffffff610c8216565b6005549063ffffffff610c1a16565b6005555b505050565b6001546001600160a01b031681565b704c697175696461746f725265776172647360781b81565b60606106d66108be565b905060005b815181101561081e5760008282815181106106f257fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161073491906113ca565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161076092919061148a565b60206040518083038186803b15801561077857600080fd5b505afa15801561078c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107b09190810190610fea565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061080c908490849061146e565b60405180910390a150506001016106db565b5050565b6001546001600160a01b0316331461084c5760405162461bcd60e51b81526004016105ef906114d9565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261088f926001600160a01b03918216929116906113e3565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806108c9610cac565b60408051600480825260a0820190925291925060609190602082016080803883390190505090507153796e74686574697844656274536861726560701b8160008151811061091357fe5b6020026020010181815250506524b9b9bab2b960d11b8160018151811061093657fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160028151811061096157fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061098757fe5b60200260200101818152505061099d8282610cfd565b9250505090565b6000546001600160a01b031681565b60048054600101908190556109c7826103bc565b6001600160a01b0382166000908152600660205260409020546001600160801b03168015610b56576001600160a01b038316600090815260066020526040902080546001600160801b0319169055610a1d610c6b565b6001600160a01b031663095ea7b3610a33610db9565b836040518363ffffffff1660e01b8152600401610a519291906113fe565b602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa39190810190611008565b50610aac610db9565b6001600160a01b031663a0416ed38483610ac4610dd5565b6040518463ffffffff1660e01b8152600401610ae293929190611419565b600060405180830381600087803b158015610afc57600080fd5b505af1158015610b10573d6000803e3d6000fd5b50505050826001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048682604051610b4d9190611460565b60405180910390a25b50600454811461081e5760405162461bcd60e51b81526004016105ef90611539565b6006602052600090815260409020546001600160801b0380821691600160801b90041682565b600082821115610bc05760405162461bcd60e51b81526004016105ef906114f9565b508082035b92915050565b6000610beb7153796e74686574697844656274536861726560701b610e8d565b905090565b6000670de0b6b3a7640000610c0b848463ffffffff610eea16565b81610c1257fe5b049392505050565b60008282018381101561032d5760405162461bcd60e51b81526004016105ef906114e9565b6000546001600160a01b03163314610c695760405162461bcd60e51b81526004016105ef90611519565b565b6000610beb680a6f2dce8d0cae8d2f60bb1b610e8d565b600061032d82610ca085670de0b6b3a764000063ffffffff610eea16565b9063ffffffff610f2416565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610cee57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610d2d578160200160208202803883390190505b50905060005b8351811015610d6f57838181518110610d4857fe5b6020026020010151828281518110610d5c57fe5b6020908102919091010152600101610d33565b5060005b8251811015610db257828181518110610d8857fe5b6020026020010151828286510181518110610d9f57fe5b6020908102919091010152600101610d73565b5092915050565b6000610beb6d2932bbb0b93222b9b1b937bbab1960911b610e8d565b6000610ddf610f59565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e457363726f774475726174696f6e000000000000006040518363ffffffff1660e01b8152600401610e3d92919061147c565b60206040518083038186803b158015610e5557600080fd5b505afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610beb9190810190611044565b60008181526003602090815260408083205490516001600160a01b039091169182151591610ebd918691016113aa565b60405160208183030381529060405290610db25760405162461bcd60e51b81526004016105ef91906114b8565b600082610ef957506000610bc5565b82820282848281610f0657fe5b041461032d5760405162461bcd60e51b81526004016105ef90611529565b6000808211610f455760405162461bcd60e51b81526004016105ef90611509565b6000828481610f5057fe5b04949350505050565b6000610beb6e466c657869626c6553746f7261676560881b610e8d565b604080518082019091526000808252602082015290565b8035610bc5816115e9565b8051610bc5816115e9565b8051610bc5816115fd565b8035610bc581611606565b8051610bc581611606565b600060208284031215610fd657600080fd5b6000610fe28484610f8d565b949350505050565b600060208284031215610ffc57600080fd5b6000610fe28484610f98565b60006020828403121561101a57600080fd5b6000610fe28484610fa3565b60006020828403121561103857600080fd5b6000610fe28484610fae565b60006020828403121561105657600080fd5b6000610fe28484610fb9565b600061106e83836110e7565b505060200190565b61107f8161157c565b82525050565b60006110908261156a565b61109a818561156e565b93506110a583611564565b8060005b838110156110d35781516110bd8882611062565b97506110c883611564565b9250506001016110a9565b509495945050505050565b61107f81611587565b61107f816105af565b61107f6110fc826105af565b6105af565b61107f816115a4565b60006111158261156a565b61111f818561156e565b935061112f8185602086016115af565b611138816115df565b9093019392505050565b600061114f600e8361156e565b6d53796e746865746978206f6e6c7960901b815260200192915050565b600061117960358361156e565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006111d0601b8361156e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611209601e8361156e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611242601a8361156e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061127b601183611577565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006112a8602f8361156e565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006112f960218361156e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061133c601983611577565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611375601f8361156e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b61107f8161158c565b60006113b58261126e565b91506113c182846110f0565b50602001919050565b60006113b58261132f565b60208101610bc58284611076565b604081016113f18285611076565b61032d6020830184611076565b6040810161140c8285611076565b61032d60208301846110e7565b606081016114278286611076565b61143460208301856110e7565b610fe260408301846110e7565b6020808252810161032d8184611085565b60208101610bc582846110de565b60208101610bc582846110e7565b604081016113f182856110e7565b6040810161140c82856110e7565b6040810161149882856110e7565b8181036020830152610fe2818461110a565b60208101610bc58284611101565b6020808252810161032d818461110a565b60208082528101610bc581611142565b60208082528101610bc58161116c565b60208082528101610bc5816111c3565b60208082528101610bc5816111fc565b60208082528101610bc581611235565b60208082528101610bc58161129b565b60208082528101610bc5816112ec565b60208082528101610bc581611368565b6040810161155782856113a1565b61032d60208301846113a1565b60200190565b5190565b90815260200190565b919050565b6000610bc582611598565b151590565b6001600160801b031690565b6001600160a01b031690565b6000610bc58261157c565b60005b838110156115ca5781810151838201526020016115b2565b838111156115d9576000848401525b50505050565b601f01601f191690565b6115f28161157c565b811461049757600080fd5b6115f281611587565b6115f2816105af56fea365627a7a72315820b154d3ba76f0c46718f1a26607bca820731db04f29487c73eba947186030843b6c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"accumulatedRewardsPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"entries","outputs":[{"internalType":"uint128","name":"claimable","type":"uint128"},{"internalType":"uint128","name":"entryAccumulatedRewards","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"initiated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"updateEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x621221d61543cd3356f62b60c84c1a0ba0763ab6caada6705df5db116bcab9e0","urls":["bzz-raw://f440aba73c6f10efa0d7a57890ccc51a2ebc7db360513d8acd11060e3b80cf67","dweb:/ipfs/QmSZ9FgbQZayzNXn5fSZunmXzWkeHcc4NsNXfbTAvRc6ej"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"LiquidatorRewards.sol":"LiquidatorRewards"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"LiquidatorRewards.sol":{"keccak256":"0x621221d61543cd3356f62b60c84c1a0ba0763ab6caada6705df5db116bcab9e0","urls":["bzz-raw://f440aba73c6f10efa0d7a57890ccc51a2ebc7db360513d8acd11060e3b80cf67","dweb:/ipfs/QmSZ9FgbQZayzNXn5fSZunmXzWkeHcc4NsNXfbTAvRc6ej"]}},"version":1}},"OneNetAggregatorsDEFI":{"bytecode":"608060405234801561001057600080fd5b506040516106743803806106748339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b039290921691909117905550610562806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b6101696102fd565b610139610302565b6100f76103be565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103cd565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b50356103e0565b6101696004803603602081101561022e57600080fd5b5035610423565b6101696004803603602081101561024b57600080fd5b5035610439565b61016961044f565b6101bc610455565b6002546001600160a01b031681565b61027961047e565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600890565b6001546001600160a01b031681565b744f6e654e657441676772656761746f72734445464960581b81565b600190565b6001546001600160a01b0316331461034b5760405162461bcd60e51b81526004018080602001828103825260358152602001806104ca6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b50600190644a63af1b0090429081908490565b6103e861047e565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b600061042e826103cd565b509195945050505050565b6000610444826103cd565b509095945050505050565b60035481565b600080600080600061046d6104686102fd565b6103cd565b945094509450945094509091929394565b6000546001600160a01b031633146104c75760405162461bcd60e51b815260040180806020018281038252602f8152602001806104ff602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820d79bf8d4c3e563bd2a93d5f497880761f8c0de381a5b1d35884e3189a76436ec64736f6c63430005100032","abi":[{"inputs":[{"internalType":"contract AddressResolver","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"SetOverrideTimestamp","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"answer","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint80","name":"","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"overrideTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"setOverrideTimestamp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x5b5d345731005a6932760cc76f2a390544cae09c21f7141f4ebeca21f9248692","urls":["bzz-raw://22fa50edf05ee7c60343a4425df992e2dd334c8591b1baf9e9974346109ee7e9","dweb:/ipfs/QmWQYxMiBfMP5Y3473fds9JkLYWp5M2DtB672qKcoaAVUj"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"OneNetAggregatorsDEFI.sol":"OneNetAggregatorsDEFI"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"OneNetAggregatorsDEFI.sol":{"keccak256":"0x5b5d345731005a6932760cc76f2a390544cae09c21f7141f4ebeca21f9248692","urls":["bzz-raw://22fa50edf05ee7c60343a4425df992e2dd334c8591b1baf9e9974346109ee7e9","dweb:/ipfs/QmWQYxMiBfMP5Y3473fds9JkLYWp5M2DtB672qKcoaAVUj"]}},"version":1}}}}')},function(e){e.exports=JSON.parse('{"v2.0-19":{"tag":"v2.0-19","fulltag":"v2.0-19","release":"","network":"mainnet","date":"2019-03-11T18:17:52-04:00","commit":"eeb271f4fdd2e615f9dba90503f42b2cb9f9716e","block":6834810,"contracts":{"Depot":{"address":"0x172E09691DfBbC035E37c73B62095caa16Ee2388","status":"replaced","replaced_in":"v2.18.1"},"ExchangeRates":{"address":"0x73b172756BD5DDf0110Ba8D7b88816Eb639Eb21c","status":"replaced","replaced_in":"v2.1.11"},"FeePool":{"address":"0xEBdBac38835A1105851e80C7Fa1f1E6e25A86e32","status":"replaced","replaced_in":"v2.4.0"},"ProxyFeePool":{"address":"0xb440DD674e1243644791a4AdfE3A2AbB0A92d309","status":"current"},"ProxysAUD":{"address":"0xED4699f180a14B5974c26f494483F9c327Fd381a","status":"replaced","replaced_in":"v2.10.5"},"ProxysBRL":{"address":"0x5D609C25adAafd856021F92296C66dB602A0fcE8","status":"deleted"},"ProxysBTC":{"address":"0x9073Ee83b6CE96C444547DdCAf777b9352163581","status":"replaced","replaced_in":"v2.10.5"},"ProxysCAD":{"address":"0x0Bc209fB72390AF12bD6Fd775355ea0856864B31","status":"deleted"},"ProxysCHF":{"address":"0x28AF5a2f0cC12F2f19dd946608c945456b52b3F6","status":"replaced","replaced_in":"v2.10.5"},"ProxysCNY":{"address":"0x60feeeD05004476518281D43185fB7F52d9722c0","status":"deleted"},"ProxysEUR":{"address":"0x3EB064766109D150e4362222df80638BcE00e037","status":"replaced","replaced_in":"v2.10.5"},"ProxysGBP":{"address":"0x0C8A7D55ef593A2cAd34894c1523162eE2ffB9aC","status":"replaced","replaced_in":"v2.10.5"},"ProxysINR":{"address":"0x74C80bB51Da1EAc2d40074c647CbD0ab6920063f","status":"deleted"},"ProxysJPY":{"address":"0x559E848A1b6a7AfC69Ee27F8d20280A42628b2cf","status":"replaced","replaced_in":"v2.10.5"},"ProxysKRW":{"address":"0xdCE506b196B0dF677d07e718f872CAc9Bc368A33","status":"deleted"},"ProxysNZD":{"address":"0x26C0cb14470803120321b70aE85405ac298e5A42","status":"deleted"},"ProxysPLN":{"address":"0xD9553f0fDa012224141AeCc1ECa0e29868fF7FE8","status":"deleted"},"ProxysRUB":{"address":"0xDcB5821fcFDAB5553307b8f99591fC9DaA3C4be3","status":"deleted"},"ProxysSGD":{"address":"0x632dB1c25C03dCAc8d23Ff2c9A4cEa34cbEffa1B","status":"deleted"},"ProxysUSD":{"address":"0x57Ab1E02fEE23774580C119740129eAC7081e9D3","status":"replaced","replaced_in":"v2.10.2"},"ProxysXAG":{"address":"0x6e5709515C767c907e43a03388cc816Bd65e797C","status":"replaced","replaced_in":"v2.10.5"},"ProxysXAU":{"address":"0xe05D803fa0c5832Fa2262465290abB25d6C2bFA3","status":"replaced","replaced_in":"v2.10.5"},"ProxySynthetix":{"address":"0xC011A72400E58ecD99Ee497CF89E3775d4bd732F","status":"current"},"ProxyXDR":{"address":"0x62492F15cF60c5847d3053e482cAde8C5c29af88","status":"deleted"},"SafeDecimalMath":{"address":"0x84D626B2BB4D0F064067e4BF80FCe7055d8F3E7B","status":"current"},"Synthetix":{"address":"0x3772f9716Cf6D7a09edE3587738AA2af5577483a","status":"replaced","replaced_in":"v2.4.0"},"SynthetixEscrow":{"address":"0x971e78e0C92392A4E39099835cF7E6aB535b2227","status":"current"},"SynthetixState":{"address":"0x4b9Ca5607f1fF8019c1C6A3c2f0CC8de622D5B82","status":"current"},"SynthsAUD":{"address":"0xB03dFc4b9C9756B6D4Fbc12DAde7732149Fcf00d","status":"replaced","replaced_in":"v2.10.5"},"SynthsBRL":{"address":"0xa5A4ccCCcAa26Cea096F6E493839423F4D66c63F","status":"deleted"},"SynthsBTC":{"address":"0xf8AD89091B2724bdb7528c50B282B565Db4635bb","status":"replaced","replaced_in":"v2.10.5"},"SynthsCAD":{"address":"0x8f69c9Ee79Bf9320E1A5C19e559108E1cb3d002B","status":"deleted"},"SynthsCHF":{"address":"0x9270D9970D6ACA773e2FA01633CDc091a46714c9","status":"replaced","replaced_in":"v2.10.5"},"SynthsCNY":{"address":"0x60C34eB93AFCd1B701fF8C036B128441C68A8A70","status":"deleted"},"SynthsEUR":{"address":"0xC2bb52457D81FBD223CC92b44cd372d36b338A10","status":"replaced","replaced_in":"v2.10.5"},"SynthsGBP":{"address":"0xdB36B8f25bB1f289d97aeE8f87BAcCaC58fA8883","status":"replaced","replaced_in":"v2.6.7"},"SynthsINR":{"address":"0x51671B7556EbEB4c43180e983F5569973e15cAc9","status":"deleted"},"SynthsJPY":{"address":"0xD9E5A009Ec07dE76616d7361Ed713eF434d71325","status":"replaced","replaced_in":"v2.10.5"},"SynthsKRW":{"address":"0xdF846D3ded30A0590319f8A7ECD4e233B0e9188C","status":"deleted"},"SynthsNZD":{"address":"0xCF401f31c63F58DEbfC76F441731dfa945cd0Bde","status":"deleted"},"SynthsPLN":{"address":"0x1943dBd2A793c588B5170188Ee6fb62E02AfdfF7","status":"deleted"},"SynthsRUB":{"address":"0x8a8DcbBa6038c6Fc6D192F5cf5C5dD83B98591bc","status":"deleted"},"SynthsSGD":{"address":"0x2aE393C18b6Aa62D6a2250aF7b803Fa6973bC981","status":"deleted"},"SynthsUSD":{"address":"0x0cBE2dF57CA9191B64a7Af3baa3F946fa7Df2F25","status":"replaced","replaced_in":"v2.10.5"},"SynthsXAG":{"address":"0x4D57A8212BDb8bdca049365BCE8afA0244a0E3FC","status":"replaced","replaced_in":"v2.10.5"},"SynthsXAU":{"address":"0x112D5fA64e4902B6ff1a35495a0f878c210A5601","status":"replaced","replaced_in":"v2.10.5"},"SynthXDR":{"address":"0x2972705AF18c66c14CDd27AD412961E01944A9C3","status":"deleted"},"TokenStatesAUD":{"address":"0xCb29D2cf2C65d3Be1d00F07f3441390432D55203","status":"current"},"TokenStatesBRL":{"address":"0x0985de52896fC4C9A84d108F5582ec02fdF91605","status":"deleted"},"TokenStatesBTC":{"address":"0x4F6296455F8d754c19821cF1EC8FeBF2cD456E67","status":"current"},"TokenStatesCAD":{"address":"0xdDf91Fc27087e076574Df31483Db5C21A85E47b6","status":"deleted"},"TokenStatesCHF":{"address":"0x52496fE8a4feaEFe14d9433E00D48E6929c13deC","status":"current"},"TokenStatesCNY":{"address":"0x5cCA1f0c514C0624d3BA7585d56fD2d72CbeFd80","status":"deleted"},"TokenStatesEUR":{"address":"0x6568D9e750fC44AF00f857885Dfb8281c00529c4","status":"current"},"TokenStatesGBP":{"address":"0x7e88D19A79b291cfE5696d496055f7e57F537A75","status":"current"},"TokenStatesINR":{"address":"0xf8F2f8001fca737eFA2bC26217Fc20C1F8267fbA","status":"deleted"},"TokenStatesJPY":{"address":"0x4dFACfB15514C21c991ff75Bc7Bf6Fb1F98361ed","status":"current"},"TokenStatesKRW":{"address":"0x249A10c68AfA9827571cb73f29ab5Af57Ee5A596","status":"deleted"},"TokenStatesNZD":{"address":"0x3FDa286F354a3318534026dBAcf021c84A71B03c","status":"deleted"},"TokenStatesPLN":{"address":"0xdb957f324Be2dE9BdAB01A3dbb50228569FDEe1B","status":"deleted"},"TokenStatesRUB":{"address":"0xF1eF8ee7DfEE4BD0e06B0fCed1d299387B78Cb09","status":"deleted"},"TokenStatesSGD":{"address":"0x000F49FD739d4023B0A6C87eE8705eF1Ffb55C87","status":"deleted"},"TokenStatesUSD":{"address":"0x05a9CBe762B36632b3594DA4F082340E0e5343e8","status":"current"},"TokenStatesXAG":{"address":"0x53d244Fb46357568DBeF082225cCC87cBD94aAE8","status":"deleted"},"TokenStatesXAU":{"address":"0x20569B49d74c1EDE765382574F7F3fdC2a078A4f","status":"deleted"},"TokenStateSynthetix":{"address":"0x5b1b5fEa1b99D83aD479dF0C222F0492385381dD","status":"current"},"TokenStateXDR":{"status":"deleted"}}},"v2.0-22":{"tag":"v2.0-22","fulltag":"v2.0-22","release":"","network":"mainnet","date":"2019-04-04T12:14:32-04:00","commit":"f257ac4ffec622f198dfe47e371c625f1fe1bd36","contracts":{"EscrowChecker":{"address":"0x3b399e00afd8201acf8a5a0eccf1c47d8d5e41da","status":"replaced","replaced_in":"v2.1.11"},"TokenStateXDR":{"address":"0xBF093390d8046ae2d0f5465DEC7001d65DC159d5","status":"deleted"}}},"v2.1.11":{"tag":"v2.1.11","fulltag":"v2.1.11-3","release":"","network":"mainnet","date":"2019-04-23T19:43:01-04:00","commit":"8d56cf7667de27b294fa3b99b086132f71e1aba4","block":7626469,"contracts":{"EscrowChecker":{"address":"0x3b399e00AFd8201ACf8A5a0EcCF1C47d8D5E41da","status":"current"},"ExchangeRates":{"address":"0xba34e436C9383aa8FA1e3659D2807ae040592498","status":"replaced","replaced_in":"v2.6.5"},"TokenStatesETH":{"address":"0x34A5ef81d18F3a305aE9C2d7DF42beef4c79031c","status":"current"},"ProxysETH":{"address":"0xaCf5C0101cbBe8476E87c652E0bEF33684Cc94D6","status":"replaced","replaced_in":"v2.9.1"},"SynthsETH":{"address":"0x42456D7084eacF4083f1140d3229471bbA2949A8","status":"replaced","replaced_in":"v2.10.5"},"TokenStatesBNB":{"address":"0xf9bd94C6F93c1FA5F38174c5e424721e1046af07","status":"deleted"},"ProxysBNB":{"address":"0x013AE307648f529aa72c5767A334DDd37aaB43c3","status":"replaced","replaced_in":"v2.10.5"},"SynthsBNB":{"address":"0xC906de7f8b4C1a4787023F50F49CE98F9F67c4b8","status":"replaced","replaced_in":"v2.10.5"},"TokenStateiBTC":{"address":"0xa1652766155D4Debc31D01BF3f748cB46508745b","status":"deleted"},"ProxyiBTC":{"address":"0x2B143041a6F8BE9dCC66E9110178a264A223A3bd","status":"replaced","replaced_in":"v2.10.5"},"SynthiBTC":{"address":"0xd8f6B6b6782632275B2B51230654f687f5b12Cde","status":"replaced","replaced_in":"v2.7.2"},"TokenStateiETH":{"address":"0x7b6ab32Ca02B31485fbf7265437c2853792CC5d9","status":"deleted"},"ProxyiETH":{"address":"0xD4fb1706Ae549FEBeC06bb7175b08010DD1B0C2e","status":"replaced","replaced_in":"v2.10.5"},"SynthiETH":{"address":"0x51Fe40e6292dbC44623b298a4086ffA6f5976ba1","status":"replaced","replaced_in":"v2.7.2"},"TokenStateiBNB":{"address":"0xc4E4c442653fDC78A71401684fd6cF9d67B3B643","status":"deleted"},"ProxyiBNB":{"address":"0x7c8F07Ac5b0a2876ee582a661d53dE2D0BbAd96F","status":"replaced","replaced_in":"v2.10.5"},"SynthiBNB":{"address":"0x56751D5Ac7D2B614C79d22e6b52D3285cFA8a293","status":"replaced","replaced_in":"v2.7.2"}}},"v2.4.0":{"tag":"v2.4.0","fulltag":"v2.4.0-release-candidate-14","release":"","network":"mainnet","date":"2019-05-02T18:49:57+10:00","commit":"edf5244839cda59bd51c1390a285bae371a477ff","block":7680400,"contracts":{"FeePool":{"address":"0x9B7E40031f7d4f6AB6e5D36bBF2Fea3bCCcc75a5","status":"replaced","replaced_in":"v2.5.3"},"Synthetix":{"address":"0xEf8a2c1BC94e630463293F71bF5414d13e80F62D","status":"replaced","replaced_in":"v2.5.3"},"RewardEscrow":{"address":"0xb671F2210B1F6621A2607EA63E6B2DC3e2464d1F","status":"current"},"FeePoolState":{"address":"0x11164F6a47C3f8472D19b9aDd516Fc780cb7Ee02","status":"current"},"SupplySchedule":{"address":"0xA3de830b5208851539De8e4FF158D635E8f36FCb","status":"replaced","replaced_in":"v2.16.4"}}},"v2.5.3":{"tag":"v2.5.3","fulltag":"v2.5.3-beta-2","release":"","network":"mainnet","date":"2019-05-28T18:42:37+10:00","commit":"dc94228312749779a0c4035d8bc7bb3b9a242693","block":7846908,"contracts":{"FeePool":{"address":"0x3D32f1404deacE2A43B08211E4662275045b495b","status":"replaced","replaced_in":"v2.6.1"},"Synthetix":{"address":"0xD76C5B71ba091C785aEc1A5c1c901b04876d073B","status":"replaced","replaced_in":"v2.5.5"},"DelegateApprovals":{"address":"0x97A853e9536Cf7CF123AA14Da726b71a848290cE","status":"replaced","replaced_in":"v2.20.1"},"FeePoolEternalStorage":{"address":"0xC9DFff5fA5605fd94F8B7927b892F2B57391e8bB","status":"current"}}},"v2.5.5":{"tag":"v2.5.5","fulltag":"v2.5.5-release-candidate-2","release":"","network":"mainnet","date":"2019-05-29T17:37:35+10:00","commit":"6cf02bed77b9d711efc0b33f643613529f4b92ce","block":7853007,"contracts":{"Synthetix":{"address":"0x5a4aDe4f3E934a0885f42884F7077261C3F4f66F","status":"replaced","replaced_in":"v2.6.7"}}},"v2.6.1":{"tag":"v2.6.1","fulltag":"v2.6.1-alpha-1","release":"","network":"mainnet","date":"2019-07-01T16:10:26-04:00","commit":"e8a6445a3096e3b003c429cd6fb2c9a38920f047","block":8025495,"contracts":{"FeePool":{"address":"0x503e91fc2b9ad7453700130d0825e661565e4c3b","status":"replaced","replaced_in":"v2.6.5"}}},"v2.6.5":{"tag":"v2.6.5","fulltag":"v2.6.5-release-candidate-4","release":"","network":"mainnet","date":"2019-07-02T22:47:48-04:00","commit":"83a9721950521ff3d0ced2d974d90caa0f011a23","block":8075694,"contracts":{"ExchangeRates":{"address":"0x5cBB53Ca85A9E52B593Baf8ae90282C4B3dB0b25","status":"replaced","replaced_in":"v2.6.7"},"FeePool":{"address":"0x5e5F5542dAd3E06CC8E1cd2461E83f872835117B","status":"replaced","replaced_in":"v2.9.0"},"TokenStatesMKR":{"address":"0xCEE0A0Dc7f393ED6AC84A3Ac2191C28d6A53AcEf","status":"deleted"},"ProxysMKR":{"address":"0xe88A4976CB7D8898D39E3f317421D625403ecb8C","status":"deleted"},"SynthsMKR":{"address":"0x13586160e4F890D0631c3C08D989f5b7AFe202b0","status":"deleted"},"TokenStatesTRX":{"address":"0x7EC5697C724895DA7f2320bDE063BEF6215a72e2","status":"deleted"},"ProxysTRX":{"address":"0x0944d2C41FEF3088467287e208E5bBB622A0c09C","status":"replaced","replaced_in":"v2.10.5"},"SynthsTRX":{"address":"0xa6e5DA838D3b8338783E0710E1D5F6C8e8E998CE","status":"replaced","replaced_in":"v2.10.5"},"TokenStatesXTZ":{"address":"0x959894a82fbF99d35B12ed1EA81e783296229862","status":"deleted"},"ProxysXTZ":{"address":"0xF45B14ddaBF0F0e275E215b94dD24Ae013a27F12","status":"replaced","replaced_in":"v2.10.5"},"SynthsXTZ":{"address":"0x6E5Bc3e877CFaa06eF97dfA12e63EfbB8FCbb03e","status":"replaced","replaced_in":"v2.10.5"}}},"v2.6.7":{"tag":"v2.6.7","fulltag":"v2.6.7-1","release":"","network":"mainnet","date":"2019-07-05T23:28:25-04:00","commit":"4fb6450e5629a053b9fa4aa4a40974e0ff9841b6","block":8120167,"contracts":{"SynthsGBP":{"address":"0x0a24864596C54D79C825e64b281645249C14590C","status":"replaced","replaced_in":"v2.10.5"},"ExchangeRates":{"address":"0x70C629875daDBE702489a5E1E3bAaE60e38924fa","status":"replaced","replaced_in":"v2.10.5"},"Synthetix":{"address":"0x2Dea20405c52Fb477ecCa8Fe622661d316Ac5400","status":"replaced","replaced_in":"v2.8.0"}}},"v2.7.2":{"tag":"v2.7.2","fulltag":"v2.7.2-release-candidate-1","release":"","network":"mainnet","date":"2019-07-18T20:31:41-04:00","commit":"1eeb4e6519e1eedb7d4692e5d68af417b4afbb49","block":8177843,"contracts":{"SynthiBTC":{"address":"0xccC395f0eBFAA26dCC2D3BACc23d55614002236b","status":"replaced","replaced_in":"v2.10.5"},"SynthiETH":{"address":"0x9b461df6fc38E1baEC08c06EB9e916093af8d11C","status":"replaced","replaced_in":"v2.10.5"},"SynthiBNB":{"address":"0xED4A3Adffa428fFD126AeD8ba5b8B58bb12c11ca","status":"replaced","replaced_in":"v2.10.5"},"TokenStateiMKR":{"address":"0xa0c19218271F056bc10b1cDd7a5FaB48F757BC86","status":"deleted"},"ProxyiMKR":{"address":"0xEAf60dA0199bE2f62005225248705De774582328","status":"deleted"},"SynthiMKR":{"address":"0x99bcc501d04F400Ba3F78b5375D00B56acE6Ee0D","status":"deleted"},"TokenStateiTRX":{"address":"0xd69EabdF940174cA571A6D71dde9B9A4dbCdBb0f","status":"deleted"},"ProxyiTRX":{"address":"0xCd8D927f2CB03d2eFB7f96CeB66Ec4976843E012","status":"replaced","replaced_in":"v2.10.5"},"SynthiTRX":{"address":"0x87ea2450EaB99A74e55E2B446290011765393AC1","status":"replaced","replaced_in":"v2.10.5"},"TokenStateiXTZ":{"address":"0xca0d3004f5E771A129fB94619f8867A23e8A23de","status":"deleted"},"ProxyiXTZ":{"address":"0xc2992b2C22238F296c2f429ee2f7AfB462Ed1750","status":"replaced","replaced_in":"v2.10.5"},"SynthiXTZ":{"address":"0xFE6Cd6dE459db214818492f532Ec02Ba87319437","status":"replaced","replaced_in":"v2.10.5"}}},"v2.8.0":{"tag":"v2.8.0","fulltag":"v2.8.0-beta-3","release":"","network":"mainnet","date":"2019-08-08T15:03:34+10:00","commit":"4dbb6e8e1b58796fb033c81a80c51bc2864719e6","block":8307884,"contracts":{"Synthetix":{"address":"0xbD88D2Ddf55b65BDBbA6f6a5A626B854835d7844","status":"replaced","replaced_in":"v2.9.0"},"ProxyERC20":{"address":"0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F","status":"current"}}},"v2.8.6":{"tag":"v2.8.6","fulltag":"v2.8.6-release-candidate-6","release":"","network":"mainnet","date":"2019-08-19T23:07:45+02:00","commit":"4b50f490bcc79827538c9030af495c410d60d3a0","block":8382392,"contracts":{"TokenStatesCEX":{"address":"0xc5680d24C3086e10f618b5176A59E90D6284be9f","status":"deleted"},"ProxysCEX":{"address":"0xb91B114a24a1c16834F1217cC3B9eE117b6c817A","status":"replaced","replaced_in":"v2.10.5"},"SynthsCEX":{"address":"0x6aa0f8620614aFe9BD4aBA3148439b08eb2557C0","status":"replaced","replaced_in":"v2.10.5"},"TokenStateiCEX":{"address":"0x3Fb1F228168432688b4E851Fe909907248cf9eCD","status":"deleted"},"ProxyiCEX":{"address":"0xAE7F21C0dFe5481ca77d538b5609938a51850942","status":"replaced","replaced_in":"v2.10.5"},"SynthiCEX":{"address":"0x66B86625ee80b06e94E027e44eA35680a0730233","status":"replaced","replaced_in":"v2.10.5"}}},"v2.9.0":{"tag":"v2.9.0","fulltag":"v2.9.0-beta-5","release":"","network":"mainnet","date":"2019-08-29T12:12:45+10:00","commit":"ae8c6ae9c2342e247f08bade0d34e51cc8cf61b9","block":8442231,"contracts":{"FeePool":{"address":"0xA70B3c3DcD4d3CDC55992DC5BEBED33dA92a259A","status":"replaced","replaced_in":"v2.10.5"},"Synthetix":{"address":"0xfFC91F7088BF40F0419B451fB9D85718D8903628","status":"replaced","replaced_in":"v2.10.5"},"RewardsDistribution":{"address":"0xFfA72Fd80d8A84032d855bfb67036BAF45949009","status":"replaced","replaced_in":"v2.18.1"}}},"v2.9.1":{"tag":"v2.9.1","fulltag":"v2.9.1-1","release":"","network":"mainnet","date":"2019-09-13T16:48:15+10:00","commit":"368d0596e255a3555688cf0114e91eca8830940c","block":8533639,"contracts":{"ProxysETH":{"address":"0x5e74c9036fb86bd7ecdcb084a0673efc32ea31cb","status":"replaced","replaced_in":"v2.10.5"}}},"v2.10.2":{"tag":"v2.10.2","fulltag":"v2.10.2-release-candidate-3","release":"Sirius","network":"mainnet","date":"2019-09-26T13:03:00+10:00","commit":"d025db087a41a64a6fa8caee8bd059c19fd3eb1d","block":8621971,"contracts":{"ProxysUSD":{"address":"0x57Ab1ec28D129707052df4dF418D58a2D46d5f51","status":"current"},"ProxyERC20sUSD":{"address":"0x57Ab1ec28D129707052df4dF418D58a2D46d5f51","status":"current"}}},"v2.10.5":{"tag":"v2.10.5","fulltag":"v2.10.5-release-candidate-2","release":"Sirius","network":"mainnet","date":"2019-09-26T18:58:44+10:00","commit":"688fd3865c3cdfb3e5451c2b6eef4599e1ae6cc9","block":8622895,"contracts":{"ExchangeRates":{"address":"0x99a46c42689720d9118FF7aF7ce80C2a92fC4f97","status":"replaced","replaced_in":"v2.12.2"},"FeePool":{"address":"0xc566a81F193626ee88A85fB3dCC82279B96A094E","status":"replaced","replaced_in":"v2.12.2"},"ProxysAUD":{"address":"0xF48e200EAF9906362BB1442fca31e0835773b8B4","status":"current"},"ProxysBTC":{"address":"0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6","status":"current"},"ProxysCHF":{"address":"0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d","status":"current"},"ProxysEUR":{"address":"0xD71eCFF9342A5Ced620049e616c5035F1dB98620","status":"current"},"ProxysGBP":{"address":"0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F","status":"current"},"ProxysJPY":{"address":"0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d","status":"current"},"ProxysXAG":{"address":"0x6A22e5e94388464181578Aa7A6B869e00fE27846","status":"deleted"},"ProxysXAU":{"address":"0x261EfCdD24CeA98652B9700800a13DfBca4103fF","status":"deleted"},"ProxyXDR":{"address":"0xb3f67dE9a919476a4c0fE821d67bf5C4637D8429","status":"deleted"},"Synthetix":{"address":"0xA36aC1f924087B7B959592c3D89Cb066D1Cc35D5","status":"replaced","replaced_in":"v2.11.1"},"SynthsAUD":{"address":"0x710882750DDe5DBc64e5a7df23a8cF068dF74910","status":"replaced","replaced_in":"v2.16.4"},"SynthsBTC":{"address":"0x832177F21CCDcc286003faDF4e98fc11dc5C627F","status":"replaced","replaced_in":"v2.16.4"},"SynthsCHF":{"address":"0x296b019E6dF25Ce3b71d4239b8C7CEc1a417d4E9","status":"replaced","replaced_in":"v2.16.4"},"SynthsEUR":{"address":"0x45AA2F706C3d695aCC1DA9698Fb803b8Ef5157ba","status":"replaced","replaced_in":"v2.16.4"},"SynthsGBP":{"address":"0xD8C733Ac0B2Db47BbA7af7716Eb696e62C417D5b","status":"replaced","replaced_in":"v2.16.4"},"SynthsJPY":{"address":"0x11Dfa1Bf994Ea47e361eC474519Afd627e932eb0","status":"replaced","replaced_in":"v2.16.4"},"SynthsUSD":{"address":"0xd8B325e9a95aBc44cEdc90AAb64ec1f231F2Cc8f","status":"replaced","replaced_in":"v2.12.2"},"SynthsXAG":{"address":"0xD6308849094c5E6Eb0EDAba255A06Ca32B0106Bf","status":"replaced","replaced_in":"v2.16.4"},"SynthsXAU":{"address":"0x4a15d9dfC95ba7B9e33CE70e7E0762dc8F7AC237","status":"replaced","replaced_in":"v2.16.4"},"SynthXDR":{"address":"0x6025f88ABB6d99d02c5EEd82C151d52Bac8E444b","status":"deleted"},"ProxysETH":{"address":"0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb","status":"current"},"SynthsETH":{"address":"0x8519d1BDb4cC1753DF95C6E98F6Bd0E95dE568D9","status":"replaced","replaced_in":"v2.12.2"},"ProxysBNB":{"address":"0x617aeCB6137B5108D1E7D4918e3725C8cEbdB848","status":"deleted"},"SynthsBNB":{"address":"0x33cE216C10dEA5E724b7A90628ce7853eef127B3","status":"replaced","replaced_in":"v2.16.4"},"ProxyiBTC":{"address":"0xD6014EA05BDe904448B743833dDF07c3C7837481","status":"deleted"},"SynthiBTC":{"address":"0xCe88906100c145522Be3a509683881241aBb3C52","status":"replaced","replaced_in":"v2.16.4"},"ProxyiETH":{"address":"0xA9859874e1743A32409f75bB11549892138BBA1E","status":"deleted"},"SynthiETH":{"address":"0x3f3804176D90640aC6063124afd4bc0636aC85B6","status":"replaced","replaced_in":"v2.16.4"},"ProxyiBNB":{"address":"0xAFD870F32CE54EfdBF677466B612bf8ad164454B","status":"deleted"},"SynthiBNB":{"address":"0x57Ff288dd9D478b046647A5aB917195449F1F6e5","status":"replaced","replaced_in":"v2.16.4"},"ProxysMKR":{"address":"0x4140919DE11fCe58E654cC6038017Af97f810De1","status":"deleted"},"SynthsMKR":{"address":"0xFAc2B3400Df00a348C3118831a45A05255F9004A","status":"deleted"},"ProxysTRX":{"address":"0xf2E08356588EC5cd9E437552Da87C0076b4970B0","status":"deleted"},"SynthsTRX":{"address":"0x0dA04b80e21B344fCFD49C04bEC658E80F1D7428","status":"replaced","replaced_in":"v2.16.4"},"ProxysXTZ":{"address":"0x2e59005c5c0f0a4D77CcA82653d48b46322EE5Cd","status":"deleted"},"SynthsXTZ":{"address":"0xC0b1F43Ee7b0670F7B34e14c4702e54a905A51B5","status":"replaced","replaced_in":"v2.16.4"},"ProxyiMKR":{"address":"0x0794D09be5395f69534ff8151D72613077148b29","status":"deleted"},"SynthiMKR":{"address":"0x047FC84504714d526808Be07BF17Bdd70726ef92","status":"deleted"},"ProxyiTRX":{"address":"0xC5807183a9661A533CB08CbC297594a0B864dc12","status":"deleted"},"SynthiTRX":{"address":"0x80eDAC70ec108a9c5B47972da9924397Ba974Ff9","status":"replaced","replaced_in":"v2.16.4"},"ProxyiXTZ":{"address":"0x8deef89058090ac5655A99EEB451a4f9183D1678","status":"deleted"},"SynthiXTZ":{"address":"0x72661E76475354403838EB04144206f70Ff97d79","status":"replaced","replaced_in":"v2.16.4"},"ProxysCEX":{"address":"0xeABACD844A196D7Faf3CE596edeBF9900341B420","status":"deleted"},"SynthsCEX":{"address":"0x93CfF799F255eDa2089cFB3F05696B5B66873C1A","status":"replaced","replaced_in":"v2.16.4"},"ProxyiCEX":{"address":"0x336213e1DDFC69f4701Fc3F86F4ef4A160c1159d","status":"deleted"},"SynthiCEX":{"address":"0x43e1505E315BE6C8b875a37F7D8753Ba84140A37","status":"replaced","replaced_in":"v2.16.4"},"ArbRewarder":{"address":"0xA6B5E74466eDc95D0b6e65c5CBFcA0a676d893a4","status":"current"}}},"v2.11.1":{"tag":"v2.11.1","fulltag":"v2.11.1-beta-6","release":"Canopus","network":"mainnet","date":"2019-10-04T11:18:21+10:00","commit":"fbe1c95d833616ce1ffd5cfa5bda2a0ede683204","block":8672615,"contracts":{"Synthetix":{"address":"0x42D03f506c2308ECd06aE81D8fA22352BC7A8F2b","status":"replaced","replaced_in":"v2.12.2"}}},"v2.12.2":{"tag":"v2.12.2","fulltag":"v2.12.2-release-candidate-1-3","release":"Rigil","network":"mainnet","date":"2019-11-08T11:49:46+11:00","commit":"03c8bf29545cd6c4a3d5d11171be09151f94bf70","block":8971463,"contracts":{"Synthetix":{"address":"0x22a67ECd108f7A6Fc52Da9e2655DDfe88ecCd9CA","status":"replaced","replaced_in":"v2.14.0"},"SynthsUSD":{"address":"0x2656a6E566f8e60f444B283bf346fC74A9990c96","status":"replaced","replaced_in":"v2.16.4"},"SynthsETH":{"address":"0x0577d4268ABE6777aE37688D015598819088297B","status":"replaced","replaced_in":"v2.16.4"},"ExchangeRates":{"address":"0x565C9EB432f4AE9633e50e1213AB4f23D8f31f54","status":"replaced","replaced_in":"v2.16.4"},"FeePool":{"address":"0xb211e3b026b6DB2f65F5C5ec03d44Bb97BB69fB8","status":"replaced","replaced_in":"v2.14.0"},"TokenStatesXRP":{"address":"0xb90AafFB61dFC042e7a7AbcE069DDB4BAE9ab192","status":"deleted"},"ProxysXRP":{"address":"0xa2B0fDe6D710e201d0d608e924A484d1A5fEd57c","status":"deleted"},"SynthsXRP":{"address":"0xFf6866FF46c71706DcD5A0A38f12279553bE6233","status":"replaced","replaced_in":"v2.16.4"},"TokenStatesLTC":{"address":"0xe1a2C7957a4771031301f2E25b0f52039aD97270","status":"deleted"},"ProxysLTC":{"address":"0xC14103C2141E842e228FBaC594579e798616ce7A","status":"deleted"},"SynthsLTC":{"address":"0x8e0cC15bBCd10E170AC07982B5D6930502C63784","status":"replaced","replaced_in":"v2.16.4"},"TokenStatesLINK":{"address":"0x577D4a7395c6A5f46d9981a5F83fa7294926aBB0","status":"current"},"ProxysLINK":{"address":"0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6","status":"current"},"SynthsLINK":{"address":"0x34B19046c6657D26B0C9b63d3Fb54C2754Ed4537","status":"replaced","replaced_in":"v2.16.4"},"TokenStatesDEFI":{"address":"0x7Ac2D37098a65B0f711CFfA3be635F1E6aCacFaB","status":"deleted"},"ProxysDEFI":{"address":"0xe1aFe1Fd76Fd88f78cBf599ea1846231B8bA3B6B","status":"deleted"},"SynthsDEFI":{"address":"0x4917E9Ef69E3a1C82651c9158cA2c25b3A564760","status":"replaced","replaced_in":"v2.16.4"},"TokenStateiXRP":{"address":"0xa9d6aE0F9E9da6FFC357Cd155CCe18E3491e135D","status":"deleted"},"ProxyiXRP":{"address":"0x27269b3e45A4D3E79A3D6BFeE0C8fB13d0D711A6","status":"deleted"},"SynthiXRP":{"address":"0xcBBb17D9767bD57FBF4Bbf8842E916bCb3826ec1","status":"replaced","replaced_in":"v2.16.4"},"TokenStateiLINK":{"address":"0x3FdF819c3665D6866b5Bb0F56E1EDA0D7f69B714","status":"deleted"},"ProxyiLINK":{"address":"0x2d7aC061fc3db53c39fe1607fB8cec1B2C162B01","status":"deleted"},"SynthiLINK":{"address":"0xEC114001D23eeFE6624Fb42cCbF4b3c793e295f1","status":"replaced","replaced_in":"v2.16.4"},"TokenStateiLTC":{"address":"0x7B1010586F923CbF61e7C314146853675705751F","status":"deleted"},"ProxyiLTC":{"address":"0x79da1431150C9b82D2E5dfc1C68B33216846851e","status":"deleted"},"SynthiLTC":{"address":"0x05DD55C18999b4a2f905978C029B85dA37750170","status":"replaced","replaced_in":"v2.16.4"},"TokenStateiDEFI":{"address":"0x6E9BAC2827dBBa78D11b270115086CC357988928","status":"deleted"},"ProxyiDEFI":{"address":"0x14d10003807AC60d07BB0ba82cAeaC8d2087c157","status":"deleted"},"SynthiDEFI":{"address":"0x8E39e807D9eaE1cED9BCE296F211c38BA5ab2f9B","status":"replaced","replaced_in":"v2.16.4"}}},"v2.14.0":{"tag":"v2.14.0","fulltag":"v2.14.0-beta-3","release":"Vega","network":"mainnet","date":"2019-11-27T12:18:54+11:00","commit":"8dccf7349f1d2656ecf92b43459f73ff0ad19f7d","contracts":{"FeePool":{"address":"0xA8CB0B163cEfB21f22c72f6a7d243184bD688A5A","status":"replaced","replaced_in":"v2.17.4"},"Synthetix":{"address":"0x9642c7026822391100a4773d7aA597AE18ECE7dd","status":"replaced","replaced_in":"v2.16.4"}}},"v2.15.0":{"tag":"v2.15.0","fulltag":"v2.15.0-release-candidate-1","release":"","network":"mainnet","date":"2019-12-09T13:45:19+11:00","commit":"645bc5482bee9b5a8644c54fb645ac8c71d7e819","contracts":{"DappMaintenance":{"address":"0x778ec2d9B4baE65C57a6436a6c37AFc135baD727","status":"deleted"}}},"v2.16.4":{"tag":"v2.16.4","fulltag":"v2.16.4-release-candidate-3","release":"Capella","network":"mainnet","date":"2019-12-12T16:03:22+11:00","commit":"ad931ba28b8b2e28166f08db377d1426ca2ee3b0","block":9123413,"contracts":{"Synthetix":{"address":"0x7cB89c509001D25dA9938999ABFeA6740212E5f0","status":"replaced","replaced_in":"v2.18.1"},"SupplySchedule":{"address":"0xA05e45396703BabAa9C276B5E5A9B6e2c175b521","status":"replaced","replaced_in":"v2.62.0"},"Math":{"address":"0x385e1Eb2FF28F4A637DA2C9971F8CAF5F5b1E77c","status":"current"},"ExchangeRates":{"address":"0xE95Ef4e7a04d2fB05cb625c62CA58da10112c605","status":"replaced","replaced_in":"v2.18.1"},"SynthsAUD":{"address":"0xa6FE80c4c4AADb4B33dB7f22dc9AE2C4697cC406","status":"replaced","replaced_in":"v2.18.1"},"SynthsBTC":{"address":"0x6bCd1caE4A3c099c696B51f889bE2120DF62b7c0","status":"replaced","replaced_in":"v2.18.1"},"SynthsCHF":{"address":"0xfF0b8894CC44F300e124bcd39F95555816b8B1d5","status":"replaced","replaced_in":"v2.18.1"},"SynthsEUR":{"address":"0x68473dc4B7A4b0867fd7C5b9A982Fea407DAD320","status":"replaced","replaced_in":"v2.18.1"},"SynthsGBP":{"address":"0x486e27D56c0744970687927728598F8B96451Cc4","status":"replaced","replaced_in":"v2.18.1"},"SynthsJPY":{"address":"0x4B1cE9C42A381CB2d74ffeF20103e502e2fc619C","status":"replaced","replaced_in":"v2.18.1"},"SynthsUSD":{"address":"0x289e9a4674663decEE54f781AaDE5327304A32f8","status":"replaced","replaced_in":"v2.18.1"},"SynthsXAG":{"address":"0x3A412043939d9F7e53373b64f858ecB870a92E50","status":"replaced","replaced_in":"v2.18.1"},"SynthsXAU":{"address":"0x4d96b67f5BDe58A622D9bF2B8a1906C8B084fAf4","status":"replaced","replaced_in":"v2.18.1"},"SynthXDR":{"address":"0x30A46E656CdcA6B401Ff043e1aBb151490a07ab0","status":"deleted"},"SynthsETH":{"address":"0xD81AdA188331e627567BBEF80F91217cd3109592","status":"replaced","replaced_in":"v2.18.1"},"SynthsBNB":{"address":"0xE5787927410b659cc4eA2441cDaa361f9D7b250C","status":"replaced","replaced_in":"v2.18.1"},"SynthiBTC":{"address":"0x83266A95429b903cC5e954bF61c7eddf8a52b971","status":"replaced","replaced_in":"v2.18.1"},"SynthiETH":{"address":"0xf53B56B6Fb98aaF514bcd28f6Fa6fd20C24E5c22","status":"replaced","replaced_in":"v2.18.1"},"SynthiBNB":{"address":"0x09400Ec683F70174E1217d6dcdBf42448E8De5d6","status":"replaced","replaced_in":"v2.18.1"},"SynthsMKR":{"address":"0x84965DCa28c4Eb9dE61d80f80e811eA12BE1c819","status":"deleted"},"SynthsTRX":{"address":"0x1A60E2E2A8BE0BC2B6381dd31Fd3fD5F9A28dE4c","status":"replaced","replaced_in":"v2.18.1"},"SynthsXTZ":{"address":"0xe109da5361299eD96D91146B8Cc12F682D21964e","status":"replaced","replaced_in":"v2.18.1"},"SynthiMKR":{"address":"0xD95e7F80766580634B2E0E49d9F66af317994FC7","status":"deleted"},"SynthiTRX":{"address":"0x406555dbF02e9E4df9AdeAeC9DA76ABeED8C1BC3","status":"replaced","replaced_in":"v2.18.1"},"SynthiXTZ":{"address":"0xAD7258d0054c03112a4f5489A4B24eC34a2fc787","status":"replaced","replaced_in":"v2.18.1"},"SynthsCEX":{"address":"0x8a3ca1d2d9a05683EB4DB447d0e3122Fec09d9ee","status":"replaced","replaced_in":"v2.18.1"},"SynthiCEX":{"address":"0xDa5eD43B9B6E36b4f27cc6D8c1974532cdBd55F9","status":"replaced","replaced_in":"v2.18.1"},"SynthsXRP":{"address":"0xC64CdA66Bc1d026b984D6BEE6aDBf71eAc8A099d","status":"replaced","replaced_in":"v2.18.1"},"SynthsLTC":{"address":"0x088256945480c884C067a8Bc98A72A1C984f826B","status":"replaced","replaced_in":"v2.18.1"},"SynthsLINK":{"address":"0x46824bFAaFd049fB0Af9a45159A88e595Bbbb9f7","status":"replaced","replaced_in":"v2.18.1"},"SynthsDEFI":{"address":"0xF778Ec504245EfE1eA010C5C3E50b6F5f5E117da","status":"replaced","replaced_in":"v2.18.1"},"SynthiXRP":{"address":"0xd7adF1b5E31D1C40E08F16a2095338ce3aA8f2Fc","status":"replaced","replaced_in":"v2.18.1"},"SynthiLINK":{"address":"0x3DdF5dAd59F8F8e8f957709B044eE84e87B42e25","status":"replaced","replaced_in":"v2.18.1"},"SynthiLTC":{"address":"0xec98BB42C8F03485bf659378da694512a16f3482","status":"replaced","replaced_in":"v2.18.1"},"SynthiDEFI":{"address":"0xC5Bfbc63dc8D36E81434e93e0ee097999879d7F4","status":"replaced","replaced_in":"v2.18.1"}}},"v2.17.4":{"tag":"v2.17.4","fulltag":"v2.17.4-2","release":"Procyon","network":"mainnet","date":"2019-12-18T16:32:38+11:00","commit":"ddd5e765f53e1af5b5910c6079b7df6a240bcb9c","block":9124116,"contracts":{"FeePool":{"address":"0x94dBa784e87A3F5F12e25EC98bF14233c1e69017","status":"replaced","replaced_in":"v2.18.1"}}},"v2.18.1":{"tag":"v2.18.1","fulltag":"v2.18.1-release-candidate-3","release":"","network":"mainnet","date":"2020-02-20T17:38:03+11:00","commit":"e0902f6c49fe4edbe2e52c9691ed971f695a17bc","block":9518289,"contracts":{"Depot":{"address":"0xE1f64079aDa6Ef07b03982Ca34f1dD7152AA3b86","status":"current"},"ExchangeRates":{"address":"0x9D7F70AF5DF5D5CC79780032d47a34615D1F1d77","status":"replaced","replaced_in":"v2.23.3"},"FeePool":{"address":"0x1Be675c50C4cC419517219B88fE84a573cC223fA","status":"replaced","replaced_in":"v2.20.1"},"Synthetix":{"address":"0x153C3148A0a285A6f9F6d1996E1348832249bF7e","status":"replaced","replaced_in":"v2.19.6"},"SynthsAUD":{"address":"0xACa2179a884bAC7C3D0bc4131585E1B7DbDD048e","status":"replaced","replaced_in":"v2.20.1"},"SynthsBTC":{"address":"0xF0ac210915BD88Ea51c9EB800a4078a85927efdF","status":"replaced","replaced_in":"v2.20.1"},"SynthsCHF":{"address":"0x64C73355FBD0274e677609E8fb372427DF975508","status":"replaced","replaced_in":"v2.20.1"},"SynthsEUR":{"address":"0x57e4A2D7D9b759Cf6FA2C937D52E408c66fB6384","status":"replaced","replaced_in":"v2.20.1"},"SynthsGBP":{"address":"0x8FA7FBb0144CeA832a76547aEAB1Ad8d9e4588F1","status":"replaced","replaced_in":"v2.20.1"},"SynthsJPY":{"address":"0x68043c3EAE66Ac1c28341867491E615412fc84FD","status":"replaced","replaced_in":"v2.20.1"},"SynthsUSD":{"address":"0x2A020C1ad728f1C12735bC4877CEECa4491A4a3D","status":"replaced","replaced_in":"v2.20.1"},"SynthsXAG":{"address":"0xd415e342a5C7Ee189D939b4DC17E85880fE1096A","status":"replaced","replaced_in":"v2.20.1"},"SynthsXAU":{"address":"0x00aB7c26A5a6C4C32D0b897E4Af3CB32F92aad34","status":"replaced","replaced_in":"v2.20.1"},"SynthXDR":{"address":"0x96f9D144E55149437640512B82d7Dda065E89773","status":"deleted"},"SynthsETH":{"address":"0x9f71b6596b2C9d357f9F04F8cA772fbD6e2c211C","status":"replaced","replaced_in":"v2.20.1"},"SynthsBNB":{"address":"0xaE3971E603b11dA40aea85d8c2355150c7c47683","status":"replaced","replaced_in":"v2.20.1"},"SynthiBTC":{"address":"0x810425566d1d3078B15A6f035b17886F18F3c54B","status":"replaced","replaced_in":"v2.20.1"},"SynthiETH":{"address":"0xc0bA711B4E128425Be9245ce750D82c90b42D6D2","status":"replaced","replaced_in":"v2.20.1"},"SynthiBNB":{"address":"0xc68b5Eb9e035b2B84568A4C6201e3b200C0236ba","status":"replaced","replaced_in":"v2.20.1"},"SynthsMKR":{"address":"0x54A0326fB698c2CFACa5327550a897FA66d21f07","status":"deleted"},"SynthsTRX":{"address":"0x3d0e7c09242b0cAd4e81cB2f6D2183EF517500EF","status":"replaced","replaced_in":"v2.20.1"},"SynthsXTZ":{"address":"0x2CB1B47fB16013798086f267E04E6579dcb72A74","status":"replaced","replaced_in":"v2.20.1"},"SynthiMKR":{"address":"0x10A0532DE3C86D9cE810F004FaBcf5a1EA464390","status":"deleted"},"SynthiTRX":{"address":"0x2DE37AF5BA64f5CaE3202Bf13dbEDc4D46e8046f","status":"replaced","replaced_in":"v2.20.1"},"SynthiXTZ":{"address":"0x59D39e14cC735b39746c94351E7fbDd92C8D0d3C","status":"replaced","replaced_in":"v2.20.1"},"SynthsCEX":{"address":"0x2420057461bD2fb756e0A610897c51De7fB18311","status":"replaced","replaced_in":"v2.20.1"},"SynthiCEX":{"address":"0xf7011510572d0EFE31d1E90cd6dc1EF84e6B13b8","status":"replaced","replaced_in":"v2.20.1"},"RewardsDistribution":{"address":"0x29C295B046a73Cde593f21f63091B072d407e3F2","status":"replaced","replaced_in":"v2.18.1"},"SynthsXRP":{"address":"0x4dc1E8bAcc26D563941dCB59c72BD9FE58663778","status":"replaced","replaced_in":"v2.20.1"},"SynthsLTC":{"address":"0x79BEf89A63bE04A75F1fA42E8f42ad873B6f43e2","status":"replaced","replaced_in":"v2.20.1"},"SynthsLINK":{"address":"0x3D663Dbe79fA9752815e03e129D6703eDE1C6D71","status":"replaced","replaced_in":"v2.20.1"},"SynthsDEFI":{"address":"0xE725d6Ff29d0679C9Cb6Fa8972a1E8a7FB49610B","status":"replaced","replaced_in":"v2.20.1"},"SynthiXRP":{"address":"0xccda7941aB1AC7a32F49843c0b3EDF618b20F6Ae","status":"replaced","replaced_in":"v2.20.1"},"SynthiLINK":{"address":"0x8c6680412e914932A9abC02B6c7cbf690e583aFA","status":"replaced","replaced_in":"v2.20.1"},"SynthiLTC":{"address":"0xfca2e82E5414c695c81b99D753b0b11c50bDC93D","status":"replaced","replaced_in":"v2.20.1"},"SynthiDEFI":{"address":"0xaE7D62Fb6a305E6d9E9F8c43bbb41093c2bE52f6","status":"replaced","replaced_in":"v2.20.1"},"AddressResolver":{"address":"0xFbB6526ed92DA8915d4843a86166020d0B7bAAd0","status":"replaced","replaced_in":"v2.23.3"},"Exchanger":{"address":"0x6289fd70d3Dce8DE61896959cdEfcFF3cE46A108","status":"replaced","replaced_in":"v2.20.1"},"ExchangeState":{"address":"0x545973f28950f50fc6c7F52AAb4Ad214A27C0564","status":"current"},"Issuer":{"address":"0x23Bf838AF72Ee8F43870A73947d8F4Edb63adAe3","status":"replaced","replaced_in":"v2.19.6"},"EtherCollateral":{"address":"0x0F3d8ad599Be443A54c7934B433A87464Ed0DFdC","status":"replaced","replaced_in":"v2.26.2"}}},"v2.19.6":{"tag":"v2.19.6","fulltag":"v2.19.6-alpha-38","release":"Achernar","network":"mainnet","date":"2020-02-28T14:01:33+11:00","commit":"176e5a241248b58f6a017553a70328612670cb07","block":9570402,"contracts":{"Unipool":{"address":"0x48D7f315feDcaD332F68aafa017c7C158BC54760","status":"current"},"Synthetix":{"address":"0x8454190C164e52664Af2c9C24ab58c4e14D6bbE4","status":"replaced","replaced_in":"v2.20.1"},"Issuer":{"address":"0x357b58E0b1Be9d8A944380048fa1080c57c7A362","status":"replaced","replaced_in":"v2.20.1"},"IssuanceEternalStorage":{"address":"0x631E93A0fb06B5eC6d52c0A2D89a3f9672d6Ba64","status":"current"}}},"v2.20.1":{"tag":"v2.20.1","fulltag":"v2.20.1-1","release":"Betelgeuse","network":"mainnet","date":"2020-03-31T15:11:35+11:00","commit":"5f48ad4d4fe2e59d07de3d064492d2a5cf31a5f2","block":9776248,"contracts":{"FeePool":{"address":"0x8a34AefF4cDed94aFa786fcf811A6307aA7c656a","status":"replaced","replaced_in":"v2.22.4"},"Synthetix":{"address":"0x2987252148e34863612Ac7f4Ef3260de0C2A68f7","status":"replaced","replaced_in":"v2.22.4"},"SynthsAUD":{"address":"0xe04d8770Dc06135Dd97214ea8bcbf7B1CC057AA3","status":"replaced","replaced_in":"v2.35.2"},"SynthsBTC":{"address":"0x17628A557d1Fc88D1c35989dcBAC3f3e275E2d2B","status":"replaced","replaced_in":"v2.35.2"},"SynthsCHF":{"address":"0x253914cf059f4c3E277c28060C404acFc38FB6e2","status":"replaced","replaced_in":"v2.35.2"},"SynthsEUR":{"address":"0x2fB419E7023b32201e9aB3aba947f5c101a5C30e","status":"replaced","replaced_in":"v2.35.2"},"SynthsGBP":{"address":"0xB3098Ae40f488ffdb979827Fd01597CC20c5a5A0","status":"replaced","replaced_in":"v2.35.2"},"SynthsJPY":{"address":"0x8ed1B71B00DbaB96A6db6DF0C910f749243de6D3","status":"replaced","replaced_in":"v2.35.2"},"SynthsUSD":{"address":"0xAe38b81459d74A8C16eAa968c792207603D84480","status":"replaced","replaced_in":"v2.28.4"},"SynthsXAG":{"address":"0x1B9d6cD65dDC981410cb93Af91B097667E0Bc7eE","status":"replaced","replaced_in":"v2.35.2"},"SynthsXAU":{"address":"0xA408d8e01C8E084B67559226C5B55D6F0B7074e2","status":"replaced","replaced_in":"v2.35.2"},"SynthsETH":{"address":"0xD0DC005d31C2979CC0d38718e23c82D1A50004C0","status":"replaced","replaced_in":"v2.35.2"},"SynthsBNB":{"address":"0xadaD43Be81E2206f6D1aF4299cA2a029e16af7AB","status":"replaced","replaced_in":"v2.35.2"},"SynthiBTC":{"address":"0xc704c9AA89d1ca60F67B3075d05fBb92b3B00B3B","status":"replaced","replaced_in":"v2.35.2"},"SynthiETH":{"address":"0xaE55F163337A2A46733AA66dA9F35299f9A46e9e","status":"replaced","replaced_in":"v2.35.2"},"SynthiBNB":{"address":"0xf86048DFf23cF130107dfB4e6386f574231a5C65","status":"replaced","replaced_in":"v2.35.2"},"DelegateApprovals":{"address":"0x15fd6e554874B9e70F832Ed37f231Ac5E142362f","status":"current"},"SynthsMKR":{"address":"0xD1599E478cC818AFa42A4839a6C665D9279C3E50","status":"deleted"},"SynthsTRX":{"address":"0xC4Be4583bc0307C56CF301975b2B2B1E5f95fcB2","status":"replaced","replaced_in":"v2.35.2"},"SynthsXTZ":{"address":"0x91DBC6f587D043FEfbaAD050AB48696B30F13d89","status":"replaced","replaced_in":"v2.35.2"},"SynthiMKR":{"address":"0x1228c7D8BBc5bC53DB181bD7B1fcE765aa83bF8A","status":"deleted"},"SynthiTRX":{"address":"0xdD87cbDe3C1f8F728C7924c8C9C983Af6dfcfeA8","status":"replaced","replaced_in":"v2.35.2"},"SynthiXTZ":{"address":"0x6dFDFbfB4B180be4482F8b753fb33720C2831a9f","status":"replaced","replaced_in":"v2.35.2"},"SynthsCEX":{"address":"0x5eA2544551448cF6DcC1D853aDdd663D480fd8d3","status":"replaced","replaced_in":"v2.35.2"},"SynthiCEX":{"address":"0x817c39c8825e12eA7752483c85dd2c800b78B357","status":"replaced","replaced_in":"v2.35.2"},"SynthsXRP":{"address":"0xF5d0BFBc617d3969C1AcE93490A76cE80Db1Ed0e","status":"replaced","replaced_in":"v2.35.2"},"SynthsLTC":{"address":"0x6cF29c515A33209c6eCa43c293004ac80c0614f0","status":"replaced","replaced_in":"v2.35.2"},"SynthsLINK":{"address":"0xAf918f4a72BC34E59dFaF65866feC87947F1f590","status":"replaced","replaced_in":"v2.35.2"},"SynthsDEFI":{"address":"0xf5a6115Aa582Fd1BEEa22BC93B7dC7a785F60d03","status":"replaced","replaced_in":"v2.35.2"},"SynthiXRP":{"address":"0x71Cd588eFA3609bc14E7B0c7C57dDDfd3a72E8a2","status":"replaced","replaced_in":"v2.35.2"},"SynthiLINK":{"address":"0x63d630B6D89c21E171E86c51C7243284510DBd79","status":"replaced","replaced_in":"v2.35.2"},"SynthiLTC":{"address":"0x0f5BdfD0958345C2e7Adb1741024aEd6Dd159e6C","status":"replaced","replaced_in":"v2.35.2"},"SynthiDEFI":{"address":"0x489d4D4c4bC781EAab3A36C44d66762Ceb6e1e2D","status":"replaced","replaced_in":"v2.35.2"},"Exchanger":{"address":"0x271d0C1940fE546e787B273A0CCc780ECD8db461","status":"replaced","replaced_in":"v2.22.4"},"Issuer":{"address":"0xdE51788d7113bCf845b62B878bD5Ed971A49CF85","status":"replaced","replaced_in":"v2.22.4"},"SystemStatus":{"address":"0x4534E92eefecc63C6105F53893D355C14aA129cf","status":"replaced","replaced_in":"v2.38.0"},"DelegateApprovalsEternalStorage":{"address":"0x8F586F063ffbb89b186C8e604FC6614766f9C9d1","status":"current"}}},"v2.21.6":{"tag":"v2.21.6","fulltag":"v2.21.6-1","release":"Hadar","network":"mainnet","date":"2020-04-02T20:34:45+11:00","commit":"749da0208911b419eedc9dd5c6dc8e229e3dd30b","block":9791518,"contracts":{"TokenStatesEOS":{"address":"0x631443C4121ca7B4c90dC79a37B1DcE8B79aDeEc","status":"deleted"},"ProxysEOS":{"address":"0x88C8Cf3A212c0369698D13FE98Fcb76620389841","status":"deleted"},"SynthsEOS":{"address":"0x31a9c51eEd5282F11ae5CDD061A65A4ce0346C08","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesBCH":{"address":"0xb7ee031093B9578DF124983823330BBe277FD8b4","status":"deleted"},"ProxysBCH":{"address":"0x36a2422a863D5B950882190Ff5433E513413343a","status":"deleted"},"SynthsBCH":{"address":"0x9b68b85c61B082B2495B342F26B20a57cFd73D26","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesETC":{"address":"0xd4DB55Cf39c37BEAa3A47F2555D57B4ea2d9Ff39","status":"deleted"},"ProxysETC":{"address":"0x22602469d704BfFb0936c7A7cfcD18f7aA269375","status":"deleted"},"SynthsETC":{"address":"0x2369D37ae9B30451D859C11CAbAc70df1CE48F78","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesDASH":{"address":"0x136b1EC699c62b0606854056f02dC7Bb80482d63","status":"deleted"},"ProxysDASH":{"address":"0xfE33ae95A9f0DA8A845aF33516EDc240DCD711d6","status":"deleted"},"SynthsDASH":{"address":"0xc66499aCe3B6c6a30c784bE5511E8d338d543913","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesXMR":{"address":"0x23d5381713841724A67B731026b32322228cA3C7","status":"deleted"},"ProxysXMR":{"address":"0x5299d6F7472DCc137D7f3C4BcfBBB514BaBF341A","status":"deleted"},"SynthsXMR":{"address":"0x86FD9c0261E804476bA11056fFD758da2469ed56","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesADA":{"address":"0x9956c5019a24fbd5B506AD070b771577bAc5c343","status":"current"},"ProxysADA":{"address":"0xe36E2D3c7c34281FA3bC737950a68571736880A1","status":"current"},"SynthsADA":{"address":"0x1Cda42C559D2EB137103D9A01d1ae736dEDA3aEF","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesFTSE":{"address":"0xD1B420854527e4b0e489bd37ec8f9DB1E6305515","status":"deleted"},"ProxysFTSE":{"address":"0x23348160D7f5aca21195dF2b70f28Fce2B0be9fC","status":"deleted"},"SynthsFTSE":{"address":"0x8D34924EAe7578692775fDd94Ed27bc355397E4a","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesNIKKEI":{"address":"0xc69D8B688a309FDEa9273DDE1A46bF1e51928a55","status":"deleted"},"ProxysNIKKEI":{"address":"0x757de3ac6B830a931eF178C6634c5C551773155c","status":"deleted"},"SynthsNIKKEI":{"address":"0x4CeB220C5E38E27ef5187F7ab853aC182D233d39","status":"replaced","replaced_in":"v2.35.2"},"TokenStateiEOS":{"address":"0x68a8b098967Ae077dcFf5cC8E29B7cb15f1A3cC8","status":"deleted"},"ProxyiEOS":{"address":"0xF4EebDD0704021eF2a6Bbe993fdf93030Cd784b4","status":"deleted"},"SynthiEOS":{"address":"0xc66a263f2C7C1Af0bD70c6cA4Bff5936F3D6Ef9F","status":"replaced","replaced_in":"v2.35.2"},"TokenStateiBCH":{"address":"0x780a7206313F411db5f32c79B15B1C80FaABED59","status":"deleted"},"ProxyiBCH":{"address":"0xf6E9b246319ea30e8C2fA2d1540AAEBF6f9E1B89","status":"deleted"},"SynthiBCH":{"address":"0x0E87a320daCE86A0b427FA2Bae282dE5c7697278","status":"replaced","replaced_in":"v2.35.2"},"TokenStateiETC":{"address":"0x71892d13BA2b19f196760f619eE9C67534a49E37","status":"deleted"},"ProxyiETC":{"address":"0xd50c1746D835d2770dDA3703B69187bFfeB14126","status":"deleted"},"SynthiETC":{"address":"0xF13f9E75913b352622F8AEEA5Ac32498b1C228d0","status":"replaced","replaced_in":"v2.35.2"},"TokenStateiDASH":{"address":"0x01ADA1140cA795897c45016Dfd296382267b264a","status":"deleted"},"ProxyiDASH":{"address":"0xCB98f42221b2C251A4E74A1609722eE09f0cc08E","status":"deleted"},"SynthiDASH":{"address":"0x5f7A299Be82D8f5A626300c62C477b233F616121","status":"replaced","replaced_in":"v2.35.2"},"TokenStateiXMR":{"address":"0xE20117888AB22ACF65b02C196A9f8423b502876c","status":"deleted"},"ProxyiXMR":{"address":"0x4AdF728E2Df4945082cDD6053869f51278fae196","status":"deleted"},"SynthiXMR":{"address":"0xC5D2b3f5DAf11B6111Af86a72A5938B0fE6c5045","status":"replaced","replaced_in":"v2.35.2"},"TokenStateiADA":{"address":"0xD636802A5b903b23726189D9B89daAD2750177FA","status":"deleted"},"ProxyiADA":{"address":"0x8A8079c7149B8A1611e5C5d978DCA3bE16545F83","status":"deleted"},"SynthiADA":{"address":"0x9D4193187B247a400E8D8ba716F1C18c0dC65528","status":"replaced","replaced_in":"v2.35.2"}}},"v2.21.12":{"tag":"v2.21.12","fulltag":"v2.21.12-107","release":"Hadar","network":"mainnet","date":"2020-05-08T12:52:06-04:00","commit":"19997724bc7eaceb902c523a6742e0bd74fc75cb","block":10026694,"contracts":{"ReadProxyAddressResolver":{"address":"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","status":"current"}}},"v2.22.4":{"tag":"v2.22.4","fulltag":"v2.22.4","release":"Altair","network":"mainnet","date":"2020-06-05T14:45:28+10:00","commit":"5c7e67ba325f8506c34e163b215ae36a16537a91","block":10202730,"contracts":{"FeePool":{"address":"0x21bD6b9C3cB3f7E0c6Aa7061D2B02f22CDEbD2aB","status":"replaced","replaced_in":"v2.23.3"},"Synthetix":{"address":"0xc6738ed1Eb79FA23941c75b4f437fC65893b5476","status":"replaced","replaced_in":"v2.23.3"},"Exchanger":{"address":"0x7Dfe5aa8fc36c0Ae788a3a71062728bFc3036216","status":"replaced","replaced_in":"v2.23.3"},"Issuer":{"address":"0xEB4c3266E1b295654EC36F16FFCFD24D3Ef3E735","status":"replaced","replaced_in":"v2.23.3"},"Liquidations":{"address":"0x9f9C7BA80442767e7BeF5E8121cEc53cF8182827","status":"replaced","replaced_in":"v2.27.2"},"EternalStorageLiquidations":{"address":"0x0F7c200C4d3b5570C777764884Ce6DE67F31D3Ba","status":"deleted"}}},"v2.23.3":{"tag":"v2.23.3","fulltag":"v2.23.3","release":"Acrux","network":"mainnet","date":"2020-06-30T15:44:41+10:00","commit":"4fd3c1e6ac849f8c43277493e636a2ecc63801e0","block":10364342,"contracts":{"ExchangeRates":{"address":"0xba727c69636491ecdfE3E6F64cBE9428aD371e48","status":"replaced","replaced_in":"v2.27.2"},"FeePool":{"address":"0x6AAeBDfbf23134eF8d81deB2E253f32394B2857B","status":"replaced","replaced_in":"v2.27.2"},"Synthetix":{"address":"0x4E2f13a347584b17F99521497B987f01660b877d","status":"replaced","replaced_in":"v2.24.0"},"AddressResolver":{"address":"0x61166014E3f04E40C953fe4EAb9D9E40863C83AE","status":"replaced","replaced_in":"v2.35.2"},"Exchanger":{"address":"0xfaDAFb3ece40Eac206404B8dF5aF841F16f60E62","status":"replaced","replaced_in":"v2.26.2"},"Issuer":{"address":"0xb7D018F57b82D1523f15a270d6b942836204310b","status":"replaced","replaced_in":"v2.27.2"},"BinaryOptionMarketFactory":{"address":"0x8EC58faA4c1B693B50B7F1331897AD6B52Dd824A","status":"replaced","replaced_in":"v2.25.0"},"BinaryOptionMarketManager":{"address":"0x673e76631981Cb55783527F744e581ABA8Cf406D","status":"replaced","replaced_in":"v2.25.0"}}},"v2.24.0":{"tag":"v2.24.0","fulltag":"v2.24.0","release":"Aldebaran","network":"mainnet","date":"2020-07-01T14:54:11+10:00","commit":"280652bae2d971281b8bf96a319c1c8139ec15c3","block":10371667,"contracts":{"Synthetix":{"address":"0x5eF0de4bd373e435341Cd82311dfb13d5E8fdEf5","status":"replaced","replaced_in":"v2.27.2"}}},"v2.25.0":{"tag":"v2.25.0","fulltag":"v2.25.0","release":"Antares","network":"mainnet","date":"2020-07-20T13:50:06+10:00","commit":"4833cb929d5af6715112537cac3b04b5d7a8b157","block":10493729,"contracts":{"BinaryOptionMarketFactory":{"address":"0x72c091691b5cD86fAcD048972157985f74Ea1F07","status":"replaced","replaced_in":"v2.35.2"},"BinaryOptionMarketManager":{"address":"0x8071bA88e58a19176EF007995FB5D9E1Faa73F92","status":"replaced","replaced_in":"v2.35.2"}}},"v2.26.0-alpha":{"tag":"v2.26.0-alpha","fulltag":"v2.26.0-alpha","release":"Spica","network":"mainnet","date":"2020-07-24T12:27:23+10:00","commit":"c4dd4413cbbd3c0b40dfee2f9119af2dcb6a82e5","contracts":{"StakingRewardsSNXBalancer":{"address":"0xFBaEdde70732540cE2B11A8AC58Eb2dC0D69dE10","status":"current"},"StakingRewardsiETH":{"address":"0xC746bc860781DC90BBFCD381d6A058Dc16357F8d","status":"replaced","replaced_in":"v2.26.3"},"StakingRewardssBTCCurve":{"address":"0x13C1542A468319688B89E323fe9A3Be3A90EBb27","status":"current"},"StakingRewardssUSDCurve":{"address":"0xDCB6A51eA3CA5d3Fd898Fd6564757c7aAeC3ca92","status":"current"},"StakingRewardssXAUUniswapV2":{"address":"0x8302FE9F0C509a996573D3Cc5B0D5D51e4FDD5eC","status":"current"}}},"v2.26.2":{"tag":"v2.26.2","fulltag":"v2.26.2","release":"Spica","network":"mainnet","date":"2020-07-30T13:13:50+10:00","commit":"bda26772bfe5f1bcc7c93d653f80deb60fe2e905","block":10557958,"contracts":{"Exchanger":{"address":"0x439502C922ADA61FE49329248B7A8ecb31C0b329","status":"replaced","replaced_in":"v2.27.2"},"EtherCollateral":{"address":"0x7133afF303539b0A4F60Ab9bd9656598BF49E272","status":"deleted"}}},"v2.26.3":{"tag":"v2.26.3","fulltag":"v2.26.3","release":"Spica","network":"mainnet","date":"2020-08-14T15:22:27-06:00","commit":"60c8390d525949507f8cf2c952c342a97a0826fe","block":10602893,"contracts":{"StakingRewardsiETH":{"address":"0x6Dc0b8A7DACe47Bc75D2dDFDF8BF29e363d92693","status":"replaced","replaced_in":"v2.33.1"},"StakingRewardsiBTC":{"address":"0xE5Ea1DDA3299C0b133a93A47eF9F5536C6892AcE","status":"replaced","replaced_in":"v2.32.1-beta"},"BinaryOptionMarketData":{"address":"0xe523184876c97945da45998582526cDb6a3dA260","status":"deleted"},"SynthUtil":{"address":"0x81Aee4EA48f678E172640fB5813cf7A96AFaF6C3","status":"current"},"DappMaintenance":{"address":"0xAb0B2f1Cf979cdbF4676251F35353eC5AF2732Dd","status":"current"}}},"v2.27.2":{"tag":"v2.27.2","fulltag":"v2.27.2","release":"Pollux","network":"mainnet","date":"2020-09-01T18:32:44+12:00","commit":"62408a24161f041e1e484af92e1dbb232dfc4065","block":10773786,"contracts":{"ExchangeRates":{"address":"0xbCc4ac49b8f57079df1029dD3146C8ECD805acd0","status":"replaced","keccak256":"0x01a2b00da817c983b1bd19e0af4d554a690f5cdd8aa54ff6536c76f1728377e0","replaced_in":"v2.28.4"},"FeePool":{"address":"0x17eC614dB5db8C6917BA7Be639507d3CEb95a4D2","status":"replaced","keccak256":"0x89fe01b2c0707be51cdfc9d44205efcffb0134ed60a92a9056940dd442fb1908","replaced_in":"v2.28.4"},"Synthetix":{"address":"0x6eB3aC83701f624bAEfBc50db654b53d1F51dC94","status":"replaced","keccak256":"0xf92685622f5b8ea9c56041189b6c200314f72f08df4ff073a02896c849eb834f","replaced_in":"v2.31.1"},"Exchanger":{"address":"0x1d53a13D78766C0Db6eF73eC0ae1138eA2b6f5D4","status":"replaced","keccak256":"0x737fcda1e8b492524c2a643bca60667f28f6b8107f310b4d5a0f8e3056dddc73","replaced_in":"v2.30.0"},"Issuer":{"address":"0x62D6c67b2c06e9d7b889cc1d1b3a24F3370f241A","status":"replaced","keccak256":"0x723b38bb915f02c16cf004d09469b1d3024064f4c9438a01dbe7b2185dc6c236","replaced_in":"v2.28.4"},"Liquidations":{"address":"0x46338723022deF2c5151e83BE759796A988754a2","status":"replaced","keccak256":"0xf4020bcebac1bd7291e495284dd4a6efa22f5d1c009c04f178b9a4e1304759dc","replaced_in":"v2.35.2"},"FlexibleStorage":{"address":"0xc757aCBa3c0506218b3022266a9DC7F3612d85f5","status":"current","keccak256":"0x952f7c2f536ec424f53fc741cb4384b5d9ea94934de777ead382bf84e3c1e757"},"SystemSettings":{"address":"0x26C6C7F10e271Eef0011d07319622F31d22D139c","status":"replaced","keccak256":"0x59393d6ea3c81732896d77b91ca890a4e69abe8ff8019bbdd3c09a2b1eb02eef","replaced_in":"v2.30.0"},"TradingRewards":{"address":"0xfF535F02CE0Df35D52c7A1bdace447101D2514D3","status":"replaced","keccak256":"0xee0b5025064a29a55fa474b59f7c646f08dd4820d259cf134b3f26fe5b2e0941","replaced_in":"v2.35.2"}}},"v2.28.4":{"tag":"v2.28.4","fulltag":"v2.28.4","release":"Fomalhaut","network":"mainnet","date":"2020-09-24T18:50:48+10:00","commit":"5f0eba4171a7f5db98fdf6129e9794f443116b92","block":10924759,"contracts":{"ExchangeRates":{"address":"0xdB2Ae36C2e9C00070e5bF752Be1FA2d477E98BDa","status":"replaced","keccak256":"0x9b7626bb44a60f17f989367a27bbc71b7b86d63a03033c7ed5c7fb5d3eedc743","replaced_in":"v2.30.0"},"FeePool":{"address":"0x013D16CB1Bd493bBB89D45b43254842FadC169C8","status":"replaced","keccak256":"0x1b5c5a7be8072e6d9e89d218345a7692365a4236fd3d82ea85476d0fad9c30c1","replaced_in":"v2.35.2"},"SynthsUSD":{"address":"0x705142E6f3970F004721bdf05b696B45Fc4aD6d7","status":"replaced","keccak256":"0x153f392299fac48cc06ca86dd544a0d67fb9056f588e0f63609461d457787804","replaced_in":"v2.35.2"},"Issuer":{"address":"0xB9c9B2D4A514d0c00266FBbCBd2f471da984861a","status":"replaced","keccak256":"0xf6b38cc555bf11c4c5a5b13316a65f4ec59230524ca1b8c969fcdcbc20c2c922","replaced_in":"v2.30.0"},"EtherCollateralsUSD":{"address":"0xfED77055B40d63DCf17ab250FFD6948FBFF57B82","status":"deleted","keccak256":"0x85918fcd0515828e0a6698e27e43151d5e0333d936ea6b5a9f6f9341a9b68266"}}},"v2.30.0":{"tag":"v2.30.0","fulltag":"v2.30.0","release":"Deneb","network":"mainnet","date":"2020-10-08T19:34:02+11:00","commit":"6e6b68ae14eee0c6246b5bbe6bdd0b181ba7df94","block":11014103,"contracts":{"ExchangeRates":{"address":"0xda80E6024bC82C9fe9e4e6760a9769CF0D231E80","status":"replaced","keccak256":"0xecc746e9363b1e4d2cda6b3bd5773268540a790a4f1f14909b2eaf441acaf6c4","replaced_in":"v2.31.1"},"Exchanger":{"address":"0xc4942df0d3c561c71417BBA09d2DEA7a3CC676Fb","status":"replaced","keccak256":"0x5d6e11d4c9e1a785a435f44c861da9ed9ef4889db9151265145624a1cf64e512","replaced_in":"v2.31.1"},"Issuer":{"address":"0x2BA226A6134516457471583AE172457b189187C0","status":"replaced","keccak256":"0xd75e68a23fef19a0e8604bebe92baa040bfb590ae5259333aeb63ac413c94da1","replaced_in":"v2.31.1"},"SystemSettings":{"address":"0x703D37fb776A4C905e28f7Ff23C73102ce36E08B","status":"replaced","keccak256":"0x0119b6d98214114e4c7c41b10e0cd5b58903143e6556156917772b4019c44335","replaced_in":"v2.35.2"}}},"v2.31.1":{"tag":"v2.31.1","fulltag":"v2.31.1","release":"Mimosa","network":"mainnet","date":"2020-11-11T22:10:58-05:00","commit":"29919ec289317f6441c89df4852620ebb6983285","block":11240446,"contracts":{"ExchangeRates":{"address":"0xA68C6020fF9Ea79F05345cDd2CE37DF4b89478ed","status":"replaced","keccak256":"0xb00ede4847d8725844e762151714f558e8b5d6fa3b34531cf29fe14d3e052884","replaced_in":"v2.35.2"},"Synthetix":{"address":"0x7e6ab054070599ca7B1552aEa7962b6B344A9950","status":"replaced","keccak256":"0x02c3d358d6a0487f54ac56b33bf9f39f12c7af85564544f3d929a143ca96d9ea","replaced_in":"v2.32.2"},"Exchanger":{"address":"0x300F0f100389282b51F1Bc486D8c2ad22B6C4E42","status":"replaced","keccak256":"0xb4aec17ec72b273b7013d9042a231b06ed4b4246e8a77bc5f507598ebd77e396","replaced_in":"v2.32.2"},"Issuer":{"address":"0xdd692195b3b632B196FE33eB274CCBE91b8D849f","status":"replaced","keccak256":"0xffc3175744de9a11cf1cc91ca6aad118b539e8ccad902d409ce853619f7168d4","replaced_in":"v2.35.2"},"DebtCache":{"address":"0x198A560EA4842c8E64Dd7cF445C5fBC5903B2736","status":"replaced","keccak256":"0x35d36fdd6fa8ff932a8733f9583afaf396e33a59b1febc8b68a60d65f731a8a9","replaced_in":"v2.35.2"},"TokenStatesOIL":{"address":"0x98d7CcF403B8BD2F6DC3F3cA4161f1E8db3dD080","status":"deleted","keccak256":"0x0f7749d534fc2dd7ab5c3b8490967a5792fb132eaeba573e74f6016c383d7701"},"ProxysOIL":{"address":"0x6d16cF3EC5F763d4d99cB0B0b110eefD93B11B56","status":"deleted","keccak256":"0xf57882920536d50a381ff2e8395534cabfdd4224df40c4efa8ec25a8c8ab7088"},"SynthsOIL":{"address":"0xDE3Eaa39875d0528A575dBcC436b2C6ae9fc353c","status":"replaced","keccak256":"0x268ff01dc0d6236517d11269cb667a5600eb62633953148d78921900688e30cb","replaced_in":"v2.35.2"},"TokenStateiOIL":{"address":"0xF92BE89BF1aebA61AC48D90CF7C9Ac2b3616c4Da","status":"deleted","keccak256":"0x0f7749d534fc2dd7ab5c3b8490967a5792fb132eaeba573e74f6016c383d7701"},"ProxyiOIL":{"address":"0xA5a5DF41883Cdc00c4cCC6E8097130535399d9a3","status":"deleted","keccak256":"0xf57882920536d50a381ff2e8395534cabfdd4224df40c4efa8ec25a8c8ab7088"},"SynthiOIL":{"address":"0x54EA32890a1bDB1C1aE106C921bE010F2C7faaC2","status":"replaced","keccak256":"0xa334bb44b69f6f2cbd66738d110ac1cf455cb8f8b7c98a960fbaea9d9a4f2b72","replaced_in":"v2.35.2"}}},"v2.32.1-beta":{"tag":"v2.32.1-beta","fulltag":"v2.32.1-beta","release":"Regulus","network":"mainnet","date":"2020-11-13T13:47:31+11:00","commit":"dde4e3194c42863e9f313df986b01e0dc9838541","contracts":{"StakingRewardsiBTC":{"address":"0x32C9F03490A9F560EccC9f107e71560C1b0A2535","status":"replaced","replaced_in":"v2.35.4"}}},"v2.32.2":{"tag":"v2.32.2","fulltag":"v2.32.2","release":"Regulus","network":"mainnet","date":"2020-11-12T23:51:24-05:00","commit":"cd889471d05c29510af0cb082fed6c03b8638981","block":11247749,"contracts":{"Synthetix":{"address":"0xf87A0587Fe48Ca05dd68a514Ce387C0d4d3AE31C","status":"replaced","keccak256":"0x1bfcc7247998d65ebfb5c17d978eafdef24825868b4d77df2bb5354d6aaf0e19","replaced_in":"v2.35.2"},"Exchanger":{"address":"0xd3970a9D35d2Be3aaf62D2b5B2be3Ee303aC4228","status":"replaced","keccak256":"0xee1b7e9552a2b8e7da01a7932c36340a6a1e667b8b37f6eefd7a59ef6bbc5361","replaced_in":"v2.34.0"}}},"v2.33.1":{"tag":"v2.33.1","fulltag":"v2.33.1","release":"Regulus","network":"mainnet","date":"2020-11-24T12:48:26+11:00","commit":"1925c97723ce0b4871ac4864f1e63f5f12990c5a","block":11311695,"contracts":{"StakingRewardsiETH":{"address":"0x3fdbbbd81b0962fdf486d74f94a68c70ba87c6c7","status":"replaced","replaced_in":"v2.35.5"}}},"v2.34.0":{"tag":"v2.34.0","fulltag":"v2.34.0","release":"Adhara","network":"mainnet","date":"2020-12-01T03:01:54+00:00","commit":"12576807a21a7efa6b2cbb47c5a9082a956edc64","block":11363952,"contracts":{"Exchanger":{"address":"0x93b434b2e21d0F4E3ed1e9efa3Aa254A6D863B2A","status":"replaced","keccak256":"0x09fa1faaf859aae12a0424acc41b0e80c285f1af4b495a4659ac2b140afd8bdf","replaced_in":"v2.35.2"}}},"v2.35.2":{"tag":"v2.35.2","fulltag":"v2.35.2","release":"Shaula","network":"mainnet","date":"2020-12-23T23:30:50-05:00","commit":"ec70aac92af3387b45f7667130fb910fd0a8456c","block":11514332,"contracts":{"ExchangeRates":{"address":"0xd69b189020EF614796578AfE4d10378c5e7e1138","status":"replaced","keccak256":"0x6c13c44ff3c52644f0b7006484742be9349727f83ab458189e89834055016dad","replaced_in":"v2.53.0"},"FeePool":{"address":"0x28d8458C76C7029257BAA10F86E9dA7481C513fb","status":"replaced","keccak256":"0x51bd2b8ffcf3d7131b99f486d9cf061a606d39edeaeccff6b74c6500a32a14f3","replaced_in":"v2.36.0"},"Synthetix":{"address":"0x6e6a43A8148B5c54A94C044a835476D3f3f4D59A","status":"replaced","keccak256":"0x41941b8dd270efe6fad9ff32810eaad189b55acc1455158e6b4258442d9d8af4","replaced_in":"v2.36.0"},"SynthsAUD":{"address":"0x37B648a07476F4941D3D647f81118AFd55fa8a04","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsBTC":{"address":"0xDB91E4B3b6E19bF22E810C43273eae48C9037e74","status":"replaced","keccak256":"0x14571b22f2a34a60434c0954c2dd071b0bf65aec24a5869d2b5017ab8b7dd9a8","replaced_in":"v2.48.0"},"SynthsCHF":{"address":"0xcf9bB94b5d65589039607BA66e3DAC686d3eFf01","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsEUR":{"address":"0xC61b352fCc311Ae6B0301459A970150005e74b3E","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsGBP":{"address":"0xEF285D339c91aDf1dD7DE0aEAa6250805FD68258","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsJPY":{"address":"0x388fD1A8a7d36e03eFA1ab100a1c5159a3A3d427","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsUSD":{"address":"0x6C85C5198C3CC4dB1b87Cb43b2674241a30f4845","status":"replaced","keccak256":"0x14571b22f2a34a60434c0954c2dd071b0bf65aec24a5869d2b5017ab8b7dd9a8","replaced_in":"v2.45.0"},"SynthsXAG":{"address":"0x9745606DA6e162866DAD7bF80f2AbF145EDD7571","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsXAU":{"address":"0x5eDf7dd83fE2889D264fa9D3b93d0a6e6A45D6C6","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsETH":{"address":"0x87641989057242Bff28D0D6108d007C79774D06f","status":"replaced","keccak256":"0x14571b22f2a34a60434c0954c2dd071b0bf65aec24a5869d2b5017ab8b7dd9a8","replaced_in":"v2.45.0"},"SynthsBNB":{"address":"0xda3c83750b1FA31Fda838136ef3f853b41cb7a5a","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiBTC":{"address":"0x8350d1b2d6EF5289179fe49E5b0F208165B4e32e","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiETH":{"address":"0x29DD4A59F4D339226867e77aF211724eaBb45c02","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiBNB":{"address":"0xf7B8dF8b16dA302d85603B8e7F95111a768458Cc","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthsTRX":{"address":"0x47bD14817d7684082E04934878EE2Dd3576Ae19d","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsXTZ":{"address":"0x6F927644d55E32318629198081923894FbFe5c07","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiTRX":{"address":"0x0517A56da8A517e3b2D484Cc5F1Da4BDCfE68ec3","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiXTZ":{"address":"0x099CfAd1640fc7EA686ab1D83F0A285Ba0470882","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthsCEX":{"address":"0x2acfe6265D358d982cB1c3B521199973CD443C71","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiCEX":{"address":"0x6Dc6a64724399524184C2c44a526A2cff1BaA507","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthsXRP":{"address":"0xe3D5E1c1bA874C0fF3BA31b999967F24d5ca04e5","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsLTC":{"address":"0xA962208CDC8588F9238fae169d0F63306c353F4F","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthsLINK":{"address":"0xcd980Fc5CcdAe62B18A52b83eC64200121A929db","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsDEFI":{"address":"0x46A7Af405093B27DA6DeF193C508Bd9240A255FA","status":"replaced","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18","replaced_in":"v2.53.0"},"SynthiXRP":{"address":"0x19cC1f63e344D74A87D955E3F3E95B28DDDc61d8","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiLINK":{"address":"0x4D50A0e5f068ACdC80A1da2dd1f0Ad48845df2F8","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiLTC":{"address":"0xb73c665825dAa926D6ef09417FbE5654473c1b49","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiDEFI":{"address":"0x87eb6e935e3C7E3E3A0E31a5658498bC87dE646E","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"AddressResolver":{"address":"0x823bE81bbF96BEc0e25CA13170F5AaCb5B79ba83","status":"current","keccak256":"0x08ec0f694f3303c567cc46ab5bf96aaf3851fd6a19648ad1918b5782429cc81a"},"Exchanger":{"address":"0x0bfDc04B38251394542586969E2356d0D731f7DE","status":"replaced","keccak256":"0xd754d5cdbdb4e6203dcc39bdaed00532478313e8883c9b4b6c6207e0b9cb805b","replaced_in":"v2.42.0"},"Issuer":{"address":"0x611Abc0e066A01AFf63910fC8935D164267eC6CF","status":"replaced","keccak256":"0x0df620a435ec41cafde34c49b7de45034cb5ad61218f262f26a7f6c7dd358184","replaced_in":"v2.36.0"},"SynthsEOS":{"address":"0xAf090d6E583C082f2011908cf95c2518BE7A53ac","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsBCH":{"address":"0x7DA860eF331D22518C28E475af08a77e8599393A","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsETC":{"address":"0x21ee4afBd6c151fD9A69c1389598170B1d45E0e3","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsDASH":{"address":"0xcb6Cb218D558ae7fF6415f95BDA6616FCFF669Cb","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsXMR":{"address":"0x7B29C9e188De18563B19d162374ce6836F31415a","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsADA":{"address":"0xC22e51FA362654ea453B4018B616ef6f6ab3b779","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsFTSE":{"address":"0x3E2dA260B4A85782A629320EB027A3B7c28eA9f1","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsNIKKEI":{"address":"0xc02DD182Ce029E6d7f78F37492DFd39E4FEB1f8b","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthiEOS":{"address":"0x806A599d60B2FdBda379D5890287D2fba1026cC0","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiBCH":{"address":"0x13Fae0E7E85ba720078038bea5011C2957cDcef2","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiETC":{"address":"0xCea42504874586a718954746A564B72bc7eba3E3","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiDASH":{"address":"0x947d5656725fB9A8f9c826A91b6082b07E2745B7","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiXMR":{"address":"0x186E56A62E7caCE1308f1A1B0dbb27f33F80f16f","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiADA":{"address":"0x931c5516EE121a177bD2B60e0122Da5B27630ABc","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"Liquidations":{"address":"0xAD95C918af576c82Df740878C3E983CBD175daB6","status":"deleted","keccak256":"0x000d9a0ec698e3988b41d0ba80b2232ccd83dbdd1f065d4ff9ae43754a701bae"},"BinaryOptionMarketFactory":{"address":"0x211bA925B35b82246a3CCfa3A991a39A840f025C","status":"deleted","keccak256":"0x19c02d5083547f83f7498763553980d79e887fc93fa434da292b66a456443759"},"BinaryOptionMarketManager":{"address":"0x915D1c9dF12142B535F6a7437F0196D80bCCC1BD","status":"deleted","keccak256":"0x2e5c533119e027ff1083ea3845643d65379a51ac6c22e4dca1399f32938f024d"},"SystemSettings":{"address":"0x4751775867ebB3b5aa436a2F33D1e1ccA4157F35","status":"replaced","keccak256":"0x148c7aaaab9c0789a47a345111b41e8d646e2c56ca1ad7880c0e766aa178cdd0","replaced_in":"v2.36.0"},"TradingRewards":{"address":"0x62922670313bf6b41C580143d1f6C173C5C20019","status":"current","keccak256":"0xbd78e356e87ea7ca505e365a1a21c5f84511c231a3531d61e7f0c4341ea80530"},"DebtCache":{"address":"0x12c815b0c404D66Dd0491f4EC62839904cec25e7","status":"replaced","keccak256":"0x071d5e77712e76f9ce095244ed31be9ece5efbe76a73b97bde41582f727f91c9","replaced_in":"v2.45.0"},"SynthsOIL":{"address":"0x2962EA4E749e54b10CFA557770D597027BA67cB3","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthiOIL":{"address":"0x53869BDa4b8d85aEDCC9C6cAcf015AF9447Cade7","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"CollateralManagerState":{"address":"0x573E5105c4B92416D1544A188F1bf77d442Bb52d","status":"current","keccak256":"0x614dd98ef6d3ac07a6f11efcf61e17925555e41e6bc964956eeca7c541af4d54"},"CollateralManager":{"address":"0x067e398605E84F2D0aEEC1806e62768C5110DCc6","status":"current","keccak256":"0x20ccb7af61701bb647d44055355ec93371d8897c459f70079cab337a5d8696b9"},"CollateralStateEth":{"address":"0x04D9231B1fff88464a3d26Fd91A1bA0b24796107","status":"replaced","keccak256":"0xc238df01b6845ebf985ef266b8a50321f5410843b04b9de084a771bb5b95459c","replaced_in":"v2.36.0"},"CollateralEth":{"address":"0x3FF5c0A14121Ca39211C95f6cEB221b86A90729E","status":"replaced","keccak256":"0x1c9a753645e530b04a7d8ac4d394154efe5b4d0c097cd3dcb410ad03d477918d","replaced_in":"v2.36.0"},"CollateralStateErc20":{"address":"0x54277B3a7A4aEe0fdF279E16aBF9D5Dad87828D6","status":"replaced","keccak256":"0xc238df01b6845ebf985ef266b8a50321f5410843b04b9de084a771bb5b95459c","replaced_in":"v2.36.0"},"CollateralErc20":{"address":"0x3B3812BB9f6151bEb6fa10783F1ae848a77a0d46","status":"replaced","keccak256":"0xd179858cd8df017e9c0a4313a6d9b2ad2af1a528498a1c1633aaa65b79395c12","replaced_in":"v2.36.0"},"CollateralStateShort":{"address":"0xd322259B4D93F81a2a59f6010BEC166F6f5E870c","status":"replaced","keccak256":"0xc238df01b6845ebf985ef266b8a50321f5410843b04b9de084a771bb5b95459c","replaced_in":"v2.36.0"},"CollateralShort":{"address":"0x188C2274B04Ea392B21487b5De299e382Ff84246","status":"replaced","keccak256":"0xcfd4c10190e41e869cd9dfce6881f7f54d106c6a93bea6ea4f242c21608024b4","replaced_in":"v2.36.0"}}},"v2.35.4":{"tag":"v2.35.4","fulltag":"v2.35.4","release":"Shaula","network":"mainnet","date":"2020-12-27T23:33:03+11:00","commit":"6adcdf4643199987cd86839891016f6c066cb7cc","block":11534500,"contracts":{"StakingRewardsiBTC":{"address":"0xDcdD9e45FA94cf50eCd3251dd8f8157B2D492DD9","status":"replaced","replaced_in":"v2.35.6"}}},"v2.35.5":{"tag":"v2.35.5","fulltag":"v2.35.5","release":"Shaula","network":"mainnet","date":"2021-01-04T13:14:53+11:00","commit":"fcc5b6dc68ea17e24230f6862819f04a8a3ab994","block":11584931,"contracts":{"StakingRewardsiETH":{"address":"0x6d4F135aF7DFCd4BDF6dCb9D7911F5d243872a52","status":"replaced","replaced_in":"v2.37.2"}}},"v2.35.6":{"tag":"v2.35.6","fulltag":"v2.35.6","release":"Shaula","network":"mainnet","date":"2021-01-09T12:21:05+11:00","commit":"488095084f580528bb515eadf875804ca5510c0c","contracts":{"StakingRewardsiBTC":{"address":"0x167009dcDA2e49930a71712D956f02cc980DcC1b","status":"current","keccak256":"0x887fbc76ddd8d83f704e96ada13cdc7f01adf45c2bff445a83b721780bfe1479"}}},"v2.36.0-alpha":{"tag":"v2.36.0-alpha","fulltag":"v2.36.0-alpha","release":"Castor","network":"mainnet","date":"2021-01-14T06:03:45+11:00","commit":"e0b70b7f704771c45e3ab3fefc9850ee21baa1f0","contracts":{"StakingRewardssEURCurve":{"address":"0xc0d8994Cd78eE1980885DF1A0C5470fC977b5cFe","status":"current","keccak256":"0x887fbc76ddd8d83f704e96ada13cdc7f01adf45c2bff445a83b721780bfe1479"}}},"v2.36.0":{"tag":"v2.36.0","fulltag":"v2.36.0","release":"Castor","network":"mainnet","date":"2021-01-15T14:54:58+11:00","commit":"ecb71301348176b76432b85968cb0f8cfe5829a8","contracts":{"FeePool":{"address":"0x778D2d3E3515e42573EB1e6a8d8915D4a22D9d54","status":"replaced","keccak256":"0xf90645ee31653436f05b2ddec17be15e1fa5e66d926e33966d80b1440c8aed89","replaced_in":"v2.45.0"},"Synthetix":{"address":"0x273cA27361CbF5169fCb7C1391968b6371294420","status":"replaced","keccak256":"0x5510e2a4a8c3c5fc1f6069b0754d5c4cd73414c8105b40dba8fe67734dc64741","replaced_in":"v2.38.0"},"Issuer":{"address":"0x0DecF74C966438C3b4578b46Dcc64C907141f670","status":"replaced","keccak256":"0x5081661c90f6d4e491c8a8f44cbd17e23c27f44dbae57c407f3a108cf45e0d27","replaced_in":"v2.45.0"},"SystemSettings":{"address":"0xaC87648CA3b88b6CE566aaC9d7f3c0eB635b3a1e","status":"replaced","keccak256":"0x8f9dd57d480d9ffe5ed1e2501055b47affe94d8dcf63ee7c3b889311d0962330","replaced_in":"v2.45.0"},"CollateralStateEth":{"address":"0xbe5B5a7c198bC156474ed5c33CBf2F3F604F8fF8","status":"current","keccak256":"0x30ca2798b72c79907035679c274da0e6692b585e6792e7977d70b3b1d966d508"},"CollateralEth":{"address":"0x5c8344bcdC38F1aB5EB5C1d4a35DdEeA522B5DfA","status":"current","keccak256":"0xa48ff50e2dbdb646cb5933caf7f577a673f7e535eb520e7e9b32ff86e3bc9784"},"CollateralStateErc20":{"address":"0x8A1A00Df7aA0102497C7591912bA8301e8dB8CdB","status":"current","keccak256":"0x30ca2798b72c79907035679c274da0e6692b585e6792e7977d70b3b1d966d508"},"CollateralErc20":{"address":"0xaa03aB31b55DceEeF845C8d17890CC61cD98eD04","status":"current","keccak256":"0xcba65179bf463952f22a9a8d0543d767b233039d0ebcf7721b86cd60b3e8c948"},"CollateralStateShort":{"address":"0x13A114a3Fa8A6CE03a0C5488BE9e614d78eDdb0c","status":"current","keccak256":"0x30ca2798b72c79907035679c274da0e6692b585e6792e7977d70b3b1d966d508"},"CollateralShort":{"address":"0x1F2c3a1046c32729862fcB038369696e3273a516","status":"current","keccak256":"0x332ba7664d15521a81c57ff5f1f5a8d18216ae4e3843991f25ac9ff524b90758"},"RewardEscrowV2":{"address":"0xDA4eF8520b1A57D7d63f1E249606D1A459698876","status":"current","keccak256":"0xd6153f08b1517a31caa3c5a3b2035a553d8e62dc1c578a97b30fbb7bbf7c4d43"},"SynthetixBridgeToOptimism":{"address":"0x045e507925d2e05D114534D0810a1abD94aca8d6","status":"replaced","keccak256":"0x072ba93f033853347432cd3d6f47d4a4d54cd106185de9382cde9977636a00a7","replaced_in":"v2.44.0"}}},"v2.37.2":{"tag":"v2.37.2","fulltag":"v2.37.2","release":"Gacrux","network":"mainnet","date":"2021-02-03T20:51:49+11:00","commit":"2dbefe270db60cfce32c7be5042f6b21210b59ec","contracts":{"StakingRewardsiETH":{"address":"0x3f27c540ADaE3a9E8c875C61e3B970b559d7F65d","status":"current","keccak256":"0x3e6a3472be447625ea5b31cfbf61920dd3f68d77a9cb29c9c996f3d14923e4e9"}}},"v2.38.0":{"tag":"v2.38.0","fulltag":"v2.38.0","release":"Bellatrix","network":"mainnet","date":"2021-02-04T01:43:31-05:00","commit":"3ae713e07049d2a18f360f21c8681c67176f706b","contracts":{"Synthetix":{"address":"0x97767D7D04Fd0dB0A1a2478DCd4BA85290556B48","status":"replaced","keccak256":"0x33cdbd8578a578cf81ba42b1a47fc9af81a7287b9dde01b81115b84851e4c2fe","replaced_in":"v2.46.0"},"SystemStatus":{"address":"0x1c86B3CDF2a60Ae3a574f7f71d44E2C50BDdB87E","status":"replaced","keccak256":"0xb210589c91f85a692d9e05830f09655739b48d942f32d07c54688b2f7211bc1c","replaced_in":"v2.64.1"},"ShortingRewardssETH":{"address":"0x12DC1273915A16ab8BD47bA7866B240c253e4c12","status":"current","keccak256":"0xff9b3bd33ceece6255032e9becb94e0ac28d6c7b7e5310f6329a86dc5b380fae"},"ShortingRewardssBTC":{"address":"0xCed4055b47cfD0421f3727a35F69CE659c8bAF7a","status":"current","keccak256":"0xff9b3bd33ceece6255032e9becb94e0ac28d6c7b7e5310f6329a86dc5b380fae"},"TokenStatesAAVE":{"address":"0x9BcED8A8E3Ad81c9b146FFC880358f734A06f7c0","status":"current","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysAAVE":{"address":"0xd2dF355C19471c8bd7D8A3aa27Ff4e26A21b4076","status":"current","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsAAVE":{"address":"0xaB38249f4f56Ef868F6b5E01D9cFa26B952c1270","status":"replaced","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7","replaced_in":"v2.53.0"},"TokenStatesUNI":{"address":"0x9234733bD0F3E227e431BBE7B09CEB0E3E9755e3","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysUNI":{"address":"0x30635297E450b930f8693297eBa160D9e6c8eBcf","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsUNI":{"address":"0xAa1b12E3e5F70aBCcd1714F4260A74ca21e7B17b","status":"deleted","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7"},"TokenStatesYFI":{"address":"0xF61F4A57C63340ac1Fd75578ae878c8a263aeC06","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysYFI":{"address":"0x992058B7DB08F9734d84485bfbC243C4ee6954A7","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsYFI":{"address":"0x0F393ce493d8FB0b83915248a21a3104932ed97c","status":"deleted","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7"},"TokenStatesDOT":{"address":"0x73B1a2643507Cd30F11Dfcf2D974f4373E5BC077","status":"current","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysDOT":{"address":"0x1715AC0743102BF5Cd58EfBB6Cf2dC2685d967b6","status":"current","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsDOT":{"address":"0xfD0435A588BF5c5a6974BA19Fa627b772833d4eb","status":"replaced","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7","replaced_in":"v2.53.0"},"TokenStatesREN":{"address":"0x6e6d86D88d2Ce382918EB4F062F0fff82B8c9b99","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysREN":{"address":"0xD31533E8d0f3DF62060e94B3F1318137bB6E3525","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsREN":{"address":"0x4287dac1cC7434991119Eba7413189A66fFE65cF","status":"deleted","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7"},"TokenStatesCOMP":{"address":"0x5f298BD4391d32Af25368FA78dc210A56c7Ccc9c","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysCOMP":{"address":"0xEb029507d3e043DD6C87F2917C4E82B902c35618","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsCOMP":{"address":"0x34c76BC146b759E58886e821D62548AC1e0BA7Bc","status":"deleted","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7"},"TokenStateiAAVE":{"address":"0xC43c0D8b2A3509d193974695568164C190af2AAF","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxyiAAVE":{"address":"0x176C674Ee533C6139B0dc8b458D72A93dCB3e705","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthiAAVE":{"address":"0x1cB27Ac646afAE192dF9928A2808C0f7f586Af7d","status":"deleted","keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855"},"TokenStateiUNI":{"address":"0x13caB49E4484C2E0624d2bdF3dADfAD43e5611f9","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxyiUNI":{"address":"0x36A00FF9072570eF4B9292117850B8FE08d96cce","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthiUNI":{"address":"0x3dD7b893c25025CabFBd290A5E06BaFF3DE335b8","status":"deleted","keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855"},"TokenStateiYFI":{"address":"0x643088Ad7A6CEB1ec95be0E7B382438399CA8e7C","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxyiYFI":{"address":"0x592244301CeA952d6daB2fdC1fE6bd9E53917306","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthiYFI":{"address":"0x1A4505543C92084bE57ED80113eaB7241171e7a8","status":"deleted","keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855"},"TokenStateiDOT":{"address":"0x41d85Df6513A86eb2eA186e2cf4ec0fE5dD16754","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxyiDOT":{"address":"0x46a97629C9C1F58De6EC18C7F536e7E6d6A6ecDe","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthiDOT":{"address":"0xF6ce55E09De0F9F97210aAf6DB88Ed6b6792Ca1f","status":"deleted","keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855"},"TokenStateiREN":{"address":"0x348C3c80c4F23574BC8cDF669A0Dc106a4E32BFf","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxyiREN":{"address":"0x0fEd38108bdb8e62ef7b5680E8E0726E2F29e0De","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthiREN":{"address":"0xacAAB69C2BA65A2DB415605F309007e18D4F5E8C","status":"deleted","keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855"},"TokenStateiCOMP":{"address":"0x673Be1f8b8e1F2AB64C475b44060EE39163423f0","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxyiCOMP":{"address":"0x6345728B1ccE16E6f8C509950b5c84FFF88530d9","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthiCOMP":{"address":"0x9A5Ea0D8786B8d17a70410A905Aed1443fae5A38","status":"deleted","keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855"}}},"v2.39.0-alpha":{"tag":"v2.39.0-alpha","fulltag":"v2.39.0-alpha","release":"Elnath","network":"mainnet","date":"2021-02-11T12:10:36+11:00","commit":"89453847d76da1572d1c66b1a838b9360b25f3e5","contracts":{"TokenStatesTSLA":{"address":"0x259F2584E8A672DA3773F91D66567a3229Dee93d","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysTSLA":{"address":"0x918dA91Ccbc32B7a6A0cc4eCd5987bbab6E31e6D","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsTSLA":{"address":"0x0d1c4e5C07B071aa4E6A14A604D4F6478cAAC7B4","status":"deleted","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7"}}},"v2.39.1":{"tag":"v2.39.1","fulltag":"v2.39.1","release":"Elnath","network":"mainnet","date":"2021-02-11T15:27:40-05:00","commit":"f8043e4f25f6b806b47c713bd7ef8e7abb0256ce","contracts":{"StakingRewardssTSLABalancer":{"address":"0xF0de877F2F9E7A60767f9BA662F10751566AD01c","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"}}},"v2.41.0":{"tag":"v2.41.0","fulltag":"v2.41.0","release":"Miaplacidus","network":"mainnet","date":"2021-03-25T07:06:27+11:00","commit":"d0e83584eeb6fe18957a8203e7afae667ab8117d","contracts":{"TokenStatesKRW":{"address":"0x93B6e9FbBd2c32a0DC3C2B943B7C3CBC2fE23730","status":"current","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysKRW":{"address":"0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B","status":"current","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsKRW":{"address":"0xCeC4e038371d32212C6Dcdf36Fdbcb6F8a34C6d8","status":"replaced","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7","replaced_in":"v2.53.0"}}},"v2.42.0":{"tag":"v2.42.0","fulltag":"v2.42.0","release":"Alnilam","network":"mainnet","date":"2021-04-21T20:18:07-06:00","commit":"865b794b9cd5cd9e0f649dc568ef24821536bfb7","contracts":{"Exchanger":{"address":"0x585fD19eBa8F1a81F37C5eb322FD4b8D911367e8","status":"replaced","keccak256":"0x207bf8d21a4651525f8c2b0d90885d64a4c5f51c06ac5c20d842438a8950c5b9","replaced_in":"v2.46.0"},"TokenStates1INCH":{"address":"0xeD1EfD716C7E2e821BBD4EC1480D649df7fb2279","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"Proxys1INCH":{"address":"0xcD39b5434a0A92cf47D1F567a7dF84bE356814F0","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"Synths1INCH":{"address":"0x0E8Fa2339314AB7E164818F26207897bBe29C3af","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesRUNE":{"address":"0x860C5f944b098cE28CF9f2Da099913F01c9364D8","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysRUNE":{"address":"0x0352557B007A4Aae1511C114409b932F06F9E2f4","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsRUNE":{"address":"0xe615Df79AC987193561f37E77465bEC2aEfe9aDb","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesCRV":{"address":"0x602590F2aa35B71ccB1Ca72E673A75b26eC7f4E8","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysCRV":{"address":"0xD38aEb759891882e78E957c80656572503D8c1B1","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsCRV":{"address":"0x13D0F5B8630520eA04f694F17A001fb95eaFD30E","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesAAPL":{"address":"0x830B48539D82a4D34dD670bfE163f9eF84B6c2f1","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysAAPL":{"address":"0x7537AAe01f3B218DAE75e10d952473823F961B87","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsAAPL":{"address":"0x815CeF3b7773f35428B4353073B086ecB658f73C","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesFB":{"address":"0xBF416bdf37b1590A3A37A1504865354Bf5D90b34","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysFB":{"address":"0xf50B5e535F62a56A9BD2d8e2434204E726c027Fa","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsFB":{"address":"0xb0e0BA880775B7F2ba813b3800b3979d719F0379","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesGOOG":{"address":"0x272BbF5eEf131A3eb4a3078A58cFcD0978585F98","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysGOOG":{"address":"0xC63B8ECCE56aB9C46184eC6aB85e4771fEa4c8AD","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsGOOG":{"address":"0x8e082925e78538955bC0e2F363FC5d1Ab3be739b","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesNFLX":{"address":"0x438D8701892AB7578ea34F8cDCdCAdc93e48D443","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysNFLX":{"address":"0x5A7E3c07604EB515C16b36cd51906a65f021F609","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsNFLX":{"address":"0x399BA516a6d68d6Ad4D5f3999902D0DeAcaACDdd","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesAMZN":{"address":"0xc341BD8d6BB064FdD94b5142513027A01c1716C9","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysAMZN":{"address":"0x9CF7E61853ea30A41b02169391b393B901eac457","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsAMZN":{"address":"0x9530FA32a3059114AC20A5812870Da12D97d1174","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"VirtualSynthMastercopy":{"address":"0xf02ce48fD47D7FA1B7a45a0444805d320D035775","status":"current","keccak256":"0xac5507c03171e54910218c5da4876e475e129a808af8b3050b81b3990ea73089"}}},"v2.42.1":{"tag":"v2.42.1","fulltag":"v2.42.1","release":"Alnilam","network":"mainnet","date":"2021-04-22T10:21:26-06:00","commit":"36f0c0feeab994046cd77dd0bc784ca4c0567ecf","contracts":{"StakingRewardssFBBalancer":{"address":"0x26Fa0665660c1D3a3666584669511d3c66Ad37Cb","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"},"StakingRewardssAAPLBalancer":{"address":"0x7af65f1740c0eB816A27FD808EaF6Ab09F6Fa646","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"},"StakingRewardssAMZNBalancer":{"address":"0xDC338C7544654c7dadFEb7E44076E457963113B0","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"},"StakingRewardssNFLXBalancer":{"address":"0x8Ef8cA2AcAaAfEc19fB366C11561718357F780F2","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"},"StakingRewardssGOOGBalancer":{"address":"0x6fB7F0E78582746bd01BcB6dfbFE62cA5F4F9175","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"}}},"v2.43.0":{"tag":"v2.43.0","fulltag":"v2.43.0","release":"Regora","network":"mainnet","date":"2021-04-29T10:23:38+10:00","commit":"019d3f259e1b0f6f6576248d9098ba780bdbfd94","contracts":{"TokenStatesCOIN":{"address":"0x102e541a34AA7e7205c32ddF58308395d733Ce1f","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysCOIN":{"address":"0x9EeF4CA7aB9fa8bc0650127341C2d3F707a40f8A","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsCOIN":{"address":"0x249612F641111022f2f48769f3Df5D85cb3E26a2","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesMSFT":{"address":"0x7EbeEa83591c048a40502985254A3Df19Ea90067","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysMSFT":{"address":"0x745a824D6aBBD236AA794b5530062778A6Ad7523","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsMSFT":{"address":"0x04720DbBD4599aD26811545595d97fB813E84964","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"}}},"v2.43.1":{"tag":"v2.43.1","fulltag":"v2.43.1","release":"Regora","network":"mainnet","date":"2021-04-29T08:53:16-06:00","commit":"a018924f08c2b39d6e2607b0b3cea2e099583bc4","contracts":{"StakingRewardssCOINBalancer":{"address":"0x1C1D97f6338759AB814a5A717aE359573Ab5D5d4","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"},"StakingRewardssMSFTBalancer":{"address":"0x9D003Cc298E7Ea141A809C241C0a703176DA3ba3","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"}}},"v2.44.0":{"tag":"v2.44.0","fulltag":"v2.44.0","release":"Alnair","network":"mainnet","date":"2021-05-10T17:06:47-06:00","commit":"94677e58bd520b16b8abaa9ca7cbf505b44d1d25","contracts":{"SynthetixBridgeToOptimism":{"address":"0xCd9D4988C0AE61887B075bA77f08cbFAd2b65068","status":"replaced","keccak256":"0x1b2c09f527d84cd2ab5fb24e0e8360773ab6acc86093d94b055d25603dd89af7","replaced_in":"v2.64.1"},"SynthetixBridgeEscrow":{"address":"0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f","status":"current","keccak256":"0xb2c7f7c807bc4783ed66f959cb3335f1b77727bf4d074e3319992842eca64235"}}},"v2.45.0":{"tag":"v2.45.0","fulltag":"v2.45.0","release":"Alioth","network":"mainnet","date":"2021-05-13T23:17:06+10:00","commit":"92341590ea05dcbe389531d66050aea55b6cde25","contracts":{"FeePool":{"address":"0xcf9E60005C9aca983caf65d3669a24fDd0775fc0","status":"replaced","keccak256":"0xd443eddc5b999da689239836ac3a79c09c32bba640079e4fc9845969f1eba4e4","replaced_in":"v2.48.0"},"SynthsUSD":{"address":"0x4D8dBD193d89b7B506BE5dC9Db75B91dA00D6a1d","status":"replaced","keccak256":"0x1702a8b622628a65be6ec32ecb892fa0597cce26c30a95f80e658e490c253bb9","replaced_in":"v2.48.0"},"SynthsETH":{"address":"0xab4e760fEEe20C5c2509061b995e06b542D3112B","status":"replaced","keccak256":"0x1702a8b622628a65be6ec32ecb892fa0597cce26c30a95f80e658e490c253bb9","replaced_in":"v2.48.0"},"Issuer":{"address":"0xB774711F0BC1306ce892ef8C02D0476dCccB46B7","status":"replaced","keccak256":"0xe54f580f0eeca3cee7fa150c7bcbf40d825e2fae89e5f180ab6467552351a1d1","replaced_in":"v2.48.0"},"SystemSettings":{"address":"0xD3C8d372bFCd36c2B452639a7ED6ef7dbFDC56F8","status":"replaced","keccak256":"0x0f69f9445094d33ec2f09f8dbb5f64a53e977f95460907100f5350ce9db41b93","replaced_in":"v2.53.0"},"DebtCache":{"address":"0x9bB05EF2cA7DBAafFC3da1939D1492e6b00F39b8","status":"replaced","keccak256":"0x1fad72ca0e932ce207acc285a609b103b68b23d9d4aba7b280feec5537fd8916","replaced_in":"v2.48.0"},"EtherWrapper":{"address":"0xC1AAE9d18bBe386B102435a8632C8063d31e747C","status":"current","keccak256":"0xff636098ad63aae110ba03238e110f0b991e74fe2204664f9a17df2b131ab469"},"NativeEtherWrapper":{"address":"0x7A3d898b717e50a96fd8b232E9d15F0A547A7eeb","status":"current","keccak256":"0x0a6a96be15d65a9a904c514508fcf6b832c52675d8331f5427535616586d47c4"}}},"v2.46.0":{"tag":"v2.46.0","fulltag":"v2.46.0","release":"Alnitak","network":"mainnet","date":"2021-06-30T19:26:47-06:00","commit":"19a7f66fe2da3f5dd9158f714d7ed84a729f176b","contracts":{"Synthetix":{"address":"0x43AE8037179a5746D618DA077A38DdeEa9640cBa","status":"replaced","keccak256":"0xfe96c3e453d25fd481a0ecec72538b1559b8fc15af09f695dfb643df219dddfb","replaced_in":"v2.48.0"},"Exchanger":{"address":"0x613c773c7a1D85D2F1DCC051B0573D33470762Eb","status":"replaced","keccak256":"0x9007ad2f17c461a4cbc1532752b486825861822644e4f9b3e35382a7940d4acf","replaced_in":"v2.48.0"}}},"v2.48.0":{"tag":"v2.48.0","fulltag":"v2.48.0","release":"Mirfak","network":"mainnet","date":"2021-09-14T12:57:40+02:00","commit":"a23655d803b14770fec942476e6cbe801eeb81b3","contracts":{"FeePool":{"address":"0x510adfDF6E7554C571b7Cd9305Ce91473610015e","status":"replaced","keccak256":"0xd89c6712f340c7d732ae4d72522fdeb7c0abe590d8a7919b775a7a328f00853e","replaced_in":"v2.53.0"},"Synthetix":{"address":"0x54f25546260C7539088982bcF4b7dC8EDEF19f21","status":"replaced","keccak256":"0x108639f645916f5c522136377c190889269946e1042dfd4bf9d86ed226bb2443","replaced_in":"v2.53.0"},"SynthsBTC":{"address":"0xC8a5f06858a1B49A7F703EacD433A1444a5e5bd9","status":"replaced","keccak256":"0x76c4e4393a6210843be7153bb9582c26d23860bd286e471b4e4eee9959f9edfd","replaced_in":"v2.53.0"},"SynthsUSD":{"address":"0x967968963517AFDC9b8Ccc9AD6649bC507E83a7b","status":"replaced","keccak256":"0x76c4e4393a6210843be7153bb9582c26d23860bd286e471b4e4eee9959f9edfd","replaced_in":"v2.53.0"},"SynthsETH":{"address":"0xCFA46B4923c0E75B7b84E9FBde70ED26feFefBf6","status":"replaced","keccak256":"0x76c4e4393a6210843be7153bb9582c26d23860bd286e471b4e4eee9959f9edfd","replaced_in":"v2.53.0"},"Exchanger":{"address":"0x7634F2A1741a683ccda37Dce864c187F990D7B4b","status":"replaced","keccak256":"0x059aa9b7964b0808f8cd484d5f281c3d13141a379af7c58b781c4b62839e79d2","replaced_in":"v2.53.0"},"Issuer":{"address":"0x922C84B3894298296C34842D866BfC0d36C54778","status":"replaced","keccak256":"0x7bb8720e81ffb9193b8e2565e3b3a4824a210ed26fca933f063125e21ce796a3","replaced_in":"v2.51.0"},"DebtCache":{"address":"0xe92B4c7428152052B0930c81F4c687a5F1A12292","status":"replaced","keccak256":"0x97562d4d9a115f3c4d4233faae0c98120dd816737ddcef529c9723f35de09225","replaced_in":"v2.51.0"},"SynthRedeemer":{"address":"0xe533139Af961c9747356D947838c98451015e234","status":"current","keccak256":"0x4d31499235bb64ab5975313a6c9208fad376de17a3d78f8f11e530b6d0f4af0b"}}},"v2.51.0":{"tag":"v2.51.0","fulltag":"v2.51.0","release":"“Kaus”","network":"mainnet","date":"2021-10-19T18:44:22-05:00","commit":"ef4dd876f9b0af7172a08a106ef59d9b7f584969","contracts":{"Issuer":{"address":"0xF67998902EBc37d885ad310C2430C822Ca981E1E","status":"replaced","keccak256":"0xe87fb6220cb9fb6abbce67a9489ee10f97d30e7e681acd533616a6983774d6cc","replaced_in":"v2.53.0"},"DebtCache":{"address":"0x08118E04F58d7863b4fCF1de0e07c83a2541b89e","status":"replaced","keccak256":"0x94dba5769ba43b0dcf0f8c1ce13d8fff6b9461bb16f3513b56255c702fe8b1f4","replaced_in":"v2.53.0"}}},"v2.53.0":{"tag":"v2.53.0","fulltag":"v2.53.0","release":"Alkaid","network":"mainnet","date":"2021-11-17T09:57:24-06:00","commit":"0286bcef24b0c211875d17875fb5cc7eb4d0b78f","contracts":{"ExchangeRates":{"address":"0x6d9296Df2ad52F174bF671f555d78628bEBa7752","status":"replaced","keccak256":"0x3f925ac902cb770ebff3c804f5805b572670f0e68cea0d08d614dd8bdec804d0","replaced_in":"v2.58.0"},"FeePool":{"address":"0xc398406FFfBEd5B0680e706634490062CB1DB579","status":"replaced","keccak256":"0x9e381069cb34a10eb54ca9fb651d514a2cbcdcb328adfe943956b9d759c5ebac","replaced_in":"v2.57.1"},"Synthetix":{"address":"0xDC01020857afbaE65224CfCeDb265d1216064c59","status":"replaced","keccak256":"0x03e31608338a6e1fd532135e44d62d151aea7bc01d187255b08b92e698670a5d","replaced_in":"v2.60.0"},"SynthsAUD":{"address":"0x005d19CA7ff9D79a5Bdf0805Fc01D9D7c53B6827","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsBTC":{"address":"0x2B3eb5eF0EF06f2E02ef60B3F36Be4793d321353","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsCHF":{"address":"0x39DDbbb113AF3434048b9d8018a3e99d67C6eE0D","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsEUR":{"address":"0xe301da3d2D3e96e57D05b8E557656629cDdbe7A0","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsGBP":{"address":"0xde3892383965FBa6eC434bE6350F85f140098708","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsJPY":{"address":"0x4ed5c5D5793f86c8a85E1a96E37b6d374DE0E85A","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsUSD":{"address":"0xAFDd6B5A8aB32156dBFb4060ff87F6d9E31191bA","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsETH":{"address":"0xc70B42930BD8D30A79B55415deC3be60827559f7","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsLINK":{"address":"0x3FFE35c3d412150C3B91d3E22eBA60E16030C608","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsDEFI":{"address":"0xe59dFC746D566EB40F92ed0B162004e24E3AC932","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"Exchanger":{"address":"0x2A417C61B8062363e4ff50900779463b45d235f6","status":"replaced","keccak256":"0x6267f046f21eeeb147a87e59aa1922ad8e56c637b2099c5d0c624bfaf64dced3","replaced_in":"v2.58.0"},"Issuer":{"address":"0xC2F1F551bfAd1E9A3b4816513bFd41d77f40F915","status":"replaced","keccak256":"0xa7d5bbfb32937dafae586741b53606254b2e6c9260188f764e88d31f879df67c","replaced_in":"v2.60.0"},"SynthsADA":{"address":"0x8f9fa817200F5B95f9572c8Acf2b31410C00335a","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SystemSettings":{"address":"0xb6B476C41Ea01930e6abE1f44b96800de0404c98","status":"replaced","keccak256":"0xf55f2ffecb24404a42b4476f7cfbf8d7c0043387deec84eb37eddccc01598cbf","replaced_in":"v2.54.0"},"DebtCache":{"address":"0x9D5551Cd3425Dd4585c3E7Eb7E4B98902222521E","status":"replaced","keccak256":"0x00d3ce717a9a374b9f0acf98fff2fd513f0b71e79d7b1336151e786858b74e76","replaced_in":"v2.64.1"},"SynthsAAVE":{"address":"0x0705F0716b12a703d4F8832Ec7b97C61771f0361","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsDOT":{"address":"0xfA60918C4417b64E722ca15d79C751c1f24Ab995","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsKRW":{"address":"0xe2f532c389deb5E42DCe53e78A9762949A885455","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"WrapperFactory":{"address":"0x0a6956d554485a43494D69Eca78C5103511a8fEb","status":"replaced","keccak256":"0x0b16131f068641f79c66eb17f5504abe5e2df3a7c2acb097c8db05de3113c7af","replaced_in":"v2.55.0"}}},"v2.54.0":{"tag":"v2.54.0","fulltag":"v2.54.0","release":"Menkalinan","network":"mainnet","date":"2021-11-23T17:28:16-06:00","commit":"dbd184ae46ed79f94fba5cc23560964b30ae00e3","contracts":{"SystemSettings":{"address":"0x4D3AF899DF121751422c49Ec3fDe29bE485d220c","status":"replaced","keccak256":"0x5174a68c4015495adf1108cd375b0fe17870dad06237fef60ccfa728e8ad79b7","replaced_in":"v2.58.0"},"OwnerRelayOnEthereum":{"address":"0x0e16A6876210841577b233C4165d7B7EdF640b8a","status":"current","keccak256":"0xa1449f609b4427b695977ed157cfe46414a16d902590507338c7d5fb00c40206"}}},"v2.55.0":{"tag":"v2.55.0","fulltag":"v2.55.0","release":"Atria","network":"mainnet","date":"2021-12-03T00:55:48-05:00","commit":"36df74f7de3157ed962cca4a285e7e3c78134b7a","contracts":{"WrapperFactory":{"address":"0x02f9bC46beD33acdB9cb002fe346734CeF8a9480","status":"current","keccak256":"0x582cac91f50cfefc154d67097081d0dd0d4877333df51c3cfe19485f80ef7e74"}}},"v2.56.1":{"tag":"v2.56.1","fulltag":"v2.56.1","release":"Alhena","network":"mainnet","date":"2021-12-15T18:16:59-05:00","commit":"324105690195d2c0925ffbfffe5d0bba8e98fad7","contracts":{"TokenStatesETHBTC":{"address":"0x042A7A0022A7695454ac5Be77a4860e50c9683fC","status":"current","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysETHBTC":{"address":"0x104eDF1da359506548BFc7c25bA1E28C16a70235","status":"current","keccak256":"0xa4731706c3292ed368ded616be2fcf28877d8a853cbce27be7d78e6a57636e9f"},"SynthsETHBTC":{"address":"0xcc3aab773e2171b2E257Ee17001400eE378aa52B","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"}}},"v2.57.1":{"tag":"v2.57.1","fulltag":"v2.57.1","release":"Peacock","network":"mainnet","date":"2022-01-19T13:57:54-08:00","commit":"a13d8b6fc913901b542a7db01729930930495543","contracts":{"FeePool":{"address":"0xF66d34426C10CE91cDBcd86F8e9594AfB83049bd","status":"replaced","keccak256":"0xdb500335962961757d10ccbded7e9de457824b4c2d428c8c9aa63f18a5ca3914","replaced_in":"v2.60.0"}}},"v2.58.0":{"tag":"v2.58.0","fulltag":"v2.58.0","release":"Alsephina","network":"mainnet","date":"2022-02-03T10:43:13+11:00","commit":"5c35281cf80605933b71f32a70a4f5a62a0a0336","contracts":{"ExchangeRates":{"address":"0xF68ECd50de7733015318361295547D8E939F93E6","status":"replaced","keccak256":"0x7482d5b965014c8ba6062d078c99822c9e09ca174a41d0130bebcd7f280186d1","replaced_in":"v2.64.1"},"Exchanger":{"address":"0x3e343E89F4fF8057806F54F2208940B1Cd5C40ca","status":"replaced","keccak256":"0x56b78b843c7799d50e8f605021af227bee40cca2098e23b490a7927d092c91aa","replaced_in":"v2.59.0"},"SystemSettings":{"address":"0x80d65Bb7b9436A86c1928F93D6E7cc186987Ac54","status":"replaced","keccak256":"0x305a91266ac645a86ebb79b7617bdc7307053f933d843cd1bfafe35cd420d008","replaced_in":"v2.64.2"},"SystemSettingsLib":{"address":"0xa62F71D599Ec6179B4f6569adD69ffC7E1A7a1c5","status":"replaced","keccak256":"0x371f31315fadd13809d51123c75dcc31e199ae69b8df9c968cb46aca50831d1f","replaced_in":"v2.68.2"}}},"v2.59.0":{"tag":"v2.59.0","fulltag":"v2.59.0","release":"Mirzam","network":"mainnet","date":"2022-02-07T15:02:06-05:00","commit":"515481b3502b3b3cab6eb7cb525a01f45090eb98","contracts":{"Exchanger":{"address":"0x426Be4cC70066b2C42Edb1aE838c741069b1972c","status":"replaced","keccak256":"0x4c78d2e4e3ddc980b1de8babc52ce9d06155ae2f5a4fbc2a7d4b868ac6088b41","replaced_in":"v2.64.1"}}},"v2.60.0":{"tag":"v2.60.0","fulltag":"v2.60.0","release":"Alphard","network":"mainnet","date":"2022-02-09T00:09:40-08:00","commit":"8a0ccef3651cebdbbdd6554456f7b43d953f6e55","contracts":{"FeePool":{"address":"0xBE02A2C22a581D796b90b200CF530Fdd1e6f54ec","status":"replaced","keccak256":"0x14ebcfb8ccfe17097696f95a65a132c09061ede8c698d1fc2e35c2f0490b111e","replaced_in":"v2.64.1"},"Synthetix":{"address":"0x97607b048aEa97A821C3EdC881aF7743f8868950","status":"replaced","keccak256":"0xf2acabbae9e72a59b3d52690314006594f84913de0dc2e428e28b0ea06b071f0","replaced_in":"v2.62.0"},"Issuer":{"address":"0x16e5ACe2B8a9DE5c42fCFd85d6EC5992a43C0837","status":"replaced","keccak256":"0x9685abe545d427f94360201304dca44e60697b507b86e9f379a1c90b3b24a8b5","replaced_in":"v2.64.1"},"SynthetixDebtShare":{"address":"0x89FCb32F29e509cc42d0C8b6f058C993013A843F","status":"current","keccak256":"0x403192bc309d6eee98ddbfaeed166b50c2665df94167c6970e785a65b71dd0e3"}}},"v2.62.0":{"tag":"v2.62.0","fulltag":"v2.62.0","release":"Hamal","network":"mainnet","date":"2022-02-18T17:45:17-07:00","commit":"30e5fe0bad0cad0726f814d598f46a927426e6ad","contracts":{"Synthetix":{"address":"0xE95A536cF5C7384FF1ef54819Dc54E03d0FF1979","status":"replaced","keccak256":"0x191ed90cf9fd3169888293ff855c4fb45723e2abd2136d730b4afb1e18c11818","replaced_in":"v2.68.2"},"SupplySchedule":{"address":"0x8d203C458d536Fe0F97e9f741bC231EaC8cd91cf","status":"current","keccak256":"0x584bf43fc9aff83822ca4bce779cc1497960f183c841ea7c4ff2195ff2916c27"}}},"v2.64.1":{"tag":"v2.64.1","fulltag":"v2.64.1","release":"Diphda","network":"mainnet","date":"2022-03-17T21:59:53-04:00","commit":"c9f6ac8b9d90dfdbf9b03e8a690edfe7e97fe15a","contracts":{"ExchangeRates":{"address":"0x6fA9E5923CBFDD39F0B625Bf1350Ffb50D5006b9","status":"replaced","keccak256":"0xe64c15b2d279d2046c5619192bd744bb86cfb5bbcbba36aa60f4cccfa416b6df","replaced_in":"v2.68.2"},"FeePool":{"address":"0x3B2f389AeE480238A49E3A9985cd6815370712eB","status":"current","keccak256":"0x8efb90365897b11502997b1dea8760062b6e607e9c183847380d76e620e749a3"},"SynthsAUD":{"address":"0xC4546bDd93cDAADA6994e84Fb6F2722C620B019C","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsBTC":{"address":"0x18FcC34bdEaaF9E3b69D2500343527c0c995b1d6","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsCHF":{"address":"0xCC83a57B080a4c7C86F0bB892Bc180C8C7F8791d","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsEUR":{"address":"0x1b06a00Df0B27E7871E753720D4917a7D1aac68b","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsGBP":{"address":"0xAE7A2C1e326e59f2dB2132652115a59E8Adb5eBf","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsJPY":{"address":"0xB82f11f3168Ece7D56fe6a5679567948090de7C5","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsUSD":{"address":"0x7df9b3f8f1C011D8BD707430e97E747479DD532a","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsETH":{"address":"0x4FB63c954Ef07EC74335Bb53835026C75DD91dC6","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsLINK":{"address":"0xe08518bA3d2467F7cA50eFE68AA00C5f78D4f3D6","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsDEFI":{"address":"0xf533aeEe48f0e04E30c2F6A1f19FbB675469a124","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"Exchanger":{"address":"0x74E9a032B04D9732E826eECFC5c7A1C183602FB1","status":"replaced","keccak256":"0x75d9ac0af4df8c8bc5a4ff1ebe242149647fed77865bd6f3de77359d3086f36c","replaced_in":"v2.68.2"},"Issuer":{"address":"0xE60E71E47Ca405946CF147CA9d7589a851DBcddC","status":"replaced","keccak256":"0xe64ebe3723fe0498d6adf757499a022c5e3fb262b88beebf1ac15efbcee58973","replaced_in":"v2.65.0"},"SystemStatus":{"address":"0x696c905F8F8c006cA46e9808fE7e00049507798F","status":"current","keccak256":"0xd4ba3b8b574c2795ec994981815bdb6518da848579d169e419a906f4909ab8e1"},"SynthsADA":{"address":"0xB34F4d7c207D8979D05EDb0F63f174764Bd67825","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"DebtCache":{"address":"0x1620Aa736939597891C1940CF0d28b82566F9390","status":"current","keccak256":"0x1140dbb0909dd19e64d449d716798fc190c55238dce804eaf35d4f383ec1ae05"},"SynthetixBridgeToOptimism":{"address":"0xc51f137e19F1ae6944887388FD12b2b6dFD12594","status":"replaced","keccak256":"0x499efc5ee65d96afacd21f04ba5f92d446801e7640bad8659702eed93f82b66a","replaced_in":"v2.68.2"},"SynthsAAVE":{"address":"0x95aE43E5E96314E4afffcf19D9419111cd11169e","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsDOT":{"address":"0x27b45A4208b87A899009f45888139882477Acea5","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsKRW":{"address":"0x527637bE27640d6C3e751d24DC67129A6d13E11C","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsETHBTC":{"address":"0x6DF798ec713b33BE823b917F27820f2aA0cf7662","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SignedSafeDecimalMath":{"address":"0x728A2B79Cad691531CC1146eF802617FF50c7095","status":"current","keccak256":"0x0ddaacba077350bf0186ddf53ac5128dfc1de2b4a7e845ab15be49e78f96b5c9"},"OneNetAggregatorIssuedSynths":{"address":"0xcf1405b18dBCEA2893Abe635c88359C75878B9e1","status":"current","keccak256":"0x0ede3bc15d24f2a3af48de0cec7077cd6572345a3fd313e22319e676eeb57526"},"OneNetAggregatorDebtRatio":{"address":"0x977d0DD7eA212E9ca1dcD4Ec15cd7Ceb135fa68D","status":"current","keccak256":"0xb64547811fca7c66e90856ac0f175ca0e3dcc2033ec15985fbb854ff275e796c"},"ExchangeCircuitBreaker":{"address":"0xeAcaEd9581294b1b5cfb6B941d4B8B81B2005437","status":"current","keccak256":"0x9a69567c37adbbe24df3515316cebbfb4899916d08af38c7738e4cd32c73827d"},"FuturesMarketManager":{"address":"0x834Ef6c82D431Ac9A7A6B66325F185b2430780D7","status":"current","keccak256":"0x70d93adddedc13bddf1a98d5846f06736949d0d26d0547bacc656be9ee829055"}}},"v2.64.2":{"tag":"v2.64.2","fulltag":"v2.64.2","release":"Diphda","network":"mainnet","date":"2022-03-23T14:03:52-04:00","commit":"14c36a4b346c8cc26c65de0ba2778be6a79afc2f","contracts":{"SystemSettings":{"address":"0x68938Be4c72A77891E99B198F4d31C5582018b40","status":"replaced","keccak256":"0x0213567bb35401126849b277a1b9cccca8bec368a82f2151c1b078209763a72f","replaced_in":"v2.68.2"}}},"v2.65.0":{"tag":"v2.65.0","fulltag":"v2.65.0","release":"Mizar","network":"mainnet","date":"2022-03-28T18:11:02-04:00","commit":"7ea5c5aae13c022fcf3cbf0543b65b29cb1118c1","contracts":{"Issuer":{"address":"0xf48F8D49Ad04C0DaA612470A91e760b3d9Fa8f88","status":"replaced","keccak256":"0x00c5cf07e218bc3f61f97e3c7df177ea99ccc72ae09cb5bff195be9c48dea2b9","replaced_in":"v2.68.2"}}},"v2.68.2":{"tag":"v2.68.2","fulltag":"v2.68.2","release":"Mirach","network":"mainnet","date":"2022-05-10T22:26:20-04:00","commit":"083f0e56ce62fbe455d56c1383b3d78be6d4214b","contracts":{"ExchangeRates":{"address":"0xb4dc5ced63C2918c89E491D19BF1C0e92845de7C","status":"replaced","keccak256":"0x87564ce6ba744b9ccd9f4c1295332ebbe5392196baa76c39a125ead78e941cab","replaced_in":"v2.75.2"},"Synthetix":{"address":"0x639032d3900875a4cf4960aD6b9ee441657aA93C","status":"replaced","keccak256":"0x2fa686cbff316a55fb346d4864b998e50685cee613841bf3541812dbe74f988a","replaced_in":"v2.69.0"},"Exchanger":{"address":"0x9aB91BdCE9ae5D66d7d925699743Fa3A503c8eb8","status":"replaced","keccak256":"0xf5962b3f3687b36c7c40dab9561f8c2896815bacf409014d046b1dcd93d56652","replaced_in":"v2.69.0"},"Issuer":{"address":"0x7808bFD6e20AFE2d82b159590Ca5635b6263Db3F","status":"replaced","keccak256":"0xfd4ffa7b4beb5faddfe9ecd13ec21d6d31fbf6f182dfc78c4df7ccce4f1f6b99","replaced_in":"v2.69.0"},"SystemSettings":{"address":"0xA4339a001c87e2C79B2d8A50D38c16cf12F3D6EE","status":"replaced","keccak256":"0xc9dca64837d645f46a699dddd0c527d302e278a1ccf253579dcfae64bbbaf7d3","replaced_in":"v2.69.0"},"SynthetixBridgeToOptimism":{"address":"0x39Ea01a0298C315d149a490E34B59Dbf2EC7e48F","status":"current","keccak256":"0xdff9df88e885c9026ab62c879f5378f213292e70ca6e99106893271b0ca9109a"},"SystemSettingsLib":{"address":"0x5DABae966208192e5c3028A7480392337014Ed8E","status":"replaced","keccak256":"0xc61227b8c9f852b438b6229b216219fa59b4d7705129c55bd3f0a5356a3b87ab","replaced_in":"v2.69.0"}}},"v2.69.0":{"tag":"v2.69.0","fulltag":"v2.69.0","release":"Alpheratz","network":"mainnet","date":"2022-05-14T03:50:54-04:00","commit":"502809927d4c23fc139c4b129f7fee26eec91ba8","contracts":{"Synthetix":{"address":"0x931933807c4c808657b6016f9e539486e7B5d374","status":"replaced","keccak256":"0xd82a28402f6b409adafc8ec5a078ea573f8c9f4bbc9039a7e53ca913fa0a5793","replaced_in":"v2.70.0"},"Exchanger":{"address":"0xD64D83829D92B5bdA881f6f61A4e4E27Fc185387","status":"current","keccak256":"0x249092f47e4e7db34b013bbb56027462cd27bc2f1bf79dca4e99a9bf1e0ac6bf"},"Issuer":{"address":"0x0689b1F72930Eb25cACB99f790d2778E713a2c33","status":"replaced","keccak256":"0xff90190a275735ad9b23dffff9ab22477a1aa3f36a0cee1931965dfb26e52495","replaced_in":"v2.72.1"},"SystemSettings":{"address":"0xdD3c1c64402A679e8D709FcCf606BD77eE12b567","status":"replaced","keccak256":"0xa15c48a5fcce352747f56841f0bd92a1c8ee2e0dcac77c8fb78ce2f2769e48cb","replaced_in":"v2.74.1"},"SystemSettingsLib":{"address":"0x307bDCE0A68C612a17BaE8d929f36402d7c94CFA","status":"replaced","keccak256":"0x1265bea471bda199f9b45756be028eaf5dda97e0fb7864b95e7020627827784b","replaced_in":"v2.74.1"},"Liquidator":{"address":"0x0e5fe1b05612581576e9A3dB048416d0B1E3C425","status":"current","keccak256":"0xc6b74874b217e37376d292760ccdde188bec97c34f5d205633d458010bf7cc48"},"LiquidatorRewards":{"address":"0xf79603a71144e415730C1A6f57F366E4Ea962C00","status":"current","keccak256":"0x621221d61543cd3356f62b60c84c1a0ba0763ab6caada6705df5db116bcab9e0"}}},"v2.70.0":{"tag":"v2.70.0","fulltag":"v2.70.0","release":"Rasalhague","network":"mainnet","date":"2022-05-23T23:00:44-04:00","commit":"48d93a047b167c24d7234615ac3947d6c541246b","contracts":{"Synthetix":{"address":"0x7F30336E0e01bEe8dD1C641bD793400f82d080cf","status":"replaced","keccak256":"0x4f4e83441a09daa99e58b65902a6fff61ba13586d37a1b26f4a80054197bb6bd","replaced_in":"v2.72.1"}}},"v2.72.1":{"tag":"v2.72.1","fulltag":"v2.72.1","release":"Saiph","network":"mainnet","date":"2022-06-09T17:30:33-04:00","commit":"0a105ae7a7ef95c2f7516d7854ffade71b6ad3b7","contracts":{"Synthetix":{"address":"0x08F30Ecf2C15A783083ab9D5b9211c22388d0564","status":"current","keccak256":"0xf00660ef25f409118798c084d386e09132dd4ea32937ae59f1a820471138a98c"},"SynthsAUD":{"address":"0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsBTC":{"address":"0x1cB004a8e84a5CE95C1fF895EE603BaC8EC506c7","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsCHF":{"address":"0xBb5b03E920cF702De5A3bA9Fc1445aF4B3919c88","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsEUR":{"address":"0xa8E31E3C38aDD6052A9407298FAEB8fD393A6cF9","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsGBP":{"address":"0xdc883b9d9Ee16f74bE08826E68dF4C9D9d26e8bD","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsJPY":{"address":"0xE1cc2332852B2Ac0dA59A1f9D3051829f4eF3c1C","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsUSD":{"address":"0x10A5F7D9D65bCc2734763444D4940a31b109275f","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsETH":{"address":"0x5D4C724BFe3a228Ff0E29125Ac1571FE093700a4","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsLINK":{"address":"0xDF69bC4541b86Aa4c5A470B4347E730c38b2c3B2","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsDEFI":{"address":"0x918b1dbf0917FdD74D03fB9434915E2ECEc89286","status":"deleted","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"Issuer":{"address":"0xE5CC99EFA57943F4EA0cE6bed265318697748649","status":"replaced","keccak256":"0x34e363bf253f754b3a5cd444df9ce0aa3d4079419d362c6bbc281d1df8128923","replaced_in":"v2.74.1"},"SynthsADA":{"address":"0x91b82d62Ff322b8e02b86f33E9A99a813437830d","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsAAVE":{"address":"0x942Eb6e8c029EB22103743C99985aF4F4515a559","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsDOT":{"address":"0x75A0c1597137AA36B40b6a515D997F9a6c6eefEB","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsKRW":{"address":"0xdAe6C79c46aB3B280Ca28259000695529cbD1339","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsETHBTC":{"address":"0x07C1E81C345A7c58d7c24072EFc5D929BD0647AD","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"}}},"v2.73.1":{"tag":"v2.73.1","fulltag":"v2.73.1","release":"Denebola","network":"mainnet","date":"2022-06-14T21:02:22-04:00","commit":"ec573539aa1a78bb4443971aa45ef22a6c13d13b","contracts":{"OneNetAggregatorsDEFI":{"address":"0x646F23085281Dbd006FBFD211FD38d0743884864","status":"current","keccak256":"0x5b5d345731005a6932760cc76f2a390544cae09c21f7141f4ebeca21f9248692"}}},"v2.74.1":{"tag":"v2.74.1","fulltag":"v2.74.1","release":"Algol","network":"mainnet","date":"2022-06-23T16:57:09-04:00","commit":"3a4935c088a516b5efa0b19b118892058619534c","contracts":{"Issuer":{"address":"0xc9380E4A1570cce7b99eeD107aC42C754c4CE3Bf","status":"current","keccak256":"0x9820f36cf8ee40e9cfb286cae173e716e009ebe5594e921afac85a40f103c71b"},"SystemSettings":{"address":"0x5ad055A1F8C936FB0deb7024f1539Bb3eAA8dc3E","status":"current","keccak256":"0xc78f371d395251ef1ee8c1305b485d38f084d31530560e802f5fc5147fe83451"},"SystemSettingsLib":{"address":"0x4A9a8B1B596Fe1096cD75a588fD559968ca64259","status":"current","keccak256":"0xc4e328478f9c625bb34c4f019040afd62b9dfb8f03882727e39888d3173f09a9"}}},"v2.75.2":{"tag":"v2.75.2","fulltag":"v2.75.2","release":"Tiaki","network":"mainnet","date":"2022-08-03T17:41:13-04:00","commit":"da846da503afdb39fed2f88df648a3ca5181fa95","contracts":{"ExchangeRates":{"address":"0x9729415A58b210b2b8f69cFa5d6C3A7D68c9D217","status":"current","keccak256":"0xfec05faecf82227e8f3957c8c66047e96c24defa8fd9e92099bd63b7c905828d"}}}}')},function(e){e.exports=JSON.parse('[{"name":"sUSD","asset":"USD","subclass":"MultiCollateralSynth"},{"name":"sEUR","asset":"EUR","subclass":"MultiCollateralSynth"},{"name":"sJPY","asset":"JPY","subclass":"MultiCollateralSynth"},{"name":"sAUD","asset":"AUD","subclass":"MultiCollateralSynth"},{"name":"sGBP","asset":"GBP","subclass":"MultiCollateralSynth"},{"name":"sCHF","asset":"CHF","subclass":"MultiCollateralSynth"},{"name":"sKRW","asset":"KRW","subclass":"MultiCollateralSynth"},{"name":"sBTC","asset":"BTC","subclass":"MultiCollateralSynth"},{"name":"sETH","asset":"ETH","subclass":"MultiCollateralSynth"},{"name":"sLINK","asset":"LINK","subclass":"MultiCollateralSynth"},{"name":"sADA","asset":"ADA","subclass":"MultiCollateralSynth"},{"name":"sAAVE","asset":"AAVE","subclass":"MultiCollateralSynth"},{"name":"sDOT","asset":"DOT","subclass":"MultiCollateralSynth"},{"name":"sETHBTC","asset":"ETHBTC","subclass":"MultiCollateralSynth"}]')},function(e){e.exports=JSON.parse('[{"name":"sETHUniswapV1","stakingToken":"0xe9cf7887b93150d4f2da7dfc6d502b216438f244","rewardsToken":"ProxyERC20"},{"name":"sXAUUniswapV2","stakingToken":"0x34a0216C5057bC18e5d34D4405284564eFd759b2","rewardsToken":"ProxyERC20"},{"name":"sUSDCurve","stakingToken":"0xc25a3a3b969415c80451098fa907ec722572917f","rewardsToken":"ProxyERC20"},{"name":"sBTCCurve","stakingToken":"0x075b1bb99792c9E1041bA13afEf80C91a1e70fB3","rewardsToken":"0x330416C863f2acCE7aF9C9314B422d24c672534a"},{"name":"iETH","stakingToken":"ProxyiETH","rewardsToken":"ProxyERC20"},{"name":"iBTC","stakingToken":"ProxyiBTC","rewardsToken":"ProxyERC20"},{"name":"sEURCurve","stakingToken":"0x194eBd173F6cDacE046C53eACcE9B953F28411d1","rewardsToken":"ProxyERC20"},{"name":"SNXBalancer","stakingToken":"0x815f8ef4863451f4faf34fbc860034812e7377d9","rewardsToken":"ProxyERC20"},{"name":"sTSLABalancer","stakingToken":"0x055dB9AFF4311788264798356bbF3a733AE181c6","rewardsToken":"ProxyERC20"},{"name":"sFBBalancer","stakingToken":"0x3f2d077acff8a66c4e0c79c37b6a662a7197889b","rewardsToken":"ProxyERC20"},{"name":"sAAPLBalancer","stakingToken":"0xb94865e18b25114b2b10bd9ecbd689c877f949e8","rewardsToken":"ProxyERC20"},{"name":"sAMZNBalancer","stakingToken":"0x74821343b5b969c0d4b31aff3931e00a40990cfd","rewardsToken":"ProxyERC20"},{"name":"sNFLXBalancer","stakingToken":"0x6418c69b0de51873a1cc01cf73ba6e408acc1940","rewardsToken":"ProxyERC20"},{"name":"sGOOGBalancer","stakingToken":"0x608410f602ce8967d1e59f599566aed340280efc","rewardsToken":"ProxyERC20"},{"name":"sCOINBalancer","stakingToken":"0x2e27d4160b257708375a7bf23381110d2328bc1b","rewardsToken":"ProxyERC20"},{"name":"sMSFTBalancer","stakingToken":"0x41c91eb43b7f0afd332725461b86a0e39e143789","rewardsToken":"ProxyERC20"}]')},function(e){e.exports=JSON.parse('{"SNX":{"asset":"SNX","feed":"0xDC3EA94CD0AC27d9A86C180091e7f78C683d3699"},"ETH":{"asset":"ETH","feed":"0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419"},"AAVE":{"asset":"AAVE","feed":"0x547a514d5e3769680Ce22B2361c10Ea13619e8a9"},"DOT":{"asset":"DOT","feed":"0x1C07AFb8E2B827c5A4739C6d59Ae3A5035f28734"},"BTC":{"asset":"BTC","feed":"0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c"},"LINK":{"asset":"LINK","feed":"0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c"},"ADA":{"asset":"ADA","feed":"0xAE48c91dF1fE419994FFDa27da09D5aC69c30f55"},"ETHBTC":{"asset":"ETHBTC","feed":"0xAc559F25B1619171CbC396a50854A3240b6A4e99"},"EUR":{"asset":"EUR","feed":"0xb49f677943BC038e9857d61E7d053CaA2C1734C1"},"JPY":{"asset":"JPY","feed":"0xBcE206caE7f0ec07b545EddE332A47C2F75bbeb3"},"AUD":{"asset":"AUD","feed":"0x77F9710E7d0A19669A13c055F62cd80d313dF022"},"GBP":{"asset":"GBP","feed":"0x5c0Ab2d9b5a7ed9f470386e82BB36A3613cDd4b5"},"CHF":{"asset":"CHF","feed":"0x449d117117838fFA61263B61dA6301AA2a88B13A"},"KRW":{"asset":"KRW","feed":"0x01435677FB11763550905594A16B645847C1d0F3"}}')},function(e){e.exports=JSON.parse("[]")},function(e,a,t){e.exports={deployment:t(175),versions:t(176),synths:t(177),rewards:t(178),feeds:t(179),futuresMarkets:t(180)}},function(e){e.exports=JSON.parse('{"targets":{"Depot":{"name":"Depot","address":"0xE1f64079aDa6Ef07b03982Ca34f1dD7152AA3b86","source":"Depot","link":"https://rinkeby.etherscan.io/address/0xE1f64079aDa6Ef07b03982Ca34f1dD7152AA3b86","timestamp":"2020-02-20T06:26:34.000Z","txn":"https://rinkeby.etherscan.io/tx/0x7246da8ec30f70ac783498a5b79408cc5ae049ea71bc6bf393557cf3e2c9a8ad","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"EscrowChecker":{"name":"EscrowChecker","address":"0x3b399e00AFd8201ACf8A5a0EcCF1C47d8D5E41da","source":"EscrowChecker","link":"https://rinkeby.etherscan.io/address/0x3b399e00AFd8201ACf8A5a0EcCF1C47d8D5E41da","timestamp":"2019-04-03T21:22:54.000Z","txn":"https://rinkeby.etherscan.io/tx/0xa582498dfb84e432ce0e8d0f1e61e4874169337b68ef38a35afd9bee23f00b84","network":"rinkeby","constructorArgs":["0x5a219b2225d42Be18AC42710Ff9c016F231bed78"]},"ExchangeRates":{"name":"ExchangeRates","address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","source":"ExchangeRatesWithDexPricing","link":"https://rinkeby.etherscan.io/address/0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","timestamp":"2022-08-03T18:13:02.714Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"FeePool":{"name":"FeePool","address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","source":"FeePool","link":"https://rinkeby.etherscan.io/address/0xb2629A90De38089bd33540ACbA067468Eee4Dad6","timestamp":"2022-03-17T19:24:35.000Z","txn":"https://rinkeby.etherscan.io/tx/0x7a91cc964e6adc1ade8729245313c7cda6b24ff245cf4fd578811381ba130d63","network":"rinkeby","constructorArgs":["0xb440DD674e1243644791a4AdfE3A2AbB0A92d309","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"ProxyFeePool":{"name":"ProxyFeePool","address":"0xBbd8D4555B90443C4dcFD30c8D490Dea79af869F","source":"Proxy","link":"https://rinkeby.etherscan.io/address/0xBbd8D4555B90443C4dcFD30c8D490Dea79af869F","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysAUD":{"name":"ProxysAUD","address":"0xF48e200EAF9906362BB1442fca31e0835773b8B4","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0xF48e200EAF9906362BB1442fca31e0835773b8B4","timestamp":"2019-09-26T06:59:36.637Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysBTC":{"name":"ProxysBTC","address":"0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6","timestamp":"2019-09-26T07:12:48.637Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysCHF":{"name":"ProxysCHF","address":"0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d","timestamp":"2019-09-26T07:06:39.621Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysEUR":{"name":"ProxysEUR","address":"0x0364e5F079fBb13eCbCfEE824E808Ac0333AC5b5","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0x0364e5F079fBb13eCbCfEE824E808Ac0333AC5b5","timestamp":"2019-09-26T06:50:51.092Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysGBP":{"name":"ProxysGBP","address":"0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F","timestamp":"2019-09-26T07:04:31.735Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysJPY":{"name":"ProxysJPY","address":"0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d","timestamp":"2019-09-26T06:53:25.539Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxysUSD":{"name":"ProxysUSD","address":"0x57Ab1ec28D129707052df4dF418D58a2D46d5f51","source":"Proxy","link":"https://rinkeby.etherscan.io/address/0x57Ab1ec28D129707052df4dF418D58a2D46d5f51","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"ProxyERC20sUSD":{"name":"ProxyERC20sUSD","address":"0x70528149a537660C1d4D1D5EcB8606eAE0857A88","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0x70528149a537660C1d4D1D5EcB8606eAE0857A88","timestamp":"2019-09-26T02:55:56.333Z","txn":"","network":"rinkeby"},"ProxySynthetix":{"name":"ProxySynthetix","address":"0x8355BC3b74B1F558BF48A784bC4c46D8a6d61fdE","source":"Proxy","link":"https://rinkeby.etherscan.io/address/0x8355BC3b74B1F558BF48A784bC4c46D8a6d61fdE","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SafeDecimalMath":{"name":"SafeDecimalMath","address":"0x853C4D8095B414E65C7e0e38D2b0C5D2c3289B08","source":"SafeDecimalMath","link":"https://rinkeby.etherscan.io/address/0x853C4D8095B414E65C7e0e38D2b0C5D2c3289B08","network":"rinkeby","constructorArgs":[]},"Synthetix":{"name":"Synthetix","address":"0xfe911c9D64e8726Ad505902134aB92d8b5f1Ef36","source":"Synthetix","link":"https://rinkeby.etherscan.io/address/0xfe911c9D64e8726Ad505902134aB92d8b5f1Ef36","timestamp":"2022-06-09T17:30:13.000Z","txn":"https://rinkeby.etherscan.io/tx/0x3020b7f90c3e70a3261bf4620de669f9622a9b7528fd6552fea14e6e6d01eb5f","network":"rinkeby","constructorArgs":["0x8355BC3b74B1F558BF48A784bC4c46D8a6d61fdE","0x5b1b5fEa1b99D83aD479dF0C222F0492385381dD","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","286354213440548603759807360","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthetixEscrow":{"name":"SynthetixEscrow","address":"0x5a219b2225d42Be18AC42710Ff9c016F231bed78","source":"SynthetixEscrow","link":"https://rinkeby.etherscan.io/address/0x5a219b2225d42Be18AC42710Ff9c016F231bed78","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"SynthetixState":{"name":"SynthetixState","address":"0x4b9Ca5607f1fF8019c1C6A3c2f0CC8de622D5B82","source":"SynthetixState","link":"https://rinkeby.etherscan.io/address/0x4b9Ca5607f1fF8019c1C6A3c2f0CC8de622D5B82","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsAUD":{"name":"SynthsAUD","address":"0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","timestamp":"2022-06-09T17:33:44.177Z","txn":"","network":"rinkeby","constructorArgs":["0xF48e200EAF9906362BB1442fca31e0835773b8B4","0xCb29D2cf2C65d3Be1d00F07f3441390432D55203","Synth sAUD","sAUD","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7341554400000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthsBTC":{"name":"SynthsBTC","address":"0x1cB004a8e84a5CE95C1fF895EE603BaC8EC506c7","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0x1cB004a8e84a5CE95C1fF895EE603BaC8EC506c7","timestamp":"2022-06-09T17:39:21.586Z","txn":"","network":"rinkeby","constructorArgs":["0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6","0x4F6296455F8d754c19821cF1EC8FeBF2cD456E67","Synth sBTC","sBTC","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7342544300000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthsCHF":{"name":"SynthsCHF","address":"0xBb5b03E920cF702De5A3bA9Fc1445aF4B3919c88","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0xBb5b03E920cF702De5A3bA9Fc1445aF4B3919c88","timestamp":"2022-06-09T17:34:39.001Z","txn":"","network":"rinkeby","constructorArgs":["0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d","0x52496fE8a4feaEFe14d9433E00D48E6929c13deC","Synth sCHF","sCHF","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7343484600000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthsEUR":{"name":"SynthsEUR","address":"0x5B362679e0c7700E44E5cB459e2811B7544420F1","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0x5B362679e0c7700E44E5cB459e2811B7544420F1","timestamp":"2022-06-09T17:32:29.713Z","txn":"","network":"rinkeby","constructorArgs":["0xD71eCFF9342A5Ced620049e616c5035F1dB98620","0xea6DFB1EA09016f5148afAb5acA76795F39F2833","Synth sEUR","sEUR","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7345555200000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthsGBP":{"name":"SynthsGBP","address":"0xdc883b9d9Ee16f74bE08826E68dF4C9D9d26e8bD","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0xdc883b9d9Ee16f74bE08826E68dF4C9D9d26e8bD","timestamp":"2022-06-09T17:33:58.878Z","txn":"","network":"rinkeby","constructorArgs":["0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F","0x7e88D19A79b291cfE5696d496055f7e57F537A75","Synth sGBP","sGBP","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7347425000000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthsJPY":{"name":"SynthsJPY","address":"0xE1cc2332852B2Ac0dA59A1f9D3051829f4eF3c1C","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0xE1cc2332852B2Ac0dA59A1f9D3051829f4eF3c1C","timestamp":"2022-06-09T17:32:36.014Z","txn":"","network":"rinkeby","constructorArgs":["0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d","0x4dFACfB15514C21c991ff75Bc7Bf6Fb1F98361ed","Synth sJPY","sJPY","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x734a505900000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthsUSD":{"name":"SynthsUSD","address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0xf984ea9db435Bf21f4270D0F2574852C191f5C77","timestamp":"2022-06-09T17:30:52.000Z","txn":"https://rinkeby.etherscan.io/tx/0xc90a844a8d8bcbecf266b2f4fe039e2933ba2f38fb7b063189cb7e97cc085c7e","network":"rinkeby","constructorArgs":["0x57Ab1ec28D129707052df4dF418D58a2D46d5f51","0xC56bc48668EA4D7383Cc1cF65F587b930Bdf7aAA","Synth sUSD","sUSD","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7355534400000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"TokenStatesAUD":{"name":"TokenStatesAUD","address":"0xCb29D2cf2C65d3Be1d00F07f3441390432D55203","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0xCb29D2cf2C65d3Be1d00F07f3441390432D55203","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesBTC":{"name":"TokenStatesBTC","address":"0x4F6296455F8d754c19821cF1EC8FeBF2cD456E67","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0x4F6296455F8d754c19821cF1EC8FeBF2cD456E67","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesCHF":{"name":"TokenStatesCHF","address":"0x52496fE8a4feaEFe14d9433E00D48E6929c13deC","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0x52496fE8a4feaEFe14d9433E00D48E6929c13deC","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesEUR":{"name":"TokenStatesEUR","address":"0xea6DFB1EA09016f5148afAb5acA76795F39F2833","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0xea6DFB1EA09016f5148afAb5acA76795F39F2833","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesGBP":{"name":"TokenStatesGBP","address":"0x7e88D19A79b291cfE5696d496055f7e57F537A75","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0x7e88D19A79b291cfE5696d496055f7e57F537A75","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesJPY":{"name":"TokenStatesJPY","address":"0x4dFACfB15514C21c991ff75Bc7Bf6Fb1F98361ed","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0x4dFACfB15514C21c991ff75Bc7Bf6Fb1F98361ed","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesUSD":{"name":"TokenStatesUSD","address":"0xC56bc48668EA4D7383Cc1cF65F587b930Bdf7aAA","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0xC56bc48668EA4D7383Cc1cF65F587b930Bdf7aAA","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStateSynthetix":{"name":"TokenStateSynthetix","address":"0xCD14E8F7615cc90BB0D531b9B6CA035910B8fC69","source":"LegacyTokenState","link":"https://rinkeby.etherscan.io/address/0xCD14E8F7615cc90BB0D531b9B6CA035910B8fC69","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"TokenStatesETH":{"name":"TokenStatesETH","address":"0x2686d4389953D4E969890A715542c7aD5EAf9dCB","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0x2686d4389953D4E969890A715542c7aD5EAf9dCB","timestamp":"2019-04-23T22:47:33.039Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysETH":{"name":"ProxysETH","address":"0xC9E41649eC88dc27CFf147BC13A02eEcb7e45D65","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0xC9E41649eC88dc27CFf147BC13A02eEcb7e45D65","timestamp":"2019-09-12T22:47:44.346Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsETH":{"name":"SynthsETH","address":"0xdf1765a1530166ece1D46182a946a03b09AE2810","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0xdf1765a1530166ece1D46182a946a03b09AE2810","timestamp":"2022-06-09T17:39:32.056Z","txn":"","network":"rinkeby","constructorArgs":["0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb","0x2686d4389953D4E969890A715542c7aD5EAf9dCB","Synth sETH","sETH","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7345544800000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"RewardEscrow":{"name":"RewardEscrow","address":"0x7F4D6d314aEb6fCa6a2aeB330260B2B7fc66E38B","source":"RewardEscrow","link":"https://rinkeby.etherscan.io/address/0x7F4D6d314aEb6fCa6a2aeB330260B2B7fc66E38B","timestamp":"2019-05-02T07:55:24.000Z","txn":"https://rinkeby.etherscan.io/tx/0xd2b722dd4a70fa6be957d59f58bfeea37634be82672a33430256f2452a353cfe","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000"]},"FeePoolState":{"name":"FeePoolState","address":"0x11164F6a47C3f8472D19b9aDd516Fc780cb7Ee02","source":"FeePoolState","link":"https://rinkeby.etherscan.io/address/0x11164F6a47C3f8472D19b9aDd516Fc780cb7Ee02","timestamp":"2019-05-02T07:57:10.000Z","txn":"https://rinkeby.etherscan.io/tx/0x25bec289bff971dde31fafa71168a5482a02ce3bb2cca5186c033cba355502a7","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x3B2f389AeE480238A49E3A9985cd6815370712eB"]},"SupplySchedule":{"name":"SupplySchedule","address":"0x22c1a308B198583f97A7449411Ad5222A13D9d68","source":"SupplySchedule","link":"https://rinkeby.etherscan.io/address/0x22c1a308B198583f97A7449411Ad5222A13D9d68","timestamp":"2022-02-18T22:54:32.000Z","txn":"https://rinkeby.etherscan.io/tx/0x54e24c856def9032b2de5ea79af0d1c0c3807e0908e45344b4b2a66f63b539cb","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","1658966400","177"]},"DelegateApprovals":{"name":"DelegateApprovals","address":"0xf81F108C5a405E0779e0558C045a7b36e0eD1eeC","source":"DelegateApprovals","link":"https://rinkeby.etherscan.io/address/0xf81F108C5a405E0779e0558C045a7b36e0eD1eeC","timestamp":"2020-03-31T00:27:19.000Z","txn":"https://rinkeby.etherscan.io/tx/0xac833bf8b366498447c4b3b95edd86964c40efd1253534b63ebe2faed89226b2","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x71C3f163A37F031a1424c8c9C276E1E8D81Fa0D5"]},"FeePoolEternalStorage":{"name":"FeePoolEternalStorage","address":"0x4d1C69ee4b855fE7D298E64d62Eb5904a14c1011","source":"FeePoolEternalStorage","link":"https://rinkeby.etherscan.io/address/0x4d1C69ee4b855fE7D298E64d62Eb5904a14c1011","timestamp":"2019-05-28T08:18:15.000Z","txn":"https://rinkeby.etherscan.io/tx/0x6c4cfdae798e1aa656db42c421e6e34749b5b9e8312820aebfefa7de530387d0","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxyERC20":{"name":"ProxyERC20","address":"0x8355BC3b74B1F558BF48A784bC4c46D8a6d61fdE","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0x8355BC3b74B1F558BF48A784bC4c46D8a6d61fdE","timestamp":"2019-08-09T05:36:52.011Z","txn":"","network":"rinkeby"},"RewardsDistribution":{"name":"RewardsDistribution","address":"0xD7381cC1Adef9E483886058a7D06A3819620d3E4","source":"RewardsDistribution","link":"https://rinkeby.etherscan.io/address/0xD7381cC1Adef9E483886058a7D06A3819620d3E4","timestamp":"2020-02-20T09:04:10.195Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000","0x57CF38C8bBaCbC6D16eB5E8b7E4acBF7E42e9aC0","0xb440DD674e1243644791a4AdfE3A2AbB0A92d309"]},"TokenStatesLINK":{"name":"TokenStatesLINK","address":"0x577D4a7395c6A5f46d9981a5F83fa7294926aBB0","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0x577D4a7395c6A5f46d9981a5F83fa7294926aBB0","timestamp":"2019-11-21T01:04:15.682Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysLINK":{"name":"ProxysLINK","address":"0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6","timestamp":"2019-11-21T01:04:28.006Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsLINK":{"name":"SynthsLINK","address":"0xDF69bC4541b86Aa4c5A470B4347E730c38b2c3B2","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0xDF69bC4541b86Aa4c5A470B4347E730c38b2c3B2","timestamp":"2022-06-09T17:41:30.793Z","txn":"","network":"rinkeby","constructorArgs":["0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6","0x577D4a7395c6A5f46d9981a5F83fa7294926aBB0","Synth sLINK","sLINK","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x734c494e4b000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"Math":{"name":"Math","address":"0x385e1Eb2FF28F4A637DA2C9971F8CAF5F5b1E77c","source":"Math","link":"https://rinkeby.etherscan.io/address/0x385e1Eb2FF28F4A637DA2C9971F8CAF5F5b1E77c","timestamp":"2019-12-12T04:26:09.000Z","txn":"https://rinkeby.etherscan.io/tx/0x4175d01bd44e1c847c8257ba272ea1051d67aa2b2552125f179a5dac7cb8d7d2","network":"rinkeby","constructorArgs":[]},"AddressResolver":{"name":"AddressResolver","address":"0x0C763763036A4272Bb26D52905814523B7ad6A0f","source":"AddressResolver","link":"https://rinkeby.etherscan.io/address/0x0C763763036A4272Bb26D52905814523B7ad6A0f","timestamp":"2022-08-04T20:02:38.000Z","txn":"https://rinkeby.etherscan.io/tx/0xf784e318236792c190eb97bf3eac4e3c1a2b0bb786a27944d4db0fbe513f9de5","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"Exchanger":{"name":"Exchanger","address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","source":"ExchangerWithFeeRecAlternatives","link":"https://rinkeby.etherscan.io/address/0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","timestamp":"2022-05-14T03:47:23.000Z","txn":"https://rinkeby.etherscan.io/tx/0x19a5c7495a6db45b0ff540f1838f9ea54e7f72e56e221fe8f4ce41ce92cc9270","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"ExchangeState":{"name":"ExchangeState","address":"0x6469c1236c69f7B0671A6edCE782103286F02b17","source":"ExchangeState","link":"https://rinkeby.etherscan.io/address/0x6469c1236c69f7B0671A6edCE782103286F02b17","timestamp":"2020-02-20T05:39:38.000Z","txn":"https://rinkeby.etherscan.io/tx/0x6900724258dbf151dc5ea9d2f5a891ec51ccf72ac82101919f00920a7b8ae567","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0xD64D83829D92B5bdA881f6f61A4e4E27Fc185387"]},"Issuer":{"name":"Issuer","address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","source":"Issuer","link":"https://rinkeby.etherscan.io/address/0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","timestamp":"2022-06-23T17:15:38.000Z","txn":"https://rinkeby.etherscan.io/tx/0x8d19badf86fa00337519045be42baeeb0b4742cd217547061ab6b70231baade6","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"IssuanceEternalStorage":{"name":"IssuanceEternalStorage","address":"0x631E93A0fb06B5eC6d52c0A2D89a3f9672d6Ba64","source":"IssuanceEternalStorage","link":"https://rinkeby.etherscan.io/address/0x631E93A0fb06B5eC6d52c0A2D89a3f9672d6Ba64","timestamp":"2020-02-28T06:09:39.180Z","txn":"","network":"rinkeby"},"SystemStatus":{"name":"SystemStatus","address":"0x84d1E9847cb8d7e0e31C6fd06bd26B4031049138","source":"SystemStatus","link":"https://rinkeby.etherscan.io/address/0x84d1E9847cb8d7e0e31C6fd06bd26B4031049138","timestamp":"2022-03-17T19:23:07.000Z","txn":"https://rinkeby.etherscan.io/tx/0x372d60e75b5eefaf45b03d71a8e7420dc16db4ec49bd08db6ccdfd4b59f162cd","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"DelegateApprovalsEternalStorage":{"name":"DelegateApprovalsEternalStorage","address":"0x71C3f163A37F031a1424c8c9C276E1E8D81Fa0D5","source":"EternalStorage","link":"https://rinkeby.etherscan.io/address/0x71C3f163A37F031a1424c8c9C276E1E8D81Fa0D5","timestamp":"2020-03-31T00:26:51.000Z","txn":"https://rinkeby.etherscan.io/tx/0xa55a9b0d9d922c9a2749d990bf7f20f729837c8fcd7e128c1dac8eb51fa67f99","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"TokenStatesADA":{"name":"TokenStatesADA","address":"0x9956c5019a24fbd5B506AD070b771577bAc5c343","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0x9956c5019a24fbd5B506AD070b771577bAc5c343","timestamp":"2020-04-02T09:02:42.770Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysADA":{"name":"ProxysADA","address":"0xe36E2D3c7c34281FA3bC737950a68571736880A1","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0xe36E2D3c7c34281FA3bC737950a68571736880A1","timestamp":"2020-04-02T09:04:17.667Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsADA":{"name":"SynthsADA","address":"0x91b82d62Ff322b8e02b86f33E9A99a813437830d","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0x91b82d62Ff322b8e02b86f33E9A99a813437830d","timestamp":"2022-06-09T17:42:14.695Z","txn":"","network":"rinkeby","constructorArgs":["0xe36E2D3c7c34281FA3bC737950a68571736880A1","0x9956c5019a24fbd5B506AD070b771577bAc5c343","Synth sADA","sADA","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7341444100000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"ReadProxyAddressResolver":{"name":"ReadProxyAddressResolver","address":"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","source":"ReadProxy","link":"https://rinkeby.etherscan.io/address/0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","timestamp":"2020-05-08T16:34:33.000Z","txn":"https://rinkeby.etherscan.io/tx/0x1cefe027f7e3d8da401d3deeb63fc6c35a1ce09fc372f4de77c599250f0b496d","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"StakingRewardsSNXBalancer":{"name":"StakingRewardsSNXBalancer","address":"0xFBaEdde70732540cE2B11A8AC58Eb2dC0D69dE10","source":"StakingRewardsSNXBalancer","link":"https://rinkeby.etherscan.io/address/0xFBaEdde70732540cE2B11A8AC58Eb2dC0D69dE10","timestamp":"2020-06-03","txn":"","network":"rinkeby"},"StakingRewardsiETH":{"name":"StakingRewardsiETH","address":"0x3f27c540ADaE3a9E8c875C61e3B970b559d7F65d","source":"StakingRewards","link":"https://rinkeby.etherscan.io/address/0x3f27c540ADaE3a9E8c875C61e3B970b559d7F65d","timestamp":"2021-02-03T05:00:31.000Z","txn":"https://rinkeby.etherscan.io/tx/0x398f20e282cebdc84549177e4324ee1f075db952a190c0555fa3fccdeae0b59f","network":"rinkeby"},"StakingRewardsiBTC":{"name":"StakingRewardsiBTC","address":"0x167009dcDA2e49930a71712D956f02cc980DcC1b","source":"StakingRewards","link":"https://rinkeby.etherscan.io/address/0x167009dcDA2e49930a71712D956f02cc980DcC1b","timestamp":"2021-01-09T00:56:34.000Z","txn":"https://rinkeby.etherscan.io/tx/0xb24447e295063d1471193bbed6d42e107c2a61bc91f3e9de6710d110ce92f34c","network":"rinkeby"},"StakingRewardssBTCCurve":{"name":"StakingRewardssBTCCurve","address":"0x13C1542A468319688B89E323fe9A3Be3A90EBb27","source":"StakingRewardssBTCCurve","link":"https://rinkeby.etherscan.io/address/0x13C1542A468319688B89E323fe9A3Be3A90EBb27","timestamp":"2020-05-29","txn":"","network":"rinkeby"},"StakingRewardssUSDCurve":{"name":"StakingRewardssUSDCurve","address":"0xDCB6A51eA3CA5d3Fd898Fd6564757c7aAeC3ca92","source":"StakingRewardssUSDCurve","link":"https://rinkeby.etherscan.io/address/0xDCB6A51eA3CA5d3Fd898Fd6564757c7aAeC3ca92","timestamp":"2020-04-20","txn":"","network":"rinkeby"},"StakingRewardssXAUUniswapV2":{"name":"StakingRewardssXAUUniswapV2","address":"0x8302FE9F0C509a996573D3Cc5B0D5D51e4FDD5eC","source":"StakingRewardssXAUUniswapV2","link":"https://rinkeby.etherscan.io/address/0x8302FE9F0C509a996573D3Cc5B0D5D51e4FDD5eC","timestamp":"2020-05-29","txn":"","network":"rinkeby"},"StakingRewardssETHUniswapV1":{"name":"StakingRewardssETHUniswapV1","address":"0x48D7f315feDcaD332F68aafa017c7C158BC54760","source":"StakingRewardssETHUniswapV1","link":"https://rinkeby.etherscan.io/address/0x48D7f315feDcaD332F68aafa017c7C158BC54760","timestamp":"2020-05-29","txn":"","network":"rinkeby"},"SynthUtil":{"name":"SynthUtil","address":"0x81Aee4EA48f678E172640fB5813cf7A96AFaF6C3","source":"SynthUtil","link":"https://rinkeby.etherscan.io/address/0x81Aee4EA48f678E172640fB5813cf7A96AFaF6C3","timestamp":"2020-08-06T00:14:40.000Z","txn":"https://rinkeby.etherscan.io/tx/0xf9c727d79abb8c45375fdf4b2b1138299c24f5b0affa5eaf03fba8cf00f6b1a4","network":"rinkeby","constructorArgs":["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"DappMaintenance":{"name":"DappMaintenance","address":"0xAb0B2f1Cf979cdbF4676251F35353eC5AF2732Dd","source":"DappMaintenance","link":"https://rinkeby.etherscan.io/address/0xAb0B2f1Cf979cdbF4676251F35353eC5AF2732Dd","timestamp":"2020-08-06T00:15:00.000Z","txn":"https://rinkeby.etherscan.io/tx/0x0e3b146cbff5337a85bb6e275f20b9808cfaa84912c38d9f9b16f58d31860a35","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"FlexibleStorage":{"name":"FlexibleStorage","address":"0xEd1302AbCDa68F5189622bCBA5432Fb0B4110C07","source":"FlexibleStorage","link":"https://rinkeby.etherscan.io/address/0xEd1302AbCDa68F5189622bCBA5432Fb0B4110C07","timestamp":"2020-09-01T02:29:14.203Z","txn":"","network":"rinkeby","constructorArgs":["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SystemSettings":{"name":"SystemSettings","address":"0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","source":"SystemSettings","link":"https://rinkeby.etherscan.io/address/0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","timestamp":"2022-06-23T17:12:43.000Z","txn":"https://rinkeby.etherscan.io/tx/0xb6156f48700dab9b6cee99cd7f00d73a6cfc153f4e90d797885366c65bbae8f2","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"TradingRewards":{"name":"TradingRewards","address":"0x0Ace5a84fF583B947994afdb57B9137300362eFc","source":"TradingRewards","link":"https://rinkeby.etherscan.io/address/0x0Ace5a84fF583B947994afdb57B9137300362eFc","timestamp":"2020-12-24T00:38:06.000Z","txn":"https://rinkeby.etherscan.io/tx/0x5a27b38498e8d90883735f65be1745f26f9237bdc2dc3fa135c564c90c07bfa8","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"DebtCache":{"name":"DebtCache","address":"0x03cc0484A774Eca797262A5a4d43BC18ED56709E","source":"DebtCache","link":"https://rinkeby.etherscan.io/address/0x03cc0484A774Eca797262A5a4d43BC18ED56709E","timestamp":"2022-03-17T19:24:56.000Z","txn":"https://rinkeby.etherscan.io/tx/0x2f5b20f3a06fdb77a34a4ba4da33d6e8ce25b936aa15555df5ef7afe8459569e","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"CollateralManagerState":{"name":"CollateralManagerState","address":"0x035CDE8a4d83181097a318217402B40D055dD4F1","source":"CollateralManagerState","link":"https://rinkeby.etherscan.io/address/0x035CDE8a4d83181097a318217402B40D055dD4F1","timestamp":"2020-12-24T01:25:57.000Z","txn":"https://rinkeby.etherscan.io/tx/0x483a0231282bdf448efedd143f2aa6f4067c6fdc72dba2f72a1f23b18a19dbe5","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"CollateralManager":{"name":"CollateralManager","address":"0x40765bb75B361664d9bcD77D8ed05cc933674683","source":"CollateralManager","link":"https://rinkeby.etherscan.io/address/0x40765bb75B361664d9bcD77D8ed05cc933674683","timestamp":"2020-12-24T04:23:49.000Z","txn":"https://rinkeby.etherscan.io/tx/0x61ff0be73c7ddeeee873cb21a90a51c05ffc4bbe29160ac510a700dfbc14e377","network":"rinkeby","constructorArgs":["0x035CDE8a4d83181097a318217402B40D055dD4F1","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","75000000000000000000000000","200000000000000000","158443823","158443823"]},"CollateralStateEth":{"name":"CollateralStateEth","address":"0xbe5B5a7c198bC156474ed5c33CBf2F3F604F8fF8","source":"CollateralState","link":"https://rinkeby.etherscan.io/address/0xbe5B5a7c198bC156474ed5c33CBf2F3F604F8fF8","timestamp":"2021-01-14T23:50:37.821Z","txn":"","network":"rinkeby"},"CollateralEth":{"name":"CollateralEth","address":"0x5c8344bcdC38F1aB5EB5C1d4a35DdEeA522B5DfA","source":"CollateralEth","link":"https://rinkeby.etherscan.io/address/0x5c8344bcdC38F1aB5EB5C1d4a35DdEeA522B5DfA","timestamp":"2021-01-14T23:51:02.000Z","txn":"https://rinkeby.etherscan.io/tx/0xcb3bfca19fb9d841cc43712ce3e568f794dd2d388507709fb7d0268e9e01cec2","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x40765bb75B361664d9bcD77D8ed05cc933674683","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","0x7345544800000000000000000000000000000000000000000000000000000000","1300000000000000000","2000000000000000000"]},"CollateralStateErc20":{"name":"CollateralStateErc20","address":"0x8A1A00Df7aA0102497C7591912bA8301e8dB8CdB","source":"CollateralState","link":"https://rinkeby.etherscan.io/address/0x8A1A00Df7aA0102497C7591912bA8301e8dB8CdB","timestamp":"2021-01-14T23:51:38.000Z","txn":"https://rinkeby.etherscan.io/tx/0x0840649d2b22f768a9d1314cbc03c9b8280023bde60dd7ecfca741bac15e4ada","network":"rinkeby"},"CollateralErc20":{"name":"CollateralErc20","address":"0xaa03aB31b55DceEeF845C8d17890CC61cD98eD04","source":"CollateralErc20","link":"https://rinkeby.etherscan.io/address/0xaa03aB31b55DceEeF845C8d17890CC61cD98eD04","timestamp":"2021-01-14T23:51:56.000Z","txn":"https://rinkeby.etherscan.io/tx/0x751eb0cc4a5b2f994bcca8368159e4df951f4a0fbe16a5d00c0b9655bad1f0fe","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x40765bb75B361664d9bcD77D8ed05cc933674683","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","0x7342544300000000000000000000000000000000000000000000000000000000","1300000000000000000","50000000000000000","0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D",8]},"CollateralStateShort":{"name":"CollateralStateShort","address":"0x13A114a3Fa8A6CE03a0C5488BE9e614d78eDdb0c","source":"CollateralState","link":"https://rinkeby.etherscan.io/address/0x13A114a3Fa8A6CE03a0C5488BE9e614d78eDdb0c","timestamp":"2021-01-14T23:52:14.670Z","txn":"","network":"rinkeby"},"CollateralShort":{"name":"CollateralShort","address":"0x1F2c3a1046c32729862fcB038369696e3273a516","source":"CollateralShort","link":"https://rinkeby.etherscan.io/address/0x1F2c3a1046c32729862fcB038369696e3273a516","timestamp":"2021-01-14T23:52:14.000Z","txn":"https://rinkeby.etherscan.io/tx/0x2fd795c484f9734377526c4ce1656ed416ebb8c954609fdf724c1b3a673af727","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x40765bb75B361664d9bcD77D8ed05cc933674683","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","0x7355534400000000000000000000000000000000000000000000000000000000","1200000000000000000","1000000000000000000000"]},"StakingRewardssEURCurve":{"name":"StakingRewardssEURCurve","address":"0xc0d8994Cd78eE1980885DF1A0C5470fC977b5cFe","source":"StakingRewards","link":"https://rinkeby.etherscan.io/address/0xc0d8994Cd78eE1980885DF1A0C5470fC977b5cFe","timestamp":"2021-01-11T04:11:51.905Z","txn":"","network":"rinkeby"},"RewardEscrowV2":{"name":"RewardEscrowV2","address":"0x57CF38C8bBaCbC6D16eB5E8b7E4acBF7E42e9aC0","source":"RewardEscrowV2","link":"https://rinkeby.etherscan.io/address/0x57CF38C8bBaCbC6D16eB5E8b7E4acBF7E42e9aC0","timestamp":"2021-01-14T23:48:34.000Z","txn":"https://rinkeby.etherscan.io/tx/0x24873410d8b6171332163491139cc27ca3dc76fe474f695affc4688cd1735373","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthetixBridgeToOptimism":{"name":"SynthetixBridgeToOptimism","address":"0xbCD2d1005D7C07812411F4340722dcaf8cb34F1C","source":"SynthetixBridgeToOptimism","link":"https://rinkeby.etherscan.io/address/0xbCD2d1005D7C07812411F4340722dcaf8cb34F1C","timestamp":"2022-05-10T18:23:54.000Z","txn":"https://rinkeby.etherscan.io/tx/0xec9ece48ccf29124a84515f1f75dc92e513f8f290816be97355a6a00adbdaa3b","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"ShortingRewardssETH":{"name":"ShortingRewardssETH","address":"0x12DC1273915A16ab8BD47bA7866B240c253e4c12","source":"ShortingRewards","link":"https://rinkeby.etherscan.io/address/0x12DC1273915A16ab8BD47bA7866B240c253e4c12","timestamp":"2021-02-04T02:57:12.387Z","txn":"","network":"rinkeby"},"ShortingRewardssBTC":{"name":"ShortingRewardssBTC","address":"0xCed4055b47cfD0421f3727a35F69CE659c8bAF7a","source":"ShortingRewards","link":"https://rinkeby.etherscan.io/address/0xCed4055b47cfD0421f3727a35F69CE659c8bAF7a","timestamp":"2021-02-04T03:07:11.000Z","txn":"https://rinkeby.etherscan.io/tx/0x632352d3042156b94c179a71a56de841255fc7d7fcf829f3ff40ae53e2f439d0","network":"rinkeby"},"TokenStatesAAVE":{"name":"TokenStatesAAVE","address":"0x9BcED8A8E3Ad81c9b146FFC880358f734A06f7c0","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0x9BcED8A8E3Ad81c9b146FFC880358f734A06f7c0","timestamp":"2021-02-04T04:59:21.433Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysAAVE":{"name":"ProxysAAVE","address":"0xd2dF355C19471c8bd7D8A3aa27Ff4e26A21b4076","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0xd2dF355C19471c8bd7D8A3aa27Ff4e26A21b4076","timestamp":"2021-02-04T04:59:32.282Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsAAVE":{"name":"SynthsAAVE","address":"0x942Eb6e8c029EB22103743C99985aF4F4515a559","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0x942Eb6e8c029EB22103743C99985aF4F4515a559","timestamp":"2022-06-09T17:42:29.880Z","txn":"","network":"rinkeby","constructorArgs":["0xd2dF355C19471c8bd7D8A3aa27Ff4e26A21b4076","0x9BcED8A8E3Ad81c9b146FFC880358f734A06f7c0","Synth sAAVE","sAAVE","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7341415645000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"TokenStatesDOT":{"name":"TokenStatesDOT","address":"0x73B1a2643507Cd30F11Dfcf2D974f4373E5BC077","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0x73B1a2643507Cd30F11Dfcf2D974f4373E5BC077","timestamp":"2021-02-04T05:05:11.555Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysDOT":{"name":"ProxysDOT","address":"0x1715AC0743102BF5Cd58EfBB6Cf2dC2685d967b6","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0x1715AC0743102BF5Cd58EfBB6Cf2dC2685d967b6","timestamp":"2021-02-04T05:05:27.390Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsDOT":{"name":"SynthsDOT","address":"0x75A0c1597137AA36B40b6a515D997F9a6c6eefEB","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0x75A0c1597137AA36B40b6a515D997F9a6c6eefEB","timestamp":"2022-06-09T17:42:48.847Z","txn":"","network":"rinkeby","constructorArgs":["0x1715AC0743102BF5Cd58EfBB6Cf2dC2685d967b6","0x73B1a2643507Cd30F11Dfcf2D974f4373E5BC077","Synth sDOT","sDOT","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x73444f5400000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"StakingRewardssTSLABalancer":{"name":"StakingRewardssTSLABalancer","address":"0xF0de877F2F9E7A60767f9BA662F10751566AD01c","source":"StakingRewards","link":"https://rinkeby.etherscan.io/address/0xF0de877F2F9E7A60767f9BA662F10751566AD01c","timestamp":"2021-02-11T19:38:23.000Z","txn":"https://rinkeby.etherscan.io/tx/0x297b5534a231c8e7544c3b12900bf97b2f3cddea114b47425cb5b24c5711886f","network":"rinkeby"},"TokenStatesKRW":{"name":"TokenStatesKRW","address":"0x93B6e9FbBd2c32a0DC3C2B943B7C3CBC2fE23730","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0x93B6e9FbBd2c32a0DC3C2B943B7C3CBC2fE23730","timestamp":"2021-03-24T19:10:40.419Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysKRW":{"name":"ProxysKRW","address":"0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B","timestamp":"2021-03-24T19:10:58.266Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsKRW":{"name":"SynthsKRW","address":"0xdAe6C79c46aB3B280Ca28259000695529cbD1339","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0xdAe6C79c46aB3B280Ca28259000695529cbD1339","timestamp":"2022-06-09T17:35:14.280Z","txn":"","network":"rinkeby","constructorArgs":["0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B","0x93B6e9FbBd2c32a0DC3C2B943B7C3CBC2fE23730","Synth sKRW","sKRW","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x734b525700000000000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"VirtualSynthMastercopy":{"name":"VirtualSynthMastercopy","address":"0x08D7c025d5F5b5b0eAbDDEC5E8be66f55d2B9374","source":"VirtualSynthMastercopy","link":"https://rinkeby.etherscan.io/address/0x08D7c025d5F5b5b0eAbDDEC5E8be66f55d2B9374","timestamp":"2021-04-22T00:39:13.000Z","txn":"https://rinkeby.etherscan.io/tx/0x97cf7f9d52f180b4e0f1f642a3b18e84c3ce0c6fa31cfaef16616a31a81a808f","network":"rinkeby","constructorArgs":[]},"StakingRewardssFBBalancer":{"name":"StakingRewardssFBBalancer","address":"0x26Fa0665660c1D3a3666584669511d3c66Ad37Cb","source":"StakingRewards","link":"https://rinkeby.etherscan.io/address/0x26Fa0665660c1D3a3666584669511d3c66Ad37Cb","timestamp":"2021-04-22T15:30:32.441Z","txn":"","network":"rinkeby"},"StakingRewardssAAPLBalancer":{"name":"StakingRewardssAAPLBalancer","address":"0x7af65f1740c0eB816A27FD808EaF6Ab09F6Fa646","source":"StakingRewards","link":"https://rinkeby.etherscan.io/address/0x7af65f1740c0eB816A27FD808EaF6Ab09F6Fa646","timestamp":"2021-04-22T15:33:15.930Z","txn":"","network":"rinkeby"},"StakingRewardssAMZNBalancer":{"name":"StakingRewardssAMZNBalancer","address":"0xDC338C7544654c7dadFEb7E44076E457963113B0","source":"StakingRewards","link":"https://rinkeby.etherscan.io/address/0xDC338C7544654c7dadFEb7E44076E457963113B0","timestamp":"2021-04-22T15:39:13.829Z","txn":"","network":"rinkeby"},"StakingRewardssNFLXBalancer":{"name":"StakingRewardssNFLXBalancer","address":"0x8Ef8cA2AcAaAfEc19fB366C11561718357F780F2","source":"StakingRewards","link":"https://rinkeby.etherscan.io/address/0x8Ef8cA2AcAaAfEc19fB366C11561718357F780F2","timestamp":"2021-04-22T15:45:46.242Z","txn":"","network":"rinkeby"},"StakingRewardssGOOGBalancer":{"name":"StakingRewardssGOOGBalancer","address":"0x6fB7F0E78582746bd01BcB6dfbFE62cA5F4F9175","source":"StakingRewards","link":"https://rinkeby.etherscan.io/address/0x6fB7F0E78582746bd01BcB6dfbFE62cA5F4F9175","timestamp":"2021-04-22T15:47:27.982Z","txn":"","network":"rinkeby"},"StakingRewardssCOINBalancer":{"name":"StakingRewardssCOINBalancer","address":"0x1C1D97f6338759AB814a5A717aE359573Ab5D5d4","source":"StakingRewards","link":"https://rinkeby.etherscan.io/address/0x1C1D97f6338759AB814a5A717aE359573Ab5D5d4","timestamp":"2021-04-29T14:25:10.862Z","txn":"","network":"rinkeby"},"StakingRewardssMSFTBalancer":{"name":"StakingRewardssMSFTBalancer","address":"0x9D003Cc298E7Ea141A809C241C0a703176DA3ba3","source":"StakingRewards","link":"https://rinkeby.etherscan.io/address/0x9D003Cc298E7Ea141A809C241C0a703176DA3ba3","timestamp":"2021-04-29T14:26:25.602Z","txn":"","network":"rinkeby"},"SynthetixBridgeEscrow":{"name":"SynthetixBridgeEscrow","address":"0x30664E995FC10320f57E3a5B81A8FEcd2ACdB078","source":"SynthetixBridgeEscrow","link":"https://rinkeby.etherscan.io/address/0x30664E995FC10320f57E3a5B81A8FEcd2ACdB078","timestamp":"2021-05-10T21:09:42.000Z","txn":"https://rinkeby.etherscan.io/tx/0xdb8c71768753489eed0028075cf515d0695b757b41231886b261e1aa0c573a5e","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"EtherWrapper":{"name":"EtherWrapper","address":"0x0BE6C3A1bB849AF9E0128d4B9330E48b4DD16087","source":"EtherWrapper","link":"https://rinkeby.etherscan.io/address/0x0BE6C3A1bB849AF9E0128d4B9330E48b4DD16087","timestamp":"2021-05-13T11:08:22.000Z","txn":"https://rinkeby.etherscan.io/tx/0xcac2d9311b429ff942b8a259d49ef46e1f90caf035513eb382f1b865c1f48d78","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"]},"NativeEtherWrapper":{"name":"NativeEtherWrapper","address":"0x7A3d898b717e50a96fd8b232E9d15F0A547A7eeb","source":"NativeEtherWrapper","link":"https://rinkeby.etherscan.io/address/0x7A3d898b717e50a96fd8b232E9d15F0A547A7eeb","timestamp":"2021-05-13T11:09:14.000Z","txn":"https://rinkeby.etherscan.io/tx/0x4e628023d059a6811addf1cf4f6377fe258ce669aef5c1b392ba04553b403f44","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SynthRedeemer":{"name":"SynthRedeemer","address":"0x2F8B742c931DBa65B2C711F0E9FA78bE71bB8EbE","source":"SynthRedeemer","link":"https://rinkeby.etherscan.io/address/0x2F8B742c931DBa65B2C711F0E9FA78bE71bB8EbE","timestamp":"2021-09-10T09:21:49.000Z","txn":"https://rinkeby.etherscan.io/tx/0x36ee7d1fff9c77636cab448a6289eca77aa9d5baef562c94cbec7b8409b5b191","network":"rinkeby","constructorArgs":["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"WrapperFactory":{"name":"WrapperFactory","address":"0xf1b1d8907a597323Bab6649190FF481326Be6Aea","source":"WrapperFactory","link":"https://rinkeby.etherscan.io/address/0xf1b1d8907a597323Bab6649190FF481326Be6Aea","timestamp":"2021-12-03T05:16:01.000Z","txn":"https://rinkeby.etherscan.io/tx/0x2a4b77caf217654c2d7288cec194716f5ad02b902464094bf4c0f95a543bfc01","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"OwnerRelayOnEthereum":{"name":"OwnerRelayOnEthereum","address":"0x0e16A6876210841577b233C4165d7B7EdF640b8a","source":"OwnerRelayOnEthereum","link":"https://rinkeby.etherscan.io/address/0x0e16A6876210841577b233C4165d7B7EdF640b8a","timestamp":"2021-11-23T22:26:10.000Z","txn":"https://rinkeby.etherscan.io/tx/0xcb2daf5c04fde995ba13c6ca4e3eb9edd794f3031f0380ce653abed742ae4834","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"TokenStatesETHBTC":{"name":"TokenStatesETHBTC","address":"0x042A7A0022A7695454ac5Be77a4860e50c9683fC","source":"TokenState","link":"https://rinkeby.etherscan.io/address/0x042A7A0022A7695454ac5Be77a4860e50c9683fC","timestamp":"2021-12-15T22:05:17.310Z","txn":"","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x0000000000000000000000000000000000000000"]},"ProxysETHBTC":{"name":"ProxysETHBTC","address":"0x104eDF1da359506548BFc7c25bA1E28C16a70235","source":"ProxyERC20","link":"https://rinkeby.etherscan.io/address/0x104eDF1da359506548BFc7c25bA1E28C16a70235","timestamp":"2021-12-15T22:05:20.000Z","txn":"https://rinkeby.etherscan.io/tx/0xef2ff387f4ccca14ff4b02d9226420cdd4766873d99f8733a92ec78e8fea2dae","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe"]},"SynthsETHBTC":{"name":"SynthsETHBTC","address":"0x07C1E81C345A7c58d7c24072EFc5D929BD0647AD","source":"MultiCollateralSynth","link":"https://rinkeby.etherscan.io/address/0x07C1E81C345A7c58d7c24072EFc5D929BD0647AD","timestamp":"2022-06-09T17:45:11.788Z","txn":"","network":"rinkeby","constructorArgs":["0x104eDF1da359506548BFc7c25bA1E28C16a70235","0x042A7A0022A7695454ac5Be77a4860e50c9683fC","Synth sETHBTC","sETHBTC","0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x7345544842544300000000000000000000000000000000000000000000000000",0,"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SystemSettingsLib":{"name":"SystemSettingsLib","address":"0x373b643Fe606C9C01C4a10361D48C79a876c2bc1","source":"SystemSettingsLib","link":"https://rinkeby.etherscan.io/address/0x373b643Fe606C9C01C4a10361D48C79a876c2bc1","timestamp":"2022-06-23T17:12:18.000Z","txn":"https://rinkeby.etherscan.io/tx/0x71c09dc5f71d998012dedfff8f1d1f034dbc41badea7ae3ff9c3504b8f4ef354","network":"rinkeby","constructorArgs":[]},"SynthetixDebtShare":{"name":"SynthetixDebtShare","address":"0x6371e703Ba05432906fB010379AE94C9da73b507","source":"SynthetixDebtShare","link":"https://rinkeby.etherscan.io/address/0x6371e703Ba05432906fB010379AE94C9da73b507","timestamp":"2022-02-09T02:43:59.000Z","txn":"https://rinkeby.etherscan.io/tx/0x8f8d6ab299f46dbd8d1ac9a7761ead5f2dc8166f71694659381d5d727435a060","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"SignedSafeDecimalMath":{"name":"SignedSafeDecimalMath","address":"0x728A2B79Cad691531CC1146eF802617FF50c7095","source":"SignedSafeDecimalMath","link":"https://rinkeby.etherscan.io/address/0x728A2B79Cad691531CC1146eF802617FF50c7095","timestamp":"2022-03-17T19:21:07.000Z","txn":"https://rinkeby.etherscan.io/tx/0xec1c90d5fdafded769ef75103a4fc257e0db9523087ac7b0dd2da2e3a9a33106","network":"rinkeby","constructorArgs":[]},"OneNetAggregatorIssuedSynths":{"name":"OneNetAggregatorIssuedSynths","address":"0x9893Ebc43A4635df4Cbf5210b4731B012B3D33F8","source":"OneNetAggregatorIssuedSynths","link":"https://rinkeby.etherscan.io/address/0x9893Ebc43A4635df4Cbf5210b4731B012B3D33F8","timestamp":"2022-03-17T19:21:38.000Z","txn":"https://rinkeby.etherscan.io/tx/0xc8e3587a015330d52107765989f8e2f2e0d27227c45fbc92d511b261926cca40","network":"rinkeby","constructorArgs":["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"OneNetAggregatorDebtRatio":{"name":"OneNetAggregatorDebtRatio","address":"0x0654BD22A0487017f0da209C7f338FaF0572C1F1","source":"OneNetAggregatorDebtRatio","link":"https://rinkeby.etherscan.io/address/0x0654BD22A0487017f0da209C7f338FaF0572C1F1","timestamp":"2022-03-17T19:21:39.000Z","txn":"https://rinkeby.etherscan.io/tx/0x46784e77e35b7e2e9999c3c54c776029790e75eb15ca3b77153a7de51b6c5fe0","network":"rinkeby","constructorArgs":["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"ExchangeCircuitBreaker":{"name":"ExchangeCircuitBreaker","address":"0x77440aCafBbeec1CA1CB6DD1a7FE0207e66A322A","source":"ExchangeCircuitBreaker","link":"https://rinkeby.etherscan.io/address/0x77440aCafBbeec1CA1CB6DD1a7FE0207e66A322A","timestamp":"2022-03-17T19:25:25.000Z","txn":"https://rinkeby.etherscan.io/tx/0x49e5553deb5ff969b9de6f6a5ebf794164d3a8df08eb3707898e6fd1c866b66b","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"FuturesMarketManager":{"name":"FuturesMarketManager","address":"0xf57D5564409DAB63F6C1D7Da05A6ACf37BB1f77B","source":"EmptyFuturesMarketManager","link":"https://rinkeby.etherscan.io/address/0xf57D5564409DAB63F6C1D7Da05A6ACf37BB1f77B","timestamp":"2022-03-17T19:37:08.000Z","txn":"https://rinkeby.etherscan.io/tx/0xf7c0d65fd75e53a7f5981b67fbe2d860f9465b7534fdf171724f23d437f1e2c1","network":"rinkeby","constructorArgs":[]},"Liquidator":{"name":"Liquidator","address":"0x05159DeD813a02B69B0FbE4126b6F46b73c408a5","source":"Liquidator","link":"https://rinkeby.etherscan.io/address/0x05159DeD813a02B69B0FbE4126b6F46b73c408a5","timestamp":"2022-05-14T03:46:12.000Z","txn":"https://rinkeby.etherscan.io/tx/0x524830cfc58db061742cc09dc86f3372619a3ede4cef9982638700f8ed341424","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"LiquidatorRewards":{"name":"LiquidatorRewards","address":"0xF366da25eC472f4fE2A0be4acD74339ac7572e1E","source":"LiquidatorRewards","link":"https://rinkeby.etherscan.io/address/0xF366da25eC472f4fE2A0be4acD74339ac7572e1E","timestamp":"2022-05-14T03:46:43.000Z","txn":"https://rinkeby.etherscan.io/tx/0xf3d6a0eb6d89c111abcfac7ec969301015c26881fab98c48d5a82c0da32b5831","network":"rinkeby","constructorArgs":["0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe","0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]},"OneNetAggregatorsDEFI":{"name":"OneNetAggregatorsDEFI","address":"0x646F23085281Dbd006FBFD211FD38d0743884864","source":"OneNetAggregatorsDEFI","link":"https://rinkeby.etherscan.io/address/0x646F23085281Dbd006FBFD211FD38d0743884864","timestamp":"2022-06-14T22:18:36.000Z","txn":"https://rinkeby.etherscan.io/tx/0x63dc092c2a9d752c794c72d4633229041c4222a530bf15307118e13c381b54cf","network":"rinkeby","constructorArgs":["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]}},"sources":{"StakingRewardsSNXBalancer":{"bytecode":"60806040526000600855600060095534801561001a57600080fd5b506040516112843803806112848339818101604052606081101561003d57600080fd5b50805160208201516040909201516001600081905580546001600160a01b0319166001600160a01b0380841691909117909155919291839081166100c8576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050600780546001600160a01b0319166001600160a01b039290921691909117905550611130806101546000396000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c806372f702f3116100de578063a694fc3a11610097578063d1af0c7d11610071578063d1af0c7d14610342578063df136d651461034a578063e9fad8ee14610352578063ebe2b12b1461035a57610172565b8063a694fc3a14610315578063c8f33c9114610332578063cd3daf9d1461033a57610172565b806372f702f3146102c757806379ba5097146102cf5780637b0a47ee146102d757806380faa57d146102df5780638b876347146102e75780638da5cb5b1461030d57610172565b80632e1a7d4d116101305780632e1a7d4d146102335780633c6b16ab146102505780633d18b9121461026d5780633fc6df6e1461027557806353a47bb71461029957806370a08231146102a157610172565b80628cc262146101775780630700037d146101af5780631627540c146101d557806318160ddd146101fd57806319762143146102055780631be052891461022b575b600080fd5b61019d6004803603602081101561018d57600080fd5b50356001600160a01b0316610362565b60408051918252519081900360200190f35b61019d600480360360208110156101c557600080fd5b50356001600160a01b03166103e8565b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166103fa565b005b61019d610497565b6101fb6004803603602081101561021b57600080fd5b50356001600160a01b031661049e565b61019d610509565b6101fb6004803603602081101561024957600080fd5b5035610510565b6101fb6004803603602081101561026657600080fd5b50356105f7565b6101fb610761565b61027d610833565b604080516001600160a01b039092168252519081900360200190f35b61027d610842565b61019d600480360360208110156102b757600080fd5b50356001600160a01b0316610851565b61027d61086c565b6101fb61087b565b61019d610937565b61019d61093d565b61019d600480360360208110156102fd57600080fd5b50356001600160a01b0316610950565b61027d610962565b6101fb6004803603602081101561032b57600080fd5b5035610971565b61019d610a55565b61019d610a5b565b61027d610aaf565b61019d610abe565b6101fb610ac4565b61019d610adf565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546103e291906103d690670de0b6b3a7640000906103ca906103b5906103a9610a5b565b9063ffffffff610ae516565b6103be88610851565b9063ffffffff610b4216565b9063ffffffff610ba216565b9063ffffffff610c0c16565b92915050565b600d6020526000908152604090205481565b6004546001600160a01b031633146104435760405162461bcd60e51b815260040180806020018281038252602f815260200180611058602f913960400191505060405180910390fd5b600580546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002545b90565b6004546001600160a01b031633146104e75760405162461bcd60e51b815260040180806020018281038252602f815260200180611058602f913960400191505060405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b62093a8081565b33610519610a5b565b600b5561052461093d565b600a556001600160a01b0381161561056b5761053f81610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b600082116105b4576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b6105bd82610c66565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6006546001600160a01b031633146106405760405162461bcd60e51b815260040180806020018281038252602a8152602001806110a8602a913960400191505060405180910390fd5b600061064a610a5b565b600b5561065561093d565b600a556001600160a01b0381161561069c5761067081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60085442106106c0576106b88262093a8063ffffffff610ba216565b60095561070e565b6008546000906106d6904263ffffffff610ae516565b905060006106ef60095483610b4290919063ffffffff16565b905061070862093a806103ca868463ffffffff610c0c16565b60095550505b42600a8190556107279062093a8063ffffffff610c0c16565b6008556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b3361076a610a5b565b600b5561077561093d565b600a556001600160a01b038116156107bc5761079081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60006107c733610362565b9050801561082f57336000818152600d60205260408120556007546107f8916001600160a01b039091169083610d29565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6001546001600160a01b031681565b6005546001600160a01b031633146108c45760405162461bcd60e51b81526004018080602001828103825260358152602001806110236035913960400191505060405180910390fd5b600454600554604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160058054600480546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b600061094b42600854610d80565b905090565b600c6020526000908152604090205481565b6004546001600160a01b031681565b3361097a610a5b565b600b5561098561093d565b600a556001600160a01b038116156109cc576109a081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008211610a12576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b610a1b82610d96565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b600a5481565b6000610a65610497565b610a725750600b5461049b565b61094b610aa0610a80610497565b6103ca670de0b6b3a76400006103be6009546103be600a546103a961093d565b600b549063ffffffff610c0c16565b6007546001600160a01b031681565b600b5481565b610ad5610ad033610851565b610510565b610add610761565b565b60085481565b600082821115610b3c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610b51575060006103e2565b82820282848281610b5e57fe5b0414610b9b5760405162461bcd60e51b81526004018080602001828103825260218152602001806110876021913960400191505060405180910390fd5b9392505050565b6000808211610bf8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610c0357fe5b04949350505050565b600082820183811015610b9b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000805460010190819055600254610c84908363ffffffff610ae516565b60025533600090815260036020526040902054610ca7908363ffffffff610ae516565b33600081815260036020526040902091909155600154610cd3916001600160a01b039091169084610d29565b600054811461082f576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d7b908490610e04565b505050565b6000818310610d8f5781610b9b565b5090919050565b6000805460010190819055600254610db4908363ffffffff610c0c16565b60025533600090815260036020526040902054610dd7908363ffffffff610c0c16565b33600081815260036020526040902091909155600154610cd3916001600160a01b03909116903085610fc2565b610e16826001600160a01b031661101c565b610e67576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610ea55780518252601f199092019160209182019101610e86565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610f07576040519150601f19603f3d011682016040523d82523d6000602084013e610f0c565b606091505b509150915081610f63576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610fbc57808060200190516020811015610f7f57600080fd5b5051610fbc5760405162461bcd60e51b815260040180806020018281038252602a8152602001806110d2602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610fbc908590610e04565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a7231582020f5794a903f0922bce34e601a6a65292617f8c4088dc06fb54f3e90598520c864736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f000000000000000000000000815f8ef4863451f4faf34fbc860034812e7377d9","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":true,"inputs":[],"name":"DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"StakingRewardsiETH":{"bytecode":"60806040526000600755600060085562093a8060095534801561002157600080fd5b506040516119443803806119448339818101604052608081101561004457600080fd5b5080516020820151604083015160609093015191929091836001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060016003556000546001600160a01b0316610166576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600580546001600160a01b0393841661010002610100600160a81b0319909116179055600680549183166001600160a01b03199283161790556002805493909216921691909117905550611785806101bf6000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c806372f702f31161010f578063a694fc3a116100a2578063d1af0c7d11610071578063d1af0c7d14610448578063df136d6514610450578063e9fad8ee14610458578063ebe2b12b14610460576101e4565b8063a694fc3a146103fe578063c8f33c911461041b578063cc1a378f14610423578063cd3daf9d14610440576101e4565b80638980f11f116100de5780638980f11f1461039c5780638b876347146103c85780638da5cb5b146103ee57806391b4ded9146103f6576101e4565b806372f702f31461037c57806379ba5097146103845780637b0a47ee1461038c57806380faa57d14610394576101e4565b80632e1a7d4d116101875780633fc6df6e116101565780633fc6df6e1461030e57806353a47bb7146103325780635c975abb1461033a57806370a0823114610356576101e4565b80632e1a7d4d146102c4578063386a9525146102e15780633c6b16ab146102e95780633d18b91214610306576101e4565b806316c38b3c116101c357806316c38b3c1461026f57806318160ddd1461028e57806319762143146102965780631c1f78eb146102bc576101e4565b80628cc262146101e95780630700037d146102215780631627540c14610247575b600080fd5b61020f600480360360208110156101ff57600080fd5b50356001600160a01b0316610468565b60408051918252519081900360200190f35b61020f6004803603602081101561023757600080fd5b50356001600160a01b03166104fe565b61026d6004803603602081101561025d57600080fd5b50356001600160a01b0316610510565b005b61026d6004803603602081101561028557600080fd5b50351515610579565b61020f610611565b61026d600480360360208110156102ac57600080fd5b50356001600160a01b0316610618565b61020f61064f565b61026d600480360360208110156102da57600080fd5b503561066d565b61020f61081b565b61026d600480360360208110156102ff57600080fd5b5035610821565b61026d610a90565b610316610bce565b604080516001600160a01b039092168252519081900360200190f35b610316610bdd565b610342610bec565b604080519115158252519081900360200190f35b61020f6004803603602081101561036c57600080fd5b50356001600160a01b0316610bf5565b610316610c10565b61026d610c1f565b61020f610ce8565b61020f610cee565b61026d600480360360408110156103b257600080fd5b506001600160a01b038135169060200135610cfc565b61020f600480360360208110156103de57600080fd5b50356001600160a01b0316610db9565b610316610dcb565b61020f610dda565b61026d6004803603602081101561041457600080fd5b5035610de0565b61020f610fcd565b61026d6004803603602081101561043957600080fd5b5035610fd3565b61020f611056565b6103166110b0565b61020f6110c4565b61026d6110ca565b61020f6110ed565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546104f891906104ec90670de0b6b3a7640000906104e0906104bb906104af611056565b9063ffffffff6110f316565b6001600160a01b0388166000908152600f60205260409020549063ffffffff61115016565b9063ffffffff6111b016565b9063ffffffff61121a16565b92915050565b600d6020526000908152604090205481565b610518611274565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610581611274565b60055460ff16151581151514156105975761060e565b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016821515179081905560ff16156105d257426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b600e545b90565b610620611274565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600061066860095460085461115090919063ffffffff16565b905090565b600380546001019081905533610681611056565b600b5561068c610cee565b600a556001600160a01b038116156106d3576106a781610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610728576040805162461bcd60e51b815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b600e5461073b908463ffffffff6110f316565b600e55336000908152600f602052604090205461075e908463ffffffff6110f316565b336000818152600f602052604090209190915560065461078a916001600160a01b0390911690856112bd565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a2506003548114610817576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050565b60095481565b6002546001600160a01b0316331461086a5760405162461bcd60e51b815260040180806020018281038252602a8152602001806116dc602a913960400191505060405180910390fd5b6000610874611056565b600b5561087f610cee565b600a556001600160a01b038116156108c65761089a81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60075442106108eb576009546108e390839063ffffffff6111b016565b60085561093a565b600754600090610901904263ffffffff6110f316565b9050600061091a6008548361115090919063ffffffff16565b600954909150610934906104e0868463ffffffff61121a16565b60085550505b600554604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156109a357600080fd5b505afa1580156109b7573d6000803e3d6000fd5b505050506040513d60208110156109cd57600080fd5b50516009549091506109e690829063ffffffff6111b016565b6008541115610a3c576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b42600a819055600954610a55919063ffffffff61121a16565b6007556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b600380546001019081905533610aa4611056565b600b55610aaf610cee565b600a556001600160a01b03811615610af657610aca81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b336000908152600d60205260409020548015610b7657336000818152600d6020526040812055600554610b3f916101009091046001600160a01b0316908363ffffffff6112bd16565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050600354811461060e576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002546001600160a01b031681565b6001546001600160a01b031681565b60055460ff1681565b6001600160a01b03166000908152600f602052604090205490565b6006546001600160a01b031681565b6001546001600160a01b03163314610c685760405162461bcd60e51b815260040180806020018281038252603581526020018061161b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b60085481565b600061066842600754611342565b610d04611274565b6006546001600160a01b0383811691161415610d515760405162461bcd60e51b81526004018080602001828103825260218152602001806117306021913960400191505060405180910390fd5b600054610d71906001600160a01b0384811691168363ffffffff6112bd16565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a15050565b600c6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b600380546001019081905560055460ff1615610e2d5760405162461bcd60e51b815260040180806020018281038252603c8152602001806116a0603c913960400191505060405180910390fd5b33610e36611056565b600b55610e41610cee565b600a556001600160a01b03811615610e8857610e5c81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610edd576040805162461bcd60e51b815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b600e54610ef0908463ffffffff61121a16565b600e55336000908152600f6020526040902054610f13908463ffffffff61121a16565b336000818152600f6020526040902091909155600654610f40916001600160a01b03909116903086611358565b60408051848152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a2506003548114610817576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600a5481565b610fdb611274565b600754421161101b5760405162461bcd60e51b81526004018080602001828103825260588152602001806115c36058913960600191505060405180910390fd5b60098190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600e546000141561106c5750600b54610615565b6106686110a1600e546104e0670de0b6b3a7640000611095600854611095600a546104af610cee565b9063ffffffff61115016565b600b549063ffffffff61121a16565b60055461010090046001600160a01b031681565b600b5481565b336000908152600f60205260409020546110e39061066d565b6110eb610a90565b565b60075481565b60008282111561114a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008261115f575060006104f8565b8282028284828161116c57fe5b04146111a95760405162461bcd60e51b815260040180806020018281038252602181526020018061167f6021913960400191505060405180910390fd5b9392505050565b6000808211611206576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161121157fe5b04949350505050565b6000828201838110156111a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546001600160a01b031633146110eb5760405162461bcd60e51b815260040180806020018281038252602f815260200180611650602f913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261133d9084906113e6565b505050565b600081831061135157816111a9565b5090919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526113e09085906113e6565b50505050565b6113f8826001600160a01b03166115bc565b611449576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106114a557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611468565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611507576040519150601f19603f3d011682016040523d82523d6000602084013e61150c565b606091505b509150915081611563576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156113e05780806020019051602081101561157f57600080fd5b50516113e05760405162461bcd60e51b815260040180806020018281038252602a815260200180611706602a913960400191505060405180910390fd5b3b15159056fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f64596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656443616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656443616e6e6f7420776974686472617720746865207374616b696e6720746f6b656ea265627a7a723158208b83eefb43b089806eff7784b780d70acd17c72f6018ec967b92105af81e30ee64736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe00000000000000000000000029c295b046a73cde593f21f63091b072d407e3f2000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f000000000000000000000000a9859874e1743a32409f75bb11549892138bba1e","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_rewardsDistribution","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Recovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"RewardsDurationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getRewardForDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rewardsDuration","type":"uint256"}],"name":"setRewardsDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"StakingRewardsiBTC":{"bytecode":"60806040526000600755600060085562093a8060095534801561002157600080fd5b506040516118513803806118518339818101604052608081101561004457600080fd5b5080516020820151604083015160609093015191929091836001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060016003556000546001600160a01b0316610166576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600580546001600160a01b0393841661010002610100600160a81b0319909116179055600680549183166001600160a01b03199283161790556002805493909216921691909117905550611692806101bf6000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c806372f702f31161010f578063a694fc3a116100a2578063d1af0c7d11610071578063d1af0c7d14610448578063df136d6514610450578063e9fad8ee14610458578063ebe2b12b14610460576101e4565b8063a694fc3a146103fe578063c8f33c911461041b578063cc1a378f14610423578063cd3daf9d14610440576101e4565b80638980f11f116100de5780638980f11f1461039c5780638b876347146103c85780638da5cb5b146103ee57806391b4ded9146103f6576101e4565b806372f702f31461037c57806379ba5097146103845780637b0a47ee1461038c57806380faa57d14610394576101e4565b80632e1a7d4d116101875780633fc6df6e116101565780633fc6df6e1461030e57806353a47bb7146103325780635c975abb1461033a57806370a0823114610356576101e4565b80632e1a7d4d146102c4578063386a9525146102e15780633c6b16ab146102e95780633d18b91214610306576101e4565b806316c38b3c116101c357806316c38b3c1461026f57806318160ddd1461028e57806319762143146102965780631c1f78eb146102bc576101e4565b80628cc262146101e95780630700037d146102215780631627540c14610247575b600080fd5b61020f600480360360208110156101ff57600080fd5b50356001600160a01b0316610468565b60408051918252519081900360200190f35b61020f6004803603602081101561023757600080fd5b50356001600160a01b03166104fe565b61026d6004803603602081101561025d57600080fd5b50356001600160a01b0316610510565b005b61026d6004803603602081101561028557600080fd5b5035151561056c565b61020f6105e6565b61026d600480360360208110156102ac57600080fd5b50356001600160a01b03166105ed565b61020f610617565b61026d600480360360208110156102da57600080fd5b5035610635565b61020f6107d7565b61026d600480360360208110156102ff57600080fd5b50356107dd565b61026d610a33565b610316610b71565b604080516001600160a01b039092168252519081900360200190f35b610316610b80565b610342610b8f565b604080519115158252519081900360200190f35b61020f6004803603602081101561036c57600080fd5b50356001600160a01b0316610b98565b610316610bb3565b61026d610bc2565b61020f610c7e565b61020f610c84565b61026d600480360360408110156103b257600080fd5b506001600160a01b038135169060200135610c92565b61020f600480360360208110156103de57600080fd5b50356001600160a01b0316610d4f565b610316610d61565b61020f610d70565b61026d6004803603602081101561041457600080fd5b5035610d76565b61020f610f54565b61026d6004803603602081101561043957600080fd5b5035610f5a565b61020f610fdd565b610316611037565b61020f61104b565b61026d611051565b61020f611074565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546104f891906104ec90670de0b6b3a7640000906104e0906104bb906104af610fdd565b9063ffffffff61107a16565b6001600160a01b0388166000908152600f60205260409020549063ffffffff6110d716565b9063ffffffff61113716565b9063ffffffff6111a116565b92915050565b600d6020526000908152604090205481565b6105186111fb565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6105746111fb565b60055460ff161515811515141561058a576105e3565b6005805460ff1916821515179081905560ff16156105a757426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b600e545b90565b6105f56111fb565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60006106306009546008546110d790919063ffffffff16565b905090565b600380546001019081905533610649610fdd565b600b55610654610c84565b600a556001600160a01b0381161561069b5761066f81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b600083116106e4576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b600e546106f7908463ffffffff61107a16565b600e55336000908152600f602052604090205461071a908463ffffffff61107a16565b336000818152600f6020526040902091909155600654610746916001600160a01b039091169085611244565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25060035481146107d3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050565b60095481565b6002546001600160a01b031633146108265760405162461bcd60e51b815260040180806020018281038252602a8152602001806115e9602a913960400191505060405180910390fd5b6000610830610fdd565b600b5561083b610c84565b600a556001600160a01b038116156108825761085681610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60075442106108a75760095461089f90839063ffffffff61113716565b6008556108f6565b6007546000906108bd904263ffffffff61107a16565b905060006108d6600854836110d790919063ffffffff16565b6009549091506108f0906104e0868463ffffffff6111a116565b60085550505b600554604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561094657600080fd5b505afa15801561095a573d6000803e3d6000fd5b505050506040513d602081101561097057600080fd5b505160095490915061098990829063ffffffff61113716565b60085411156109df576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b42600a8190556009546109f8919063ffffffff6111a116565b6007556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b600380546001019081905533610a47610fdd565b600b55610a52610c84565b600a556001600160a01b03811615610a9957610a6d81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b336000908152600d60205260409020548015610b1957336000818152600d6020526040812055600554610ae2916101009091046001600160a01b0316908363ffffffff61124416565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b505060035481146105e3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002546001600160a01b031681565b6001546001600160a01b031681565b60055460ff1681565b6001600160a01b03166000908152600f602052604090205490565b6006546001600160a01b031681565b6001546001600160a01b03163314610c0b5760405162461bcd60e51b81526004018080602001828103825260358152602001806115286035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60085481565b60006106304260075461129b565b610c9a6111fb565b6006546001600160a01b0383811691161415610ce75760405162461bcd60e51b815260040180806020018281038252602181526020018061163d6021913960400191505060405180910390fd5b600054610d07906001600160a01b0384811691168363ffffffff61124416565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a15050565b600c6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b600380546001019081905560055460ff1615610dc35760405162461bcd60e51b815260040180806020018281038252603c8152602001806115ad603c913960400191505060405180910390fd5b33610dcc610fdd565b600b55610dd7610c84565b600a556001600160a01b03811615610e1e57610df281610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610e64576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b600e54610e77908463ffffffff6111a116565b600e55336000908152600f6020526040902054610e9a908463ffffffff6111a116565b336000818152600f6020526040902091909155600654610ec7916001600160a01b039091169030866112b1565b60408051848152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25060035481146107d3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600a5481565b610f626111fb565b6007544211610fa25760405162461bcd60e51b81526004018080602001828103825260588152602001806114d06058913960600191505060405180910390fd5b60098190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600e5460001415610ff35750600b546105ea565b610630611028600e546104e0670de0b6b3a764000061101c60085461101c600a546104af610c84565b9063ffffffff6110d716565b600b549063ffffffff6111a116565b60055461010090046001600160a01b031681565b600b5481565b336000908152600f602052604090205461106a90610635565b611072610a33565b565b60075481565b6000828211156110d1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826110e6575060006104f8565b828202828482816110f357fe5b04146111305760405162461bcd60e51b815260040180806020018281038252602181526020018061158c6021913960400191505060405180910390fd5b9392505050565b600080821161118d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161119857fe5b04949350505050565b600082820183811015611130576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546001600160a01b031633146110725760405162461bcd60e51b815260040180806020018281038252602f81526020018061155d602f913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611296908490611311565b505050565b60008183106112aa5781611130565b5090919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261130b908590611311565b50505050565b611323826001600160a01b03166114c9565b611374576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106113b25780518252601f199092019160209182019101611393565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611414576040519150601f19603f3d011682016040523d82523d6000602084013e611419565b606091505b509150915081611470576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b80511561130b5780806020019051602081101561148c57600080fd5b505161130b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611613602a913960400191505060405180910390fd5b3b15159056fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f64596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656443616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656443616e6e6f7420776974686472617720746865207374616b696e6720746f6b656ea265627a7a723158202eb365ebf546576b24ad7d50e8e202c58cf53c658ea8db367bced21890c9efd964736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f000000000000000000000000d6014ea05bde904448b743833ddf07c3c7837481","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_rewardsDistribution","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Recovered","type":"event","signature":"0x8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Recovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event","signature":"0xde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event","signature":"0xe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"RewardsDurationUpdated","type":"event","signature":"0xfb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"RewardsDurationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event","signature":"0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x008cc262"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe9fad8ee"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3d18b912"},{"constant":true,"inputs":[],"name":"getRewardForDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x1c1f78eb"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x80faa57d"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc8f33c91"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3c6b16ab"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xebe2b12b"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8980f11f"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcd3daf9d"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdf136d65"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7b0a47ee"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0700037d"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3fc6df6e"},{"constant":true,"inputs":[],"name":"rewardsDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x386a9525"},{"constant":true,"inputs":[],"name":"rewardsDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd1af0c7d"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x19762143"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rewardsDuration","type":"uint256"}],"name":"setRewardsDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xcc1a378f"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rewardsDuration","type":"uint256"}],"name":"setRewardsDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa694fc3a"},{"constant":true,"inputs":[],"name":"stakingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x72f702f3"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18160ddd"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8b876347"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x2e1a7d4d"}]},"StakingRewardssBTCCurve":{"bytecode":"60806040526000600855600060095534801561001a57600080fd5b5060405161163b38038061163b8339818101604052608081101561003d57600080fd5b508051602082015160408301516060909301516001600081905580546001600160a01b0319166001600160a01b038084169190911790915592939192849081166100ce576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050600780546001600160a01b039283166001600160a01b03199182161790915560068054939092169216919091179055506114d2806101696000396000f3fe608060405234801561001057600080fd5b50600436106101a85760003560e01c806372f702f3116100f9578063a694fc3a11610097578063d1af0c7d11610071578063d1af0c7d146103ac578063df136d65146103b4578063e9fad8ee146103bc578063ebe2b12b146103c4576101a8565b8063a694fc3a1461037f578063c8f33c911461039c578063cd3daf9d146103a4576101a8565b806380faa57d116100d357806380faa57d1461031d5780638980f11f146103255780638b876347146103515780638da5cb5b14610377576101a8565b806372f702f31461030557806379ba50971461030d5780637b0a47ee14610315576101a8565b80631c1f78eb116101665780633d18b912116101405780633d18b912146102ab5780633fc6df6e146102b357806353a47bb7146102d757806370a08231146102df576101a8565b80631c1f78eb146102695780632e1a7d4d146102715780633c6b16ab1461028e576101a8565b80628cc262146101ad5780630700037d146101e55780631627540c1461020b57806318160ddd14610233578063197621431461023b5780631be0528914610261575b600080fd5b6101d3600480360360208110156101c357600080fd5b50356001600160a01b03166103cc565b60408051918252519081900360200190f35b6101d3600480360360208110156101fb57600080fd5b50356001600160a01b0316610452565b6102316004803603602081101561022157600080fd5b50356001600160a01b0316610464565b005b6101d3610501565b6102316004803603602081101561025157600080fd5b50356001600160a01b0316610508565b6101d3610573565b6101d361057a565b6102316004803603602081101561028757600080fd5b5035610598565b610231600480360360208110156102a457600080fd5b503561067f565b6102316107e9565b6102bb6108bb565b604080516001600160a01b039092168252519081900360200190f35b6102bb6108ca565b6101d3600480360360208110156102f557600080fd5b50356001600160a01b03166108d9565b6102bb6108f4565b610231610903565b6101d36109bf565b6101d36109c5565b6102316004803603604081101561033b57600080fd5b506001600160a01b0381351690602001356109d3565b6101d36004803603602081101561036757600080fd5b50356001600160a01b0316610cc5565b6102bb610cd7565b6102316004803603602081101561039557600080fd5b5035610ce6565b6101d3610dca565b6101d3610dd0565b6102bb610e24565b6101d3610e33565b610231610e39565b6101d3610e54565b6001600160a01b0381166000908152600d6020908152604080832054600c90925282205461044c919061044090670de0b6b3a7640000906104349061041f90610413610dd0565b9063ffffffff610e5a16565b610428886108d9565b9063ffffffff610eb716565b9063ffffffff610f1716565b9063ffffffff610f8116565b92915050565b600d6020526000908152604090205481565b6004546001600160a01b031633146104ad5760405162461bcd60e51b815260040180806020018281038252602f8152602001806113cd602f913960400191505060405180910390fd5b600580546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002545b90565b6004546001600160a01b031633146105515760405162461bcd60e51b815260040180806020018281038252602f8152602001806113cd602f913960400191505060405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b62093a8081565b6009546000906105939062093a8063ffffffff610eb716565b905090565b336105a1610dd0565b600b556105ac6109c5565b600a556001600160a01b038116156105f3576105c7816103cc565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b6000821161063c576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b61064582610fdb565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6006546001600160a01b031633146106c85760405162461bcd60e51b815260040180806020018281038252602a81526020018061144a602a913960400191505060405180910390fd5b60006106d2610dd0565b600b556106dd6109c5565b600a556001600160a01b03811615610724576106f8816103cc565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b6008544210610748576107408262093a8063ffffffff610f1716565b600955610796565b60085460009061075e904263ffffffff610e5a16565b9050600061077760095483610eb790919063ffffffff16565b905061079062093a80610434868463ffffffff610f8116565b60095550505b42600a8190556107af9062093a8063ffffffff610f8116565b6008556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b336107f2610dd0565b600b556107fd6109c5565b600a556001600160a01b0381161561084457610818816103cc565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b600061084f336103cc565b905080156108b757336000818152600d6020526040812055600754610880916001600160a01b03909116908361109e565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6001546001600160a01b031681565b6005546001600160a01b0316331461094c5760405162461bcd60e51b81526004018080602001828103825260358152602001806113986035913960400191505060405180910390fd5b600454600554604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160058054600480546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b6000610593426008546110f5565b6004546001600160a01b03163314610a1c5760405162461bcd60e51b815260040180806020018281038252602f8152602001806113cd602f913960400191505060405180910390fd5b6000826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610a5757600080fd5b505afa158015610a6b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610a9457600080fd5b8101908080516040519392919084640100000000821115610ab457600080fd5b908301906020820185811115610ac957600080fd5b8251640100000000811182820188101715610ae357600080fd5b82525081516020918201929091019080838360005b83811015610b10578181015183820152602001610af8565b50505050905090810190601f168015610b3d5780820380516001836020036101000a031916815260200191505b506040818152855160209687012082820190915260038252620a69cb60eb1b959091019490945250506001547fc33e514e79311fe606801af4b4f343c83a3b72dca711239a516f2103673922d19092149250506001600160a01b03848116911614801590610bb957506007546001600160a01b03848116911614155b8015610bc3575080155b610bfe5760405162461bcd60e51b815260040180806020018281038252602d81526020018061141d602d913960400191505060405180910390fd5b600480546040805163a9059cbb60e01b81526001600160a01b039283169381019390935260248301859052519085169163a9059cbb9160448083019260209291908290030181600087803b158015610c5557600080fd5b505af1158015610c69573d6000803e3d6000fd5b505050506040513d6020811015610c7f57600080fd5b50506040805183815290516001600160a01b038516917f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28919081900360200190a2505050565b600c6020526000908152604090205481565b6004546001600160a01b031681565b33610cef610dd0565b600b55610cfa6109c5565b600a556001600160a01b03811615610d4157610d15816103cc565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008211610d87576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b610d908261110b565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b600a5481565b6000610dda610501565b610de75750600b54610505565b610593610e15610df5610501565b610434670de0b6b3a7640000610428600954610428600a546104136109c5565b600b549063ffffffff610f8116565b6007546001600160a01b031681565b600b5481565b610e4a610e45336108d9565b610598565b610e526107e9565b565b60085481565b600082821115610eb1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610ec65750600061044c565b82820282848281610ed357fe5b0414610f105760405162461bcd60e51b81526004018080602001828103825260218152602001806113fc6021913960400191505060405180910390fd5b9392505050565b6000808211610f6d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610f7857fe5b04949350505050565b600082820183811015610f10576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000805460010190819055600254610ff9908363ffffffff610e5a16565b6002553360009081526003602052604090205461101c908363ffffffff610e5a16565b33600081815260036020526040902091909155600154611048916001600160a01b03909116908461109e565b60005481146108b7576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526110f0908490611179565b505050565b60008183106111045781610f10565b5090919050565b6000805460010190819055600254611129908363ffffffff610f8116565b6002553360009081526003602052604090205461114c908363ffffffff610f8116565b33600081815260036020526040902091909155600154611048916001600160a01b03909116903085611337565b61118b826001600160a01b0316611391565b6111dc576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061121a5780518252601f1990920191602091820191016111fb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461127c576040519150601f19603f3d011682016040523d82523d6000602084013e611281565b606091505b5091509150816112d8576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611331578080602001905160208110156112f457600080fd5b50516113315760405162461bcd60e51b815260040180806020018281038252602a815260200180611474602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611331908590611179565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616e6e6f7420776974686472617720746865207374616b696e67206f72207265776172647320746f6b656e7343616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820aada1cb1c0c82d81c5b3d0f4ff242051160255853be3a8f32dfb40eb5ca7e3ea64736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000330416c863f2acce7af9c9314b422d24c672534a000000000000000000000000075b1bb99792c9e1041ba13afef80c91a1e70fb3","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_rewardsDistribution","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Recovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":true,"inputs":[],"name":"DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getRewardForDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"StakingRewardssUSDCurve":{"bytecode":"6080604052600080546001600160a01b031990811673c25a3a3b969415c80451098fa907ec722572917f1782556005805490911673c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f17905560068190556007556100646001600160e01b036100b516565b600380546001600160a01b0319166001600160a01b0392831617908190556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36100b9565b3390565b6111d7806100c86000396000f3fe608060405234801561001057600080fd5b50600436106101575760003560e01c80638b876347116100c3578063df136d651161007c578063df136d6514610305578063e7d279981461030d578063e9fad8ee14610315578063ebe2b12b1461031d578063edc9af9514610325578063f2fde38b1461032d57610157565b80638b876347146102725780638da5cb5b146102985780638f32d59b146102bc578063a694fc3a146102d8578063c8f33c91146102f5578063cd3daf9d146102fd57610157565b80633c6b16ab116101155780633c6b16ab1461020f5780633d18b9121461022c57806370a0823114610234578063715018a61461025a5780637b0a47ee1461026257806380faa57d1461026a57610157565b80628cc2621461015c5780630700037d146101945780630d68b761146101ba57806318160ddd146101e25780631be05289146101ea5780632e1a7d4d146101f2575b600080fd5b6101826004803603602081101561017257600080fd5b50356001600160a01b0316610353565b60408051918252519081900360200190f35b610182600480360360208110156101aa57600080fd5b50356001600160a01b03166103d9565b6101e0600480360360208110156101d057600080fd5b50356001600160a01b03166103eb565b005b610182610466565b61018261046d565b6101e06004803603602081101561020857600080fd5b5035610474565b6101e06004803603602081101561022557600080fd5b503561055b565b6101e06106d5565b6101826004803603602081101561024a57600080fd5b50356001600160a01b03166107a7565b6101e06107c2565b610182610865565b61018261086b565b6101826004803603602081101561028857600080fd5b50356001600160a01b031661087e565b6102a0610890565b604080516001600160a01b039092168252519081900360200190f35b6102c461089f565b604080519115158252519081900360200190f35b6101e0600480360360208110156102ee57600080fd5b50356108c5565b6101826109a9565b6101826109af565b610182610a03565b6102a0610a09565b6101e0610a18565b610182610a33565b6102a0610a39565b6101e06004803603602081101561034357600080fd5b50356001600160a01b0316610a48565b6001600160a01b0381166000908152600b6020908152604080832054600a9092528220546103d391906103c790670de0b6b3a7640000906103bb906103a69061039a6109af565b9063ffffffff610aad16565b6103af886107a7565b9063ffffffff610af616565b9063ffffffff610b4f16565b9063ffffffff610b9116565b92915050565b600b6020526000908152604090205481565b6103f361089f565b610444576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6001545b90565b62093a8081565b3361047d6109af565b60095561048861086b565b6008556001600160a01b038116156104cf576104a381610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b60008211610518576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b61052182610beb565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6004546001600160a01b031661056f610c4c565b6001600160a01b0316146105b45760405162461bcd60e51b81526004018080602001828103825260218152602001806111586021913960400191505060405180910390fd5b60006105be6109af565b6009556105c961086b565b6008556001600160a01b03811615610610576105e481610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b60065442106106345761062c8262093a8063ffffffff610b4f16565b600755610682565b60065460009061064a904263ffffffff610aad16565b9050600061066360075483610af690919063ffffffff16565b905061067c62093a806103bb868463ffffffff610b9116565b60075550505b42600881905561069b9062093a8063ffffffff610b9116565b6006556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b336106de6109af565b6009556106e961086b565b6008556001600160a01b038116156107305761070481610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b600061073b33610353565b905080156107a357336000818152600b602052604081205560055461076c916001600160a01b039091169083610c50565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6001600160a01b031660009081526002602052604090205490565b6107ca61089f565b61081b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60075481565b600061087942600654610ca7565b905090565b600a6020526000908152604090205481565b6003546001600160a01b031690565b6003546000906001600160a01b03166108b6610c4c565b6001600160a01b031614905090565b336108ce6109af565b6009556108d961086b565b6008556001600160a01b03811615610920576108f481610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b60008211610966576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b61096f82610cbd565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b60085481565b60006109b9610466565b6109c6575060095461046a565b6108796109f46109d4610466565b6103bb670de0b6b3a76400006103af6007546103af60085461039a61086b565b6009549063ffffffff610b9116565b60095481565b6005546001600160a01b031681565b610a29610a24336107a7565b610474565b610a316106d5565b565b60065481565b6000546001600160a01b031681565b610a5061089f565b610aa1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610aaa81610d1f565b50565b6000610aef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dc0565b9392505050565b600082610b05575060006103d3565b82820282848281610b1257fe5b0414610aef5760405162461bcd60e51b81526004018080602001828103825260218152602001806111376021913960400191505060405180910390fd5b6000610aef83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610e57565b600082820183811015610aef576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600154610bfe908263ffffffff610aad16565b60015533600090815260026020526040902054610c21908263ffffffff610aad16565b336000818152600260205260408120929092559054610aaa916001600160a01b039091169083610c50565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ca2908490610ebc565b505050565b6000818310610cb65781610aef565b5090919050565b600154610cd0908263ffffffff610b9116565b60015533600090815260026020526040902054610cf3908263ffffffff610b9116565b336000818152600260205260408120929092559054610aaa916001600160a01b0390911690308461107a565b6001600160a01b038116610d645760405162461bcd60e51b81526004018080602001828103825260268152602001806111116026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b60008184841115610e4f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e14578181015183820152602001610dfc565b50505050905090810190601f168015610e415780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610ea65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e14578181015183820152602001610dfc565b506000838581610eb257fe5b0495945050505050565b610ece826001600160a01b03166110d4565b610f1f576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610f5d5780518252601f199092019160209182019101610f3e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610fbf576040519150601f19603f3d011682016040523d82523d6000602084013e610fc4565b606091505b50915091508161101b576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156110745780806020019051602081101561103757600080fd5b50516110745760405162461bcd60e51b815260040180806020018281038252602a815260200180611179602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611074908590610ebc565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906111085750808214155b94935050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616c6c6572206973206e6f742072657761726420646973747269627574696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820ac3d908b8371db272b8a856f99dd80208a2c371be945ec2abe26af8cb455e71064736f6c63430005100032","abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":true,"inputs":[],"name":"DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardDistribution","type":"address"}],"name":"setRewardDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"snx","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"uni","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"StakingRewardssXAUUniswapV2":{"bytecode":"60806040526000600855600060095534801561001a57600080fd5b506040516112843803806112848339818101604052606081101561003d57600080fd5b50805160208201516040909201516001600081905580546001600160a01b0319166001600160a01b0380841691909117909155919291839081166100c8576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050600780546001600160a01b0319166001600160a01b039290921691909117905550611130806101546000396000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c806372f702f3116100de578063a694fc3a11610097578063d1af0c7d11610071578063d1af0c7d14610342578063df136d651461034a578063e9fad8ee14610352578063ebe2b12b1461035a57610172565b8063a694fc3a14610315578063c8f33c9114610332578063cd3daf9d1461033a57610172565b806372f702f3146102c757806379ba5097146102cf5780637b0a47ee146102d757806380faa57d146102df5780638b876347146102e75780638da5cb5b1461030d57610172565b80632e1a7d4d116101305780632e1a7d4d146102335780633c6b16ab146102505780633d18b9121461026d5780633fc6df6e1461027557806353a47bb71461029957806370a08231146102a157610172565b80628cc262146101775780630700037d146101af5780631627540c146101d557806318160ddd146101fd57806319762143146102055780631be052891461022b575b600080fd5b61019d6004803603602081101561018d57600080fd5b50356001600160a01b0316610362565b60408051918252519081900360200190f35b61019d600480360360208110156101c557600080fd5b50356001600160a01b03166103e8565b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166103fa565b005b61019d610497565b6101fb6004803603602081101561021b57600080fd5b50356001600160a01b031661049e565b61019d610509565b6101fb6004803603602081101561024957600080fd5b5035610510565b6101fb6004803603602081101561026657600080fd5b50356105f7565b6101fb610761565b61027d610833565b604080516001600160a01b039092168252519081900360200190f35b61027d610842565b61019d600480360360208110156102b757600080fd5b50356001600160a01b0316610851565b61027d61086c565b6101fb61087b565b61019d610937565b61019d61093d565b61019d600480360360208110156102fd57600080fd5b50356001600160a01b0316610950565b61027d610962565b6101fb6004803603602081101561032b57600080fd5b5035610971565b61019d610a55565b61019d610a5b565b61027d610aaf565b61019d610abe565b6101fb610ac4565b61019d610adf565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546103e291906103d690670de0b6b3a7640000906103ca906103b5906103a9610a5b565b9063ffffffff610ae516565b6103be88610851565b9063ffffffff610b4216565b9063ffffffff610ba216565b9063ffffffff610c0c16565b92915050565b600d6020526000908152604090205481565b6004546001600160a01b031633146104435760405162461bcd60e51b815260040180806020018281038252602f815260200180611058602f913960400191505060405180910390fd5b600580546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002545b90565b6004546001600160a01b031633146104e75760405162461bcd60e51b815260040180806020018281038252602f815260200180611058602f913960400191505060405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b62093a8081565b33610519610a5b565b600b5561052461093d565b600a556001600160a01b0381161561056b5761053f81610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b600082116105b4576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b6105bd82610c66565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6006546001600160a01b031633146106405760405162461bcd60e51b815260040180806020018281038252602a8152602001806110a8602a913960400191505060405180910390fd5b600061064a610a5b565b600b5561065561093d565b600a556001600160a01b0381161561069c5761067081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60085442106106c0576106b88262093a8063ffffffff610ba216565b60095561070e565b6008546000906106d6904263ffffffff610ae516565b905060006106ef60095483610b4290919063ffffffff16565b905061070862093a806103ca868463ffffffff610c0c16565b60095550505b42600a8190556107279062093a8063ffffffff610c0c16565b6008556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b3361076a610a5b565b600b5561077561093d565b600a556001600160a01b038116156107bc5761079081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60006107c733610362565b9050801561082f57336000818152600d60205260408120556007546107f8916001600160a01b039091169083610d29565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6001546001600160a01b031681565b6005546001600160a01b031633146108c45760405162461bcd60e51b81526004018080602001828103825260358152602001806110236035913960400191505060405180910390fd5b600454600554604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160058054600480546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b600061094b42600854610d80565b905090565b600c6020526000908152604090205481565b6004546001600160a01b031681565b3361097a610a5b565b600b5561098561093d565b600a556001600160a01b038116156109cc576109a081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008211610a12576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b610a1b82610d96565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b600a5481565b6000610a65610497565b610a725750600b5461049b565b61094b610aa0610a80610497565b6103ca670de0b6b3a76400006103be6009546103be600a546103a961093d565b600b549063ffffffff610c0c16565b6007546001600160a01b031681565b600b5481565b610ad5610ad033610851565b610510565b610add610761565b565b60085481565b600082821115610b3c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610b51575060006103e2565b82820282848281610b5e57fe5b0414610b9b5760405162461bcd60e51b81526004018080602001828103825260218152602001806110876021913960400191505060405180910390fd5b9392505050565b6000808211610bf8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610c0357fe5b04949350505050565b600082820183811015610b9b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000805460010190819055600254610c84908363ffffffff610ae516565b60025533600090815260036020526040902054610ca7908363ffffffff610ae516565b33600081815260036020526040902091909155600154610cd3916001600160a01b039091169084610d29565b600054811461082f576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d7b908490610e04565b505050565b6000818310610d8f5781610b9b565b5090919050565b6000805460010190819055600254610db4908363ffffffff610c0c16565b60025533600090815260036020526040902054610dd7908363ffffffff610c0c16565b33600081815260036020526040902091909155600154610cd3916001600160a01b03909116903085610fc2565b610e16826001600160a01b031661101c565b610e67576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610ea55780518252601f199092019160209182019101610e86565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610f07576040519150601f19603f3d011682016040523d82523d6000602084013e610f0c565b606091505b509150915081610f63576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610fbc57808060200190516020811015610f7f57600080fd5b5051610fbc5760405162461bcd60e51b815260040180806020018281038252602a8152602001806110d2602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610fbc908590610e04565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a7231582087be768b68397d569f14b37b446f70ed273134df91e3555eecbbba3ae1d8423164736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f00000000000000000000000034a0216c5057bc18e5d34d4405284564efd759b2","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":true,"inputs":[],"name":"DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"StakingRewardssETHUniswapV1":{"bytecode":"6080604052600080546001600160a01b031990811673e9cf7887b93150d4f2da7dfc6d502b216438f2441782556005805490911673c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f17905560068190556007556100626100b3602090811b901c565b600380546001600160a01b0319166001600160a01b0392831617908190556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36100b7565b3390565b611230806100c66000396000f3fe608060405234801561001057600080fd5b50600436106101575760003560e01c80638b876347116100c3578063df136d651161007c578063df136d6514610305578063e7d279981461030d578063e9fad8ee14610315578063ebe2b12b1461031d578063edc9af9514610325578063f2fde38b1461032d57610157565b80638b876347146102725780638da5cb5b146102985780638f32d59b146102bc578063a694fc3a146102d8578063c8f33c91146102f5578063cd3daf9d146102fd57610157565b80633c6b16ab116101155780633c6b16ab1461020f5780633d18b9121461022c57806370a0823114610234578063715018a61461025a5780637b0a47ee1461026257806380faa57d1461026a57610157565b80628cc2621461015c5780630700037d146101945780630d68b761146101ba57806318160ddd146101e25780631be05289146101ea5780632e1a7d4d146101f2575b600080fd5b6101826004803603602081101561017257600080fd5b50356001600160a01b0316610353565b60408051918252519081900360200190f35b610182600480360360208110156101aa57600080fd5b50356001600160a01b03166103d9565b6101e0600480360360208110156101d057600080fd5b50356001600160a01b03166103eb565b005b61018261046b565b610182610472565b6101e06004803603602081101561020857600080fd5b5035610479565b6101e06004803603602081101561022557600080fd5b503561056e565b6101e06106eb565b6101826004803603602081101561024a57600080fd5b50356001600160a01b03166107bd565b6101e06107d8565b610182610880565b610182610886565b6101826004803603602081101561028857600080fd5b50356001600160a01b0316610899565b6102a06108ab565b604080516001600160a01b039092168252519081900360200190f35b6102c46108ba565b604080519115158252519081900360200190f35b6101e0600480360360208110156102ee57600080fd5b50356108e0565b6101826109d5565b6101826109db565b610182610a31565b6102a0610a37565b6101e0610a46565b610182610a61565b6102a0610a67565b6101e06004803603602081101561034357600080fd5b50356001600160a01b0316610a76565b6001600160a01b0381166000908152600b6020908152604080832054600a9092528220546103d391906103c790670de0b6b3a7640000906103bb906103a69061039a6109db565b9063ffffffff610ae016565b6103af886107bd565b9063ffffffff610b2916565b9063ffffffff610b8916565b9063ffffffff610bcb16565b92915050565b600b6020526000908152604090205481565b6103f36108ba565b15156104495760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6001545b90565b62093a8081565b336104826109db565b60095561048d610886565b6008556001600160a01b038116156104d4576104a881610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b81151561052b5760408051600160e51b62461bcd02815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b61053482610c28565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6004546001600160a01b0316610582610c89565b6001600160a01b0316146105ca57604051600160e51b62461bcd0281526004018080602001828103825260218152602001806111ba6021913960400191505060405180910390fd5b60006105d46109db565b6009556105df610886565b6008556001600160a01b03811615610626576105fa81610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b600654421061064a576106428262093a8063ffffffff610b8916565b600755610698565b600654600090610660904263ffffffff610ae016565b9050600061067960075483610b2990919063ffffffff16565b905061069262093a806103bb868463ffffffff610bcb16565b60075550505b4260088190556106b19062093a8063ffffffff610bcb16565b6006556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b336106f46109db565b6009556106ff610886565b6008556001600160a01b038116156107465761071a81610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b600061075133610353565b905080156107b957336000818152600b6020526040812055600554610782916001600160a01b039091169083610c8d565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6001600160a01b031660009081526002602052604090205490565b6107e06108ba565b15156108365760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60075481565b600061089442600654610ce7565b905090565b600a6020526000908152604090205481565b6003546001600160a01b031690565b6003546000906001600160a01b03166108d1610c89565b6001600160a01b031614905090565b336108e96109db565b6009556108f4610886565b6008556001600160a01b0381161561093b5761090f81610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b8115156109925760408051600160e51b62461bcd02815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b61099b82610cfd565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b60085481565b60006109e561046b565b15156109f4575060095461046f565b610894610a22610a0261046b565b6103bb670de0b6b3a76400006103af6007546103af60085461039a610886565b6009549063ffffffff610bcb16565b60095481565b6005546001600160a01b031681565b610a57610a52336107bd565b610479565b610a5f6106eb565b565b60065481565b6000546001600160a01b031681565b610a7e6108ba565b1515610ad45760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610add81610d5f565b50565b6000610b2283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e05565b9392505050565b6000821515610b3a575060006103d3565b828202828482811515610b4957fe5b0414610b2257604051600160e51b62461bcd0281526004018080602001828103825260218152602001806111996021913960400191505060405180910390fd5b6000610b2283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610e9f565b600082820183811015610b225760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600154610c3b908263ffffffff610ae016565b60015533600090815260026020526040902054610c5e908263ffffffff610ae016565b336000818152600260205260408120929092559054610add916001600160a01b039091169083610c8d565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0316600160e01b63a9059cbb02179052610ce2908490610f0c565b505050565b6000818310610cf65781610b22565b5090919050565b600154610d10908263ffffffff610bcb16565b60015533600090815260026020526040902054610d33908263ffffffff610bcb16565b336000818152600260205260408120929092559054610add916001600160a01b039091169030846110d9565b6001600160a01b0381161515610da957604051600160e51b62461bcd0281526004018080602001828103825260268152602001806111736026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b60008184841115610e9757604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e5c578181015183820152602001610e44565b50505050905090810190601f168015610e895780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081831515610ef457604051600160e51b62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610e5c578181015183820152602001610e44565b5060008385811515610f0257fe5b0495945050505050565b610f1e826001600160a01b0316611136565b1515610f745760408051600160e51b62461bcd02815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610fb25780518252601f199092019160209182019101610f93565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611014576040519150601f19603f3d011682016040523d82523d6000602084013e611019565b606091505b50915091508115156110755760408051600160e51b62461bcd02815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156110d35780806020019051602081101561109157600080fd5b505115156110d357604051600160e51b62461bcd02815260040180806020018281038252602a8152602001806111db602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b0316600160e01b6323b872dd021790526110d3908590610f0c565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470811580159061116a5750808214155b94935050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616c6c6572206973206e6f742072657761726420646973747269627574696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a72305820a31ce0ab98673203ad395f924478fa9cad0f69135c2d8ce70f4c060a6fc9fbf40029","abi":[{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"earned","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"rewards","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_rewardDistribution","type":"address"}],"name":"setRewardDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DURATION","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"snx","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"uni","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]},"SafeDecimalMath":{"bytecode":"610159610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f300730000000000000000000000000000000000000000301460806040526004361061008e5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663313ce5678114610093578063864029e7146100b1578063907af6c0146100cb5780639d8e2177146100d3578063d5e5e6e6146100db578063def4419d146100e3575b600080fd5b61009b6100eb565b6040805160ff9092168252519081900360200190f35b6100b96100f0565b60408051918252519081900360200190f35b6100b9610100565b6100b961010c565b6100b9610118565b61009b610128565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b815600a165627a7a72305820023667048c98fe84ef9364636c69b3c394dbd0f47bddf5fb1ecd6c0a341f9b840029","abi":[{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x313ce567"},{"constant":true,"inputs":[],"name":"PRECISE_UNIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x864029e7"},{"constant":true,"inputs":[],"name":"unit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function","signature":"0x907af6c0"},{"constant":true,"inputs":[],"name":"UNIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9d8e2177"},{"constant":true,"inputs":[],"name":"preciseUnit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function","signature":"0xd5e5e6e6"},{"constant":true,"inputs":[],"name":"highPrecisionDecimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdef4419d"}]},"ExchangeRates":{"bytecode":"60806040523480156200001157600080fd5b5060405162004ffd38038062004ffd833981810160405260a08110156200003757600080fd5b8151602083015160408085015160608601805192519496939591949391820192846401000000008211156200006b57600080fd5b9083019060208201858111156200008157600080fd5b82518660208202830111640100000000821117156200009f57600080fd5b82525081516020918201928201910280838360005b83811015620000ce578181015183820152602001620000b4565b5050505090500160405260200180516040519392919084640100000000821115620000f857600080fd5b9083019060208201858111156200010e57600080fd5b82518660208202830111640100000000821117156200012c57600080fd5b82525081516020918201928201910280838360005b838110156200015b57818101518382015260200162000141565b5050505090500160405250505082808660006001600160a01b0316816001600160a01b03161415620001d4576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055508051825114620002905760405162461bcd60e51b815260040180806020018281038252602f81526020018062004f0b602f913960400191505060405180910390fd5b83600560006101000a8154816001600160a01b0302191690836001600160a01b0316021790555062000346631cd554d160e21b73__$81fd87b331096e90074cc3e2c16d5bc3ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030857600080fd5b505af41580156200031d573d6000803e3d6000fd5b505050506040513d60208110156200033457600080fd5b5051426001600160e01b036200036816565b6200035c8282426001600160e01b03620003e116565b50505050505062000c13565b6000838152600b60209081526040808320805460010190819055815180830183526001600160d81b03968716815264ffffffffff958616818501908152978552600484528285209185529252909120905181549451909216600160d81b029183166001600160d81b031990941693909317909116179055565b60008251845114620004255760405162461bcd60e51b815260040180806020018281038252603881526020018062004f8c6038913960400191505060405180910390fd5b610258420182106200047e576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015620005975760008582815181106200049a57fe5b60200260200101519050848281518110620004b157fe5b602002602001015160001415620004fa5760405162461bcd60e51b815260040180806020018281038252603981526020018062004fc46039913960400191505060405180910390fd5b80631cd554d160e21b1415620005425760405162461bcd60e51b815260040180806020018281038252603181526020018062004f3a6031913960400191505060405180910390fd5b62000556816001600160e01b036200066216565b8410156200056557506200058e565b6200058c818684815181106200057757fe5b6020026020010151866200036860201b60201c565b505b60010162000481565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101562000601578181015183820152602001620005e7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156200064257818101518382015260200162000628565b5050505090500194505050505060405180910390a15060015b9392505050565b600062000678826001600160e01b036200068b16565b6020015164ffffffffff1690505b919050565b6200069562000bc9565b6000828152600660205260409020546001600160a01b03168015620008315760408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b1781529151815191926000926060926001600160a01b0387169286928291908083835b602083106200071d5780518252601f199092019160209182019101620006fc565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d80600081146200077f576040519150601f19603f3d011682016040523d82523d6000602084013e62000784565b606091505b50915091508115620008285760008060008380602001905160a0811015620007ab57600080fd5b50805160208201516060909201516040805180820190915291955091935090915080620008008b620007e781876001600160e01b03620008dd16565b6001600160501b0388166001600160e01b03620009aa16565b6001600160d81b031681526020018264ffffffffff1681525097505050505050505062000686565b505050620008d7565b6000838152600b60205260409020546200084a62000bc9565b5060008481526004602090815260408083208484528252918290208251808401845290546001600160d81b038082168352600160d81b90910464ffffffffff1692820192909252825180840190935280519092918291620008af9189911686620009aa565b6001600160d81b03168152602001826020015164ffffffffff16815250935050505062000686565b50919050565b60008082121562000935576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526007602052604090205460ff1615620009a1576000838152600760209081526040822054620009799160129160ff169062003f6962000b0d821b17901c565b600a0a905062000998818462000b6b60201b620037e31790919060201c565b915050620009a4565b50805b92915050565b6000620009b662000be0565b50600084815260096020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff808216151560608501526101009091041615156080830152158062000a17575083155b1562000a2757839150506200065b565b6000858152600c602052604090205484925080841080159062000a4b575081606001515b1562000a5e578160200151925062000b04565b80841015801562000a70575081608001515b1562000a83578160400151925062000b04565b600062000aa46002846000015162000b6b60201b620037e31790919060201c565b905085811162000ab8576000935062000ad5565b62000ad2868262000b0d60201b62003f691790919060201c565b93505b8260200151841062000aee578260200151935062000b02565b8260400151841162000b0257826040015193505b505b50509392505050565b60008282111562000b65576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008262000b7c57506000620009a4565b8282028284828162000b8a57fe5b04146200065b5760405162461bcd60e51b815260040180806020018281038252602181526020018062004f6b6021913960400191505060405180910390fd5b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b6142e88062000c236000396000f3fe608060405234801561001057600080fd5b50600436106103145760003560e01c8063654a60ac116101a7578063935f4abd116100ee578063c2c8a67611610097578063ce8480ea11610071578063ce8480ea14610c2a578063de02795e14610c47578063fdadbc7e14610c6457610314565b8063c2c8a67614610ace578063c8e5bbd514610b3e578063c8e6f39514610c0d57610314565b8063b199c764116100c8578063b199c7641461099a578063b295ad34146109d9578063bfa005ce14610a0c57610314565b8063935f4abd14610943578063ac82f60814610960578063af3aea861461097d57610314565b80637adbf973116101505780638295016a1161012a5780638295016a146108ec578063899ffef4146109335780638da5cb5b1461093b57610314565b80637adbf973146108945780637dc0d1d0146108c75780637f6e9d15146108cf57610314565b80637418536011610181578063741853601461086757806379ba50971461086f5780637a018a1e1461087757610314565b8063654a60ac146107d55780637103353e146107fe578063728dec291461081b57610314565b80632af64bd31161026b5780633f0e084f116102145780634c36b837116101ee5780634c36b837146107a85780634f72def6146107b057806353a47bb7146107cd57610314565b80633f0e084f1461071c5780634308a94f14610755578063459388491461078b57610314565b80632ea913d4116102455780632ea913d4146106c55780633375fcd1146106e257806338aa1b99146106ff57610314565b80632af64bd3146105e45780632bed9e0c146105ec5780632d7371e11461060957610314565b80630ee4951b116102cd5780632528f0fe116102a75780632528f0fe1461055f578063266da16b1461057c5780632678df96146105b157610314565b80630ee4951b146104e1578063109e46a2146104fb5780631627540c1461052a57610314565b806305a046e5116102fe57806305a046e51461037b5780630a7d36d11461043b5780630c71cd23146104ab57610314565b80629919c01461031957806304f3bcec1461034a575b600080fd5b6103366004803603602081101561032f57600080fd5b5035610c87565b604080519115158252519081900360200190f35b610352610ca2565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6103eb6004803603602081101561039157600080fd5b8101906020810181356401000000008111156103ac57600080fd5b8201836020820111156103be57600080fd5b803590602001918460208302840111640100000000831117156103e057600080fd5b509092509050610cbe565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561042757818101518382015260200161040f565b505050509050019250505060405180910390f35b6103366004803603602081101561045157600080fd5b81019060208101813564010000000081111561046c57600080fd5b82018360208201111561047e57600080fd5b803590602001918460208302840111640100000000831117156104a057600080fd5b509092509050610d40565b6104c8600480360360208110156104c157600080fd5b5035610df3565b6040805192835290151560208301528051918290030190f35b6104e9610eb9565b60408051918252519081900360200190f35b6104e96004803603608081101561051157600080fd5b5080359060208101359060408101359060600135610ec9565b61055d6004803603602081101561054057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f0c565b005b6103366004803603602081101561057557600080fd5b5035610f8d565b6104e9600480360360a081101561059257600080fd5b5080359060208101359060408101359060608101359060800135610fad565b6103eb600480360360208110156105c757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661101a565b6103366110db565b61055d6004803603602081101561060257600080fd5b5035611225565b61062c6004803603604081101561061f57600080fd5b5080359060200135611371565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610670578181015183820152602001610658565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156106af578181015183820152602001610697565b5050505090500194505050505060405180910390f35b6104e9600480360360208110156106db57600080fd5b5035611462565b610336600480360360208110156106f857600080fd5b5035611480565b6103366004803603602081101561071557600080fd5b5035611546565b61055d6004803603604081101561073257600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16611554565b6107726004803603602081101561076b57600080fd5b5035611804565b6040805192835260208301919091528051918290030190f35b61055d600480360360208110156107a157600080fd5b5035611850565b61035261193d565b6104e9600480360360208110156107c657600080fd5b5035611947565b610352611954565b6104e9600480360360608110156107eb57600080fd5b5080359060208101359060400135611970565b6103526004803603602081101561081457600080fd5b5035611988565b6108386004803603602081101561083157600080fd5b50356119b0565b604080519586526020860194909452848401929092521515606084015215156080830152519081900360a00190f35b61055d6119e3565b61055d611bf6565b6104e96004803603602081101561088d57600080fd5b5035611cf1565b61055d600480360360208110156108aa57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611cfc565b610352611d83565b6104e9600480360360208110156108e557600080fd5b5035611d9f565b6109156004803603606081101561090257600080fd5b5080359060208101359060400135611db1565b60408051938452602084019290925282820152519081900360600190f35b6103eb611dd1565b610352611e4d565b6104e96004803603602081101561095957600080fd5b5035611e69565b6104e96004803603602081101561097657600080fd5b5035611e7b565b6103366004803603602081101561099357600080fd5b5035611eaa565b61055d600480360360c08110156109b057600080fd5b50803590602081013590604081013590606081013590608081013515159060a001351515611eb5565b6109f6600480360360208110156109ef57600080fd5b503561228a565b6040805160ff9092168252519081900360200190f35b61033660048036036060811015610a2257600080fd5b810190602081018135640100000000811115610a3d57600080fd5b820183602082011115610a4f57600080fd5b80359060200191846020830284011164010000000083111715610a7157600080fd5b919390929091602081019035640100000000811115610a8f57600080fd5b820183602082011115610aa157600080fd5b80359060200191846020830284011164010000000083111715610ac357600080fd5b91935091503561229f565b6103eb60048036036020811015610ae457600080fd5b810190602081018135640100000000811115610aff57600080fd5b820183602082011115610b1157600080fd5b80359060200191846020830284011164010000000083111715610b3357600080fd5b509092509050612322565b610bae60048036036020811015610b5457600080fd5b810190602081018135640100000000811115610b6f57600080fd5b820183602082011115610b8157600080fd5b80359060200191846020830284011164010000000083111715610ba357600080fd5b50909250905061239a565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015610bf8578181015183820152602001610be0565b50505050905001935050505060405180910390f35b61055d60048036036020811015610c2357600080fd5b503561250e565b6104e960048036036020811015610c4057600080fd5b503561261c565b61055d60048036036020811015610c5d57600080fd5b5035612627565b61077260048036036040811015610c7a57600080fd5b508035906020013561284f565b6000610c9a82610c95612867565b61293a565b90505b919050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60608083839050604051908082528060200260200182016040528015610cee578160200160208202803883390190505b50905060005b83811015610d3657610d17858583818110610d0b57fe5b90506020020135612985565b828281518110610d2357fe5b6020908102919091010152600101610cf4565b5090505b92915050565b600080610d4b612867565b90506060610d8b8585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506129a192505050565b905060005b84811015610de757818181518110610da457fe5b602002602001015180610dce5750610dce868683818110610dc157fe5b905060200201358461293a565b15610ddf5760019350505050610d3a565b600101610d90565b50600095945050505050565b600080610dfe614030565b610e0784612c4f565b9050837f73555344000000000000000000000000000000000000000000000000000000001415610e5a57517affffffffffffffffffffffffffffffffffffffffffffffffffffff16915060009050610eb4565b8051610e78610e67612867565b836020015164ffffffffff16612f32565b80610e8f5750610e8f85610e8a612f4d565b612fef565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff90911693509150505b915091565b6000610ec3612867565b90505b90565b600083815b610edb8783600101613127565b915050801580610eec575083850181115b15610ef957509050610f04565b600190910190610ece565b949350505050565b610f1461338f565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610f9b82610c95612867565b80610c9a5750610c9a82610e8a612f4d565b600083861415610fbe575083611011565b6000610fca8785613127565b5090506000610fd98685613127565b50905080610fec57600092505050611011565b61100c81611000898563ffffffff6133e716565b9063ffffffff6133fc16565b925050505b95945050505050565b60085460408051828152602080840282010190915260609160009190801561104c578160200160208202803883390190505b50915060005b6008548110156110d45760006008828154811061106b57fe5b6000918252602080832090910154808352600690915260409091205490915073ffffffffffffffffffffffffffffffffffffffff90811690861614156110cb57808484806001019550815181106110be57fe5b6020026020010181815250505b50600101611052565b5050919050565b600060606110e7611dd1565b905060005b815181101561121c57600082828151811061110357fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a72100000000000000000000000000000000000000000000000000000000815260048101859052925193955073ffffffffffffffffffffffffffffffffffffffff918216949116926321f8a721926024808201939291829003018186803b15801561119157600080fd5b505afa1580156111a5573d6000803e3d6000fd5b505050506040513d60208110156111bb57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff16141580611202575060008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff16155b156112135760009350505050610ec6565b506001016110ec565b50600191505090565b61122d61338f565b60008181526006602052604090205473ffffffffffffffffffffffffffffffffffffffff16806112a4576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b657900000000604482015290519081900360640190fd5b600082815260066020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556007909152812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055611313836008613411565b9050801561136c576040805184815273ffffffffffffffffffffffffffffffffffffffff8416602082015281517fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777929181900390910190a15b505050565b6060808260405190808252806020026020018201604052801561139e578160200160208202803883390190505b509150826040519080825280602002602001820160405280156113cb578160200160208202803883390190505b50905060006113d9856134f1565b905060005b84811015611458576113f08683613127565b8583815181106113fc57fe5b6020026020010185848151811061140f57fe5b6020908102919091010191909152528161142b575061145b9050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101906001016113de565b50505b9250929050565b600a818154811061146f57fe5b600091825260209091200154905081565b600061148a614047565b50600082815260096020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff80821615156060850152610100909104161515608083015215806114ed575080606001515b806114f9575080608001515b15611508576000915050610c9d565b600061151384611e7b565b90506000811180156115375750816020015181101580611537575081604001518111155b92505050610c9d565b50919050565b6000610c9a82610e8a612f4d565b61155c61338f565b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b1580156115a957600080fd5b505afa1580156115bd573d6000803e3d6000fd5b505050506040513d60208110156115d357600080fd5b50511015611628576040805162461bcd60e51b815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c69640000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561167057600080fd5b505afa158015611684573d6000803e3d6000fd5b505050506040513d602081101561169a57600080fd5b50519050601260ff821611156116e15760405162461bcd60e51b81526004018080602001828103825260328152602001806142226032913960400191505060405180910390fd5b60008481526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1661174057600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3018490555b600084815260066020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155600783529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff861617905580518781529182019290925281517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63929181900390910190a150505050565b60008061180f614030565b61181884612c4f565b80516020909101517affffffffffffffffffffffffffffffffffffffffffffffffffffff909116935064ffffffffff16915050915091565b6118586135ad565b600061186382611e7b565b116118b5576040805162461bcd60e51b815260206004820152600c60248201527f52617465206973207a65726f0000000000000000000000000000000000000000604482015290519081900360640190fd5b6000818152600460209081526040808320600b808452828520805486529184528285208590559385905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909255815183815291517fe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae19281900390910190a150565b6000610ec3612f4d565b6008818154811061146f57fe5b60015473ffffffffffffffffffffffffffffffffffffffff1681565b600061197d848484613603565b509095945050505050565b60066020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60096020526000908152604090208054600182015460028301546003909301549192909160ff8082169161010090041685565b60606119ed611dd1565b905060005b8151811015611bf2576000828281518110611a0957fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d840152815195975060009673ffffffffffffffffffffffffffffffffffffffff9095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611ae5578181015183820152602001611acd565b50505050905090810190601f168015611b125780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015611b3057600080fd5b505afa158015611b44573d6000803e3d6000fd5b505050506040513d6020811015611b5a57600080fd5b505160008381526003602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016119f2565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611c4c5760405162461bcd60e51b81526004018080602001828103825260358152602001806140b86035913960400191505060405180910390fd5b6000546001546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b6000610c9a826134f1565b611d0461338f565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179182905560408051929091168252517f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394916020908290030190a150565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020526000908152604090205481565b6000806000611dc1868686613603565b9250925092505b93509350939050565b606080611ddc613655565b60408051600180825281830190925291925060609190602080830190803883390190505090507f45786368616e676572000000000000000000000000000000000000000000000081600081518110611e3057fe5b602002602001018181525050611e4682826136b4565b9250505090565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020526000908152604090205481565b6000611e8682612c4f565b517affffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b6000610c9a82613770565b611ebd61338f565b60008311611f12576040805162461bcd60e51b815260206004820152601a60248201527f6c6f7765724c696d6974206d7573742062652061626f76652030000000000000604482015290519081900360640190fd5b848411611f505760405162461bcd60e51b815260040180806020018281038252602781526020018061428d6027913960400191505060405180910390fd5b611f6185600263ffffffff6137e316565b8410611f9e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806141f4602e913960400191505060405180910390fd5b848310611fdc5760405162461bcd60e51b81526004018080602001828103825260278152602001806141cd6027913960400191505060405180910390fd5b818015611fe65750805b15612038576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f7420667265657a6520617420626f7468206c696d69747300000000604482015290519081900360640190fd5b6000868152600960205260409020805461208257600a80546001810182556000919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8018790555b8581556001810185905560028101849055828061209c5750815b15612171576003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841515177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100841515021790556000612104886134f1565b6000898152600c6020526040902081905590507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df088856121445786612146565b875b604080519283526020830191909152818101849052336060830152519081900360800190a1506121ab565b6003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556000878152600c60205260408120555b60006121b688611e7b565b90508015612239576121c661383c565b73ffffffffffffffffffffffffffffffffffffffff1663ce09694089836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561222057600080fd5b505af1158015612234573d6000803e3d6000fd5b505050505b60408051898152602081018990528082018890526060810187905290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050505050505050565b60076020526000908152604090205460ff1681565b60006122a96135ad565b61231886868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808a02828101820190935289825290935089925088918291850190849080828437600092019190915250879250613867915050565b9695505050505050565b60608083839050604051908082528060200260200182016040528015612352578160200160208202803883390190505b50905060005b83811015610d365761237b85858381811061236f57fe5b90506020020135611e7b565b82828151811061238757fe5b6020908102919091010152600101612358565b60606000838390506040519080825280602002602001820160405280156123cb578160200160208202803883390190505b50915060006123d8612867565b905060606124188686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506129a192505050565b905060005b858110156125045761242d614030565b61244888888481811061243c57fe5b90506020020135612c4f565b905080600001517affffffffffffffffffffffffffffffffffffffffffffffffffffff1686838151811061247857fe5b602002602001018181525050841580156124c4575087878381811061249957fe5b905060200201357f735553440000000000000000000000000000000000000000000000000000000014155b156124fb578282815181106124d557fe5b6020026020010151806124f857506124f884826020015164ffffffffff16612f32565b94505b5060010161241d565b5050509250929050565b61251661338f565b600081815260096020526040902054612576576040805162461bcd60e51b815260206004820152601860248201527f4e6f20696e766572746564207072696365206578697374730000000000000000604482015290519081900360640190fd5b6000818152600960205260408120818155600181018290556002810182905560030180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556125c982600a613411565b90508015611bf25760408051838152600060208201819052818301819052606082015290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050565b6000610c9a82612985565b60008181526009602052604090208054612688576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420667265657a65206e6f6e2d696e766572736520726174650000604482015290519081900360640190fd5b600381015460ff161580156126a757506003810154610100900460ff16155b6126f8576040805162461bcd60e51b815260206004820152601a60248201527f546865207261746520697320616c72656164792066726f7a656e000000000000604482015290519081900360640190fd5b600061270383611e7b565b90506000811180156127275750816001015481101580612727575081600201548111155b1561280257600182015460038301805460028501548414610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909216938514939093171691909117905560006127a0846134f1565b6000858152600c6020908152604091829020839055815187815290810185905280820183905233606082015290519192507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0919081900360800190a15061136c565b6040805162461bcd60e51b815260206004820152601260248201527f526174652077697468696e20626f756e64730000000000000000000000000000604482015290519081900360640190fd5b60008061285c8484613127565b915091509250929050565b6000612871613adb565b73ffffffffffffffffffffffffffffffffffffffff166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f726174655374616c65506572696f6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290957600080fd5b505afa15801561291d573d6000803e3d6000fd5b505050506040513d602081101561293357600080fd5b5051905090565b6000827f7355534400000000000000000000000000000000000000000000000000000000141561296c57506000610d3a565b61297e8261297985612985565b612f32565b9392505050565b600061299082612c4f565b6020015164ffffffffff1692915050565b606060006129ad612f4d565b905073ffffffffffffffffffffffffffffffffffffffff811615612c1c57606083516040519080825280602002602001820160405280156129f8578160200160208202803883390190505b50905060005b8451811015612a875760066000868381518110612a1757fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110612a5a57fe5b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526001016129fe565b506040517f7d723cac00000000000000000000000000000000000000000000000000000000815260206004820181815283516024840152835173ffffffffffffffffffffffffffffffffffffffff861693637d723cac93869392839260440191808601910280838360005b83811015612b0a578181015183820152602001612af2565b505050509050019250505060006040518083038186803b158015612b2d57600080fd5b505afa158015612b41573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015612b8857600080fd5b8101908080516040519392919084640100000000821115612ba857600080fd5b908301906020820185811115612bbd57600080fd5b8251866020820283011164010000000082111715612bda57600080fd5b82525081516020918201928201910280838360005b83811015612c07578181015183820152602001612bef565b50505050905001604052505050925050611540565b8251604051908082528060200260200182016040528015612c47578160200160208202803883390190505b509392505050565b612c57614030565b60008281526006602052604090205473ffffffffffffffffffffffffffffffffffffffff168015612e515760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ffeaf968c0000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b60208310612d4257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612d05565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114612da2576040519150601f19603f3d011682016040523d82523d6000602084013e612da7565b606091505b50915091508115612e495760008060008380602001905160a0811015612dcc57600080fd5b50805160208201516060909201516040805180820190915291955091935090915080612e0e8b612dfc8187613b06565b8769ffffffffffffffffffff16613baf565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020018264ffffffffff16815250975050505050505050610c9d565b505050611540565b6000838152600b6020526040902054612e68614030565b5060008481526004602090815260408083208484528252918290208251808401845290547affffffffffffffffffffffffffffffffffffffffffffffffffffff80821683527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff1692820192909252825180840190935280519092918291612ef79189911686613baf565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff168152602001826020015164ffffffffff168152509350505050610c9d565b600042612f45838563ffffffff613ced16565b109392505050565b6000612f57613adb565b73ffffffffffffffffffffffffffffffffffffffff16639ee5955a7f53797374656d53657474696e67730000000000000000000000000000000000007f61676772656761746f725761726e696e67466c616773000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290957600080fd5b6000827f7355534400000000000000000000000000000000000000000000000000000000141561302157506000610d3a565b60008381526006602052604090205473ffffffffffffffffffffffffffffffffffffffff16801580613067575073ffffffffffffffffffffffffffffffffffffffff8316155b15613076576000915050610d3a565b8273ffffffffffffffffffffffffffffffffffffffff1663357e47fe826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156130f357600080fd5b505afa158015613107573d6000803e3d6000fd5b505050506040513d602081101561311d57600080fd5b5051949350505050565b600082815260066020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680156132e75760408051602480820187905282518083039091018152604490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9a6fc8f50000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b6020831061322357805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016131e6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613283576040519150601f19603f3d011682016040523d82523d6000602084013e613288565b606091505b509150915081156132df576000808280602001905160a08110156132ab57600080fd5b50602081015160609091015190925090506132d08a6132ca8185613b06565b8b613baf565b9750955061145b945050505050565b505050613387565b6132ef614030565b5060008581526004602090815260408083208784528252918290208251808401909352547affffffffffffffffffffffffffffffffffffffffffffffffffffff81168084527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff169183019190915261336e90879087613baf565b60209091015190935064ffffffffff16915061145b9050565b509250929050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146133e55760405162461bcd60e51b815260040180806020018281038252602f815260200180614145602f913960400191505060405180910390fd5b565b600061297e8383670de0b6b3a7640000613d47565b600061297e8383670de0b6b3a7640000613d84565b6000805b82548110156134e7578383828154811061342b57fe5b906000526020600020015414156134df5782818154811061344857fe5b6000918252602082200155825483907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061348357fe5b906000526020600020015483828154811061349a57fe5b60009182526020909120015582546134d4847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830161407a565b506001915050610d3a565b600101613415565b5060009392505050565b60008181526006602052604081205473ffffffffffffffffffffffffffffffffffffffff168015613597578073ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561356257600080fd5b505afa158015613576573d6000803e3d6000fd5b505050506040513d602081101561358c57600080fd5b50519150610c9d9050565b50506000818152600b6020526040902054610c9d565b60055473ffffffffffffffffffffffffffffffffffffffff1633146133e55760405162461bcd60e51b815260040180806020018281038252602781526020018061411e6027913960400191505060405180910390fd5b600080600061361186611e7b565b915083861415613625575083915080611dc8565b61362e84611e7b565b90508015611dc85761364a81611000878563ffffffff6133e716565b925093509350939050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f726167650000000000000000000000000000000000816000815181106136a557fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156136e4578160200160208202803883390190505b50905060005b8351811015613726578381815181106136ff57fe5b602002602001015182828151811061371357fe5b60209081029190910101526001016136ea565b5060005b82518110156137695782818151811061373f57fe5b602002602001015182828651018151811061375657fe5b602090810291909101015260010161372a565b5092915050565b600061377a614047565b50600082815260096020908152604091829020825160a0810184528154815260018201549281019290925260028101549282019290925260039091015460ff80821615156060840181905261010090920416151560808301528061297e57506080015192915050565b6000826137f257506000610d3a565b828202828482816137ff57fe5b041461297e5760405162461bcd60e51b81526004018080602001828103825260218152602001806141746021913960400191505060405180910390fd5b6000610ec37f45786368616e6765720000000000000000000000000000000000000000000000613db6565b600082518451146138a95760405162461bcd60e51b81526004018080602001828103825260388152602001806141956038913960400191505060405180910390fd5b61025842018210613901576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015613a1557600085828151811061391b57fe5b6020026020010151905084828151811061393157fe5b6020026020010151600014156139785760405162461bcd60e51b81526004018080602001828103825260398152602001806142546039913960400191505060405180910390fd5b807f735553440000000000000000000000000000000000000000000000000000000014156139d75760405162461bcd60e51b81526004018080602001828103825260318152602001806140ed6031913960400191505060405180910390fd5b6139e081612985565b8410156139ed5750613a0d565b613a0b818684815181106139fd57fe5b602002602001015186613eac565b505b600101613904565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613a7d578181015183820152602001613a65565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613abc578181015183820152602001613aa4565b5050505090500194505050505060405180910390a15060019392505050565b6000610ec37f466c657869626c6553746f726167650000000000000000000000000000000000613db6565b600080821215613b5d576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526007602052604090205460ff161561154057600083815260076020526040812054613b929060129060ff16613f69565b600a0a9050613ba7838263ffffffff6137e316565b915050610d3a565b6000613bb9614047565b50600084815260096020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff8082161515606085015261010090910416151560808301521580613c19575083155b15613c27578391505061297e565b6000858152600c6020526040902054849250808410801590613c4a575081606001515b15613c5b5781602001519250613ce4565b808410158015613c6c575081608001515b15613c7d5781604001519250613ce4565b8151600090613c9390600263ffffffff6137e316565b9050858111613ca55760009350613cb8565b613cb5818763ffffffff613f6916565b93505b82602001518410613ccf5782602001519350613ce2565b82604001518411613ce257826040015193505b505b50509392505050565b60008282018381101561297e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600a8304613d5e868663ffffffff6137e316565b81613d6557fe5b0490506005600a825b0610613d7857600a015b600a9004949350505050565b600080613daa84613d9e87600a870263ffffffff6137e316565b9063ffffffff613fc616565b90506005600a82613d6e565b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a2000000000000000000000000000000093810193909352603180840186905282518085039091018152605190930190915273ffffffffffffffffffffffffffffffffffffffff1690816137695760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613e71578181015183820152602001613e59565b50505050905090810190601f168015613e9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000838152600b60209081526040808320805460010190819055815180830183527affffffffffffffffffffffffffffffffffffffffffffffffffffff968716815264ffffffffff9586168185019081529785526004845282852091855292529091209051815494519092167b01000000000000000000000000000000000000000000000000000000029183167fffffffffff00000000000000000000000000000000000000000000000000000090941693909317909116179055565b600082821115613fc0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080821161401c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161402757fe5b04949350505050565b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b81548183558181111561136c5760008381526020902061136c918101908301610ec691905b808211156140b3576000815560010161409f565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052617465206f6620735553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e4f6e6c7920746865206f7261636c652063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e6c6f7765724c696d6974206d7573742062652062656c6f772074686520656e747279506f696e7475707065724c696d6974206d757374206265206c657373207468616e20646f75626c6520656e747279506f696e7441676772656761746f7220646563696d616c732073686f756c64206265206c6f776572206f7220657175616c20746f2031385a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e75707065724c696d6974206d7573742062652061626f76652074686520656e747279506f696e74a265627a7a723158200a2e6f6efc1deccf7bc3b5b010a673956c15192ee688307d6e848fc718ba988f64736f6c6343000510003243757272656e6379206b6579206c656e67746820616e642072617465206c656e677468206d757374206d617463682e52617465206f6620735553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e5a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_oracle","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"bytes32[]","name":"_currencyKeys","type":"bytes32[]"},{"internalType":"uint256[]","name":"_newRates","type":"uint256[]"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"aggregator","type":"address"}],"name":"AggregatorAdded","type":"event","signature":"0x0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"aggregator","type":"address"}],"name":"AggregatorRemoved","type":"event","signature":"0xec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"entryPoint","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"upperLimit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lowerLimit","type":"uint256"}],"name":"InversePriceConfigured","type":"event","signature":"0x37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"rate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"initiator","type":"address"}],"name":"InversePriceFrozen","type":"event","signature":"0xf72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOracle","type":"address"}],"name":"OracleUpdated","type":"event","signature":"0x3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"RateDeleted","type":"event","signature":"0xe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae1"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"newRates","type":"uint256[]"}],"name":"RatesUpdated","type":"event","signature":"0x1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba57"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"aggregatorAddress","type":"address"}],"name":"addAggregator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3f0e084f"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"aggregatorKeys","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4f72def6"},{"constant":true,"inputs":[],"name":"aggregatorWarningFlags","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4c36b837"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"aggregators","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7103353e"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"anyRateIsInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0a7d36d1"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"canFreezeRate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3375fcd1"},{"constant":true,"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"name":"currenciesUsingAggregator","outputs":[{"internalType":"bytes32[]","name":"currencies","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2678df96"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"currencyKeyDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb295ad34"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"currentRoundForRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x935f4abd"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"deleteRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x45938849"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"effectiveValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x654a60ac"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"effectiveValueAndRates","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"sourceRate","type":"uint256"},{"internalType":"uint256","name":"destinationRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8295016a"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"name":"effectiveValueAtRound","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x266da16b"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"freezeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xde02795e"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"getCurrentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7a018a1e"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"startingRoundId","type":"uint256"},{"internalType":"uint256","name":"startingTimestamp","type":"uint256"},{"internalType":"uint256","name":"timediff","type":"uint256"}],"name":"getLastRoundIdBeforeElapsedSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x109e46a2"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"inversePricing","outputs":[{"internalType":"uint256","name":"entryPoint","type":"uint256"},{"internalType":"uint256","name":"upperLimit","type":"uint256"},{"internalType":"uint256","name":"lowerLimit","type":"uint256"},{"internalType":"bool","name":"frozenAtUpperLimit","type":"bool"},{"internalType":"bool","name":"frozenAtLowerLimit","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x728dec29"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"invertedKeys","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2ea913d4"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"lastRateUpdateTimes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xce8480ea"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"lastRateUpdateTimesForCurrencies","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x05a046e5"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"oracle","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7dc0d1d0"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateAndInvalid","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0c71cd23"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"rateAndTimestampAtRound","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xfdadbc7e"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateAndUpdatedTime","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4308a94f"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateForCurrency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xac82f608"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsFlagged","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x38aa1b99"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsFrozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaf3aea86"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2528f0fe"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsStale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x009919c0"},{"constant":true,"inputs":[],"name":"rateStalePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0ee4951b"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"ratesAndInvalidForCurrencies","outputs":[{"internalType":"uint256[]","name":"rates","type":"uint256[]"},{"internalType":"bool","name":"anyRateInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc8e5bbd5"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"numRounds","type":"uint256"}],"name":"ratesAndUpdatedTimeForCurrencyLastNRounds","outputs":[{"internalType":"uint256[]","name":"rates","type":"uint256[]"},{"internalType":"uint256[]","name":"times","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2d7371e1"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"ratesForCurrencies","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc2c8a676"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"removeAggregator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x2bed9e0c"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"removeInversePricing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc8e6f395"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"roundFrozen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7f6e9d15"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"entryPoint","type":"uint256"},{"internalType":"uint256","name":"upperLimit","type":"uint256"},{"internalType":"uint256","name":"lowerLimit","type":"uint256"},{"internalType":"bool","name":"freezeAtUpperLimit","type":"bool"},{"internalType":"bool","name":"freezeAtLowerLimit","type":"bool"}],"name":"setInversePricing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb199c764"},{"constant":false,"inputs":[{"internalType":"address","name":"_oracle","type":"address"}],"name":"setOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x7adbf973"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256[]","name":"newRates","type":"uint256[]"},{"internalType":"uint256","name":"timeSent","type":"uint256"}],"name":"updateRates","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbfa005ce"}],"source":{"keccak256":"0x6c13c44ff3c52644f0b7006484742be9349727f83ab458189e89834055016dad","urls":["bzz-raw://f8a1fddb5e2cd7fa77ce758050245be569ce2b9a40f2866dfaf20f33b740c4d0","dweb:/ipfs/QmWCq7NCtE1jd4ffiZd4u3DzSRuWH89UuwBqsfauqHxmne"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ExchangeRates.sol":"ExchangeRates"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":20000},"remappings":[]},"sources":{"ExchangeRates.sol":{"keccak256":"0x6c13c44ff3c52644f0b7006484742be9349727f83ab458189e89834055016dad","urls":["bzz-raw://f8a1fddb5e2cd7fa77ce758050245be569ce2b9a40f2866dfaf20f33b740c4d0","dweb:/ipfs/QmWCq7NCtE1jd4ffiZd4u3DzSRuWH89UuwBqsfauqHxmne"]}},"version":1}},"Proxy":{"bytecode":"608060405234801561001057600080fd5b506040516020806108dc833981016040525180600160a060020a038116151561009a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506107d9806101036000396000f3006080604052600436106100985763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631627540c811461018357806353a47bb7146101a4578063776d1a01146101d557806379ba5097146101f65780638da5cb5b1461020b578063907dff971461022057806395578ebd14610250578063befff6af14610279578063d4b8399214610293575b60025474010000000000000000000000000000000000000000900460ff16156100e157604051366000823760008036836002545af43d6000833e8015156100dd573d82fd5b3d82f35b600254604080517fbc67f8320000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163bc67f8329160248082019260009290919082900301818387803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e8015156100dd573d82fd5b005b34801561018f57600080fd5b50610181600160a060020a03600435166102a8565b3480156101b057600080fd5b506101b9610391565b60408051600160a060020a039092168252519081900360200190f35b3480156101e157600080fd5b50610181600160a060020a03600435166103a0565b34801561020257600080fd5b50610181610489565b34801561021757600080fd5b506101b9610591565b34801561022c57600080fd5b5061018160246004803582810192910135903560443560643560843560a4356105a0565b34801561025c57600080fd5b506102656106b5565b604080519115158252519081900360200190f35b34801561028557600080fd5b5061018160043515156106d6565b34801561029f57600080fd5b506101b961079e565b600054600160a060020a03163314610330576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600154600160a060020a031681565b600054600160a060020a03163314610428576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b600154600160a060020a03163314610511576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600254600090606090600160a060020a03163314610608576040805160e560020a62461bcd02815260206004820152601460248201527f4d7573742062652070726f787920746172676574000000000000000000000000604482015290519081900360640190fd5b604080516020601f8b01819004810282018101909252898152899350908a908490819084018382808284378201915050505050509050866000811461066c576001811461067757600281146106835760038114610690576004811461069e576106a9565b8260208301a06106a9565b868360208401a16106a9565b85878460208501a26106a9565b8486888560208601a36106a9565b838587898660208701a45b50505050505050505050565b60025474010000000000000000000000000000000000000000900460ff1681565b600054600160a060020a0316331461075e576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055565b600254600160a060020a0316815600a165627a7a723058201f732d524629d6f5803735fcd435c54afab71cca4ed5b01f82e508f9084bf99b0029","abi":[{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"contract Proxyable","name":"_target","type":"address"}],"name":"setTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x776d1a01"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"name":"callData","type":"bytes"},{"name":"numTopics","type":"uint256"},{"name":"topic1","type":"bytes32"},{"name":"topic2","type":"bytes32"},{"name":"topic3","type":"bytes32"},{"name":"topic4","type":"bytes32"}],"name":"_emit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x907dff97"},{"constant":true,"inputs":[],"name":"useDELEGATECALL","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x95578ebd"},{"constant":false,"inputs":[{"name":"value","type":"bool"}],"name":"setUseDELEGATECALL","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbefff6af"},{"constant":true,"inputs":[],"name":"target","outputs":[{"internalType":"contract Proxyable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd4b83992"},{"inputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract Proxyable","name":"newTarget","type":"address"}],"name":"TargetUpdated","type":"event","signature":"0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"FeePool":{"bytecode":"6080604052631cd554d160e21b6007553480156200001c57600080fd5b50604051620045c2380380620045c28339810160408190526200003f9162000226565b8080621baf8085856001600160a01b038116620000795760405162461bcd60e51b8152600401620000709062000348565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c691849062000310565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b8152600401620000709062000336565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906200014790839062000300565b60405180910390a1504201600455600580546001600160a01b0319166001600160a01b0392909216919091179055506001620001846000620001e7565b80546001600160401b0319166001600160401b039290921691909117905542620001af6000620001e7565b80546001600160401b03929092166801000000000000000002600160401b600160801b031990921691909117905550620003a3915050565b60006008600260ff16836016540181620001fd57fe5b06600281106200020957fe5b6007020192915050565b8051620002208162000389565b92915050565b6000806000606084860312156200023c57600080fd5b60006200024a868662000213565b93505060206200025d8682870162000213565b9250506040620002708682870162000213565b9150509250925092565b620002858162000375565b82525050565b620002858162000363565b6000620002a56011836200035a565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002d46019836200035a565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200022082846200027a565b604081016200032082856200027a565b6200032f60208301846200028b565b9392505050565b60208082528101620002208162000296565b602080825281016200022081620002c5565b90815260200190565b60006001600160a01b03821662000220565b600062000220826000620002208262000363565b620003948162000363565b8114620003a057600080fd5b50565b61420f80620003b36000396000f3fe608060405234801561001057600080fd5b50600436106102775760003560e01c80636466f45e11610160578063b410a034116100d8578063e0e6393d1161008c578063ec55688911610071578063ec55688914610497578063f43d41611461049f578063fd1f498d146104b257610277565b8063e0e6393d14610487578063eb1edd611461048f57610277565b8063cff2ddad116100bd578063cff2ddad14610462578063d294f09314610477578063d67bdd251461047f57610277565b8063b410a03414610447578063bc67f8321461044f57610277565b806379ba50971161012f5780638da5cb5b116101145780638da5cb5b1461042457806397107d6d1461042c578063ac8341931461043f57610277565b806379ba509714610407578063899ffef41461040f57610277565b80636466f45e146103d15780636de813f1146103e457806373941b96146103ec57806374185360146103ff57610277565b806333140016116101f357806346ba2d90116101c2578063569249d0116101a7578063569249d0146103ae57806359a2f19f146103b6578063614d08f8146103c957610277565b806346ba2d901461039157806353a47bb71461039957610277565b8063331400161461033b5780633ebc457a1461035b5780633fcd22401461036357806341c178c31461038957610277565b80631627540c1161024a57806322bf55ef1161022f57806322bf55ef1461030b5780632af64bd31461031e5780632e227eeb1461033357610277565b80631627540c146102ee57806322425fa41461030357610277565b806304f3bcec1461027c57806307ea50cd1461029a5780630813071c146102ba5780630de58615146102cd575b600080fd5b6102846104c5565b6040516102919190613eb2565b60405180910390f35b6102ad6102a83660046131df565b6104d4565b6040516102919190613dea565b6102ad6102c8366004613223565b6105a9565b6102e06102db3660046131df565b6106bb565b604051610291929190613e06565b6103016102fc3660046131df565b61073d565b005b6102ad61079b565b6103016103193660046132b7565b6107ab565b610326610808565b6040516102919190613ddc565b6102e061091f565b61034e6103493660046131df565b610aa6565b6040516102919190613dbd565b610301610c9d565b6103766103713660046132b7565b610ea5565b604051610291979695949392919061402f565b6102e0610f53565b6102ad611001565b6103a1611007565b6040516102919190613d43565b6102ad611016565b6103266103c43660046131df565b611071565b6102ad611083565b6103266103df3660046131df565b6110a7565b6102ad6111d3565b6103016103fa366004613305565b611228565b610301611310565b610301611462565b6104176114fe565b6040516102919190613dcb565b6103a1611858565b61030161043a3660046131df565b611867565b6102ad6118ba565b6102ad611966565b61030161045d3660046131df565b611970565b61046a61199a565b6040516102919190614097565b61032661199f565b6103a1611a16565b6102ad611a25565b6103a1611a2f565b610284611a47565b6103016104ad366004613324565b611a56565b6103016104c03660046132b7565b611c06565b6005546001600160a01b031681565b60006104de611c72565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200161051f929190613cdc565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016105519190613dea565b60206040518083038186803b15801561056957600080fd5b505afa15801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105a1919081019061327b565b90505b919050565b60008115806105b9575060028210155b156105c6575060006106b5565b6105d260018303611c9d565b5468010000000000000000900467ffffffffffffffff166105f5575060006106b5565b6105fd611cc7565b6001600160a01b0316638ced14df846008856002811061061957fe5b60070201546040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610662929167ffffffffffffffff1690600401613d7a565b60206040518083038186803b15801561067a57600080fd5b505afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106b2919081019061327b565b90505b92915050565b6000806106c66130ee565b6106cf84610aa6565b905060008060015b6002811015610730576106fc8482600281106106ef57fe5b6020020151518490611cf2565b925061072684826002811061070d57fe5b602002015160016020020151839063ffffffff611cf216565b91506001016106d7565b509093509150505b915091565b610745611d17565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610790908390613d43565b60405180910390a150565b60006107a5611d43565b90505b90565b6107b433611e0a565b6107d95760405162461bcd60e51b81526004016107d090613ed1565b60405180910390fd5b6107f7816107e76000611c9d565b600301549063ffffffff611cf216565b6108016000611c9d565b6003015550565b600060606108146114fe565b905060005b815181101561091657600082828151811061083057fe5b602090810291909101810151600081815260069092526040918290205460055492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610881908590600401613dea565b60206040518083038186803b15801561089957600080fd5b505afa1580156108ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108d19190810190613205565b6001600160a01b03161415806108fc57506000818152600660205260409020546001600160a01b0316155b1561090d57600093505050506107a8565b50600101610819565b50600191505090565b60008060008061094e7f6578743a41676772656761746f7249737375656453796e746873000000000000611fae565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561098657600080fd5b505afa15801561099a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109be91908101906133c0565b509350509250506000806109f17f6578743a41676772656761746f7244656274526174696f000000000000000000611fae565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610a2957600080fd5b505afa158015610a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a6191908101906133c0565b50919450909250859150508215610a8757610a82818463ffffffff61200b16565b610a8a565b60005b9650818410610a995781610a9b565b835b955050505050509091565b610aae6130ee565b600080610ab9611cc7565b6040517fe6d24bbd0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063e6d24bbd90610b01908790600401613d43565b60206040518083038186803b158015610b1957600080fd5b505afa158015610b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b51919081019061327b565b9150600080610b61600085612024565b8651829052865160200181905290925090506000610b7e876104d4565b905060015b8015610c92576000610b9482611c9d565b5467ffffffffffffffff16905080831015610c88576040517f8ced14df0000000000000000000000000000000000000000000000000000000081526001600160a01b03871690638ced14df90610bfa908c9067ffffffffffffffff861690600401613d7a565b60206040518083038186803b158015610c1257600080fd5b505afa158015610c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c4a919081019061327b565b9650610c568288612024565b909550935084888360028110610c6857fe5b60200201515283888360028110610c7b57fe5b6020020151600160200201525b5060001901610b83565b505050505050919050565b610ca5612088565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610cdd57600080fd5b505afa158015610cf1573d6000803e3d6000fd5b505050506000610cff611d43565b11610d1c5760405162461bcd60e51b81526004016107d090614011565b610d24611d43565b4203610d306000611c9d565b5468010000000000000000900467ffffffffffffffff161115610d655760405162461bcd60e51b81526004016107d090613ef1565b6000610d6f610f53565b5090506000610d7c61091f565b509050610d8982826120b3565b6005546040517fdacb2d010000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063dacb2d0190610df2907f53796e746865746978427269646765546f4f7074696d69736d0000000000000090600401613e34565b60206040518083038186803b158015610e0a57600080fd5b505afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e429190810190613205565b6001600160a01b031663b9958ab883836040518363ffffffff1660e01b8152600401610e6f929190613e06565b600060405180830381600087803b158015610e8957600080fd5b505af1158015610e9d573d6000803e3d6000fd5b505050505050565b6000806000806000806000610eb861311b565b610ec189611c9d565b6040805161010081018252825467ffffffffffffffff80821680845268010000000000000000909204166020830181905260018501549383019390935260028401546060830152600384015460808301819052600485015460a08401819052600586015460c0850181905260069096015460e0909401849052919e60009e50939c509a50985091965090945092505050565b600080600080610f827f6578743a41676772656761746f7249737375656453796e746873000000000000611fae565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610fba57600080fd5b505afa158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ff291908101906133c0565b50919791965090945050505050565b60045481565b6001546001600160a01b031681565b60008060015b600281101561106b5761104261103182611c9d565b60030154839063ffffffff611cf216565b915061106161105082611c9d565b60040154839063ffffffff61239a16565b915060010161101c565b50905090565b600061107c826123c2565b5092915050565b7f466565506f6f6c0000000000000000000000000000000000000000000000000081565b60006110b1612088565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156110e957600080fd5b505afa1580156110fd573d6000803e3d6000fd5b505050506111096124b6565b6111116124f5565b6003546040517f21f4ae570000000000000000000000000000000000000000000000000000000081526001600160a01b03928316926321f4ae579261115e92879290911690600401613d5f565b60206040518083038186803b15801561117657600080fd5b505afa15801561118a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111ae919081019061325d565b6111ca5760405162461bcd60e51b81526004016107d090613f81565b6105a182612520565b60008060015b600281101561106b576111ff6111ee82611c9d565b60050154839063ffffffff611cf216565b915061121e61120d82611c9d565b60060154839063ffffffff61239a16565b91506001016111d9565b333014806112e657506005546040516321f8a72160e01b81526001600160a01b03909116906321f8a72190611281907f53796e746865746978427269646765546f42617365000000000000000000000090600401613dea565b60206040518083038186803b15801561129957600080fd5b505afa1580156112ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112d19190810190613205565b6001600160a01b0316336001600160a01b0316145b6113025760405162461bcd60e51b81526004016107d090613fc1565b61130c82826120b3565b5050565b606061131a6114fe565b905060005b815181101561130c57600082828151811061133657fe5b602002602001015190506000600560009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016113789190613d2d565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016113a4929190613e14565b60206040518083038186803b1580156113bc57600080fd5b505afa1580156113d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113f49190810190613205565b6000838152600660205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906114509084908490613df8565b60405180910390a1505060010161131f565b6001546001600160a01b0316331461148c5760405162461bcd60e51b81526004016107d090613ee1565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926114cf926001600160a01b0391821692911690613d5f565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080611509612615565b60408051600e8082526101e0820190925291925060609190602082016101c0803883390190505090507f53797374656d53746174757300000000000000000000000000000000000000008160008151811061156057fe5b6020026020010181815250507f53796e74686574697844656274536861726500000000000000000000000000008160018151811061159a57fe5b6020026020010181815250507f466565506f6f6c457465726e616c53746f726167650000000000000000000000816002815181106115d457fe5b6020026020010181815250507f45786368616e67657200000000000000000000000000000000000000000000008160038151811061160e57fe5b6020026020010181815250506524b9b9bab2b960d11b8160048151811061163157fe5b6020026020010181815250507f526577617264457363726f7756320000000000000000000000000000000000008160058151811061166b57fe5b6020026020010181815250507f44656c6567617465417070726f76616c73000000000000000000000000000000816006815181106116a557fe5b6020026020010181815250507f52657761726473446973747269627574696f6e00000000000000000000000000816007815181106116df57fe5b6020026020010181815250507f436f6c6c61746572616c4d616e616765720000000000000000000000000000008160088151811061171957fe5b6020026020010181815250507f57726170706572466163746f72790000000000000000000000000000000000008160098151811061175357fe5b6020026020010181815250507f457468657257726170706572000000000000000000000000000000000000000081600a8151811061178d57fe5b6020026020010181815250507f6578743a41676772656761746f7249737375656453796e74687300000000000081600b815181106117c757fe5b6020026020010181815250507f6578743a41676772656761746f7244656274526174696f00000000000000000081600c8151811061180157fe5b6020026020010181815250507f467574757265734d61726b65744d616e6167657200000000000000000000000081600d8151811061183b57fe5b6020026020010181815250506118518282612674565b9250505090565b6000546001600160a01b031681565b61186f611d17565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610790908390613d51565b60006107a56119526118ca612729565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561190e57600080fd5b505af4158015611922573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611946919081019061327b565b9063ffffffff611cf216565b61195a6127a0565b9063ffffffff61281716565b60006107a56127a0565b611978612841565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b600281565b60006119a9612088565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119e157600080fd5b505afa1580156119f5573d6000803e3d6000fd5b50505050611a016124b6565b6003546107a5906001600160a01b0316612520565b6003546001600160a01b031681565b60006107a5612729565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611a5e61286b565b6004544210611a7f5760405162461bcd60e51b81526004016107d090613fd1565b60028710611a9f5760405162461bcd60e51b81526004016107d090613ff1565b6040518061010001604052808767ffffffffffffffff1681526020018667ffffffffffffffff16815260200160008152602001600081526020018581526020018481526020018381526020018281525060088860028110611afc57fe5b8251600791909102919091018054602084015167ffffffffffffffff90811668010000000000000000026fffffffffffffffff0000000000000000199190941667ffffffffffffffff19909216919091171691909117815560408201516001820155606082015160028201556080820151600382015560a0820151600482015560c0820151600582015560e09091015160069091015586611bfd57611b9f6128d9565b6001600160a01b03166331e6da5a876040518263ffffffff1660e01b8152600401611bca9190614021565b600060405180830381600087803b158015611be457600080fd5b505af1158015611bf8573d6000803e3d6000fd5b505050505b50505050505050565b611c0e6124b6565b611c166128ed565b6003546001600160a01b03908116911614611c435760405162461bcd60e51b81526004016107d090613f51565b611c6181611c516000611c9d565b600501549063ffffffff611cf216565b611c6b6000611c9d565b6005015550565b60006107a57f466565506f6f6c457465726e616c53746f726167650000000000000000000000611fae565b60006008600260ff16836016540181611cb257fe5b0660028110611cbd57fe5b6007020192915050565b60006107a57f53796e7468657469784465627453686172650000000000000000000000000000611fae565b6000828201838110156106b25760405162461bcd60e51b81526004016107d090613f11565b6000546001600160a01b03163314611d415760405162461bcd60e51b81526004016107d090613f91565b565b6000611d4d612918565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b8152600401611dba929190613e06565b60206040518083038186803b158015611dd257600080fd5b505afa158015611de6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107a5919081019061327b565b6000611e14612943565b6001600160a01b0316826001600160a01b03161480611eb657506000611e386128d9565b6001600160a01b03166316b2213f846040518263ffffffff1660e01b8152600401611e639190613d43565b60206040518083038186803b158015611e7b57600080fd5b505afa158015611e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611eb3919081019061327b565b14155b80611f3f5750611ec461296e565b6001600160a01b031663b38988f7836040518263ffffffff1660e01b8152600401611eef9190613d43565b60206040518083038186803b158015611f0757600080fd5b505afa158015611f1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f3f919081019061325d565b80611f625750611f4d612999565b6001600160a01b0316826001600160a01b0316145b80611f855750611f706129c4565b6001600160a01b0316826001600160a01b0316145b806105a15750611f936129ef565b6001600160a01b0316826001600160a01b0316149050919050565b60008181526006602090815260408083205490516001600160a01b039091169182151591611fde91869101613d0d565b6040516020818303038152906040529061107c5760405162461bcd60e51b81526004016107d09190613ec0565b60006106b283836b033b2e3c9fd0803ce8000000612a1a565b6000808261203757506000905080612081565b600061204285611c9d565b9050600061205d85836003015461281790919063ffffffff16565b9050600061207886846005015461281790919063ffffffff16565b91945090925050505b9250929050565b60006107a57f53797374656d5374617475730000000000000000000000000000000000000000611fae565b6120bb6129ef565b6001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156120f557600080fd5b505af1158015612109573d6000803e3d6000fd5b505050506121156129c4565b6001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561214f57600080fd5b505af1158015612163573d6000803e3d6000fd5b50505050806121726000611c9d565b60020155816121816000611c9d565b60010155600061219081611c9d565b9050600061219e6001611c9d565b90506121c382600301546119468360040154846003015461239a90919063ffffffff16565b6121cd6000611c9d565b600301556005808301546006830154918301546121f492611946919063ffffffff61239a16565b6121fe6000611c9d565b6005015560165461223b9060029061222f90600190612223908463ffffffff611cf216565b9063ffffffff61239a16565b9063ffffffff612a5f16565b60168190556008906002811061224d57fe5b6007020180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000168155600060018201819055600282018190556003820181905560048201819055600582018190556006909101819055429081906122b190611c9d565b805467ffffffffffffffff191667ffffffffffffffff92909216919091179055426122dc6000611c9d565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff0000000000000000199092169190911790556123196128d9565b6001600160a01b03166331e6da5a826040518263ffffffff1660e01b81526004016123449190614021565b600060405180830381600087803b15801561235e57600080fd5b505af1158015612372573d6000803e3d6000fd5b505050506123936123836001611c9d565b5467ffffffffffffffff16612a8f565b5050505050565b6000828211156123bc5760405162461bcd60e51b81526004016107d090613f21565b50900390565b6000806000806123d06128d9565b6001600160a01b031663ae3bbbbb866040518263ffffffff1660e01b81526004016123fb9190613d43565b604080518083038186803b15801561241257600080fd5b505afa158015612426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061244a91908101906132d5565b9150915060006124586127a0565b90508083101561247057506001935091506107389050565b600061248d6124806118ca612729565b839063ffffffff61281716565b9050808411156124a7576000839550955050505050610738565b50600194509092505050915091565b6002546001600160a01b031633148015906124dc57506003546001600160a01b03163314155b15611d4157600380546001600160a01b03191633179055565b60006107a57f44656c6567617465417070726f76616c73000000000000000000000000000000611fae565b6000808080808080612531886123c2565b91509150816125525760405162461bcd60e51b81526004016107d090613fa1565b80156125705760405162461bcd60e51b81526004016107d090613f61565b612579886106bb565b90945092508315158061258c5750600083115b6125a85760405162461bcd60e51b81526004016107d090613f41565b6125c6886125b66001611c9d565b5467ffffffffffffffff16612b47565b83156125e1576125d584612bc4565b94506125e18886612c88565b82156125fc576125f083612e5c565b95506125fc8887612f1e565b612607888688612f98565b506001979650505050505050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061266557fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156126a4578160200160208202803883390190505b50905060005b83518110156126e6578381815181106126bf57fe5b60200260200101518282815181106126d357fe5b60209081029190910101526001016126aa565b5060005b825181101561107c578281815181106126ff57fe5b602002602001015182828651018151811061271657fe5b60209081029190910101526001016126ea565b6000612733612918565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401611dba929190613e06565b60006127aa612918565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401611dba929190613e06565b6000670de0b6b3a7640000612832848463ffffffff61305416565b8161283957fe5b049392505050565b6002546001600160a01b03163314611d415760405162461bcd60e51b81526004016107d090614001565b6002546001600160a01b0316331480159061289157506003546001600160a01b03163314155b156128a957600380546001600160a01b031916331790555b6000546003546001600160a01b03908116911614611d415760405162461bcd60e51b81526004016107d090613f01565b60006107a56524b9b9bab2b960d11b611fae565b60006107a57f52657761726473446973747269627574696f6e00000000000000000000000000611fae565b60006107a57f466c657869626c6553746f726167650000000000000000000000000000000000611fae565b60006107a57f45786368616e6765720000000000000000000000000000000000000000000000611fae565b60006107a57f436f6c6c61746572616c4d616e61676572000000000000000000000000000000611fae565b60006107a57f467574757265734d61726b65744d616e61676572000000000000000000000000611fae565b60006107a57f57726170706572466163746f7279000000000000000000000000000000000000611fae565b60006107a57f4574686572577261707065720000000000000000000000000000000000000000611fae565b600080612a4084612a3487600a870263ffffffff61305416565b9063ffffffff61308e16565b90506005600a820610612a5157600a015b600a900490505b9392505050565b600081612a7e5760405162461bcd60e51b81526004016107d090613f71565b818381612a8757fe5b069392505050565b6002546040516001600160a01b039091169063907dff9790612ab5908490602001613dea565b6040516020818303038152906040526001604051612ad290613d38565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252612b1993929160009081908190600401613e53565b600060405180830381600087803b158015612b3357600080fd5b505af1158015612393573d6000803e3d6000fd5b612b4f611c72565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c0000000000000000000000000084604051602001612b90929190613cdc565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401610e6f929190613e06565b6000818160015b6002811015612c80576000612bdf82611c9d565b6004015490506000612c0482612bf485611c9d565b600301549063ffffffff61239a16565b90508015612c75576000858210612c1b5785612c1d565b815b9050612c2f838263ffffffff611cf216565b612c3885611c9d565b60040155612c4c868263ffffffff61239a16565b9550612c5e858263ffffffff611cf216565b945085612c73578496505050505050506105a4565b505b505060001901612bcb565b509392505050565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef1415612cc65760405162461bcd60e51b81526004016107d090613fe1565b6000612cd06128d9565b6001600160a01b031663326080396007546040518263ffffffff1660e01b8152600401612cfd9190613dea565b60206040518083038186803b158015612d1557600080fd5b505afa158015612d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d4d9190810190613299565b6040517f9dc29fac0000000000000000000000000000000000000000000000000000000081529091506001600160a01b03821690639dc29fac90612dab9073feefeefeefeefeefeefeefeefeefeefeefeefeef908790600401613d7a565b600060405180830381600087803b158015612dc557600080fd5b505af1158015612dd9573d6000803e3d6000fd5b50506040517f867904b40000000000000000000000000000000000000000000000000000000081526001600160a01b038416925063867904b49150612e249087908790600401613d7a565b600060405180830381600087803b158015612e3e57600080fd5b505af1158015612e52573d6000803e3d6000fd5b5050505050505050565b6000818160015b6002811015612c80576000612e97612e7a83611c9d565b60060154612e8784611c9d565b600501549063ffffffff61239a16565b90508015612f14576000848210612eae5784612eb0565b815b9050612ecf81612ebf85611c9d565b600601549063ffffffff611cf216565b612ed884611c9d565b60060155612eec858263ffffffff61239a16565b9450612efe848263ffffffff611cf216565b935084612f125783955050505050506105a4565b505b5060001901612e63565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef1415612f5c5760405162461bcd60e51b81526004016107d090613fe1565b6301dfe200612f696130c3565b6001600160a01b0316631bb47b448585846040518463ffffffff1660e01b8152600401612e2493929190613d95565b6002546040516001600160a01b039091169063907dff9790612fc290869086908690602001613d95565b6040516020818303038152906040526001604051612fdf90613d02565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16825261302693929160009081908190600401613e53565b600060405180830381600087803b15801561304057600080fd5b505af1158015611bfd573d6000803e3d6000fd5b600082613063575060006106b5565b8282028284828161307057fe5b04146106b25760405162461bcd60e51b81526004016107d090613fb1565b60008082116130af5760405162461bcd60e51b81526004016107d090613f31565b60008284816130ba57fe5b04949350505050565b60006107a57f526577617264457363726f775632000000000000000000000000000000000000611fae565b60405180604001604052806002905b613105613174565b8152602001906001900390816130fd5790505090565b604051806101000160405280600067ffffffffffffffff168152602001600067ffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b80356106b581614191565b80516106b581614191565b80516106b5816141a8565b80516106b5816141b1565b80516106b5816141ba565b80356106b5816141b1565b80516106b5816141c3565b6000602082840312156131f157600080fd5b60006131fd8484613192565b949350505050565b60006020828403121561321757600080fd5b60006131fd848461319d565b6000806040838503121561323657600080fd5b60006132428585613192565b9250506020613253858286016131c9565b9150509250929050565b60006020828403121561326f57600080fd5b60006131fd84846131a8565b60006020828403121561328d57600080fd5b60006131fd84846131b3565b6000602082840312156132ab57600080fd5b60006131fd84846131be565b6000602082840312156132c957600080fd5b60006131fd84846131c9565b600080604083850312156132e857600080fd5b60006132f485856131b3565b9250506020613253858286016131a8565b6000806040838503121561331857600080fd5b600061324285856131c9565b600080600080600080600060e0888a03121561333f57600080fd5b600061334b8a8a6131c9565b975050602061335c8a828b016131c9565b965050604061336d8a828b016131c9565b955050606061337e8a828b016131c9565b945050608061338f8a828b016131c9565b93505060a06133a08a828b016131c9565b92505060c06133b18a828b016131c9565b91505092959891949750929550565b600080600080600060a086880312156133d857600080fd5b60006133e488886131d4565b95505060206133f5888289016131b3565b9450506040613406888289016131b3565b9350506060613417888289016131b3565b9250506080613428888289016131d4565b9150509295509295909350565b6000613441838361352b565b505060400190565b60006134558383613580565b505060200190565b6134668161411c565b82525050565b613466816140be565b613466613481826140be565b614170565b61348f816140ab565b61349981846105a4565b92506134a4826107a8565b8060005b83811015610e9d5781516134bc8782613435565b96506134c7836140a5565b9250506001016134a8565b60006134dd826140b1565b6134e781856140b5565b93506134f2836140a5565b8060005b8381101561352057815161350a8882613449565b9750613515836140a5565b9250506001016134f6565b509495945050505050565b613534816140ab565b61353e81846105a4565b9250613549826107a8565b8060005b83811015610e9d5781516135618782613449565b965061356c836140a5565b92505060010161354d565b613466816140c9565b613466816107a8565b613466613595826107a8565b6107a8565b60006135a5826140b1565b6135af81856140b5565b93506135bf818560208601614140565b6135c881614181565b9093019392505050565b613466816140ce565b61346681614127565b61346681614135565b60006135fa6017836140b5565b7f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000815260200192915050565b60006136336035836140b5565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000613692601d836140b5565b7f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000815260200192915050565b60006136cb6013836140b5565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b60006137046024836105a4565b7f46656573436c61696d656428616464726573732c75696e743235362c75696e7481527f3235362900000000000000000000000000000000000000000000000000000000602082015260240192915050565b6000613763601b836140b5565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061379c601e836140b5565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006137d5601a836140b5565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061380e6040836140b5565b7f4e6f2066656573206f72207265776172647320617661696c61626c6520666f7281527f20706572696f642c206f72206665657320616c726561647920636c61696d6564602082015260400192915050565b600061386d602b836140b5565b7f4d697373696e6720636f6e74726163743a2053796e746865746978427269646781527f65546f4f7074696d69736d000000000000000000000000000000000000000000602082015260400192915050565b60006138cc6011836105a4565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b60006139056018836140b5565b7f52657761726473446973747269627574696f6e206f6e6c790000000000000000815260200192915050565b600061393e601e836140b5565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b60006139776018836140b5565b7f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815260200192915050565b60006139b0601f836140b5565b7f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600815260200192915050565b60006139e9602f836140b5565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b6000613a48601f836140b5565b7f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400815260200192915050565b6000613a816021836140b5565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000613ae0601b836140b5565b7f4f6e6c792076616c69642072656c617965722063616e2063616c6c0000000000815260200192915050565b6000613b196029836140b5565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b6000613b786019836105a4565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613bb16017836140b5565b7f4665652061646472657373206e6f7420616c6c6f776564000000000000000000815260200192915050565b6000613bea6018836140b5565b7f696e76616c69642066656520706572696f6420696e6465780000000000000000815260200192915050565b6000613c236018836105a4565b7f466565506572696f64436c6f7365642875696e74323536290000000000000000815260180192915050565b6000613c5c6017836140b5565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000613c95601b836140b5565b7f46656520506572696f64204475726174696f6e206e6f74207365740000000000815260200192915050565b613466816140d9565b613466816140fa565b61346681614107565b6000613ce88285613589565b602082019150613cf88284613475565b5060140192915050565b60006106b5826136f7565b6000613d18826138bf565b9150613d248284613589565b50602001919050565b6000613d1882613b6b565b60006106b582613c16565b602081016106b5828461346c565b602081016106b5828461345d565b60408101613d6d828561346c565b612a58602083018461346c565b60408101613d88828561346c565b612a586020830184613580565b60608101613da3828661346c565b613db06020830185613580565b6131fd6040830184613580565b608081016106b58284613486565b602080825281016106b281846134d2565b602081016106b58284613577565b602081016106b58284613580565b60408101613d6d8285613580565b60408101613d888285613580565b60408101613e228285613580565b81810360208301526131fd818461359a565b60408101613e428284613580565b81810360208301526106b281613860565b60c08082528101613e64818961359a565b9050613e7360208301886135e4565b613e806040830187613580565b613e8d60608301866135db565b613e9a60808301856135db565b613ea760a08301846135db565b979650505050505050565b602081016106b582846135d2565b602080825281016106b2818461359a565b602080825281016105a1816135ed565b602080825281016105a181613626565b602080825281016105a181613685565b602080825281016105a1816136be565b602080825281016105a181613756565b602080825281016105a18161378f565b602080825281016105a1816137c8565b602080825281016105a181613801565b602080825281016105a1816138f8565b602080825281016105a181613931565b602080825281016105a18161396a565b602080825281016105a1816139a3565b602080825281016105a1816139dc565b602080825281016105a181613a3b565b602080825281016105a181613a74565b602080825281016105a181613ad3565b602080825281016105a181613b0c565b602080825281016105a181613ba4565b602080825281016105a181613bdd565b602080825281016105a181613c4f565b602080825281016105a181613c88565b602081016106b58284613cc1565b60e0810161403d828a613cca565b61404a6020830189613cca565b6140576040830188613cca565b6140646060830187613580565b6140716080830186613580565b61407e60a0830185613580565b61408b60c0830184613580565b98975050505050505050565b602081016106b58284613cd3565b60200190565b50600290565b5190565b90815260200190565b60006105a1826140ee565b151590565b60006105a1826140be565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b69ffffffffffffffffffff1690565b60006105a1826140ce565b60006105a1613595836107a8565b60006105a1826107a8565b60005b8381101561415b578181015183820152602001614143565b8381111561416a576000848401525b50505050565b60006105a18260006105a18261418b565b601f01601f191690565b60601b90565b61419a816140be565b81146141a557600080fd5b50565b61419a816140c9565b61419a816107a8565b61419a816140ce565b61419a8161410d56fea365627a7a72315820220520b39512e28275c7a4b3a7705149a66773c9db921b235fce506c078fa5d76c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"feePeriodId","type":"uint256"}],"name":"FeePeriodClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"sUSDAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"snxRewards","type":"uint256"}],"name":"FeesClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxyAddress","type":"address"}],"name":"ProxyUpdated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FEE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FEE_PERIOD_LENGTH","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"allNetworksDebtSharesSupply","outputs":[{"internalType":"uint256","name":"sharesSupply","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allNetworksSnxBackedDebt","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"claimingForAddress","type":"address"}],"name":"claimOnBehalf","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"closeCurrentFeePeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"allNetworksSnxBackedDebt","type":"uint256"},{"internalType":"uint256","name":"allNetworksDebtSharesSupply","type":"uint256"}],"name":"closeSecondary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"period","type":"uint256"}],"name":"effectiveDebtRatioForPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feePeriodDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"feesAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"feesByPeriod","outputs":[{"internalType":"uint256[2][2]","name":"results","type":"uint256[2][2]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_claimingAddress","type":"address"}],"name":"getLastFeeWithdrawal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPenaltyThresholdRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"feePeriodIndex","type":"uint256"},{"internalType":"uint256","name":"feePeriodId","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"feesToDistribute","type":"uint256"},{"internalType":"uint256","name":"feesClaimed","type":"uint256"},{"internalType":"uint256","name":"rewardsToDistribute","type":"uint256"},{"internalType":"uint256","name":"rewardsClaimed","type":"uint256"}],"name":"importFeePeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isFeesClaimable","outputs":[{"internalType":"bool","name":"feesClaimable","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issuanceRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"recentFeePeriods","outputs":[{"internalType":"uint64","name":"feePeriodId","type":"uint64"},{"internalType":"uint64","name":"unused","type":"uint64"},{"internalType":"uint64","name":"startTime","type":"uint64"},{"internalType":"uint256","name":"feesToDistribute","type":"uint256"},{"internalType":"uint256","name":"feesClaimed","type":"uint256"},{"internalType":"uint256","name":"rewardsToDistribute","type":"uint256"},{"internalType":"uint256","name":"rewardsClaimed","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recordFeePaid","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"setMessageSender","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"}],"name":"setProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setRewardsToDistribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"setupExpiryTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"targetThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalFeesAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalRewardsAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x8efb90365897b11502997b1dea8760062b6e607e9c183847380d76e620e749a3","urls":["bzz-raw://59c490d9c94c8a648ef85e322d831566011d85e827188be2646cc1eb90ef756d","dweb:/ipfs/QmRRxkgvwXFKpxYQZwuSEGjXv7HFAM7oFZd2FutSJ1EKri"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"FeePool.sol":"FeePool"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":1500},"remappings":[]},"sources":{"FeePool.sol":{"keccak256":"0x8efb90365897b11502997b1dea8760062b6e607e9c183847380d76e620e749a3","urls":["bzz-raw://59c490d9c94c8a648ef85e322d831566011d85e827188be2646cc1eb90ef756d","dweb:/ipfs/QmRRxkgvwXFKpxYQZwuSEGjXv7HFAM7oFZd2FutSJ1EKri"]}},"version":1}},"SynthetixState":{"bytecode":"608060408190527f907af6c000000000000000000000000000000000000000000000000000000000815260059073__SynthetixState.sol:SafeDecimalMath____9063907af6c09060849060209060048186803b15801561006057600080fd5b505af4158015610074573d6000803e3d6000fd5b505050506040513d602081101561008a57600080fd5b505181151561009557fe5b046008553480156100a557600080fd5b506040516040806110d783398101604052805160209091015162093a80828281600160a060020a038116151561013c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505042016003555050610ed9806101fe6000396000f3006080604052600436106101195763ffffffff60e060020a600035041663054be0b7811461011e57806308d95cd5146101385780631627540c1461016257806316b29c57146101835780631bfba595146101985780633d31e97b146101ad57806346317712146101c557806351dc7f7d146101da57806352f445ca1461021d57806353a47bb71461023e57806379ba50971461026f5780638b3f8088146102845780638da5cb5b146102be5780639371bede146102d35780639e49e976146102e8578063a764eb4514610314578063aefc4ccb14610338578063b16c09f01461034d578063b410a0341461036e578063b992812e14610383578063ba08f299146103b8578063caca2516146103cd578063cd92eba914610420575b600080fd5b34801561012a57600080fd5b50610136600435610435565b005b34801561014457600080fd5b506101506004356105c4565b60408051918252519081900360200190f35b34801561016e57600080fd5b50610136600160a060020a03600435166105e3565b34801561018f57600080fd5b506101506106a8565b3480156101a457600080fd5b506101366106ae565b3480156101b957600080fd5b5061013660043561072b565b3480156101d157600080fd5b506101506107c4565b3480156101e657600080fd5b50610136600160a060020a03600435167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19602435166107ea565b34801561022957600080fd5b50610136600160a060020a0360043516610881565b34801561024a57600080fd5b50610253610946565b60408051600160a060020a039092168252519081900360200190f35b34801561027b57600080fd5b50610136610955565b34801561029057600080fd5b506102a5600160a060020a0360043516610a5d565b6040805192835260208301919091528051918290030190f35b3480156102ca57600080fd5b50610253610a76565b3480156102df57600080fd5b50610150610a85565b3480156102f457600080fd5b506101366024600480358281019290820135918135918201910135610a8b565b34801561032057600080fd5b50610136600160a060020a0360043516602435610c23565b34801561034457600080fd5b50610253610cae565b34801561035957600080fd5b50610136600160a060020a0360043516610cbd565b34801561037a57600080fd5b50610150610d41565b34801561038f57600080fd5b506103a4600160a060020a0360043516610d47565b604080519115158252519081900360200190f35b3480156103c457600080fd5b50610136610d63565b3480156103d957600080fd5b506103ee600160a060020a0360043516610ddb565b604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff199092168252519081900360200190f35b34801561042c57600080fd5b50610150610df3565b600054600160a060020a03163314610499576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020610e2e8339815191526044820152600080516020610e4e833981519152606482015290519081900360840190fd5b73__SynthetixState.sol:SafeDecimalMath____63907af6c06040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156104e057600080fd5b505af41580156104f4573d6000803e3d6000fd5b505050506040513d602081101561050a57600080fd5b5051811115610589576040805160e560020a62461bcd02815260206004820152603360248201527f4e65772069737375616e636520726174696f2063616e6e6f742065786365656460448201527f204d41585f49535355414e43455f524154494f00000000000000000000000000606482015290519081900360840190fd5b60088190556040805182815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529181900360200190a150565b60068054829081106105d257fe5b600091825260209091200154905081565b600054600160a060020a03163314610647576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020610e2e8339815191526044820152600080516020610e4e833981519152606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60075481565b600254600160a060020a03163314610712576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b60055461072690600163ffffffff610df916565b600555565b600254600160a060020a0316331461078f576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0155565b600680546000919060001981019081106107da57fe5b9060005260206000200154905090565b600254600160a060020a0316331461084e576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b600160a060020a03919091166000908152600960205260409020805463ffffffff191660e060020a909204919091179055565b600054600160a060020a031633146108e5576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020610e2e8339815191526044820152600080516020610e4e833981519152606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b600154600160a060020a031633146109dd576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b6004602052600090815260409020805460019091015482565b600054600160a060020a031681565b60055481565b60008054600160a060020a03163314610af0576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020610e2e8339815191526044820152600080516020610e4e833981519152606482015290519081900360840190fd5b6003544210610b6f576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757260448201527f696e672073657475700000000000000000000000000000000000000000000000606482015290519081900360840190fd5b838214610bc6576040805160e560020a62461bcd02815260206004820152600f60248201527f4c656e677468206d69736d617463680000000000000000000000000000000000604482015290519081900360640190fd5b5060005b60ff8116841115610c1c57610c14858560ff8416818110610be757fe5b90506020020135600160a060020a031684848460ff168181101515610c0857fe5b90506020020135610e12565b600101610bca565b5050505050565b600254600160a060020a03163314610c87576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b600160a060020a039091166000908152600460205260409020908155600654600190910155565b600254600160a060020a031681565b600254600160a060020a03163314610d21576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b600160a060020a0316600090815260046020526040812081815560010155565b60085481565b600160a060020a03166000908152600460205260408120541190565b600254600160a060020a03163314610dc7576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b60055461072690600163ffffffff610e1616565b60096020526000908152604090205460e060020a0281565b60065490565b600082820183811015610e0b57600080fd5b9392505050565b5050565b60008083831115610e2657600080fd5b505090039056004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e00000000000000000000000000000000004f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e000000000000000000000000a165627a7a72305820c9f0f45bbef3afdc30a9413c57bc1cebec8d88bec82aaddadb8d9b1726f8b5020029","abi":[{"constant":false,"inputs":[{"name":"_issuanceRatio","type":"uint256"}],"name":"setIssuanceRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x054be0b7"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"debtLedger","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x08d95cd5"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"importedXDRAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x16b29c57"},{"constant":false,"inputs":[],"name":"incrementTotalIssuerCount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1bfba595"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"appendDebtLedgerValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3d31e97b"},{"constant":true,"inputs":[],"name":"lastDebtLedgerEntry","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x46317712"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"currencyKey","type":"bytes4"}],"name":"setPreferredCurrency","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x51dc7f7d"},{"constant":false,"inputs":[{"name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"issuanceData","outputs":[{"name":"initialDebtOwnership","type":"uint256"},{"name":"debtEntryIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8b3f8088"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"totalIssuerCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9371bede"},{"constant":false,"inputs":[{"name":"accounts","type":"address[]"},{"name":"sUSDAmounts","type":"uint256[]"}],"name":"importIssuerData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9e49e976"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"initialDebtOwnership","type":"uint256"}],"name":"setCurrentIssuanceData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa764eb45"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"clearIssuanceData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb16c09f0"},{"constant":true,"inputs":[],"name":"issuanceRatio","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb410a034"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"hasIssued","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb992812e"},{"constant":false,"inputs":[],"name":"decrementTotalIssuerCount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xba08f299"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"preferredCurrency","outputs":[{"name":"","type":"bytes4"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcaca2516"},{"constant":true,"inputs":[],"name":"debtLedgerLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcd92eba9"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newRatio","type":"uint256"}],"name":"IssuanceRatioUpdated","type":"event","signature":"0x63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d885452"},{"anonymous":false,"inputs":[{"indexed":false,"name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"LegacyTokenState":{"bytecode":"0x608060405234801561001057600080fd5b50604051604080610b47833981018060405281019080805190602001909291908051906020019092919050505081806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0381604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050610a13806101346000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806352f445ca146100a957806353a47bb7146100ec5780635b94db271461014357806370a082311461018657806379ba5097146101dd5780638da5cb5b146101f4578063aefc4ccb1461024b578063b46310f6146102a2578063da46098c146102ef578063dd62ed3e1461035c575b600080fd5b3480156100b557600080fd5b506100ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103d3565b005b3480156100f857600080fd5b506101016104d5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014f57600080fd5b50610184600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104fb565b005b34801561019257600080fd5b506101c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105fd565b6040518082815260200191505060405180910390f35b3480156101e957600080fd5b506101f2610615565b005b34801561020057600080fd5b506102096107f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025757600080fd5b50610260610816565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ae57600080fd5b506102ed600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083c565b005b3480156102fb57600080fd5b5061035a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108e0565b005b34801561036857600080fd5b506103bd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109c2565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561042e57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0381604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561055657600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2281604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60036020528060005260406000206000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561067157600080fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561089857600080fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093c57600080fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a7230582075e885147ce472e429b7afa787a02ccc5f81ae0af8bc28ba37737c00bdc0a6fd0029","abi":[{"constant":false,"inputs":[{"name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5b94db27"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"value","type":"uint256"}],"name":"setBalanceOf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb46310f6"},{"constant":false,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"setAllowance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xda46098c"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdd62ed3e"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"TokenState":{"bytecode":"608060405234801561001057600080fd5b5060405161075d38038061075d8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506105b7806101a66000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b80631627540c146100a357806352f445ca146100cb57806353a47bb7146100f157806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100c9600480360360208110156100e157600080fd5b50356001600160a01b0316610251565b6100f96102ad565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603602081101561012b57600080fd5b50356001600160a01b03166102bc565b60408051918252519081900360200190f35b6100c96102ce565b6100f961038a565b6100f9610399565b6100c96004803603604081101561017b57600080fd5b506001600160a01b0381351690602001356103a8565b6100c9600480360360608110156101a757600080fd5b506001600160a01b0381358116916020810135909116906040013561040d565b61013b600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610482565b6101fd61049f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61025961049f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60036020526000908152604090205481565b6001546001600160a01b031633146103175760405162461bcd60e51b81526004018080602001828103825260358152602001806104eb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146103f15760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146104565760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b031633146104e85760405162461bcd60e51b815260040180806020018281038252602f815260200180610520602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820030e1123711506f5827f299497b58bf4619b88e1a6ea8d2aabdd179e945b810964736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setAllowance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setBalanceOf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3","urls":["bzz-raw://93bf0064dec628d8353bdd383a390e4a71fc2e2cd0372928d10e85bcabe69507","dweb:/ipfs/QmVqc3MxPwaGP1ev4yegbGdon2VAUsbHT7Vi1pgYT1bAiz"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"TokenState.sol":"TokenState"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"TokenState.sol":{"keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3","urls":["bzz-raw://93bf0064dec628d8353bdd383a390e4a71fc2e2cd0372928d10e85bcabe69507","dweb:/ipfs/QmVqc3MxPwaGP1ev4yegbGdon2VAUsbHT7Vi1pgYT1bAiz"]}},"version":1}},"Synthetix":{"bytecode":"6080604052600a805460ff191690553480156200001b57600080fd5b50604051620057d4380380620057d48339810160408190526200003e916200031f565b84848484848085856040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e000000000000000000815250604051806040016040528060038152602001620a69cb60eb1b81525086601289868160006001600160a01b0316816001600160a01b03161415620000dd5760405162461bcd60e51b8152600401620000d4906200046d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200012a91849062000435565b60405180910390a1506000546001600160a01b03166200015e5760405162461bcd60e51b8152600401620000d4906200045b565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620001ab90839062000425565b60405180910390a150600480546001600160a01b0319166001600160a01b0388161790558451620001e49060059060208801906200024d565b508351620001fa9060069060208701906200024d565b50506007919091556008805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397909716969096029590951790945550620004eb9c50505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200029057805160ff1916838001178555620002c0565b82800160010185558215620002c0579182015b82811115620002c0578251825591602001919060010190620002a3565b50620002ce929150620002d2565b5090565b620002ef91905b80821115620002ce5760008155600101620002d9565b90565b8051620002ff81620004bb565b92915050565b8051620002ff81620004d5565b8051620002ff81620004e0565b600080600080600060a086880312156200033857600080fd5b6000620003468888620002f2565b9550506020620003598882890162000305565b94505060406200036c88828901620002f2565b93505060606200037f8882890162000312565b92505060806200039288828901620002f2565b9150509295509295909350565b620003aa81620004ae565b82525050565b620003aa8162000488565b6000620003ca6011836200047f565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620003f96019836200047f565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002ff82846200039f565b604081016200044582856200039f565b620004546020830184620003b0565b9392505050565b60208082528101620002ff81620003bb565b60208082528101620002ff81620003ea565b90815260200190565b6000620002ff82620004a2565b6000620002ff8262000488565b6001600160a01b031690565b6000620002ff8262000495565b620004c68162000488565b8114620004d257600080fd5b50565b620004c68162000495565b620004c681620002ef565b6152d980620004fb6000396000f3fe608060405234801561001057600080fd5b50600436106104335760003560e01c80636c00f31011610236578063a311c7c21161013b578063d37c4d8b116100c3578063e8e09b8b11610087578063e8e09b8b146108a9578063e90dd9e2146108bc578063ec556889146108c4578063edef719a14610687578063ee52a2f3146108cc57610433565b8063d37c4d8b14610860578063d67bdd2514610873578063d8a1f76f1461087b578063dbf633401461088e578063dd62ed3e1461089657610433565b8063ace88afd1161010a578063ace88afd1461080c578063af086c7e1461081f578063bc67f83214610827578063c2bf38801461083a578063c836fa0a1461084d57610433565b8063a311c7c2146107c0578063a47ed94c146107d3578063a5fdc5de146107e6578063a9059cbb146107f957610433565b80638a290014116101be57806395d89b411161018d57806395d89b411461077757806397107d6d1461077f5780639741fb2214610792578063987757dd1461079a5780639f769807146107ad57610433565b80638a290014146107415780638da5cb5b1461075457806391e56b681461075c5780639324cac71461076f57610433565b80637418536011610205578063741853601461070357806379ba50971461070b578063835e119c1461071357806383d625d414610726578063899ffef41461073957610433565b80636c00f310146106b55780636f01a986146106c857806370a08231146106db57806372cb051f146106ee57610433565b80632e0f26251161033c5780634e99bda9116102c45780635e22846a116102935780635e22846a1461066c578063614d08f81461067f578063666ed4f1146106875780636ac0bf9c1461069a5780636b76222f146106ad57610433565b80634e99bda914610634578063528c7efb1461063c57806353a47bb7146106445780635af090ef1461065957610433565b8063320223db1161030b578063320223db146105e057806332608039146105f35780633b05796b146106065780633e89b9e51461060e57806344b3e9231461062157610433565b80632e0f26251461059d5780632f7206ce146105b257806330ead760146105c5578063313ce567146105d857610433565b806318160ddd116103bf578063295da87d1161038e578063295da87d146105545780632a905318146105675780632af64bd31461056f5780632c955fa7146105775780632d3169eb1461058a57610433565b806318160ddd1461051e57806318821400146105265780631fce304d1461052e57806323b872dd1461054157610433565b80630e30963c116104065780630e30963c146104ab5780631137aedf146104cc5780631249c58b146104ee5780631627540c146104f657806316b2213f1461050b57610433565b806304f3bcec1461043857806305b3c1c91461045657806306fdde0314610476578063095ea7b31461048b575b600080fd5b6104406108df565b60405161044d9190614fc3565b60405180910390f35b610469610464366004613d8f565b6108f3565b60405161044d9190614e24565b61047e610980565b60405161044d9190614fd1565b61049e610499366004613e52565b610a0e565b60405161044d9190614e16565b6104be6104b93660046140a5565b610a9b565b60405161044d929190615140565b6104df6104da366004613d8f565b610baa565b60405161044d93929190614ec8565b61049e610c3f565b610509610504366004613d8f565b611002565b005b610469610519366004613d8f565b611060565b610469611095565b61047e61109b565b61049e61053c366004614069565b6110d4565b61049e61054f366004613e05565b611169565b610509610562366004614069565b6111a8565b61047e611229565b61049e611248565b610509610585366004613d8f565b611364565b6105096105983660046140a5565b6113b0565b6105a5611466565b60405161044d9190615183565b6105096105c0366004613f9c565b61146b565b6104696105d33660046140e8565b61152d565b6105a56115eb565b6105096105ee366004613d8f565b6115f4565b610440610601366004614069565b611640565b61049e6116c5565b61046961061c366004614069565b6116ce565b61046961062f36600461415d565b611706565b61049e6117be565b61049e61183d565b61064c6119a9565b60405161044d9190614c30565b6104696106673660046140e8565b6119b8565b61049e61067a366004613d8f565b611a18565b610469611db7565b610509610695366004613e52565b611dc7565b6104696106a8366004613d8f565b611dd3565b610509611edb565b6105096106c3366004613f9c565b611f86565b6105096106d6366004613e82565b611fd9565b6104696106e9366004613d8f565b612092565b6106f66120c4565b60405161044d9190614e05565b610509612142565b610509612294565b610440610721366004614069565b612330565b610469610734366004614069565b612365565b6106f661239d565b61050961074f366004614069565b61245e565b61064c6124a8565b61046961076a366004613f15565b6124b7565b610469612577565b61047e612582565b61050961078d366004613d8f565b6125dd565b610509612630565b6104df6107a8366004614069565b6126ae565b6105096107bb3660046141d2565b612724565b6104696107ce366004613d8f565b612750565b6105096107e1366004614069565b612785565b6104696107f4366004613d8f565b6127e2565b61049e610807366004613e52565b612817565b61050961081a366004613e82565b612861565b6105096128ae565b610509610835366004613d8f565b6128f7565b610509610848366004613e52565b612921565b61046961085b366004613eb4565b6129a5565b61046961086e366004613e52565b612a63565b61064c612aea565b610509610889366004614069565b612af9565b610469612b01565b6104696108a4366004613dcb565b612b7b565b6105096108b7366004613e52565b612baf565b610440612bfd565b610440612c0c565b6104696108da3660046140c7565b612c1b565b60085461010090046001600160a01b031681565b60006108fd612cd7565b6001600160a01b03166305b3c1c9836040518263ffffffff1660e01b81526004016109289190614c30565b60206040518083038186803b15801561094057600080fd5b505afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109789190810190614087565b90505b919050565b6005805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a065780601f106109db57610100808354040283529160200191610a06565b820191906000526020600020905b8154815290600101906020018083116109e957829003601f168201915b505050505081565b6000610a18612ceb565b60035460048054604051633691826360e21b81526001600160a01b03938416939091169163da46098c91610a529185918991899101614d58565b600060405180830381600087803b158015610a6c57600080fd5b505af1158015610a80573d6000803e3d6000fd5b50505050610a8f818585612d2a565b60019150505b92915050565b6000808584610aaa8282612daa565b610ab2612ceb565b610aba612e0b565b6001600160a01b0316634f8633d2600360009054906101000a90046001600160a01b0316600360009054906101000a90046001600160a01b03168b8b8b600360009054906101000a90046001600160a01b03166001600360009054906101000a90046001600160a01b03168e6040518a63ffffffff1660e01b8152600401610b4a99989796959493929190614d08565b6040805180830381600087803b158015610b6357600080fd5b505af1158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b9b9190810190614220565b93509350505094509492505050565b6000806000610bb7612cd7565b6001600160a01b0316631137aedf856040518263ffffffff1660e01b8152600401610be29190614c30565b60606040518083038186803b158015610bfa57600080fd5b505afa158015610c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c329190810190614280565b9250925092509193909250565b6000610c49612e22565b6000610c53612e76565b6001600160a01b03161415610c835760405162461bcd60e51b8152600401610c7a906150ac565b60405180910390fd5b6000610c8d612e97565b90506000610c99612e76565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cd657600080fd5b505afa158015610cea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d0e9190810190614087565b905060008111610d305760405162461bcd60e51b8152600401610c7a90615113565b610d3c60003083612eb3565b604051637e7961d760e01b81526000906001600160a01b03851690637e7961d790610d6b908590600401614e24565b602060405180830381600087803b158015610d8557600080fd5b505af1158015610d99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dbd9190810190614087565b90506000610dd1838363ffffffff612ef616565b600480546040516370a0823160e01b81529293506001600160a01b03169163b46310f6918791610e6d91869186916370a0823191610e1191879101614c30565b60206040518083038186803b158015610e2957600080fd5b505afa158015610e3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e619190810190614087565b9063ffffffff612f1e16565b6040518363ffffffff1660e01b8152600401610e8a929190614d9b565b600060405180830381600087803b158015610ea457600080fd5b505af1158015610eb8573d6000803e3d6000fd5b50505050610ec7308583612eb3565b604051630b32e9c760e31b81526001600160a01b038516906359974e3890610ef3908490600401614e24565b602060405180830381600087803b158015610f0d57600080fd5b505af1158015610f21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f45919081019061404b565b50600480546040516370a0823160e01b81526001600160a01b039091169163b46310f6913391610f8591879186916370a0823191610e1191879101614c3e565b6040518363ffffffff1660e01b8152600401610fa2929190614c4c565b600060405180830381600087803b158015610fbc57600080fd5b505af1158015610fd0573d6000803e3d6000fd5b50505050610fdf303384612eb3565b600754610ff2908463ffffffff612f1e16565b6007555060019450505050505b90565b61100a612f43565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290611055908390614c30565b60405180910390a150565b600061106a612cd7565b6001600160a01b03166316b2213f836040518263ffffffff1660e01b81526004016109289190614c30565b60075481565b6040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e00000000000000000081525081565b6000806110df612e0b565b6003546040516301670a7b60e21b81526001600160a01b039283169263059c29ec92611112929116908790600401614d9b565b60206040518083038186803b15801561112a57600080fd5b505afa15801561113e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111629190810190614087565b1192915050565b6000611173612f6d565b61117b612fc2565b6111858483613002565b5060035461119e906001600160a01b03168585856131e7565b90505b9392505050565b6111b0612e22565b6111b8612ceb565b6111c0612cd7565b60035460405163b06e8c6560e01b81526001600160a01b039283169263b06e8c65926111f3929116908590600401614d9b565b600060405180830381600087803b15801561120d57600080fd5b505af1158015611221573d6000803e3d6000fd5b505050505b50565b604051806040016040528060038152602001620a69cb60eb1b81525081565b6000606061125461239d565b905060005b815181101561135b57600082828151811061127057fe5b602090810291909101810151600081815260099092526040918290205460085492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a721906112c6908590600401614e24565b60206040518083038186803b1580156112de57600080fd5b505afa1580156112f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113169190810190613dad565b6001600160a01b031614158061134157506000818152600960205260409020546001600160a01b0316155b156113525760009350505050610fff565b50600101611259565b50600191505090565b61136c612e22565b611374612ceb565b61137c612cd7565b60035460405163159fa0d560e11b81526001600160a01b0392831692632b3f41aa926111f392869290911690600401614c67565b6113b86132ef565b6002546040516001600160a01b039091169063907dff97906113e290869086908690602001614ec8565b60405160208183030381529060405260026040516113ff90614bb8565b6040519081900381206001600160e01b031960e086901b16825261142e9392918a906000908190600401614f42565b600060405180830381600087803b15801561144857600080fd5b505af115801561145c573d6000803e3d6000fd5b5050505050505050565b601281565b6114736132ef565b6002546040516001600160a01b039091169063907dff97906114a19088908890889088908890602001614e7c565b60405160208183030381529060405260026040516114be90614ba2565b60405180910390206114cf8b613327565b6000806040518763ffffffff1660e01b81526004016114f396959493929190614f42565b600060405180830381600087803b15801561150d57600080fd5b505af1158015611521573d6000803e3d6000fd5b50505050505050505050565b6000858461153b8282612daa565b611543612ceb565b61154b612e0b565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d29261158d9291169081908d908d908d9084906000908f908f90600401614d08565b6040805180830381600087803b1580156115a657600080fd5b505af11580156115ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115de9190810190614220565b5098975050505050505050565b60085460ff1681565b6115fc612e22565b611604612ceb565b61160c612cd7565b60035460405163fd864ccf60e01b81526001600160a01b039283169263fd864ccf926111f392869290911690600401614c67565b600061164a612cd7565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004016116759190614e24565b60206040518083038186803b15801561168d57600080fd5b505afa1580156116a1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097891908101906141b4565b600a5460ff1681565b60006116d8612cd7565b6001600160a01b0316637b1001b78360016040518363ffffffff1660e01b8152600401610928929190614e40565b600085846117148282612daa565b61171c612ceb565b611724612e0b565b60035460405162674ed160e71b81526001600160a01b03928316926333a7688092611760929116908c908c908c9084908d908d90600401614da9565b602060405180830381600087803b15801561177a57600080fd5b505af115801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117b29190810190614087565b98975050505050505050565b60006117c8612cd7565b6001600160a01b0316634e99bda96040518163ffffffff1660e01b815260040160206040518083038186803b15801561180057600080fd5b505afa158015611814573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611838919081019061404b565b905090565b6000611847612fc2565b61184f612ceb565b60008061185a612cd7565b6003546040516339632c0b60e11b81526001600160a01b03928316926372c658169261188e92911690600190600401614d80565b6040805180830381600087803b1580156118a757600080fd5b505af11580156118bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118df9190810190614250565b60035491935091506118fc906001600160a01b0316838382613333565b60035460009061191d906001600160a01b03166119176133af565b856133ce565b90508061193c5760405162461bcd60e51b8152600401610c7a906150d9565b6119446133af565b6001600160a01b0316633c6b16ab846040518263ffffffff1660e01b815260040161196f9190614e24565b600060405180830381600087803b15801561198957600080fd5b505af115801561199d573d6000803e3d6000fd5b50929550505050505090565b6001546001600160a01b031681565b600085846119c68282612daa565b6119ce612ceb565b6119d6612e0b565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d29261158d9291169081908d908d908d9032906000908f908f90600401614c82565b6000611a22612fc2565b611a2a612ceb565b600080611a35612cd7565b6001600160a01b03166372c658168560006040518363ffffffff1660e01b8152600401611a63929190614d80565b6040805180830381600087803b158015611a7c57600080fd5b505af1158015611a90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ab49190810190614250565b6003549193509150611ad4908590849084906001600160a01b0316613333565b8115611dac57600080611ae56133db565b6001600160a01b0316638074b3726040518163ffffffff1660e01b815260040160206040518083038186803b158015611b1d57600080fd5b505afa158015611b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b559190810190614087565b90506000611b616133db565b6001600160a01b03166331e4e0306040518163ffffffff1660e01b815260040160206040518083038186803b158015611b9957600080fd5b505afa158015611bad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bd19190810190614087565b9050611be3828263ffffffff612f1e16565b851115611d01576000611bf46133db565b6001600160a01b0316635616c957896040518263ffffffff1660e01b8152600401611c1f9190614c30565b60206040518083038186803b158015611c3757600080fd5b505afa158015611c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c6f9190810190613dad565b90506000611c7e8983866133ce565b905080611c9d5760405162461bcd60e51b8152600401610c7a9061504f565b600354600090611cb8908b906001600160a01b0316866133ce565b905080611cd75760405162461bcd60e51b8152600401610c7a906150f6565b611cf7611cea868663ffffffff612f1e16565b899063ffffffff612ef616565b9550505050611d05565b8492505b6000611d1988611d136133af565b866133ce565b905080611d385760405162461bcd60e51b8152600401610c7a906150d9565b611d406133af565b6001600160a01b0316633c6b16ab856040518263ffffffff1660e01b8152600401611d6b9190614e24565b600060405180830381600087803b158015611d8557600080fd5b505af1158015611d99573d6000803e3d6000fd5b505050506001965050505050505061097b565b60009250505061097b565b680a6f2dce8d0cae8d2f60bb1b81565b611dcf6133f3565b5050565b6000611ddd612cd7565b600480546040516370a0823160e01b81526001600160a01b0393841693636bed0415938793909116916370a0823191611e1891859101614c30565b60206040518083038186803b158015611e3057600080fd5b505afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e689190810190614087565b6040518363ffffffff1660e01b8152600401611e85929190614d9b565b604080518083038186803b158015611e9c57600080fd5b505afa158015611eb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ed491908101906141f0565b5092915050565b611ee3612f43565b6004546000906001600160a01b03166370a08231611eff61340b565b6040518263ffffffff1660e01b8152600401611f1b9190614c30565b60206040518083038186803b158015611f3357600080fd5b505afa158015611f47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f6b9190810190614087565b9050611dcf611f7861340b565b611f80613425565b83613441565b611f8e6132ef565b6002546040516001600160a01b039091169063907dff9790611fbc9088908890889088908890602001614e7c565b60405160208183030381529060405260026040516114be90614be3565b611fe16132ef565b6002546040516001600160a01b039091169063907dff97906120099085908590602001614e4e565b604051602081830303815290604052600260405161202690614bf9565b604051809103902061203788613327565b6000806040518763ffffffff1660e01b815260040161205b96959493929190614f42565b600060405180830381600087803b15801561207557600080fd5b505af1158015612089573d6000803e3d6000fd5b50505050505050565b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a082319161092891869101614c30565b60606120ce612cd7565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561210657600080fd5b505afa15801561211a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118389190810190614016565b606061214c61239d565b905060005b8151811015611dcf57600082828151811061216857fe5b602002602001015190506000600860019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016121aa9190614c1a565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016121d6929190614e5c565b60206040518083038186803b1580156121ee57600080fd5b505afa158015612202573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122269190810190613dad565b6000838152600960205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906122829084908490614e32565b60405180910390a15050600101612151565b6001546001600160a01b031633146122be5760405162461bcd60e51b8152600401610c7a90614ff2565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92612301926001600160a01b0391821692911690614c67565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061233a612cd7565b6001600160a01b031663835e119c836040518263ffffffff1660e01b81526004016116759190614e24565b600061236f612cd7565b6001600160a01b0316637b1001b78360006040518363ffffffff1660e01b8152600401610928929190614e40565b6060806123a86135c1565b60408051600380825260808201909252919250606091906020820183803883390190505090506b526577617264457363726f7760a01b816000815181106123eb57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160018151811061241657fe5b6020026020010181815250506d537570706c795363686564756c6560901b8160028151811061244157fe5b60200260200101818152505061245782826136de565b9250505090565b612466612e22565b61246e612ceb565b612476612cd7565b6003546040516285c0d160e31b81526001600160a01b039283169263042e0688926111f3929116908590600401614d9b565b6000546001600160a01b031681565b600085846124c58282612daa565b6124cd612ceb565b6124d5612e0b565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612518928e92909116908d908d908d9085906000908f908f90600401614d08565b6040805180830381600087803b15801561253157600080fd5b505af1158015612545573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125699190810190614220565b509998505050505050505050565b631cd554d160e21b81565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a065780601f106109db57610100808354040283529160200191610a06565b6125e5612f43565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90611055908390614c3e565b612638612e22565b612640612ceb565b612648612cd7565b6003546040516324beb82560e11b81526001600160a01b039283169263497d704a9261267992911690600401614c30565b600060405180830381600087803b15801561269357600080fd5b505af11580156126a7573d6000803e3d6000fd5b505050505b565b60008060006126bb612ceb565b6126c3612e0b565b6003546040516306c5a00b60e21b81526001600160a01b0392831692631b16802c926126f6929116908890600401614d9b565b606060405180830381600087803b15801561271057600080fd5b505af1158015610c0e573d6000803e3d6000fd5b61272c613793565b600480546001600160a01b0319166001600160a01b03831617905561122681613801565b600061275a612cd7565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b81526004016109289190614c30565b61278d612f43565b600a5460ff1661122657600a805460ff1916600117905560006127c36127b16133af565b6000546001600160a01b0316846133ce565b905080611dcf5760405162461bcd60e51b8152600401610c7a9061502f565b60006127ec612cd7565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b81526004016109289190614c30565b6000612821612f6d565b612829612fc2565b60035461283f906001600160a01b031683613002565b50600354612857906001600160a01b031684846133ce565b5060019392505050565b6128696132ef565b6002546040516001600160a01b039091169063907dff97906128919085908590602001614e4e565b604051602081830303815290604052600260405161202690614bad565b6128b6612e22565b6128be612ceb565b6128c6612cd7565b60035460405163644bb89960e11b81526001600160a01b039283169263c89771329261267992911690600401614c30565b6128ff613873565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b612929612e22565b612931612ceb565b612939612cd7565b600354604051632694552d60e21b81526001600160a01b0392831692639a5154b49261296f928792909116908690600401614d58565b600060405180830381600087803b15801561298957600080fd5b505af115801561299d573d6000803e3d6000fd5b505050505050565b600083826129b38282612daa565b6129bb612ceb565b6129c3612e0b565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612a06928c92909116908b908b908b90859060009082908290600401614d08565b6040805180830381600087803b158015612a1f57600080fd5b505af1158015612a33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a579190810190614220565b50979650505050505050565b6000612a6d612cd7565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b8152600401612a9a929190614d9b565b60206040518083038186803b158015612ab257600080fd5b505afa158015612ac6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111a19190810190614087565b6003546001600160a01b031681565b6112266133f3565b6000612b0b612cd7565b6001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015612b4357600080fd5b505afa158015612b57573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118389190810190614087565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163dd62ed3e91612a9a918791879101614c67565b612bb7612e22565b612bbf612ceb565b612bc7612cd7565b60035460405163227635b160e11b81526001600160a01b03928316926344ec6b629261296f928792909116908690600401614d58565b6004546001600160a01b031681565b6002546001600160a01b031681565b60008382612c298282612daa565b612c31612ceb565b612c39612e0b565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612c7b9291169081908b908b908b90849060009082908290600401614d08565b6040805180830381600087803b158015612c9457600080fd5b505af1158015612ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ccc9190810190614220565b509695505050505050565b60006118386524b9b9bab2b960d11b61389d565b6002546001600160a01b03163314801590612d1157506003546001600160a01b03163314155b156126ac57600380546001600160a01b03191633179055565b6002546040516001600160a01b039091169063907dff9790612d50908490602001614e24565b6040516020818303038152906040526003604051612d6d90614bee565b6040518091039020612d7e88613327565b612d8788613327565b60006040518763ffffffff1660e01b815260040161205b96959493929190614f7c565b612db26138fa565b6001600160a01b0316631ce00ba283836040518363ffffffff1660e01b8152600401612ddf929190614e4e565b60006040518083038186803b158015612df757600080fd5b505afa15801561299d573d6000803e3d6000fd5b60006118386822bc31b430b733b2b960b91b61389d565b612e2a6138fa565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612e6257600080fd5b505afa1580156126a7573d6000803e3d6000fd5b6000611838722932bbb0b93239a234b9ba3934b13aba34b7b760691b61389d565b60006118386d537570706c795363686564756c6560901b61389d565b6002546040516001600160a01b039091169063907dff9790612ed9908490602001614e24565b6040516020818303038152906040526003604051612d6d90614c25565b600082821115612f185760405162461bcd60e51b8152600401610c7a9061506c565b50900390565b6000828201838110156111a15760405162461bcd60e51b8152600401610c7a9061503f565b6000546001600160a01b031633146126ac5760405162461bcd60e51b8152600401610c7a906150c9565b6002546001600160a01b0316331415612f85576126ac565b612f8e33613914565b15612faa57600380546001600160a01b031916331790556126ac565b60405162461bcd60e51b8152600401610c7a90615123565b612fca6138fa565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015612e6257600080fd5b60008061300d612cd7565b6001600160a01b031663d37c4d8b85631cd554d160e21b6040518363ffffffff1660e01b8152600401613041929190614d9b565b60206040518083038186803b15801561305957600080fd5b505afa15801561306d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130919190810190614087565b11156131de576000806130a2612cd7565b600480546040516370a0823160e01b81526001600160a01b0393841693636bed0415938a93909116916370a08231916130dd91859101614c30565b60206040518083038186803b1580156130f557600080fd5b505afa158015613109573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061312d9190810190614087565b6040518363ffffffff1660e01b815260040161314a929190614d9b565b604080518083038186803b15801561316157600080fd5b505afa158015613175573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061319991908101906141f0565b91509150818411156131bd5760405162461bcd60e51b8152600401610c7a9061508c565b80156131db5760405162461bcd60e51b8152600401610c7a9061509c565b50505b50600192915050565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163da46098c9187918991613289918891879163dd62ed3e9161322d918891889101614c67565b60206040518083038186803b15801561324557600080fd5b505afa158015613259573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061327d9190810190614087565b9063ffffffff612ef616565b6040518463ffffffff1660e01b81526004016132a793929190614d58565b600060405180830381600087803b1580156132c157600080fd5b505af11580156132d5573d6000803e3d6000fd5b505050506132e4848484613441565b90505b949350505050565b6132f7612e0b565b6001600160a01b0316336001600160a01b0316146126ac5760405162461bcd60e51b8152600401610c7a9061501f565b6001600160a01b031690565b6002546040516001600160a01b039091169063907dff979061335d9086908690869060200161515b565b604051602081830303815290604052600260405161337a90614c0f565b604051809103902061338b89613327565b6000806040518763ffffffff1660e01b815260040161142e96959493929190614f42565b6000611838704c697175696461746f725265776172647360781b61389d565b600061119e848484613441565b6000611838692634b8bab4b230ba37b960b11b61389d565b60405162461bcd60e51b8152600401610c7a9061507c565b60006118386b526577617264457363726f7760a01b61389d565b60006118386d2932bbb0b93222b9b1b937bbab1960911b61389d565b60006001600160a01b0383161580159061346457506001600160a01b0383163014155b801561347e57506002546001600160a01b03848116911614155b61349a5760405162461bcd60e51b8152600401610c7a90614fe2565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f69187916134d991879186916370a082319161322d91879101614c30565b6040518363ffffffff1660e01b81526004016134f6929190614d9b565b600060405180830381600087803b15801561351057600080fd5b505af1158015613524573d6000803e3d6000fd5b5050600480546040516370a0823160e01b81526001600160a01b03909116935063b46310f69250869161356791879186916370a0823191610e1191879101614c30565b6040518363ffffffff1660e01b8152600401613584929190614d9b565b600060405180830381600087803b15801561359e57600080fd5b505af11580156135b2573d6000803e3d6000fd5b50505050612857848484612eb3565b60408051600680825260e082019092526060916020820160c0803883390190505090506b53797374656d53746174757360a01b8160008151811061360157fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061362757fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061364a57fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b8160038151811061367a57fe5b602002602001018181525050704c697175696461746f725265776172647360781b816004815181106136a857fe5b602002602001018181525050692634b8bab4b230ba37b960b11b816005815181106136cf57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561370e578160200160208202803883390190505b50905060005b83518110156137505783818151811061372957fe5b602002602001015182828151811061373d57fe5b6020908102919091010152600101613714565b5060005b8251811015611ed45782818151811061376957fe5b602002602001015182828651018151811061378057fe5b6020908102919091010152600101613754565b6002546001600160a01b031633148015906137b957506003546001600160a01b03163314155b156137d157600380546001600160a01b031916331790555b6000546003546001600160a01b039081169116146126ac5760405162461bcd60e51b8152600401610c7a9061500f565b6002546040516001600160a01b039091169063907dff9790613827908490602001614c30565b604051602081830303815290604052600160405161384490614c04565b6040519081900381206001600160e01b031960e086901b1682526111f393929160009081908190600401614ee3565b6002546001600160a01b031633146126ac5760405162461bcd60e51b8152600401610c7a90615123565b60008181526009602090815260408083205490516001600160a01b0390911691821515916138cd91869101614bc3565b60405160208183030381529060405290611ed45760405162461bcd60e51b8152600401610c7a9190614fd1565b60006118386b53797374656d53746174757360a01b61389d565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a7219061394890600401615133565b60206040518083038186803b15801561396057600080fd5b505afa158015613974573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139989190810190613dad565b6001600160a01b0316826001600160a01b03161480613a4957506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906139e4906004016150e9565b60206040518083038186803b1580156139fc57600080fd5b505afa158015613a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a349190810190613dad565b6001600160a01b0316826001600160a01b0316145b80613ae657506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190613a819060040161505f565b60206040518083038186803b158015613a9957600080fd5b505afa158015613aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ad19190810190613dad565b6001600160a01b0316826001600160a01b0316145b80613b8357506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190613b1e90600401615002565b60206040518083038186803b158015613b3657600080fd5b505afa158015613b4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b6e9190810190613dad565b6001600160a01b0316826001600160a01b0316145b80613c2057506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190613bbb906004016150bc565b60206040518083038186803b158015613bd357600080fd5b505afa158015613be7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c0b9190810190613dad565b6001600160a01b0316826001600160a01b0316145b8061097857506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190613c5890600401615106565b60206040518083038186803b158015613c7057600080fd5b505afa158015613c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ca89190810190613dad565b6001600160a01b0316826001600160a01b0316149050919050565b8035610a9581615267565b8051610a9581615267565b600082601f830112613cea57600080fd5b8151613cfd613cf8826151b8565b615191565b91508181835260208401935060208101905083856020840282011115613d2257600080fd5b60005b83811015613d4e5781613d388882613d6e565b8452506020928301929190910190600101613d25565b5050505092915050565b8051610a958161527b565b8035610a9581615284565b8051610a9581615284565b8051610a958161528d565b8035610a958161528d565b600060208284031215613da157600080fd5b60006132e78484613cc3565b600060208284031215613dbf57600080fd5b60006132e78484613cce565b60008060408385031215613dde57600080fd5b6000613dea8585613cc3565b9250506020613dfb85828601613cc3565b9150509250929050565b600080600060608486031215613e1a57600080fd5b6000613e268686613cc3565b9350506020613e3786828701613cc3565b9250506040613e4886828701613d63565b9150509250925092565b60008060408385031215613e6557600080fd5b6000613e718585613cc3565b9250506020613dfb85828601613d63565b600080600060608486031215613e9757600080fd5b6000613ea38686613cc3565b9350506020613e3786828701613d63565b60008060008060808587031215613eca57600080fd5b6000613ed68787613cc3565b9450506020613ee787828801613d63565b9350506040613ef887828801613d63565b9250506060613f0987828801613d63565b91505092959194509250565b60008060008060008060c08789031215613f2e57600080fd5b6000613f3a8989613cc3565b9650506020613f4b89828a01613d63565b9550506040613f5c89828a01613d63565b9450506060613f6d89828a01613d63565b9350506080613f7e89828a01613cc3565b92505060a0613f8f89828a01613d63565b9150509295509295509295565b60008060008060008060c08789031215613fb557600080fd5b6000613fc18989613cc3565b9650506020613fd289828a01613d63565b9550506040613fe389828a01613d63565b9450506060613ff489828a01613d63565b935050608061400589828a01613d63565b92505060a0613f8f89828a01613cc3565b60006020828403121561402857600080fd5b815167ffffffffffffffff81111561403f57600080fd5b6132e784828501613cd9565b60006020828403121561405d57600080fd5b60006132e78484613d58565b60006020828403121561407b57600080fd5b60006132e78484613d63565b60006020828403121561409957600080fd5b60006132e78484613d6e565b600080600080608085870312156140bb57600080fd5b6000613ed68787613d63565b6000806000606084860312156140dc57600080fd5b6000613ea38686613d63565b600080600080600060a0868803121561410057600080fd5b600061410c8888613d63565b955050602061411d88828901613d63565b945050604061412e88828901613d63565b935050606061413f88828901613cc3565b925050608061415088828901613d63565b9150509295509295909350565b600080600080600060a0868803121561417557600080fd5b60006141818888613d63565b955050602061419288828901613d63565b94505060406141a388828901613d63565b935050606061413f88828901613d63565b6000602082840312156141c657600080fd5b60006132e78484613d79565b6000602082840312156141e457600080fd5b60006132e78484613d84565b6000806040838503121561420357600080fd5b600061420f8585613d6e565b9250506020613dfb85828601613d58565b6000806040838503121561423357600080fd5b600061423f8585613d6e565b9250506020613dfb85828601613d79565b6000806040838503121561426357600080fd5b600061426f8585613d6e565b9250506020613dfb85828601613d6e565b60008060006060848603121561429557600080fd5b60006142a18686613d6e565b93505060206142b286828701613d6e565b9250506040613e4886828701613d6e565b60006142cf8383614351565b505060200190565b6142e08161520d565b82525050565b6142e0816151ec565b60006142fa826151df565b61430481856151e3565b935061430f836151d9565b8060005b8381101561433d57815161432788826142c3565b9750614332836151d9565b925050600101614313565b509495945050505050565b6142e0816151f7565b6142e081610fff565b6142e061436682610fff565b610fff565b6000614376826151df565b61438081856151e3565b9350614390818560208601615231565b6143998161525d565b9093019392505050565b6142e0816151fc565b6142e081615218565b6142e081615226565b60006143cb601f836151e3565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b60006144046035836151e3565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6e53796e746865746978457363726f7760881b9052565b60006144726013836151e3565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b60006144a1601e836151e3565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b60006144da60448361097b565b7f41746f6d696353796e746845786368616e676528616464726573732c6279746581527f7333322c75696e743235362c627974657333322c75696e743235362c616464726020820152636573732960e01b604082015260440192915050565b6000614546601b836151e3565b7f7265737469747574696f6e207472616e73666572206661696c65640000000000815260200192915050565b600061457f601b836151e3565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006145b86024836151e3565b7f466c616720726577617264207472616e7366657220646964206e6f742073756381526318d9595960e21b602082015260400192915050565b6b526577617264457363726f7760a01b9052565b600061461260288361097b565b7f45786368616e67655265636c61696d28616464726573732c627974657333322c81526775696e743235362960c01b602082015260280192915050565b600061465c601e836151e3565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614695601b836151e3565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b60006146ce60318361097b565b7f45786368616e6765547261636b696e6728627974657333322c627974657333328152702c75696e743235362c75696e743235362960781b602082015260310192915050565b600061472160118361097b565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061474e603e8361097b565b7f53796e746845786368616e676528616464726573732c627974657333322c756981527f6e743235362c627974657333322c75696e743235362c616464726573732900006020820152603e0192915050565b60006147ad6026836151e3565b7f43616e6e6f74207472616e73666572207374616b6564206f7220657363726f778152650cac840a69cb60d31b602082015260400192915050565b60006147f5601e836151e3565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b600061482e601b836151e3565b7f52657761726473446973747269627574696f6e206e6f74207365740000000000815260200192915050565b6d54726164696e675265776172647360901b9052565b600061487d602f836151e3565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006148ce6024836151e3565b7f5472616e7366657220746f204c697175696461746f72526577617264732066618152631a5b195960e21b602082015260400192915050565b600061491460218361097b565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b600061495760278361097b565b7f45786368616e676552656261746528616464726573732c627974657333322c75815266696e743235362960c81b602082015260270192915050565b60006149a0601a8361097b565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b60006149d960328361097b565b7f4163636f756e744c69717569646174656428616464726573732c75696e743235815271362c75696e743235362c616464726573732960701b602082015260320192915050565b6d2932bbb0b93222b9b1b937bbab1960911b9052565b6000614a4360198361097b565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000614a7c6029836151e3565b7f4c697175696461746520726577617264207472616e7366657220646964206e6f8152681d081cdd58d8d9595960ba1b602082015260400192915050565b6411195c1bdd60da1b9052565b6000614ad46015836151e3565b744e6f20737570706c79206973206d696e7461626c6560581b815260200192915050565b6000614b0560218361097b565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000614b486017836151e3565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b7f53796e746865746978427269646765546f4f7074696d69736d000000000000009052565b6142e081615207565b6000610a95826144cd565b6000610a9582614605565b6000610a95826146c1565b6000614bce82614714565b9150614bda828461435a565b50602001919050565b6000610a9582614741565b6000610a9582614907565b6000610a958261494a565b6000610a9582614993565b6000610a95826149cc565b6000614bce82614a36565b6000610a9582614af8565b60208101610a9582846142e6565b60208101610a9582846142d7565b60408101614c5a82856142d7565b6111a16020830184614351565b60408101614c7582856142e6565b6111a160208301846142e6565b6101208101614c91828c6142e6565b614c9e602083018b6142e6565b614cab604083018a614351565b614cb86060830189614351565b614cc56080830188614351565b614cd260a08301876142d7565b614cdf60c0830186614348565b614cec60e08301856142e6565b614cfa610100830184614351565b9a9950505050505050505050565b6101208101614d17828c6142e6565b614d24602083018b6142e6565b614d31604083018a614351565b614d3e6060830189614351565b614d4b6080830188614351565b614cd260a08301876142e6565b60608101614d6682866142e6565b614d7360208301856142e6565b6132e76040830184614351565b60408101614d8e82856142e6565b6111a16020830184614348565b60408101614c5a82856142e6565b60e08101614db7828a6142e6565b614dc46020830189614351565b614dd16040830188614351565b614dde6060830187614351565b614deb60808301866142e6565b614df860a0830185614351565b6117b260c0830184614351565b602080825281016111a181846142ef565b60208101610a958284614348565b60208101610a958284614351565b60408101614c758285614351565b60408101614d8e8285614351565b60408101614c5a8285614351565b60408101614e6a8285614351565b818103602083015261119e818461436b565b60a08101614e8a8288614351565b614e976020830187614351565b614ea46040830186614351565b614eb16060830185614351565b614ebe60808301846142e6565b9695505050505050565b60608101614ed68286614351565b614d736020830185614351565b60c08082528101614ef4818961436b565b9050614f0360208301886143b5565b614f106040830187614351565b614f1d60608301866143ac565b614f2a60808301856143ac565b614f3760a08301846143ac565b979650505050505050565b60c08082528101614f53818961436b565b9050614f6260208301886143b5565b614f6f6040830187614351565b614f1d6060830186614351565b60c08082528101614f8d818961436b565b9050614f9c60208301886143b5565b614fa96040830187614351565b614fb66060830186614351565b614f2a6080830185614351565b60208101610a9582846143a3565b602080825281016111a1818461436b565b60208082528101610978816143be565b60208082528101610978816143f7565b6020810161097b8261444e565b6020808252810161097881614465565b6020808252810161097881614494565b6020808252810161097881614539565b6020808252810161097881614572565b60208082528101610978816145ab565b6020810161097b826145f1565b602080825281016109788161464f565b6020808252810161097881614688565b60208082528101610978816147a0565b60208082528101610978816147e8565b6020808252810161097881614821565b6020810161097b8261485a565b6020808252810161097881614870565b60208082528101610978816148c1565b6020810161097b82614a20565b6020808252810161097881614a6f565b6020810161097b82614aba565b6020808252810161097881614ac7565b6020808252810161097881614b3b565b6020810161097b82614b74565b6040810161514e8285614351565b6111a160208301846143a3565b606081016151698286614351565b6151766020830185614351565b6132e760408301846142e6565b60208101610a958284614b99565b60405181810167ffffffffffffffff811182821017156151b057600080fd5b604052919050565b600067ffffffffffffffff8211156151cf57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061097882613327565b151590565b6000610978826151ec565b60ff1690565b6000610978826151fc565b600061097861436683610fff565b600061097882610fff565b60005b8381101561524c578181015183820152602001615234565b838111156126a75750506000910152565b601f01601f191690565b615270816151ec565b811461122657600080fd5b615270816151f7565b61527081610fff565b615270816151fc56fea365627a7a723158208bd3345358e58479952e74232c0ca8d3d67aed8a62f07994b1730a57a1d4a81c6c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"},{"internalType":"contract TokenState","name":"_tokenState","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"snxRedeemed","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"address","name":"liquidator","type":"address"}],"name":"AccountLiquidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"fromCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"fromAmount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"toAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"toAddress","type":"address"}],"name":"AtomicSynthExchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ExchangeRebate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ExchangeReclaim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"trackingCode","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"toAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"ExchangeTracking","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxyAddress","type":"address"}],"name":"ProxyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"fromCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"fromAmount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"toAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"toAddress","type":"address"}],"name":"SynthExchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTokenState","type":"address"}],"name":"TokenStateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_SYMBOL","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"anySynthOrSNXRateIsInvalid","outputs":[{"internalType":"bool","name":"anyRateInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"availableCurrencyKeys","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"availableSynthCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"availableSynths","outputs":[{"internalType":"contract ISynth","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"burnSecondary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"burnForAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnSynthsOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"burnSynthsToTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"burnForAddress","type":"address"}],"name":"burnSynthsToTargetOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"collateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_issuer","type":"address"}],"name":"collateralisationRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"debtBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"fromCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"fromAmount","type":"uint256"},{"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"toAmount","type":"uint256"},{"internalType":"address","name":"toAddress","type":"address"}],"name":"emitAtomicSynthExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emitExchangeRebate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emitExchangeReclaim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"trackingCode","type":"bytes32"},{"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"toAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"emitExchangeTracking","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"fromCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"fromAmount","type":"uint256"},{"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"toAmount","type":"uint256"},{"internalType":"address","name":"toAddress","type":"address"}],"name":"emitSynthExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"exchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"},{"internalType":"uint256","name":"minAmount","type":"uint256"}],"name":"exchangeAtomically","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"exchangeForAddress","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"exchangeOnBehalf","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"exchangeForAddress","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"rewardAddress","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchangeOnBehalfWithTracking","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"rewardAddress","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchangeWithTracking","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"rewardAddress","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchangeWithTrackingForInitiator","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchangeWithVirtual","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"contract IVirtualSynth","name":"vSynth","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"initializeLiquidatorRewardsRestitution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"isWaitingPeriod","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"issueMaxSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"issueForAddress","type":"address"}],"name":"issueMaxSynthsOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issueSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"issueForAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issueSynthsOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"liquidateDelinquentAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"liquidateSelf","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"maxIssuableSynths","outputs":[{"internalType":"uint256","name":"maxIssuable","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"migrateEscrowBalanceToRewardEscrowV2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"mintSecondary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mintSecondaryRewards","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"remainingIssuableSynths","outputs":[{"internalType":"uint256","name":"maxIssuable","type":"uint256"},{"internalType":"uint256","name":"alreadyIssued","type":"uint256"},{"internalType":"uint256","name":"totalSystemDebt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"restituted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sUSD","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"setMessageSender","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"}],"name":"setProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract TokenState","name":"_tokenState","type":"address"}],"name":"setTokenState","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settle","outputs":[{"internalType":"uint256","name":"reclaimed","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"},{"internalType":"uint256","name":"numEntriesSettled","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"synths","outputs":[{"internalType":"contract ISynth","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"synthAddress","type":"address"}],"name":"synthsByAddress","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenState","outputs":[{"internalType":"contract TokenState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"totalIssuedSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"totalIssuedSynthsExcludeOtherCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"transferableSynthetix","outputs":[{"internalType":"uint256","name":"transferable","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xf00660ef25f409118798c084d386e09132dd4ea32937ae59f1a820471138a98c","urls":["bzz-raw://6e2b432d26432f5ca3f5c6002992dee7ce502514e70a82a3f983c7708ab720e9","dweb:/ipfs/QmUXTrBXv8cgR6e9BHXYyJa71chntgC7jhsxY3aieqasu9"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"Synthetix.sol":"Synthetix"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"Synthetix.sol":{"keccak256":"0xf00660ef25f409118798c084d386e09132dd4ea32937ae59f1a820471138a98c","urls":["bzz-raw://6e2b432d26432f5ca3f5c6002992dee7ce502514e70a82a3f983c7708ab720e9","dweb:/ipfs/QmUXTrBXv8cgR6e9BHXYyJa71chntgC7jhsxY3aieqasu9"]}},"version":1}},"SynthetixEscrow":{"bytecode":"608060405234801561001057600080fd5b5060405160408061161b8339810160405280516020909101516249d40082600160a060020a03811615156100a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150420160025560038054600160a060020a031916600160a060020a0392909216919091179055506114e8806101336000396000f3006080604052600436106101325763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663135c070181146101375780631627540c1461015a57806319e740c01461017b5780631bb47b44146101ae578063204b676a146101d5578063227d517a146101f65780632f5bb66114610217578063458efde31461027357806345e5441f1461028857806353a47bb7146102af5780636b3905c4146102e057806370a0823114610301578063759b52251461032257806379ba5097146103375780638da5cb5b1461034c57806397f46527146103615780639b217f9014610382578063a15d59ce146103a6578063bb2a7d0c146103bb578063da7bd3e9146103f4578063e6d76a7614610418578063ee1d036c14610430578063fec9f9da14610454575b600080fd5b34801561014357600080fd5b50610158600160a060020a0360043516610475565b005b34801561016657600080fd5b50610158600160a060020a036004351661059d565b34801561018757600080fd5b5061019c600160a060020a0360043516610662565b60408051918252519081900360200190f35b3480156101ba57600080fd5b50610158600160a060020a03600435166024356044356106a9565b3480156101e157600080fd5b5061019c600160a060020a0360043516610b29565b34801561020257600080fd5b5061019c600160a060020a0360043516610b44565b34801561022357600080fd5b50610238600160a060020a0360043516610b56565b6040518082600260200280838360005b83811015610260578181015183820152602001610248565b5050505090500191505060405180910390f35b34801561027f57600080fd5b50610158610ba9565b34801561029457600080fd5b5061019c600160a060020a0360043516602435604435610d8a565b3480156102bb57600080fd5b506102c4610dca565b60408051600160a060020a039092168252519081900360200190f35b3480156102ec57600080fd5b5061019c600160a060020a0360043516610dd9565b34801561030d57600080fd5b5061019c600160a060020a0360043516610df2565b34801561032e57600080fd5b506102c4610e0d565b34801561034357600080fd5b50610158610e1c565b34801561035857600080fd5b506102c4610f24565b34801561036d57600080fd5b5061019c600160a060020a0360043516610f33565b34801561038e57600080fd5b5061019c600160a060020a0360043516602435610f45565b3480156103b257600080fd5b5061019c610f60565b3480156103c757600080fd5b5061015860048035600160a060020a03169060248035808201929081013591604435908101910135610f66565b34801561040057600080fd5b50610238600160a060020a036004351660243561106b565b34801561042457600080fd5b506101586004356110da565b34801561043c57600080fd5b5061019c600160a060020a0360043516602435611236565b34801561046057600080fd5b50610158600160a060020a0360043516611249565b600054600160a060020a031633146104d9576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b6002544210610534576040805160e560020a62461bcd028152602060048201526029602482015260008051602061149d833981519152604482015260008051602061145d833981519152606482015290519081900360840190fd5b600160a060020a03811660009081526004602052604081206105559161133e565b600160a060020a0381166000908152600560205260409020546006546105809163ffffffff61130e16565b600655600160a060020a0316600090815260056020526040812055565b600054600160a060020a03163314610601576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600080600061067084610b29565b9150600090505b8181101561069e576106898482610f45565b15610696578092506106a2565b600101610677565b8192505b5050919050565b60008054600160a060020a0316331461070e576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b6002544210610769576040805160e560020a62461bcd028152602060048201526029602482015260008051602061149d833981519152604482015260008051602061145d833981519152606482015290519081900360840190fd5b4283116107c0576040805160e560020a62461bcd02815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015290519081900360640190fd5b811515610817576040805160e560020a62461bcd02815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b60065461082a908363ffffffff61132516565b600655600354604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561089357600080fd5b505af11580156108a7573d6000803e3d6000fd5b505050506040513d60208110156108bd57600080fd5b50516006541115610964576040805160e560020a62461bcd02815260206004820152604760248201527f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f60448201527f6e747261637420746f2070726f7669646520666f72207468652076657374696e60648201527f6720656e74727900000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b50600160a060020a03831660009081526004602052604090205460148111156109d7576040805160e560020a62461bcd02815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b8015156109fe57600160a060020a0384166000908152600560205260409020829055610ad2565b82610a14856001610a0e88610b29565b03610f45565b10610a8f576040805160e560020a62461bcd02815260206004820152603760248201527f43616e6e6f7420616464206e65772076657374656420656e747269657320656160448201527f726c696572207468616e20746865206c617374206f6e65000000000000000000606482015290519081900360840190fd5b600160a060020a038416600090815260056020526040902054610ab8908363ffffffff61132516565b600160a060020a0385166000908152600560205260409020555b600160a060020a0384166000908152600460209081526040808320815180830190925286825281830186905280546001810180835591855292909320610b219260029081029091019190611362565b505050505050565b600160a060020a031660009081526004602052604090205490565b60056020526000908152604090205481565b610b5e6113a0565b6000610b6983610662565b9050610b7483610b29565b811415610b965760408051808201909152600080825260208201529150610ba3565b610ba0838261106b565b91505b50919050565b6000806000806000610bba33610b29565b9450600092505b84831015610c6257610bd33384610f45565b915042821115610be257610c62565b610bec3384611236565b9050801515610bfa57610c57565b604080518082018252600080825260208083018290523382526004905291909120805485908110610c2757fe5b9060005260206000209060020201906002610c439291906113bb565b50610c54848263ffffffff61132516565b93505b600190920191610bc1565b8315610d8357600654610c7b908563ffffffff61130e16565b60065533600090815260056020526040902054610c9e908563ffffffff61130e16565b3360008181526005602090815260408083209490945560035484517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810194909452602484018990529351600160a060020a039094169363a9059cbb93604480820194918390030190829087803b158015610d1c57600080fd5b505af1158015610d30573d6000803e3d6000fd5b505050506040513d6020811015610d4657600080fd5b50506040805142815260208101869052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050505050565b600460205282600052604060002082815481101515610da557fe5b906000526020600020906002020181600281101515610dc057fe5b0154925083915050565b600154600160a060020a031681565b6000610de482610b56565b60005b602002015192915050565b600160a060020a031660009081526005602052604090205490565b600354600160a060020a031681565b600154600160a060020a03163314610ea4576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b6000610f3e82610b56565b6001610de7565b6000610f51838361106b565b60005b60200201519392505050565b60065481565b60008054600160a060020a03163314610fcb576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b6002544210611026576040805160e560020a62461bcd028152602060048201526029602482015260008051602061149d833981519152604482015260008051602061145d833981519152606482015290519081900360840190fd5b5060005b83811015610b21576110638686868481811061104257fe5b90506020020135858585818110151561105757fe5b905060200201356106a9565b60010161102a565b6110736113a0565b600160a060020a038316600090815260046020526040902080548390811061109757fe5b600091825260209091206040805180820191829052926002908102909201919082845b8154815260200190600101908083116110ba575050505050905092915050565b600054600160a060020a0316331461113e576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b6002544210611199576040805160e560020a62461bcd028152602060048201526029602482015260008051602061149d833981519152604482015260008051602061145d833981519152606482015290519081900360840190fd5b600354604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0390921660048301819052602483018490529051909163a9059cbb9160448083019260209291908290030181600087803b15801561120757600080fd5b505af115801561121b573d6000803e3d6000fd5b505050506040513d602081101561123157600080fd5b505050565b6000611242838361106b565b6001610f54565b600054600160a060020a031633146112ad576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b60038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d9181900360200190a150565b6000808383111561131e57600080fd5b5050900390565b60008282018381101561133757600080fd5b9392505050565b508054600082556002029060005260206000209081019061135f91906113ee565b50565b8260028101928215611390579160200282015b82811115611390578251825591602001919060010190611375565b5061139c929150611414565b5090565b60408051808201825290600290829080388339509192915050565b8260028101928215611390579160200282015b82811115611390578251829060ff169055916020019190600101906113ce565b61141191905b8082111561139c576000611408828261142e565b506002016113f4565b90565b61141191905b8082111561139c576000815560010161141a565b50600081556001016000905556004f6e6c792074686520636f6e7472616374206f776e6572206d61792070657266696e6720736574757000000000000000000000000000000000000000000000006f726d207468697320616374696f6e000000000000000000000000000000000043616e206f6e6c7920706572666f726d207468697320616374696f6e20647572a165627a7a7230582044e8d55a3290c68e9d2336eab4817fdde1a9e9858bbdc3186f104e268eb1be1d0029","abi":[{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"purgeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x135c0701"},{"constant":false,"inputs":[{"name":"quantity","type":"uint256"}],"name":"withdrawHavvens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x19dc831a"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x19e740c0"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"time","type":"uint256"},{"name":"quantity","type":"uint256"}],"name":"appendVestingEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1bb47b44"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"numVestingEntries","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x204b676a"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"totalVestedAccountBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x227d517a"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingEntry","outputs":[{"name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2f5bb661"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x313ce567"},{"constant":false,"inputs":[],"name":"vest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x458efde3"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"vestingSchedules","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x45e5441f"},{"constant":false,"inputs":[{"name":"_havven","type":"address"}],"name":"setHavven","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4fa2b0a5"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5b94db27"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6b3905c4"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingQuantity","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x97f46527"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getVestingTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9b217f90"},{"constant":true,"inputs":[],"name":"havven","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9c4de81f"},{"constant":true,"inputs":[],"name":"UNIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9d8e2177"},{"constant":true,"inputs":[],"name":"totalVestedBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa15d59ce"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"times","type":"uint256[]"},{"name":"quantities","type":"uint256[]"}],"name":"addVestingSchedule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbb2a7d0c"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getVestingScheduleEntry","outputs":[{"name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xda7bd3e9"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getVestingQuantity","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xee1d036c"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_havven","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newHavven","type":"address"}],"name":"HavvenUpdated","type":"event","signature":"0x7d83fa33771af200b7fda80813418ffe7eafdbeb2a93f5267ced74abac654a4e"},{"anonymous":false,"inputs":[{"indexed":false,"name":"beneficiary","type":"address"},{"indexed":true,"name":"beneficiaryIndex","type":"address"},{"indexed":false,"name":"time","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Vested","type":"event","signature":"0x6d06f0a463d80b43fe6cd0b79c61bb2790cfe898790e69828f25e6e12886e178"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"Synth":{"bytecode":"60806040523480156200001157600080fd5b5060405162002cf638038062002cf683398181016040526101008110156200003857600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006457600080fd5b9083019060208201858111156200007a57600080fd5b82516401000000008111828201881017156200009557600080fd5b82525081516020918201929091019080838360005b83811015620000c4578181015183820152602001620000aa565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b9083019060208201858111156200012c57600080fd5b82516401000000008111828201881017156200014757600080fd5b82525081516020918201929091019080838360005b83811015620001765781810151838201526020016200015c565b50505050905090810190601f168015620001a45780820380516001836020036101000a031916815260200191505b5060409081526020820151908201516060830151608090930151919450925080888888888660128a86816001600160a01b0381166200022a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002d5576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b03881617905584516200035790600690602088019062000454565b5083516200036d90600790602087019062000454565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620003f2576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b03841662000443576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600b5550620004f99350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049757805160ff1916838001178555620004c7565b82800160010185558215620004c7579182015b82811115620004c7578251825591602001919060010190620004aa565b50620004d5929150620004d9565b5090565b620004f691905b80821115620004d55760008155600101620004e0565b90565b6127ed80620005096000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806395d89b411161011a578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e2146105fc578063eb1edd6114610604578063ec5568891461060c578063f7ea7a3d14610614578063ffff51d61461063157610206565b8063d67bdd2514610588578063dbd06c8514610590578063dd62ed3e14610598578063e73cced3146105c657610206565b80639f769807116100e95780639f769807146104e4578063a9059cbb1461050a578063b014c3a314610536578063bc67f8321461056257610206565b806395d89b411461048257806397107d6d1461048a5780639cbdaeb6146104b05780639dc29fac146104b857610206565b80632e0f26251161019d578063741853601161016c57806374185360146103e657806379ba5097146103ee578063867904b4146103f6578063899ffef4146104225780638da5cb5b1461047a57610206565b80632e0f262514610392578063313ce567146103b057806353a47bb7146103b857806370a08231146103c057610206565b80631627540c116101d95780631627540c1461031457806318160ddd1461033a57806323b872dd146103545780632af64bd31461038a57610206565b806304f3bcec1461020b57806306fdde031461022f578063095ea7b3146102ac578063131b0ae7146102ec575b600080fd5b610213610657565b604080516001600160a01b039092168252519081900360200190f35b61023761066b565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610271578181015183820152602001610259565b50505050905090810190601f16801561029e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d8600480360360408110156102c257600080fd5b506001600160a01b0381351690602001356106f9565b604080519115158252519081900360200190f35b6103126004803603602081101561030257600080fd5b50356001600160a01b0316610794565b005b6103126004803603602081101561032a57600080fd5b50356001600160a01b03166107be565b61034261081a565b60408051918252519081900360200190f35b6102d86004803603606081101561036a57600080fd5b506001600160a01b03813581169160208101359091169060400135610820565b6102d8610847565b61039a610959565b6040805160ff9092168252519081900360200190f35b61039a61095e565b610213610967565b610342600480360360208110156103d657600080fd5b50356001600160a01b0316610976565b6103126109fb565b610312610bd8565b6103126004803603604081101561040c57600080fd5b506001600160a01b038135169060200135610c94565b61042a610d51565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561046657818101518382015260200161044e565b505050509050019250505060405180910390f35b610213610e0d565b610237610e1c565b610312600480360360208110156104a057600080fd5b50356001600160a01b0316610e77565b610213610ed3565b610312600480360360408110156104ce57600080fd5b506001600160a01b038135169060200135610ee2565b610312600480360360208110156104fa57600080fd5b50356001600160a01b0316610fa0565b6102d86004803603604081101561052057600080fd5b506001600160a01b038135169060200135610fcf565b6102d86004803603604081101561054c57600080fd5b506001600160a01b038135169060200135611067565b6103126004803603602081101561057857600080fd5b50356001600160a01b03166111c0565b6102136111ea565b6103426111f9565b610342600480360360408110156105ae57600080fd5b506001600160a01b03813581169160200135166111ff565b6102d8600480360360608110156105dc57600080fd5b506001600160a01b0381358116916020810135909116906040013561128b565b6102136113db565b6102136113ea565b610213611402565b6103126004803603602081101561062a57600080fd5b5035611411565b6103426004803603602081101561064757600080fd5b50356001600160a01b031661141e565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b820191906000526020600020905b8154815290600101906020018083116106d457829003601f168201915b505050505081565b6000610703611561565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b15801561076557600080fd5b505af1158015610779573d6000803e3d6000fd5b505050506107888185856115b8565b60019150505b92915050565b61079c6116f1565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6107c66116f1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b600061082a611561565b610834848361173a565b61083f8484846118b1565b949350505050565b60006060610853610d51565b905060005b815181101561094f57600082828151811061086f57fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b50516001600160a01b031614158061093557506000818152600a60205260409020546001600160a01b0316155b156109465760009350505050610956565b50600101610858565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d60208110156109f157600080fd5b505190505b919050565b6060610a05610d51565b905060005b8151811015610bd4576000828281518110610a2157fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610aec578181015183820152602001610ad4565b50505050905090810190601f168015610b195780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610b3757600080fd5b505afa158015610b4b573d6000803e3d6000fd5b505050506040513d6020811015610b6157600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a0a565b5050565b6001546001600160a01b03163314610c215760405162461bcd60e51b815260040180806020018281038252603581526020018061268c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610c9e611a72565b6001600160a01b0316336001600160a01b03161490506000610cbe611a8c565b6001600160a01b0316336001600160a01b03161490506000610cde611aa3565b6001600160a01b0316336001600160a01b03161490508280610cfd5750815b80610d055750805b610d405760405162461bcd60e51b81526004018080602001828103825260338152602001806126f06033913960400191505060405180910390fd5b610d4a8585611ab7565b5050505050565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110610d9157fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610db757fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610dda57fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110610dfe57fe5b60200260200101818152505090565b6000546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b610e7f6116f1565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b6000610eec611a72565b6001600160a01b0316336001600160a01b03161490506000610f0c611a8c565b6001600160a01b0316336001600160a01b03161490506000610f2c611aa3565b6001600160a01b0316336001600160a01b03161490508280610f4b5750815b80610f535750805b610f8e5760405162461bcd60e51b81526004018080602001828103825260338152602001806126f06033913960400191505060405180910390fd5b610f988585611be1565b505050505050565b610fa8611cde565b600580546001600160a01b0319166001600160a01b038316179055610fcc81611d8e565b50565b6000610fd9611561565b600454610fef906001600160a01b03168361173a565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef14156110255761101e8383611ecd565b905061078e565b6001600160a01b0383166110495760045461101e906001600160a01b031683611be1565b600454611060906001600160a01b03168484612030565b9392505050565b6000611071611561565b600061107b611a8c565b60048054600b54604080516306c5a00b60e21b81526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b1580156110d657600080fd5b505af11580156110ea573d6000803e3d6000fd5b505050506040513d606081101561110057600080fd5b5060400151905082811561118e5760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b15801561115f57600080fd5b505afa158015611173573d6000803e3d6000fd5b505050506040513d602081101561118957600080fd5b505190505b80841161119b578361119d565b805b6004549094506111b7906001600160a01b03168686612030565b95945050505050565b6111c861225d565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600b5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561125857600080fd5b505afa15801561126c573d6000803e3d6000fd5b505050506040513d602081101561128257600080fd5b50519392505050565b6000611295611561565b600061129f611a8c565b6001600160a01b0316631b16802c86600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561130057600080fd5b505af1158015611314573d6000803e3d6000fd5b505050506040513d606081101561132a57600080fd5b506040015190508281156113b457600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561138557600080fd5b505afa158015611399573d6000803e3d6000fd5b505050506040513d60208110156113af57600080fd5b505190505b808410156113c257836113c4565b805b93506113d18686866118b1565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611419611cde565b600855565b600080611429611a8c565b6001600160a01b03166319d5c66584600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561148857600080fd5b505afa15801561149c573d6000803e3d6000fd5b505050506040513d60608110156114b257600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561150757600080fd5b505afa15801561151b573d6000803e3d6000fd5b505050506040513d602081101561153157600080fd5b5051905080821115611548576000925050506109f6565b611558818363ffffffff6122d116565b925050506109f6565b6002546001600160a01b0316331480159061158757506003546001600160a01b03163314155b801561159e57506004546001600160a01b03163314155b156115b657600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161275282396021019050604051809103902061160b8861232e565b6116148861232e565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561168357818101518382015260200161166b565b50505050905090810190601f1680156116b05780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156116d457600080fd5b505af11580156116e8573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146115b65760405162461bcd60e51b815260040180806020018281038252602f815260200180612723602f913960400191505060405180910390fd5b611742611a8c565b6001600160a01b031663059c29ec83600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156117a157600080fd5b505afa1580156117b5573d6000803e3d6000fd5b505050506040513d60208110156117cb57600080fd5b5051156118095760405162461bcd60e51b81526004018080602001828103825260258152602001806127736025913960400191505060405180910390fd5b806118138361141e565b10156118505760405162461bcd60e51b815260040180806020018281038252602f8152602001806126c1602f913960400191505060405180910390fd5b61185861233a565b6001600160a01b03166342a28e21600b546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561189d57600080fd5b505afa158015610f98573d6000803e3d6000fd5b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b15801561190f57600080fd5b505afa158015611923573d6000803e3d6000fd5b505050506040513d602081101561193957600080fd5b505114611a67576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c9288926119e6918891879163dd62ed3e91604480820192602092909190829003018186803b1580156119ae57600080fd5b505afa1580156119c2573d6000803e3d6000fd5b505050506040513d60208110156119d857600080fd5b50519063ffffffff6122d116565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611a4e57600080fd5b505af1158015611a62573d6000803e3d6000fd5b505050505b61083f848484612030565b6000611a8766119959541bdbdb60ca1b612350565b905090565b6000611a876822bc31b430b733b2b960b91b612350565b6000611a876524b9b9bab2b960d11b612350565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611b4d91869186916370a0823191602480820192602092909190829003018186803b158015611b1557600080fd5b505afa158015611b29573d6000803e3d6000fd5b505050506040513d6020811015611b3f57600080fd5b50519063ffffffff61243416565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611b9c57600080fd5b505af1158015611bb0573d6000803e3d6000fd5b5050600854611bc8925090508263ffffffff61243416565b600855611bd76000838361248e565b610bd482826124e1565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f6918691611c4191879186916370a08231916024808301926020929190829003018186803b1580156119ae57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611c9057600080fd5b505af1158015611ca4573d6000803e3d6000fd5b5050600854611cbc925090508363ffffffff6122d116565b600855611ccb8360008461248e565b611cd58383612622565b50600192915050565b6002546001600160a01b03163314801590611d0457506003546001600160a01b03163314155b8015611d1b57506004546001600160a01b03163314155b15611d3357600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146115b6576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b83811015611e68578181015183820152602001611e50565b50505050905090810190601f168015611e955780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015611eb957600080fd5b505af1158015610d4a573d6000803e3d6000fd5b600080600b54631cd554d160e21b1415611f0157506004548290611efb906001600160a01b03168583612030565b50611fc1565b611f09611a8c565b60048054600b5460408051630a1e187d60e01b81526001600160a01b0393841694810194909452602484019190915260448301879052631cd554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b158015611f9257600080fd5b505af1158015611fa6573d6000803e3d6000fd5b505050506040513d6020811015611fbc57600080fd5b505190505b611fc9611a72565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561200e57600080fd5b505af1158015612022573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b0383161580159061205357506001600160a01b0383163014155b801561206d57506002546001600160a01b03848116911614155b6120be576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161211c91879186916370a0823191602480820192602092909190829003018186803b1580156119ae57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561216b57600080fd5b505af115801561217f573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f6925086916121e191879186916370a0823191602480820192602092909190829003018186803b158015611b1557600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561223057600080fd5b505af1158015612244573d6000803e3d6000fd5b5050505061225384848461248e565b5060019392505050565b6002546001600160a01b031633148061228057506003546001600160a01b031633145b6115b6576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b600082821115612328576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000611a876b53797374656d53746174757360a01b5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161242d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123f25781810151838201526020016123da565b50505050905090810190601f16801561241f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600082820183811015611060576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161279882396021019050604051809103902061160b8861232e565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff979261254a8761232e565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156125bd5781810151838201526020016125a5565b50505050905090810190601f1680156125ea5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561260e57600080fd5b505af1158015610f98573d6000803e3d6000fd5b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff979261254a8761232e56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a72315820ae46225f657c6eb5e339b41335f3b2e9d3eb76572d610cfceb69ae5d69daad8e64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"},{"internalType":"contract TokenState","name":"_tokenState","type":"address"},{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event","signature":"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burned","type":"event","signature":"0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Issued","type":"event","signature":"0xa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxyAddress","type":"address"}],"name":"ProxyUpdated","type":"event","signature":"0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTokenState","type":"address"}],"name":"TokenStateUpdated","type":"event","signature":"0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event","signature":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"},{"constant":true,"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2e0f2625"},{"constant":true,"inputs":[],"name":"FEE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeb1edd61"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdd62ed3e"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x095ea7b3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9dc29fac"},{"constant":true,"inputs":[],"name":"currencyKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdbd06c85"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x313ce567"},{"constant":true,"inputs":[],"name":"integrationProxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9cbdaeb6"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x867904b4"},{"constant":true,"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd67bdd25"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x06fdde03"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"proxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xec556889"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_integrationProxy","type":"address"}],"name":"setIntegrationProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x131b0ae7"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"setMessageSender","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbc67f832"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"}],"name":"setProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x97107d6d"},{"constant":false,"inputs":[{"internalType":"contract TokenState","name":"_tokenState","type":"address"}],"name":"setTokenState","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9f769807"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTotalSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf7ea7a3d"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x95d89b41"},{"constant":true,"inputs":[],"name":"tokenState","outputs":[{"internalType":"contract TokenState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe90dd9e2"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18160ddd"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa9059cbb"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb014c3a3"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23b872dd"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFromAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe73cced3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"transferableSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xffff51d6"}],"source":{"keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751","urls":["bzz-raw://91271991028a91cffb9ddc5a3c3877f3c1c5303fb75fdcf9532a396de925312d","dweb:/ipfs/QmWghHtKJMcBGcyGFZwPDgcphGb2vrZV7piSf7ogPai5SU"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"Synth.sol":"Synth"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"Synth.sol":{"keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751","urls":["bzz-raw://91271991028a91cffb9ddc5a3c3877f3c1c5303fb75fdcf9532a396de925312d","dweb:/ipfs/QmWghHtKJMcBGcyGFZwPDgcphGb2vrZV7piSf7ogPai5SU"]}},"version":1}},"Depot":{"bytecode":"608060408190527f907af6c000000000000000000000000000000000000000000000000000000000815273__Depot.sol:SafeDecimalMath_____________9063907af6c09060849060209060048186803b1580156200005e57600080fd5b505af415801562000073573d6000803e3d6000fd5b505050506040513d60208110156200008a57600080fd5b5051603202600d55604080517f907af6c0000000000000000000000000000000000000000000000000000000008152905173__Depot.sol:SafeDecimalMath_____________9163907af6c0916004808301926020929190829003018186803b158015620000f757600080fd5b505af41580156200010c573d6000803e3d6000fd5b505050506040513d60208110156200012357600080fd5b50516101f402600e553480156200013957600080fd5b506040516060806200382a8339810160409081528151602083015191909201518281818080600160a060020a0381161515620001d657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600160a060020a0381161515620002a757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f776e6572206d757374206e6f74206265207a65726f00000000000000000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810261010060a860020a03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a15050600160065560078054600160a060020a03928316600160a060020a03199182161790915560088054959092169416939093179092555050506134e0806200034a6000396000f3006080604052600436106101d45763ffffffff60e060020a6000350416630227943881146101df57806304f3bcec146101f9578063080c279a1461022a5780630c928bc21461023f5780630c928f051461024a5780631627540c1461026257806316c38b3c1461028557806317c70de41461029f5780631f930115146102b457806320714f88146102bc5780632194f3a2146102dd5780633278c960146102f25780634d0387fb146103075780634e543b261461031c57806353a47bb71461033d5780635c975abb1461035257806364e39b871461037b5780636d5ab4a91461039c57806379ba5097146103b157806381b797dc146103c65780638da5cb5b146103db57806391b4ded9146103f05780639342c0eb146104055780639cb8a26a14610413578063a3d8829b14610428578063a461fc8214610440578063aab483d614610455578063b02c43d01461046d578063b0c2cb96146104a8578063b1338cc4146104c3578063b8225dec146104d8578063bb7df172146104ed578063bd32aa4414610505578063c58aaae61461051a578063c6abb7c71461052f578063c8d889f214610550578063dc8fa6c214610568578063e6d76a7614610580578063f852d39314610598578063fd12167f146105b0575b6101dc6105c5565b50005b6101e7610fae565b60408051918252519081900360200190f35b34801561020557600080fd5b5061020e611304565b60408051600160a060020a039092168252519081900360200190f35b34801561023657600080fd5b506101e7611313565b6101e7600435611319565b34801561025657600080fd5b506101e760043561155e565b34801561026e57600080fd5b50610283600160a060020a0360043516611601565b005b34801561029157600080fd5b5061028360043515156116b9565b3480156102ab57600080fd5b506101e761178f565b6101e76105c5565b3480156102c857600080fd5b50610283600160a060020a0360043516611795565b3480156102e957600080fd5b5061020e6118c2565b3480156102fe57600080fd5b506102836118d1565b34801561031357600080fd5b506101e761196f565b34801561032857600080fd5b50610283600160a060020a0360043516611975565b34801561034957600080fd5b5061020e6119fb565b34801561035e57600080fd5b50610367611a0a565b604080519115158252519081900360200190f35b34801561038757600080fd5b50610283600160a060020a0360043516611a13565b3480156103a857600080fd5b506101e7611ad1565b3480156103bd57600080fd5b50610283611ad7565b3480156103d257600080fd5b50610283611bd2565b3480156103e757600080fd5b5061020e611e5b565b3480156103fc57600080fd5b506101e7611e6a565b6101e7600435602435611e70565b34801561041f57600080fd5b5061028361228e565b34801561043457600080fd5b506101e7600435612407565b34801561044c57600080fd5b506101e76124a4565b34801561046157600080fd5b506102836004356124ab565b34801561047957600080fd5b50610485600435612639565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156104b457600080fd5b506101e760043560243561265e565b3480156104cf57600080fd5b506101e76128a7565b3480156104e457600080fd5b506103676128ad565b3480156104f957600080fd5b506102836004356128b6565b34801561051157600080fd5b50610283612955565b34801561052657600080fd5b5061020e612a02565b34801561053b57600080fd5b506101e7600160a060020a0360043516612a16565b34801561055c57600080fd5b506101e7600435612a28565b34801561057457600080fd5b50610283600435612ad1565b34801561058c57600080fd5b50610283600435612cae565b3480156105a457600080fd5b506101e7600435612dbb565b3480156105bc57600080fd5b506101e76130cb565b60008060008060006105d56133fd565b6006805460010190819055600090819060eb60020a6208aa89026105f76130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561064657600080fd5b505af115801561065a573d6000803e3d6000fd5b505050506040513d602081101561067057600080fd5b5051156106b5576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff1615610712576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b600e54341115610792576040805160e560020a62461bcd02815260206004820152602560248201527f45544820616d6f756e742061626f7665206d617845746850757263686173652060448201527f6c696d6974000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61082d61079d6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b505050506040513d602081101561081e57600080fd5b5051349063ffffffff6131bb16565b9750879650600a5495505b6000871180156108495750600b5486105b15610e175760008681526009602090815260409182902082518084019093528054600160a060020a03168084526001909101549183019190915290955015156108a857600a546108a090600163ffffffff6131e716565b600a55610e0c565b8685602001511115610b5b5760208501516108c9908863ffffffff6131f916565b6040805180820182528751600160a060020a039081168252602080830185815260008c8152600990925293902091518254600160a060020a03191691161781559051600190910155600c5490945061092190886131f9565b600c556109bf61092f6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b15801561098657600080fd5b505af115801561099a573d6000803e3d6000fd5b505050506040513d60208110156109b057600080fd5b5051889063ffffffff61321016565b8551604051919a50600160a060020a0316908a156108fc02908b906000818181858888f193505050501515610a6f57600854604051600160a060020a03909116908a156108fc02908b906000818181858888f19350505050158015610a28573d6000803e3d6000fd5b508451604080518b81529051600160a060020a03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610abb565b8451604080518b8152602081018a905281518993600160a060020a03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c929081900390910190a45b610ac361323a565b600160a060020a031663a9059cbb33896040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610b2557600080fd5b505af1158015610b39573d6000803e3d6000fd5b505050506040513d6020811015610b4f57600080fd5b5060009750610e0c9050565b60208501518710610e0c5760008681526009602052604081208054600160a060020a0319168155600190810191909155600a54610b9d9163ffffffff6131e716565b600a556020850151600c54610bb79163ffffffff6131f916565b600c55610c59610bc56130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b158015610c1c57600080fd5b505af1158015610c30573d6000803e3d6000fd5b505050506040513d6020811015610c4657600080fd5b505160208701519063ffffffff61321016565b8551604051919a50600160a060020a0316908a156108fc02908b906000818181858888f193505050501515610d0957600854604051600160a060020a03909116908a156108fc02908b906000818181858888f19350505050158015610cc2573d6000803e3d6000fd5b508451604080518b81529051600160a060020a03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610d59565b8451602080870151604080518d81529283019190915280518993600160a060020a03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c92918290030190a45b610d6161323a565b600160a060020a031663a9059cbb3387602001516040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610dc757600080fd5b505af1158015610ddb573d6000803e3d6000fd5b505050506040513d6020811015610df157600080fd5b50506020850151610e0990889063ffffffff6131f916565b96505b600190950194610838565b6000871115610ee957336108fc610ebf610e2f6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b158015610e8657600080fd5b505af1158015610e9a573d6000803e3d6000fd5b505050506040513d6020811015610eb057600080fd5b50518a9063ffffffff61321016565b6040518115909202916000818181858888f19350505050158015610ee7573d6000803e3d6000fd5b505b610ef9888863ffffffff6131f916565b92506000831115610f91576040805134602082015260608101859052608080825260039082015260eb60020a6208aa890260a082015260c08183018190526004908201527f735553440000000000000000000000000000000000000000000000000000000060e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15b829950506006548114610fa357600080fd5b505050505050505090565b60008060eb60020a620a69cb02610fc36130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561101257600080fd5b505af1158015611026573d6000803e3d6000fd5b505050506040513d602081101561103c57600080fd5b505115611081576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60eb60020a6208aa89026110936130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b1580156110e257600080fd5b505af11580156110f6573d6000803e3d6000fd5b505050506040513d602081101561110c57600080fd5b505115611151576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff16156111ae576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6111b734612a28565b600854604051919450600160a060020a0316903480156108fc02916000818181858888f193505050501580156111f1573d6000803e3d6000fd5b506111fa6132f3565b600160a060020a031663a9059cbb33856040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561125c57600080fd5b505af1158015611270573d6000803e3d6000fd5b505050506040513d602081101561128657600080fd5b505060408051346020820152606081018590526080808252600390820181905260eb60020a6208aa890260a083015260c082840181905282015260eb60020a620a69cb0260e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a1509092915050565b600754600160a060020a031681565b600d5481565b600060eb60020a6208aa890261132d6130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561137c57600080fd5b505af1158015611390573d6000803e3d6000fd5b505050506040513d60208110156113a657600080fd5b5051156113eb576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff1615611448576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6114506130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156114a757600080fd5b505af11580156114bb573d6000803e3d6000fd5b505050506040513d60208110156114d157600080fd5b5051831461154f576040805160e560020a62461bcd02815260206004820152602560248201527f47756172616e74656564207261746520776f756c64206e6f742062652072656360448201527f6569766564000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6115576105c5565b9392505050565b60006115fb61156b6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156115c257600080fd5b505af11580156115d6573d6000803e3d6000fd5b505050506040513d60208110156115ec57600080fd5b5051839063ffffffff6131bb16565b92915050565b600054600160a060020a03163314611665576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60018054600160a060020a038316600160a060020a0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600054600160a060020a0316331461171d576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60055460ff16151581151514156117335761178c565b6005805460ff1916821515179081905560ff161561175057426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60025481565b600054600160a060020a031633146117f9576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b600160a060020a0381161515611859576040805160e560020a62461bcd02815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810274ffffffffffffffffffffffffffffffffffffffff00199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b600854600160a060020a031681565b600054600160a060020a03163314611935576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b600c5481565b600054600160a060020a031633146119d9576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60078054600160a060020a031916600160a060020a0392909216919091179055565b600154600160a060020a031681565b60055460ff1681565b600054600160a060020a03163314611a77576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60088054600160a060020a031916600160a060020a03838116919091179182905560408051929091168252517f4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050916020908290030190a150565b600a5481565b600154600160a060020a03163314611b5f576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b600080611bdd6133fd565b60009250600a5491505b600b54821015611cbd575060008181526009602090815260409182902082518084019093528054600160a060020a031680845260019091015491830191909152331415611cb2576020810151611c4490849063ffffffff6131e716565b60008381526009602090815260408083208054600160a060020a031916815560010192909255835184820151835190815292519396508593600160a060020a03909116927f3aa2b18eace5e5727a4ab525921b9b0a1ca1afdb0f96b599e3ab2d76cb5e7f7292908290030190a35b600190910190611be7565b600c54611cd0908463ffffffff6131f916565b600c55336000908152600f6020526040902054611cf490849063ffffffff6131e716565b336000908152600f602052604081208190559093508311611d85576040805160e560020a62461bcd02815260206004820152602160248201527f596f752068617665206e6f206465706f7369747320746f20776974686472617760448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b611d8d61323a565b600160a060020a031663a9059cbb33856040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506040513d6020811015611e1957600080fd5b5050604080513381526020810185905281517faf6ec623f558c7b3527ff6c9c09432c7d81a3d38bd2e1eaaee2efe7aac23c28b929181900390910190a1505050565b600054600160a060020a031681565b60045481565b600060eb60020a620a69cb02611e846130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015611ed357600080fd5b505af1158015611ee7573d6000803e3d6000fd5b505050506040513d6020811015611efd57600080fd5b505115611f42576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60eb60020a6208aa8902611f546130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015611fa357600080fd5b505af1158015611fb7573d6000803e3d6000fd5b505050506040513d6020811015611fcd57600080fd5b505115612012576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff161561206f576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6120776130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156120ce57600080fd5b505af11580156120e2573d6000803e3d6000fd5b505050506040513d60208110156120f857600080fd5b50518514612176576040805160e560020a62461bcd02815260206004820152602b60248201527f47756172616e74656564206574686572207261746520776f756c64206e6f742060448201527f6265207265636569766564000000000000000000000000000000000000000000606482015290519081900360840190fd5b61217e6130d1565b6040805160e360020a6315905ec102815260eb60020a620a69cb0260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156121d557600080fd5b505af11580156121e9573d6000803e3d6000fd5b505050506040513d60208110156121ff57600080fd5b5051841461227d576040805160e560020a62461bcd02815260206004820152602f60248201527f47756172616e746565642073796e746865746978207261746520776f756c642060448201527f6e6f742062652072656365697665640000000000000000000000000000000000606482015290519081900360840190fd5b612285610fae565b95945050505050565b60008054600160a060020a031633146122f3576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60035460ff16151561234f576040805160e560020a62461bcd02815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea00600254011015156123af576040805160e560020a62461bcd02815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b5060035460408051600160a060020a0361010090930492909216808352905190917f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7919081900360200190a180600160a060020a0316ff5b60006115fb6124146130d1565b6040805160e360020a6315905ec102815260eb60020a620a69cb0260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b15801561246b57600080fd5b505af115801561247f573d6000803e3d6000fd5b505050506040513d602081101561249557600080fd5b5051839063ffffffff61321016565b6224ea0081565b600054600160a060020a0316331461250f576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b73__Depot.sol:SafeDecimalMath_____________63907af6c06040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561255657600080fd5b505af415801561256a573d6000803e3d6000fd5b505050506040513d602081101561258057600080fd5b505181116125fe576040805160e560020a62461bcd02815260206004820152603060248201527f4d696e696d756d206465706f73697420616d6f756e74206d757374206265206760448201527f726561746572207468616e20554e495400000000000000000000000000000000606482015290519081900360840190fd5b600d8190556040805182815290517fa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc542679181900360200190a150565b60096020526000908152604090208054600190910154600160a060020a039091169082565b600060eb60020a620a69cb026126726130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b1580156126c157600080fd5b505af11580156126d5573d6000803e3d6000fd5b505050506040513d60208110156126eb57600080fd5b505115612730576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff161561278d576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6127956130d1565b6040805160e360020a6315905ec102815260eb60020a620a69cb0260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156127ec57600080fd5b505af1158015612800573d6000803e3d6000fd5b505050506040513d602081101561281657600080fd5b50518314612894576040805160e560020a62461bcd02815260206004820152602560248201527f47756172616e74656564207261746520776f756c64206e6f742062652072656360448201527f6569766564000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61289d84612dbb565b91505b5092915050565b600e5481565b60035460ff1681565b600054600160a060020a0316331461291a576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b600e8190556040805182815290517fdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c82439181900360200190a150565b600054600160a060020a031633146129b9576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b6003546101009004600160a060020a031681565b600f6020526000908152604090205481565b600080612ac6612a366130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b158015612a8d57600080fd5b505af1158015612aa1573d6000803e3d6000fd5b505050506040513d6020811015612ab757600080fd5b5051849063ffffffff6131bb16565b905061155781612407565b612ad961323a565b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a0392909216916323b872dd916064808201926020929091908290030181600087803b158015612b4a57600080fd5b505af1158015612b5e573d6000803e3d6000fd5b505050506040513d6020811015612b7457600080fd5b5050600d54811015612bfd57336000908152600f6020526040902054612ba0908263ffffffff6131e716565b336000818152600f602090815260409182902093909355600d5481519283529282018490528181019290925290517fbc3a12638d840d60760c64b39c73985a6498cf6eb8176f124995b0e07236cbd29181900360600190a161178c565b604080518082018252338082526020808301858152600b805460009081526009845286902094518554600160a060020a031916600160a060020a039091161785559051600190940193909355915483518581529351909391927fd9acabe6e09d178728ba5c366661c5be0621b4770f216305b059ec175b37e0b4928290030190a3600b54612c9290600163ffffffff6131e716565b600b55600c54612ca8908263ffffffff6131e716565b600c5550565b600054600160a060020a03163314612d12576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b612d1a6132f3565b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051939091169263a9059cbb92604480840193602093929083900390910190829087803b158015612d8c57600080fd5b505af1158015612da0573d6000803e3d6000fd5b505050506040513d6020811015612db657600080fd5b505050565b60008060eb60020a620a69cb02612dd06130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015612e1f57600080fd5b505af1158015612e33573d6000803e3d6000fd5b505050506040513d6020811015612e4957600080fd5b505115612e8e576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff1615612eeb576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b612ef484612407565b9150612efe61323a565b600854604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a03928316602482015260448101889052905192909116916323b872dd916064808201926020929091908290030181600087803b158015612f7457600080fd5b505af1158015612f88573d6000803e3d6000fd5b505050506040513d6020811015612f9e57600080fd5b50612fa990506132f3565b600160a060020a031663a9059cbb33846040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561300b57600080fd5b505af115801561301f573d6000803e3d6000fd5b505050506040513d602081101561303557600080fd5b505060408051602081018690526060810184905260808082526004908201527f735553440000000000000000000000000000000000000000000000000000000060a082015260c081830181905260039082015260eb60020a620a69cb0260e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15092915050565b600b5481565b600754604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f45786368616e6765526174657300000000000000000000000000000000000000600482015260248101829052601d60448201527f4d697373696e672045786368616e67655261746573206164647265737300000060648201529051600092600160a060020a03169163dacb2d0191608480830192602092919082900301818787803b15801561318a57600080fd5b505af115801561319e573d6000803e3d6000fd5b505050506040513d60208110156131b457600080fd5b5051905090565b6000670de0b6b3a76400006131d6848463ffffffff6133ac16565b8115156131df57fe5b049392505050565b60008282018381101561155757600080fd5b6000808383111561320957600080fd5b5050900390565b60006115578261322e85670de0b6b3a764000063ffffffff6133ac16565b9063ffffffff6133da16565b600754604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f53796e7468735553440000000000000000000000000000000000000000000000600482015260248101829052601960448201527f4d697373696e672053796e74687355534420616464726573730000000000000060648201529051600092600160a060020a03169163dacb2d0191608480830192602092919082900301818787803b15801561318a57600080fd5b600754604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f53796e7468657469780000000000000000000000000000000000000000000000600482015260248101829052601960448201527f4d697373696e672053796e74686574697820616464726573730000000000000060648201529051600092600160a060020a03169163dacb2d0191608480830192602092919082900301818787803b15801561318a57600080fd5b6000808315156133bf57600091506128a0565b508282028284828115156133cf57fe5b041461155757600080fd5b6000808083116133e957600080fd5b82848115156133f457fe5b04949350505050565b60408051808201909152600080825260208201529056007768696c652074686520636f6e747261637420697320706175736564000000004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e00000000000000000000000000000000005468697320616374696f6e2063616e6e6f7420626520706572666f726d65642052617465207374616c65206f72206e6f7420612073796e746800000000000000a165627a7a723058207b783c67dd7fef58214d141fd31ab38df03979269c20a492ade4dd58c42d597b0029","abi":[{"constant":false,"inputs":[],"name":"exchangeEtherForSNX","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function","signature":"0x02279438"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"minimumDepositAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x080c279a"},{"constant":false,"inputs":[{"name":"guaranteedRate","type":"uint256"}],"name":"exchangeEtherForSynthsAtRate","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function","signature":"0x0c928bc2"},{"constant":true,"inputs":[{"name":"amount","type":"uint256"}],"name":"synthsReceivedForEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0c928f05"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":false,"inputs":[{"name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16c38b3c"},{"constant":true,"inputs":[],"name":"initiationTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x17c70de4"},{"constant":false,"inputs":[],"name":"exchangeEtherForSynths","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function","signature":"0x1f930115"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"setSelfDestructBeneficiary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x20714f88"},{"constant":true,"inputs":[],"name":"fundsWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2194f3a2"},{"constant":false,"inputs":[],"name":"terminateSelfDestruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3278c960"},{"constant":true,"inputs":[],"name":"totalSellableDeposits","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4d0387fb"},{"constant":false,"inputs":[{"name":"_resolver","type":"address"}],"name":"setResolver","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4e543b26"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c975abb"},{"constant":false,"inputs":[{"name":"_fundsWallet","type":"address"}],"name":"setFundsWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x64e39b87"},{"constant":true,"inputs":[],"name":"depositStartIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6d5ab4a9"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[],"name":"withdrawMyDepositedSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x81b797dc"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x91b4ded9"},{"constant":false,"inputs":[{"name":"guaranteedEtherRate","type":"uint256"},{"name":"guaranteedSynthetixRate","type":"uint256"}],"name":"exchangeEtherForSNXAtRate","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function","signature":"0x9342c0eb"},{"constant":false,"inputs":[],"name":"selfDestruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9cb8a26a"},{"constant":true,"inputs":[{"name":"amount","type":"uint256"}],"name":"synthetixReceivedForSynths","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa3d8829b"},{"constant":true,"inputs":[],"name":"SELFDESTRUCT_DELAY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa461fc82"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"setMinimumDepositAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xaab483d6"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"deposits","outputs":[{"name":"user","type":"address"},{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb02c43d0"},{"constant":false,"inputs":[{"name":"synthAmount","type":"uint256"},{"name":"guaranteedRate","type":"uint256"}],"name":"exchangeSynthsForSNXAtRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb0c2cb96"},{"constant":true,"inputs":[],"name":"maxEthPurchase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb1338cc4"},{"constant":true,"inputs":[],"name":"selfDestructInitiated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb8225dec"},{"constant":false,"inputs":[{"name":"_maxEthPurchase","type":"uint256"}],"name":"setMaxEthPurchase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbb7df172"},{"constant":false,"inputs":[],"name":"initiateSelfDestruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbd32aa44"},{"constant":true,"inputs":[],"name":"selfDestructBeneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc58aaae6"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"smallDeposits","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc6abb7c7"},{"constant":true,"inputs":[{"name":"amount","type":"uint256"}],"name":"synthetixReceivedForEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc8d889f2"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"depositSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xdc8fa6c2"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdrawSynthetix","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe6d76a76"},{"constant":false,"inputs":[{"name":"synthAmount","type":"uint256"}],"name":"exchangeSynthsForSNX","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf852d393"},{"constant":true,"inputs":[],"name":"depositEndIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xfd12167f"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_fundsWallet","type":"address"},{"name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"MaxEthPurchaseUpdated","type":"event","signature":"0xdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c8243"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newFundsWallet","type":"address"}],"name":"FundsWalletUpdated","type":"event","signature":"0x4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050"},{"anonymous":false,"inputs":[{"indexed":false,"name":"fromCurrency","type":"string"},{"indexed":false,"name":"fromAmount","type":"uint256"},{"indexed":false,"name":"toCurrency","type":"string"},{"indexed":false,"name":"toAmount","type":"uint256"}],"name":"Exchange","type":"event","signature":"0xdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"SynthWithdrawal","type":"event","signature":"0xaf6ec623f558c7b3527ff6c9c09432c7d81a3d38bd2e1eaaee2efe7aac23c28b"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":true,"name":"depositIndex","type":"uint256"}],"name":"SynthDeposit","type":"event","signature":"0xd9acabe6e09d178728ba5c366661c5be0621b4770f216305b059ec175b37e0b4"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":true,"name":"depositIndex","type":"uint256"}],"name":"SynthDepositRemoved","type":"event","signature":"0x3aa2b18eace5e5727a4ab525921b9b0a1ca1afdb0f96b599e3ab2d76cb5e7f72"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"minimum","type":"uint256"}],"name":"SynthDepositNotAccepted","type":"event","signature":"0xbc3a12638d840d60760c64b39c73985a6498cf6eb8176f124995b0e07236cbd2"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"MinimumDepositAmountUpdated","type":"event","signature":"0xa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc54267"},{"anonymous":false,"inputs":[{"indexed":true,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"NonPayableContract","type":"event","signature":"0xf2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c"},{"anonymous":false,"inputs":[{"indexed":true,"name":"fromAddress","type":"address"},{"indexed":true,"name":"toAddress","type":"address"},{"indexed":false,"name":"fromETHAmount","type":"uint256"},{"indexed":false,"name":"toAmount","type":"uint256"},{"indexed":true,"name":"depositIndex","type":"uint256"}],"name":"ClearedDeposit","type":"event","signature":"0x6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c"},{"anonymous":false,"inputs":[{"indexed":false,"name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event","signature":"0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"},{"anonymous":false,"inputs":[],"name":"SelfDestructTerminated","type":"event","signature":"0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"},{"anonymous":false,"inputs":[{"indexed":false,"name":"beneficiary","type":"address"}],"name":"SelfDestructed","type":"event","signature":"0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"},{"anonymous":false,"inputs":[{"indexed":false,"name":"selfDestructDelay","type":"uint256"}],"name":"SelfDestructInitiated","type":"event","signature":"0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newBeneficiary","type":"address"}],"name":"SelfDestructBeneficiaryUpdated","type":"event","signature":"0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"EscrowChecker":{"bytecode":"608060405234801561001057600080fd5b50604051602080610399833981016040525160008054600160a060020a03909216600160a060020a0319909216919091179055610347806100526000396000f30060806040526004361061004b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663449d0eb181146100505780639514c232146100b7575b600080fd5b34801561005c57600080fd5b5061007e73ffffffffffffffffffffffffffffffffffffffff600435166100f5565b604051808261020080838360005b838110156100a457818101518382015260200161008c565b5050505090500191505060405180910390f35b3480156100c357600080fd5b506100cc6102c4565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100fd6102e0565b6101056102e0565b600080610110610300565b60008054604080517f204b676a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301529151919092169263204b676a92602480820193602093909283900390910190829087803b15801561018857600080fd5b505af115801561019c573d6000803e3d6000fd5b505050506040513d60208110156101b257600080fd5b50519250600091505b828210156102ba5760008054604080517fda7bd3e900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015260248201879052825193169363da7bd3e993604480840194939192918390030190829087803b15801561023d57600080fd5b505af1158015610251573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250604081101561027657600080fd5b50805190915084600284026010811061028b57fe5b602002015280600160200201518460016002850201601081106102aa57fe5b60200201526001909101906101bb565b5091949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b610200604051908101604052806010906020820280388339509192915050565b604080518082018252906002908290803883395091929150505600a165627a7a72305820b77f04510aaa52f1c8254aeab8d7f3d38e4edbbb369011f3629f6c4c2ece58460029","abi":[{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"checkAccountSchedule","outputs":[{"name":"","type":"uint256[16]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x449d0eb1"},{"constant":true,"inputs":[],"name":"synthetix_escrow","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9514c232"},{"inputs":[{"name":"_esc","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]},"RewardEscrow":{"bytecode":"608060405234801561001057600080fd5b506040516060806113f983398101604090815281516020830151919092015182600160a060020a03811615156100a757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a03938416600160a060020a03199182161790915560038054929093169116179055506112bd8061013c6000396000f3006080604052600436106101485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631627540c811461014d57806319db22281461017057806319e740c014610191578063204b676a146101c4578063227d517a146101e55780632f5bb66114610206578063326a3cfb14610262578063449d0eb114610283578063458efde3146102ba57806345e5441f146102cf57806353a47bb7146102f65780636b3905c41461032757806370a082311461034857806371e780f314610369578063759b52251461037e57806379ba5097146103935780638da5cb5b146103a857806397f46527146103bd5780639b217f90146103de578063ae2e933b14610402578063b5ddb9c714610417578063d0cc82e31461043b578063da7bd3e914610450578063ee1d036c14610474578063fec9f9da14610498575b600080fd5b34801561015957600080fd5b5061016e600160a060020a03600435166104b9565b005b34801561017c57600080fd5b5061016e600160a060020a03600435166105a2565b34801561019d57600080fd5b506101b2600160a060020a036004351661068b565b60408051918252519081900360200190f35b3480156101d057600080fd5b506101b2600160a060020a03600435166106d2565b3480156101f157600080fd5b506101b2600160a060020a03600435166106ed565b34801561021257600080fd5b50610227600160a060020a03600435166106ff565b6040518082600260200280838360005b8381101561024f578181015183820152602001610237565b5050505090500191505060405180910390f35b34801561026e57600080fd5b506101b2600160a060020a0360043516610752565b34801561028f57600080fd5b506102a4600160a060020a0360043516610764565b6040518151815280826141008083836020610237565b3480156102c657600080fd5b5061016e6107f0565b3480156102db57600080fd5b506101b2600160a060020a03600435166024356044356109fd565b34801561030257600080fd5b5061030b610a3d565b60408051600160a060020a039092168252519081900360200190f35b34801561033357600080fd5b506101b2600160a060020a0360043516610a4c565b34801561035457600080fd5b506101b2600160a060020a0360043516610a65565b34801561037557600080fd5b506101b2610a80565b34801561038a57600080fd5b5061030b610a86565b34801561039f57600080fd5b5061016e610a95565b3480156103b457600080fd5b5061030b610b9d565b3480156103c957600080fd5b506101b2600160a060020a0360043516610bac565b3480156103ea57600080fd5b506101b2600160a060020a0360043516602435610bbe565b34801561040e57600080fd5b5061030b610bd9565b34801561042357600080fd5b5061016e600160a060020a0360043516602435610be8565b34801561044757600080fd5b506101b2611026565b34801561045c57600080fd5b50610227600160a060020a036004351660243561102c565b34801561048057600080fd5b506101b2600160a060020a036004351660243561109b565b3480156104a457600080fd5b5061016e600160a060020a03600435166110ae565b600054600160a060020a03163314610541576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600054600160a060020a0316331461062a576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb62959181900360200190a150565b6000806000610699846106d2565b9150600090505b818110156106c7576106b28482610bbe565b156106bf578092506106cb565b6001016106a0565b8192505b5050919050565b600160a060020a031660009081526004602052604090205490565b60066020526000908152604090205481565b6107076111c7565b60006107128361068b565b905061071d836106d2565b81141561073f576040805180820190915260008082526020820152915061074c565b610749838261102c565b91505b50919050565b60056020526000908152604090205481565b61076c6111e2565b6107746111e2565b60008061077f6111c7565b610788866106d2565b9250600091505b828210156107e6576107a1868361102c565b8051909150846002840261020881106107b657fe5b60200201528060016020020151846001600285020161020881106107d657fe5b602002015260019091019061078f565b5091949350505050565b6000806000806000610801336106d2565b9450600092505b848310156108a95761081a3384610bbe565b915042821115610829576108a9565b610833338461109b565b90508015156108415761089e565b60408051808201825260008082526020808301829052338252600490529190912080548590811061086e57fe5b906000526020600020906002020190600261088a929190611203565b5061089b848263ffffffff61119716565b93505b600190920191610808565b83156109f6576007546108c2908563ffffffff6111b016565b600755336000908152600560205260409020546108e5908563ffffffff6111b016565b33600090815260056020908152604080832093909355600690522054610911908563ffffffff61119716565b3360008181526006602090815260408083209490945560025484517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810194909452602484018990529351600160a060020a039094169363a9059cbb93604480820194918390030190829087803b15801561098f57600080fd5b505af11580156109a3573d6000803e3d6000fd5b505050506040513d60208110156109b957600080fd5b50506040805142815260208101869052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050505050565b600460205282600052604060002082815481101515610a1857fe5b906000526020600020906002020181600281101515610a3357fe5b0154925083915050565b600154600160a060020a031681565b6000610a57826106ff565b60005b602002015192915050565b600160a060020a031660009081526005602052604090205490565b60075481565b600254600160a060020a031681565b600154600160a060020a03163314610b1d576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b6000610bb7826106ff565b6001610a5a565b6000610bca838361102c565b60005b60200201519392505050565b600354600160a060020a031681565b6003546000908190600160a060020a0316331480610c76576040805160e560020a62461bcd02815260206004820152603260248201527f4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e207060448201527f6572666f726d207468697320616374696f6e0000000000000000000000000000606482015290519081900360840190fd5b831515610ccd576040805160e560020a62461bcd02815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b600754610ce0908563ffffffff61119716565b600755600254604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b158015610d4957600080fd5b505af1158015610d5d573d6000803e3d6000fd5b505050506040513d6020811015610d7357600080fd5b50516007541115610e1a576040805160e560020a62461bcd02815260206004820152604760248201527f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f60448201527f6e747261637420746f2070726f7669646520666f72207468652076657374696e60648201527f6720656e74727900000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600160a060020a0385166000908152600460205260409020549250610104831115610e8f576040805160e560020a62461bcd02815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b6301dfe20042019150821515610ebf57600160a060020a0385166000908152600560205260409020849055610f8b565b81610ecd8660018603610bbe565b10610f48576040805160e560020a62461bcd02815260206004820152603760248201527f43616e6e6f7420616464206e65772076657374656420656e747269657320656160448201527f726c696572207468616e20746865206c617374206f6e65000000000000000000606482015290519081900360840190fd5b600160a060020a038516600090815260056020526040902054610f71908563ffffffff61119716565b600160a060020a0386166000908152600560205260409020555b600160a060020a0385166000908152600460209081526040808320815180830190925285825281830188905280546001810180835591855292909320610fda9260029081029091019190611246565b505060408051428152602081018690528151600160a060020a038816927fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c928290030190a25050505050565b61010481565b6110346111c7565b600160a060020a038316600090815260046020526040902080548390811061105857fe5b600091825260209091206040805180820191829052926002908102909201919082845b81548152602001906001019080831161107b575050505050905092915050565b60006110a7838361102c565b6001610bcd565b600054600160a060020a03163314611136576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d9181900360200190a150565b6000828201838110156111a957600080fd5b9392505050565b600080838311156111c057600080fd5b5050900390565b60408051808201825290600290829080388339509192915050565b61410060405190810160405280610208906020820280388339509192915050565b8260028101928215611236579160200282015b82811115611236578251829060ff16905591602001919060010190611216565b50611242929150611274565b5090565b8260028101928215611236579160200282015b82811115611236578251825591602001919060010190611259565b61128e91905b80821115611242576000815560010161127a565b905600a165627a7a723058203b28beeb8362b708c96294370448bb0aca4e94f963ba89bee8ef7a1301e42ad80029","abi":[{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":false,"inputs":[{"internalType":"contract IFeePool","name":"_feePool","type":"address"}],"name":"setFeePool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x19db2228"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x19e740c0"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"numVestingEntries","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x204b676a"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"totalVestedAccountBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x227d517a"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingEntry","outputs":[{"name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2f5bb661"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"totalEscrowedAccountBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x326a3cfb"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"checkAccountSchedule","outputs":[{"name":"","type":"uint256[520]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x449d0eb1"},{"constant":false,"inputs":[],"name":"vest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x458efde3"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"vestingSchedules","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x45e5441f"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6b3905c4"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":true,"inputs":[],"name":"totalEscrowedBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x71e780f3"},{"constant":true,"inputs":[],"name":"synthetix","outputs":[{"internalType":"contract ISynthetix","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x759b5225"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getNextVestingQuantity","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x97f46527"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getVestingTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9b217f90"},{"constant":true,"inputs":[],"name":"feePool","outputs":[{"internalType":"contract IFeePool","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xae2e933b"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"quantity","type":"uint256"}],"name":"appendVestingEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb5ddb9c7"},{"constant":true,"inputs":[],"name":"MAX_VESTING_ENTRIES","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd0cc82e3"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getVestingScheduleEntry","outputs":[{"name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xda7bd3e9"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getVestingQuantity","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xee1d036c"},{"constant":false,"inputs":[{"internalType":"contract ISynthetix","name":"_synthetix","type":"address"}],"name":"setSynthetix","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xfec9f9da"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_synthetix","type":"address"},{"name":"_feePool","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newSynthetix","type":"address"}],"name":"SynthetixUpdated","type":"event","signature":"0x46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newFeePool","type":"address"}],"name":"FeePoolUpdated","type":"event","signature":"0x6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb6295"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"time","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Vested","type":"event","signature":"0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"time","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"VestingEntryCreated","type":"event","signature":"0xedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"FeePoolState":{"bytecode":"608060405234801561001057600080fd5b5060405160408061135b83398101604052805160209091015162375f008280600160a060020a03811615156100a657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600160a060020a038116151561017657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f776e6572206d757374206e6f74206265207a65726f00000000000000000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810261010060a860020a03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150420160045560058054600160a060020a031916600160a060020a039290921691909117905550611156806102056000396000f3006080604052600436106101115763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631627540c811461011657806317c70de41461013957806319db22281461016057806320714f88146101815780633278c960146101a257806339a3f63f146101b757806353a47bb7146101e957806379ba50971461021a5780637de655451461022f5780638da5cb5b1461026c57806394e1a448146102815780639cb8a26a146102ab578063a461fc82146102c0578063ae2e933b146102d5578063b326f84e146102ea578063b8225dec1461030e578063bd32aa4414610337578063c58aaae61461034c578063cff2ddad14610361578063d29c000a1461038c575b600080fd5b34801561012257600080fd5b50610137600160a060020a03600435166103b0565b005b34801561014557600080fd5b5061014e610475565b60408051918252519081900360200190f35b34801561016c57600080fd5b50610137600160a060020a036004351661047b565b34801561018d57600080fd5b50610137600160a060020a036004351661050e565b3480156101ae57600080fd5b5061013761063b565b3480156101c357600080fd5b5061013760246004803582810192908201359181359182019101356044356064356106d9565b3480156101f557600080fd5b506101fe61096b565b60408051600160a060020a039092168252519081900360200190f35b34801561022657600080fd5b5061013761097a565b34801561023b57600080fd5b50610253600160a060020a0360043516602435610a82565b6040805192835260208301919091528051918290030190f35b34801561027857600080fd5b506101fe610ab1565b34801561028d57600080fd5b50610137600160a060020a0360043516602435604435606435610ac0565b3480156102b757600080fd5b50610137610b98565b3480156102cc57600080fd5b5061014e610d11565b3480156102e157600080fd5b506101fe610d18565b3480156102f657600080fd5b50610253600160a060020a0360043516602435610d27565b34801561031a57600080fd5b50610323610e0c565b604080519115158252519081900360200190f35b34801561034357600080fd5b50610137610e15565b34801561035857600080fd5b506101fe610ec2565b34801561036d57600080fd5b50610376610ed6565b6040805160ff9092168252519081900360200190f35b34801561039857600080fd5b50610253600160a060020a0360043516602435610edb565b600054600160a060020a03163314610414576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60025481565b600054600160a060020a031633146104df576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a03163314610572576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b600160a060020a03811615156105d2576040805160e560020a62461bcd02815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810274ffffffffffffffffffffffffffffffffffffffff00199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b600054600160a060020a0316331461069f576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b60008054600160a060020a0316331461073e576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b60045442106107bd576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757260448201527f696e672073657475700000000000000000000000000000000000000000000000606482015290519081900360840190fd5b858414610814576040805160e560020a62461bcd02815260206004820152600f60248201527f4c656e677468206d69736d617463680000000000000000000000000000000000604482015290519081900360640190fd5b5060005b858110156109625784848281811061082c57fe5b9050602002013560066000898985818110151561084557fe5b90506020020135600160a060020a0316600160a060020a0316600160a060020a031681526020019081526020016000208460068110151561088257fe5b6002020155816006600089898581811061089857fe5b90506020020135600160a060020a0316600160a060020a0316600160a060020a03168152602001908152602001600020846006811015156108d557fe5b600202016001018190555086868281811015156108ee57fe5b90506020020135600160a060020a0316600160a060020a03167f3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea868684818110151561093657fe5b9050602002013584604051808381526020018281526020019250505060405180910390a2600101610818565b50505050505050565b600154600160a060020a031681565b600154600160a060020a03163314610a02576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600660205281600052604060002081600681101515610a9d57fe5b600202018054600190910154909250905082565b600054600160a060020a031681565b600554600160a060020a03163314610b48576040805160e560020a62461bcd02815260206004820152603160248201527f4f6e6c792074686520466565506f6f6c20636f6e74726163742063616e20706560448201527f72666f726d207468697320616374696f6e000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038416600090815260066020526040902060010154811115610b7457610b7484610fbd565b50600160a060020a0392909216600090815260066020526040902090815560010155565b60008054600160a060020a03163314610bfd576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b60035460ff161515610c59576040805160e560020a62461bcd02815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea0060025401101515610cb9576040805160e560020a62461bcd02815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b5060035460408051600160a060020a0361010090930492909216808352905190917f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7919081900360200190a180600160a060020a0316ff5b6224ea0081565b600554600160a060020a031681565b60008060068310610da8576040805160e560020a62461bcd02815260206004820152602360248201527f696e646578206578636565647320746865204645455f504552494f445f4c454e60448201527f4754480000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03841660009081526006602081905260409091209084908110610dce57fe5b6002020154600160a060020a038516600090815260066020819052604090912091935084908110610dfb57fe5b600202016001015490509250929050565b60035460ff1681565b600054600160a060020a03163314610e79576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b6003546101009004600160a060020a031681565b600681565b600080610ee66110a4565b600160a060020a0385166000908152600660208190526040808320815160c08101909252909183835b82821015610f4b578382600202016040805190810160405290816000820154815260200160018201548152505081526020019060010190610f0f565b505050509150600090505b6006811015610fb457818160068110610f6b57fe5b60200201516020015185101515610fac57818160068110610f8857fe5b602002015151828260068110610f9a57fe5b60200201516020015193509350610fb4565b600101610f56565b50509250929050565b600460005b600682101561109f5750600160a060020a0382166000908152600660208190526040909120600183019183908110610ff657fe5b6002020154600160a060020a0384166000908152600660208190526040909120908390811061102157fe5b6002020155600160a060020a0383166000908152600660208190526040909120908390811061104c57fe5b60020201600101546006600085600160a060020a0316600160a060020a031681526020019081526020016000208260068110151561108657fe5b6002020160010181905550818060019003925050610fc2565b505050565b610180604051908101604052806006905b6110bd6110d3565b8152602001906001900390816110b55790505090565b60408051808201909152600080825260208201529056004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e0000000000000000000000000000000000a165627a7a7230582056344713387aaabefb61e86c7b5580694eb1233af5798f372869277011e4ae280029","abi":[{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"initiationTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x17c70de4"},{"constant":false,"inputs":[{"internalType":"contract IFeePool","name":"_feePool","type":"address"}],"name":"setFeePool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x19db2228"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"setSelfDestructBeneficiary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x20714f88"},{"constant":false,"inputs":[],"name":"terminateSelfDestruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3278c960"},{"constant":false,"inputs":[{"name":"accounts","type":"address[]"},{"name":"ratios","type":"uint256[]"},{"name":"periodToInsert","type":"uint256"},{"name":"feePeriodCloseIndex","type":"uint256"}],"name":"importIssuerData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x39a3f63f"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"accountIssuanceLedger","outputs":[{"name":"debtPercentage","type":"uint256"},{"name":"debtEntryIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7de65545"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"debtRatio","type":"uint256"},{"name":"debtEntryIndex","type":"uint256"},{"name":"currentPeriodStartDebtIndex","type":"uint256"}],"name":"appendAccountIssuanceRecord","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x94e1a448"},{"constant":false,"inputs":[],"name":"selfDestruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9cb8a26a"},{"constant":true,"inputs":[],"name":"SELFDESTRUCT_DELAY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa461fc82"},{"constant":true,"inputs":[],"name":"feePool","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xae2e933b"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"index","type":"uint256"}],"name":"getAccountsDebtEntry","outputs":[{"name":"debtPercentage","type":"uint256"},{"name":"debtEntryIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb326f84e"},{"constant":true,"inputs":[],"name":"selfDestructInitiated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb8225dec"},{"constant":false,"inputs":[],"name":"initiateSelfDestruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbd32aa44"},{"constant":true,"inputs":[],"name":"selfDestructBeneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc58aaae6"},{"constant":true,"inputs":[],"name":"FEE_PERIOD_LENGTH","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcff2ddad"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"closingDebtIndex","type":"uint256"}],"name":"applicableIssuanceData","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd29c000a"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_feePool","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"debtRatio","type":"uint256"},{"indexed":false,"name":"feePeriodCloseIndex","type":"uint256"}],"name":"IssuanceDebtRatioEntry","type":"event","signature":"0x3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea"},{"anonymous":false,"inputs":[],"name":"SelfDestructTerminated","type":"event","signature":"0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"},{"anonymous":false,"inputs":[{"indexed":false,"name":"beneficiary","type":"address"}],"name":"SelfDestructed","type":"event","signature":"0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"},{"anonymous":false,"inputs":[{"indexed":false,"name":"selfDestructDelay","type":"uint256"}],"name":"SelfDestructInitiated","type":"event","signature":"0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newBeneficiary","type":"address"}],"name":"SelfDestructBeneficiaryUpdated","type":"event","signature":"0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"SupplySchedule":{"bytecode":"608060405268056bc75e2d631000006004556a027b46536c66c8e300000060065534801561002c57600080fd5b50604051610cb8380380610cb88339818101604052606081101561004f57600080fd5b5080516020820151604090920151909190826001600160a01b0381166100bc576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060029190915560035550610b8a8061012e6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80637e1b823f116100c3578063bdd124821161007c578063bdd12482146102ae578063be801f01146102b6578063cc5c095c146102be578063d3bd4bde146102c6578063dbd3a6a7146102ce578063df5a9fc1146102d65761014d565b80637e1b823f1461024b5780637e7961d7146102535780638da5cb5b1461027057806395896b76146102785780639bdd7ac71461029e578063a43ab48e146102a65761014d565b80634ae26521116101155780634ae26521146101d557806353a47bb7146101f2578063614d08f8146102165780636f33e7e11461021e5780637397ab6c1461022657806379ba5097146102435761014d565b80631627540c1461015257806322af2bab1461017a57806325a3746e1461019457806346872a23146101b157806346b45af7146101b9575b600080fd5b6101786004803603602081101561016857600080fd5b50356001600160a01b03166102de565b005b61018261033a565b60408051918252519081900360200190f35b610178600480360360208110156101aa57600080fd5b5035610347565b6101826103e1565b6101c16103e8565b604080519115158252519081900360200190f35b610178600480360360208110156101eb57600080fd5b5035610408565b6101fa610493565b604080516001600160a01b039092168252519081900360200190f35b6101826104a2565b6101826104b7565b6101786004803603602081101561023c57600080fd5b50356104bd565b610178610502565b6101826105be565b6101826004803603602081101561026957600080fd5b50356105c6565b6101fa610734565b6101786004803603602081101561028e57600080fd5b50356001600160a01b0316610743565b6101826107f6565b6101826107fc565b6101fa610802565b610182610811565b610182610817565b61018261084d565b610182610853565b6101826108a2565b6102e66108a9565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b680ad78ebc5ac620000081565b61034f6108a9565b6006548111156103a6576040805162461bcd60e51b815260206004820152601e60248201527f416d6f756e742061626f7665206d6178696d756d20696e666c6174696f6e0000604482015290519081900360640190fd5b60058190556040805182815290517f297a8f497249a00f95e5f63b91fe72db09907e46dba60ec5e4f6397056709a669181900360200190a150565b6201518081565b600062093a806002544203111561040157506001610405565b5060005b90565b6104106108a9565b680ad78ebc5ac62000008111156104585760405162461bcd60e51b8152600401808060200182810382526026815260200180610b306026913960400191505060405180910390fd5b60048190556040805182815290517f036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d309181900360200190a150565b6001546001600160a01b031681565b6d537570706c795363686564756c6560901b81565b60055481565b6104c56108a9565b600681905560055460408051918252517f6a653dcb129ba34c380e770610eeb3b16e0318f91bf2a3cab0283b529086093b9181900360200190a150565b6001546001600160a01b0316331461054b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610a786035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b635c7f0d8081565b60075460408051636a5c1cc960e11b815290516000926001600160a01b03169163d4b83992916004808301926020929190829003018186803b15801561060b57600080fd5b505afa15801561061f573d6000803e3d6000fd5b505050506040513d602081101561063557600080fd5b50516001600160a01b0316331461067d5760405162461bcd60e51b8152600401808060200182810382526033815260200180610afd6033913960400191505060405180910390fd5b6000610687610853565b60035490915061069d908263ffffffff6108f416565b60038190556106df9062015180906106d3906106c29062093a8063ffffffff61095716565b635c7f0d809063ffffffff6108f416565b9063ffffffff6108f416565b6002819055604080518581526020810184905280820192909252426060830152517f601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab9181900360800190a15050600454919050565b6000546001600160a01b031681565b61074b6108a9565b6001600160a01b03811661079c576040805162461bcd60e51b81526020600482015260136024820152720416464726573732063616e6e6f74206265203606c1b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517ff8df0556b7fde3c4b8394eae329aedfa59c6ffd8b532d572a1efcfa3424ca5fc916020908290030190a150565b60045481565b60065481565b6007546001600160a01b031681565b60025481565b6000806108226103e8565b61082d579050610405565b610847610838610853565b6005549063ffffffff61095716565b91505090565b60035481565b6000806000600254116108795761087442635c7f0d8063ffffffff6109b016565b61088d565b60025461088d90429063ffffffff6109b016565b90506108478162093a8063ffffffff610a0d16565b62093a8081565b6000546001600160a01b031633146108f25760405162461bcd60e51b815260040180806020018281038252602f815260200180610aad602f913960400191505060405180910390fd5b565b60008282018381101561094e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60008261096657506000610951565b8282028284828161097357fe5b041461094e5760405162461bcd60e51b8152600401808060200182810382526021815260200180610adc6021913960400191505060405180910390fd5b600082821115610a07576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211610a63576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610a6e57fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c79207468652073796e74686574697820636f6e74726163742063616e20706572666f726d207468697320616374696f6e5265776172642063616e6e6f7420657863656564206d6178206d696e74657220726577617264a265627a7a723158207edc2ff71f2f6714b284652e69320267df5af836a9968f3da52259e9b54ae75e64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_lastMintEvent","type":"uint256"},{"internalType":"uint256","name":"_currentWeek","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newInflationAmount","type":"uint256"}],"name":"InflationAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newInflationAmount","type":"uint256"}],"name":"MaxInflationAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newRewardAmount","type":"uint256"}],"name":"MinterRewardUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"supplyMinted","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"numberOfWeeksIssued","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lastMintEvent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"SupplyMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"SynthetixProxyUpdated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"INFLATION_START_DATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_MINTER_REWARD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MINT_BUFFER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MINT_PERIOD_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"inflationAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isMintable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastMintEvent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxInflationAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mintableSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minterReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"supplyMinted","type":"uint256"}],"name":"recordMintEvent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setInflationAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxInflationAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMinterReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract ISynthetix","name":"_synthetixProxy","type":"address"}],"name":"setSynthetixProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"synthetixProxy","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weekCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weeksSinceLastIssuance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x584bf43fc9aff83822ca4bce779cc1497960f183c841ea7c4ff2195ff2916c27","urls":["bzz-raw://2d3f620ed9b73ac30db774e684039162626735e95a6c75e56c19253591ce8520","dweb:/ipfs/Qmdivf4mHJWhLfWeQ3YbczUhjwX5ysZYuzRvYP7gww6Y83"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SupplySchedule.sol":"SupplySchedule"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SupplySchedule.sol":{"keccak256":"0x584bf43fc9aff83822ca4bce779cc1497960f183c841ea7c4ff2195ff2916c27","urls":["bzz-raw://2d3f620ed9b73ac30db774e684039162626735e95a6c75e56c19253591ce8520","dweb:/ipfs/Qmdivf4mHJWhLfWeQ3YbczUhjwX5ysZYuzRvYP7gww6Y83"]}},"version":1}},"DelegateApprovals":{"bytecode":"6101206040527f417070726f7665416c6c0000000000000000000000000000000000000000000060809081527f4275726e466f724164647265737300000000000000000000000000000000000060a0527f4973737565466f7241646472657373000000000000000000000000000000000060c0527f436c61696d466f7241646472657373000000000000000000000000000000000060e0527f45786368616e6765466f72416464726573730000000000000000000000000000610100526100ca9060029060056101e7565b503480156100d757600080fd5b5060405160408061118f83398101604052805160209091015181600160a060020a038116151561016857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060078054600160a060020a031916600160a060020a039290921691909117905550610244565b8260058101928215610217579160200282015b8281111561021757825182556020909201916001909101906101fa565b50610223929150610227565b5090565b61024191905b80821115610223576000815560010161022d565b90565b610f3c806102536000396000f30060806040526004361061013a5763ffffffff60e060020a60003504166304872617811461013f5780631627540c1461017a57806321f4ae571461019d5780632c70aecf146101c45780634180e5b5146101eb578063431ce5401461020c578063447fbc631461022d57806353a47bb71461024e57806359cec3d61461027f5780636c8bc9fe146102a05780636f95200b146102c157806379ba5097146102e25780637d3f0ba2146102f75780638da5cb5b1461031e57806398ff9c54146103335780639c79ce35146103485780639cbc2ebe146103695780639f61d3361461037e578063b42e0f151461039f578063b5bb5619146103c6578063b9156efa146103e7578063bc87acbf14610408578063c5e17ab014610429578063d8eeb7c11461043e578063e32b3f5214610453578063faf431bb14610468575b600080fd5b34801561014b57600080fd5b50610166600160a060020a036004358116906024351661048f565b604080519115158252519081900360200190f35b34801561018657600080fd5b5061019b600160a060020a03600435166104b1565b005b3480156101a957600080fd5b50610166600160a060020a036004358116906024351661059a565b3480156101d057600080fd5b506101d96105b5565b60408051918252519081900360200190f35b3480156101f757600080fd5b5061019b600160a060020a03600435166105c7565b34801561021857600080fd5b5061019b600160a060020a03600435166105e3565b34801561023957600080fd5b5061019b600160a060020a03600435166105fc565b34801561025a57600080fd5b50610263610615565b60408051600160a060020a039092168252519081900360200190f35b34801561028b57600080fd5b5061019b600160a060020a0360043516610624565b3480156102ac57600080fd5b5061019b600160a060020a036004351661063d565b3480156102cd57600080fd5b5061019b600160a060020a0360043516610656565b3480156102ee57600080fd5b5061019b610687565b34801561030357600080fd5b50610166600160a060020a036004358116906024351661078f565b34801561032a57600080fd5b506102636107aa565b34801561033f57600080fd5b506102636107b9565b34801561035457600080fd5b5061019b600160a060020a03600435166107c8565b34801561037557600080fd5b506101d96107e1565b34801561038a57600080fd5b5061019b600160a060020a0360043516610805565b3480156103ab57600080fd5b50610166600160a060020a036004358116906024351661081e565b3480156103d257600080fd5b5061019b600160a060020a03600435166108cd565b3480156103f357600080fd5b5061019b600160a060020a0360043516610a42565b34801561041457600080fd5b5061019b600160a060020a0360043516610a5b565b34801561043557600080fd5b506101d9610a86565b34801561044a57600080fd5b506101d9610a98565b34801561045f57600080fd5b506101d9610aaa565b34801561047457600080fd5b50610166600160a060020a0360043581169060243516610abc565b60006104aa600080516020610eb18339815191528484610ad3565b9392505050565b600054600160a060020a03163314610539576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104aa600080516020610e918339815191528484610ad3565b600080516020610eb183398151915281565b6105e0600080516020610e918339815191523383610b79565b50565b6105e0600080516020610eb18339815191523383610c9e565b6105e0600080516020610ed18339815191523383610b79565b600154600160a060020a031681565b6105e0600080516020610ef18339815191523383610c9e565b6105e0600080516020610e918339815191523383610c9e565b60005b60058110156106835761067b6002826005811061067257fe5b01543384610c9e565b600101610659565b5050565b600154600160a060020a0316331461070f576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60006104aa600080516020610ef18339815191528484610ad3565b600054600160a060020a031681565b600754600160a060020a031681565b6105e0600080516020610ef18339815191523383610b79565b7f417070726f7665416c6c0000000000000000000000000000000000000000000081565b6105e0600080516020610eb18339815191523383610b79565b600754600090600160a060020a03166317e7dd2261085d7f417070726f7665416c6c000000000000000000000000000000000000000000008686610de7565b6040805160e060020a63ffffffff851602815260048101929092525160248083019260209291908290030181600087803b15801561089a57600080fd5b505af11580156108ae573d6000803e3d6000fd5b505050506040513d60208110156108c457600080fd5b50519392505050565b600054600160a060020a03163314610955576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03811615156109db576040805160e560020a62461bcd02815260206004820152602660248201527f43616e27742073657420657465726e616c53746f7261676520746f206164647260448201527f6573732830290000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091179182905560408051929091168252517fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17916020908290030190a150565b6105e0600080516020610ed18339815191523383610c9e565b6105e07f417070726f7665416c6c000000000000000000000000000000000000000000003383610b79565b600080516020610e9183398151915281565b600080516020610ed183398151915281565b600080516020610ef183398151915281565b60006104aa600080516020610ed183398151915284845b6000610adf838361081e565b15610aec575060016104aa565b600754600160a060020a03166317e7dd22610b08868686610de7565b6040805160e060020a63ffffffff851602815260048101929092525160248083019260209291908290030181600087803b158015610b4557600080fd5b505af1158015610b59573d6000803e3d6000fd5b505050506040513d6020811015610b6f57600080fd5b5051949350505050565b600160a060020a0381161515610bd9576040805160e560020a62461bcd02815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015290519081900360640190fd5b600754600160a060020a0316633eba9ed2610bf5858585610de7565b6040805160e060020a63ffffffff851602815260048101929092526001602483015251604480830192600092919082900301818387803b158015610c3857600080fd5b505af1158015610c4c573d6000803e3d6000fd5b505060408051600160a060020a03858116825260208201889052825190871694507f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633693509081900390910190a2505050565b600754600160a060020a03166317e7dd22610cba858585610de7565b6040805160e060020a63ffffffff851602815260048101929092525160248083019260209291908290030181600087803b158015610cf757600080fd5b505af1158015610d0b573d6000803e3d6000fd5b505050506040513d6020811015610d2157600080fd5b505115610de257600754600160a060020a0316633cc1635c610d44858585610de7565b6040805160e060020a63ffffffff8516028152600481019290925251602480830192600092919082900301818387803b158015610d8057600080fd5b505af1158015610d94573d6000803e3d6000fd5b505060408051600160a060020a03858116825260208201889052825190871694507f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4193509081900390910190a25b505050565b6040805160208082018690526c01000000000000000000000000600160a060020a038087168202848601528516026054830152825160488184030181526068909201928390528151600093918291908401908083835b60208310610e5c5780518252601f199092019160209182019101610e3d565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209796505050505050505600436c61696d466f724164647265737300000000000000000000000000000000004973737565466f7241646472657373000000000000000000000000000000000045786368616e6765466f724164647265737300000000000000000000000000004275726e466f7241646472657373000000000000000000000000000000000000a165627a7a72305820581990c732fa6daed223bbf7136c10417506b8d8c6fef5bb8e107f27eea2d77b0029","abi":[{"constant":true,"inputs":[{"name":"authoriser","type":"address"},{"name":"delegate","type":"address"}],"name":"canIssueFor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04872617"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[{"name":"authoriser","type":"address"},{"name":"delegate","type":"address"}],"name":"canClaimFor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x21f4ae57"},{"constant":true,"inputs":[],"name":"ISSUE_FOR_ADDRESS","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2c70aecf"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"approveClaimOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4180e5b5"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"removeIssueOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x431ce540"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"approveExchangeOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x447fbc63"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"removeBurnOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x59cec3d6"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"removeClaimOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x6c8bc9fe"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"removeAllDelegatePowers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x6f95200b"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"name":"authoriser","type":"address"},{"name":"delegate","type":"address"}],"name":"canBurnFor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7d3f0ba2"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"eternalStorage","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x98ff9c54"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"approveBurnOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9c79ce35"},{"constant":true,"inputs":[],"name":"APPROVE_ALL","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9cbc2ebe"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"approveIssueOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9f61d336"},{"constant":true,"inputs":[{"name":"authoriser","type":"address"},{"name":"delegate","type":"address"}],"name":"approvedAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb42e0f15"},{"constant":false,"inputs":[{"name":"_eternalStorage","type":"address"}],"name":"setEternalStorage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb5bb5619"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"removeExchangeOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb9156efa"},{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"approveAllDelegatePowers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbc87acbf"},{"constant":true,"inputs":[],"name":"CLAIM_FOR_ADDRESS","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc5e17ab0"},{"constant":true,"inputs":[],"name":"EXCHANGE_FOR_ADDRESS","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd8eeb7c1"},{"constant":true,"inputs":[],"name":"BURN_FOR_ADDRESS","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe32b3f52"},{"constant":true,"inputs":[{"name":"authoriser","type":"address"},{"name":"delegate","type":"address"}],"name":"canExchangeFor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xfaf431bb"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_eternalStorage","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authoriser","type":"address"},{"indexed":false,"name":"delegate","type":"address"},{"indexed":false,"name":"action","type":"bytes32"}],"name":"Approval","type":"event","signature":"0x36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a26336"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authoriser","type":"address"},{"indexed":false,"name":"delegate","type":"address"},{"indexed":false,"name":"action","type":"bytes32"}],"name":"WithdrawApproval","type":"event","signature":"0x7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f41"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newEternalStorage","type":"address"}],"name":"EternalStorageUpdated","type":"event","signature":"0xe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"FeePoolEternalStorage":{"bytecode":"608060405234801561001057600080fd5b5060405160408061161283398101604052805160209091015162375f008282818181600160a060020a03811615156100a957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050504201600a55506114a490508061016e6000396000f3006080604052600436106101695763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025ec81a811461016e578063043106c0146101985780630c55d925146101b2578063124f2418146101ca5780631627540c146101e257806317e7dd221461020357806325cf512d1461022f5780633562fd201461024a5780633cc1635c146102655780633eba9ed21461027d57806344bfa56e1461029a5780634c77e5ba1461032757806352f445ca1461035b57806353a47bb71461037c5780635a2bf25a1461039157806379ba5097146103b55780638267a9ee146103ca5780638da5cb5b146103e25780639007127b146103f757806393fe42481461040f578063a209a29c14610427578063a77aa49e1461043f578063aefc4ccb1461045a578063b3ffbd9e1461046f578063ba69fcaa1461049b578063bdc963d8146104b3578063c9a52d2c146104cb578063f5866066146104ef575b600080fd5b34801561017a57600080fd5b50610186600435610513565b60408051918252519081900360200190f35b3480156101a457600080fd5b506101b0600435610525565b005b3480156101be57600080fd5b506101b06004356105b4565b3480156101d657600080fd5b506101b0600435610632565b3480156101ee57600080fd5b506101b0600160a060020a03600435166106a7565b34801561020f57600080fd5b5061021b600435610790565b604080519115158252519081900360200190f35b34801561023b57600080fd5b506101b06004356024356107a5565b34801561025657600080fd5b506101b060043560243561081b565b34801561027157600080fd5b506101b0600435610891565b34801561028957600080fd5b506101b0600435602435151561090d565b3480156102a657600080fd5b506102b2600435610991565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ec5781810151838201526020016102d4565b50505050905090810190601f1680156103195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033357600080fd5b5061033f600435610a32565b60408051600160a060020a039092168252519081900360200190f35b34801561036757600080fd5b506101b0600160a060020a0360043516610a4d565b34801561038857600080fd5b5061033f610b36565b34801561039d57600080fd5b506101b0600435600160a060020a0360243516610b45565b3480156103c157600080fd5b506101b0610be4565b3480156103d657600080fd5b506101b0600435610cec565b3480156103ee57600080fd5b5061033f610d61565b34801561040357600080fd5b50610186600435610d70565b34801561041b57600080fd5b506101b0600435610d82565b34801561043357600080fd5b506102b2600435610df7565b34801561044b57600080fd5b506101b0600435602435610e61565b34801561046657600080fd5b5061033f610ed7565b34801561047b57600080fd5b506101b06024600480358281019290820135918135918201910135610ee6565b3480156104a757600080fd5b506101b06004356111cc565b3480156104bf57600080fd5b50610186600435611247565b3480156104d757600080fd5b506101b0600480359060248035908101910135611259565b3480156104fb57600080fd5b506101b06004803590602480359081019101356112dc565b60009081526007602052604090205490565b600254600160a060020a03163314610589576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b6000908152600560205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b600254600160a060020a03163314610618576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600081815260066020526040812061062f91611359565b50565b600254600160a060020a03163314610696576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600090815260076020526040812055565b600054600160a060020a0316331461072f576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b600254600160a060020a03163314610809576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60009182526007602052604090912055565b600254600160a060020a0316331461087f576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60009182526003602052604090912055565b600254600160a060020a031633146108f5576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b6000908152600860205260409020805460ff19169055565b600254600160a060020a03163314610971576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002610100600185161502600019019093169290920491820184900484028101840190945280845260609392830182828015610a265780601f106109fb57610100808354040283529160200191610a26565b820191906000526020600020905b815481529060010190602001808311610a0957829003601f168201915b50505050509050919050565b600090815260056020526040902054600160a060020a031690565b600054600160a060020a03163314610ad5576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b600254600160a060020a03163314610ba9576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600091825260056020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600154600160a060020a03163314610c6c576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600254600160a060020a03163314610d50576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600090815260096020526040812055565b600054600160a060020a031681565b60009081526009602052604090205490565b600254600160a060020a03163314610de6576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002610100600185161502600019019093169290920491820184900484028101840190945280845260609392830182828015610a265780601f106109fb57610100808354040283529160200191610a26565b600254600160a060020a03163314610ec5576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60009182526009602052604090912055565b600254600160a060020a031681565b60008054600160a060020a03163314610f6f576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b600a544210610fee576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757260448201527f696e672073657475700000000000000000000000000000000000000000000000606482015290519081900360840190fd5b838214611045576040805160e560020a62461bcd02815260206004820152600f60248201527f4c656e677468206d69736d617463680000000000000000000000000000000000604482015290519081900360640190fd5b5060005b60ff81168411156111c55730633562fd207f6c6173745f6665655f7769746864726177616c00000000000000000000000000878760ff861681811061108a57fe5b604080516020808201969096529185029390930135600160a060020a03166c01000000000000000000000000028184015282518082036034018152605490910192839052805190938392508401908083835b602083106110fb5780518252601f1990920191602091820191016110dc565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902085858560ff16818110151561113957fe5b905060200201356040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b1580156111a157600080fd5b505af11580156111b5573d6000803e3d6000fd5b5050600190920191506110499050565b5050505050565b600254600160a060020a03163314611230576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600081815260046020526040812061062f91611359565b60009081526003602052604090205490565b600254600160a060020a031633146112bd576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60008381526006602052604090206112d690838361139d565b50505050565b600254600160a060020a03163314611340576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60008381526004602052604090206112d690838361139d565b50805460018160011615610100020316600290046000825580601f1061137f575061062f565b601f01602090049060005260206000209081019061062f919061141b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106113de5782800160ff1982351617855561140b565b8280016001018555821561140b579182015b8281111561140b5782358255916020019190600101906113f0565b5061141792915061141b565b5090565b61143591905b808211156114175760008155600101611421565b9056004f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e000000000000000000000000a165627a7a72305820687142877678f2b71272cd9850fea5cd59a6afbe17bc36cc77cba68093d381c00029","abi":[{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getBytes32Value","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x025ec81a"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x043106c0"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0c55d925"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x124f2418"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getBooleanValue","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x17e7dd22"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"bytes32"}],"name":"setBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x25cf512d"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"uint256"}],"name":"setUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3562fd20"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3cc1635c"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"bool"}],"name":"setBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3eba9ed2"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getBytesValue","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x44bfa56e"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getAddressValue","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4c77e5ba"},{"constant":false,"inputs":[{"name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"address"}],"name":"setAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5a2bf25a"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8267a9ee"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getIntValue","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9007127b"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x93fe4248"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getStringValue","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa209a29c"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"int256"}],"name":"setIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa77aa49e"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":false,"inputs":[{"name":"accounts","type":"address[]"},{"name":"feePeriodIDs","type":"uint256[]"}],"name":"importFeeWithdrawalData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb3ffbd9e"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xba69fcaa"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getUIntValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbdc963d8"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"bytes"}],"name":"setBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc9a52d2c"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"string"}],"name":"setStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf5866066"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_feePool","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"PurgeableSynth":{"bytecode":"60806040819052630241ebdb60e61b815273__$3123cc1d66d3bdb6ad1ab810b3f0e3cac5$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051620186a002600c553480156200008857600080fd5b50604051620032c3380380620032c38339818101604052610100811015620000af57600080fd5b81516020830151604080850180519151939592948301929184640100000000821115620000db57600080fd5b908301906020820185811115620000f157600080fd5b82516401000000008111828201881017156200010c57600080fd5b82525081516020918201929091019080838360005b838110156200013b57818101518382015260200162000121565b50505050905090810190601f168015620001695780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200018d57600080fd5b908301906020820185811115620001a357600080fd5b8251640100000000811182820188101715620001be57600080fd5b82525081516020918201929091019080838360005b83811015620001ed578181015183820152602001620001d3565b50505050905090810190601f1680156200021b5780820380516001836020036101000a031916815260200191505b50604090815260208201519082015160608301516080909301519194509250878787878787878780888888888660128a86816001600160a01b038116620002a9576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000354576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b0388161790558451620003d6906006906020880190620004db565b508351620003ec906007906020870190620004db565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397881602179055505050908916905062000471576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b038416620004c2576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600b5550620005809b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200051e57805160ff19168380011785556200054e565b828001600101855582156200054e579182015b828111156200054e57825182559160200191906001019062000531565b506200055c92915062000560565b5090565b6200057d91905b808211156200055c576000815560010162000567565b90565b612d3380620005906000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806395d89b4111610125578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e21461068a578063eb1edd6114610692578063ec5568891461069a578063f7ea7a3d146106a2578063ffff51d6146106bf5761021c565b8063d67bdd2514610616578063dbd06c851461061e578063dd62ed3e14610626578063e73cced3146106545761021c565b80639f769807116100f45780639f76980714610502578063a9059cbb14610528578063ab59307914610554578063b014c3a3146105c4578063bc67f832146105f05761021c565b806395d89b41146104a057806397107d6d146104a85780639cbdaeb6146104ce5780639dc29fac146104d65761021c565b8063313ce567116101a857806379ba50971161017757806379ba5097146104045780637e88ac161461040c578063867904b414610414578063899ffef4146104405780638da5cb5b146104985761021c565b8063313ce567146103c657806353a47bb7146103ce57806370a08231146103d657806374185360146103fc5761021c565b80631627540c116101ef5780631627540c1461032a57806318160ddd1461035057806323b872dd1461036a5780632af64bd3146103a05780632e0f2625146103a85761021c565b806304f3bcec1461022157806306fdde0314610245578063095ea7b3146102c2578063131b0ae714610302575b600080fd5b6102296106e5565b604080516001600160a01b039092168252519081900360200190f35b61024d6106f9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028757818101518382015260200161026f565b50505050905090810190601f1680156102b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ee600480360360408110156102d857600080fd5b506001600160a01b038135169060200135610787565b604080519115158252519081900360200190f35b6103286004803603602081101561031857600080fd5b50356001600160a01b0316610822565b005b6103286004803603602081101561034057600080fd5b50356001600160a01b031661084c565b6103586108a8565b60408051918252519081900360200190f35b6102ee6004803603606081101561038057600080fd5b506001600160a01b038135811691602081013590911690604001356108ae565b6102ee6108d5565b6103b06109e7565b6040805160ff9092168252519081900360200190f35b6103b06109ec565b6102296109f5565b610358600480360360208110156103ec57600080fd5b50356001600160a01b0316610a04565b610328610a89565b610328610c66565b610358610d22565b6103286004803603604081101561042a57600080fd5b506001600160a01b038135169060200135610d28565b610448610de5565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048457818101518382015260200161046c565b505050509050019250505060405180910390f35b610229610e51565b61024d610e60565b610328600480360360208110156104be57600080fd5b50356001600160a01b0316610ebb565b610229610f17565b610328600480360360408110156104ec57600080fd5b506001600160a01b038135169060200135610f26565b6103286004803603602081101561051857600080fd5b50356001600160a01b0316610fe4565b6102ee6004803603604081101561053e57600080fd5b506001600160a01b038135169060200135611013565b6103286004803603602081101561056a57600080fd5b81019060208101813564010000000081111561058557600080fd5b82018360208201111561059757600080fd5b803590602001918460208302840111640100000000831117156105b957600080fd5b5090925090506110ab565b6102ee600480360360408110156105da57600080fd5b506001600160a01b038135169060200135611371565b6103286004803603602081101561060657600080fd5b50356001600160a01b03166114ca565b6102296114f4565b610358611503565b6103586004803603604081101561063c57600080fd5b506001600160a01b0381358116916020013516611509565b6102ee6004803603606081101561066a57600080fd5b506001600160a01b03813581169160208101359091169060400135611595565b6102296116e5565b6102296116f4565b61022961170c565b610328600480360360208110156106b857600080fd5b503561171b565b610358600480360360208110156106d557600080fd5b50356001600160a01b0316611728565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561077f5780601f106107545761010080835404028352916020019161077f565b820191906000526020600020905b81548152906001019060200180831161076257829003601f168201915b505050505081565b600061079161186b565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b1580156107f357600080fd5b505af1158015610807573d6000803e3d6000fd5b505050506108168185856118c2565b60019150505b92915050565b61082a6119fb565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6108546119fb565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b60006108b861186b565b6108c28483611a44565b6108cd848484611bbb565b949350505050565b600060606108e1610de5565b905060005b81518110156109dd5760008282815181106108fd57fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b15801561096c57600080fd5b505afa158015610980573d6000803e3d6000fd5b505050506040513d602081101561099657600080fd5b50516001600160a01b03161415806109c357506000818152600a60205260409020546001600160a01b0316155b156109d457600093505050506109e4565b506001016108e6565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610a5557600080fd5b505afa158015610a69573d6000803e3d6000fd5b505050506040513d6020811015610a7f57600080fd5b505190505b919050565b6060610a93610de5565b905060005b8151811015610c62576000828281518110610aaf57fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b7a578181015183820152602001610b62565b50505050905090810190601f168015610ba75780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610bc557600080fd5b505afa158015610bd9573d6000803e3d6000fd5b505050506040513d6020811015610bef57600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a98565b5050565b6001546001600160a01b03163314610caf5760405162461bcd60e51b8152600401808060200182810382526035815260200180612b8b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600c5481565b6000610d32611d7c565b6001600160a01b0316336001600160a01b03161490506000610d52611d96565b6001600160a01b0316336001600160a01b03161490506000610d72611dad565b6001600160a01b0316336001600160a01b03161490508280610d915750815b80610d995750805b610dd45760405162461bcd60e51b8152600401808060200182810382526033815260200180612bef6033913960400191505060405180910390fd5b610dde8585611dc1565b5050505050565b606080610df0611eeb565b60408051600180825281830190925291925060609190602080830190803883390190505090506c45786368616e6765526174657360981b81600081518110610e3457fe5b602002602001018181525050610e4a8282611fa7565b9250505090565b6000546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561077f5780601f106107545761010080835404028352916020019161077f565b610ec36119fb565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b6000610f30611d7c565b6001600160a01b0316336001600160a01b03161490506000610f50611d96565b6001600160a01b0316336001600160a01b03161490506000610f70611dad565b6001600160a01b0316336001600160a01b03161490508280610f8f5750815b80610f975750805b610fd25760405162461bcd60e51b8152600401808060200182810382526033815260200180612bef6033913960400191505060405180910390fd5b610fdc8585612063565b505050505050565b610fec612160565b600580546001600160a01b0319166001600160a01b03831617905561101081612210565b50565b600061101d61186b565b600454611033906001600160a01b031683611a44565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef141561106957611062838361234f565b905061081c565b6001600160a01b03831661108d57600454611062906001600160a01b031683612063565b6004546110a4906001600160a01b031684846124b2565b9392505050565b6110b3612160565b60006110bd6126df565b90506000816001600160a01b031663654a60ac600c54600b546040518363ffffffff1660e01b81526004018080631cd554d160e21b8152506020018381526020018281526020019250505060206040518083038186803b15801561112057600080fd5b505afa158015611134573d6000803e3d6000fd5b505050506040513d602081101561114a57600080fd5b5051600854909150811015806111ce5750816001600160a01b031663af3aea86600b546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156111a157600080fd5b505afa1580156111b5573d6000803e3d6000fd5b505050506040513d60208110156111cb57600080fd5b50515b6112095760405162461bcd60e51b8152600401808060200182810382526047815260200180612cb86047913960600191505060405180910390fd5b60005b83811015610dde57600085858381811061122257fe5b600554604080516370a0823160e01b8152602093840295909501356001600160a01b03908116600487018190529151919650600095921693506370a0823192602480840193919291829003018186803b15801561127e57600080fd5b505afa158015611292573d6000803e3d6000fd5b505050506040513d60208110156112a857600080fd5b505190508015611367576112ba611d96565b600b5460408051630a1e187d60e01b81526001600160a01b0386811660048301819052602483019490945260448201869052631cd554d160e21b6064830152608482019390935290519290911691630a1e187d9160a4808201926020929091908290030181600087803b15801561133057600080fd5b505af1158015611344573d6000803e3d6000fd5b505050506040513d602081101561135a57600080fd5b50611367905082826126fa565b505060010161120c565b600061137b61186b565b6000611385611d96565b60048054600b54604080516306c5a00b60e21b81526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b1580156113e057600080fd5b505af11580156113f4573d6000803e3d6000fd5b505050506040513d606081101561140a57600080fd5b506040015190508281156114985760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b15801561146957600080fd5b505afa15801561147d573d6000803e3d6000fd5b505050506040513d602081101561149357600080fd5b505190505b8084116114a557836114a7565b805b6004549094506114c1906001600160a01b031686866124b2565b95945050505050565b6114d261283b565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600b5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561156257600080fd5b505afa158015611576573d6000803e3d6000fd5b505050506040513d602081101561158c57600080fd5b50519392505050565b600061159f61186b565b60006115a9611d96565b6001600160a01b0316631b16802c86600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561160a57600080fd5b505af115801561161e573d6000803e3d6000fd5b505050506040513d606081101561163457600080fd5b506040015190508281156116be57600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561168f57600080fd5b505afa1580156116a3573d6000803e3d6000fd5b505050506040513d60208110156116b957600080fd5b505190505b808410156116cc57836116ce565b805b93506116db868686611bbb565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611723612160565b600855565b600080611733611d96565b6001600160a01b03166319d5c66584600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561179257600080fd5b505afa1580156117a6573d6000803e3d6000fd5b505050506040513d60608110156117bc57600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561181157600080fd5b505afa158015611825573d6000803e3d6000fd5b505050506040513d602081101561183b57600080fd5b505190508082111561185257600092505050610a84565b611862818363ffffffff6128af16565b92505050610a84565b6002546001600160a01b0316331480159061189157506003546001600160a01b03163314155b80156118a857506004546001600160a01b03163314155b156118c057600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612c518239602101905060405180910390206119158861290c565b61191e8861290c565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561198d578181015183820152602001611975565b50505050905090810190601f1680156119ba5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156119de57600080fd5b505af11580156119f2573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146118c05760405162461bcd60e51b815260040180806020018281038252602f815260200180612c22602f913960400191505060405180910390fd5b611a4c611d96565b6001600160a01b031663059c29ec83600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015611aab57600080fd5b505afa158015611abf573d6000803e3d6000fd5b505050506040513d6020811015611ad557600080fd5b505115611b135760405162461bcd60e51b8152600401808060200182810382526025815260200180612c726025913960400191505060405180910390fd5b80611b1d83611728565b1015611b5a5760405162461bcd60e51b815260040180806020018281038252602f815260200180612bc0602f913960400191505060405180910390fd5b611b62612918565b6001600160a01b03166342a28e21600b546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611ba757600080fd5b505afa158015610fdc573d6000803e3d6000fd5b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b158015611c1957600080fd5b505afa158015611c2d573d6000803e3d6000fd5b505050506040513d6020811015611c4357600080fd5b505114611d71576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c928892611cf0918891879163dd62ed3e91604480820192602092909190829003018186803b158015611cb857600080fd5b505afa158015611ccc573d6000803e3d6000fd5b505050506040513d6020811015611ce257600080fd5b50519063ffffffff6128af16565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611d5857600080fd5b505af1158015611d6c573d6000803e3d6000fd5b505050505b6108cd8484846124b2565b6000611d9166119959541bdbdb60ca1b61292e565b905090565b6000611d916822bc31b430b733b2b960b91b61292e565b6000611d916524b9b9bab2b960d11b61292e565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611e5791869186916370a0823191602480820192602092909190829003018186803b158015611e1f57600080fd5b505afa158015611e33573d6000803e3d6000fd5b505050506040513d6020811015611e4957600080fd5b50519063ffffffff612a0b16565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611ea657600080fd5b505af1158015611eba573d6000803e3d6000fd5b5050600854611ed2925090508263ffffffff612a0b16565b600855611ee160008383612a65565b610c628282612ab8565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110611f2b57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611f5157fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110611f7457fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110611f9857fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611fd7578160200160208202803883390190505b50905060005b835181101561201957838181518110611ff257fe5b602002602001015182828151811061200657fe5b6020908102919091010152600101611fdd565b5060005b825181101561205c5782818151811061203257fe5b602002602001015182828651018151811061204957fe5b602090810291909101015260010161201d565b5092915050565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f69186916120c391879186916370a08231916024808301926020929190829003018186803b158015611cb857600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561211257600080fd5b505af1158015612126573d6000803e3d6000fd5b505060085461213e925090508363ffffffff6128af16565b60085561214d83600084612a65565b6121578383612b21565b50600192915050565b6002546001600160a01b0316331480159061218657506003546001600160a01b03163314155b801561219d57506004546001600160a01b03163314155b156121b557600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146118c0576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b838110156122ea5781810151838201526020016122d2565b50505050905090810190601f1680156123175780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561233b57600080fd5b505af1158015610dde573d6000803e3d6000fd5b600080600b54631cd554d160e21b14156123835750600454829061237d906001600160a01b031685836124b2565b50612443565b61238b611d96565b60048054600b5460408051630a1e187d60e01b81526001600160a01b0393841694810194909452602484019190915260448301879052631cd554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b15801561241457600080fd5b505af1158015612428573d6000803e3d6000fd5b505050506040513d602081101561243e57600080fd5b505190505b61244b611d7c565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561249057600080fd5b505af11580156124a4573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b038316158015906124d557506001600160a01b0383163014155b80156124ef57506002546001600160a01b03848116911614155b612540576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161259e91879186916370a0823191602480820192602092909190829003018186803b158015611cb857600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156125ed57600080fd5b505af1158015612601573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f69250869161266391879186916370a0823191602480820192602092909190829003018186803b158015611e1f57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156126b257600080fd5b505af11580156126c6573d6000803e3d6000fd5b505050506126d5848484612a65565b5060019392505050565b6000611d916c45786368616e6765526174657360981b61292e565b60028054604080516020808201869052825180830390910181528183018084527f50757267656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127638761290c565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156127d65781810151838201526020016127be565b50505050905090810190601f1680156128035780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561282757600080fd5b505af1158015610fdc573d6000803e3d6000fd5b6002546001600160a01b031633148061285e57506003546001600160a01b031633145b6118c0576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b600082821115612906576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000611d916b53797374656d53746174757360a01b5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161205c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156129d05781810151838201526020016129b8565b50505050905090810190601f1680156129fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000828201838110156110a4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612c978239602101905060405180910390206119158861290c565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127638761290c565b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127638761290c56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e743235362943616e6e6f7420707572676520617320746f74616c20737570706c792069732061626f7665207468726573686f6c6420616e642072617465206973206e6f742066726f7a656e2ea265627a7a723158208231562ec7f6456ba9b887df1018bae42a01064ff370d40b4c1e53992ea97ee364736f6c63430005100032","abi":[{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"},{"internalType":"contract TokenState","name":"_tokenState","type":"address"},{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"address payable","name":"_owner","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event","signature":"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burned","type":"event","signature":"0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Issued","type":"event","signature":"0xa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxyAddress","type":"address"}],"name":"ProxyUpdated","type":"event","signature":"0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Purged","type":"event","signature":"0x265db6c9c62cb962adbcf4398a54e4b02b2d87b28ab5b7538850150465a5f43c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTokenState","type":"address"}],"name":"TokenStateUpdated","type":"event","signature":"0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event","signature":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"},{"constant":true,"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2e0f2625"},{"constant":true,"inputs":[],"name":"FEE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeb1edd61"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdd62ed3e"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x095ea7b3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9dc29fac"},{"constant":true,"inputs":[],"name":"currencyKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdbd06c85"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x313ce567"},{"constant":true,"inputs":[],"name":"integrationProxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9cbdaeb6"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x867904b4"},{"constant":true,"inputs":[],"name":"maxSupplyToPurgeInUSD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7e88ac16"},{"constant":true,"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd67bdd25"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x06fdde03"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"proxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xec556889"},{"constant":false,"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"purge","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xab593079"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_integrationProxy","type":"address"}],"name":"setIntegrationProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x131b0ae7"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"setMessageSender","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbc67f832"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"}],"name":"setProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x97107d6d"},{"constant":false,"inputs":[{"internalType":"contract TokenState","name":"_tokenState","type":"address"}],"name":"setTokenState","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9f769807"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTotalSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf7ea7a3d"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x95d89b41"},{"constant":true,"inputs":[],"name":"tokenState","outputs":[{"internalType":"contract TokenState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe90dd9e2"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18160ddd"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa9059cbb"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb014c3a3"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23b872dd"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFromAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe73cced3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"transferableSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xffff51d6"}],"source":{"keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855","urls":["bzz-raw://60a0eeb46cd23809b70a928101c82aa12318bec3a3053624c2dbf36bd098f83d","dweb:/ipfs/QmfJmHCAiE6soGdUntPttQbEP8FkQXRHr28EmMyrmx3jmf"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"PurgeableSynth.sol":"PurgeableSynth"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"PurgeableSynth.sol":{"keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855","urls":["bzz-raw://60a0eeb46cd23809b70a928101c82aa12318bec3a3053624c2dbf36bd098f83d","dweb:/ipfs/QmfJmHCAiE6soGdUntPttQbEP8FkQXRHr28EmMyrmx3jmf"]}},"version":1}},"ProxyERC20":{"bytecode":"608060405234801561001057600080fd5b50604051610f7f380380610f7f8339818101604052602081101561003357600080fd5b505180806001600160a01b038116610092576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505050610e83806100fc6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b4114610473578063a9059cbb14610488578063d4b83992146104c1578063dd62ed3e146104d6576100f3565b8063776d1a011461038157806379ba5097146103b45780638da5cb5b146103c9578063907dff97146103de576100f3565b806323b872dd116100c657806323b872dd146102af578063313ce567146102f257806353a47bb71461031d57806370a082311461034e576100f3565b806306fdde031461017c578063095ea7b3146102065780631627540c1461025357806318160ddd14610288575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e80610178573d82fd5b3d82f35b34801561018857600080fd5b50610191610511565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021257600080fd5b5061023f6004803603604081101561022957600080fd5b506001600160a01b038135169060200135610648565b604080519115158252519081900360200190f35b34801561025f57600080fd5b506102866004803603602081101561027657600080fd5b50356001600160a01b0316610736565b005b34801561029457600080fd5b5061029d610792565b60408051918252519081900360200190f35b3480156102bb57600080fd5b5061023f600480360360608110156102d257600080fd5b506001600160a01b03813581169160208101359091169060400135610808565b3480156102fe57600080fd5b506103076108ff565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b50610332610944565b604080516001600160a01b039092168252519081900360200190f35b34801561035a57600080fd5b5061029d6004803603602081101561037157600080fd5b50356001600160a01b0316610953565b34801561038d57600080fd5b50610286600480360360208110156103a457600080fd5b50356001600160a01b03166109d6565b3480156103c057600080fd5b50610286610a32565b3480156103d557600080fd5b50610332610aee565b3480156103ea57600080fd5b50610286600480360360c081101561040157600080fd5b81019060208101813564010000000081111561041c57600080fd5b82018360208201111561042e57600080fd5b8035906020019184600183028401116401000000008311171561045057600080fd5b919350915080359060208101359060408101359060608101359060800135610afd565b34801561047f57600080fd5b50610191610c06565b34801561049457600080fd5b5061023f600480360360408110156104ab57600080fd5b506001600160a01b038135169060200135610c4b565b3480156104cd57600080fd5b50610332610d04565b3480156104e257600080fd5b5061029d600480360360408110156104f957600080fd5b506001600160a01b0381358116916020013516610d13565b600254604080516306fdde0360e01b815290516060926001600160a01b0316916306fdde03916004808301926000929190829003018186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561059357600080fd5b81019080805160405193929190846401000000008211156105b357600080fd5b9083019060208201858111156105c857600080fd5b82516401000000008111828201881017156105e257600080fd5b82525081516020918201929091019080838360005b8381101561060f5781810151838201526020016105f7565b50505050905090810190601f16801561063c5780820380516001836020036101000a031916815260200191505b50604052505050905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506002546040805163095ea7b360e01b81526001600160a01b03888116600483015260248201889052915191909216935063095ea7b3925060448083019260209291908290030181600087803b15801561070157600080fd5b505af1158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b506001949350505050565b61073e610d9f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d602081101561080157600080fd5b5051905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b5050600254604080516323b872dd60e01b81526001600160a01b03898116600483015288811660248301526044820188905291519190921693506323b872dd925060648083019260209291908290030181600087803b1580156108c957600080fd5b505af11580156108dd573d6000803e3d6000fd5b505050506040513d60208110156108f357600080fd5b50600195945050505050565b6002546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b1580156107d757600080fd5b6001546001600160a01b031681565b600254604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109a457600080fd5b505afa1580156109b8573d6000803e3d6000fd5b505050506040513d60208110156109ce57600080fd5b505192915050565b6109de610d9f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b03163314610a7b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610deb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610b53576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610bbd5760018114610bc85760028114610bd45760038114610be15760048114610bef57610bfa565b8260208301a0610bfa565b868360208401a1610bfa565b85878460208501a2610bfa565b8486888560208601a3610bfa565b838587898660208701a45b50505050505050505050565b600254604080516395d89b4160e01b815290516060926001600160a01b0316916395d89b41916004808301926000929190829003018186803b15801561055657600080fd5b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b50506002546040805163a9059cbb60e01b81526001600160a01b03888116600483015260248201889052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561070157600080fd5b6002546001600160a01b031681565b60025460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610d6c57600080fd5b505afa158015610d80573d6000803e3d6000fd5b505050506040513d6020811015610d9657600080fd5b50519392505050565b6000546001600160a01b03163314610de85760405162461bcd60e51b815260040180806020018281038252602f815260200180610e20602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820bc16ca473a169ecfb5918c5dcce84659bb9529548bc8336990487ca08ab50b1a64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract Proxyable","name":"newTarget","type":"address"}],"name":"TargetUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"uint256","name":"numTopics","type":"uint256"},{"internalType":"bytes32","name":"topic1","type":"bytes32"},{"internalType":"bytes32","name":"topic2","type":"bytes32"},{"internalType":"bytes32","name":"topic3","type":"bytes32"},{"internalType":"bytes32","name":"topic4","type":"bytes32"}],"name":"_emit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract Proxyable","name":"_target","type":"address"}],"name":"setTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"target","outputs":[{"internalType":"contract Proxyable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0xa4731706c3292ed368ded616be2fcf28877d8a853cbce27be7d78e6a57636e9f","urls":["bzz-raw://f099f912010a38e63b1f3c6208bc7b605e59b9dd42bde020cb603dc4f73ce754","dweb:/ipfs/QmcP1qHd6wTcPh7xBMvWTbeWE3Ms8vmCSRsyKwkymiTNuW"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ProxyERC20.sol":"ProxyERC20"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"ProxyERC20.sol":{"keccak256":"0xa4731706c3292ed368ded616be2fcf28877d8a853cbce27be7d78e6a57636e9f","urls":["bzz-raw://f099f912010a38e63b1f3c6208bc7b605e59b9dd42bde020cb603dc4f73ce754","dweb:/ipfs/QmcP1qHd6wTcPh7xBMvWTbeWE3Ms8vmCSRsyKwkymiTNuW"]}},"version":1}},"RewardsDistribution":{"bytecode":"608060405234801561001057600080fd5b5060405160a0806115f9833981016040908152815160208301519183015160608401516080909401519193909184600160a060020a03811615156100b557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a03958616600160a060020a03199182161790915560038054948616948216949094179093556004805492851692841692909217909155600580549190931691161790555061148d8061016c6000396000f3006080604052600436106100fb5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663060ca25081146101005780631627540c146101275780634487d3df1461014a57806353a47bb71461018557806359974e38146101b65780635de39934146101e257806360eb3ff21461020357806379ba5097146102275780637a9e5e4b1461023c578063817a69511461025d5780638da5cb5b1461027557806395896b761461028a578063a430be6c146102ab578063bdd12482146102c0578063bf7e214f146102d5578063c9e9cc4d146102ea578063d8297e44146102ff578063e54c167114610320575b600080fd5b34801561010c57600080fd5b50610115610347565b60408051918252519081900360200190f35b34801561013357600080fd5b50610148600160a060020a036004351661034e565b005b34801561015657600080fd5b50610162600435610406565b60408051600160a060020a03909316835260208301919091528051918290030190f35b34801561019157600080fd5b5061019a61043c565b60408051600160a060020a039092168252519081900360200190f35b3480156101c257600080fd5b506101ce60043561044b565b604080519115158252519081900360200190f35b3480156101ee57600080fd5b50610148600160a060020a0360043516610ba1565b34801561020f57600080fd5b506101ce600160a060020a0360043516602435610c27565b34801561023357600080fd5b50610148610e37565b34801561024857600080fd5b50610148600160a060020a0360043516610f32565b34801561026957600080fd5b50610148600435610fb8565b34801561028157600080fd5b5061019a611111565b34801561029657600080fd5b50610148600160a060020a0360043516611120565b3480156102b757600080fd5b5061019a6111a6565b3480156102cc57600080fd5b5061019a6111b5565b3480156102e157600080fd5b5061019a6111c4565b3480156102f657600080fd5b5061019a6111d3565b34801561030b57600080fd5b50610148600160a060020a03600435166111e2565b34801561032c57600080fd5b506101ce600435600160a060020a0360243516604435611268565b6006545b90565b600054600160a060020a031633146103b2576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b60018054600160a060020a038316600160a060020a0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600680548290811061041457fe5b600091825260209091206002909102018054600190910154600160a060020a03909116915082565b600154600160a060020a031681565b60025460009081908190606090600160a060020a031633146104b7576040805160e560020a62461bcd02815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015290519081900360640190fd5b600454600160a060020a03161515610519576040805160e560020a62461bcd02815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b600354600160a060020a0316151561057b576040805160e560020a62461bcd02815260206004820152601960248201527f53796e74686574697850726f7879206973206e6f742073657400000000000000604482015290519081900360640190fd5b600554600160a060020a031615156105dd576040805160e560020a62461bcd02815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b60008511610635576040805160e560020a62461bcd02815260206004820152601560248201527f4e6f7468696e6720746f20646973747269627574650000000000000000000000604482015290519081900360640190fd5b600354604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518792600160a060020a0316916370a082319160248083019260209291908290030181600087803b15801561069a57600080fd5b505af11580156106ae573d6000803e3d6000fd5b505050506040513d60208110156106c457600080fd5b50511015610768576040805160e560020a62461bcd02815260206004820152604660248201527f52657761726473446973747269627574696f6e20636f6e747261637420646f6560448201527f73206e6f74206861766520656e6f75676820746f6b656e7320746f206469737460648201527f7269627574650000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b849250600091505b600654821015610a455760068054600091908490811061078c57fe5b6000918252602090912060029091020154600160a060020a03161415806107d3575060068054839081106107bc57fe5b906000526020600020906002020160010154600014155b15610a3a5761080b6006838154811015156107ea57fe5b906000526020600020906002020160010154846113a090919063ffffffff16565b60035460068054929550600160a060020a039091169163a9059cbb91908590811061083257fe5b600091825260209091206002909102015460068054600160a060020a03909216918690811061085d57fe5b9060005260206000209060020201600101546040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1580156108da57600080fd5b505af11580156108ee573d6000803e3d6000fd5b505050506040513d602081101561090457600080fd5b5050600680548390811061091457fe5b6000918252602091829020600160029092020101546040805160248082019390935281518082039093018352604401905290810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3c6b16ab0000000000000000000000000000000000000000000000000000000017905260068054919250908390811061099e57fe5b906000526020600020906002020160000160009054906101000a9004600160a060020a0316600160a060020a03168160405180828051906020019080838360005b838110156109f75781810151838201526020016109df565b50505050905090810190601f168015610a245780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af15050505b600190910190610770565b60035460048054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831693810193909352602483018790525192169163a9059cbb916044808201926020929091908290030181600087803b158015610ab857600080fd5b505af1158015610acc573d6000803e3d6000fd5b505050506040513d6020811015610ae257600080fd5b5050600554604080517ffd1f498d000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a039092169163fd1f498d9160248082019260009290919082900301818387803b158015610b4a57600080fd5b505af1158015610b5e573d6000803e3d6000fd5b50506040805188815290517f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429350908190036020019150a1506001949350505050565b600054600160a060020a03163314610c05576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b60048054600160a060020a031916600160a060020a0392909216919091179055565b6000610c316113b7565b600054600160a060020a03163314610c95576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b600160a060020a0384161515610cf5576040805160e560020a62461bcd02815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b821515610d4c576040805160e560020a62461bcd02815260206004820152601660248201527f43616e74206164642061207a65726f20616d6f756e7400000000000000000000604482015290519081900360640190fd5b50604080518082018252600160a060020a03858116808352602080840187815260068054600181018255600082905286517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f60029092029182018054600160a060020a031916919097161790955590517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909401939093559154845160001991909101815291820152808301859052915190917f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208916060918190039190910190a15060019392505050565b600154600160a060020a03163314610ebf576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b600054600160a060020a03163314610f96576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b60028054600160a060020a031916600160a060020a0392909216919091179055565b60008054600160a060020a0316331461101d576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b6006546000190182111561107b576040805160e560020a62461bcd02815260206004820152601360248201527f696e646578206f7574206f6620626f756e647300000000000000000000000000604482015290519081900360640190fd5b50805b600654600019018110156110f957600680546001830190811061109d57fe5b90600052602060002090600202016006828154811015156110ba57fe5b6000918252602090912082546002909202018054600160a060020a031916600160a060020a03909216919091178155600191820154908201550161107e565b600680549061110c9060001983016113ce565b505050565b600054600160a060020a031681565b600054600160a060020a03163314611184576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b60038054600160a060020a031916600160a060020a0392909216919091179055565b600454600160a060020a031681565b600354600160a060020a031681565b600254600160a060020a031681565b600554600160a060020a031681565b600054600160a060020a03163314611246576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b60058054600160a060020a031916600160a060020a0392909216919091179055565b60008054600160a060020a031633146112cd576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206114228339815191526044820152600080516020611442833981519152606482015290519081900360840190fd5b6006546000190184111561132b576040805160e560020a62461bcd02815260206004820152601360248201527f696e646578206f7574206f6620626f756e647300000000000000000000000000604482015290519081900360640190fd5b8260068581548110151561133b57fe5b906000526020600020906002020160000160006101000a815481600160a060020a030219169083600160a060020a031602179055508160068581548110151561138057fe5b906000526020600020906002020160010181905550600190509392505050565b600080838311156113b057600080fd5b5050900390565b604080518082019091526000808252602082015290565b81548183558181111561110c5760008381526020902061110c9161034b9160029182028101918502015b8082111561141d578054600160a060020a0319168155600060018201556002016113f8565b509056004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e0000000000000000000000000000000000a165627a7a72305820dfcb1d66956584912ee1e204831a82856f207ae2355d1761b0d9cc0efd6cee370029","abi":[{"constant":true,"inputs":[],"name":"distributionsLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x060ca250"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"distributions","outputs":[{"name":"destination","type":"address"},{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4487d3df"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"distributeRewards","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x59974e38"},{"constant":false,"inputs":[{"name":"_rewardEscrow","type":"address"}],"name":"setRewardEscrow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5de39934"},{"constant":false,"inputs":[{"name":"destination","type":"address"},{"name":"amount","type":"uint256"}],"name":"addRewardDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x60eb3ff2"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"name":"_authority","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x7a9e5e4b"},{"constant":false,"inputs":[{"name":"index","type":"uint256"}],"name":"removeRewardDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x817a6951"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"name":"_synthetixProxy","type":"address"}],"name":"setSynthetixProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x95896b76"},{"constant":true,"inputs":[],"name":"rewardEscrow","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa430be6c"},{"constant":true,"inputs":[],"name":"synthetixProxy","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbdd12482"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbf7e214f"},{"constant":true,"inputs":[],"name":"feePoolProxy","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc9e9cc4d"},{"constant":false,"inputs":[{"name":"_feePoolProxy","type":"address"}],"name":"setFeePoolProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd8297e44"},{"constant":false,"inputs":[{"name":"index","type":"uint256"},{"name":"destination","type":"address"},{"name":"amount","type":"uint256"}],"name":"editRewardDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe54c1671"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_authority","type":"address"},{"name":"_synthetixProxy","type":"address"},{"name":"_rewardEscrow","type":"address"},{"name":"_feePoolProxy","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"index","type":"uint256"},{"indexed":false,"name":"destination","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"RewardDistributionAdded","type":"event","signature":"0x08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"RewardsDistributed","type":"event","signature":"0x6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be442"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"Math":{"bytecode":"604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058202cc46ac22383a5b3f8f2b208cff313c4febc44dab79fcbaa1d7596fd115ac5150029","abi":[]},"AddressResolver":{"bytecode":"608060405234801561001057600080fd5b50604051610ab9380380610ab98339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506109bf806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063766f781511610071578063766f78151461015157806379ba5097146101bf5780638da5cb5b146101c75780639f42102f146101cf578063ab0b8f77146102a1578063dacb2d011461035f576100a9565b80631627540c146100ae578063187f7935146100d657806321f8a7211461010f578063514560611461012c57806353a47bb714610149575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166103d4565b005b6100f3600480360360208110156100ec57600080fd5b5035610430565b604080516001600160a01b039092168252519081900360200190f35b6100f36004803603602081101561012557600080fd5b503561044b565b6100f36004803603602081101561014257600080fd5b5035610466565b6100f361056e565b6100d46004803603602081101561016757600080fd5b810190602081018135600160201b81111561018157600080fd5b82018360208201111561019357600080fd5b803590602001918460208302840111600160201b831117156101b457600080fd5b50909250905061057d565b6100d4610607565b6100f36106c3565b61028d600480360360408110156101e557600080fd5b810190602081018135600160201b8111156101ff57600080fd5b82018360208201111561021157600080fd5b803590602001918460208302840111600160201b8311171561023257600080fd5b919390929091602081019035600160201b81111561024f57600080fd5b82018360208201111561026157600080fd5b803590602001918460208302840111600160201b8311171561028257600080fd5b5090925090506106d2565b604080519115158252519081900360200190f35b6100d4600480360360408110156102b757600080fd5b810190602081018135600160201b8111156102d157600080fd5b8201836020820111156102e357600080fd5b803590602001918460208302840111600160201b8311171561030457600080fd5b919390929091602081019035600160201b81111561032157600080fd5b82018360208201111561033357600080fd5b803590602001918460208302840111600160201b8311171561035457600080fd5b50909250905061075b565b6100f36004803603604081101561037557600080fd5b81359190810190604081016020820135600160201b81111561039657600080fd5b8201836020820111156103a857600080fd5b803590602001918460018302840111600160201b831117156103c957600080fd5b509092509050610867565b6103dc6108db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b0316806104f7576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166332608039846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561053b57600080fd5b505afa15801561054f573d6000803e3d6000fd5b505050506040513d602081101561056557600080fd5b50519392505050565b6001546001600160a01b031681565b60005b818110156106025782828281811061059457fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105de57600080fd5b505af11580156105f2573d6000803e3d6000fd5b5050600190920191506105809050565b505050565b6001546001600160a01b031633146106505760405162461bcd60e51b81526004018080602001828103825260358152602001806109276035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000805b8481101561074d578383828181106106ea57fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061071357fe5b60209081029290920135835250810191909152604001600020546001600160a01b031614610745576000915050610753565b6001016106d6565b50600190505b949350505050565b6107636108db565b8281146107b7576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156108605760008585838181106107d057fe5b90506020020135905060008484848181106107e757fe5b600085815260026020908152604091829020805493820295909501356001600160a01b03166001600160a01b03199093168317909455805186815293840182905280519194507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9193829003019150a150506001016107ba565b5050505050565b6000838152600260205260408120546001600160a01b03168383826108d05760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b031633146109245760405162461bcd60e51b815260040180806020018281038252602f81526020018061095c602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820f199d36769f9e881e995f714bdddbea66b9f50378990764eea9c033c301f6b2064736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"AddressImported","type":"event","signature":"0xefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa91"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"names","type":"bytes32[]"},{"internalType":"address[]","name":"destinations","type":"address[]"}],"name":"areAddressesImported","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9f42102f"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"name","type":"bytes32"}],"name":"getAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x21f8a721"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"getSynth","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x51456061"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"names","type":"bytes32[]"},{"internalType":"address[]","name":"destinations","type":"address[]"}],"name":"importAddresses","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xab0b8f77"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"internalType":"contract MixinResolver[]","name":"destinations","type":"address[]"}],"name":"rebuildCaches","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x766f7815"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"repository","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x187f7935"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"reason","type":"string"}],"name":"requireAndGetAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdacb2d01"}],"source":{"keccak256":"0x08ec0f694f3303c567cc46ab5bf96aaf3851fd6a19648ad1918b5782429cc81a","urls":["bzz-raw://6de2473ac2527bcb410a341df44f9e49e3994419f86cd25ab81dbbb4986c5c7a","dweb:/ipfs/Qmbp1HNbceKDHgipiNrJNx8XCadEUzvgzVnKcFSbNK4BGE"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"AddressResolver.sol":"AddressResolver"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"AddressResolver.sol":{"keccak256":"0x08ec0f694f3303c567cc46ab5bf96aaf3851fd6a19648ad1918b5782429cc81a","urls":["bzz-raw://6de2473ac2527bcb410a341df44f9e49e3994419f86cd25ab81dbbb4986c5c7a","dweb:/ipfs/Qmbp1HNbceKDHgipiNrJNx8XCadEUzvgzVnKcFSbNK4BGE"]}},"version":1}},"Exchanger":{"bytecode":"6101806040526b53797374656d53746174757360a01b60809081526c45786368616e6765537461746560981b60a0526c45786368616e6765526174657360981b60c052680a6f2dce8d0cae8d2f60bb1b60e05266119959541bdbdb60ca1b610100526d54726164696e675265776172647360901b610120527044656c6567617465417070726f76616c7360781b610140526524b9b9bab2b960d11b61016052620000ae90600690600862000407565b50348015620000bc57600080fd5b50604051620040c1380380620040c183398181016040526040811015620000e257600080fd5b50805160209091015160408051610300810191829052829160069060189082845b8154815260200190600101908083116200010357508793505050506001600160a01b0381166200017a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000225576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b60188110156200028d5760008282601881106200024157fe5b6020020151146200027e5760048282601881106200025b57fe5b602090810291909101518254600181018455600093845291909220015562000284565b6200028d565b60010162000228565b5050600280546001600160a01b0319166001600160a01b0392909216919091179055620002cc6e466c657869626c6553746f7261676560881b620002d4565b50506200046a565b6004805460018101825560008290527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01829055546018116200035e576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600254604080516321f8a72160e01b81526004810184905290516001600160a01b03909216916321f8a72191602480820192602092909190829003018186803b158015620003ab57600080fd5b505afa158015620003c0573d6000803e3d6000fd5b505050506040513d6020811015620003d757600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b826018810192821562000438579160200282015b82811115620004385782518255916020019190600101906200041b565b50620004469291506200044a565b5090565b6200046791905b8082111562000446576000815560010162000451565b90565b613c47806200047a6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063631e144411610104578063ab49848c116100a2578063d6f32e0611610071578063d6f32e0614610573578063dfffca761461059f578063e3235c91146105ef578063f450aa34146105f7576101cf565b8063ab49848c146104ea578063c193f0d81461052b578063c6c9d82814610533578063ce09694014610550576101cf565b80637dd1a57a116100de5780637dd1a57a1461046d57806386baa45c1461048a57806389257117146104da5780638da5cb5b146104e2576101cf565b8063631e1444146103fd5780636a1c47581461042357806379ba509714610465576101cf565b80631b16802c116101715780633fa70f451161014b5780633fa70f45146103845780634c268fc81461038c57806353a47bb7146103c457806357af302c146103cc576101cf565b80631b16802c1461032a578063372a395a146103565780633be99e6f1461035e576101cf565b80630b9e31c9116101ad5780630b9e31c9146102785780631627540c1461029757806319d5c665146102bd5780631a5c609514610307576101cf565b806304f3bcec146101d4578063059c29ec146101f85780630a1e187d14610236575b600080fd5b6101dc610620565b604080516001600160a01b039092168252519081900360200190f35b6102246004803603604081101561020e57600080fd5b506001600160a01b03813516906020013561062f565b60408051918252519081900360200190f35b610224600480360360a081101561024c57600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608090910135166106d3565b6102956004803603602081101561028e57600080fd5b50356107cf565b005b610295600480360360208110156102ad57600080fd5b50356001600160a01b0316610a2e565b6102e9600480360360408110156102d357600080fd5b506001600160a01b038135169060200135610a8a565b60408051938452602084019290925282820152519081900360600190f35b6102246004803603604081101561031d57600080fd5b5080359060200135610aa8565b6102e96004803603604081101561034057600080fd5b506001600160a01b038135169060200135610ab4565b610224610b35565b6102956004803603602081101561037457600080fd5b50356001600160a01b0316610b44565b610224610c71565b610224600480360360808110156103a257600080fd5b506001600160a01b038135169060208101359060408101359060600135610c76565b6101dc610d96565b6103e9600480360360208110156103e257600080fd5b5035610da5565b604080519115158252519081900360200190f35b6103e96004803603602081101561041357600080fd5b50356001600160a01b0316610dfe565b610224600480360360a081101561043957600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135610f19565b6102956110e2565b6102246004803603602081101561048357600080fd5b503561119e565b610224600480360360e08110156104a057600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c001356111b0565b6102246112b9565b6101dc6112c3565b6104f26112d2565b604051808261030080838360005b83811015610518578181015183820152602001610500565b5050505090500191505060405180910390f35b6103e961131c565b6102246004803603602081101561054957600080fd5b5035611326565b6102956004803603604081101561056657600080fd5b5080359060200135611344565b6103e96004803603604081101561058957600080fd5b506001600160a01b03813516906020013561140c565b610224600480360360e08110156105b557600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c0013561143e565b610224611612565b6102e96004803603606081101561060d57600080fd5b5080359060208101359060400135611617565b6002546001600160a01b031681565b60006106ca61063c611637565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561069957600080fd5b505afa1580156106ad573d6000803e3d6000fd5b505050506040513d60208110156106c357600080fd5b5051611688565b90505b92915050565b6000806106de6116e7565b9050336001600160a01b038216148061076b5750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b15801561073c57600080fd5b505afa158015610750573d6000803e3d6000fd5b505050506040513d602081101561076657600080fd5b505114155b6107a65760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b60006107b58888888888611734565b90935090506107c48185611e9e565b505095945050505050565b6107d7611f4d565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561080f57600080fd5b505afa158015610823573d6000803e3d6000fd5b5050505060006001600160a01b031661083a611f9d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561087d57600080fd5b505afa158015610891573d6000803e3d6000fd5b505050506040513d60208110156108a757600080fd5b50516001600160a01b031614156108f5576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b61097581610901611fe0565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561094457600080fd5b505afa158015610958573d6000803e3d6000fd5b505050506040513d602081101561096e57600080fd5b5051612031565b6109bd576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b6109c5611f4d565b6001600160a01b031663abc0bb6e8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610a1357600080fd5b505af1158015610a27573d6000803e3d6000fd5b5050505050565b610a36612281565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000806000610a9985856122cc565b50919790965090945092505050565b60006106ca838361259a565b6000806000610ac1611f4d565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015610b0457600080fd5b505afa158015610b18573d6000803e3d6000fd5b50505050610b28858560016125a5565b9250925092509250925092565b6000610b3f612914565b905090565b610b4c612281565b600280546001600160a01b0319166001600160a01b03831617905560005b600454811015610c6d57600060048281548110610b8357fe5b600091825260209182902001546002546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b158015610c0d57600080fd5b505afa158015610c21573d6000803e3d6000fd5b505050506040513d6020811015610c3757600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610b6a565b5050565b604181565b816000610c81611f9d565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610cc457600080fd5b505afa158015610cd8573d6000803e3d6000fd5b505050506040513d6020811015610cee57600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610d3a57600080fd5b505afa158015610d4e573d6000803e3d6000fd5b505050506040513d6020811015610d6457600080fd5b5051905080821115610d74578091505b8215610d8d57610d8a828463ffffffff6129cb16565b91505b50949350505050565b6001546001600160a01b031681565b6000610df682610db3611fe0565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561094457600080fd5b90505b919050565b6002546000906001600160a01b03838116911614610e1e57506000610df9565b60005b600454811015610f1057600060048281548110610e3a57fe5b6000918252602080832090910154808352600382526040928390205460025484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b158015610ea057600080fd5b505afa158015610eb4573d6000803e3d6000fd5b505050506040513d6020811015610eca57600080fd5b50516001600160a01b0316141580610ef757506000818152600360205260409020546001600160a01b0316155b15610f0757600092505050610df9565b50600101610e21565b50600192915050565b600080610f246116e7565b9050336001600160a01b0382161480610fb15750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610f8257600080fd5b505afa158015610f96573d6000803e3d6000fd5b505050506040513d6020811015610fac57600080fd5b505114155b610fec5760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b610ff4612a25565b6040805163faf431bb60e01b81526001600160a01b038a8116600483015289811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b15801561104757600080fd5b505afa15801561105b573d6000803e3d6000fd5b505050506040513d602081101561107157600080fd5b50516110c4576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b60006110d3888787878c611734565b90935090506107c48189611e9e565b6001546001600160a01b0316331461112b5760405162461bcd60e51b8152600401808060200182810382526035815260200180613ae36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60056020526000908152604090205481565b6000806111bb6116e7565b9050336001600160a01b03821614806112485750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b15801561121957600080fd5b505afa15801561122d573d6000803e3d6000fd5b505050506040513d602081101561124357600080fd5b505114155b6112835760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b60006112928a8a8a8a8a611734565b90935090506112a18186611e9e565b6112ac848885612a5d565b5050979650505050505050565b6000610b3f612ad7565b6000546001600160a01b031681565b6112da613a78565b60005b60045481101561131857600481815481106112f457fe5b906000526020600020015482826018811061130b57fe5b60200201526001016112dd565b5090565b6000610b3f612b51565b6004818154811061133357fe5b600091825260209091200154905081565b600061134e611fe0565b9050336001600160a01b038216146113ad576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b600082116113f9576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526005602052604090912055565b6000611418838361062f565b15611425575060016106cd565b600061143184846122cc565b5050501515949350505050565b6000806114496116e7565b9050336001600160a01b03821614806114d65750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b1580156114a757600080fd5b505afa1580156114bb573d6000803e3d6000fd5b505050506040513d60208110156114d157600080fd5b505114155b6115115760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b611519612a25565b6040805163faf431bb60e01b81526001600160a01b038c811660048301528b811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b15801561156c57600080fd5b505afa158015611580573d6000803e3d6000fd5b505050506040513d602081101561159657600080fd5b50516115e9576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b60006115f88a8989898e611734565b90935090506116078186611e9e565b6112ac848785612a5d565b601881565b6000806000611627868686612bcf565b5092999198509650945050505050565b6000610b3f6c45786368616e6765537461746560981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676553746174652061646472657373000000815250612ca9565b600080611693612ad7565b90508215806116b157506116ad838263ffffffff6129cb16565b4210155b156116c0576000915050610df9565b6116e0426116d4858463ffffffff6129cb16565b9063ffffffff612d5316565b9392505050565b6000610b3f680a6f2dce8d0cae8d2f60bb1b6040518060400160405280601981526020017f4d697373696e672053796e746865746978206164647265737300000000000000815250612ca9565b600080611742868686612db0565b600080611751898960006125a5565b909350915087905081156117825761176b8a8a8a86610c76565b905080611782575060009350839250611e94915050565b6000806000611792848d8c612bcf565b939b509199509450925090506117a88c83612031565b1561182e576117b5611f4d565b6001600160a01b031663abc0bb6e8d60416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561180357600080fd5b505af1158015611817573d6000803e3d6000fd5b5060009a508a9950611e9498505050505050505050565b60008c81526005602052604090208290556118498a82612031565b156118a457611856611f4d565b6001600160a01b031663abc0bb6e8b60416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561180357600080fd5b60008a81526005602052604090208190556118bd611f9d565b6001600160a01b031663326080398d6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561190057600080fd5b505afa158015611914573d6000803e3d6000fd5b505050506040513d602081101561192a57600080fd5b81019080805190602001909291905050506001600160a01b0316639dc29fac8e866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561199a57600080fd5b505af11580156119ae573d6000803e3d6000fd5b505050506119ba611f9d565b6001600160a01b031663326080398b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156119fd57600080fd5b505afa158015611a11573d6000803e3d6000fd5b505050506040513d6020811015611a2757600080fd5b50516040805163219e412d60e21b81526001600160a01b038c81166004830152602482018c90529151919092169163867904b491604480830192600092919082900301818387803b158015611a7b57600080fd5b505af1158015611a8f573d6000803e3d6000fd5b505050506000871115611cef57611aa4611fe0565b6001600160a01b031663654a60ac8b89631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015611afe57600080fd5b505afa158015611b12573d6000803e3d6000fd5b505050506040513d6020811015611b2857600080fd5b50519650611b34611f9d565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b7e57600080fd5b505afa158015611b92573d6000803e3d6000fd5b505050506040513d6020811015611ba857600080fd5b50516001600160a01b031663867904b4611bc0612f89565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015611bf857600080fd5b505afa158015611c0c573d6000803e3d6000fd5b505050506040513d6020811015611c2257600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018b905251604480830192600092919082900301818387803b158015611c7157600080fd5b505af1158015611c85573d6000803e3d6000fd5b50505050611c91612f89565b6001600160a01b03166322bf55ef886040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611cd657600080fd5b505af1158015611cea573d6000803e3d6000fd5b505050505b611cf7611f9d565b6001600160a01b0316639e342f7160405180604001604052808f81526020018d8152506040518060400160405280868152602001858152506040518363ffffffff1660e01b81526004018083600260200280838360005b83811015611d66578181015183820152602001611d4e565b5050505090500182600260200280838360005b83811015611d91578181015183820152602001611d79565b5050505090500192505050600060405180830381600087803b158015611db657600080fd5b505af1158015611dca573d6000803e3d6000fd5b50505050611dd66116e7565b6001600160a01b0316636c00f3108e8e878e8d8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b158015611e6757600080fd5b505af1158015611e7b573d6000803e3d6000fd5b50505050611e8d898d868d8c88612fd4565b5050505050505b9550959350505050565b600082118015611eb657506001600160a01b03811615155b8015611ec55750611ec5612b51565b15610c6d57611ed26131e5565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b158015611f3157600080fd5b505af1158015611f45573d6000803e3d6000fd5b505050505050565b6000610b3f6b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250612ca9565b6000610b3f6524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b815250612ca9565b6000610b3f6c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676552617465732061646472657373000000815250612ca9565b600081612040575060016106cd565b60008381526005602052604090205480156120675761205f8184613237565b9150506106cd565b6060612071611fe0565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b1580156120bd57600080fd5b505afa1580156120d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156120fa57600080fd5b810190808051604051939291908464010000000082111561211a57600080fd5b90830190602082018581111561212f57600080fd5b825186602082028301116401000000008211171561214c57600080fd5b82525081516020918201928201910280838360005b83811015612179578181015183820152602001612161565b50505050905001604052602001805160405193929190846401000000008211156121a257600080fd5b9083019060208201858111156121b757600080fd5b82518660208202830111640100000000821117156121d457600080fd5b82525081516020918201928201910280838360005b838110156122015781810151838201526020016121e9565b505050509050016040525050505090506000600190505b815181101561227557600082828151811061222f57fe5b602002602001015111801561225c575061225c82828151811061224e57fe5b602002602001015186613237565b1561226d57600193505050506106cd565b600101612218565b50600095945050505050565b6000546001600160a01b031633146122ca5760405162461bcd60e51b815260040180806020018281038252602f815260200180613b7e602f913960400191505060405180910390fd5b565b600080600060606122db611637565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561233857600080fd5b505afa15801561234c573d6000803e3d6000fd5b505050506040513d602081101561236257600080fd5b50516040805182815260208084028201019091529092506060908380156123a357816020015b612390613a97565b8152602001906001900390816123885790505b50905060005b8381101561258e576000806123bc613a97565b6123c78b8b86613296565b90506000806123d5836133b1565b9150915060006123e3611fe0565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b15801561245257600080fd5b505afa158015612466573d6000803e3d6000fd5b505050506040513d602081101561247c57600080fd5b50516080850151909150600090612494908390613504565b90506124a4856060015182613237565b6125195780856060015111156124e25760608501516124c9908263ffffffff612d5316565b96506124db8d8863ffffffff6129cb16565b9c50612519565b846060015181111561251957606085015161250490829063ffffffff612d5316565b95506125168c8763ffffffff6129cb16565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a0015181525089898151811061256f57fe5b60200260200101819052505050505050505080806001019150506123a9565b50905092959194509250565b60006106ca82613596565b60008060006125b4868661062f565b156125f05760405162461bcd60e51b8152600401808060200182810382526023815260200180613bf06023913960400191505060405180910390fd5b600080600060606126018a8a6122cc565b93509350935093508284111561263357612621848463ffffffff612d5316565b965061262e8a8a8961366e565b612658565b838311156126585761264b838563ffffffff612d5316565b95506126588a8a886137be565b871561273f5760408051600180825281830190925260609160208083019080388339019050509050898160008151811061268e57fe5b6020026020010181815250506126a2611f9d565b6001600160a01b031663fe1d77e7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156127005781810151838201526020016126e8565b5050505090500192505050600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b50505050505b60005b8151811015612884578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e94083838151811061278257fe5b60200260200101516000015184848151811061279a57fe5b6020026020010151602001518585815181106127b257fe5b6020026020010151604001518686815181106127ca57fe5b6020026020010151606001518787815181106127e257fe5b6020026020010151608001518888815181106127fa57fe5b602002602001015160a0015189898151811061281257fe5b602002602001015160c001518a8a8151811061282a57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101612742565b50819450612890611637565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156128ef57600080fd5b505af1158015612903573d6000803e3d6000fd5b505050505050505093509350939050565b600061291e61390e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561299a57600080fd5b505afa1580156129ae573d6000803e3d6000fd5b505050506040513d60208110156129c457600080fd5b5051905090565b6000828201838110156106ca576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610b3f7044656c6567617465417070726f76616c7360781b604051806060016040528060218152602001613b1860219139612ca9565b612a656116e7565b6001600160a01b031663ddd03a3f8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015612aba57600080fd5b505af1158015612ace573d6000803e3d6000fd5b50505050505050565b6000612ae161390e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561299a57600080fd5b6000612b5b61390e565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561299a57600080fd5b600080600080600080612be0611fe0565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b158015612c3357600080fd5b505afa158015612c47573d6000803e3d6000fd5b505050506040513d6060811015612c5d57600080fd5b50805160208201516040909201519194509092509050612c7d888861259a565b9350612c898185613504565b9550612c9b818763ffffffff612d5316565b945050939792965093509350565b6000828152600360205260408120546001600160a01b03168281612d4b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d10578181015183820152602001612cf8565b50505050905090810190601f168015612d3d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600082821115612daa576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80831415612dfb576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b60008211612e3e576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b60408051600280825260608083018452926020830190803883390190505090508381600081518110612e6c57fe5b6020026020010181815250508181600181518110612e8657fe5b602002602001018181525050612e9a611fe0565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612ef8578181015183820152602001612ee0565b505050509050019250505060206040518083038186803b158015612f1b57600080fd5b505afa158015612f2f573d6000803e3d6000fd5b505050506040513d6020811015612f4557600080fd5b505115612f835760405162461bcd60e51b8152600401808060200182810382526022815260200180613bce6022913960400191505060405180910390fd5b50505050565b6000610b3f66119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c2061646472657373000000000000000000815250612ca9565b6000612fde611fe0565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561302657600080fd5b505afa15801561303a573d6000803e3d6000fd5b505050506040513d602081101561305057600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b15801561309f57600080fd5b505afa1580156130b3573d6000803e3d6000fd5b505050506040513d60208110156130c957600080fd5b505190506130d5611637565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b15801561315a57600080fd5b505af115801561316e573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b6000610b3f6d54726164696e675265776172647360901b6040518060400160405280601e81526020017f4d697373696e672054726164696e675265776172647320616464726573730000815250612ca9565b6000821580613244575081155b15613251575060016106cd565b6000838311156132725761326b838563ffffffff61396116565b9050613285565b613282848463ffffffff61396116565b90505b61328d612914565b11159392505050565b61329e613a97565b6000806000806000806000806132b2611637565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b15801561331857600080fd5b505afa15801561332c573d6000803e3d6000fd5b505050506040513d61010081101561334357600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b60008060006133be611fe0565b905060006133ca612ad7565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801561343457600080fd5b505afa158015613448573d6000803e3d6000fd5b505050506040513d602081101561345e57600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b1580156134ce57600080fd5b505afa1580156134e2573d6000803e3d6000fd5b505050506040513d60208110156134f857600080fd5b50519395939450505050565b60006106ca6135898373__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561355157600080fd5b505af4158015613565573d6000803e3d6000fd5b505050506040513d602081101561357b57600080fd5b50519063ffffffff612d5316565b849063ffffffff61398b16565b60006135a061390e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561363c57600080fd5b505afa158015613650573d6000803e3d6000fd5b505050506040513d602081101561366657600080fd5b505192915050565b613676611f9d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156136b957600080fd5b505afa1580156136cd573d6000803e3d6000fd5b505050506040513d60208110156136e357600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b15801561373757600080fd5b505af115801561374b573d6000803e3d6000fd5b505050506137576116e7565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015612aba57600080fd5b6137c6611f9d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561380957600080fd5b505afa15801561381d573d6000803e3d6000fd5b505050506040513d602081101561383357600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b15801561388757600080fd5b505af115801561389b573d6000803e3d6000fd5b505050506138a76116e7565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015612aba57600080fd5b6000610b3f6e466c657869626c6553746f7261676560881b6040518060400160405280601f81526020017f4d697373696e6720466c657869626c6553746f72616765206164647265737300815250612ca9565b60006106ca8261397f85670de0b6b3a764000063ffffffff6139b516565b9063ffffffff613a0e16565b6000670de0b6b3a76400006139a6848463ffffffff6139b516565b816139ad57fe5b049392505050565b6000826139c4575060006106cd565b828202828482816139d157fe5b04146106ca5760405162461bcd60e51b8152600401808060200182810382526021815260200180613bad6021913960400191505060405180910390fd5b6000808211613a64576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613a6f57fe5b04949350505050565b6040518061030001604052806018906020820280388339509192915050565b6040518061010001604052806000801916815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704d697373696e672044656c6567617465417070726f76616c73206164647265737345786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a7231582009ade86e1231fd4601e8b690d413a0870f181843bb770c2f23548e6dda7883e564736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amountReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"name":"ExchangeEntryAppended","type":"event","signature":"0x62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce9462398"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reclaim","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rebate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"srcRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"destRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeTimestamp","type":"uint256"}],"name":"ExchangeEntrySettled","type":"event","signature":"0x8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":true,"inputs":[],"name":"CIRCUIT_BREAKER_SUSPENSION_REASON","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3fa70f45"},{"constant":true,"inputs":[],"name":"MAX_ADDRESSES_FROM_RESOLVER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe3235c91"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"}],"name":"calculateAmountAfterSettlement","outputs":[{"internalType":"uint256","name":"amountAfterSettlement","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4c268fc8"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"destinationAddress","type":"address"}],"name":"exchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0a1e187d"},{"constant":false,"inputs":[{"internalType":"address","name":"exchangeForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"exchangeOnBehalf","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x6a1c4758"},{"constant":false,"inputs":[{"internalType":"address","name":"exchangeForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"originator","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchangeOnBehalfWithTracking","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xdfffca76"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"destinationAddress","type":"address"},{"internalType":"address","name":"originator","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchangeWithTracking","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x86baa45c"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"feeRateForExchange","outputs":[{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x1a5c6095"},{"constant":true,"inputs":[{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"getAmountsForExchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf450aa34"},{"constant":true,"inputs":[],"name":"getResolverAddressesRequired","outputs":[{"internalType":"bytes32[24]","name":"addressesRequired","type":"bytes32[24]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xab49848c"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"hasWaitingPeriodOrSettlementOwing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd6f32e06"},{"constant":true,"inputs":[{"internalType":"contract AddressResolver","name":"_resolver","type":"address"}],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x631e1444"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"isSynthRateInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x57af302c"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"lastExchangeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7dd1a57a"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"maxSecsLeftInWaitingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x059c29ec"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"priceDeviationThresholdFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x372a395a"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc6c9d828"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setLastExchangeRateForSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xce096940"},{"constant":false,"inputs":[{"internalType":"contract AddressResolver","name":"_resolver","type":"address"}],"name":"setResolverAndSyncCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3be99e6f"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settle","outputs":[{"internalType":"uint256","name":"reclaimed","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"},{"internalType":"uint256","name":"numEntriesSettled","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1b16802c"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settlementOwing","outputs":[{"internalType":"uint256","name":"reclaimAmount","type":"uint256"},{"internalType":"uint256","name":"rebateAmount","type":"uint256"},{"internalType":"uint256","name":"numEntries","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x19d5c665"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"suspendSynthWithInvalidRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0b9e31c9"},{"constant":true,"inputs":[],"name":"tradingRewardsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc193f0d8"},{"constant":true,"inputs":[],"name":"waitingPeriodSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x89257117"}],"source":{"keccak256":"0x5d6e11d4c9e1a785a435f44c861da9ed9ef4889db9151265145624a1cf64e512","urls":["bzz-raw://26c05fa00b9090c3fc82634facba885e1ff4c27a43fdbd40082bfe221d3f74f9","dweb:/ipfs/QmYf3wnwHuRvWZ1jbhm1as4dbLfsrNddnpMccHuupBHe5P"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"Exchanger.sol":"Exchanger"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"Exchanger.sol":{"keccak256":"0x5d6e11d4c9e1a785a435f44c861da9ed9ef4889db9151265145624a1cf64e512","urls":["bzz-raw://26c05fa00b9090c3fc82634facba885e1ff4c27a43fdbd40082bfe221d3f74f9","dweb:/ipfs/QmYf3wnwHuRvWZ1jbhm1as4dbLfsrNddnpMccHuupBHe5P"]}},"version":1}},"ExchangeState":{"bytecode":"6080604052600c60045534801561001557600080fd5b50604051604080610cbb833981016040528051602090910151818181600160a060020a03811615156100a857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505050610b56806101656000396000f3006080604052600436106100cf5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630d40d0cf81146100d457806315987eb6146100fb5780631627540c146101635780633ca9d85c1461018657806352f445ca146101c057806353a47bb7146101e15780636e13fe761461021257806379ba5097146102395780638da5cb5b1461024e578063aefc4ccb14610263578063b44e975314610278578063cd8b94dc1461029c578063d0d3d62a146102b4578063f1406dc8146102d8575b600080fd5b3480156100e057600080fd5b506100e96102fc565b60408051918252519081900360200190f35b34801561010757600080fd5b50610122600160a060020a0360043516602435604435610302565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b34801561016f57600080fd5b50610184600160a060020a0360043516610397565b005b34801561019257600080fd5b50610184600160a060020a036004351660243560443560643560843560a43560c43560e43561010435610480565b3480156101cc57600080fd5b50610184600160a060020a0360043516610634565b3480156101ed57600080fd5b506101f661071d565b60408051600160a060020a039092168252519081900360200190f35b34801561021e57600080fd5b50610122600160a060020a036004351660243560443561072c565b34801561024557600080fd5b50610184610798565b34801561025a57600080fd5b506101f66108a0565b34801561026f57600080fd5b506101f66108af565b34801561028457600080fd5b506100e9600160a060020a03600435166024356108be565b3480156102a857600080fd5b506101846004356108e6565b3480156102c057600080fd5b50610184600160a060020a0360043516602435610973565b3480156102e457600080fd5b506100e9600160a060020a0360043516602435610a2b565b60045481565b600160a060020a038316600090815260036020908152604080832085845290915281208054829182918291829182918291829182918b90811061034157fe5b906000526020600020906008020190508060000154816001015482600201548360030154846004015485600501548660060154876007015498509850985098509850985098509850509397509397509397509397565b600054600160a060020a0316331461041f576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254600160a060020a03163314610508576040805160e560020a62461bcd02815260206004820152603460248201527f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e60448201527f20706572666f726d207468697320616374696f6e000000000000000000000000606482015290519081900360840190fd5b600454600160a060020a038a1660009081526003602090815260408083208a845290915290205410610584576040805160e560020a62461bcd02815260206004820152601860248201527f4d6178207175657565206c656e67746820726561636865640000000000000000604482015290519081900360640190fd5b600160a060020a03909816600090815260036020818152604080842089855282528084208151610100810183529b8c528b83019a8b52908b0198895260608b0197885260808b0196875260a08b0195865260c08b0194855260e08b019b8c5280546001818101835591855291909320995160089091029099019889559651908801559351600287015591519385019390935591516004840155905160058301555160068201559051600790910155565b600054600160a060020a031633146106bc576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b60036020528260005260406000206020528160005260406000208181548110151561075357fe5b60009182526020909120600890910201805460018201546002830154600384015460048501546005860154600687015460079097015495995093975091955093909288565b600154600160a060020a03163314610820576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600254600160a060020a031681565b600160a060020a03919091166000908152600360209081526040808320938352929052205490565b600054600160a060020a0316331461096e576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b600455565b600254600160a060020a031633146109fb576040805160e560020a62461bcd02815260206004820152603460248201527f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e60448201527f20706572666f726d207468697320616374696f6e000000000000000000000000606482015290519081900360840190fd5b600160a060020a03821660009081526003602090815260408083208484529091528120610a2791610ab5565b5050565b600160a060020a0382166000908152600360209081526040808320848452909152812081805b8254811015610aac57818382815481101515610a6957fe5b9060005260206000209060080201600501541115610aa4578281815481101515610a8f57fe5b90600052602060002090600802016005015491505b600101610a51565b50949350505050565b5080546000825560080290600052602060002090810190610ad69190610ad9565b50565b610b2791905b80821115610b235760008082556001820181905560028201819055600382018190556004820181905560058201819055600682018190556007820155600801610adf565b5090565b905600a165627a7a72305820bf4c8cbb952e8e0db14fcbdb4a1795d5c66da0d9364e79f257686bb2bd5911340029","abi":[{"constant":true,"inputs":[],"name":"maxEntriesInQueue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0d40d0cf"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"currencyKey","type":"bytes32"},{"name":"index","type":"uint256"}],"name":"getEntryAt","outputs":[{"name":"src","type":"bytes32"},{"name":"amount","type":"uint256"},{"name":"dest","type":"bytes32"},{"name":"amountReceived","type":"uint256"},{"name":"exchangeFeeRate","type":"uint256"},{"name":"timestamp","type":"uint256"},{"name":"roundIdForSrc","type":"uint256"},{"name":"roundIdForDest","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x15987eb6"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"src","type":"bytes32"},{"name":"amount","type":"uint256"},{"name":"dest","type":"bytes32"},{"name":"amountReceived","type":"uint256"},{"name":"exchangeFeeRate","type":"uint256"},{"name":"timestamp","type":"uint256"},{"name":"roundIdForSrc","type":"uint256"},{"name":"roundIdForDest","type":"uint256"}],"name":"appendExchangeEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3ca9d85c"},{"constant":false,"inputs":[{"name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"},{"name":"","type":"uint256"}],"name":"exchanges","outputs":[{"name":"src","type":"bytes32"},{"name":"amount","type":"uint256"},{"name":"dest","type":"bytes32"},{"name":"amountReceived","type":"uint256"},{"name":"exchangeFeeRate","type":"uint256"},{"name":"timestamp","type":"uint256"},{"name":"roundIdForSrc","type":"uint256"},{"name":"roundIdForDest","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6e13fe76"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"currencyKey","type":"bytes32"}],"name":"getLengthOfEntries","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb44e9753"},{"constant":false,"inputs":[{"name":"_maxEntriesInQueue","type":"uint256"}],"name":"setMaxEntriesInQueue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xcd8b94dc"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"currencyKey","type":"bytes32"}],"name":"removeEntries","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd0d3d62a"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"currencyKey","type":"bytes32"}],"name":"getMaxTimestamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf1406dc8"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"Issuer":{"bytecode":"60806040523480156200001157600080fd5b50604051620061a2380380620061a28339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b615f7f80620002236000396000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c80637168d2c211610182578063a311c7c2116100e9578063c81ff8fa116100a2578063d686c06c1161007c578063d686c06c14610633578063dbf6334014610646578063dd3d2b2e1461064e578063fd864ccf14610661576102d6565b8063c81ff8fa146105fa578063c89771321461060d578063d37c4d8b14610620576102d6565b8063a311c7c214610593578063a5fdc5de146105a6578063ae3bbbbb146105b9578063b06e8c65146105cc578063b410a034146105df578063bff4fdfc146105e7576102d6565b8063835e119c1161013b578063835e119c14610537578063849cf5881461054a578063890235d41461055d578063899ffef4146105705780638da5cb5b146105785780639a5154b414610580576102d6565b80637168d2c2146104cb57806372c65816146104de57806372cb051f146104ff578063741853601461051457806379ba50971461051c5780637b1001b714610524576102d6565b80632b3f41aa11610241578063461ee763116101fa5780634e99bda9116101d45780634e99bda91461048557806353a47bb71461048d578063614d08f8146104a25780636bed0415146104aa576102d6565b8063461ee7631461044c57806347a9b6db1461045f578063497d704a14610472576102d6565b80632b3f41aa146103d857806331e6da5a146103eb57806332608039146103fe5780633b6afe40146104115780633fa70f451461043157806344ec6b6214610439576102d6565b806314d494131161029357806314d494131461037a5780631627540c1461038257806316b2213f146103955780631b3ba4d0146103a8578063242df9e1146103bb5780632af64bd3146103c3576102d6565b8063042e0688146102db57806304f3bcec146102f057806305b3c1c91461030e5780630b887dae1461032e5780631137aedf146103415780631313e6ca14610363575b600080fd5b6102ee6102e9366004614d8b565b610674565b005b6102f86106e5565b6040516103059190615b9c565b60405180910390f35b61032161031c366004614c98565b6106f4565b6040516103059190615ae8565b6102ee61033c366004614e62565b61070a565b61035461034f366004614c98565b6107e8565b60405161030593929190615b12565b61036b610804565b60405161030593929190615db2565b610321610998565b6102ee610390366004614c98565b61099e565b6103216103a3366004614c98565b6109fc565b6102ee6103b6366004614d8b565b610a0e565b610321610c65565b6103cb610c75565b6040516103059190615ada565b6102ee6103e6366004614cd4565b610d8c565b6102ee6103f9366004614f1a565b610ddb565b6102f861040c366004614e62565b610ed5565b61042461041f366004614dbb565b610ef0565b6040516103059190615ac9565b610321610f9e565b6102ee610447366004614d0e565b610fa3565b6102ee61045a366004614e62565b610ff6565b6102ee61046d366004614dbb565b611003565b6102ee610480366004614c98565b6110b4565b6103cb6110fc565b61049561118e565b60405161030591906159f5565b61032161119d565b6104bd6104b8366004614d8b565b6111aa565b604051610305929190615da4565b6102ee6104d9366004614dbb565b611290565b6104f16104ec366004614d5b565b6113c5565b604051610305929190615b04565b610507611873565b6040516103059190615ab8565b6102ee61187f565b6102ee6119d1565b610321610532366004614ebf565b611a6d565b6102f8610545366004614e62565b611a81565b6102ee610558366004614ede565b611aa8565b6103cb61056b366004614e9e565b611b22565b610507611eb6565b610495612185565b6102ee61058e366004614d0e565b612194565b6103216105a1366004614c98565b6121e2565b6103216105b4366004614c98565b6121f4565b6104bd6105c7366004614c98565b6121ff565b6102ee6105da366004614d8b565b612215565b610321612259565b6103cb6105f5366004614c98565b612263565b6103cb610608366004614e9e565b61226e565b6102ee61061b366004614c98565b612643565b61032161062e366004614d8b565b612688565b6102ee610641366004614d0e565b61273b565b6103216127e1565b61032161065c366004614c98565b6127e7565b6102ee61066f366004614cd4565b6127f2565b61067c612841565b6001600160a01b0316336001600160a01b0316146106b55760405162461bcd60e51b81526004016106ac90615c86565b60405180910390fd5b600081116106d55760405162461bcd60e51b81526004016106ac90615d36565b6106e182826000612858565b5050565b6002546001600160a01b031681565b600080610700836129ba565b509150505b919050565b610712612a86565b600061071c612ab2565b604051636b42ba1d60e11b81529091506001600160a01b0382169063d685743a9061074e908590600090600401615b3a565b600060405180830381600087803b15801561076857600080fd5b505af115801561077c573d6000803e3d6000fd5b50506040516304bd11e560e01b81526001600160a01b03841692506304bd11e591506107ad90600190600401615ada565b600060405180830381600087803b1580156107c757600080fd5b505af11580156107db573d6000803e3d6000fd5b505050506106e182612ac9565b60008060006107f684612f77565b509196909550909350915050565b60008060008060006108357f6578743a41676772656761746f7249737375656453796e746873000000000000613004565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561086d57600080fd5b505afa158015610881573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108a59190810190615019565b509350509250506000806108d2766578743a41676772656761746f7244656274526174696f60481b613004565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561090a57600080fd5b505afa15801561091e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109429190810190615019565b509350509250508396508160001461096957610964878363ffffffff61306116565b61096c565b60005b955082610977613081565b4203118061098d575080610989613081565b4203115b945050505050909192565b60075481565b6109a6612a86565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906109f19083906159f5565b60405180910390a150565b60066020526000908152604090205481565b610a16612a86565b6001600160a01b038216610a3c5760405162461bcd60e51b81526004016106ac90615cf6565b6002546040516321f8a72160e01b81526001600160a01b03909116906321f8a72190610a6a90600401615c39565b60206040518083038186803b158015610a8257600080fd5b505afa158015610a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aba9190810190614cb6565b6001600160a01b0316826001600160a01b031614610aea5760405162461bcd60e51b81526004016106ac90615c09565b631cd554d160e21b6000526005602052600080516020615f1d833981519152546001600160a01b0316610b2f5760405162461bcd60e51b81526004016106ac90615d56565b60008111610b4f5760405162461bcd60e51b81526004016106ac90615bf9565b610b5761312b565b6001600160a01b0316631b16802c83631cd554d160e21b6040518363ffffffff1660e01b8152600401610b8b929190615a39565b606060405180830381600087803b158015610ba557600080fd5b505af1158015610bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bdd9190810190614fd6565b5050631cd554d160e21b600052506005602052600080516020615f1d83398151915254604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90610c2f9085908590600401615a39565b600060405180830381600087803b158015610c4957600080fd5b505af1158015610c5d573d6000803e3d6000fd5b505050505050565b6000610c6f613142565b90505b90565b60006060610c81611eb6565b905060005b8151811015610d83576000828281518110610c9d57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610cee908590600401615ae8565b60206040518083038186803b158015610d0657600080fd5b505afa158015610d1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d3e9190810190614cb6565b6001600160a01b0316141580610d6957506000818152600360205260409020546001600160a01b0316155b15610d7a5760009350505050610c72565b50600101610c86565b50600191505090565b610d94612841565b6001600160a01b0316336001600160a01b031614610dc45760405162461bcd60e51b81526004016106ac90615c86565b610dce828261319d565b6106e1826000600161323e565b610de36134ae565b6001600160a01b0316336001600160a01b031614610e135760405162461bcd60e51b81526004016106ac90615c96565b6000610e1d6134c3565b9050816001600160801b0316816001600160a01b031663988e65956040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6257600080fd5b505afa158015610e76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e9a9190810190614f38565b6001600160801b031610156106e15760405163abb6de9560e01b81526001600160a01b0382169063abb6de9590610c2f908590600401615d96565b6005602052600090815260409020546001600160a01b031681565b60408051828152602080840282010190915260609082908290828015610f20578160200160208202803883390190505b50905060005b82811015610f935760056000878784818110610f3e57fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b0316828281518110610f7357fe5b6001600160a01b0390921660209283029190910190910152600101610f26565b509150505b92915050565b60a581565b610fab612841565b6001600160a01b0316336001600160a01b031614610fdb5760405162461bcd60e51b81526004016106ac90615c86565b610fe583836134e3565b610ff183826000612858565b505050565b610ffe612a86565b600755565b61100b612a86565b8060005b818110156110485761104084848381811061102657fe5b905060200201602061103b9190810190614ede565b613518565b60010161100f565b50611051612ab2565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b815260040161107d9190615ada565b600060405180830381600087803b15801561109757600080fd5b505af11580156110ab573d6000803e3d6000fd5b50505050505050565b6110bc612841565b6001600160a01b0316336001600160a01b0316146110ec5760405162461bcd60e51b81526004016106ac90615c86565b6110f9816000600161323e565b50565b60006111066136a9565b6001600160a01b031663c8e5bbd561111e60016136c4565b6040518263ffffffff1660e01b815260040161113a9190615ab8565b60006040518083038186803b15801561115257600080fd5b505afa158015611166573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f989190810190614dfd565b6001546001600160a01b031681565b6524b9b9bab2b960d11b81565b60008060006112416111ba6134c3565b6001600160a01b03166370a08231876040518263ffffffff1660e01b81526004016111e591906159f5565b60206040518083038186803b1580156111fd57600080fd5b505afa158015611211573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112359190810190614e80565b620a69cb60eb1b6137a0565b93509091506000905061126261125561388a565b839063ffffffff6138e216565b90508481106112745760009350611287565b611284858263ffffffff6138f716565b93505b50509250929050565b611298612a86565b8060006112a3612ab2565b90506060826040519080825280602002602001820160405280156112d1578160200160208202803883390190505b506040516305ece36d60e21b81529091506001600160a01b038316906317b38db49061130590889088908690600401615a92565b600060405180830381600087803b15801561131f57600080fd5b505af1158015611333573d6000803e3d6000fd5b50506040516304bd11e560e01b81526001600160a01b03851692506304bd11e5915061136490600190600401615ada565b600060405180830381600087803b15801561137e57600080fd5b505af1158015611392573d6000803e3d6000fd5b506000925050505b83811015610c5d576113bd8686838181106113b157fe5b90506020020135612ac9565b60010161139a565b6000806113d0612841565b6001600160a01b0316336001600160a01b0316146114005760405162461bcd60e51b81526004016106ac90615c86565b61140861391f565b6001600160a01b031663952225f385856040518363ffffffff1660e01b8152600401611435929190615a1e565b60206040518083038186803b15801561144d57600080fd5b505afa158015611461573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114859190810190614e44565b6114a15760405162461bcd60e51b81526004016106ac90615cd6565b6000836114b5576114b0613937565b6114bd565b6114bd613997565b90506000806115556114cd6134c3565b6001600160a01b03166370a08231896040518263ffffffff1660e01b81526004016114f891906159f5565b60206040518083038186803b15801561151057600080fd5b505afa158015611524573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115489190810190614e80565b631cd554d160e21b6137a0565b92505091506000806115656136a9565b6001600160a01b0316630c71cd23620a69cb60eb1b6040518263ffffffff1660e01b81526004016115969190615ae8565b604080518083038186803b1580156115ad57600080fd5b505afa1580156115c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115e59190810190614f56565b915091506115fa83806115f55750815b6139f8565b60006116058a613a16565b905061160f61391f565b6001600160a01b031663f557f73c866116288487613bbf565b896040518463ffffffff1660e01b815260040161164793929190615b12565b60206040518083038186803b15801561165f57600080fd5b505afa158015611673573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116979190810190614e80565b965061173e6117288773__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156116e457600080fd5b505af41580156116f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061171c9190810190614e80565b9063ffffffff613bd116565b6117328986613bf6565b9063ffffffff613c0816565b9750600061174a612841565b6001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040161177591906159f5565b60206040518083038186803b15801561178d57600080fd5b505afa1580156117a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117c59190810190614e80565b9050808911156117f5576117ef896117e38a8463ffffffff613c0816565b9063ffffffff613c3216565b97508098505b6118008b8988613c5c565b61180861391f565b6001600160a01b031663974e9e7f8c6040518263ffffffff1660e01b815260040161183391906159f5565b600060405180830381600087803b15801561184d57600080fd5b505af1158015611861573d6000803e3d6000fd5b50505050505050505050509250929050565b6060610c6f60006136c4565b6060611889611eb6565b905060005b81518110156106e15760008282815181106118a557fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016118e791906159ea565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611913929190615b55565b60206040518083038186803b15801561192b57600080fd5b505afa15801561193f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119639190810190614cb6565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906119bf9084908490615af6565b60405180910390a1505060010161188e565b6001546001600160a01b031633146119fb5760405162461bcd60e51b81526004016106ac90615bd9565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611a3e926001600160a01b0391821692911690615a03565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000611a798383613e3d565b509392505050565b60048181548110611a8e57fe5b6000918252602090912001546001600160a01b0316905081565b611ab0612a86565b611ab981613518565b611ac1612ab2565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b8152600401611aed9190615ada565b600060405180830381600087803b158015611b0757600080fd5b505af1158015611b1b573d6000803e3d6000fd5b5050505050565b6002546040516321f8a72160e01b815260009182916001600160a01b03909116906321f8a72190611b73907853796e746865746978427269646765546f4f7074696d69736d60381b90600401615ae8565b60206040518083038186803b158015611b8b57600080fd5b505afa158015611b9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bc39190810190614cb6565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a72190611c11907453796e746865746978427269646765546f4261736560581b90600401615ae8565b60206040518083038186803b158015611c2957600080fd5b505afa158015611c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c619190810190614cb6565b9050336001600160a01b0383161480611c825750336001600160a01b038216145b611c9e5760405162461bcd60e51b81526004016106ac90615d86565b6001600160a01b0382161580611cbb57506001600160a01b038116155b611cd75760405162461bcd60e51b81526004016106ac90615bc9565b6000868152600560205260409020546001600160a01b0316611d0b5760405162461bcd60e51b81526004016106ac90615d56565b60008411611d2b5760405162461bcd60e51b81526004016106ac90615d36565b611d3485614048565b6000868152600560205260409081902054905163219e412d60e21b81526001600160a01b039091169063867904b490611d739088908890600401615a39565b600060405180830381600087803b158015611d8d57600080fd5b505af1158015611da1573d6000803e3d6000fd5b50505050600080611db06136a9565b6001600160a01b0316630c71cd23896040518263ffffffff1660e01b8152600401611ddb9190615ae8565b604080518083038186803b158015611df257600080fd5b505afa158015611e06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e2a9190810190614f56565b91509150611e36612ab2565b6001600160a01b03166342c7b819611e5c611e57898663ffffffff613c0816565b6140c1565b6040518263ffffffff1660e01b8152600401611e789190615ae8565b600060405180830381600087803b158015611e9257600080fd5b505af1158015611ea6573d6000803e3d6000fd5b50929a9950505050505050505050565b606080611ec16140ea565b60408051600f808252610200820190925291925060609190602082016101e080388339019050509050680a6f2dce8d0cae8d2f60bb1b81600081518110611f0457fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611f2a57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110611f5457fe5b6020026020010181815250507153796e74686574697844656274536861726560701b81600381518110611f8357fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110611fa757fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b81600581518110611fd557fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160068151811061200057fe5b6020026020010181815250506e53796e746865746978457363726f7760881b8160078151811061202c57fe5b602002602001018181525050692634b8bab4b230ba37b960b11b8160088151811061205357fe5b602002602001018181525050704c697175696461746f725265776172647360781b8160098151811061208157fe5b6020026020010181815250506844656274436163686560b81b81600a815181106120a757fe5b6020026020010181815250506c29bcb73a342932b232b2b6b2b960991b81600b815181106120d157fe5b6020026020010181815250506b53797374656d53746174757360a01b81600c815181106120fa57fe5b6020026020010181815250507f6578743a41676772656761746f7249737375656453796e74687300000000000081600d8151811061213457fe5b602002602001018181525050766578743a41676772656761746f7244656274526174696f60481b81600e8151811061216857fe5b60200260200101818152505061217e828261413b565b9250505090565b6000546001600160a01b031681565b61219c612841565b6001600160a01b0316336001600160a01b0316146121cc5760405162461bcd60e51b81526004016106ac90615c86565b6121d6838361319d565b610ff18382600061323e565b60006121ed826141f0565b5092915050565b6000610f9882613a16565b60008061220b836141f0565b915091505b915091565b61221d612841565b6001600160a01b0316336001600160a01b03161461224d5760405162461bcd60e51b81526004016106ac90615c86565b6106e18282600061323e565b6000610c6f61388a565b6000610f9882614270565b6002546040516321f8a72160e01b815260009182916001600160a01b03909116906321f8a721906122bf907853796e746865746978427269646765546f4f7074696d69736d60381b90600401615ae8565b60206040518083038186803b1580156122d757600080fd5b505afa1580156122eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061230f9190810190614cb6565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a7219061235d907453796e746865746978427269646765546f4261736560581b90600401615ae8565b60206040518083038186803b15801561237557600080fd5b505afa158015612389573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123ad9190810190614cb6565b9050336001600160a01b03831614806123ce5750336001600160a01b038216145b6123ea5760405162461bcd60e51b81526004016106ac90615d86565b6001600160a01b038216158061240757506001600160a01b038116155b6124235760405162461bcd60e51b81526004016106ac90615bc9565b6000868152600560205260409020546001600160a01b03166124575760405162461bcd60e51b81526004016106ac90615d56565b600084116124775760405162461bcd60e51b81526004016106ac90615d36565b61247f61312b565b6001600160a01b0316631b16802c86886040518363ffffffff1660e01b81526004016124ac929190615a39565b606060405180830381600087803b1580156124c657600080fd5b505af11580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124fe9190810190614fd6565b50505060008681526005602052604090819020549051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906125409088908890600401615a39565b600060405180830381600087803b15801561255a57600080fd5b505af115801561256e573d6000803e3d6000fd5b5050505060008061257d6136a9565b6001600160a01b0316630c71cd23896040518263ffffffff1660e01b81526004016125a89190615ae8565b604080518083038186803b1580156125bf57600080fd5b505afa1580156125d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125f79190810190614f56565b91509150612603612ab2565b6001600160a01b03166342c7b819612624611e57898663ffffffff613c0816565b6000036040518263ffffffff1660e01b8152600401611e789190615ae8565b61264b612841565b6001600160a01b0316336001600160a01b03161461267b5760405162461bcd60e51b81526004016106ac90615c86565b6110f98160006001612858565b6000806126936134c3565b90506000816001600160a01b03166370a08231866040518263ffffffff1660e01b81526004016126c391906159f5565b60206040518083038186803b1580156126db57600080fd5b505afa1580156126ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127139190810190614e80565b90508061272557600092505050610f98565b61272f81856137a0565b50909695505050505050565b61274361428f565b826001600160a01b031663d4b839926040518163ffffffff1660e01b815260040160206040518083038186803b15801561277c57600080fd5b505afa158015612790573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127b49190810190614cb6565b6001600160a01b0316639dc29fac83836040518363ffffffff1660e01b815260040161107d929190615a39565b60045490565b6000610f98826142c7565b6127fa612841565b6001600160a01b0316336001600160a01b03161461282a5760405162461bcd60e51b81526004016106ac90615c86565b61283482826134e3565b6106e18260006001612858565b6000610c6f680a6f2dce8d0cae8d2f60bb1b613004565b612860614390565b61286957610ff1565b60008061287585612f77565b935050509150612884816139f8565b826128ae57818411156128a95760405162461bcd60e51b81526004016106ac90615c56565b6128b2565b8193505b6128bc85856144c5565b6128c585614048565b631cd554d160e21b6000526005602052600080516020615f1d8339815191525460405163219e412d60e21b81526001600160a01b039091169063867904b4906129149088908890600401615a39565b600060405180830381600087803b15801561292e57600080fd5b505af1158015612942573d6000803e3d6000fd5b5050505061294e612ab2565b6001600160a01b03166342c7b819612965866140c1565b6040518263ffffffff1660e01b81526004016129819190615ae8565b600060405180830381600087803b15801561299b57600080fd5b505af11580156129af573d6000803e3d6000fd5b505050505050505050565b6000806000806129c86136a9565b6001600160a01b0316630c71cd23620a69cb60eb1b6040518263ffffffff1660e01b81526004016129f99190615ae8565b604080518083038186803b158015612a1057600080fd5b505afa158015612a24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a489190810190614f56565b915091506000612a60612a5a87613a16565b84613bbf565b9050612a7a612a6d61388a565b829063ffffffff613c0816565b94509092505050915091565b6000546001600160a01b03163314612ab05760405162461bcd60e51b81526004016106ac90615ce6565b565b6000610c6f6844656274436163686560b81b613004565b6000818152600560205260409020546001600160a01b031680612afe5760405162461bcd60e51b81526004016106ac90615cb6565b631cd554d160e21b821415612b255760405162461bcd60e51b81526004016106ac90615d26565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612b6057600080fd5b505afa158015612b74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b989190810190614e80565b90508015612e1a57600080612bab6136a9565b6001600160a01b0316638295016a86856040518363ffffffff1660e01b8152600401612bd8929190615b75565b60606040518083038186803b158015612bf057600080fd5b505afa158015612c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c289190810190614fd6565b509150915060008111612c4d5760405162461bcd60e51b81526004016106ac90615cc6565b6000612c5761460f565b631cd554d160e21b6000526005602052600080516020615f1d8339815191525460405163219e412d60e21b81529192506001600160a01b03169063867904b490612ca79084908790600401615a39565b600060405180830381600087803b158015612cc157600080fd5b505af1158015612cd5573d6000803e3d6000fd5b50505050612ce1612ab2565b6001600160a01b03166342c7b819612cf8856140c1565b6040518263ffffffff1660e01b8152600401612d149190615ae8565b600060405180830381600087803b158015612d2e57600080fd5b505af1158015612d42573d6000803e3d6000fd5b50505050806001600160a01b0316633a70599c866001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b158015612d8e57600080fd5b505afa158015612da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612dc69190810190614efc565b846040518363ffffffff1660e01b8152600401612de4929190615baa565b600060405180830381600087803b158015612dfe57600080fd5b505af1158015612e12573d6000803e3d6000fd5b505050505050505b60005b600454811015612f0157826001600160a01b031660048281548110612e3e57fe5b6000918252602090912001546001600160a01b03161415612ef95760048181548110612e6657fe5b600091825260209091200180546001600160a01b0319169055600480546000198101908110612e9157fe5b600091825260209091200154600480546001600160a01b039092169183908110612eb757fe5b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556004805490612ef3906000198301614b25565b50612f01565b600101612e1d565b506001600160a01b038216600090815260066020908152604080832083905585835260059091529081902080546001600160a01b0319169055517f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d090612f6a9085908590615af6565b60405180910390a1505050565b600080600080612fb3612f886134c3565b6001600160a01b03166370a08231876040518263ffffffff1660e01b81526004016114f891906159f5565b91945092509050600080612fc6876129ba565b915091508195508280612fd65750805b9250858510612fe85760009550612ffb565b612ff8868663ffffffff6138f716565b95505b50509193509193565b60008181526003602090815260408083205490516001600160a01b039091169182151591613034918691016159ca565b604051602081830303815290604052906121ed5760405162461bcd60e51b81526004016106ac9190615bb8565b600061307a83836b033b2e3c9fd0803ce800000061462a565b9392505050565b600061308b614662565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b81526004016130db929190615b04565b60206040518083038186803b1580156130f357600080fd5b505afa158015613107573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c6f9190810190614e80565b6000610c6f6822bc31b430b733b2b960b91b613004565b600061314c614662565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b81526004016130db929190615b04565b6131a561467f565b6001600160a01b0316637d3f0ba283836040518363ffffffff1660e01b81526004016131d2929190615a03565b60206040518083038186803b1580156131ea57600080fd5b505afa1580156131fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132229190810190614e44565b6106e15760405162461bcd60e51b81526004016106ac90615be9565b613246614390565b61324f57610ff1565b806133ac5761325d83614270565b6132795760405162461bcd60e51b81526004016106ac90615d66565b60008061328461312b565b6001600160a01b0316631b16802c86631cd554d160e21b6040518363ffffffff1660e01b81526004016132b8929190615a39565b606060405180830381600087803b1580156132d257600080fd5b505af11580156132e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061330a9190810190614fd6565b90935091505080156133a95761331e61312b565b6001600160a01b0316634c268fc886631cd554d160e21b87866040518563ffffffff1660e01b81526004016133569493929190615a54565b60206040518083038186803b15801561336e57600080fd5b505afa158015613382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133a69190810190614e80565b93505b50505b6000806133ba612f886134c3565b92505091506000806133cb876129ba565b915091506133df83806115f55750816139f8565b600084116133ff5760405162461bcd60e51b81526004016106ac90615c46565b841561341857613415848363ffffffff6138f716565b95505b60006134268889898861469e565b905082613439868363ffffffff6138f716565b116134a45761344661391f565b6001600160a01b031663974e9e7f896040518263ffffffff1660e01b815260040161347191906159f5565b600060405180830381600087803b15801561348b57600080fd5b505af115801561349f573d6000803e3d6000fd5b505050505b5050505050505050565b6000610c6f66119959541bdbdb60ca1b613004565b6000610c6f7153796e74686574697844656274536861726560701b613004565b6134eb61467f565b6001600160a01b0316630487261783836040518363ffffffff1660e01b81526004016131d2929190615a03565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561355357600080fd5b505afa158015613567573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061358b9190810190614e80565b6000818152600560205260409020549091506001600160a01b0316156135c35760405162461bcd60e51b81526004016106ac90615d46565b6001600160a01b038216600090815260066020526040902054156135f95760405162461bcd60e51b81526004016106ac90615d06565b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0384166001600160a01b03199182168117909255600083815260056020908152604080832080549094168517909355928152600690925290819020829055517f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c628849061369d9083908590615af6565b60405180910390a15050565b6000610c6f6c45786368616e6765526174657360981b613004565b606080826136d35760006136d6565b60015b60ff1660048054905001604051908082528060200260200182016040528015613709578160200160208202803883390190505b50905060005b60045481101561377057600660006004838154811061372a57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054825183908390811061375d57fe5b602090810291909101015260010161370f565b508215610f98576004548151620a69cb60eb1b918391811061378e57fe5b60200260200101818152505092915050565b60008060008060006137b0610804565b925050915086600014156137cc57600094509092509050613883565b6000806137d76136a9565b6001600160a01b0316630c71cd23896040518263ffffffff1660e01b81526004016138029190615ae8565b604080518083038186803b15801561381957600080fd5b505afa15801561382d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138519190810190614f56565b9150915061386e826138628b6147ca565b9063ffffffff6138e216565b9650839550808061387c5750825b9450505050505b9250925092565b6000613894614662565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b81526004016130db929190615b04565b600061307a8383670de0b6b3a764000061462a565b6000828211156139195760405162461bcd60e51b81526004016106ac90615c66565b50900390565b6000610c6f692634b8bab4b230ba37b960b11b613004565b6000613941614662565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b74736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b81526004016130db929190615b04565b60006139a1614662565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b81526004016130db929190615b04565b80156110f95760405162461bcd60e51b81526004016106ac90615ca6565b600080613a21612841565b6001600160a01b03166370a08231846040518263ffffffff1660e01b8152600401613a4c91906159f5565b60206040518083038186803b158015613a6457600080fd5b505afa158015613a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a9c9190810190614e80565b90506000613aa8614879565b6001600160a01b031614613b4c57613b49613ac1614879565b6001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401613aec91906159f5565b60206040518083038186803b158015613b0457600080fd5b505afa158015613b18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b3c9190810190614e80565b829063ffffffff613bd116565b90505b6000613b56614896565b6001600160a01b031614613b7257613b6f613ac1614896565b90505b6000613b7c6148b2565b6001600160a01b031614610f985761307a613b956148b2565b6001600160a01b0316628cc262856040518263ffffffff1660e01b8152600401613aec91906159f5565b600061307a838363ffffffff6148d116565b60008282018381101561307a5760405162461bcd60e51b81526004016106ac90615c19565b600061307a838363ffffffff6138e216565b6000670de0b6b3a7640000613c23848463ffffffff6148e616565b81613c2a57fe5b049392505050565b600061307a82613c5085670de0b6b3a764000063ffffffff6148e616565b9063ffffffff61492016565b613c646148b2565b6001600160a01b031663270fb338846040518263ffffffff1660e01b8152600401613c8f91906159f5565b600060405180830381600087803b158015613ca957600080fd5b505af1158015613cbd573d6000803e3d6000fd5b505050506000613ccb6134c3565b90506000816001600160a01b03166370a08231866040518263ffffffff1660e01b8152600401613cfb91906159f5565b60206040518083038186803b158015613d1357600080fd5b505afa158015613d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d4b9190810190614e80565b905082841415613dba57604051631a378f0d60e01b81526001600160a01b03831690631a378f0d90613d839088908590600401615a39565b600060405180830381600087803b158015613d9d57600080fd5b505af1158015613db1573d6000803e3d6000fd5b50505050611b1b565b6000613dc585614955565b9050826001600160a01b0316631a378f0d87848410613de45784613de6565b835b6040518363ffffffff1660e01b8152600401613e03929190615a39565b600060405180830381600087803b158015613e1d57600080fd5b505af1158015613e31573d6000803e3d6000fd5b50505050505050505050565b6000806000806000613e4d612ab2565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b158015613e8557600080fd5b505afa158015613e99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ebd9190810190614f75565b935093505092508180613ecd5750805b93506000613ed96136a9565b905086613f7f57600080613eeb612ab2565b6001600160a01b0316632992dba26040518163ffffffff1660e01b8152600401604080518083038186803b158015613f2257600080fd5b505afa158015613f36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f5a9190810190614f56565b9092509050613f6f868363ffffffff613bd116565b95508680613f7a5750805b965050505b631cd554d160e21b881415613f9a5750919350614041915050565b600080826001600160a01b0316630c71cd238b6040518263ffffffff1660e01b8152600401613fc99190615ae8565b604080518083038186803b158015613fe057600080fd5b505afa158015613ff4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140189190810190614f56565b909250905061402d868363ffffffff6138e216565b87806140365750815b975097505050505050505b9250929050565b614050614662565b6001600160a01b0316631d5b277f6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8460405160200161408c9291906159a4565b60405160208183030381529060405280519060200120426040518463ffffffff1660e01b8152600401611aed93929190615b12565b6000600160ff1b82106140e65760405162461bcd60e51b81526004016106ac90615d76565b5090565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061412c57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561416b578160200160208202803883390190505b50905060005b83518110156141ad5783818151811061418657fe5b602002602001015182828151811061419a57fe5b6020908102919091010152600101614171565b5060005b82518110156121ed578281815181106141c657fe5b60200260200101518282865101815181106141dd57fe5b60209081029190910101526001016141b1565b60008060006141fe84613a16565b905060008061423961420e6134c3565b6001600160a01b03166370a08231886040518263ffffffff1660e01b81526004016111e591906159f5565b9250509150826000141561425557600094509250612210915050565b614265828463ffffffff6138e216565b945092505050915091565b600061428661427d613142565b61171c846142c7565b42101592915050565b61429761460f565b6001600160a01b0316336001600160a01b031614612ab05760405162461bcd60e51b81526004016106ac90615c29565b60006142d1614662565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8560405160200161430d9291906159a4565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401614340929190615b04565b60206040518083038186803b15801561435857600080fd5b505afa15801561436c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f989190810190614e80565b6000806143b6766578743a41676772656761746f7244656274526174696f60481b613004565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156143ee57600080fd5b505afa158015614402573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144269190810190615019565b505050915050600061443a60075483614a17565b9050614444614a63565b81106144bb57614452614acb565b6001600160a01b031663396e258e60a56040518263ffffffff1660e01b815260040161447e9190615ae8565b600060405180830381600087803b15801561449857600080fd5b505af11580156144ac573d6000803e3d6000fd5b50505050600092505050610c72565b5060075550600190565b6144cd6148b2565b6001600160a01b031663270fb338836040518263ffffffff1660e01b81526004016144f891906159f5565b600060405180830381600087803b15801561451257600080fd5b505af1158015614526573d6000803e3d6000fd5b5050505060006145346134c3565b9050600061454183614955565b9050806145ad57604051636178258560e11b81526001600160a01b0383169063c2f04b0a906145769087908790600401615a39565b600060405180830381600087803b15801561459057600080fd5b505af11580156145a4573d6000803e3d6000fd5b50505050614609565b604051636178258560e11b81526001600160a01b0383169063c2f04b0a906145db9087908590600401615a39565b600060405180830381600087803b1580156145f557600080fd5b505af11580156134a4573d6000803e3d6000fd5b50505050565b6000610c6f6c29bcb73a342932b232b2b6b2b960991b613004565b60008061464484613c5087600a870263ffffffff6148e616565b90506005600a825b061061465657600a015b600a9004949350505050565b6000610c6f6e466c657869626c6553746f7261676560881b613004565b6000610c6f7044656c6567617465417070726f76616c7360781b613004565b60006146a8614390565b6146b4575060006147c2565b8282106146c157826146c3565b815b90506146d0858284613c5c565b631cd554d160e21b6000526005602052600080516020615f1d83398151915254604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac9061471f9087908590600401615a39565b600060405180830381600087803b15801561473957600080fd5b505af115801561474d573d6000803e3d6000fd5b50505050614759612ab2565b6001600160a01b03166342c7b819614770836140c1565b6000036040518263ffffffff1660e01b815260040161478f9190615ae8565b600060405180830381600087803b1580156147a957600080fd5b505af11580156147bd573d6000803e3d6000fd5b505050505b949350505050565b6000806147f0766578743a41676772656761746f7244656274526174696f60481b613004565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561482857600080fd5b505afa15801561483c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506148609190810190615019565b50505091505061307a8184614ae590919063ffffffff16565b6000610c6f6e53796e746865746978457363726f7760881b613004565b6000610c6f6d2932bbb0b93222b9b1b937bbab1960911b613004565b6000610c6f704c697175696461746f725265776172647360781b613004565b600061307a8383670de0b6b3a7640000614afa565b6000826148f557506000610f98565b8282028284828161490257fe5b041461307a5760405162461bcd60e51b81526004016106ac90615d16565b60008082116149415760405162461bcd60e51b81526004016106ac90615c76565b600082848161494c57fe5b04949350505050565b60008061497b766578743a41676772656761746f7244656274526174696f60481b613004565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156149b357600080fd5b505afa1580156149c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506149eb9190810190615019565b50505091505080600014614a0e57614a09838263ffffffff61306116565b61307a565b50600092915050565b600082614a2657506001610f98565b81614a345750600019610f98565b81831115614a5357614a4c838363ffffffff613c3216565b9050610f98565b61307a828463ffffffff613c3216565b6000614a6d614662565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b81526004016130db929190615b04565b6000610c6f6b53797374656d53746174757360a01b613004565b600061307a83836b033b2e3c9fd0803ce80000005b600080600a8304614b11868663ffffffff6148e616565b81614b1857fe5b0490506005600a8261464c565b815481835581811115610ff157600083815260209020610ff1918101908301610c7291905b808211156140e65760008155600101614b4a565b8035610f9881615edb565b8051610f9881615edb565b60008083601f840112614b8657600080fd5b50813567ffffffffffffffff811115614b9e57600080fd5b60208301915083602082028301111561404157600080fd5b600082601f830112614bc757600080fd5b8151614bda614bd582615e01565b615dda565b91508181835260208401935060208101905083856020840282011115614bff57600080fd5b60005b83811015614c2b5781614c158882614c56565b8452506020928301929190910190600101614c02565b5050505092915050565b8035610f9881615eef565b8051610f9881615eef565b8035610f9881615ef8565b8051610f9881615ef8565b8035610f9881615f01565b8051610f9881615f01565b8035610f9881615f0a565b8051610f9881615f0a565b8051610f9881615f13565b600060208284031215614caa57600080fd5b60006147c28484614b5e565b600060208284031215614cc857600080fd5b60006147c28484614b69565b60008060408385031215614ce757600080fd5b6000614cf38585614b5e565b9250506020614d0485828601614b5e565b9150509250929050565b600080600060608486031215614d2357600080fd5b6000614d2f8686614b5e565b9350506020614d4086828701614b5e565b9250506040614d5186828701614c4b565b9150509250925092565b60008060408385031215614d6e57600080fd5b6000614d7a8585614b5e565b9250506020614d0485828601614c35565b60008060408385031215614d9e57600080fd5b6000614daa8585614b5e565b9250506020614d0485828601614c4b565b60008060208385031215614dce57600080fd5b823567ffffffffffffffff811115614de557600080fd5b614df185828601614b74565b92509250509250929050565b60008060408385031215614e1057600080fd5b825167ffffffffffffffff811115614e2757600080fd5b614e3385828601614bb6565b9250506020614d0485828601614c40565b600060208284031215614e5657600080fd5b60006147c28484614c40565b600060208284031215614e7457600080fd5b60006147c28484614c4b565b600060208284031215614e9257600080fd5b60006147c28484614c56565b600080600060608486031215614eb357600080fd5b6000614d2f8686614c4b565b60008060408385031215614ed257600080fd5b6000614d7a8585614c4b565b600060208284031215614ef057600080fd5b60006147c28484614c61565b600060208284031215614f0e57600080fd5b60006147c28484614c6c565b600060208284031215614f2c57600080fd5b60006147c28484614c77565b600060208284031215614f4a57600080fd5b60006147c28484614c82565b60008060408385031215614f6957600080fd5b6000614e338585614c56565b60008060008060808587031215614f8b57600080fd5b6000614f978787614c56565b9450506020614fa887828801614c56565b9350506040614fb987828801614c40565b9250506060614fca87828801614c40565b91505092959194509250565b600080600060608486031215614feb57600080fd5b6000614ff78686614c56565b935050602061500886828701614c56565b9250506040614d5186828701614c56565b600080600080600060a0868803121561503157600080fd5b600061503d8888614c8d565b955050602061504e88828901614c56565b945050604061505f88828901614c56565b935050606061507088828901614c56565b925050608061508188828901614c8d565b9150509295509295909350565b600061509a8383615205565b505060200190565b600061509a838361521f565b6150b781615e35565b82525050565b6150b76150c982615e35565b615eba565b60006150da8385615e2c565b93506001600160fb1b038311156150f057600080fd5b602083029250615101838584615e82565b50500190565b600061511282615e28565b61511c8185615e2c565b935061512783615e22565b8060005b8381101561515557815161513f888261508e565b975061514a83615e22565b92505060010161512b565b509495945050505050565b600061516b82615e28565b6151758185615e2c565b935061518083615e22565b8060005b8381101561515557815161519888826150a2565b97506151a383615e22565b925050600101615184565b60006151b982615e28565b6151c38185615e2c565b93506151ce83615e22565b8060005b838110156151555781516151e6888261508e565b97506151f183615e22565b9250506001016151d2565b6150b781615e40565b6150b781610c72565b6150b761521a82610c72565b610c72565b6150b781615e45565b6150b781615e77565b600061523c82615e28565b6152468185615e2c565b9350615256818560208601615e8e565b61525f81615ecb565b9093019392505050565b6000615276601e83615e2c565b7f4973737565723a206f6e65206d696e746572206d757374206265203078300000815260200192915050565b60006152af603583615e2c565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615306601d83615e2c565b7f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000815260200192915050565b600061533f601c83615e2c565b7f4973737565723a2063616e6e6f74206275726e20302073796e74687300000000815260200192915050565b6000615378601b83615e2c565b7f4973737565723a2077726f6e672073686f727420616464726573730000000000815260200192915050565b60006153b1601b83615e2c565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006153ea603f83615e2c565b7f4973737565723a204f6e6c79207468652053796e746852656465656d6572206381527f6f6e74726163742063616e20706572666f726d207468697320616374696f6e00602082015260400192915050565b74436f6c6c61746572616c53686f72744c656761637960581b9052565b6000615466601283615e2c565b714e6f206465627420746f20666f726769766560701b815260200192915050565b6000615494601083615e2c565b6f416d6f756e7420746f6f206c6172676560801b815260200192915050565b60006154c0601e83615e2c565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006154f9601a83615e2c565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615532601183610705565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061555f603b83615e2c565b7f4973737565723a204f6e6c79207468652073796e74686574697820636f6e747281527f6163742063616e20706572666f726d207468697320616374696f6e0000000000602082015260400192915050565b60006155be601083615e2c565b6f135d5cdd08189948199959481c1bdbdb60821b815260200192915050565b60006155ea601e83615e2c565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b6000615623601483615e2c565b7314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b815260200192915050565b6000615653602a83615e2c565b7f43616e6e6f742072656d6f76652073796e746820746f2072656465656d20776981526974686f7574207261746560b01b602082015260400192915050565b600061569f601883615e2c565b7f4e6f74206f70656e20666f72206c69717569646174696f6e0000000000000000815260200192915050565b60006156d8602f83615e2c565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000615735601783615e2c565b7f4973737565723a20696e76616c69642061646472657373000000000000000000815260200192915050565b600061576e601c83615e2c565b7f53796e7468206164647265737320616c72656164792065786973747300000000815260200192915050565b60006157a7602183615e2c565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006157ea601383615e2c565b72086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b815260200192915050565b6000615819601d83615e2c565b7f4973737565723a2063616e6e6f7420697373756520302073796e746873000000815260200192915050565b6000615852601983610705565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061588b600c83615e2c565b6b53796e74682065786973747360a01b815260200192915050565b60006158b3601b83615e2c565b7f4973737565723a2073796e746820646f65736e27742065786973740000000000815260200192915050565b60006158ec601e83615e2c565b7f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000815260200192915050565b6000615925602883615e2c565b7f53616665436173743a2076616c756520646f65736e27742066697420696e2061815267371034b73a191a9b60c11b602082015260400192915050565b600061596f601c83615e2c565b7f4973737565723a206f6e6c792074727573746564206d696e7465727300000000815260200192915050565b6150b781615e50565b60006159b0828561520e565b6020820191506159c082846150bd565b5060140192915050565b60006159d582615525565b91506159e1828461520e565b50602001919050565b60006159d582615845565b60208101610f9882846150ae565b60408101615a1182856150ae565b61307a60208301846150ae565b60408101615a2c82856150ae565b61307a60208301846151fc565b60408101615a4782856150ae565b61307a6020830184615205565b60808101615a6282876150ae565b615a6f6020830186615205565b615a7c6040830185615205565b615a896060830184615205565b95945050505050565b60408082528101615aa48185876150ce565b90508181036020830152615a8981846151ae565b6020808252810161307a8184615107565b6020808252810161307a8184615160565b60208101610f9882846151fc565b60208101610f988284615205565b60408101615a118285615205565b60408101615a478285615205565b60608101615b208286615205565b615b2d6020830185615205565b6147c26040830184615205565b60408101615b488285615205565b61307a6020830184615228565b60408101615b638285615205565b81810360208301526147c28184615231565b60608101615b838285615205565b615b906020830184615205565b61307a6040830161571c565b60208101610f98828461521f565b60408101615a47828561521f565b6020808252810161307a8184615231565b60208082528101610f9881615269565b60208082528101610f98816152a2565b60208082528101610f98816152f9565b60208082528101610f9881615332565b60208082528101610f988161536b565b60208082528101610f98816153a4565b60208082528101610f98816153dd565b602081016107058261543c565b60208082528101610f9881615459565b60208082528101610f9881615487565b60208082528101610f98816154b3565b60208082528101610f98816154ec565b60208082528101610f9881615552565b60208082528101610f98816155b1565b60208082528101610f98816155dd565b60208082528101610f9881615616565b60208082528101610f9881615646565b60208082528101610f9881615692565b60208082528101610f98816156cb565b60208082528101610f9881615728565b60208082528101610f9881615761565b60208082528101610f988161579a565b60208082528101610f98816157dd565b60208082528101610f988161580c565b60208082528101610f988161587e565b60208082528101610f98816158a6565b60208082528101610f98816158df565b60208082528101610f9881615918565b60208082528101610f9881615962565b60208101610f98828461599b565b60408101615a2c8285615205565b60608101615dc08286615205565b615dcd6020830185615205565b6147c260408301846151fc565b60405181810167ffffffffffffffff81118282101715615df957600080fd5b604052919050565b600067ffffffffffffffff821115615e1857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610f9882615e5c565b151590565b6000610f9882615e35565b6001600160801b031690565b6001600160a01b031690565b69ffffffffffffffffffff1690565b6000610f9882610c72565b82818337506000910152565b60005b83811015615ea9578181015183820152602001615e91565b838111156146095750506000910152565b6000610f98826000610f9882615ed5565b601f01601f191690565b60601b90565b615ee481615e35565b81146110f957600080fd5b615ee481615e40565b615ee481610c72565b615ee481615e45565b615ee481615e50565b615ee481615e6856fe74c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823fa365627a7a723158202a1a39542f91009d594d9c11ad41ac819edbb0753b0f6943f3d8a583aa1b9cf86c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"synth","type":"address"}],"name":"SynthAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"synth","type":"address"}],"name":"SynthRemoved","type":"event"},{"constant":true,"inputs":[],"name":"CIRCUIT_BREAKER_SUSPENSION_REASON","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract ISynth","name":"synth","type":"address"}],"name":"addSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract ISynth[]","name":"synthsToAdd","type":"address[]"}],"name":"addSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"allNetworksDebtInfo","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"sharesSupply","type":"uint256"},{"internalType":"bool","name":"isStale","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"anySynthOrSNXRateIsInvalid","outputs":[{"internalType":"bool","name":"anyRateInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"availableCurrencyKeys","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"availableSynthCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"availableSynths","outputs":[{"internalType":"contract ISynth","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"deprecatedSynthProxy","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"}],"name":"burnForRedemption","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"burnForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnSynthsOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"burnSynthsToTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"burnForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"}],"name":"burnSynthsToTargetOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnSynthsWithoutDebt","outputs":[{"internalType":"bool","name":"rateInvalid","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"canBurnSynths","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"collateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_issuer","type":"address"}],"name":"collateralisationRatio","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_issuer","type":"address"}],"name":"collateralisationRatioAndAnyRatesInvalid","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_issuer","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"debtBalanceOf","outputs":[{"internalType":"uint256","name":"debtBalance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"getSynths","outputs":[{"internalType":"contract ISynth[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issuanceRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"issueMaxSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"issueForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"}],"name":"issueMaxSynthsOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issueSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"issueForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issueSynthsOnBehalf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issueSynthsWithoutDebt","outputs":[{"internalType":"bool","name":"rateInvalid","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastDebtRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"lastIssueEvent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isSelfLiquidation","type":"bool"}],"name":"liquidateAccount","outputs":[{"internalType":"uint256","name":"totalRedeemed","type":"uint256"},{"internalType":"uint256","name":"amountToLiquidate","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_issuer","type":"address"}],"name":"maxIssuableSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumStakeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_issuer","type":"address"}],"name":"remainingIssuableSynths","outputs":[{"internalType":"uint256","name":"maxIssuable","type":"uint256"},{"internalType":"uint256","name":"alreadyIssued","type":"uint256"},{"internalType":"uint256","name":"totalSystemDebt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"removeSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"removeSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint128","name":"periodId","type":"uint128"}],"name":"setCurrentPeriodId","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"ratio","type":"uint256"}],"name":"setLastDebtRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synths","outputs":[{"internalType":"contract ISynth","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"synthsByAddress","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"bool","name":"excludeOtherCollateral","type":"bool"}],"name":"totalIssuedSynths","outputs":[{"internalType":"uint256","name":"totalIssued","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"}],"name":"transferableSynthetixAndAnyRateIsInvalid","outputs":[{"internalType":"uint256","name":"transferable","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"short","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"upgradeCollateralShort","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x9820f36cf8ee40e9cfb286cae173e716e009ebe5594e921afac85a40f103c71b","urls":["bzz-raw://f54ee91ba95260372d2c872fd7c90b04eeb5c4f028398c4fa35256712372a83f","dweb:/ipfs/QmdHauQk47hJ7MzScCYr9mBMxkyjo9AUP9hnEvFzKjUDbx"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"Issuer.sol":"Issuer"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"Issuer.sol":{"keccak256":"0x9820f36cf8ee40e9cfb286cae173e716e009ebe5594e921afac85a40f103c71b","urls":["bzz-raw://f54ee91ba95260372d2c872fd7c90b04eeb5c4f028398c4fa35256712372a83f","dweb:/ipfs/QmdHauQk47hJ7MzScCYr9mBMxkyjo9AUP9hnEvFzKjUDbx"]}},"version":1}},"MultiCollateralSynth":{"bytecode":"60806040523480156200001157600080fd5b506040516200337d3803806200337d83398181016040526101008110156200003857600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006457600080fd5b9083019060208201858111156200007a57600080fd5b82516401000000008111828201881017156200009557600080fd5b82525081516020918201929091019080838360005b83811015620000c4578181015183820152602001620000aa565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b9083019060208201858111156200012c57600080fd5b82516401000000008111828201881017156200014757600080fd5b82525081516020918201929091019080838360005b83811015620001765781810151838201526020016200015c565b50505050905090810190601f168015620001a45780820380516001836020036101000a031916815260200191505b50604090815260208201519082015160608301516080909301519194509250878787878787878780888888888660128a86816001600160a01b03811662000232576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002dd576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600480546001600160a01b0319166001600160a01b03881617905584516200035f90600590602088019062000464565b5083516200037590600690602087019062000464565b50506007919091556008805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620003fa576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b0384166200044b576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600a5550620005099b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004a757805160ff1916838001178555620004d7565b82800160010185558215620004d7579182015b82811115620004d7578251825591602001919060010190620004ba565b50620004e5929150620004e9565b5090565b6200050691905b80821115620004e55760008155600101620004f0565b90565b612e6480620005196000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80638da5cb5b1161011a578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e2146105cb578063eb1edd61146105d3578063ec556889146105db578063f7ea7a3d146105e3578063ffff51d614610600576101fb565b8063d67bdd2514610557578063dbd06c851461055f578063dd62ed3e14610567578063e73cced314610595576101fb565b80639f769807116100e95780639f769807146104b3578063a9059cbb146104d9578063b014c3a314610505578063bc67f83214610531576101fb565b80638da5cb5b1461045157806395d89b411461045957806397107d6d146104615780639dc29fac14610487576101fb565b8063313ce56711610192578063741853601161016157806374185360146103bd57806379ba5097146103c5578063867904b4146103cd578063899ffef4146103f9576101fb565b8063313ce5671461037f57806353a47bb714610387578063614d08f81461038f57806370a0823114610397576101fb565b806318160ddd116101ce57806318160ddd1461030957806323b872dd146103235780632af64bd3146103595780632e0f262514610361576101fb565b806304f3bcec1461020057806306fdde0314610224578063095ea7b3146102a15780631627540c146102e1575b600080fd5b610208610626565b604080516001600160a01b039092168252519081900360200190f35b61022c61063a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026657818101518382015260200161024e565b50505050905090810190601f1680156102935780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102cd600480360360408110156102b757600080fd5b506001600160a01b0381351690602001356106c8565b604080519115158252519081900360200190f35b610307600480360360208110156102f757600080fd5b50356001600160a01b0316610765565b005b6103116107c1565b60408051918252519081900360200190f35b6102cd6004803603606081101561033957600080fd5b506001600160a01b038135811691602081013590911690604001356107c7565b6102cd6107ee565b610369610900565b6040805160ff9092168252519081900360200190f35b610369610905565b61020861090e565b61031161091d565b610311600480360360208110156103ad57600080fd5b50356001600160a01b0316610938565b6103076109bf565b610307610b9c565b610307600480360360408110156103e357600080fd5b506001600160a01b038135169060200135610c58565b610401610cbc565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043d578181015183820152602001610425565b505050509050019250505060405180910390f35b610208610d80565b61022c610d8f565b6103076004803603602081101561047757600080fd5b50356001600160a01b0316610dea565b6103076004803603604081101561049d57600080fd5b506001600160a01b038135169060200135610e46565b610307600480360360208110156104c957600080fd5b50356001600160a01b0316610eaf565b6102cd600480360360408110156104ef57600080fd5b506001600160a01b038135169060200135610ede565b6102cd6004803603604081101561051b57600080fd5b506001600160a01b038135169060200135610f76565b6103076004803603602081101561054757600080fd5b50356001600160a01b03166110cd565b6102086110f7565b610311611106565b6103116004803603604081101561057d57600080fd5b506001600160a01b038135811691602001351661110c565b6102cd600480360360608110156105ab57600080fd5b506001600160a01b0381358116916020810135909116906040013561119a565b6102086112ee565b6102086112fd565b610208611315565b610307600480360360208110156105f957600080fd5b5035611324565b6103116004803603602081101561061657600080fd5b50356001600160a01b0316611331565b60085461010090046001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106c05780601f10610695576101008083540402835291602001916106c0565b820191906000526020600020905b8154815290600101906020018083116106a357829003601f168201915b505050505081565b60006106d2611478565b6003546004805460408051633691826360e21b81526001600160a01b03948516938101849052878516602482015260448101879052905192939091169163da46098c9160648082019260009290919082900301818387803b15801561073657600080fd5b505af115801561074a573d6000803e3d6000fd5b505050506107598185856114b8565b60019150505b92915050565b61076d6115f1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60075481565b60006107d161163a565b6107db84836116be565b6107e684848461183d565b949350505050565b600060606107fa610cbc565b905060005b81518110156108f657600082828151811061081657fe5b6020908102919091018101516000818152600983526040908190205460085482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b15801561088557600080fd5b505afa158015610899573d6000803e3d6000fd5b505050506040513d60208110156108af57600080fd5b50516001600160a01b03161415806108dc57506000818152600960205260409020546001600160a01b0316155b156108ed57600093505050506108fd565b506001016107ff565b5060019150505b90565b601281565b60085460ff1681565b6001546001600160a01b031681565b7309aead8e8d286ded8d8c2e8cae4c2d8a6f2dce8d60631b81565b60048054604080516370a0823160e01b81526001600160a01b03858116948201949094529051600093909216916370a0823191602480820192602092909190829003018186803b15801561098b57600080fd5b505afa15801561099f573d6000803e3d6000fd5b505050506040513d60208110156109b557600080fd5b505190505b919050565b60606109c9610cbc565b905060005b8151811015610b985760008282815181106109e557fe5b602002602001015190506000600860019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610ab0578181015183820152602001610a98565b50505050905090810190601f168015610add5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610afb57600080fd5b505afa158015610b0f573d6000803e3d6000fd5b505050506040513d6020811015610b2557600080fd5b505160008381526009602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016109ce565b5050565b6001546001600160a01b03163314610be55760405162461bcd60e51b8152600401808060200182810382526035815260200180612d366035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610c61336119ff565b610cb2576040805162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920696e7465726e616c20636f6e74726163747320616c6c6f77656400604482015290519081900360640190fd5b610b988282611b52565b606080610cc7611c7e565b60408051600380825260808201909252919250606091906020820183803883390190505090507021b7b63630ba32b930b626b0b730b3b2b960791b81600081518110610d0f57fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b81600181518110610d3857fe5b6020026020010181815250506d57726170706572466163746f727960901b81600281518110610d6357fe5b602002602001018181525050610d798282611d6b565b9250505090565b6000546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106c05780601f10610695576101008083540402835291602001916106c0565b610df26115f1565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b610e4f336119ff565b610ea0576040805162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920696e7465726e616c20636f6e74726163747320616c6c6f77656400604482015290519081900360640190fd5b610eaa8282611e27565b505050565b610eb7611f26565b600480546001600160a01b0319166001600160a01b038316179055610edb81611fbf565b50565b6000610ee861163a565b600354610efe906001600160a01b0316836116be565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef1415610f3457610f2d8383612105565b905061075f565b6001600160a01b038316610f5857600354610f2d906001600160a01b031683611e27565b600354610f6f906001600160a01b03168484612282565b9392505050565b6000610f8061163a565b6000610f8a6124b3565b600354600a54604080516306c5a00b60e21b81526001600160a01b0393841660048201526024810192909252519290911691631b16802c916044808201926060929091908290030181600087803b158015610fe457600080fd5b505af1158015610ff8573d6000803e3d6000fd5b505050506040513d606081101561100e57600080fd5b5060400151905082811561109b5760048054600354604080516370a0823160e01b81526001600160a01b0392831694810194909452519116916370a08231916024808301926020929190829003018186803b15801561106c57600080fd5b505afa158015611080573d6000803e3d6000fd5b505050506040513d602081101561109657600080fd5b505190505b8084116110a857836110aa565b805b6003549094506110c4906001600160a01b03168686612282565b95945050505050565b6110d56124cf565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031681565b600a5481565b6004805460408051636eb1769f60e11b81526001600160a01b0386811694820194909452848416602482015290516000939092169163dd62ed3e91604480820192602092909190829003018186803b15801561116757600080fd5b505afa15801561117b573d6000803e3d6000fd5b505050506040513d602081101561119157600080fd5b50519392505050565b60006111a461163a565b60006111ae6124b3565b6001600160a01b0316631b16802c86600a546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561120f57600080fd5b505af1158015611223573d6000803e3d6000fd5b505050506040513d606081101561123957600080fd5b506040015190508281156112c75760048054604080516370a0823160e01b81526001600160a01b038a811694820194909452905192909116916370a0823191602480820192602092909190829003018186803b15801561129857600080fd5b505afa1580156112ac573d6000803e3d6000fd5b505050506040513d60208110156112c257600080fd5b505190505b808410156112d557836112d7565b805b93506112e486868661183d565b9695505050505050565b6004546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b61132c611f26565b600755565b60008061133c6124b3565b6001600160a01b03166319d5c66584600a546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561139b57600080fd5b505afa1580156113af573d6000803e3d6000fd5b505050506040513d60608110156113c557600080fd5b505160048054604080516370a0823160e01b81526001600160a01b0388811694820194909452905193945060009392909116916370a0823191602480820192602092909190829003018186803b15801561141e57600080fd5b505afa158015611432573d6000803e3d6000fd5b505050506040513d602081101561144857600080fd5b505190508082111561145f576000925050506109ba565b61146f818363ffffffff61252816565b925050506109ba565b6002546001600160a01b0316331480159061149e57506003546001600160a01b03163314155b156114b657600380546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612dc982396021019050604051809103902061150b88612585565b61151488612585565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561158357818101518382015260200161156b565b50505050905090810190601f1680156115b05780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156115d457600080fd5b505af11580156115e8573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146114b65760405162461bcd60e51b815260040180806020018281038252602f815260200180612d9a602f913960400191505060405180910390fd5b6002546001600160a01b0316331415611652576114b6565b61165b33612591565b1561167757600380546001600160a01b031916331790556114b6565b6040805162461bcd60e51b815260206004820152601760248201527613db9b1e481d1a19481c1c9bde1e4818d85b8818d85b1b604a1b604482015290519081900360640190fd5b6116c66124b3565b6001600160a01b031663059c29ec83600a546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561172557600080fd5b505afa158015611739573d6000803e3d6000fd5b505050506040513d602081101561174f57600080fd5b50511561178d5760405162461bcd60e51b8152600401808060200182810382526025815260200180612dea6025913960400191505060405180910390fd5b8061179783611331565b10156117d45760405162461bcd60e51b815260040180806020018281038252602f815260200180612d6b602f913960400191505060405180910390fd5b6117dc6128d9565b6001600160a01b03166342a28e21600a546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561182157600080fd5b505afa158015611835573d6000803e3d6000fd5b505050505050565b6004805460035460408051636eb1769f60e11b81526001600160a01b038881169582019590955291841660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b15801561189b57600080fd5b505afa1580156118af573d6000803e3d6000fd5b505050506040513d60208110156118c557600080fd5b5051146119f4576004805460035460408051636eb1769f60e11b81526001600160a01b0389811695820195909552918416602483018190529051939092169263da46098c9288929091611973918891879163dd62ed3e916044808301926020929190829003018186803b15801561193b57600080fd5b505afa15801561194f573d6000803e3d6000fd5b505050506040513d602081101561196557600080fd5b50519063ffffffff61252816565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156119db57600080fd5b505af11580156119ef573d6000803e3d6000fd5b505050505b6107e6848484612282565b6000611a0a826128f3565b80611a9a5750611a18612965565b6001600160a01b031663b38988f7836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611a6d57600080fd5b505afa158015611a81573d6000803e3d6000fd5b505050506040513d6020811015611a9757600080fd5b50515b80611b2a5750611aa8612984565b6001600160a01b031663e0aa2797836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611afd57600080fd5b505afa158015611b11573d6000803e3d6000fd5b505050506040513d6020811015611b2757600080fd5b50515b8061075f5750611b386129a0565b6001600160a01b0316826001600160a01b03161492915050565b60048054604080516370a0823160e01b81526001600160a01b03868116948201949094529051929091169163b46310f6918591611bea91869186916370a08231916024808301926020929190829003018186803b158015611bb257600080fd5b505afa158015611bc6573d6000803e3d6000fd5b505050506040513d6020811015611bdc57600080fd5b50519063ffffffff6129ba16565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611c3957600080fd5b505af1158015611c4d573d6000803e3d6000fd5b5050600754611c65925090508263ffffffff6129ba16565b600755611c7460008383612a14565b610b988282612a67565b60408051600580825260c082019092526060916020820160a0803883390190505090506b53797374656d53746174757360a01b81600081518110611cbe57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611ce457fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110611d0757fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110611d2b57fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600481518110611d5c57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611d9b578160200160208202803883390190505b50905060005b8351811015611ddd57838181518110611db657fe5b6020026020010151828281518110611dca57fe5b6020908102919091010152600101611da1565b5060005b8251811015611e2057828181518110611df657fe5b6020026020010151828286510181518110611e0d57fe5b6020908102919091010152600101611de1565b5092915050565b60048054604080516370a0823160e01b81526001600160a01b038681169482019490945290516000939092169163b46310f6918691611e8991879186916370a08231916024808301926020929190829003018186803b15801561193b57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611ed857600080fd5b505af1158015611eec573d6000803e3d6000fd5b5050600754611f04925090508363ffffffff61252816565b600755611f1383600084612a14565b611f1d8383612ba8565b50600192915050565b6002546001600160a01b03163314801590611f4c57506003546001600160a01b03163314155b15611f6457600380546001600160a01b031916331790555b6000546003546001600160a01b039081169116146114b6576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b83811015612099578181015183820152602001612081565b50505050905090810190601f1680156120c65780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156120ea57600080fd5b505af11580156120fe573d6000803e3d6000fd5b5050505050565b600080600a54631cd554d160e21b141561213957506003548290612133906001600160a01b03168583612282565b50612213565b6121416124b3565b600354600a54604080516327c319e960e11b81526001600160a01b03938416600482018190526024820152604481019290925260648201879052631cd554d160e21b608483015273feefeefeefeefeefeefeefeefeefeefeefeefeef60a4830152600060c4830181905260e48301819052610104830181905281519490931693634f8633d293610124808501948390030190829087803b1580156121e457600080fd5b505af11580156121f8573d6000803e3d6000fd5b505050506040513d604081101561220e57600080fd5b505190505b61221b612c11565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561226057600080fd5b505af1158015612274573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b038316158015906122a557506001600160a01b0383163014155b80156122bf57506002546001600160a01b03848116911614155b612310576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b60048054604080516370a0823160e01b81526001600160a01b03888116948201949094529051929091169163b46310f691879161237091879186916370a08231916024808301926020929190829003018186803b15801561193b57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156123bf57600080fd5b505af11580156123d3573d6000803e3d6000fd5b505060048054604080516370a0823160e01b81526001600160a01b0389811694820194909452905192909116935063b46310f69250869161243791879186916370a08231916024808301926020929190829003018186803b158015611bb257600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561248657600080fd5b505af115801561249a573d6000803e3d6000fd5b505050506124a9848484612a14565b5060019392505050565b60006124ca6822bc31b430b733b2b960b91b612c22565b905090565b6002546001600160a01b031633146114b6576040805162461bcd60e51b815260206004820152601760248201527613db9b1e481d1a19481c1c9bde1e4818d85b8818d85b1b604a1b604482015290519081900360640190fd5b60008282111561257f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b600854604080516321f8a72160e01b81526e10dbdb1b185d195c985b14da1bdc9d608a1b6004820152905160009261010090046001600160a01b0316916321f8a721916024808301926020929190829003018186803b1580156125f357600080fd5b505afa158015612607573d6000803e3d6000fd5b505050506040513d602081101561261d57600080fd5b50516001600160a01b03838116911614806126d75750600860019054906101000a90046001600160a01b03166001600160a01b03166321f8a7216040518163ffffffff1660e01b815260040180806c29bcb73a342932b232b2b6b2b960991b815250602001905060206040518083038186803b15801561269c57600080fd5b505afa1580156126b0573d6000803e3d6000fd5b505050506040513d60208110156126c657600080fd5b50516001600160a01b038381169116145b806127825750600860019054906101000a90046001600160a01b03166001600160a01b03166321f8a7216040518163ffffffff1660e01b815260040180806d57726170706572466163746f727960901b815250602001905060206040518083038186803b15801561274757600080fd5b505afa15801561275b573d6000803e3d6000fd5b505050506040513d602081101561277157600080fd5b50516001600160a01b038381169116145b806128315750600860019054906101000a90046001600160a01b03166001600160a01b03166321f8a7216040518163ffffffff1660e01b81526004018080712730ba34bb32a2ba3432b92bb930b83832b960711b815250602001905060206040518083038186803b1580156127f657600080fd5b505afa15801561280a573d6000803e3d6000fd5b505050506040513d602081101561282057600080fd5b50516001600160a01b038381169116145b8061075f5750600860019054906101000a90046001600160a01b03166001600160a01b03166321f8a7216040518163ffffffff1660e01b815260040180806411195c1bdd60da1b815250602001905060206040518083038186803b15801561289857600080fd5b505afa1580156128ac573d6000803e3d6000fd5b505050506040513d60208110156128c257600080fd5b50516001600160a01b038381169116149050919050565b60006124ca6b53797374656d53746174757360a01b612c22565b60006128fd612c11565b6001600160a01b0316826001600160a01b03161480612934575061291f6124b3565b6001600160a01b0316826001600160a01b0316145b806129575750612942612cff565b6001600160a01b0316826001600160a01b0316145b8061075f5750611b38612d13565b60006124ca7021b7b63630ba32b930b626b0b730b3b2b960791b612c22565b60006124ca6d57726170706572466163746f727960901b612c22565b60006124ca6b22ba3432b92bb930b83832b960a11b612c22565b600082820183811015610f6f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612e0f82396021019050604051809103902061150b88612585565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff9792612ad087612585565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015612b43578181015183820152602001612b2b565b50505050905090810190601f168015612b705780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015612b9457600080fd5b505af1158015611835573d6000803e3d6000fd5b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff9792612ad087612585565b60006124ca66119959541bdbdb60ca1b5b600081815260096020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611e205760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612cc4578181015183820152602001612cac565b50505050905090810190601f168015612cf15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006124ca6524b9b9bab2b960d11b612c22565b60006124ca73233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b612c2256fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a723158200ab6f354799b3f2ca84430782d67c46a02187bf8717a34537181b246fd3ff3c264736f6c63430005100032","abi":[{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"},{"internalType":"contract TokenState","name":"_tokenState","type":"address"},{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Issued","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxyAddress","type":"address"}],"name":"ProxyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTokenState","type":"address"}],"name":"TokenStateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FEE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currencyKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"setMessageSender","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"}],"name":"setProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract TokenState","name":"_tokenState","type":"address"}],"name":"setTokenState","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTotalSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenState","outputs":[{"internalType":"contract TokenState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFromAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"transferableSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe","urls":["bzz-raw://6d9e8792979f1eee0372a7dee6371c0b91e6b522605e0079120c162def58cbe7","dweb:/ipfs/QmQuccUukBgM3aLVmDrebRUc4aJjcYkVLjJ6Fv7wwVgrSd"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"MultiCollateralSynth.sol":"MultiCollateralSynth"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"MultiCollateralSynth.sol":{"keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe","urls":["bzz-raw://6d9e8792979f1eee0372a7dee6371c0b91e6b522605e0079120c162def58cbe7","dweb:/ipfs/QmQuccUukBgM3aLVmDrebRUc4aJjcYkVLjJ6Fv7wwVgrSd"]}},"version":1}},"IssuanceEternalStorage":{"bytecode":"608060405234801561001057600080fd5b506040516040806112eb8339810160405280516020909101518181818181600160a060020a03811615156100a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050505050611187806101646000396000f30060806040526004361061015e5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025ec81a8114610163578063043106c01461018d5780630c55d925146101a7578063124f2418146101bf5780631627540c146101d757806317e7dd22146101f857806325cf512d146102245780633562fd201461023f5780633cc1635c1461025a5780633eba9ed21461027257806344bfa56e1461028f5780634c77e5ba1461031c57806352f445ca1461035057806353a47bb7146103715780635a2bf25a1461038657806379ba5097146103aa5780638267a9ee146103bf5780638da5cb5b146103d75780639007127b146103ec57806393fe424814610404578063a209a29c1461041c578063a77aa49e14610434578063aefc4ccb1461044f578063ba69fcaa14610464578063bdc963d81461047c578063c9a52d2c14610494578063f5866066146104b8575b600080fd5b34801561016f57600080fd5b5061017b6004356104dc565b60408051918252519081900360200190f35b34801561019957600080fd5b506101a56004356104ee565b005b3480156101b357600080fd5b506101a560043561057d565b3480156101cb57600080fd5b506101a56004356105fb565b3480156101e357600080fd5b506101a5600160a060020a0360043516610670565b34801561020457600080fd5b50610210600435610759565b604080519115158252519081900360200190f35b34801561023057600080fd5b506101a560043560243561076e565b34801561024b57600080fd5b506101a56004356024356107e4565b34801561026657600080fd5b506101a560043561085a565b34801561027e57600080fd5b506101a560043560243515156108d6565b34801561029b57600080fd5b506102a760043561095a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102e15781810151838201526020016102c9565b50505050905090810190601f16801561030e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032857600080fd5b506103346004356109fb565b60408051600160a060020a039092168252519081900360200190f35b34801561035c57600080fd5b506101a5600160a060020a0360043516610a16565b34801561037d57600080fd5b50610334610aff565b34801561039257600080fd5b506101a5600435600160a060020a0360243516610b0e565b3480156103b657600080fd5b506101a5610bad565b3480156103cb57600080fd5b506101a5600435610cb5565b3480156103e357600080fd5b50610334610d2a565b3480156103f857600080fd5b5061017b600435610d39565b34801561041057600080fd5b506101a5600435610d4b565b34801561042857600080fd5b506102a7600435610dc0565b34801561044057600080fd5b506101a5600435602435610e2a565b34801561045b57600080fd5b50610334610ea0565b34801561047057600080fd5b506101a5600435610eaf565b34801561048857600080fd5b5061017b600435610f2a565b3480156104a057600080fd5b506101a5600480359060248035908101910135610f3c565b3480156104c457600080fd5b506101a5600480359060248035908101910135610fbf565b60009081526007602052604090205490565b600254600160a060020a03163314610552576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000908152600560205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b600254600160a060020a031633146105e1576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60008181526006602052604081206105f89161103c565b50565b600254600160a060020a0316331461065f576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600090815260076020526040812055565b600054600160a060020a031633146106f8576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b600254600160a060020a031633146107d2576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60009182526007602052604090912055565b600254600160a060020a03163314610848576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60009182526003602052604090912055565b600254600160a060020a031633146108be576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000908152600860205260409020805460ff19169055565b600254600160a060020a0316331461093a576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f60026101006001851615026000190190931692909204918201849004840281018401909452808452606093928301828280156109ef5780601f106109c4576101008083540402835291602001916109ef565b820191906000526020600020905b8154815290600101906020018083116109d257829003601f168201915b50505050509050919050565b600090815260056020526040902054600160a060020a031690565b600054600160a060020a03163314610a9e576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b600254600160a060020a03163314610b72576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600091825260056020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600154600160a060020a03163314610c35576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600254600160a060020a03163314610d19576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600090815260096020526040812055565b600054600160a060020a031681565b60009081526009602052604090205490565b600254600160a060020a03163314610daf576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f60026101006001851615026000190190931692909204918201849004840281018401909452808452606093928301828280156109ef5780601f106109c4576101008083540402835291602001916109ef565b600254600160a060020a03163314610e8e576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60009182526009602052604090912055565b600254600160a060020a031681565b600254600160a060020a03163314610f13576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60008181526004602052604081206105f89161103c565b60009081526003602052604090205490565b600254600160a060020a03163314610fa0576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000838152600660205260409020610fb9908383611080565b50505050565b600254600160a060020a03163314611023576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000838152600460205260409020610fb9908383611080565b50805460018160011615610100020316600290046000825580601f1061106257506105f8565b601f0160209004906000526020600020908101906105f891906110fe565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110c15782800160ff198235161785556110ee565b828001600101855582156110ee579182015b828111156110ee5782358255916020019190600101906110d3565b506110fa9291506110fe565b5090565b61111891905b808211156110fa5760008155600101611104565b9056004f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e000000000000000000000000a165627a7a72305820531a87be8a4483bef3d9e9bbf62e87857160f8008ec2ab17cd52197f7977cb410029","abi":[{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getBytes32Value","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x025ec81a"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x043106c0"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0c55d925"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x124f2418"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getBooleanValue","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x17e7dd22"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"bytes32"}],"name":"setBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x25cf512d"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"uint256"}],"name":"setUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3562fd20"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3cc1635c"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"bool"}],"name":"setBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3eba9ed2"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getBytesValue","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x44bfa56e"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getAddressValue","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4c77e5ba"},{"constant":false,"inputs":[{"name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"address"}],"name":"setAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5a2bf25a"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8267a9ee"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getIntValue","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9007127b"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x93fe4248"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getStringValue","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa209a29c"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"int256"}],"name":"setIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa77aa49e"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"}],"name":"deleteStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xba69fcaa"},{"constant":true,"inputs":[{"name":"record","type":"bytes32"}],"name":"getUIntValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbdc963d8"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"bytes"}],"name":"setBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc9a52d2c"},{"constant":false,"inputs":[{"name":"record","type":"bytes32"},{"name":"value","type":"string"}],"name":"setStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf5866066"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_issuer","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"}]},"SystemStatus":{"bytecode":"608060405234801561001057600080fd5b506040516128193803806128198339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061271f806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106103835760003560e01c80636309a10c116101de578063a55ce9c51161010f578063e470df58116100ad578063f405f65a1161007c578063f405f65a14610d61578063f44d1e0b14610d69578063f4c80f5e14610d71578063f8b4b08414610d8e57610383565b8063e470df5814610cb1578063e665edf014610cce578063e91e691814610d3c578063f161620714610d5957610383565b8063b9a49869116100e9578063b9a4986914610bb0578063c0eee44314610c1e578063da5917ae14610c26578063de1b885114610c4357610383565b8063a55ce9c514610b68578063abc0bb6e14610b70578063b431c0ea14610b9357610383565b80637c3125411161017c5780638da5cb5b116101565780638da5cb5b14610b1757806394c79f7414610b1f5780639f8a95ba14610b3c578063a0aad31c14610b6057610383565b80637c31254114610a845780637fe9b23d14610a8c578063856aae6c14610afa57610383565b80636ef5d841116101b85780636ef5d841146109505780637118d43114610a575780637243bc2c14610a5f57806379ba509714610a7c57610383565b80636309a10c146108bd57806367a280b2146108da57806369eaced2146108e257610383565b80632dd8afdb116102b85780634abdb44d1161025657806355585bce1161023057806355585bce1461088257806356c3da451461088a5780636132eba414610892578063614d08f8146108b557610383565b80634abdb44d146106f8578063517d60c61461070057806353a47bb71461085e57610383565b8063396e258e11610292578063396e258e1461065f57806342a28e211461067c57806348bf1971146106995780634a661850146106d557610383565b80632dd8afdb146106335780632e8d0b9e1461063b578063346cde511461065757610383565b80631ce00ba21161032557806322264567116102ff578063222645671461057d5780632366245e146105a05780632a647ab7146105a85780632be470901461061657610383565b80631ce00ba2146104a55780631f4b3401146104c857806320f2bf001461053657610383565b80631588e817116103615780631588e817146103b45780631627540c146103d1578063180113bc146103f75780631cba727c1461043757610383565b8063086dabd11461038857806312bde51414610392578063157c51d3146103ac575b600080fd5b610390610d96565b005b61039a610da0565b60408051918252519081900360200190f35b610390610dad565b610390600480360360208110156103ca57600080fd5b5035610e17565b610390600480360360208110156103e757600080fd5b50356001600160a01b0316610e82565b6104146004803603602081101561040d57600080fd5b5035610ede565b6040805192151583526001600160f81b0390911660208301528051918290030190f35b6103906004803603604081101561044d57600080fd5b810190602081018135600160201b81111561046757600080fd5b82018360208201111561047957600080fd5b803590602001918460208302840111600160201b8311171561049a57600080fd5b919350915035610f03565b610390600480360360408110156104bb57600080fd5b5080359060200135610f46565b610390600480360360208110156104de57600080fd5b810190602081018135600160201b8111156104f857600080fd5b82018360208201111561050a57600080fd5b803590602001918460208302840111600160201b8311171561052b57600080fd5b509092509050610f7e565b6105626004803603604081101561054c57600080fd5b50803590602001356001600160a01b0316610fba565b60408051921515835290151560208301528051918290030190f35b6103906004803603604081101561059357600080fd5b5080359060200135610fe3565b610414611029565b610390600480360360408110156105be57600080fd5b810190602081018135600160201b8111156105d857600080fd5b8201836020820111156105ea57600080fd5b803590602001918460208302840111600160201b8311171561060b57600080fd5b919350915035611042565b6103906004803603602081101561062c57600080fd5b5035611080565b6104146110ea565b610643611103565b604080519115158252519081900360200190f35b61041461112d565b6103906004803603602081101561067557600080fd5b5035611146565b6103906004803603602081101561069257600080fd5b50356111b1565b610390600480360360808110156106af57600080fd5b508035906001600160a01b036020820135169060408101351515906060013515156111c5565b610390600480360360408110156106eb57600080fd5b50803590602001356111df565b61039a611225565b6103906004803603608081101561071657600080fd5b810190602081018135600160201b81111561073057600080fd5b82018360208201111561074257600080fd5b803590602001918460208302840111600160201b8311171561076357600080fd5b919390929091602081019035600160201b81111561078057600080fd5b82018360208201111561079257600080fd5b803590602001918460208302840111600160201b831117156107b357600080fd5b919390929091602081019035600160201b8111156107d057600080fd5b8201836020820111156107e257600080fd5b803590602001918460208302840111600160201b8311171561080357600080fd5b919390929091602081019035600160201b81111561082057600080fd5b82018360208201111561083257600080fd5b803590602001918460208302840111600160201b8311171561085357600080fd5b509092509050611234565b610866611325565b604080516001600160a01b039092168252519081900360200190f35b610390611334565b61039a61139f565b610390600480360360408110156108a857600080fd5b50803590602001356113ad565b61039a6113b5565b610390600480360360208110156108d357600080fd5b50356113c8565b61039061140d565b610390600480360360208110156108f857600080fd5b810190602081018135600160201b81111561091257600080fd5b82018360208201111561092457600080fd5b803590602001918460208302840111600160201b8311171561094557600080fd5b509092509050611479565b6109be6004803603602081101561096657600080fd5b810190602081018135600160201b81111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111600160201b831117156109b357600080fd5b5090925090506114b5565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610a025781810151838201526020016109ea565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610a41578181015183820152602001610a29565b5050505090500194505050505060405180910390f35b6103906115de565b61041460048036036020811015610a7557600080fd5b50356115ee565b610390611613565b6103906116cf565b61039060048036036040811015610aa257600080fd5b810190602081018135600160201b811115610abc57600080fd5b820183602082011115610ace57600080fd5b803590602001918460208302840111600160201b83111715610aef57600080fd5b9193509150356116df565b61039060048036036020811015610b1057600080fd5b503561171d565b61086661173e565b61039060048036036020811015610b3557600080fd5b503561174d565b610b44611792565b604080516001600160f81b039092168252519081900360200190f35b610390611797565b61039a6117af565b61039060048036036040811015610b8657600080fd5b50803590602001356117c3565b61064360048036036020811015610ba957600080fd5b5035611809565b6109be60048036036020811015610bc657600080fd5b810190602081018135600160201b811115610be057600080fd5b820183602082011115610bf257600080fd5b803590602001918460208302840111600160201b83111715610c1357600080fd5b509092509050611831565b610643611952565b61039060048036036020811015610c3c57600080fd5b503561195b565b61039060048036036020811015610c5957600080fd5b810190602081018135600160201b811115610c7357600080fd5b820183602082011115610c8557600080fd5b803590602001918460208302840111600160201b83111715610ca657600080fd5b50909250905061196c565b61039060048036036020811015610cc757600080fd5b50356119a8565b6109be60048036036020811015610ce457600080fd5b810190602081018135600160201b811115610cfe57600080fd5b820183602082011115610d1057600080fd5b803590602001918460208302840111600160201b83111715610d3157600080fd5b509092509050611a1d565b61041460048036036020811015610d5257600080fd5b5035611b3e565b61039a611b63565b610390611b72565b61039a611bde565b61039060048036036020811015610d8757600080fd5b5035611bea565b610414611c2f565b610d9e611c48565b565b6553797374656d60d01b81565b610dbf6553797374656d60d01b611d27565b6003805460ff191690819055604080516101009092046001600160f81b03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b610e2b6745786368616e676560c01b611d84565b600580546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b610e8a611ddc565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60096020526000908152604090205460ff81169061010090046001600160f81b031682565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611e25915050565b505050565b610f4e611c48565b610f56611ed3565b610f5f82611f15565b610f6881611f15565b610f7182611f63565b610f7a81611f63565b5050565b610f7a828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611fb192505050565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061101357fe5b602002602001018181525050610f418183612059565b60045460ff81169061010090046001600160f81b031682565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612059915050565b611093664675747572657360c81b611d84565b600680546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fbb77bf6af5bb933d0fb912130167ce25b6debb9c728f232ee4e7c181f16c8e0c9181900360200190a150565b60035460ff81169061010090046001600160f81b031682565b60035460009060ff168015611128575060035461010090046001600160f81b03166001145b905090565b60065460ff81169061010090046001600160f81b031682565b61115a6749737375616e636560c01b611d84565b600480546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b6111b9611c48565b6111c281611f63565b50565b6111cd611ddc565b6111d984848484612101565b50505050565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061120f57fe5b602002602001018181525050610f418183611e25565b6749737375616e636560c01b81565b61123c611ddc565b868514801561124a57508483145b801561125557508281145b6112a6576040805162461bcd60e51b815260206004820152601e60248201527f496e707574206172726179206c656e67746873206d757374206d617463680000604482015290519081900360640190fd5b60005b8781101561131a576113128989838181106112c057fe5b905060200201358888848181106112d357fe5b905060200201356001600160a01b03168787858181106112ef57fe5b90506020020135151586868681811061130457fe5b905060200201351515612101565b6001016112a9565b505050505050505050565b6001546001600160a01b031681565b611347664675747572657360c81b611d27565b6006805460ff191690819055604080516101009092046001600160f81b03168252517fcbdc17547b5be7fb4a78666d4253509496561d5b1088a019865bd70d7e248fa6916020908290030190a16006805460ff169055565b664675747572657360c81b81565b610f68611c48565b6b53797374656d53746174757360a01b81565b6040805160018082528183019092526060916020808301908038833901905050905081816000815181106113f857fe5b602002602001018181525050610f7a81612247565b6114216749737375616e636560c01b611d27565b6004805460ff191690819055604080516101009092046001600160f81b03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b610f7a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061224792505050565b606080838390506040519080825280602002602001820160405280156114e5578160200160208202803883390190505b50604080518581526020808702820101909152909250838015611512578160200160208202803883390190505b50905060005b838110156115d6576009600086868481811061153057fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff1683828151811061156257fe5b911515602092830291909101909101526009600086868481811061158257fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b03168282815181106115c357fe5b6020908102919091010152600101611518565b509250929050565b6115e6611c48565b610d9e611ed3565b60086020526000908152604090205460ff81169061010090046001600160f81b031682565b6001546001600160a01b0316331461165c5760405162461bcd60e51b815260040180806020018281038252603581526020018061251d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6116d7611c48565b610d9e6122f5565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612337915050565b611725611c48565b61172d611ed3565b6117356123dd565b6111c28161241f565b6000546001600160a01b031681565b60408051600180825281830190925260609160208083019080388339019050509050818160008151811061177d57fe5b602002602001018181525050610f7a81612476565b600181565b61179f611c48565b6117a7611ed3565b610d9e6123dd565b6c53796e746845786368616e676560981b81565b6040805160018082528183019092526060916020808301908038833901905050905082816000815181106117f357fe5b602002602001018181525050610f418183612337565b60035460009060ff168061182b575060008281526008602052604090205460ff165b92915050565b60608083839050604051908082528060200260200182016040528015611861578160200160208202803883390190505b5060408051858152602080870282010190915290925083801561188e578160200160208202803883390190505b50905060005b838110156115d657600860008686848181106118ac57fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff168382815181106118de57fe5b91151560209283029190910190910152600860008686848181106118fe57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b031682828151811061193f57fe5b6020908102919091010152600101611894565b60035460ff1690565b611963611c48565b6111c281611f15565b610f7a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061247692505050565b6119ba6553797374656d60d01b611d84565b600380546001600160f81b0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b60608083839050604051908082528060200260200182016040528015611a4d578160200160208202803883390190505b50604080518581526020808702820101909152909250838015611a7a578160200160208202803883390190505b50905060005b838110156115d65760076000868684818110611a9857fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110611aca57fe5b9115156020928302919091019091015260076000868684818110611aea57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110611b2b57fe5b6020908102919091010152600101611a80565b60076020526000908152604090205460ff81169061010090046001600160f81b031682565b6745786368616e676560c01b81565b611b866745786368616e676560c01b611d27565b6005805460ff191690819055604080516101009092046001600160f81b03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b640a6f2dce8d60db1b81565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110611c1a57fe5b602002602001018181525050610f7a81611fb1565b60055460ff81169061010090046001600160f81b031682565b60035460ff8116159061010090046001600160f81b0316600114611c84576040518060600160405280602c8152602001612659602c9139611c9e565b6040518060600160405280603e8152602001612685603e91395b906111c25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cec578181015183820152602001611cd4565b50505050905090810190601f168015611d195780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000818152600260209081526040808320338452909152902054610100900460ff166111c25760405162461bcd60e51b81526004018080602001828103825260218152602001806126386021913960400191505060405180910390fd5b600081815260026020908152604080832033845290915290205460ff166111c25760405162461bcd60e51b81526004018080602001828103825260218152602001806126386021913960400191505060405180910390fd5b6000546001600160a01b03163314610d9e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806125de602f913960400191505060405180910390fd5b611e3e6c53796e746845786368616e676560981b611d84565b60005b8251811015610f41576000838281518110611e5857fe5b60209081029190910181015160008181526007835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507fcea0da706e9f2a6a1cb56cdab42ac548791339f1710deadf814f15fc0a6a7114928290030190a150600101611e41565b60055460ff1615610d9e5760405162461bcd60e51b815260040180806020018281038252602b81526020018061260d602b913960400191505060405180910390fd5b60008181526007602052604090205460ff16156111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061257d602e913960400191505060405180910390fd5b60008181526008602052604090205460ff16156111c25760405162461bcd60e51b81526004018080602001828103825260288152602001806126c36028913960400191505060405180910390fd5b611fc4664675747572657360c81b611d27565b60005b8151811015610f7a576000828281518110611fde57fe5b6020908102919091018101516000818152600983526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f250fcb5d34afaf9bc18ec9ca0bf709e0f2ecb8ae4d4a3a616c0bf54b2ddf53e6928290030190a1600090815260096020526040812055600101611fc7565b61206c664675747572657360c81b611d84565b60005b8251811015610f4157600083828151811061208657fe5b60209081029190910181015160008181526009835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507fcaa561b71353382b62092c429c14613b5db8f9c5f3a27cb51df16e51f350f8ca928290030190a15060010161206f565b6553797374656d60d01b84148061212257506749737375616e636560c01b84145b8061213757506745786368616e676560c01b84145b8061214b5750664675747572657360c81b84145b8061216557506c53796e746845786368616e676560981b84145b806121775750640a6f2dce8d60db1b84145b6121c8576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b6122606c53796e746845786368616e676560981b611d27565b60005b8151811015610f7a57600082828151811061227a57fe5b6020908102919091018101516000818152600783526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f91037f810fbf9c3c6d5573650d27de6b5e8d2187698822700d4524102472bc08928290030190a1600090815260076020526040812055600101612263565b60045460ff1615610d9e5760405162461bcd60e51b815260040180806020018281038252602b815260200180612552602b913960400191505060405180910390fd5b612348640a6f2dce8d60db1b611d84565b60005b8251811015610f4157600083828151811061236257fe5b60209081029190910181015160008181526008835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541928290030190a15060010161234b565b60065460ff1615610d9e5760405162461bcd60e51b81526004018080602001828103825260338152602001806125ab6033913960400191505060405180910390fd5b60008181526009602052604090205460ff16156111c2576040805162461bcd60e51b815260206004820152601060248201526f13585c9ad95d081cdd5cdc195b99195960821b604482015290519081900360640190fd5b612487640a6f2dce8d60db1b611d27565b60005b8151811015610f7a5760008282815181106124a157fe5b6020908102919091018101516000818152600883526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220928290030190a160009081526008602052604081205560010161248a56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697049737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e74682065786368616e67652073757370656e6465642e204f7065726174696f6e2070726f6869626974656446757475726573206d61726b657473206172652073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645265737472696374656420746f2061636365737320636f6e74726f6c206c69737453796e7468657469782069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e7468657469782069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e6420627953796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a265627a7a723158202225676251b5f53c6aeb0b703bd197b625c299226f79ad58e087f41a4b1e20ad64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"section","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"canSuspend","type":"bool"},{"indexed":false,"internalType":"bool","name":"canResume","type":"bool"}],"name":"AccessControlUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"ExchangeResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"ExchangeSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"marketKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"FuturesMarketResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"marketKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"FuturesMarketSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"FuturesResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"FuturesSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"IssuanceResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"IssuanceSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthExchangeResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthExchangeSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SystemResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SystemSuspended","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_EXCHANGE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_FUTURES","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_ISSUANCE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_SYNTH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_SYNTH_EXCHANGE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_SYSTEM","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SUSPENSION_REASON_UPGRADE","outputs":[{"internalType":"uint248","name":"","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"accessControl","outputs":[{"internalType":"bool","name":"canSuspend","type":"bool"},{"internalType":"bool","name":"canResume","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"futuresMarketSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"futuresSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"marketKeys","type":"bytes32[]"}],"name":"getFuturesMarketSuspensions","outputs":[{"internalType":"bool[]","name":"suspensions","type":"bool[]"},{"internalType":"uint256[]","name":"reasons","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"synths","type":"bytes32[]"}],"name":"getSynthExchangeSuspensions","outputs":[{"internalType":"bool[]","name":"exchangeSuspensions","type":"bool[]"},{"internalType":"uint256[]","name":"reasons","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"synths","type":"bytes32[]"}],"name":"getSynthSuspensions","outputs":[{"internalType":"bool[]","name":"suspensions","type":"bool[]"},{"internalType":"uint256[]","name":"reasons","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isSystemUpgrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issuanceSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"requireExchangeActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"requireExchangeBetweenSynthsAllowed","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"requireFuturesActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"marketKey","type":"bytes32"}],"name":"requireFuturesMarketActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"requireIssuanceActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"requireSynthActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"requireSynthExchangeActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"requireSynthsActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"requireSystemActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resumeExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"resumeFutures","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"marketKey","type":"bytes32"}],"name":"resumeFuturesMarket","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"marketKeys","type":"bytes32[]"}],"name":"resumeFuturesMarkets","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"resumeIssuance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"resumeSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"resumeSynthExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"resumeSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"resumeSynthsExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"resumeSystem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendFutures","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"marketKey","type":"bytes32"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendFuturesMarket","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"marketKeys","type":"bytes32[]"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendFuturesMarkets","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendIssuance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynthExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynthsExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSystem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthExchangeSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"synthSuspended","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"systemSuspended","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"systemSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"section","type":"bytes32"},{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"canSuspend","type":"bool"},{"internalType":"bool","name":"canResume","type":"bool"}],"name":"updateAccessControl","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"sections","type":"bytes32[]"},{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool[]","name":"canSuspends","type":"bool[]"},{"internalType":"bool[]","name":"canResumes","type":"bool[]"}],"name":"updateAccessControls","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0xd4ba3b8b574c2795ec994981815bdb6518da848579d169e419a906f4909ab8e1","urls":["bzz-raw://f1b100c21e7f590057d69e9a2a590dc9643369d060e4d3477021dd51bbeee5c9","dweb:/ipfs/QmQaij3wLXzj9aewLx9QwaWAUfNDu3UqTw12n9ZDTjbj2p"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SystemStatus.sol":"SystemStatus"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SystemStatus.sol":{"keccak256":"0xd4ba3b8b574c2795ec994981815bdb6518da848579d169e419a906f4909ab8e1","urls":["bzz-raw://f1b100c21e7f590057d69e9a2a590dc9643369d060e4d3477021dd51bbeee5c9","dweb:/ipfs/QmQaij3wLXzj9aewLx9QwaWAUfNDu3UqTw12n9ZDTjbj2p"]}},"version":1}},"EternalStorage":{"bytecode":"608060405234801561001057600080fd5b5060405161124b38038061124b8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506110a5806101a66000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104e9578063bdc963d814610506578063c9a52d2c14610523578063f58660661461059a576101a9565b8063a209a29c146104a1578063a77aa49e146104be578063aefc4ccb146104e1576101a9565b80638267a9ee116100d35780638267a9ee146104425780638da5cb5b1461045f5780639007127b1461046757806393fe424814610484576101a9565b806353a47bb7146104065780635a2bf25a1461040e57806379ba50971461043a576101a9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed2146102f057806344bfa56e146103155780634c77e5ba146103a757806352f445ca146103e0576101a9565b806325cf512d1461028d5780633562fd20146102b05780633cc1635c146102d3576101a9565b8063025ec81a146101ae578063043106c0146101dd5780630c55d925146101fc578063124f2418146102195780631627540c1461023657806317e7dd221461025c575b600080fd5b6101cb600480360360208110156101c457600080fd5b5035610611565b60408051918252519081900360200190f35b6101fa600480360360208110156101f357600080fd5b5035610623565b005b6101fa6004803603602081101561021257600080fd5b503561068a565b6101fa6004803603602081101561022f57600080fd5b50356106ed565b6101fa6004803603602081101561024c57600080fd5b50356001600160a01b0316610747565b6102796004803603602081101561027257600080fd5b50356107e4565b604080519115158252519081900360200190f35b6101fa600480360360408110156102a357600080fd5b50803590602001356107f9565b6101fa600480360360408110156102c657600080fd5b5080359060200135610854565b6101fa600480360360208110156102e957600080fd5b50356108af565b6101fa6004803603604081101561030657600080fd5b50803590602001351515610910565b6103326004803603602081101561032b57600080fd5b5035610979565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036c578181015183820152602001610354565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c4600480360360208110156103bd57600080fd5b5035610a1a565b604080516001600160a01b039092168252519081900360200190f35b6101fa600480360360208110156103f657600080fd5b50356001600160a01b0316610a35565b6103c4610ad2565b6101fa6004803603604081101561042457600080fd5b50803590602001356001600160a01b0316610ae1565b6101fa610b58565b6101fa6004803603602081101561045857600080fd5b5035610c14565b6103c4610c6e565b6101cb6004803603602081101561047d57600080fd5b5035610c7d565b6101fa6004803603602081101561049a57600080fd5b5035610c8f565b610332600480360360208110156104b757600080fd5b5035610ce9565b6101fa600480360360408110156104d457600080fd5b5080359060200135610d53565b6103c4610dae565b6101fa600480360360208110156104ff57600080fd5b5035610dbd565b6101cb6004803603602081101561051c57600080fd5b5035610e1d565b6101fa6004803603604081101561053957600080fd5b8135919081019060408101602082013564010000000081111561055b57600080fd5b82018360208201111561056d57600080fd5b8035906020019184600183028401116401000000008311171561058f57600080fd5b509092509050610e2f565b6101fa600480360360408110156105b057600080fd5b813591908101906040810160208201356401000000008111156105d257600080fd5b8201836020820111156105e457600080fd5b8035906020019184600183028401116401000000008311171561060657600080fd5b509092509050610e97565b60009081526007602052604090205490565b6002546001600160a01b0316331461066c5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146106d35760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60008181526006602052604081206106ea91610ef9565b50565b6002546001600160a01b031633146107365760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260076020526040812055565b6000546001600160a01b031633146107905760405162461bcd60e51b815260040180806020018281038252602f81526020018061100e602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108425760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461089d5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146108f85760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b031633146109595760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610a0e5780601f106109e357610100808354040283529160200191610a0e565b820191906000526020600020905b8154815290600101906020018083116109f157829003601f168201915b50505050509050919050565b6000908152600560205260409020546001600160a01b031690565b6000546001600160a01b03163314610a7e5760405162461bcd60e51b815260040180806020018281038252602f81526020018061100e602f913960400191505060405180910390fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b2a5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610ba15760405162461bcd60e51b8152600401808060200182810382526035815260200180610fd96035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610c5d5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610cd85760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610a0e5780601f106109e357610100808354040283529160200191610a0e565b6002546001600160a01b03163314610d9c5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6002546001600160a01b03163314610e065760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60008181526004602052604081206106ea91610ef9565b60009081526003602052604090205490565b6002546001600160a01b03163314610e785760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000838152600660205260409020610e91908383610f3d565b50505050565b6002546001600160a01b03163314610ee05760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000838152600460205260409020610e91908383610f3d565b50805460018160011615610100020316600290046000825580601f10610f1f57506106ea565b601f0160209004906000526020600020908101906106ea9190610fbb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f7e5782800160ff19823516178555610fab565b82800160010185558215610fab579182015b82811115610fab578235825591602001919060010190610f90565b50610fb7929150610fbb565b5090565b610fd591905b80821115610fb75760008155600101610fc1565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820890b88d06dd57d22f874f21510bda6a30f879ac72ddc010d8797db5e588518a564736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x043106c0"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3cc1635c"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x124f2418"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0c55d925"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8267a9ee"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xba69fcaa"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x93fe4248"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getAddressValue","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4c77e5ba"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBooleanValue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x17e7dd22"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBytes32Value","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x025ec81a"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBytesValue","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x44bfa56e"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getIntValue","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9007127b"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getStringValue","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa209a29c"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getUIntValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbdc963d8"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"address","name":"value","type":"address"}],"name":"setAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5a2bf25a"},{"constant":false,"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3eba9ed2"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"setBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x25cf512d"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bytes","name":"value","type":"bytes"}],"name":"setBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc9a52d2c"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"int256","name":"value","type":"int256"}],"name":"setIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa77aa49e"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"string","name":"value","type":"string"}],"name":"setStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf5866066"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3562fd20"}]},"ReadProxy":{"bytecode":"608060405234801561001057600080fd5b506040516104cc3803806104cc8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506103d2806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461008657806353a47bb7146100ae578063776d1a01146100d257806379ba5097146100f85780638da5cb5b14610100578063d4b8399214610108575b36600080376000803660006002545afa3d6000803e80610081573d6000fd5b3d6000f35b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b0316610110565b005b6100b66101ad565b604080516001600160a01b039092168252519081900360200190f35b6100ac600480360360208110156100e857600080fd5b50356001600160a01b03166101bc565b6100ac61025f565b6100b661031b565b6100b661032a565b6000546001600160a01b031633146101595760405162461bcd60e51b815260040180806020018281038252602f81526020018061036f602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6000546001600160a01b031633146102055760405162461bcd60e51b815260040180806020018281038252602f81526020018061036f602f913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102a85760405162461bcd60e51b815260040180806020018281038252603581526020018061033a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03168156fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820b878c0a58d67eea0d6a9cbef1e4c039388a1193f274de3a7ab86e4db4f087a2464736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTarget","type":"address"}],"name":"TargetUpdated","type":"event","signature":"0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"internalType":"address","name":"_target","type":"address"}],"name":"setTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x776d1a01"},{"constant":true,"inputs":[],"name":"target","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd4b83992"}]},"SynthUtil":{"bytecode":"608060405234801561001057600080fd5b506040516113693803806113698339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055611304806100656000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630120be331461006757806327fe55a6146100a5578063492dbcdd14610146578063a827bf481461022c578063d18ab37614610252578063eade6d2d14610276575b600080fd5b6100936004803603604081101561007d57600080fd5b506001600160a01b0381351690602001356102ce565b60408051918252519081900360200190f35b6100ad61054d565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100f15781810151838201526020016100d9565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610130578181015183820152602001610118565b5050505090500194505050505060405180910390f35b61014e6107b9565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561019657818101518382015260200161017e565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101d55781810151838201526020016101bd565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156102145781810151838201526020016101fc565b50505050905001965050505050505060405180910390f35b61014e6004803603602081101561024257600080fd5b50356001600160a01b0316610b32565b61025a610ec9565b604080516001600160a01b039092168252519081900360200190f35b61027e610ed8565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102ba5781810151838201526020016102a2565b505050509050019250505060405180910390f35b6000806102d9611182565b905060006102e561123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561032257600080fd5b505afa158015610336573d6000803e3d6000fd5b505050506040513d602081101561034c57600080fd5b5051905060005b81811015610543576000846001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103a157600080fd5b505afa1580156103b5573d6000803e3d6000fd5b505050506040513d60208110156103cb57600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038087169263654a60ac929185169163dbd06c85916004808301926020929190829003018186803b15801561041b57600080fd5b505afa15801561042f573d6000803e3d6000fd5b505050506040513d602081101561044557600080fd5b5051604080516370a0823160e01b81526001600160a01b038d811660048301529151918616916370a0823191602480820192602092909190829003018186803b15801561049157600080fd5b505afa1580156104a5573d6000803e3d6000fd5b505050506040513d60208110156104bb57600080fd5b5051604080516001600160e01b031960e086901b16815260048101939093526024830191909152604482018b9052516064808301926020929190829003018186803b15801561050957600080fd5b505afa15801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b5051959095019450600101610353565b5050505092915050565b606080606061055a611182565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561059257600080fd5b505afa1580156105a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156105cf57600080fd5b81019080805160405193929190846401000000008211156105ef57600080fd5b90830190602082018581111561060457600080fd5b825186602082028301116401000000008211171561062157600080fd5b82525081516020918201928201910280838360005b8381101561064e578181015183820152602001610636565b5050505090500160405250505090508061066661123f565b6001600160a01b031663c2c8a676836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156106c45781810151838201526020016106ac565b505050509050019250505060006040518083038186803b1580156106e757600080fd5b505afa1580156106fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561072457600080fd5b810190808051604051939291908464010000000082111561074457600080fd5b90830190602082018581111561075957600080fd5b825186602082028301116401000000008211171561077657600080fd5b82525081516020918201928201910280838360005b838110156107a357818101518382015260200161078b565b5050505090500160405250505092509250509091565b606080606060006107c8611182565b905060006107d461123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561081157600080fd5b505afa158015610825573d6000803e3d6000fd5b505050506040513d602081101561083b57600080fd5b505160408051828152602080840282010190915290915060609082801561086c578160200160208202803883390190505b50905060608260405190808252806020026020018201604052801561089b578160200160208202803883390190505b5090506060836040519080825280602002602001820160405280156108ca578160200160208202803883390190505b50905060005b84811015610b22576000876001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d602081101561094857600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b15801561098e57600080fd5b505afa1580156109a2573d6000803e3d6000fd5b505050506040513d60208110156109b857600080fd5b505185518690849081106109c857fe5b602002602001018181525050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d6020811015610a3757600080fd5b50518451859084908110610a4757fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610a6e57fe5b6020026020010151868581518110610a8257fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015610ad457600080fd5b505afa158015610ae8573d6000803e3d6000fd5b505050506040513d6020811015610afe57600080fd5b50518351849084908110610b0e57fe5b6020908102919091010152506001016108d0565b5091975095509350505050909192565b60608060606000610b41611182565b90506000610b4d61123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8a57600080fd5b505afa158015610b9e573d6000803e3d6000fd5b505050506040513d6020811015610bb457600080fd5b5051604080518281526020808402820101909152909150606090828015610be5578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610c14578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610c43578160200160208202803883390190505b50905060005b84811015610eb8576000876001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c9757600080fd5b505afa158015610cab573d6000803e3d6000fd5b505050506040513d6020811015610cc157600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b158015610d0757600080fd5b505afa158015610d1b573d6000803e3d6000fd5b505050506040513d6020811015610d3157600080fd5b50518551869084908110610d4157fe5b602002602001018181525050806001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610da357600080fd5b505afa158015610db7573d6000803e3d6000fd5b505050506040513d6020811015610dcd57600080fd5b50518451859084908110610ddd57fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610e0457fe5b6020026020010151868581518110610e1857fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015610e6a57600080fd5b505afa158015610e7e573d6000803e3d6000fd5b505050506040513d6020811015610e9457600080fd5b50518351849084908110610ea457fe5b602090810291909101015250600101610c49565b509199909850909650945050505050565b6000546001600160a01b031681565b60606000610ee4611182565b90506000610ef061123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015610f2d57600080fd5b505afa158015610f41573d6000803e3d6000fd5b505050506040513d6020811015610f5757600080fd5b5051604080518281526020808402820101909152909150606090828015610f88578160200160208202803883390190505b50905060005b82811015611179576000856001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610fdc57600080fd5b505afa158015610ff0573d6000803e3d6000fd5b505050506040513d602081101561100657600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038088169263af3aea86929185169163dbd06c85916004808301926020929190829003018186803b15801561105657600080fd5b505afa15801561106a573d6000803e3d6000fd5b505050506040513d602081101561108057600080fd5b5051604080516001600160e01b031960e085901b1681526004810192909252516024808301926020929190829003018186803b1580156110bf57600080fd5b505afa1580156110d3573d6000803e3d6000fd5b505050506040513d60208110156110e957600080fd5b50511561117057806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561112957600080fd5b505afa15801561113d573d6000803e3d6000fd5b505050506040513d602081101561115357600080fd5b5051835184908490811061116357fe5b6020026020010181815250505b50600101610f8e565b50935050505090565b600080546040805163dacb2d0160e01b8152680a6f2dce8d0cae8d2f60bb1b600482015260248101829052601960448201527f4d697373696e672053796e746865746978206164647265737300000000000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561120e57600080fd5b505afa158015611222573d6000803e3d6000fd5b505050506040513d602081101561123857600080fd5b5051905090565b600080546040805163dacb2d0160e01b81526c45786368616e6765526174657360981b600482015260248101829052601d60448201527f4d697373696e672045786368616e676552617465732061646472657373000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561120e57600080fdfea265627a7a723158209e7ba686f73798746736e8ff9d170da8215f2ad60eb6b3c4ba5c14e221d4140064736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"constant":true,"inputs":[],"name":"addressResolverProxy","outputs":[{"internalType":"contract IAddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd18ab376"},{"constant":true,"inputs":[],"name":"frozenSynths","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeade6d2d"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"synthsBalances","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa827bf48"},{"constant":true,"inputs":[],"name":"synthsRates","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x27fe55a6"},{"constant":true,"inputs":[],"name":"synthsTotalSupplies","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x492dbcdd"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"totalSynthsInKey","outputs":[{"internalType":"uint256","name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0120be33"}]},"DappMaintenance":{"bytecode":"60806040526001805461ffff60a01b1916905534801561001e57600080fd5b5060405161078a38038061078a8339818101604052602081101561004157600080fd5b5051806001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383169081178255604080519283526020830191909152805160008051602061076a8339815191529281900390910190a1506001600160a01b038116610141576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383169081178255604080519283526020830191909152805160008051602061076a8339815191529281900390910190a1506105d3806101976000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b1461010b57806393c2212514610113578063b33a5a001461012f578063c65a0ea21461014e578063ee02f27c1461015657610093565b80631627540c146100985780631d008652146100c057806353a47bb7146100df57806379ba509714610103575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610175565b005b6100be600480360360208110156100d657600080fd5b50351515610212565b6100e76102f2565b604080516001600160a01b039092168252519081900360200190f35b6100be610301565b6100e76103bd565b61011b6103cc565b604080519115158252519081900360200190f35b6100be6004803603602081101561014557600080fd5b503515156103dc565b61011b610483565b6100be6004803603602081101561016c57600080fd5b50351515610493565b6000546001600160a01b031633146101be5760405162461bcd60e51b815260040180806020018281038252602f815260200180610570602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000546001600160a01b0316331461025b5760405162461bcd60e51b815260040180806020018281038252602f815260200180610570602f913960400191505060405180910390fd5b6001805460ff60a01b1916600160a01b8315159081029190911760ff60a81b1916600160a81b82021790915560408051918252517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32916020908290030190a160408051821515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b0316331461034a5760405162461bcd60e51b815260040180806020018281038252603581526020018061053b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600154600160a81b900460ff1681565b6000546001600160a01b031633146104255760405162461bcd60e51b815260040180806020018281038252602f815260200180610570602f913960400191505060405180910390fd5b60018054821515600160a01b90810260ff60a01b199092169190911791829055604080519190920460ff161515815290517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea329181900360200190a150565b600154600160a01b900460ff1681565b6000546001600160a01b031633146104dc5760405162461bcd60e51b815260040180806020018281038252602f815260200180610570602f913960400191505060405180910390fd5b60018054821515600160a81b90810260ff60a81b199092169190911791829055604080519190920460ff161515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a15056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820c1158584fb5d71702e6078c73094c7f037a466b9db7562e0acacb0e35c65623064736f6c63430005100032b532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"SXMaintenance","type":"event","signature":"0x5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c6"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"StakingMaintenance","type":"event","signature":"0x628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"isPausedSX","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x93c22125"},{"constant":true,"inputs":[],"name":"isPausedStaking","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc65a0ea2"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setMaintenanceModeAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1d008652"},{"constant":false,"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setMaintenanceModeSX","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xee02f27c"},{"constant":false,"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setMaintenanceModeStaking","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb33a5a00"}]},"FlexibleStorage":{"bytecode":"608060405234801561001057600080fd5b506040516127833803806127838339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561271e806100656000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638ca0adaf116100f9578063c89eb56211610097578063d994502d11610071578063d994502d146109c2578063f7833c5d146109f9578063f9c39d2f14610a1c578063fdfc4c1314610ae1576101c3565b8063c89eb562146108b7578063d658d2e91461097c578063d71a9b0114610999576101c3565b8063ab15985d116100d3578063ab15985d146106e5578063b67fa7ed146107aa578063c13a2b0c1461081f578063c4f610ed14610894576101c3565b80638ca0adaf1461062a5780638f6b95a31461069f5780639ee5955a146106c2576101c3565b806335ab2708116101665780634dca0978116101405780634dca0978146105345780635bda91e2146105665780636a59e495146105915780638408a5e5146105b5576101c3565b806335ab2708146104215780633bd6ad89146104445780633f28a6fc14610509576101c3565b80631625e3ef116101a25780631625e3ef1461037d57806318f662ed146103a05780631d5b277f146103c357806323257c2b146103ec576101c3565b80624b62d6146101c857806303cdc017146101f3578063142a391e146102b8575b600080fd5b6101f1600480360360608110156101de57600080fd5b5080359060208101359060400135610b04565b005b6101f16004803603606081101561020957600080fd5b81359190810190604081016020820135600160201b81111561022a57600080fd5b82018360208201111561023c57600080fd5b803590602001918460208302840111600160201b8311171561025d57600080fd5b919390929091602081019035600160201b81111561027a57600080fd5b82018360208201111561028c57600080fd5b803590602001918460208302840111600160201b831117156102ad57600080fd5b509092509050610bf4565b61032d600480360360408110156102ce57600080fd5b81359190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b509092509050610d60565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610369578181015183820152602001610351565b505050509050019250505060405180910390f35b6101f16004803603604081101561039357600080fd5b5080359060200135610e07565b6101f1600480360360408110156103b657600080fd5b5080359060200135610f7b565b6101f1600480360360608110156103d957600080fd5b50803590602081013590604001356110e4565b61040f6004803603604081101561040257600080fd5b50803590602001356111cd565b60408051918252519081900360200190f35b6101f16004803603604081101561043757600080fd5b50803590602001356111f4565b6101f16004803603606081101561045a57600080fd5b81359190810190604081016020820135600160201b81111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460208302840111600160201b831117156104ae57600080fd5b919390929091602081019035600160201b8111156104cb57600080fd5b8201836020820111156104dd57600080fd5b803590602001918460208302840111600160201b831117156104fe57600080fd5b50909250905061135d565b6101f16004803603606081101561051f57600080fd5b508035906020810135906040013515156114c8565b6101f16004803603606081101561054a57600080fd5b50803590602081013590604001356001600160a01b03166115b1565b6101f16004803603606081101561057c57600080fd5b5080359060208101359060400135151561169a565b61059961184c565b604080516001600160a01b039092168252519081900360200190f35b61032d600480360360408110156105cb57600080fd5b81359190810190604081016020820135600160201b8111156105ec57600080fd5b8201836020820111156105fe57600080fd5b803590602001918460208302840111600160201b8311171561061f57600080fd5b50909250905061185b565b61032d6004803603604081101561064057600080fd5b81359190810190604081016020820135600160201b81111561066157600080fd5b82018360208201111561067357600080fd5b803590602001918460208302840111600160201b8311171561069457600080fd5b5090925090506118f7565b6101f1600480360360408110156106b557600080fd5b50803590602001356119b3565b610599600480360360408110156106d857600080fd5b5080359060200135611b32565b6101f1600480360360608110156106fb57600080fd5b81359190810190604081016020820135600160201b81111561071c57600080fd5b82018360208201111561072e57600080fd5b803590602001918460208302840111600160201b8311171561074f57600080fd5b919390929091602081019035600160201b81111561076c57600080fd5b82018360208201111561077e57600080fd5b803590602001918460208302840111600160201b8311171561079f57600080fd5b509092509050611b62565b61032d600480360360408110156107c057600080fd5b81359190810190604081016020820135600160201b8111156107e157600080fd5b8201836020820111156107f357600080fd5b803590602001918460208302840111600160201b8311171561081457600080fd5b509092509050611cc4565b61032d6004803603604081101561083557600080fd5b81359190810190604081016020820135600160201b81111561085657600080fd5b82018360208201111561086857600080fd5b803590602001918460208302840111600160201b8311171561088957600080fd5b509092509050611d60565b61040f600480360360408110156108aa57600080fd5b5080359060200135611e0e565b6101f1600480360360608110156108cd57600080fd5b81359190810190604081016020820135600160201b8111156108ee57600080fd5b82018360208201111561090057600080fd5b803590602001918460208302840111600160201b8311171561092157600080fd5b919390929091602081019035600160201b81111561093e57600080fd5b82018360208201111561095057600080fd5b803590602001918460208302840111600160201b8311171561097157600080fd5b509092509050611e35565b61040f6004803603602081101561099257600080fd5b5035611f97565b6101f1600480360360608110156109af57600080fd5b5080359060208101359060400135611fa9565b6109e5600480360360408110156109d857600080fd5b5080359060200135612092565b604080519115158252519081900360200190f35b61040f60048036036040811015610a0f57600080fd5b50803590602001356120bc565b6101f160048036036060811015610a3257600080fd5b81359190810190604081016020820135600160201b811115610a5357600080fd5b820183602082011115610a6557600080fd5b803590602001918460208302840111600160201b83111715610a8657600080fd5b919390929091602081019035600160201b811115610aa357600080fd5b820183602082011115610ab557600080fd5b803590602001918460208302840111600160201b83111715610ad657600080fd5b5090925090506120e3565b6101f160048036036040811015610af757600080fd5b5080359060200135612247565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610b6d57600080fd5b505afa158015610b81573d6000803e3d6000fd5b505050506040513d6020811015610b9757600080fd5b505190506001600160a01b0381163314610be25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed8585856123b0565b5050505050565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610c5d57600080fd5b505afa158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505190506001600160a01b0381163314610cd25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314610d14576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657610d4e88888884818110610d2f57fe5b90506020020135878785818110610d4257fe5b90506020020135612421565b600101610d17565b5050505050505050565b60608083839050604051908082528060200260200182016040528015610d90578160200160208202803883390190505b506000868152600160209081526040808320548352600390915281209192505b84811015610dfc57816000878784818110610dc757fe5b90506020020135815260200190815260200160002054838281518110610de957fe5b6020908102919091010152600101610db0565b509095945050505050565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b505190506001600160a01b0381163314610ee55760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526005825280832086845282529182902054825187815291820186905260ff168015158284015291517f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c9181900360600190a15050506000918252600160209081526040808420548452600582528084209284529190529020805460ff19169055565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b505190506001600160a01b03811633146110595760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526002825280832086845282529182902054825187815291820186905281830181905291517f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d46629181900360600190a1505050600091825260016020908152604080842054845260028252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561114d57600080fd5b505afa158015611161573d6000803e3d6000fd5b505050506040513d602081101561117757600080fd5b505190506001600160a01b03811633146111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612421565b60009182526001602090815260408084205484526002825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d602081101561128757600080fd5b505190506001600160a01b03811633146112d25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526006825280832086845282529182902054825187815291820186905281830181905291517f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd939181900360600190a1505050600091825260016020908152604080842054845260068252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156113c657600080fd5b505afa1580156113da573d6000803e3d6000fd5b505050506040513d60208110156113f057600080fd5b505190506001600160a01b038116331461143b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b84831461147d576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d56576114c08888888481811061149857fe5b905060200201358787858181106114ab57fe5b905060200201356001600160a01b0316612492565b600101611480565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561153157600080fd5b505afa158015611545573d6000803e3d6000fd5b505050506040513d602081101561155b57600080fd5b505190506001600160a01b03811633146115a65760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561251b565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561161a57600080fd5b505afa15801561162e573d6000803e3d6000fd5b505050506040513d602081101561164457600080fd5b505190506001600160a01b038116331461168f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612492565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561170357600080fd5b505afa158015611717573d6000803e3d6000fd5b505050506040513d602081101561172d57600080fd5b505190506001600160a01b03811633146117785760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000858152600160205260409020546117d8576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206d69677261746520656d70747920636f6e7472616374000000604482015290519081900360640190fd5b600085815260016020526040808220548683529120558215611804576000858152600160205260408120555b60408051868152602081018690528415158183015290517fa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c9181900360600190a15050505050565b6000546001600160a01b031681565b6060808383905060405190808252806020026020018201604052801561188b578160200160208202803883390190505b506000868152600160209081526040808320548352600690915281209192505b84811015610dfc578160008787848181106118c257fe5b905060200201358152602001908152602001600020548382815181106118e457fe5b60209081029190910101526001016118ab565b60608083839050604051908082528060200260200182016040528015611927578160200160208202803883390190505b506000868152600160209081526040808320548352600490915281209192505b84811015610dfc5781600087878481811061195e57fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b031683828151811061199357fe5b6001600160a01b0390921660209283029190910190910152600101611947565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b505190506001600160a01b0381163314611a915760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000848152600160209081526040808320548352600482528083208684528252918290205482518781529182018690526001600160a01b031681830181905291517fec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf669181900360600190a1505050600091825260016020908152604080842054845260048252808420928452919052902080546001600160a01b0319169055565b6000918252600160209081526040808420548452600482528084209284529190529020546001600160a01b031690565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611bcb57600080fd5b505afa158015611bdf573d6000803e3d6000fd5b505050506040513d6020811015611bf557600080fd5b505190506001600160a01b0381163314611c405760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611c82576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611cbc88888884818110611c9d57fe5b90506020020135878785818110611cb057fe5b9050602002013561259a565b600101611c85565b60608083839050604051908082528060200260200182016040528015611cf4578160200160208202803883390190505b506000868152600160209081526040808320548352600290915281209192505b84811015610dfc57816000878784818110611d2b57fe5b90506020020135815260200190815260200160002054838281518110611d4d57fe5b6020908102919091010152600101611d14565b60608083839050604051908082528060200260200182016040528015611d90578160200160208202803883390190505b506000868152600160209081526040808320548352600590915281209192505b84811015610dfc57816000878784818110611dc757fe5b90506020020135815260200190815260200160002060009054906101000a900460ff16838281518110611df657fe5b91151560209283029190910190910152600101611db0565b60009182526001602090815260408084205484526003825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611e9e57600080fd5b505afa158015611eb2573d6000803e3d6000fd5b505050506040513d6020811015611ec857600080fd5b505190506001600160a01b0381163314611f135760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611f55576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611f8f88888884818110611f7057fe5b90506020020135878785818110611f8357fe5b905060200201356123b0565b600101611f58565b60016020526000908152604090205481565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b505190506001600160a01b03811633146120875760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561259a565b60009182526001602090815260408084205484526005825280842092845291905290205460ff1690565b60009182526001602090815260408084205484526006825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561214c57600080fd5b505afa158015612160573d6000803e3d6000fd5b505050506040513d602081101561217657600080fd5b505190506001600160a01b03811633146121c15760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314612203576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d565761223f8888888481811061221e57fe5b9050602002013587878581811061223157fe5b90506020020135151561251b565b600101612206565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156122b057600080fd5b505afa1580156122c4573d6000803e3d6000fd5b505050506040513d60208110156122da57600080fd5b505190506001600160a01b03811633146123255760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526003825280832086845282529182902054825187815291820186905281830181905291517f78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae9181900360600190a1505050600091825260016020908152604080842054845260038252808420928452919052812055565b80600660006123be8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a952809181900360600190a1505050565b806002600061242f8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c99181900360600190a1505050565b80600460006124a08661260b565b815260208082019290925260409081016000908120868252835281902080546001600160a01b0319166001600160a01b0394851617905580518681529182018590529183168183015290517f524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365916060908290030190a1505050565b80600560006125298661260b565b8152602080820192909252604090810160009081208682528352819020805460ff19169315159390931790925581518581529081018490528215158183015290517f9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b916060908290030190a1505050565b80600360006125a88661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c9181900360600190a1505050565b6000818152600160205260408120548061266d5750604080513360601b60208083019190915260348201859052436054808401919091528351808403909101815260749092018352815191810191909120600085815260019092529190208190555b9291505056fe43616e6e6f742066696e6420636f6e747261637420696e2041646472657373205265736f6c76657243616e206f6e6c7920626520696e766f6b65642062792074686520636f6e6669677572656420636f6e7472616374496e707574206c656e67746873206d757374206d617463680000000000000000a265627a7a72315820bdee8814580757614c4504a1be30463b164f9dfaa045b4dc6a6b21d80306408d64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"fromContractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"toContractName","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"removeAccessFromPreviousContract","type":"bool"}],"name":"KeyMigrated","type":"event","signature":"0xa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"address","name":"value","type":"address"}],"name":"ValueDeletedAddress","type":"event","signature":"0xec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf66"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"ValueDeletedBool","type":"event","signature":"0x321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"ValueDeletedBytes32","type":"event","signature":"0x1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd93"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"int256","name":"value","type":"int256"}],"name":"ValueDeletedInt","type":"event","signature":"0x78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ValueDeletedUInt","type":"event","signature":"0x8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d4662"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"address","name":"value","type":"address"}],"name":"ValueSetAddress","type":"event","signature":"0x524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"ValueSetBool","type":"event","signature":"0x9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"ValueSetBytes32","type":"event","signature":"0x961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a95280"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"int256","name":"value","type":"int256"}],"name":"ValueSetInt","type":"event","signature":"0x0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ValueSetUInt","type":"event","signature":"0x60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c9"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8f6b95a3"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBoolValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1625e3ef"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x35ab2708"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xfdfc4c13"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x18f662ed"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getAddressValue","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9ee5955a"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getAddressValues","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8ca0adaf"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBoolValue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd994502d"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getBoolValues","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc13a2b0c"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBytes32Value","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf7833c5d"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getBytes32Values","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8408a5e5"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getIntValue","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc4f610ed"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getIntValues","outputs":[{"internalType":"int256[]","name":"","type":"int256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x142a391e"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getUIntValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x23257c2b"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getUIntValues","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb67fa7ed"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"hashes","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd658d2e9"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"fromContractName","type":"bytes32"},{"internalType":"bytes32","name":"toContractName","type":"bytes32"},{"internalType":"bool","name":"removeAccessFromPreviousContract","type":"bool"}],"name":"migrateContractKey","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5bda91e2"},{"constant":true,"inputs":[],"name":"resolverProxy","outputs":[{"internalType":"contract IAddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6a59e495"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"address","name":"value","type":"address"}],"name":"setAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4dca0978"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"address[]","name":"values","type":"address[]"}],"name":"setAddressValues","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3bd6ad89"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBoolValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3f28a6fc"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"bool[]","name":"values","type":"bool[]"}],"name":"setBoolValues","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf9c39d2f"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"setBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x004b62d6"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"name":"setBytes32Values","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc89eb562"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"int256","name":"value","type":"int256"}],"name":"setIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd71a9b01"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"int256[]","name":"values","type":"int256[]"}],"name":"setIntValues","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xab15985d"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1d5b277f"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"setUIntValues","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x03cdc017"}],"source":{"keccak256":"0x952f7c2f536ec424f53fc741cb4384b5d9ea94934de777ead382bf84e3c1e757","urls":["bzz-raw://c6ece5e5b14079110f32d446649475b7df647ba879552b11ba0af419830e3874","dweb:/ipfs/QmdY783nbqCJLiadqPa5TUmsqhNCbw7GyPaMKnZ15eRi7p"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"FlexibleStorage.sol":"FlexibleStorage"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"FlexibleStorage.sol":{"keccak256":"0x952f7c2f536ec424f53fc741cb4384b5d9ea94934de777ead382bf84e3c1e757","urls":["bzz-raw://c6ece5e5b14079110f32d446649475b7df647ba879552b11ba0af419830e3874","dweb:/ipfs/QmdY783nbqCJLiadqPa5TUmsqhNCbw7GyPaMKnZ15eRi7p"]}},"version":1}},"SystemSettings":{"bytecode":"60806040523480156200001157600080fd5b506040516200570838038062005708833981810160405260408110156200003757600080fd5b5080516020909101518080836001600160a01b0381166200009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15080600260006101000a8154816001600160a01b0302191690836001600160a01b03160217905550505073__$6a024fd1d0d065824004f6878746fc5d0d$__6375d0c0dc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200016657600080fd5b505af41580156200017b573d6000803e3d6000fd5b505050506040513d60208110156200019257600080fd5b50516d53797374656d53657474696e677360901b14620001f9576040805162461bcd60e51b815260206004820152601d60248201527f7265616420616e64207772697465206b657973206e6f7420657175616c000000604482015290519081900360640190fd5b50506154fd806200020b6000396000f3fe608060405234801561001057600080fd5b50600436106104e35760003560e01c80636a2b91511161028e578063a777155611610167578063d954bc02116100d9578063e84e2c3c11610092578063e84e2c3c14610d94578063e942204614610d9c578063ee93119814610db9578063f081da8514610dd6578063f216310714610df9578063f867e76714610e16576104e3565b8063d954bc0214610cf8578063dad0ab0f14610d24578063dc8f4a1b14610d2c578063e0e6393d14610d52578063e3bb67d414610d5a578063e7894da114610d77576104e3565b8063c193f0d81161012b578063c193f0d814610c56578063c52f35fe14610c5e578063c7b481bd14610c8a578063c855a8e114610cb6578063cc754a4c14610cbe578063d8ee820814610cdb576104e3565b8063a777155614610bf5578063af5355d814610c12578063b16e450f14610c1a578063b410a03414610c46578063bcf7eeac14610c4e576104e3565b80638925711711610200578063946ce8cd116101c4578063946ce8cd14610b62578063967706e914610b7f57806397a4aca014610b9c5780639d4e186d14610bb9578063a0cf745114610be5578063a4bca13114610bed576104e3565b80638925711714610acd5780638979ee0f14610ad5578063899ffef414610afa5780638da5cb5b14610b52578063922fef0814610b5a576104e3565b806379cb657a1161025257806379cb657a14610a315780637bf8230514610a4e5780637d708a4614610a745780637f3b293c14610a915780638074b37214610a995780638326470c14610aa1576104e3565b80636a2b9151146109d65780637066871f146109de5780637418536014610a0457806375aca32114610a0c57806379ba509714610a29576104e3565b806328a1170d116103c05780634c36b837116103325780635d14928f116102f65780635d14928f146109345780635d467d6a146109515780635e0117d614610977578063614d08f8146109945780636190dd7a1461099c578063635a3872146109b9576104e3565b80634c36b837146108e2578063510242bc146108ea578063523fd889146108f257806353a47bb71461090f578063556eaeb114610917576104e3565b8063345a394311610384578063345a39431461084157806334eac4971461085e578063372a395a14610881578063393d334f146108895780634328a925146108a65780634641ab66146108c3576104e3565b806328a1170d1461071857806329a022ba146107da5780632af64bd3146108005780632cce0e541461081c57806331e4e03014610839576104e3565b80631710940c1161045957806322425fa41161041d57806322425fa4146106a957806323b55008146106b157806323f5589a146106ce578063242df9e1146106d657806325539dd2146106de5780632806a743146106fb576104e3565b80631710940c146106395780631775765f146106415780631e6e219014610649578063214bf9e51461066657806321d9eba61461068c576104e3565b806309e514a4116104ab57806309e514a4146105975780630ee4951b146105bd5780630f27b788146105c557806310557020146105cd57806313d825b2146105f05780631627540c14610613576104e3565b8063038e47fe146104e85780630411d53c1461051a57806304c49f2c1461053957806304f3bcec14610556578063054be0b71461057a575b600080fd5b610508600480360360208110156104fe57600080fd5b503560ff16610e1e565b60408051918252519081900360200190f35b6105376004803603602081101561053057600080fd5b5035610e31565b005b6105376004803603602081101561054f57600080fd5b5035610f00565b61055e610fdb565b604080516001600160a01b039092168252519081900360200190f35b6105376004803603602081101561059057600080fd5b5035610fea565b610508600480360360208110156105ad57600080fd5b50356001600160a01b03166110c1565b6105086110cc565b6105086110dc565b610537600480360360408110156105e357600080fd5b50803590602001356110e6565b6105376004803603604081101561060657600080fd5b50803590602001356111dc565b6105376004803603602081101561062957600080fd5b50356001600160a01b03166112ca565b610508611326565b610508611330565b6105376004803603602081101561065f57600080fd5b503561133a565b6105086004803603602081101561067c57600080fd5b50356001600160a01b0316611421565b610537600480360360208110156106a257600080fd5b503561142c565b610508611558565b610537600480360360208110156106c757600080fd5b5035611562565b610508611642565b61050861164c565b610508600480360360208110156106f457600080fd5b5035611656565b6105376004803603602081101561071157600080fd5b5035611661565b6105376004803603604081101561072e57600080fd5b81019060208101813564010000000081111561074957600080fd5b82018360208201111561075b57600080fd5b8035906020019184602083028401116401000000008311171561077d57600080fd5b91939092909160208101903564010000000081111561079b57600080fd5b8201836020820111156107ad57600080fd5b803590602001918460208302840111640100000000831117156107cf57600080fd5b50909250905061173d565b610508600480360360208110156107f057600080fd5b50356001600160a01b03166118cb565b6108086118d6565b604080519115158252519081900360200190f35b6105376004803603602081101561083257600080fd5b50356119e0565b610508611ad2565b6108086004803603602081101561085757600080fd5b5035611adc565b6105376004803603604081101561087457600080fd5b5080359060200135611ae7565b610508611bdd565b6105376004803603602081101561089f57600080fd5b5035611be7565b610537600480360360208110156108bc57600080fd5b5035611cc6565b610537600480360360208110156108d957600080fd5b50351515611dfa565b61055e611edc565b610508611ee6565b6105376004803603602081101561090857600080fd5b5035611ef6565b61055e611fca565b6105376004803603602081101561092d57600080fd5b5035611fd9565b6105376004803603602081101561094a57600080fd5b50356120b8565b6105086004803603602081101561096757600080fd5b50356001600160a01b0316612199565b6105376004803603602081101561098d57600080fd5b50356121a4565b61050861227e565b610537600480360360208110156109b257600080fd5b50356122f5565b610537600480360360208110156109cf57600080fd5b50356123d4565b6105086124af565b610508600480360360208110156109f457600080fd5b50356001600160a01b03166124b9565b6105376124c4565b61053760048036036020811015610a2257600080fd5b503561268c565b61053761276d565b61053760048036036020811015610a4757600080fd5b5035612829565b61053760048036036020811015610a6457600080fd5b50356001600160a01b0316612902565b61053760048036036020811015610a8a57600080fd5b50356129eb565b610508612ac5565b610508612ad8565b61053760048036036040811015610ab757600080fd5b506001600160a01b038135169060200135612ae2565b610508612bc3565b61053760048036036040811015610aeb57600080fd5b50803590602001351515612bcd565b610b02612cc5565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610b3e578181015183820152602001610b26565b505050509050019250505060405180910390f35b61055e612d16565b610508612d25565b61053760048036036020811015610b7857600080fd5b5035612d2f565b61050860048036036020811015610b9557600080fd5b5035612e3a565b61050860048036036020811015610bb257600080fd5b5035612e45565b61053760048036036040811015610bcf57600080fd5b506001600160a01b038135169060200135612e50565b610508612f7a565b610508612f84565b61050860048036036020811015610c0b57600080fd5b5035612f8e565b610508612f99565b61053760048036036040811015610c3057600080fd5b506001600160a01b038135169060200135612fa3565b610508613095565b61050861309f565b6108086130a9565b61053760048036036040811015610c7457600080fd5b50803590602001356001600160a01b03166130b3565b61053760048036036040811015610ca057600080fd5b506001600160a01b0381351690602001356131b1565b610508613293565b61053760048036036020811015610cd457600080fd5b503561329d565b61053760048036036020811015610cf157600080fd5b5035613379565b61053760048036036040811015610d0e57600080fd5b506001600160a01b038135169060200135613456565b610508613580565b61053760048036036040811015610d4257600080fd5b5060ff8135169060200135613593565b61050861368f565b61053760048036036020811015610d7057600080fd5b5035613699565b61053760048036036020811015610d8d57600080fd5b5035613777565b610508613858565b61053760048036036020811015610db257600080fd5b5035613862565b61050860048036036020811015610dcf57600080fd5b503561393c565b61053760048036036040811015610dec57600080fd5b5080359060200135613947565b61055e60048036036020811015610e0f57600080fd5b5035613a38565b610508613a43565b6000610e2982613a56565b90505b919050565b610e39613af3565b610e41613b3e565b6001600160a01b0316631d5b277f6000805160206154a983398151915269199b1859d4995dd85c9960b21b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610eb157600080fd5b505af1158015610ec5573d6000803e3d6000fd5b50506040805184815290517fa31178ade19fb6a78fe78b68ebf820b88707e3bdbedbf77db4e80977800f39449350908190036020019150a150565b610f08613af3565b610f10613b3e565b604080516363daca0960e01b81526001600160a01b03929092166004830152703332b2a832b934b7b2223ab930ba34b7b760791b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916363daca09916064808301926000929190829003018186803b158015610f8c57600080fd5b505af4158015610fa0573d6000803e3d6000fd5b50506040805184815290517f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd9350908190036020019150a150565b6002546001600160a01b031681565b610ff2613af3565b610ffa613b3e565b60408051636d4851f160e01b81526001600160a01b039290921660048301526c69737375616e6365526174696f60981b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636d4851f1916064808301926000929190829003018186803b15801561107257600080fd5b505af4158015611086573d6000803e3d6000fd5b50506040805184815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529350908190036020019150a150565b6000610e2982613b5b565b60006110d6613c14565b90505b90565b60006110d6613c9d565b6110ee613af3565b6110f6613b3e565b60408051635d3045ab60e01b81526001600160a01b039290921660048301527f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91635d3045ab916084808301926000929190829003018186803b15801561118557600080fd5b505af4158015611199573d6000803e3d6000fd5b5050604080518581526020810185905281517f98698e41d9ebb66410ec490ae1224f1b8d1766696d7217fa96e067de3ef5332a9450908190039091019150a15050565b6111e4613af3565b6111ec613b3e565b60408051638134ddb760e01b81526001600160a01b039290921660048301527461746f6d696345786368616e67654665655261746560581b602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91638134ddb7916084808301926000929190829003018186803b15801561127357600080fd5b505af4158015611287573d6000803e3d6000fd5b5050604080518581526020810185905281517f84023d924a8ccb4a028f052967ed7e1e642279c24150e018962f0779021fce4c9450908190039091019150a15050565b6112d2613af3565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006110d6613d1a565b60006110d6613d96565b611342613af3565b61134a613b3e565b60408051630e7bf1c560e01b81526001600160a01b039290921660048301527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91630e7bf1c5916064808301926000929190829003018186803b1580156113d257600080fd5b505af41580156113e6573d6000803e3d6000fd5b50506040805184815290517f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e59350908190036020019150a150565b6000610e2982613e0c565b611434613af3565b8061147e576040805162461bcd60e51b815260206004820152601560248201527405468726573686f6c642063616e6e6f74206265203605c1b604482015290519081900360640190fd5b611486613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527f65786368616e676544796e616d69634665655468726573686f6c640000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561150957600080fd5b505af115801561151d573d6000803e3d6000fd5b50506040805184815290517f0a1c77eb56927959639f898ae5258d25789fe6c36d7958d2c3daf3f1471d42d99350908190036020019150a150565b60006110d6613ec5565b61156a613af3565b611572613b3e565b604080516367f9fdd960e11b81526001600160a01b039290921660048301527573656c664c69717569646174696f6e50656e616c747960501b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163cff3fbb2916064808301926000929190829003018186803b1580156115f357600080fd5b505af4158015611607573d6000803e3d6000fd5b50506040805184815290517fcc1eff40ab461aae35275af10e50d93e6e37087e019f27e936816b62540168fe9350908190036020019150a150565b60006110d6613f3c565b60006110d6613fb4565b6000610e298261402a565b611669613af3565b611671613b3e565b60408051631faca50560e21b81526001600160a01b03929092166004830152716c69717569646174696f6e50656e616c747960701b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637eb29414916064808301926000929190829003018186803b1580156116ee57600080fd5b505af4158015611702573d6000803e3d6000fd5b50506040805184815290517fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e99350908190036020019150a150565b611745613af3565b61174d613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__631a5bb1f790916e65786368616e67654665655261746560881b878787876040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b0316815260200186815260200180602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600081840152601f19601f8201169050808301925050509850505050505050505060006040518083038186803b15801561183957600080fd5b505af415801561184d573d6000803e3d6000fd5b506000925050505b838110156118c4577fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e85858381811061188a57fe5b9050602002013584848481811061189d57fe5b604080519485526020918202939093013590840152508051918290030190a1600101611855565b5050505050565b6000610e29826140d3565b600060606118e2612cc5565b905060005b81518110156119d75760008282815181106118fe57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561196657600080fd5b505afa15801561197a573d6000803e3d6000fd5b505050506040513d602081101561199057600080fd5b50516001600160a01b03161415806119bd57506000818152600360205260409020546001600160a01b0316155b156119ce57600093505050506110d9565b506001016118e7565b50600191505090565b6119e8613af3565b60006119f2613b3e565b6040805162856d3960e51b81526001600160a01b039290921660048301526e1d185c99d95d151a1c995cda1bdb19608a1b6024830152604482018490525173__$6a024fd1d0d065824004f6878746fc5d0d$__916310ada720916064808301926020929190829003018186803b158015611a6b57600080fd5b505af4158015611a7f573d6000803e3d6000fd5b505050506040513d6020811015611a9557600080fd5b50516040805182815290519192507fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab12919081900360200190a15050565b60006110d661418e565b6000610e2982614203565b611aef613af3565b611af7613b3e565b60408051636c5a980960e01b81526001600160a01b039290921660048301527f63726f7373436861696e53796e74685472616e73666572456e61626c65640000602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636c5a9809916084808301926000929190829003018186803b158015611b8657600080fd5b505af4158015611b9a573d6000803e3d6000fd5b5050604080518581526020810185905281517f2f10f42e3d725e85dada13510e81fc571c49386ab4cd9152b12e2db2b0c04b729450908190039091019150a15050565b60006110d66142b4565b611bef613af3565b611bf7613b3e565b604080516339aafdf360e21b81526001600160a01b039290921660048301527465786368616e67654d617844796e616d696346656560581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163e6abf7cc916064808301926000929190829003018186803b158015611c7757600080fd5b505af4158015611c8b573d6000803e3d6000fd5b50506040805184815290517fd7764866d2b524c8fa50c82668b78d32bf7b46a87e37b891de9dd40853de464f9350908190036020019150a150565b611cce613af3565b80611d20576040805162461bcd60e51b815260206004820152601860248201527f5765696768742064656361792063616e6e6f7420626520300000000000000000604482015290519081900360640190fd5b611d28613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527f65786368616e676544796e616d69634665655765696768744465636179000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611dab57600080fd5b505af1158015611dbf573d6000803e3d6000fd5b50506040805184815290517fd80e77b0d087a975f2a783eb806eb9a1e93dab1bf148651d3e70c6e85d740eba9350908190036020019150a150565b611e02613af3565b611e0a613b3e565b60408051633e0ecceb60e11b81526001600160a01b03929092166004830152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b602483015282151560448301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637c1d99d6916064808301926000929190829003018186803b158015611e8b57600080fd5b505af4158015611e9f573d6000803e3d6000fd5b505060408051841515815290517fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd9350908190036020019150a150565b60006110d6614337565b6000611ef06143b3565b51905090565b611efe613af3565b611f06613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191526e1b1a5c5d5a59185d1954995dd85c99608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611f7b57600080fd5b505af1158015611f8f573d6000803e3d6000fd5b50506040805184815290517f6586b69a20f0202ee8802e307c1ca76ce96354ff6b1123d5d7fd3e9b0057e0359350908190036020019150a150565b6001546001600160a01b031681565b611fe1613af3565b611fe9613b3e565b60408051636a5b304360e01b81526001600160a01b0392909216600483015274736e784c69717569646174696f6e50656e616c747960581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636a5b3043916064808301926000929190829003018186803b15801561206957600080fd5b505af415801561207d573d6000803e3d6000fd5b50506040805184815290517fe7a7d374b4557aa224d3675ac9b1abd0ac00b616e7b669db75d30d8582935bb39350908190036020019150a150565b6120c0613af3565b6120c8613b3e565b6040805163064c16cf60e21b81526001600160a01b039290921660048301527661746f6d69634d6178566f6c756d65506572426c6f636b60481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916319305b3c916064808301926000929190829003018186803b15801561214a57600080fd5b505af415801561215e573d6000803e3d6000fd5b50506040805184815290517ff96e059cb3386bb65fd1d80017c7ce524f813b012d7dc97a1252f9cd4f4c99f39350908190036020019150a150565b6000610e298261469d565b6121ac613af3565b6121b4613b3e565b60408051632cfaf72960e21b81526001600160a01b039290921660048301526f6c69717569646174696f6e44656c617960801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163b3ebdca4916064808301926000929190829003018186803b15801561222f57600080fd5b505af4158015612243573d6000803e3d6000fd5b50506040805184815290517f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53989350908190036020019150a150565b600073__$6a024fd1d0d065824004f6878746fc5d0d$__6375d0c0dc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156122c457600080fd5b505af41580156122d8573d6000803e3d6000fd5b505050506040513d60208110156122ee57600080fd5b5051905090565b6122fd613af3565b612305613b3e565b6040805163d4aebcef60e01b81526001600160a01b039290921660048301527464656274536e617073686f745374616c6554696d6560581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163d4aebcef916064808301926000929190829003018186803b15801561238557600080fd5b505af4158015612399573d6000803e3d6000fd5b50506040805184815290517f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d79350908190036020019150a150565b6123dc613af3565b6123e4613b3e565b604080516341a7936f60e11b81526001600160a01b039290921660048301527077616974696e67506572696f645365637360781b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163834f26de916064808301926000929190829003018186803b15801561246057600080fd5b505af4158015612474573d6000803e3d6000fd5b50506040805184815290517fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f89350908190036020019150a150565b60006110d6614755565b6000610e29826147cb565b60606124ce612cc5565b905060005b81518110156126885760008282815181106124ea57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156125a0578181015183820152602001612588565b50505050905090810190601f1680156125cd5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156125eb57600080fd5b505afa1580156125ff573d6000803e3d6000fd5b505050506040513d602081101561261557600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016124d3565b5050565b612694613af3565b61269c613b3e565b6040805163fe250a5560e01b81526001600160a01b03929092166004830152766574686572577261707065724d696e744665655261746560481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fe250a55916064808301926000929190829003018186803b15801561271e57600080fd5b505af4158015612732573d6000803e3d6000fd5b50506040805184815290517f19ef86e0422ac5c02afdc7b9f91f468ccc5e9b785bf7c158e01357e8503a819b9350908190036020019150a150565b6001546001600160a01b031633146127b65760405162461bcd60e51b81526004018080602001828103825260358152602001806154456035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b612831613af3565b612839613b3e565b6040805163fd194a3560e01b81526001600160a01b039290921660048301526e1c985d1954dd185b1954195c9a5bd9608a1b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fd194a35916064808301926000929190829003018186803b1580156128b357600080fd5b505af41580156128c7573d6000803e3d6000fd5b50506040805184815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669350908190036020019150a150565b61290a613af3565b612912613b3e565b604080516330d6e65760e21b81526001600160a01b0392831660048201527561676772656761746f725761726e696e67466c61677360501b602482015291831660448301525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163c35b995c916064808301926000929190829003018186803b15801561299357600080fd5b505af41580156129a7573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde9659350908190036020019150a150565b6129f3613af3565b6129fb613b3e565b6040805163067bb56d60e31b81526001600160a01b039290921660048301526f61746f6d69635477617057696e646f7760801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916333ddab68916064808301926000929190829003018186803b158015612a7657600080fd5b505af4158015612a8a573d6000803e3d6000fd5b50506040805184815290517f61ee2076e20b46130ce31de66f08321493e96f79de0837fb0296b7feca92285b9350908190036020019150a150565b6000612acf6143b3565b60400151905090565b60006110d6614886565b612aea613af3565b612af2613b3e565b60408051631b5238f760e31b81526001600160a01b0392831660048201526e636f6c6c617073654665655261746560881b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163da91c7b8916084808301926000929190829003018186803b158015612b7357600080fd5b505af4158015612b87573d6000803e3d6000fd5b50506040805184815290517f7e9498fa8cb2442ec5a6f05b47f4adaafaf286d03a3fa580cc0f3592b60b32359350908190036020019150a15050565b60006110d66148f6565b612bd5613af3565b612bdd613b3e565b60408051637c14e56b60e01b81526001600160a01b039290921660048301527f70757265436861696e6c696e6b466f7241746f6d696373456e61626c6564000060248301526044820184905282151560648301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637c14e56b916084808301926000929190829003018186803b158015612c6d57600080fd5b505af4158015612c81573d6000803e3d6000fd5b505060408051858152841515602082015281517fc39c526ec779c4ad9e0426c2a964a82134f99c4490e764153e19574c58b2ab539450908190039091019150a15050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612d0757fe5b60200260200101818152505090565b6000546001600160a01b031681565b60006110d661496d565b612d37613af3565b612d3f613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__6311d78c0c90916f6c69717569646174696f6e526174696f60801b84612d816149ea565b612d89614a65565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b031681526020018581526020018481526020018381526020018281526020019550505050505060006040518083038186803b158015612deb57600080fd5b505af4158015612dff573d6000803e3d6000fd5b50506040805184815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9350908190036020019150a150565b6000610e2982614ad8565b6000610e2982614b7b565b612e58613af3565b612e60613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__63c404a0de909171777261707065724275726e4665655261746560701b8585612ea6886140d3565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b031681526020018381526020018281526020019550505050505060006040518083038186803b158015612f1a57600080fd5b505af4158015612f2e573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517f65647551bef307c3b3c3cc08ff4dd60cf02eb1e9e9d20604c5603b90a453e4979450908190039091019150a15050565b60006110d6614c27565b60006110d6614c9d565b6000610e2982614d1a565b60006110d6614dcb565b612fab613af3565b612fb3613b3e565b60408051631f86e9a960e21b81526001600160a01b0392831660048201526f777261707065724d6178546f6b656e7360801b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637e1ba6a4916084808301926000929190829003018186803b15801561303557600080fd5b505af4158015613049573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517fc466f93337e5645290e02cdbed66a95340e81d809b710d8f6de2280de3e27b2f9450908190039091019150a15050565b60006110d6614a65565b60006110d6614e46565b60006110d6614ebe565b6130bb613af3565b6130c3613b3e565b60408051635f7ad87160e01b81526001600160a01b0392831660048201527f61746f6d69634571756976616c656e74466f7244657850726963696e6700000060248201526044810185905291831660648301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91635f7ad871916084808301926000929190829003018186803b15801561315257600080fd5b505af4158015613166573d6000803e3d6000fd5b5050604080518581526001600160a01b038516602082015281517fc7cff0a6f47777500050f9a29aac5206e15b25b782d1834a176f3b3b134d4f3a9450908190039091019150a15050565b6131b9613af3565b6131c1613b3e565b60408051637dfecb2360e11b81526001600160a01b0392831660048201526f696e746572616374696f6e44656c617960801b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fbfd9646916084808301926000929190829003018186803b15801561324357600080fd5b505af4158015613257573d6000803e3d6000fd5b50506040805184815290517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c23619350908190036020019150a15050565b60006110d6614f39565b6132a5613af3565b6132ad613b3e565b60408051630a6c461160e41b81526001600160a01b03929092166004830152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163a6c46110916064808301926000929190829003018186803b15801561332a57600080fd5b505af415801561333e573d6000803e3d6000fd5b50506040805184815290517f8086de8bfec0a6cd9a9213caef7ee137a59e4d8da145de163dc3f244dacddc689350908190036020019150a150565b613381613af3565b613389613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527765786368616e676544796e616d6963466565526f756e647360401b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561340757600080fd5b505af115801561341b573d6000803e3d6000fd5b50506040805184815290517f098d0190950f074545dd4e10dda16c804bd054facc9ed1ec4181e076ab09bd479350908190036020019150a150565b61345e613af3565b613466613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__6353c0bf1c909171777261707065724d696e744665655261746560701b85856134ac886147cb565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b031681526020018381526020018281526020019550505050505060006040518083038186803b15801561352057600080fd5b505af4158015613534573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517ffe7e17467e216f68f8d4a3aea0ab082631afc874fb216e93c38e52a2ddb7ec659450908190039091019150a15050565b600061358a6143b3565b60200151905090565b61359b613af3565b6135a3613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__63f02d9a5b90916135d185614fb8565b846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060006040518083038186803b15801561362657600080fd5b505af415801561363a573d6000803e3d6000fd5b505050507fbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a82826040518083600581111561367157fe5b60ff1681526020018281526020019250505060405180910390a15050565b60006110d6615161565b6136a1613af3565b6136a9613b3e565b6001600160a01b0316631d5b277f6000805160206154a9833981519152783634b8bab4b230ba34b7b722b9b1b937bba23ab930ba34b7b760391b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561372857600080fd5b505af115801561373c573d6000803e3d6000fd5b50506040805184815290517f9f268a84b9cb3eb37f078345457b36a34236602cd78eac0d9166e9e62579fef19350908190036020019150a150565b61377f613af3565b613787613b3e565b6040805163496d5d7960e11b81526001600160a01b03929092166004830152766574686572577261707065724275726e4665655261746560481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916392dabaf2916064808301926000929190829003018186803b15801561380957600080fd5b505af415801561381d573d6000803e3d6000fd5b50506040805184815290517f1c97c2e8b44aa487062d3e92ce52ac814b35191f4799fd2d5a3f36c67f1d9d4a9350908190036020019150a150565b60006110d66149ea565b61386a613af3565b613872613b3e565b6040805163d9158b0360e01b81526001600160a01b039290921660048301526f6d696e696d756d5374616b6554696d6560801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163d9158b03916064808301926000929190829003018186803b1580156138ed57600080fd5b505af4158015613901573d6000803e3d6000fd5b50506040805184815290517f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144779350908190036020019150a150565b6000610e29826151d6565b61394f613af3565b613957613b3e565b6040805163446ca4fd60e01b81526001600160a01b0392909216600483015277185d1bdb5a58d59bdb155c19185d19551a1c995cda1bdb1960421b602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163446ca4fd916084808301926000929190829003018186803b1580156139e157600080fd5b505af41580156139f5573d6000803e3d6000fd5b5050604080518581526020810185905281517f460476cc6f40e86f19053ba74c9baf4c2cef96452bb2722a454d66db953a7b3d9450908190039091019150a15050565b6000610e2982615287565b6000613a4d6143b3565b60600151905090565b6000613a60613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152613a8685614fb8565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b505afa158015613ad5573d6000803e3d6000fd5b505050506040513d6020811015613aeb57600080fd5b505192915050565b6000546001600160a01b03163314613b3c5760405162461bcd60e51b815260040180806020018281038252602f81526020018061547a602f913960400191505060405180910390fd5b565b60006110d66e466c657869626c6553746f7261676560881b615338565b6000613b65613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f696e746572616374696f6e44656c617960801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000613c1e613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b505afa1580156122d8573d6000803e3d6000fd5b6000613ca7613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152766574686572577261707065724d696e744665655261746560481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613d24613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613da0613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613e16613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f777261707065724d6178546f6b656e7360801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000613ecf613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613f46613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613fbe613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614034613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527461746f6d696345786368616e67654665655261746560581b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b60006140dd613b3e565b6001600160a01b031663c4f610ed6000805160206154a983398151915271777261707065724d696e744665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614198613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b600061420d613b3e565b6001600160a01b031663d994502d6000805160206154a98339815191527f70757265436861696e6c696e6b466f7241746f6d696373456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b60006142be613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614341613b3e565b6001600160a01b0316639ee5955a6000805160206154a98339815191527561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6143bb61541c565b60408051600480825260a08201909252606091602082016080803883390190505090507f65786368616e676544796e616d69634665655468726573686f6c6400000000008160008151811061440c57fe5b6020026020010181815250507f65786368616e676544796e616d696346656557656967687444656361790000008160018151811061444657fe5b6020026020010181815250507765786368616e676544796e616d6963466565526f756e647360401b8160028151811061447b57fe5b6020026020010181815250507465786368616e67654d617844796e616d696346656560581b816003815181106144ad57fe5b60200260200101818152505060606144c3613b3e565b6001600160a01b031663b67fa7ed6000805160206154a9833981519152846040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561453657818101518382015260200161451e565b50505050905001935050505060006040518083038186803b15801561455a57600080fd5b505afa15801561456e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561459757600080fd5b81019080805160405193929190846401000000008211156145b757600080fd5b9083019060208201858111156145cc57600080fd5b82518660208202830111640100000000821117156145e957600080fd5b82525081516020918201928201910280838360005b838110156146165781810151838201526020016145fe565b50505050905001604052505050905060405180608001604052808260008151811061463d57fe5b602002602001015181526020018260018151811061465757fe5b602002602001015181526020018260028151811061467157fe5b602002602001015181526020018260038151811061468b57fe5b60200260200101518152509250505090565b60006146a7613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e636f6c6c617073654665655261746560881b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b600061475f613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f61746f6d69635477617057696e646f7760801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006147d5613b3e565b6001600160a01b031663c4f610ed6000805160206154a983398151915271777261707065724275726e4665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614890613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915269199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614900613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614977613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152766574686572577261707065724275726e4665655261746560481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006149f4613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915274736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614a6f613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ae2613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614b85613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915277185d1bdb5a58d59bdb155c19185d19551a1c995cda1bdb1960421b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614c31613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ca7613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527661746f6d69634d6178566f6c756d65506572426c6f636b60481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614d24613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614dd5613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614e50613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ec8613b3e565b6001600160a01b031663d994502d6000805160206154a9833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614f43613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152783634b8bab4b230ba34b7b722b9b1b937bba23ab930ba34b7b760391b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b600080826005811115614fc757fe5b1415614ff457507f63726f7373446f6d61696e4465706f7369744761734c696d6974000000000000610e2c565b600182600581111561500257fe5b141561502f57507f63726f7373446f6d61696e457363726f774761734c696d697400000000000000610e2c565b600282600581111561503d57fe5b141561506a57507f63726f7373446f6d61696e5265776172644761734c696d697400000000000000610e2c565b600382600581111561507857fe5b14156150a557507f63726f7373446f6d61696e5769746864726177616c4761734c696d6974000000610e2c565b60058260058111156150b357fe5b14156150e057507f63726f7373446f6d61696e52656c61794761734c696d69740000000000000000610e2c565b60048260058111156150ee57fe5b141561511b57507f63726f7373446f6d61696e436c6f73654761734c696d69740000000000000000610e2c565b6040805162461bcd60e51b8152602060048201526016602482015275556e6b6e6f776e20676173206c696d6974207479706560501b604482015290519081900360640190fd5b600061516b613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006151e0613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f63726f7373436861696e53796e74685472616e73666572456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000615291613b3e565b6001600160a01b0316639ee5955a6000805160206154a98339815191527f61746f6d69634571756976616c656e74466f7244657850726963696e67000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816154155760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156153da5781810151838201526020016153c2565b50505050905090810190601f1680156154075780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b604051806080016040528060008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e53797374656d53657474696e6773000000000000000000000000000000000000a265627a7a723158200b8b315373443f7888eb35ce12767b8289579f3dca6072264716f3350cc984c964736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"flags","type":"address"}],"name":"AggregatorWarningFlagsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"equivalent","type":"address"}],"name":"AtomicEquivalentForDexPricingUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newExchangeFeeRate","type":"uint256"}],"name":"AtomicExchangeFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMaxVolume","type":"uint256"}],"name":"AtomicMaxVolumePerBlockUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newWindow","type":"uint256"}],"name":"AtomicTwapWindowUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newVolatilityConsiderationWindow","type":"uint256"}],"name":"AtomicVolatilityConsiderationWindowUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newVolatilityUpdateThreshold","type":"uint256"}],"name":"AtomicVolatilityUpdateThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"collapseFeeRate","type":"uint256"}],"name":"CollapseFeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"CrossChainSynthTransferEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum MixinSystemSettings.CrossDomainMessageGasLimits","name":"gasLimitType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"CrossDomainMessageGasLimitChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"debtSnapshotStaleTime","type":"uint256"}],"name":"DebtSnapshotStaleTimeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"rate","type":"uint256"}],"name":"EtherWrapperBurnFeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxETH","type":"uint256"}],"name":"EtherWrapperMaxETHUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"rate","type":"uint256"}],"name":"EtherWrapperMintFeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"dynamicFeeRounds","type":"uint256"}],"name":"ExchangeDynamicFeeRoundsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"dynamicFeeThreshold","type":"uint256"}],"name":"ExchangeDynamicFeeThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"dynamicFeeWeightDecay","type":"uint256"}],"name":"ExchangeDynamicFeeWeightDecayUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newExchangeFeeRate","type":"uint256"}],"name":"ExchangeFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxDynamicFee","type":"uint256"}],"name":"ExchangeMaxDynamicFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newFeePeriodDuration","type":"uint256"}],"name":"FeePeriodDurationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newReward","type":"uint256"}],"name":"FlagRewardUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"interactionDelay","type":"uint256"}],"name":"InteractionDelayUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newRatio","type":"uint256"}],"name":"IssuanceRatioUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newReward","type":"uint256"}],"name":"LiquidateRewardUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDelay","type":"uint256"}],"name":"LiquidationDelayUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"LiquidationEscrowDurationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newPenalty","type":"uint256"}],"name":"LiquidationPenaltyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newRatio","type":"uint256"}],"name":"LiquidationRatioUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minimumStakeTime","type":"uint256"}],"name":"MinimumStakeTimeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"PriceDeviationThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"PureChainlinkPriceForAtomicSwapsEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"rateStalePeriod","type":"uint256"}],"name":"RateStalePeriodUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newPenalty","type":"uint256"}],"name":"SelfLiquidationPenaltyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newPenalty","type":"uint256"}],"name":"SnxLiquidationPenaltyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newTargetThreshold","type":"uint256"}],"name":"TargetThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"TradingRewardsEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"waitingPeriodSecs","type":"uint256"}],"name":"WaitingPeriodSecsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"wrapper","type":"address"},{"indexed":false,"internalType":"int256","name":"rate","type":"int256"}],"name":"WrapperBurnFeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"wrapper","type":"address"},{"indexed":false,"internalType":"uint256","name":"maxTokenAmount","type":"uint256"}],"name":"WrapperMaxTokenAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"wrapper","type":"address"},{"indexed":false,"internalType":"int256","name":"rate","type":"int256"}],"name":"WrapperMintFeeRateUpdated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"aggregatorWarningFlags","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicEquivalentForDexPricing","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicExchangeFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"atomicMaxVolumePerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"atomicTwapWindow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicVolatilityConsiderationWindow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicVolatilityUpdateThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"collateral","type":"address"}],"name":"collapseFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"crossChainSynthTransferEnabled","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"enum MixinSystemSettings.CrossDomainMessageGasLimits","name":"gasLimitType","type":"uint8"}],"name":"crossDomainMessageGasLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"debtSnapshotStaleTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"etherWrapperBurnFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"etherWrapperMaxETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"etherWrapperMintFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeDynamicFeeRounds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeDynamicFeeThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeDynamicFeeWeightDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"exchangeFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeMaxDynamicFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feePeriodDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"flagReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"collateral","type":"address"}],"name":"interactionDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issuanceRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidateReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationEscrowDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumStakeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"priceDeviationThresholdFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"pureChainlinkPriceForAtomicSwapsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rateStalePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"selfLiquidationPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_flags","type":"address"}],"name":"setAggregatorWarningFlags","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"address","name":"_equivalent","type":"address"}],"name":"setAtomicEquivalentForDexPricing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_exchangeFeeRate","type":"uint256"}],"name":"setAtomicExchangeFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_maxVolume","type":"uint256"}],"name":"setAtomicMaxVolumePerBlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_window","type":"uint256"}],"name":"setAtomicTwapWindow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_window","type":"uint256"}],"name":"setAtomicVolatilityConsiderationWindow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setAtomicVolatilityUpdateThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_collateral","type":"address"},{"internalType":"uint256","name":"_collapseFeeRate","type":"uint256"}],"name":"setCollapseFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setCrossChainSynthTransferEnabled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"enum MixinSystemSettings.CrossDomainMessageGasLimits","name":"_gasLimitType","type":"uint8"},{"internalType":"uint256","name":"_crossDomainMessageGasLimit","type":"uint256"}],"name":"setCrossDomainMessageGasLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_seconds","type":"uint256"}],"name":"setDebtSnapshotStaleTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"setEtherWrapperBurnFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_maxETH","type":"uint256"}],"name":"setEtherWrapperMaxETH","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"setEtherWrapperMintFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"rounds","type":"uint256"}],"name":"setExchangeDynamicFeeRounds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"setExchangeDynamicFeeThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"weightDecay","type":"uint256"}],"name":"setExchangeDynamicFeeWeightDecay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"synthKeys","type":"bytes32[]"},{"internalType":"uint256[]","name":"exchangeFeeRates","type":"uint256[]"}],"name":"setExchangeFeeRateForSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"maxFee","type":"uint256"}],"name":"setExchangeMaxDynamicFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_feePeriodDuration","type":"uint256"}],"name":"setFeePeriodDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"setFlagReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_collateral","type":"address"},{"internalType":"uint256","name":"_interactionDelay","type":"uint256"}],"name":"setInteractionDelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"ratio","type":"uint256"}],"name":"setIssuanceRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"setLiquidateReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"setLiquidationDelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"setLiquidationEscrowDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"penalty","type":"uint256"}],"name":"setLiquidationPenalty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_liquidationRatio","type":"uint256"}],"name":"setLiquidationRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_seconds","type":"uint256"}],"name":"setMinimumStakeTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_priceDeviationThresholdFactor","type":"uint256"}],"name":"setPriceDeviationThresholdFactor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setPureChainlinkPriceForAtomicSwapsEnabled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"period","type":"uint256"}],"name":"setRateStalePeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"penalty","type":"uint256"}],"name":"setSelfLiquidationPenalty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"penalty","type":"uint256"}],"name":"setSnxLiquidationPenalty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"setTargetThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_tradingRewardsEnabled","type":"bool"}],"name":"setTradingRewardsEnabled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_waitingPeriodSecs","type":"uint256"}],"name":"setWaitingPeriodSecs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_wrapper","type":"address"},{"internalType":"int256","name":"_rate","type":"int256"}],"name":"setWrapperBurnFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_wrapper","type":"address"},{"internalType":"uint256","name":"_maxTokenAmount","type":"uint256"}],"name":"setWrapperMaxTokenAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_wrapper","type":"address"},{"internalType":"int256","name":"_rate","type":"int256"}],"name":"setWrapperMintFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"snxLiquidationPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"targetThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tradingRewardsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"waitingPeriodSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"wrapper","type":"address"}],"name":"wrapperBurnFeeRate","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"wrapper","type":"address"}],"name":"wrapperMaxTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"wrapper","type":"address"}],"name":"wrapperMintFeeRate","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xc78f371d395251ef1ee8c1305b485d38f084d31530560e802f5fc5147fe83451","urls":["bzz-raw://b9b7c2da32665fe30504f32be96c7cf326aa8ea84f34050aa6c338525be15fdc","dweb:/ipfs/QmRD7KH7LH9Cy7kxUyK6y9zNDAXkNo737wFAjHmyPANDF3"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SystemSettings.sol":"SystemSettings"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SystemSettings.sol":{"keccak256":"0xc78f371d395251ef1ee8c1305b485d38f084d31530560e802f5fc5147fe83451","urls":["bzz-raw://b9b7c2da32665fe30504f32be96c7cf326aa8ea84f34050aa6c338525be15fdc","dweb:/ipfs/QmRD7KH7LH9Cy7kxUyK6y9zNDAXkNo737wFAjHmyPANDF3"]}},"version":1}},"TradingRewards":{"bytecode":"608060405234801561001057600080fd5b506040516122133803806122138339818101604052606081101561003357600080fd5b5080516020820151604090920151600160005590919080836001600160a01b0381166100a6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506001546001600160a01b0316610152576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60048054610100600160a81b0319166101006001600160a01b039384160217905582166101c6576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b50600980546001600160a01b0319166001600160a01b03929092169190911790555061201c806101f76000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063741853601161010f578063b225dbaa116100a2578063f32ffd6911610071578063f32ffd69146104e2578063f61f5df614610552578063f6b584791461057e578063fc9c99ac146105fe576101f0565b8063b225dbaa14610491578063ccb6e043146102c5578063ce7fccba146104ae578063dea021a5146104da576101f0565b806391b4ded9116100de57806391b4ded914610438578063937ffb8f146104405780639865fdb71461045d578063ae934a7a14610465576101f0565b806374185360146103c857806379ba5097146103d0578063899ffef4146103d85780638da5cb5b14610430576101f0565b80632af64bd31161018757806355aa41bf1161015657806355aa41bf1461037e5780635c975abb1461039b5780636fe4136b146103a3578063706848d2146103ab576101f0565b80632af64bd31461032257806338dfa8cf1461032a5780633dbf12fa1461035057806353a47bb714610376576101f0565b806316841952116101c3578063168419521461028957806316c38b3c146102a6578063175c5189146102c557806321cad774146102f6576101f0565b806304f3bcec146101f5578063056097ac14610219578063086146d2146102495780631627540c14610263575b600080fd5b6101fd610606565b604080516001600160a01b039092168252519081900360200190f35b6102476004803603604081101561022f57600080fd5b506001600160a01b038135811691602001351661061a565b005b6102516107c5565b60408051918252519081900360200190f35b6102476004803603602081101561027957600080fd5b50356001600160a01b03166107cc565b6102476004803603602081101561029f57600080fd5b5035610828565b610247600480360360208110156102bc57600080fd5b50351515610a51565b6102e2600480360360208110156102db57600080fd5b5035610acb565b604080519115158252519081900360200190f35b6102476004803603604081101561030c57600080fd5b50803590602001356001600160a01b0316610ae0565b6102e2610c0a565b6102476004803603602081101561034057600080fd5b50356001600160a01b0316610d1c565b6102476004803603602081101561036657600080fd5b50356001600160a01b0316610ed4565b6101fd610f8b565b6102516004803603602081101561039457600080fd5b5035610f9a565b6102e2610faf565b6101fd610fb8565b610251600480360360208110156103c157600080fd5b5035610fc7565b610247610fdc565b6102476111b9565b6103e0611275565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561041c578181015183820152602001610404565b505050509050019250505060405180910390f35b6101fd6112e4565b6102516112f3565b6102516004803603602081101561045657600080fd5b50356112f9565b61025161130e565b6102476004803603604081101561047b57600080fd5b506001600160a01b0381351690602001356113ab565b610247600480360360208110156104a757600080fd5b5035611518565b610251600480360360408110156104c457600080fd5b506001600160a01b0381351690602001356115c5565b6101fd6115da565b610247600480360360208110156104f857600080fd5b81019060208101813564010000000081111561051357600080fd5b82018360208201111561052557600080fd5b8035906020019184602083028401116401000000008311171561054757600080fd5b5090925090506115e9565b6102516004803603604081101561056857600080fd5b506001600160a01b0381351690602001356116c7565b6102516004803603604081101561059457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156105bf57600080fd5b8201836020820111156105d157600080fd5b803590602001918460208302840111640100000000831117156105f357600080fd5b5090925090506116f2565b610251611742565b60045461010090046001600160a01b031681565b610622611748565b61062b81611793565b610633611803565b6001600160a01b0316826001600160a01b03161415610699576040805162461bcd60e51b815260206004820152601960248201527f4d7573742075736520616e6f746865722066756e6374696f6e00000000000000604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905183916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156106e457600080fd5b505afa1580156106f8573d6000803e3d6000fd5b505050506040513d602081101561070e57600080fd5b505190508061075b576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6107756001600160a01b038316848363ffffffff61181a16565b604080516001600160a01b0380871682528516602082015280820183905290517f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe69181900360600190a150505050565b6006545b90565b6107d4611748565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6009546001600160a01b03163314610887576040805162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206e6f7420706572696f6420636f6e74726f6c6c657200000000604482015290519081900360640190fd5b6000610891611803565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156108e657600080fd5b505afa1580156108fa573d6000803e3d6000fd5b505050506040513d602081101561091057600080fd5b505160075490915060009061092c90839063ffffffff61186c16565b905080831115610983576040805162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742066726565207265776172647300000000000000604482015290519081900360640190fd5b60065460009081526008602052604090206002810184905560038101849055805460ff191660011781556007546109c0908563ffffffff6118c916565b600755600654604080519182526020820186905280517ffa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f9281900390910190a1600654610a1490600163ffffffff6118c916565b600681905560408051918252517f4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a2307329181900360200190a150505050565b610a59611748565b60045460ff1615158115151415610a6f57610ac8565b6004805460ff1916821515179081905560ff1615610a8c57426003555b6004546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60009081526008602052604090205460ff1690565b610ae8611923565b6001600160a01b0316336001600160a01b031614610b4d576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015290519081900360640190fd5b60065460009081526008602090815260408083206001600160a01b03851684526004810190925290912054610b88908463ffffffff6118c916565b6001600160a01b03831660009081526004830160205260409020556001810154610bb8908463ffffffff6118c916565b600182015560065460408051858152602081019290925280516001600160a01b038516927f927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf86692908290030190a2505050565b60006060610c16611275565b905060005b8151811015610d13576000828281518110610c3257fe5b602090810291909101810151600081815260058352604090819020546004805483516321f8a72160e01b815291820185905292519395506001600160a01b0391821694610100909304909116926321f8a72192602480840193919291829003018186803b158015610ca257600080fd5b505afa158015610cb6573d6000803e3d6000fd5b505050506040513d6020811015610ccc57600080fd5b50516001600160a01b0316141580610cf957506000818152600560205260409020546001600160a01b0316155b15610d0a57600093505050506107c9565b50600101610c1b565b50600191505090565b610d24611748565b610d2d81611793565b6000610d37611803565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d8c57600080fd5b505afa158015610da0573d6000803e3d6000fd5b505050506040513d6020811015610db657600080fd5b5051905080610e03576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6000610e1a6007548361186c90919063ffffffff16565b905060008111610e68576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b610e8b8382610e75611803565b6001600160a01b0316919063ffffffff61181a16565b604080516001600160a01b03851681526020810183905281517f14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3929181900390910190a1505050565b610edc611748565b6001600160a01b038116610f37576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b600980546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc9181900360200190a150565b6002546001600160a01b031681565b60009081526008602052604090206001015490565b60045460ff1681565b6000610fc2611803565b905090565b60009081526008602052604090206003015490565b6060610fe6611275565b905060005b81518110156111b557600082828151811061100257fe5b602002602001015190506000600460019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156110cd5781810151838201526020016110b5565b50505050905090810190601f1680156110fa5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b505160008381526005602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610feb565b5050565b6002546001600160a01b031633146112025760405162461bcd60e51b8152600401808060200182810382526035815260200180611efd6035913960400191505060405180910390fd5b600154600254604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160028054600180546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600280825260608083018452926020830190803883390190505090506822bc31b430b733b2b960b91b816000815181106112af57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816001815181106112d557fe5b60200260200101818152505090565b6001546001600160a01b031681565b60035481565b60009081526008602052604090206002015490565b6000610fc260075461131e611803565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561137357600080fd5b505afa158015611387573d6000803e3d6000fd5b505050506040513d602081101561139d57600080fd5b50519063ffffffff61186c16565b6113b3611748565b6113bc82611793565b6006548110611412576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207265636f7665722066726f6d20616374697665000000000000604482015290519081900360640190fd5b60008181526008602052604090206003810154611476576040805162461bcd60e51b815260206004820152601f60248201527f4e6f207265776172647320617661696c61626c6520746f207265636f76657200604482015290519081900360640190fd5b60038101546114888482610e75611803565b60075461149b908263ffffffff61186c16565b6007556000838152600860209081526040808320805460ff1916815560018101849055600281018490556003019290925581516001600160a01b038716815290810183905280820185905290517f60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c9181900360600190a150505050565b600080546001019081905560045460ff16156115655760405162461bcd60e51b815260040180806020018281038252603c815260200180611f82603c913960400191505060405180910390fd5b61156f338361193a565b60005481146111b5576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60006115d18383611a99565b90505b92915050565b6009546001600160a01b031690565b600080546001019081905560045460ff16156116365760405162461bcd60e51b815260040180806020018281038252603c815260200180611f82603c913960400191505060405180910390fd5b60005b8281101561166b57600084848381811061164f57fe5b905060200201359050611662338261193a565b50600101611639565b5060005481146116c2576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b60009081526008602090815260408083206001600160a01b0394909416835260049093019052205490565b6000805b8281101561173a57600084848381811061170c57fe5b90506020020135905061172f6117228783611a99565b849063ffffffff6118c916565b9250506001016116f6565b509392505050565b60075490565b6001546001600160a01b031633146117915760405162461bcd60e51b815260040180806020018281038252602f815260200180611f32602f913960400191505060405180910390fd5b565b6001600160a01b03811615806117b157506001600160a01b03811630145b15610ac8576040805162461bcd60e51b815260206004820152601760248201527f496e76616c6964207265636f7665722061646472657373000000000000000000604482015290519081900360640190fd5b6000610fc2680a6f2dce8d0cae8d2f60bb1b611b3d565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526116c2908490611c21565b6000828211156118c3576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156115d1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610fc26822bc31b430b733b2b960b91b611b3d565b6000818152600860205260409020805460ff1661199e576040805162461bcd60e51b815260206004820152601760248201527f506572696f64206973206e6f742066696e616c697a6564000000000000000000604482015290519081900360640190fd5b60006119aa8484611a99565b9050600081116119f8576040805162461bcd60e51b81526020600482015260146024820152734e6f207265776172647320617661696c61626c6560601b604482015290519081900360640190fd5b6001600160a01b03841660009081526004830160205260408120556003820154611a28908263ffffffff61186c16565b6003830155600754611a40908263ffffffff61186c16565b600755611a508482610e75611803565b604080518281526020810185905281516001600160a01b038716927fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325928290030190a250505050565b600081815260086020526040812060038101541580611aba57506001810154155b80611ac75750805460ff16155b15611ad65760009150506115d4565b6001600160a01b038416600090815260048201602052604090205480611b01576000925050506115d4565b6000611b1a836001015483611ddf90919063ffffffff16565b9050611b33836002015482611e0990919063ffffffff16565b9695505050505050565b600081815260056020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611c1a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611bdf578181015183820152602001611bc7565b50505050905090810190601f168015611c0c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b611c33826001600160a01b0316611e33565b611c84576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310611cc25780518252601f199092019160209182019101611ca3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611d24576040519150601f19603f3d011682016040523d82523d6000602084013e611d29565b606091505b509150915081611d80576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611dd957808060200190516020811015611d9c57600080fd5b5051611dd95760405162461bcd60e51b815260040180806020018281038252602a815260200180611fbe602a913960400191505060405180910390fd5b50505050565b60006115d182611dfd85670de0b6b3a764000063ffffffff611e3916565b9063ffffffff611e9216565b6000670de0b6b3a7640000611e24848463ffffffff611e3916565b81611e2b57fe5b049392505050565b3b151590565b600082611e48575060006115d4565b82820282848281611e5557fe5b04146115d15760405162461bcd60e51b8152600401808060200182810382526021815260200180611f616021913960400191505060405180910390fd5b6000808211611ee8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611ef357fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e7472616374206973207061757365645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a7231582099ffc330f83cbd93ea5c827c0f9f0c8e88d2c0be241499dc9e0d9fc7f71eed3164736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"periodController","type":"address"},{"internalType":"address","name":"resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recoverAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"AssignedRewardTokensRecovered","type":"event","signature":"0x60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"ExchangeFeeRecorded","type":"event","signature":"0x927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf866"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"NewPeriodStarted","type":"event","signature":"0x4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a230732"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event","signature":"0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newPeriodController","type":"address"}],"name":"PeriodControllerChanged","type":"event","signature":"0xb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewards","type":"uint256"}],"name":"PeriodFinalizedWithRewards","type":"event","signature":"0xfa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"RewardsClaimed","type":"event","signature":"0xdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"address","name":"recoverAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensRecovered","type":"event","signature":"0x401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe6"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recoverAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"UnassignedRewardTokensRecovered","type":"event","signature":"0x14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"claimRewardsForPeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb225dbaa"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"periodIDs","type":"uint256[]"}],"name":"claimRewardsForPeriods","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf32ffd69"},{"constant":false,"inputs":[{"internalType":"uint256","name":"rewards","type":"uint256"}],"name":"closeCurrentPeriodWithRewards","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16841952"},{"constant":true,"inputs":[],"name":"getAvailableRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xfc9c99ac"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getAvailableRewardsForAccountForPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xce7fccba"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"periodIDs","type":"uint256[]"}],"name":"getAvailableRewardsForAccountForPeriods","outputs":[{"internalType":"uint256","name":"totalRewards","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf6b58479"},{"constant":true,"inputs":[],"name":"getCurrentPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x086146d2"},{"constant":true,"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodAvailableRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x706848d2"},{"constant":true,"inputs":[],"name":"getPeriodController","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdea021a5"},{"constant":true,"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodIsClaimable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x175c5189"},{"constant":true,"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodIsFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xccb6e043"},{"constant":true,"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodRecordedFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x55aa41bf"},{"constant":true,"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodTotalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x937ffb8f"},{"constant":true,"inputs":[],"name":"getRewardsToken","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6fe4136b"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getUnaccountedFeesForAccountForPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf61f5df6"},{"constant":true,"inputs":[],"name":"getUnassignedRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9865fdb7"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x91b4ded9"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c975abb"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":false,"inputs":[{"internalType":"uint256","name":"usdFeeAmount","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"recordExchangeFeeForAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x21cad774"},{"constant":false,"inputs":[{"internalType":"address","name":"recoverAddress","type":"address"},{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"recoverAssignedRewardTokensAndDestroyPeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xae934a7a"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"recoverAddress","type":"address"}],"name":"recoverTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x056097ac"},{"constant":false,"inputs":[{"internalType":"address","name":"recoverAddress","type":"address"}],"name":"recoverUnassignedRewardTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x38dfa8cf"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16c38b3c"},{"constant":false,"inputs":[{"internalType":"address","name":"newPeriodController","type":"address"}],"name":"setPeriodController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3dbf12fa"}],"source":{"keccak256":"0xbd78e356e87ea7ca505e365a1a21c5f84511c231a3531d61e7f0c4341ea80530","urls":["bzz-raw://7252dda708182a6cebf3c49e4de48b440cc3948e4216416b20dea5f75563bbb2","dweb:/ipfs/QmdqHfLopjqVqvuEGMfU16XvzK2znZsws4ieMNGVoiaErW"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"TradingRewards.sol":"TradingRewards"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"TradingRewards.sol":{"keccak256":"0xbd78e356e87ea7ca505e365a1a21c5f84511c231a3531d61e7f0c4341ea80530","urls":["bzz-raw://7252dda708182a6cebf3c49e4de48b440cc3948e4216416b20dea5f75563bbb2","dweb:/ipfs/QmdqHfLopjqVqvuEGMfU16XvzK2znZsws4ieMNGVoiaErW"]}},"version":1}},"DebtCache":{"bytecode":"60806040526008805461ff001960ff1990911660011716905534801561002457600080fd5b506040516134413803806134418339818101604052604081101561004757600080fd5b50805160209091015181818080836001600160a01b0381166100b0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b031990921691909117905550505050506133038061013e6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063741853601161010f578063af5355d8116100a2578063d0fffafd11610071578063d0fffafd14610707578063d685743a1461070f578063e3476cd414610732578063fc5247731461073a576101e5565b8063af5355d8146105f5578063b13cd785146105fd578063b7224ec71461066b578063cda218c714610699576101e5565b80638da5cb5b116100de5780638da5cb5b146105a55780638dd5bfbc146105ad5780639e3b92ca146105ca578063a5f27edb146105ed576101e5565b80637418536014610585578063759076e51461058d57806379ba509714610595578063899ffef41461059d576101e5565b80632992dba21161018757806342c7b8191161015657806342c7b8191461047d57806353a47bb71461049a578063614d08f8146104a25780636bf7c435146104aa576101e5565b80632992dba2146104085780632af64bd314610429578063392e53cd146104455780633a900a2e1461044d576101e5565b806307619a5f116101c357806307619a5f146102495780630fb38465146103075780631627540c1461032457806317b38db41461034a576101e5565b806304bd11e5146101ea57806304f3bcec1461020b578063053932621461022f575b600080fd5b6102096004803603602081101561020057600080fd5b50351515610742565b005b610213610756565b604080516001600160a01b039092168252519081900360200190f35b610237610765565b60408051918252519081900360200190f35b6102b76004803603602081101561025f57600080fd5b810190602081018135600160201b81111561027957600080fd5b82018360208201111561028b57600080fd5b803590602001918460208302840111600160201b831117156102ac57600080fd5b50909250905061076c565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102f35781810151838201526020016102db565b505050509050019250505060405180910390f35b6102376004803603602081101561031d57600080fd5b50356107b3565b6102096004803603602081101561033a57600080fd5b50356001600160a01b03166107c5565b6102096004803603604081101561036057600080fd5b810190602081018135600160201b81111561037a57600080fd5b82018360208201111561038c57600080fd5b803590602001918460208302840111600160201b831117156103ad57600080fd5b919390929091602081019035600160201b8111156103ca57600080fd5b8201836020820111156103dc57600080fd5b803590602001918460208302840111600160201b831117156103fd57600080fd5b509092509050610821565b61041061089c565b6040805192835290151560208301528051918290030190f35b610431610b21565b604080519115158252519081900360200190f35b610431610c2b565b610455610c39565b6040805194855260208501939093529015158383015215156060830152519081900360800190f35b6102096004803603602081101561049357600080fd5b5035610c6a565b610213610d93565b610237610da2565b610518600480360360208110156104c057600080fd5b810190602081018135600160201b8111156104da57600080fd5b8201836020820111156104ec57600080fd5b803590602001918460208302840111600160201b8311171561050d57600080fd5b509092509050610db2565b604051808060200185815260200184815260200183151515158152602001828103825286818151815260200191508051906020019060200280838360005b8381101561056e578181015183820152602001610556565b505050509050019550505050505060405180910390f35b610209610e05565b610410610fcd565b610209610fe0565b6102b761109c565b610213611230565b610209600480360360208110156105c357600080fd5b503561123f565b610209600480360360408110156105e057600080fd5b508035906020013561131b565b610431611389565b610237611392565b6102b76004803603602081101561061357600080fd5b810190602081018135600160201b81111561062d57600080fd5b82018360208201111561063f57600080fd5b803590602001918460208302840111600160201b8311171561066057600080fd5b5090925090506113a1565b6102096004803603604081101561068157600080fd5b506001600160a01b03813581169160200135166113df565b610209600480360360208110156106af57600080fd5b810190602081018135600160201b8111156106c957600080fd5b8201836020820111156106db57600080fd5b803590602001918460208302840111600160201b831117156106fc57600080fd5b5090925090506117aa565b61023761193f565b6102096004803603604081101561072557600080fd5b5080359060200135611945565b6102096119d2565b610431611c84565b61074a611c91565b61075381611cf7565b50565b6002546001600160a01b031681565b6004545b90565b60606107aa838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611d4492505050565b90505b92915050565b60009081526005602052604090205490565b6107cd611dd4565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610829611e1d565b6108968484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201829052509250611e97915050565b50505050565b60008060606108a961200d565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156108e157600080fd5b505afa1580156108f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561091e57600080fd5b8101908080516040519392919084600160201b82111561093d57600080fd5b90830190602082018581111561095257600080fd5b82518660208202830111600160201b8211171561096e57600080fd5b82525081516020918201928201910280838360005b8381101561099b578181015183820152602001610983565b505050509050016040525050509050606060006109b6612021565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015610a145781810151838201526020016109fc565b505050509050019250505060006040518083038186803b158015610a3757600080fd5b505afa158015610a4b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610a7457600080fd5b8101908080516040519392919084600160201b821115610a9357600080fd5b908301906020820185811115610aa857600080fd5b82518660208202830111600160201b82111715610ac457600080fd5b82525081516020918201928201910280838360005b83811015610af1578181015183820152602001610ad9565b50505050919091016040525060200151929450919250610b169150849050838361203c565b945094505050509091565b60006060610b2d61109c565b905060005b8151811015610c22576000828281518110610b4957fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610bb157600080fd5b505afa158015610bc5573d6000803e3d6000fd5b505050506040513d6020811015610bdb57600080fd5b50516001600160a01b0316141580610c0857506000818152600360205260409020546001600160a01b0316155b15610c195760009350505050610769565b50600101610b32565b50600191505090565b600854610100900460ff1681565b6007546004546008546000928392839283929190829060ff16610c5b82612255565b94509450945094505090919293565b610c72611c91565b6000610c7d8261226e565b90506000821315610cf357631cd554d160e21b60005260056020526000805160206132af83398151915254610cb8908263ffffffff61227916565b631cd554d160e21b60005260056020526000805160206132af83398151915255600454610ceb908263ffffffff61227916565b600455610d5a565b631cd554d160e21b60005260056020526000805160206132af83398151915254610d23908263ffffffff6122d316565b631cd554d160e21b60005260056020526000805160206132af83398151915255600454610d56908263ffffffff6122d316565b6004555b60045460408051918252517f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5999181900360200190a15050565b6001546001600160a01b031681565b6844656274436163686560b81b81565b60606000806000610df586868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061233092505050565b9299919850965090945092505050565b6060610e0f61109c565b905060005b8151811015610fc9576000828281518110610e2b57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610ee1578181015183820152602001610ec9565b50505050905090810190601f168015610f0e5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610f2c57600080fd5b505afa158015610f40573d6000803e3d6000fd5b505050506040513d6020811015610f5657600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610e14565b5050565b600080610fd861255c565b915091509091565b6001546001600160a01b031633146110295760405162461bcd60e51b81526004018080602001828103825260358152602001806132096035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806110a76128fc565b60408051600880825261012082019092529192506060919060208201610100803883390190505090506524b9b9bab2b960d11b816000815181106110e757fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061110d57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061113757fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061116057fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b8160048151811061118e57fe5b6020026020010181815250506d57726170706572466163746f727960901b816005815181106111b957fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b816006815181106111e257fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b8160078151811061121357fe5b602002602001018181525050611229828261294d565b9250505090565b6000546001600160a01b031681565b611247611dd4565b600061125161200d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561129457600080fd5b505afa1580156112a8573d6000803e3d6000fd5b505050506040513d60208110156112be57600080fd5b50516001600160a01b03161461130a576040805162461bcd60e51b815260206004820152600c60248201526b53796e74682065786973747360a01b604482015290519081900360640190fd5b600090815260056020526040812055565b611323612a09565b6000828152600660205260408120548201908112156113735760405162461bcd60e51b81526004018080602001828103825260248152602001806131e56024913960400191505060405180910390fd5b6000928352600660205260409092209190915550565b60085460ff1690565b600061139c612aff565b905090565b60606107aa838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612bae92505050565b6113e7611dd4565b600854610100900460ff161561143a576040805162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015290519081900360640190fd5b6008805461ff001916610100179055604080516372cb051f60e01b815290516060916001600160a01b038416916372cb051f91600480820192600092909190829003018186803b15801561148d57600080fd5b505afa1580156114a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156114ca57600080fd5b8101908080516040519392919084600160201b8211156114e957600080fd5b9083019060208201858111156114fe57600080fd5b82518660208202830111600160201b8211171561151a57600080fd5b82525081516020918201928201910280838360005b8381101561154757818101518382015260200161152f565b50505050905001604052505050905060008151116115ac576040805162461bcd60e51b815260206004820152601d60248201527f70726576696f75732049737375657220686173206e6f2073796e746873000000604482015290519081900360640190fd5b6060836001600160a01b03166307619a5f836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561160d5781810151838201526020016115f5565b505050509050019250505060006040518083038186803b15801561163057600080fd5b505afa158015611644573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561166d57600080fd5b8101908080516040519392919084600160201b82111561168c57600080fd5b9083019060208201858111156116a157600080fd5b82518660208202830111600160201b821117156116bd57600080fd5b82525081516020918201928201910280838360005b838110156116ea5781810151838201526020016116d2565b50505050905001604052505050905060008090505b82518110156117a357600082828151811061171657fe5b6020026020010151111561179b5761177082828151811061173357fe5b60200260200101516006600086858151811061174b57fe5b602002602001015181526020019081526020016000205461227990919063ffffffff16565b6006600085848151811061178057fe5b60200260200101518152602001908152602001600020819055505b6001016116ff565b5050505050565b6117b2612c36565b606060006117be612021565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561183057600080fd5b505afa158015611844573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561186d57600080fd5b8101908080516040519392919084600160201b82111561188c57600080fd5b9083019060208201858111156118a157600080fd5b82518660208202830111600160201b821117156118bd57600080fd5b82525081516020918201928201910280838360005b838110156118ea5781810151838201526020016118d2565b505050509190910160408181526020938401518a850280840186019092528a8352969850959650610896959094508993508892839250850190849080828437600092019190915250869250859150611e979050565b60075490565b61194d611c91565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061197d57fe5b602090810291909101015260408051600180825281830190925260609181602001602082028038833901905050905082816000815181106119ba57fe5b60200260200101818152505061089682826000611e97565b6119da612c36565b60606119e461200d565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611a5957600080fd5b8101908080516040519392919084600160201b821115611a7857600080fd5b908301906020820185811115611a8d57600080fd5b82518660208202830111600160201b82111715611aa957600080fd5b82525081516020918201928201910280838360005b83811015611ad6578181015183820152602001611abe565b50505050905001604052505050905060606000806000611af585612330565b6b11955515549154d7d111509560a21b600090815260056020527fb03402a6fc396b42a4a74df8120873f820800f1398191168ef707a9051d6d76e849055845194985092965090945092508491905b81811015611bae576000878281518110611b5a57fe5b60200260200101519050611b77818561227990919063ffffffff16565b935080600560008b8581518110611b8a57fe5b60209081029190910181015182528101919091526040016000205550600101611b44565b506c115610d31551115117d1115095609a1b600090815260056020527fbca14b7b4212dd98a4b255832d862779dccd9aba14592c2e2c4e62d4efc07bc7859055611bfe838663ffffffff612c9c16565b6004819055426007556040805182815290519192507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599919081900360200190a16040805142815290517fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f9181900360200190a1611c7a84611cf7565b5050505050505050565b600061139c600754612255565b611c9961200d565b6001600160a01b0316336001600160a01b031614611cf5576040805162461bcd60e51b815260206004820152601460248201527329b2b73232b91034b9903737ba1024b9b9bab2b960611b604482015290519081900360640190fd5b565b60085460ff16151581151514610753576008805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6060600082519050606081604051908082528060200260200182016040528015611d78578160200160208202803883390190505b50905060005b82811015611dcc5760066000868381518110611d9657fe5b6020026020010151815260200190815260200160002054828281518110611db957fe5b6020908102919091010152600101611d7e565b509392505050565b6000546001600160a01b03163314611cf55760405162461bcd60e51b815260040180806020018281038252602f81526020018061325f602f913960400191505060405180910390fd5b611e2561200d565b6001600160a01b0316336001600160a01b03161480611e5c5750611e47612cb7565b6001600160a01b0316336001600160a01b0316145b611cf55760405162461bcd60e51b815260040180806020018281038252602181526020018061323e6021913960400191505060405180910390fd5b825182518114611eee576040805162461bcd60e51b815260206004820152601a60248201527f496e707574206172726179206c656e6774687320646966666572000000000000604482015290519081900360640190fd5b6000806060611efd8787612cce565b905060005b84811015611f8c576000888281518110611f1857fe5b602002602001015190506000838381518110611f3057fe5b60200260200101519050611f6060056000848152602001908152602001600020548761227990919063ffffffff16565b9550611f72858263ffffffff61227916565b600092835260056020526040909220559250600101611f02565b50818314611ff557600454611fb784611fab838663ffffffff61227916565b9063ffffffff6122d316565b60048190556040805182815290519192507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599919081900360200190a1505b84156120045761200485611cf7565b50505050505050565b600061139c6524b9b9bab2b960d11b612f99565b600061139c6c45786368616e6765526174657360981b612f99565b60008060008061204a613076565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b8152600401604080518083038186803b15801561208157600080fd5b505afa158015612095573d6000803e3d6000fd5b505050506040513d60408110156120ab57600080fd5b50805160209091015190925090506000806120c4613076565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b1580156120fb57600080fd5b505afa15801561210f573d6000803e3d6000fd5b505050506040513d604081101561212557600080fd5b5080516020909101519092509050868061213c5750825b806121445750805b9450612156848363ffffffff61227916565b95506121d4612163613095565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561219b57600080fd5b505afa1580156121af573d6000803e3d6000fd5b505050506040513d60208110156121c557600080fd5b5051879063ffffffff61227916565b955060005b89518110156122485761223e6122318a83815181106121f457fe5b6020026020010151600660008e868151811061220c57fe5b60200260200101518152602001908152602001600020546130af90919063ffffffff16565b889063ffffffff61227916565b96506001016121d9565b5050505050935093915050565b6000814203612262612aff565b10806107ad5750501590565b60006107ad826130c4565b6000828201838110156107aa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008282111561232a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060600080600060606000612343612021565b6001600160a01b031663c8e5bbd5886040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156123a1578181015183820152602001612389565b505050509050019250505060006040518083038186803b1580156123c457600080fd5b505afa1580156123d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561240157600080fd5b8101908080516040519392919084600160201b82111561242057600080fd5b90830190602082018581111561243557600080fd5b82518660208202830111600160201b8211171561245157600080fd5b82525081516020918201928201910280838360005b8381101561247e578181015183820152602001612466565b50505050919091016040525060200151929450919250606091506124a490508884612cce565b90506000806124b48a868661203c565b915091506000806124c36130da565b6001600160a01b031663fc7b9c186040518163ffffffff1660e01b8152600401604080518083038186803b1580156124fa57600080fd5b505afa15801561250e573d6000803e3d6000fd5b505050506040513d604081101561252457600080fd5b5080516020909101519092509050848285888061253e5750835b806125465750855b9a509a509a509a50505050505050509193509193565b600080606061256961200d565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156125a157600080fd5b505afa1580156125b5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156125de57600080fd5b8101908080516040519392919084600160201b8211156125fd57600080fd5b90830190602082018581111561261257600080fd5b82518660208202830111600160201b8211171561262e57600080fd5b82525081516020918201928201910280838360005b8381101561265b578181015183820152602001612643565b50505050905001604052505050905060606000612676612021565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156126d45781810151838201526020016126bc565b505050509050019250505060006040518083038186803b1580156126f757600080fd5b505afa15801561270b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561273457600080fd5b8101908080516040519392919084600160201b82111561275357600080fd5b90830190602082018581111561276857600080fd5b82518660208202830111600160201b8211171561278457600080fd5b82525081516020918201928201910280838360005b838110156127b1578181015183820152602001612799565b50505050919091016040525060200151929450919250606091506127d790508484612cce565b90506000806127e786868661203c565b845191935091506000805b8281101561282a5761282086828151811061280957fe5b60200260200101518361227990919063ffffffff16565b91506001016127f2565b506000806128366130da565b6001600160a01b031663fc7b9c186040518163ffffffff1660e01b8152600401604080518083038186803b15801561286d57600080fd5b505afa158015612881573d6000803e3d6000fd5b505050506040513d604081101561289757600080fd5b50805160209091015190925090506128b5838363ffffffff61227916565b92508583106128d3576128ce838763ffffffff6122d316565b6128d6565b60005b92508288806128e25750815b806128ea5750855b9b509b50505050505050505050509091565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061293e57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561297d578160200160208202803883390190505b50905060005b83518110156129bf5783818151811061299857fe5b60200260200101518282815181106129ac57fe5b6020908102919091010152600101612983565b5060005b8251811015612a02578281815181106129d857fe5b60200260200101518282865101815181106129ef57fe5b60209081029190910101526001016129c3565b5092915050565b6000612a136130fc565b6001600160a01b031663e0aa2797336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612a6857600080fd5b505afa158015612a7c573d6000803e3d6000fd5b505050506040513d6020811015612a9257600080fd5b50516000549091506001600160a01b031633148080612aae5750815b610fc9576040805162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920646562742069737375657273206d61792063616c6c207468697300604482015290519081900360640190fd5b6000612b09613118565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612b7d57600080fd5b505afa158015612b91573d6000803e3d6000fd5b505050506040513d6020811015612ba757600080fd5b5051905090565b6060600082519050606081604051908082528060200260200182016040528015612be2578160200160208202803883390190505b50905060005b82811015611dcc5760056000868381518110612c0057fe5b6020026020010151815260200190815260200160002054828281518110612c2357fe5b6020908102919091010152600101612be8565b6000546001600160a01b03163314611cf557612c50613135565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015612c8857600080fd5b505afa158015610896573d6000803e3d6000fd5b600082821015612cae578183036107aa565b50600092915050565b600061139c6822bc31b430b733b2b960b91b612f99565b606060008351905080604051908082528060200260200182016040528015612d00578160200160208202803883390190505b5091506060612d0d61200d565b6001600160a01b0316633b6afe40866040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612d6b578181015183820152602001612d53565b505050509050019250505060006040518083038186803b158015612d8e57600080fd5b505afa158015612da2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015612dcb57600080fd5b8101908080516040519392919084600160201b821115612dea57600080fd5b908301906020820185811115612dff57600080fd5b82518660208202830111600160201b82111715612e1b57600080fd5b82525081516020918201928201910280838360005b83811015612e48578181015183820152602001612e30565b50505050905001604052505050905060008090505b82811015612f90576000828281518110612e7357fe5b6020026020010151905060006001600160a01b0316816001600160a01b03161415612edc576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f1757600080fd5b505afa158015612f2b573d6000803e3d6000fd5b505050506040513d6020811015612f4157600080fd5b50518751909150612f6f90889085908110612f5857fe5b6020026020010151826130af90919063ffffffff16565b868481518110612f7b57fe5b60209081029190910101525050600101612e5d565b50505092915050565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612a025760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561303b578181015183820152602001613023565b50505050905090810190601f1680156130685780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600061139c7021b7b63630ba32b930b626b0b730b3b2b960791b612f99565b600061139c6b22ba3432b92bb930b83832b960a11b612f99565b60006107aa8383670de0b6b3a764000061314f565b60008082126130d357816107ad565b5060000390565b600061139c73233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b612f99565b600061139c6d57726170706572466163746f727960901b612f99565b600061139c6e466c657869626c6553746f7261676560881b612f99565b600061139c6b53797374656d53746174757360a01b612f99565b600080600a8304613166868663ffffffff61318b16565b8161316d57fe5b0490506005600a82061061317f57600a015b600a9004949350505050565b60008261319a575060006107ad565b828202828482816131a757fe5b04146107aa5760405162461bcd60e51b815260040180806020018281038252602181526020018061328e6021913960400191505060405180910390fdfe4578636c7564656420646562742063616e6e6f74206265636f6d65206e65676174697665596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053656e646572206973206e6f7420497373756572206f722045786368616e6765724f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7774c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823fa265627a7a723158202400349b111f11971a00e184852baa1066b223ca1073e686cd4d88dad61c585864736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"DebtCacheSnapshotTaken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"cachedDebt","type":"uint256"}],"name":"DebtCacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"isInvalid","type":"bool"}],"name":"DebtCacheValidityChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cacheInfo","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"},{"internalType":"bool","name":"isStale","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cacheInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cacheStale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cacheTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cachedDebt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"cachedSynthDebt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"cachedSynthDebts","outputs":[{"internalType":"uint256[]","name":"snxIssuedDebts","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentDebt","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"currentSynthDebts","outputs":[{"internalType":"uint256[]","name":"debtValues","type":"uint256[]"},{"internalType":"uint256","name":"futuresDebt","type":"uint256"},{"internalType":"uint256","name":"excludedDebt","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"debtSnapshotStaleTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"excludedIssuedDebts","outputs":[{"internalType":"uint256[]","name":"excludedDebts","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IDebtCache","name":"prevDebtCache","type":"address"},{"internalType":"contract IIssuer","name":"prevIssuer","type":"address"}],"name":"importExcludedIssuedDebts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"purgeCachedSynthDebt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"int256","name":"delta","type":"int256"}],"name":"recordExcludedDebtChange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"takeDebtSnapshot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalNonSnxBackedDebt","outputs":[{"internalType":"uint256","name":"excludedDebt","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"currencyRate","type":"uint256"}],"name":"updateCachedSynthDebtWithRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"updateCachedSynthDebts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256[]","name":"currencyRates","type":"uint256[]"}],"name":"updateCachedSynthDebtsWithRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"int256","name":"amount","type":"int256"}],"name":"updateCachedsUSDDebt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"currentlyInvalid","type":"bool"}],"name":"updateDebtCacheValidity","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x1140dbb0909dd19e64d449d716798fc190c55238dce804eaf35d4f383ec1ae05","urls":["bzz-raw://95e5e71d093af7b280e741894ea69579f7afaab7f9552b3833fa38ab78c4cfd1","dweb:/ipfs/QmPuekBASUQ7SzezYp7cH64y9eVHdQzmGRS7sj4muUYcA1"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"DebtCache.sol":"DebtCache"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"DebtCache.sol":{"keccak256":"0x1140dbb0909dd19e64d449d716798fc190c55238dce804eaf35d4f383ec1ae05","urls":["bzz-raw://95e5e71d093af7b280e741894ea69579f7afaab7f9552b3833fa38ab78c4cfd1","dweb:/ipfs/QmPuekBASUQ7SzezYp7cH64y9eVHdQzmGRS7sj4muUYcA1"]}},"version":1}},"ExchangerWithVirtualSynth":{"bytecode":"60806040523480156200001157600080fd5b506040516200436338038062004363833981810160405260408110156200003757600080fd5b50805160209091015181818080836001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050505061423380620001306000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806353a47bb7116100de5780638925711711610097578063c193f0d811610071578063c193f0d8146104ea578063ce096940146104f2578063d6f32e0614610515578063f450aa34146105415761018e565b80638925711714610482578063899ffef41461048a5780638da5cb5b146104e25761018e565b806353a47bb71461042857806357af302c14610430578063614d08f81461044d578063741853601461045557806379ba50971461045d5780637dd1a57a146104655761018e565b80631b16802c1161014b578063372a395a11610125578063372a395a1461035d5780633fa70f45146103655780634c268fc81461036d5780634f8633d2146103a55761018e565b80631b16802c146102a757806324286df0146102d35780632af64bd3146103415761018e565b806304f3bcec14610193578063059c29ec146101b75780630b9e31c9146101f55780631627540c1461021457806319d5c6651461023a5780631a5c609514610284575b600080fd5b61019b61056a565b604080516001600160a01b039092168252519081900360200190f35b6101e3600480360360408110156101cd57600080fd5b506001600160a01b038135169060200135610579565b60408051918252519081900360200190f35b6102126004803603602081101561020b57600080fd5b503561061d565b005b6102126004803603602081101561022a57600080fd5b50356001600160a01b031661087c565b6102666004803603604081101561025057600080fd5b506001600160a01b0381351690602001356108d8565b60408051938452602084019290925282820152519081900360600190f35b6101e36004803603604081101561029a57600080fd5b50803590602001356108f6565b610266600480360360408110156102bd57600080fd5b506001600160a01b038135169060200135610902565b610212600480360360208110156102e957600080fd5b810190602081018135600160201b81111561030357600080fd5b82018360208201111561031557600080fd5b803590602001918460208302840111600160201b8311171561033657600080fd5b509092509050610983565b610349610b80565b604080519115158252519081900360200190f35b6101e3610c8b565b6101e3610c9a565b6101e36004803603608081101561038357600080fd5b506001600160a01b038135169060208101359060408101359060600135610c9f565b61040760048036036101208110156103bc57600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a081013582169160c082013515159160e0810135909116906101000135610dbf565b604080519283526001600160a01b0390911660208301528051918290030190f35b61019b6110f8565b6103496004803603602081101561044657600080fd5b5035611107565b6101e3611160565b610212611184565b61021261134c565b6101e36004803603602081101561047b57600080fd5b5035611408565b6101e361141a565b610492611424565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104ce5781810151838201526020016104b6565b505050509050019250505060405180910390f35b61019b611499565b6103496114a8565b6102126004803603604081101561050857600080fd5b50803590602001356114b2565b6103496004803603604081101561052b57600080fd5b506001600160a01b03813516906020013561157a565b6102666004803603606081101561055757600080fd5b50803590602081013590604001356115ac565b6002546001600160a01b031681565b60006106146105866115cc565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156105e357600080fd5b505afa1580156105f7573d6000803e3d6000fd5b505050506040513d602081101561060d57600080fd5b50516115e7565b90505b92915050565b610625611646565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561065d57600080fd5b505afa158015610671573d6000803e3d6000fd5b5050505060006001600160a01b0316610688611660565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156106cb57600080fd5b505afa1580156106df573d6000803e3d6000fd5b505050506040513d60208110156106f557600080fd5b50516001600160a01b03161415610743576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b6107c38161074f611674565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561079257600080fd5b505afa1580156107a6573d6000803e3d6000fd5b505050506040513d60208110156107bc57600080fd5b505161168f565b61080b576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b610813611646565b6001600160a01b031663abc0bb6e8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561086157600080fd5b505af1158015610875573d6000803e3d6000fd5b5050505050565b6108846118db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008060006108e78585611926565b50919790965090945092505050565b60006106148383611bf4565b600080600061090f611646565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561095257600080fd5b505afa158015610966573d6000803e3d6000fd5b5050505061097685856001611cb2565b9250925092509250925092565b61098b6118db565b60606000610997611674565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b158015610a0957600080fd5b505afa158015610a1d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610a4657600080fd5b8101908080516040519392919084600160201b821115610a6557600080fd5b908301906020820185811115610a7a57600080fd5b82518660208202830111600160201b82111715610a9657600080fd5b82525081516020918201928201910280838360005b83811015610ac3578181015183820152602001610aab565b505050509190910160405250602001519294509192505081159050610b2f576040805162461bcd60e51b815260206004820181905260248201527f526174657320666f7220676976656e2073796e746873206e6f742076616c6964604482015290519081900360640190fd5b60005b8381101561087557828181518110610b4657fe5b602002602001015160046000878785818110610b5e57fe5b6020908102929092013583525081019190915260400160002055600101610b32565b60006060610b8c611424565b905060005b8151811015610c81576000828281518110610ba857fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610c1057600080fd5b505afa158015610c24573d6000803e3d6000fd5b505050506040513d6020811015610c3a57600080fd5b50516001600160a01b0316141580610c6757506000818152600360205260409020546001600160a01b0316155b15610c785760009350505050610c88565b50600101610b91565b5060019150505b90565b6000610c95612037565b905090565b604181565b816000610caa611660565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ced57600080fd5b505afa158015610d01573d6000803e3d6000fd5b505050506040513d6020811015610d1757600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610d6357600080fd5b505afa158015610d77573d6000803e3d6000fd5b505050506040513d6020811015610d8d57600080fd5b5051905080821115610d9d578091505b8215610db657610db3828463ffffffff6120ee16565b91505b50949350505050565b6000806000610dcc612148565b9050336001600160a01b0382161480610e595750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610e2a57600080fd5b505afa158015610e3e573d6000803e3d6000fd5b505050506040513d6020811015610e5457600080fd5b505114155b610e945760405162461bcd60e51b81526004018080602001828103825260458152602001806141256045913960600191505060405180910390fd5b60008c6001600160a01b03168c6001600160a01b031614610fa357610eb761215f565b6001600160a01b031663faf431bb8e8e6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b03168152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b158015610f2657600080fd5b505afa158015610f3a573d6000803e3d6000fd5b505050506040513d6020811015610f5057600080fd5b5051610fa3576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b610fb18d8c8c8c8c8c61217e565b91955090935090508015801590610fd057506001600160a01b03861615155b8015610fdf5750610fdf612590565b1561106457610fec61260e565b6001600160a01b03166321cad77482886040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561104b57600080fd5b505af115801561105f573d6000803e3d6000fd5b505050505b84156110e857611072612148565b6001600160a01b0316632d3169eb868b87856040518563ffffffff1660e01b815260040180858152602001848152602001838152602001828152602001945050505050600060405180830381600087803b1580156110cf57600080fd5b505af11580156110e3573d6000803e3d6000fd5b505050505b5050995099975050505050505050565b6001546001600160a01b031681565b600061115882611115611674565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561079257600080fd5b90505b919050565b7f45786368616e676572576974685669727475616c53796e74680000000000000081565b606061118e611424565b905060005b81518110156113485760008282815181106111aa57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611260578181015183820152602001611248565b50505050905090810190601f16801561128d5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156112ab57600080fd5b505afa1580156112bf573d6000803e3d6000fd5b505050506040513d60208110156112d557600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611193565b5050565b6001546001600160a01b031633146113955760405162461bcd60e51b81526004018080602001828103825260358152602001806140f06035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60046020526000908152604090205481565b6000610c9561262a565b60608061142f6126a4565b6040805160018082528183019092529192506060919060208083019080388339019050509050755669727475616c53796e74684d6173746572636f707960501b8160008151811061147c57fe5b6020026020010181815250506114928282612835565b9250505090565b6000546001600160a01b031681565b6000610c95612590565b60006114bc611674565b9050336001600160a01b0382161461151b576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b60008211611567576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526004602052604090912055565b60006115868383610579565b1561159357506001610617565b600061159f8484611926565b5050501515949350505050565b60008060006115bc8686866128f1565b5092999198509650945050505050565b6000610c956c45786368616e6765537461746560981b6129cb565b6000806115f261262a565b9050821580611610575061160c838263ffffffff6120ee16565b4210155b1561161f57600091505061115b565b61163f42611633858463ffffffff6120ee16565b9063ffffffff612aa816565b9392505050565b6000610c956b53797374656d53746174757360a01b6129cb565b6000610c956524b9b9bab2b960d11b6129cb565b6000610c956c45786368616e6765526174657360981b6129cb565b60008161169e57506001610617565b60008381526004602052604090205480156116c5576116bd8184612b05565b915050610617565b60606116cf611674565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b15801561171b57600080fd5b505afa15801561172f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561175857600080fd5b8101908080516040519392919084600160201b82111561177757600080fd5b90830190602082018581111561178c57600080fd5b82518660208202830111600160201b821117156117a857600080fd5b82525081516020918201928201910280838360005b838110156117d55781810151838201526020016117bd565b5050505090500160405260200180516040519392919084600160201b8211156117fd57600080fd5b90830190602082018581111561181257600080fd5b82518660208202830111600160201b8211171561182e57600080fd5b82525081516020918201928201910280838360005b8381101561185b578181015183820152602001611843565b505050509050016040525050505090506000600190505b81518110156118cf57600082828151811061188957fe5b60200260200101511180156118b657506118b68282815181106118a857fe5b602002602001015186612b05565b156118c75760019350505050610617565b600101611872565b50600095945050505050565b6000546001600160a01b031633146119245760405162461bcd60e51b815260040180806020018281038252602f81526020018061416a602f913960400191505060405180910390fd5b565b600080600060606119356115cc565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561199257600080fd5b505afa1580156119a6573d6000803e3d6000fd5b505050506040513d60208110156119bc57600080fd5b50516040805182815260208084028201019091529092506060908380156119fd57816020015b6119ea6140a4565b8152602001906001900390816119e25790505b50905060005b83811015611be857600080611a166140a4565b611a218b8b86612b64565b9050600080611a2f83612c7f565b915091506000611a3d611674565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b158015611aac57600080fd5b505afa158015611ac0573d6000803e3d6000fd5b505050506040513d6020811015611ad657600080fd5b50516080850151909150600090611aee908390612dd2565b9050611afe856060015182612b05565b611b73578085606001511115611b3c576060850151611b23908263ffffffff612aa816565b9650611b358d8863ffffffff6120ee16565b9c50611b73565b8460600151811115611b73576060850151611b5e90829063ffffffff612aa816565b9550611b708c8763ffffffff6120ee16565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a00151815250898981518110611bc957fe5b6020026020010181905250505050505050508080600101915050611a03565b50905092959194509250565b6000611bff82612e64565b9050631cd554d160e21b831480611c1c5750631cd554d160e21b82145b15611c2657610617565b607360f81b6001600160f81b0319600085901a60f81b16148015611c5e5750606960f81b6001600160f81b0319600084901a60f81b16145b80611c9c5750606960f81b6001600160f81b0319600085901a60f81b16148015611c9c5750607360f81b6001600160f81b0319600084901a60f81b16145b156106175761061481600263ffffffff612f3c16565b6000806000611cc18686610579565b15611cfd5760405162461bcd60e51b81526004018080602001828103825260238152602001806141dc6023913960400191505060405180910390fd5b60008060006060611d0e8a8a611926565b935093509350935082841115611d4057611d2e848463ffffffff612aa816565b9650611d3b8a8a89612f95565b611d65565b83831115611d6557611d58838563ffffffff612aa816565b9550611d658a8a88613102565b878015611d7c57506000871180611d7c5750600086115b15611e6257604080516001808252818301909252606091602080830190803883390190505090508981600081518110611db157fe5b602002602001018181525050611dc5613252565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611e23578181015183820152602001611e0b565b5050505090500192505050600060405180830381600087803b158015611e4857600080fd5b505af1158015611e5c573d6000803e3d6000fd5b50505050505b60005b8151811015611fa7578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940838381518110611ea557fe5b602002602001015160000151848481518110611ebd57fe5b602002602001015160200151858581518110611ed557fe5b602002602001015160400151868681518110611eed57fe5b602002602001015160600151878781518110611f0557fe5b602002602001015160800151888881518110611f1d57fe5b602002602001015160a00151898981518110611f3557fe5b602002602001015160c001518a8a81518110611f4d57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101611e65565b50819450611fb36115cc565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561201257600080fd5b505af1158015612026573d6000803e3d6000fd5b505050505050505093509350939050565b6000612041613269565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156120bd57600080fd5b505afa1580156120d1573d6000803e3d6000fd5b505050506040513d60208110156120e757600080fd5b5051905090565b600082820183811015610614576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610c95680a6f2dce8d0cae8d2f60bb1b6129cb565b6000610c957044656c6567617465417070726f76616c7360781b6129cb565b600080600061218e888888613286565b600061219b888b8b61345f565b9050806121b2575060009250829150819050612584565b60008060006121c2848d8c6128f1565b939a509198509450925090506121d88c83613497565b806121e857506121e88a82613497565b1561220157506000955085945084935061258492505050565b6122108c8e868d8b8e8e613532565b94506001600160a01b03851615612225578498505b851561247e57612233611674565b6001600160a01b031663654a60ac8b88631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561228d57600080fd5b505afa1580156122a1573d6000803e3d6000fd5b505050506040513d60208110156122b757600080fd5b505195506122c3611660565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561230d57600080fd5b505afa158015612321573d6000803e3d6000fd5b505050506040513d602081101561233757600080fd5b50516001600160a01b031663867904b461234f613810565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561238757600080fd5b505afa15801561239b573d6000803e3d6000fd5b505050506040513d60208110156123b157600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018a905251604480830192600092919082900301818387803b15801561240057600080fd5b505af1158015612414573d6000803e3d6000fd5b50505050612420613810565b6001600160a01b03166322bf55ef876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561246557600080fd5b505af1158015612479573d6000803e3d6000fd5b505050505b6124b060405180604001604052808e81526020018c815250604051806040016040528085815260200184815250613825565b6124b8612148565b6001600160a01b0316636c00f3108e8e878e8c8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b15801561254957600080fd5b505af115801561255d573d6000803e3d6000fd5b50505050600061256b61262a565b111561257f5761257f898d868d8b88613ae3565b505050505b96509650969350505050565b600061259a613269565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156120bd57600080fd5b6000610c956d54726164696e675265776172647360901b6129cb565b6000612634613269565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156120bd57600080fd5b6060806126af613cf4565b60408051600980825261014082019092529192506060919060208201610120803883390190505090506b53797374656d53746174757360a01b816000815181106126f557fe5b6020026020010181815250506c45786368616e6765537461746560981b8160018151811061271f57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061274957fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061276f57fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061279357fe5b6020026020010181815250506d54726164696e675265776172647360901b816005815181106127be57fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b816006815181106127ec57fe5b6020026020010181815250506524b9b9bab2b960d11b8160078151811061280f57fe5b6020026020010181815250506844656274436163686560b81b8160088151811061147c57fe5b60608151835101604051908082528060200260200182016040528015612865578160200160208202803883390190505b50905060005b83518110156128a75783818151811061288057fe5b602002602001015182828151811061289457fe5b602090810291909101015260010161286b565b5060005b82518110156128ea578281815181106128c057fe5b60200260200101518282865101815181106128d757fe5b60209081029190910101526001016128ab565b5092915050565b600080600080600080612902611674565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b15801561295557600080fd5b505afa158015612969573d6000803e3d6000fd5b505050506040513d606081101561297f57600080fd5b5080516020820151604090920151919450909250905061299f8888611bf4565b93506129ab8185612dd2565b95506129bd818763ffffffff612aa816565b945050939792965093509350565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816128ea5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a6d578181015183820152602001612a55565b50505050905090810190601f168015612a9a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600082821115612aff576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000821580612b12575081155b15612b1f57506001610617565b600083831115612b4057612b39838563ffffffff613d4516565b9050612b53565b612b50848463ffffffff613d4516565b90505b612b5b612037565b11159392505050565b612b6c6140a4565b600080600080600080600080612b806115cc565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b158015612be657600080fd5b505afa158015612bfa573d6000803e3d6000fd5b505050506040513d610100811015612c1157600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b6000806000612c8c611674565b90506000612c9861262a565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b158015612d0257600080fd5b505afa158015612d16573d6000803e3d6000fd5b505050506040513d6020811015612d2c57600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b158015612d9c57600080fd5b505afa158015612db0573d6000803e3d6000fd5b505050506040513d6020811015612dc657600080fd5b50519395939450505050565b6000610614612e578373__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612e1f57600080fd5b505af4158015612e33573d6000803e3d6000fd5b505050506040513d6020811015612e4957600080fd5b50519063ffffffff612aa816565b849063ffffffff613d6f16565b6000612e6e613269565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612f0a57600080fd5b505afa158015612f1e573d6000803e3d6000fd5b505050506040513d6020811015612f3457600080fd5b505192915050565b600082612f4b57506000610617565b82820282848281612f5857fe5b04146106145760405162461bcd60e51b81526004018080602001828103825260218152602001806141996021913960400191505060405180910390fd5b612f9d611660565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612fe057600080fd5b505afa158015612ff4573d6000803e3d6000fd5b505050506040513d602081101561300a57600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b15801561305e57600080fd5b505af1158015613072573d6000803e3d6000fd5b5050505061307e612148565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156130e557600080fd5b505af11580156130f9573d6000803e3d6000fd5b50505050505050565b61310a611660565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561314d57600080fd5b505afa158015613161573d6000803e3d6000fd5b505050506040513d602081101561317757600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b1580156131cb57600080fd5b505af11580156131df573d6000803e3d6000fd5b505050506131eb612148565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156130e557600080fd5b6000610c956844656274436163686560b81b6129cb565b6000610c956e466c657869626c6553746f7261676560881b6129cb565b808314156132d1576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b60008211613314576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b6040805160028082526060808301845292602083019080388339019050509050838160008151811061334257fe5b602002602001018181525050818160018151811061335c57fe5b602002602001018181525050613370611674565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156133ce5781810151838201526020016133b6565b505050509050019250505060206040518083038186803b1580156133f157600080fd5b505afa158015613405573d6000803e3d6000fd5b505050506040513d602081101561341b57600080fd5b5051156134595760405162461bcd60e51b81526004018080602001828103825260228152602001806141ba6022913960400191505060405180910390fd5b50505050565b600080600061347085856000611cb2565b889550909350915050801561348e5761348b85858885610c9f565b92505b50509392505050565b60006134a3838361168f565b1561351f576134b0611646565b6001600160a01b031663abc0bb6e8460416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156134fe57600080fd5b505af1158015613512573d6000803e3d6000fd5b5050505060019050610617565b6000928352600460205260409092205590565b600061353c611660565b6001600160a01b03166332608039896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561357f57600080fd5b505afa158015613593573d6000803e3d6000fd5b505050506040513d60208110156135a957600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b1580156135fd57600080fd5b505af1158015613611573d6000803e3d6000fd5b50505050600061361f611660565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561366257600080fd5b505afa158015613676573d6000803e3d6000fd5b505050506040513d602081101561368c57600080fd5b50519050821561378b57600081905061370b816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b1580156136d757600080fd5b505afa1580156136eb573d6000803e3d6000fd5b505050506040513d602081101561370157600080fd5b505186888a613d99565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561376d57600080fd5b505af1158015613781573d6000803e3d6000fd5b5050505050613804565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156137eb57600080fd5b505af11580156137ff573d6000803e3d6000fd5b505050505b50979650505050505050565b6000610c9566119959541bdbdb60ca1b6129cb565b8151600090631cd554d160e21b148061384857506020830151631cd554d160e21b145b905060008161385857600361385b565b60025b60ff16905060608160405190808252806020026020018201604052801561388c578160200160208202803883390190505b5090508460006020020151816000815181106138a457fe5b60209081029190910101528460016020020151816001815181106138c457fe5b6020026020010181815250506060826040519080825280602002602001820160405280156138fc578160200160208202803883390190505b50905084600060200201518160008151811061391457fe5b602090810291909101015284600160200201518160018151811061393457fe5b602002602001018181525050836139f257631cd554d160e21b8260028151811061395a57fe5b60200260200101818152505073__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156139aa57600080fd5b505af41580156139be573d6000803e3d6000fd5b505050506040513d60208110156139d457600080fd5b50518151829060029081106139e557fe5b6020026020010181815250505b6139fa613252565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613a5d578181015183820152602001613a45565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613a9c578181015183820152602001613a84565b50505050905001945050505050600060405180830381600087803b158015613ac357600080fd5b505af1158015613ad7573d6000803e3d6000fd5b50505050505050505050565b6000613aed611674565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613b3557600080fd5b505afa158015613b49573d6000803e3d6000fd5b505050506040513d6020811015613b5f57600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b158015613bae57600080fd5b505afa158015613bc2573d6000803e3d6000fd5b505050506040513d6020811015613bd857600080fd5b50519050613be46115cc565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b158015613c6957600080fd5b505af1158015613c7d573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110613d3657fe5b60200260200101818152505090565b600061061482613d6385670de0b6b3a764000063ffffffff612f3c16565b9063ffffffff613f2e16565b6000670de0b6b3a7640000613d8a848463ffffffff612f3c16565b81613d9157fe5b049392505050565b6000606960f81b6001600160f81b031983831a60f81b161415613e03576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732073796e746800000000604482015290519081900360640190fd5b6000613e4b613e10613f98565b6040518060400160405280601b81526020017f436f756c64206e6f7420637265617465206e6577207653796e74680000000000815250613fbc565b60025460408051638d7017d360e01b81526001600160a01b038a81166004830152928316602482015288831660448201526064810188905260848101879052905192935090831691638d7017d39160a48082019260009290919082900301818387803b158015613eba57600080fd5b505af1158015613ece573d6000803e3d6000fd5b5050604080516001600160a01b038581168252602082018890528183018990529151828a169450918a1692507fb5ec76d79549c775883022e4426db5cd36bd5307f216cdb341554c301548ef9f919081900360600190a395945050505050565b6000808211613f84576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613f8f57fe5b04949350505050565b6000610c95755669727475616c53796e74684d6173746572636f707960501b6129cb565b60006060613fc984614034565b90506037602082016000f09150826001600160a01b03831661402c5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612a6d578181015183820152602001612a55565b505092915050565b60408051693d602d80600a3d3981f360b01b602082015269363d3d373d3d3d363d7360b01b602a82015260609290921b6bffffffffffffffffffffffff191660348301526e5af43d82803e903d91602b57fd5bf360881b6048830152805180830360370181526057909201905290565b6040518061010001604052806000801916815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a72315820500914a952fa6ffe38741d57f18a348e355824c127f8a6899b188f72cf3713af64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amountReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"name":"ExchangeEntryAppended","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reclaim","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rebate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"srcRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"destRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeTimestamp","type":"uint256"}],"name":"ExchangeEntrySettled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"synth","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"address","name":"vSynth","type":"address"},{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"VirtualSynthCreated","type":"event"},{"constant":true,"inputs":[],"name":"CIRCUIT_BREAKER_SUSPENSION_REASON","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"}],"name":"calculateAmountAfterSettlement","outputs":[{"internalType":"uint256","name":"amountAfterSettlement","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"exchangeForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"destinationAddress","type":"address"},{"internalType":"bool","name":"virtualSynth","type":"bool"},{"internalType":"address","name":"rewardAddress","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"contract IVirtualSynth","name":"vSynth","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"feeRateForExchange","outputs":[{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"getAmountsForExchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"hasWaitingPeriodOrSettlementOwing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"isSynthRateInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"lastExchangeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"maxSecsLeftInWaitingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"priceDeviationThresholdFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"resetLastExchangeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setLastExchangeRateForSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settle","outputs":[{"internalType":"uint256","name":"reclaimed","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"},{"internalType":"uint256","name":"numEntriesSettled","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settlementOwing","outputs":[{"internalType":"uint256","name":"reclaimAmount","type":"uint256"},{"internalType":"uint256","name":"rebateAmount","type":"uint256"},{"internalType":"uint256","name":"numEntries","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"suspendSynthWithInvalidRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tradingRewardsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"waitingPeriodSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x059aa9b7964b0808f8cd484d5f281c3d13141a379af7c58b781c4b62839e79d2","urls":["bzz-raw://153aed1de3b6ee4c942440aa0e1e95f3c51197569b0fd5f603acdd6f38df2192","dweb:/ipfs/QmUSg1MHssQvB6Drh8FM4LF2KxQL7bPwnK16y96cY2eYJG"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ExchangerWithVirtualSynth.sol":"ExchangerWithVirtualSynth"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"ExchangerWithVirtualSynth.sol":{"keccak256":"0x059aa9b7964b0808f8cd484d5f281c3d13141a379af7c58b781c4b62839e79d2","urls":["bzz-raw://153aed1de3b6ee4c942440aa0e1e95f3c51197569b0fd5f603acdd6f38df2192","dweb:/ipfs/QmUSg1MHssQvB6Drh8FM4LF2KxQL7bPwnK16y96cY2eYJG"]}},"version":1}},"CollateralManagerState":{"bytecode":"60806040523480156200001157600080fd5b50604051620011b2380380620011b2833981016040819052620000349162000190565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f906200029d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000265565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f906200028b565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906200013690839062000255565b60405180910390a150506004805460018101825560009182527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01555042600555620002f8565b80516200018a81620002de565b92915050565b60008060408385031215620001a457600080fd5b6000620001b285856200017d565b9250506020620001c5858286016200017d565b9150509250929050565b620001da81620002ca565b82525050565b620001da81620002b8565b6000620001fa601183620002af565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000229601983620002af565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200018a8284620001e0565b60408101620002758285620001cf565b620002846020830184620001e0565b9392505050565b602080825281016200018a81620001eb565b602080825281016200018a816200021a565b90815260200190565b60006001600160a01b0382166200018a565b60006200018a8260006200018a82620002b8565b620002e981620002b8565b8114620002f557600080fd5b50565b610eaa80620003086000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638c58250311610104578063cc952b57116100a2578063e50a31b311610071578063e50a31b31461038f578063eb94bbde146103a2578063ed039154146103b5578063f53037b6146103c8576101cf565b8063cc952b571461034e578063d2f0047514610356578063e31f27c114610369578063e32261fe1461037c576101cf565b8063a29fe7b8116100de578063a29fe7b81461030d578063aefc4ccb14610320578063af07aa9d14610328578063b52e0dc81461033b576101cf565b80638c582503146102ea5780638da5cb5b146102f2578063a0356f6e146102fa576101cf565b806352f445ca116101715780636431e0bd1161014b5780636431e0bd146102a6578063781dc0e2146102b957806379ba5097146102c157806383d625d4146102c9576101cf565b806352f445ca1461026b57806353a47bb71461027e5780635537479914610293576101cf565b806322e07b7a116101ad57806322e07b7a14610235578063246206391461023d578063381c5cb5146102505780635246f2b914610258576101cf565b806303f048b0146101d45780631627540c14610200578063173fcb4114610215575b600080fd5b6101e76101e2366004610b70565b6103db565b6040516101f79493929190610df2565b60405180910390f35b61021361020e366004610b4a565b610415565b005b610228610223366004610b8e565b610473565b6040516101f79190610dc9565b6102286104a1565b61021361024b366004610b8e565b6104a7565b61022861050d565b610213610266366004610b8e565b610514565b610213610279366004610b4a565b610579565b6102866105cc565b6040516101f79190610d50565b6102286102a1366004610b70565b6105db565b6102136102b4366004610b70565b6105ed565b610228610631565b610213610637565b6102dc6102d7366004610b70565b6106d3565b6040516101f7929190610dd7565b6102286106ec565b610286610737565b610228610308366004610b70565b610746565b61022861031b366004610b70565b610758565b610286610776565b6101e7610336366004610b8e565b610785565b610228610349366004610b70565b6107c5565b6102286107e6565b610228610364366004610b70565b6107ec565b610213610377366004610b8e565b61082c565b61022861038a366004610b70565b610878565b61021361039d366004610b8e565b6108bb565b6102136103b0366004610b8e565b61091a565b6102136103c3366004610b70565b610963565b6102136103d6366004610b70565b6109d6565b6000806000806103e961050d565b90506103f4856107c5565b9350610402600182036107c5565b925061040c610631565b91509193509193565b61041d610a39565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610468908390610d50565b60405180910390a150565b6006602052816000526040600020818154811061048c57fe5b90600052602060002001600091509150505481565b60055481565b6002546001600160a01b031633146104da5760405162461bcd60e51b81526004016104d190610db9565b60405180910390fd5b60008281526006602090815260408083208054600181018255908452828420019390935592815260079092529020429055565b6004545b90565b6002546001600160a01b0316331461053e5760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a6516565b6000928352600860205260409092206001019190915550565b610581610a39565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610468908390610d50565b6001546001600160a01b031681565b60076020526000908152604090205481565b6002546001600160a01b031633146106175760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040812061062e91610afd565b50565b60055490565b6001546001600160a01b031633146106615760405162461bcd60e51b81526004016104d190610d79565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926106a4926001600160a01b0391821692911690610d5e565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6008602052600090815260409020805460019091015482565b6002546000906001600160a01b031633146107195760405162461bcd60e51b81526004016104d190610db9565b60035461072d90600163ffffffff610a9216565b6003819055905090565b6000546001600160a01b031681565b60009081526006602052604090205490565b6004818154811061076557fe5b600091825260209091200154905081565b6002546001600160a01b031681565b60008060008061079486610746565b90506107a08686610abe565b93506107af8660018303610abe565b92506107ba86610aeb565b915092959194509250565b6000600482815481106107d457fe5b90600052602060002001549050919050565b60035481565b6002546000906001600160a01b031633146108195760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090205490565b6002546001600160a01b031633146108565760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a9216565b6002546000906001600160a01b031633146108a55760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090206001015490565b6002546001600160a01b031633146108e55760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a6516565b6000928352600860205260409092209190915550565b6002546001600160a01b031633146109445760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a9216565b6002546001600160a01b0316331461098d5760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040902054156109a65761062e565b60008181526006602090815260408083208054600181018255908452828420018390559282526007905220429055565b6002546001600160a01b03163314610a005760405162461bcd60e51b81526004016104d190610db9565b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b015542600555565b6000546001600160a01b03163314610a635760405162461bcd60e51b81526004016104d190610da9565b565b600082821115610a875760405162461bcd60e51b81526004016104d190610d99565b508082035b92915050565b600082820183811015610ab75760405162461bcd60e51b81526004016104d190610d89565b9392505050565b6000828152600660205260408120805483908110610ad857fe5b9060005260206000200154905092915050565b60009081526007602052604090205490565b508054600082559060005260206000209081019061062e919061051191905b80821115610b305760008155600101610b1c565b5090565b8035610a8c81610e4a565b8035610a8c81610e5e565b600060208284031215610b5c57600080fd5b6000610b688484610b34565b949350505050565b600060208284031215610b8257600080fd5b6000610b688484610b3f565b60008060408385031215610ba157600080fd5b6000610bad8585610b3f565b9250506020610bbe85828601610b3f565b9150509250929050565b610bd181610e39565b82525050565b6000610be4603583610e30565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610c3b601b83610e30565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610c74601e83610e30565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610cad602f83610e30565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000610cfe603483610e30565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b610bd181610511565b60208101610a8c8284610bc8565b60408101610d6c8285610bc8565b610ab76020830184610bc8565b60208082528101610a8c81610bd7565b60208082528101610a8c81610c2e565b60208082528101610a8c81610c67565b60208082528101610a8c81610ca0565b60208082528101610a8c81610cf1565b60208101610a8c8284610d47565b60408101610de58285610d47565b610ab76020830184610d47565b60808101610e008287610d47565b610e0d6020830186610d47565b610e1a6040830185610d47565b610e276060830184610d47565b95945050505050565b90815260200190565b60006001600160a01b038216610a8c565b610e5381610e39565b811461062e57600080fd5b610e538161051156fea365627a7a7231582091503a827566fb95d584f2050719a607ef349a163fcecc6fa8da3f5f578977266c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"addShortCurrency","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xed039154"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"borrowRates","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa29fe7b8"},{"constant":true,"inputs":[],"name":"borrowRatesLastUpdated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x22e07b7a"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decrementLongs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe50a31b3"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decrementShorts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5246f2b9"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRateAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb52e0dc8"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRatesAndTime","outputs":[{"internalType":"uint256","name":"entryRate","type":"uint256"},{"internalType":"uint256","name":"lastRate","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"newIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x03f048b0"},{"constant":true,"inputs":[],"name":"getRatesLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x381c5cb5"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getShortRatesAndTime","outputs":[{"internalType":"uint256","name":"entryRate","type":"uint256"},{"internalType":"uint256","name":"lastRate","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"newIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaf07aa9d"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"getShortRatesLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa0356f6e"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"incrementLongs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xeb94bbde"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"incrementShorts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe31f27c1"},{"constant":false,"inputs":[],"name":"incrementTotalLoans","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8c582503"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"long","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd2f00475"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"ratesLastUpdated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x781dc0e2"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"removeShortCurrency","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x6431e0bd"},{"constant":false,"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"short","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe32261fe"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"shortRates","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x173fcb41"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"shortRatesLastUpdated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x55374799"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"totalIssuedSynths","outputs":[{"internalType":"uint256","name":"long","type":"uint256"},{"internalType":"uint256","name":"short","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x83d625d4"},{"constant":true,"inputs":[],"name":"totalLoans","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcc952b57"},{"constant":false,"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"updateBorrowRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf53037b6"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"updateShortRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x24620639"}],"source":{"keccak256":"0x614dd98ef6d3ac07a6f11efcf61e17925555e41e6bc964956eeca7c541af4d54","urls":["bzz-raw://825799e40255dcc29a4ba6a382505d6011fb083a8e2f77b97b6120e3b744c078","dweb:/ipfs/QmYAZDCd8oTyFCJC4zbZ583htPkiXW6ivWvaFA1UUYVHFE"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"CollateralManagerState.sol":"CollateralManagerState"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"CollateralManagerState.sol":{"keccak256":"0x614dd98ef6d3ac07a6f11efcf61e17925555e41e6bc964956eeca7c541af4d54","urls":["bzz-raw://825799e40255dcc29a4ba6a382505d6011fb083a8e2f77b97b6120e3b744c078","dweb:/ipfs/QmYAZDCd8oTyFCJC4zbZ583htPkiXW6ivWvaFA1UUYVHFE"]}},"version":1}},"CollateralManager":{"bytecode":"670de0b6b3a7640000600e5560c06040526524b9b9bab2b960d11b60809081526c45786368616e6765526174657360981b60a052620000439060129060026200030a565b503480156200005157600080fd5b5060405162003c7838038062003c7883398101604081905262000074916200039a565b83856001600160a01b038116620000a85760405162461bcd60e51b81526004016200009f90620005a9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000f59184906200054d565b60405180910390a1506000546001600160a01b0316620001295760405162461bcd60e51b81526004016200009f9062000597565b60038054610100600160a81b0319166101006001600160a01b039384160217905560008054336001600160a01b031991821617909155600580549091169188169190911790556200017a83620001cf565b6200018e826001600160e01b036200024716565b620001a2816001600160e01b036200029116565b5050600080546001600160a01b0319166001600160a01b0394909416939093179092555062000637915050565b620001e26001600160e01b03620002db16565b60008111620002055760405162461bcd60e51b81526004016200009f9062000573565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906200023c908390620005bb565b60405180910390a150565b6200025a6001600160e01b03620002db16565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906200023c908390620005bb565b620002a46001600160e01b03620002db16565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906200023c908390620005bb565b6000546001600160a01b03163314620003085760405162461bcd60e51b81526004016200009f9062000585565b565b82601881019282156200033b579160200282015b828111156200033b5782518255916020019190600101906200031e565b50620003499291506200034d565b5090565b6200036a91905b8082111562000349576000815560010162000354565b90565b80516200037a8162000607565b92915050565b80516200037a8162000621565b80516200037a816200062c565b60008060008060008060c08789031215620003b457600080fd5b6000620003c2898962000380565b9650506020620003d589828a016200036d565b9550506040620003e889828a016200036d565b9450506060620003fb89828a016200038d565b93505060806200040e89828a016200038d565b92505060a06200042189828a016200038d565b9150509295509295509295565b6200043981620005fa565b82525050565b6200043981620005d4565b600062000459601683620005cb565b7f4d7573742062652067726561746572207468616e203000000000000000000000815260200192915050565b600062000494602f83620005cb565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000620004e7601183620005cb565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000516601983620005cb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b62000439816200036a565b604081016200055d82856200042e565b6200056c60208301846200043f565b9392505050565b602080825281016200037a816200044a565b602080825281016200037a8162000485565b602080825281016200037a81620004d8565b602080825281016200037a8162000507565b602081016200037a828462000542565b90815260200190565b60006200037a82620005ee565b60006200037a82620005d4565b6001600160a01b031690565b60006200037a82620005e1565b6200061281620005d4565b81146200061e57600080fd5b50565b6200061281620005e1565b62000612816200036a565b61363180620006476000396000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c806391b4ded911610182578063c88b412e116100e9578063e32261fe116100a2578063ee81f7901161007c578063ee81f790146105ec578063f0e740c3146105ff578063f53037b614610612578063ffa749cd14610625576102d6565b8063e32261fe146105b3578063e50a31b3146105c6578063eb94bbde146105d9576102d6565b8063c88b412e14610557578063c9e180151461056a578063ca969f2314610572578063d0064c0014610585578063d2f004751461058d578063e31f27c1146105a0576102d6565b8063b3b467321161013b578063b3b4673214610503578063b4d6cb401461050b578063ba1c5e801461052c578063bbb601cd14610534578063bf38668214610547578063c19d93fb1461054f576102d6565b806391b4ded9146104a757806393a72fbe146104af5780639f7eac37146104c2578063ad79a858146104d5578063af07aa9d146104dd578063b38988f7146104f0576102d6565b806353a47bb71161024157806374185360116101fa5780638471db13116101d45780638471db1314610464578063899ffef4146104775780638b173e811461048c5780638da5cb5b1461049f576102d6565b80637418536014610441578063744d646e1461044957806379ba50971461045c576102d6565b806353a47bb7146103e35780635c975abb146103f8578063614d08f8146104005780636526941b14610408578063710388d11461041b57806372e18b6a1461042e576102d6565b806323d60e2e1161029357806323d60e2e1461036d57806324620639146103805780632af64bd31461039357806338245377146103a85780634db7764c146103c85780635246f2b9146103d0576102d6565b806303f048b0146102db57806304f3bcec146103075780630c9c81a11461031c5780631627540c1461033157806316c38b3c146103445780631e33fc6b14610357575b600080fd5b6102ee6102e9366004612e42565b610638565b6040516102fe94939291906134d2565b60405180910390f35b61030f6106cf565b6040516102fe9190613413565b61032f61032a366004612e42565b6106e3565b005b61032f61033f366004612caa565b61072b565b61032f610352366004612e06565b61077e565b61035f6107f3565b6040516102fe9291906133a2565b61032f61037b366004612dcd565b610ae6565b61032f61038e366004612e7e565b610bc0565b61039b610c5c565b6040516102fe919061335d565b6103bb6103b6366004612e42565b610d79565b6040516102fe9190613386565b6103bb610d8b565b61032f6103de366004612e7e565b610d91565b6103eb610ded565b6040516102fe9190613323565b61039b610dfc565b6103bb610e05565b61032f610416366004612e42565b610e1d565b61032f610429366004612dcd565b610e7a565b61039b61043c366004612dcd565b610f42565b61032f610fdc565b61039b610457366004612d28565b611132565b61032f61117c565b61039b610472366004612e42565b611218565b61047f61122c565b6040516102fe919061334c565b61032f61049a366004612e42565b6113e4565b6103eb611421565b6103bb611430565b61039b6104bd366004612dcd565b611436565b61032f6104d0366004612e42565b611581565b61035f6115ae565b6102ee6104eb366004612e7e565b61178f565b61039b6104fe366004612caa565b61182a565b6103bb611843565b61051e610519366004612e7e565b6118fc565b6040516102fe92919061336b565b61035f6119ef565b61032f610542366004612ce6565b611b12565b6103bb611bf2565b61030f611bf8565b61032f610565366004612d5d565b611c07565b6103bb611d82565b61032f610580366004612ce6565b611d88565b6103bb611f58565b6103bb61059b366004612e42565b611f5e565b61032f6105ae366004612e7e565b611fdf565b6103bb6105c1366004612e42565b61203b565b61032f6105d4366004612e7e565b61206c565b61032f6105e7366004612e7e565b6120c8565b61035f6105fa366004612e42565b612124565b6103bb61060d366004612e42565b61243e565b61032f610620366004612e42565b612450565b61032f610633366004612ce6565b6124e0565b600554604051623f048b60e41b81526000918291829182916001600160a01b03909116906303f048b090610670908890600401613386565b60806040518083038186803b15801561068857600080fd5b505afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106c09190810190612ee8565b92989197509550909350915050565b60035461010090046001600160a01b031681565b6106eb612599565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec0205573924700490610720908390613386565b60405180910390a150565b610733612599565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610720908390613323565b610786612599565b60035460ff161515811515141561079c576107f0565b6003805460ff1916821515179081905560ff16156107b957426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916107209160ff9091169061335d565b50565b6008805460408051602080840282018101909252828152600093849360609383018282801561084157602002820191906000526020600020905b81548152602001906001019080831161082d575b50505050509050600081511115610ae15760005b8151811015610adf57600061087c83838151811061086f57fe5b60200260200101516125c5565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b457600080fd5b505afa1580156108c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108ec9190810190612e60565b9050631cd554d160e21b8114156109935760055460405163d2f0047560e01b815261098c916001600160a01b03169063d2f004759061092f908590600401613386565b60206040518083038186803b15801561094757600080fd5b505afa15801561095b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097f9190810190612e60565b869063ffffffff6125d016565b9450610ad6565b60008061099e6125fc565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b81526004016109c99190613386565b604080518083038186803b1580156109e057600080fd5b505afa1580156109f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a189190810190612eb8565b60055460405163d2f0047560e01b8152929450909250600091610ab39185916001600160a01b039091169063d2f0047590610a57908990600401613386565b60206040518083038186803b158015610a6f57600080fd5b505afa158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa79190810190612e60565b9063ffffffff61261c16565b9050610ac5888263ffffffff6125d016565b97508115610ad257600196505b5050505b50600101610855565b505b509091565b610aee612599565b60005b83811015610bb957610b1f858583818110610b0857fe5b90506020020135600861264690919063ffffffff16565b610bb1576000858583818110610b3157fe5b905060200201359050610b4e81600861269690919063ffffffff16565b80600a6000868686818110610b5f57fe5b905060200201358152602001908152602001600020819055507f87f8a613724bd8be7a9139e4c83bc8d58fedee7206e2d7077849f5988d78759981604051610ba79190613386565b60405180910390a1505b600101610af1565b5050505050565b6000610bcb3361182a565b905080610bf35760405162461bcd60e51b8152600401610bea906134c2565b60405180910390fd5b600554604051632462063960e01b81526001600160a01b0390911690632462063990610c2590869086906004016133d0565b600060405180830381600087803b158015610c3f57600080fd5b505af1158015610c53573d6000803e3d6000fd5b50505050505050565b60006060610c6861122c565b905060005b8151811015610d6f576000828281518110610c8457fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a72191610cda91869101613386565b60206040518083038186803b158015610cf257600080fd5b505afa158015610d06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2a9190810190612cc8565b6001600160a01b0316141580610d5557506000818152600460205260409020546001600160a01b0316155b15610d665760009350505050610d76565b50600101610c6d565b5060019150505b90565b600a6020526000908152604090205481565b60115481565b6000610d9c3361182a565b905080610dbb5760405162461bcd60e51b8152600401610bea906134c2565b600554604051635246f2b960e01b81526001600160a01b0390911690635246f2b990610c2590869086906004016133d0565b6001546001600160a01b031681565b60035460ff1681565b7021b7b63630ba32b930b626b0b730b3b2b960791b81565b610e25612599565b60008111610e455760405162461bcd60e51b8152600401610bea90613492565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f90610720908390613386565b610e82612599565b60005b83811015610bb957610e9c858583818110610b0857fe5b15610f3a57610ec7858583818110610eb057fe5b9050602002013560086126ce90919063ffffffff16565b600a6000848484818110610ed757fe5b905060200201358152602001908152602001600020600090557f788aff97f65e6ddeee9246c47d08b819813066c87876a912c79baddffb138f0a858583818110610f1d57fe5b90506020020135604051610f319190613386565b60405180910390a15b600101610e85565b6008546000908414610f5657506000610fd4565b60005b84811015610fce57610f70868683818110610b0857fe5b610f7e576000915050610fd4565b858582818110610f8a57fe5b90506020020135600a6000868685818110610fa157fe5b9050602002013581526020019081526020016000205414610fc6576000915050610fd4565b600101610f59565b50600190505b949350505050565b6060610fe661122c565b905060005b815181101561112e57600082828151811061100257fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016110449190613318565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016110709291906133b0565b60206040518083038186803b15801561108857600080fd5b505afa15801561109c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110c09190810190612cc8565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061111c9084908490613394565b60405180910390a15050600101610feb565b5050565b6000805b82518110156111715761115b83828151811061114e57fe5b602002602001015161182a565b611169576000915050611177565b600101611136565b50600190505b919050565b6001546001600160a01b031633146111a65760405162461bcd60e51b8152600401610bea90613442565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926111e9926001600160a01b0391821692911690613331565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000908152600a6020526040902054151590565b6040805160028082526060808301845292839291906020830190803883390190505090506524b9b9bab2b960d11b8160008151811061126757fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061129157fe5b6020908102919091010152600b54606090801561136557806002026040519080825280602002602001820160405280156112d5578160200160208202803883390190505b50915060005b8181101561136357600b8054829081106112f157fe5b906000526020600020015483828151811061130857fe5b602002602001018181525050600d6000600b600001838154811061132857fe5b9060005260206000200154815260200190815260200160002054838383018151811061135057fe5b60209081029190910101526001016112db565b505b60088054604080516020808402820181019092528281526060936113be9387938301828280156113b457602002820191906000526020600020905b8154815260200190600101908083116113a0575b50505050506127a2565b8051909150156113d9576113d281856127a2565b94506113dd565b8394505b5050505090565b6113ec612599565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc990610720908390613386565b6000546001600160a01b031681565b60025481565b60008382146114575760405162461bcd60e51b8152600401610bea90613432565b600b54841461146857506000610fd4565b60005b848110156114cf57600086868381811061148157fe5b90506020020135905061149e81600b61264690919063ffffffff16565b15806114b657506000818152600d6020526040902054155b156114c657600092505050610fd4565b5060010161146b565b5060005b82811015610fce576005546001600160a01b031663a0356f6e8585848181106114f857fe5b905060200201356040518263ffffffff1660e01b815260040161151b9190613386565b60206040518083038186803b15801561153357600080fd5b505afa158015611547573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061156b9190810190612e60565b611579576000915050610fd4565b6001016114d3565b611589612599565b600081116115a95760405162461bcd60e51b8152600401610bea90613492565b600e55565b600b80546040805160208084028201810190925282815260009384936060938301828280156115fc57602002820191906000526020600020905b8154815260200190600101908083116115e8575b50505050509050600081511115610ae15760005b8151811015610adf57600061162a83838151811061086f57fe5b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561166257600080fd5b505afa158015611676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169a9190810190612e60565b90506000806116a76125fc565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b81526004016116d29190613386565b604080518083038186803b1580156116e957600080fd5b505afa1580156116fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117219190810190612eb8565b60055460405163719130ff60e11b81529294509092506000916117609185916001600160a01b039091169063e32261fe90610a57908990600401613386565b9050611772888263ffffffff6125d016565b9750811561177f57600196505b5050600190920191506116109050565b60055460405163af07aa9d60e01b81526000918291829182916001600160a01b039091169063af07aa9d906117ca90899089906004016133d0565b60806040518083038186803b1580156117e257600080fd5b505afa1580156117f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061181a9190810190612ee8565b9299919850965090945092505050565b600061183d60068363ffffffff61285e16565b92915050565b60008061184f3361182a565b90508061186e5760405162461bcd60e51b8152600401610bea906134c2565b600560009054906101000a90046001600160a01b03166001600160a01b0316638c5825036040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156118be57600080fd5b505af11580156118d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118f69190810190612e60565b91505090565b60008060006119096125fc565b6001600160a01b031663654a60ac8587631cd554d160e21b6040518463ffffffff1660e01b815260040161193f939291906133eb565b60206040518083038186803b15801561195757600080fd5b505afa15801561196b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061198f9190810190612e60565b905060008061199c6107f3565b915091506000806119ab6115ae565b9150915082806119b85750805b600f549096506119de866119d2878663ffffffff6125d016565b9063ffffffff6125d016565b1115965050505050505b9250929050565b60008060006119fc6128cb565b6001600160a01b0316637b1001b7631cd554d160e21b60016040518363ffffffff1660e01b8152600401611a319291906133a2565b60206040518083038186803b158015611a4957600080fd5b505afa158015611a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a819190810190612e60565b9050600080611a8e6107f3565b90925090506000611aa5848463ffffffff6125d016565b90506000611ad46a1a1a7062e5185d7e380000611ac8868563ffffffff6128df16565b9063ffffffff6128df16565b90506000611aed600e548361261c90919063ffffffff16565b9050611b04601054826125d090919063ffffffff16565b989397509295505050505050565b611b1a612599565b60005b81811015611bed57611b57838383818110611b3457fe5b9050602002016020611b499190810190612caa565b60069063ffffffff61285e16565b611be557611b8d838383818110611b6a57fe5b9050602002016020611b7f9190810190612caa565b60069063ffffffff61290916565b7f7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f838383818110611bba57fe5b9050602002016020611bcf9190810190612caa565b604051611bdc9190613323565b60405180910390a15b600101611b1d565b505050565b60105481565b6005546001600160a01b031681565b611c0f612599565b828114611c2e5760405162461bcd60e51b8152600401610bea90613432565b60005b83811015611d73576000858583818110611c4757fe5b905060400201600060028110611c5957fe5b602002013590506000868684818110611c6e57fe5b905060400201600160028110611c8057fe5b60200201359050611c98600b8363ffffffff61264616565b611d6957611cad600b8363ffffffff61269616565b6000828152600d602052604090819020829055517fa71e21d8a72d99830e0d382f042d37e6a20c8a33ec3185affcaf6586e9a0187a90611cee908490613386565b60405180910390a16005546001600160a01b031663ed039154868686818110611d1357fe5b905060200201356040518263ffffffff1660e01b8152600401611d369190613386565b600060405180830381600087803b158015611d5057600080fd5b505af1158015611d64573d6000803e3d6000fd5b505050505b5050600101611c31565b50611d7c610fdc565b50505050565b600e5481565b611d90612599565b60005b81811015611bed57611dc1838383818110611daa57fe5b90506020020135600b61264690919063ffffffff16565b15611f5057611dec838383818110611dd557fe5b90506020020135600b6126ce90919063ffffffff16565b6000611e09848484818110611dfd57fe5b905060200201356125c5565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015611e4157600080fd5b505afa158015611e55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e799190810190612e60565b600554604051636431e0bd60e01b81529192506001600160a01b031690636431e0bd90611eaa908490600401613386565b600060405180830381600087803b158015611ec457600080fd5b505af1158015611ed8573d6000803e3d6000fd5b50505050600d6000858585818110611eec57fe5b905060200201358152602001908152602001600020600090557f23caa21d7c1015aa7051e1ae4a09f99de36dab4545dfec5f4dde3a54173a123b848484818110611f3257fe5b90506020020135604051611f469190613386565b60405180910390a1505b600101611d93565b600f5481565b60055460405163d2f0047560e01b81526000916001600160a01b03169063d2f0047590611f8f908590600401613386565b60206040518083038186803b158015611fa757600080fd5b505afa158015611fbb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061183d9190810190612e60565b6000611fea3361182a565b9050806120095760405162461bcd60e51b8152600401610bea906134c2565b60055460405163e31f27c160e01b81526001600160a01b039091169063e31f27c190610c2590869086906004016133d0565b60055460405163719130ff60e11b81526000916001600160a01b03169063e32261fe90611f8f908590600401613386565b60006120773361182a565b9050806120965760405162461bcd60e51b8152600401610bea906134c2565b60055460405163e50a31b360e01b81526001600160a01b039091169063e50a31b390610c2590869086906004016133d0565b60006120d33361182a565b9050806120f25760405162461bcd60e51b8152600401610bea906134c2565b6005546040516375ca5def60e11b81526001600160a01b039091169063eb94bbde90610c2590869086906004016133d0565b6000806000612132846125c5565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561216a57600080fd5b505afa15801561217e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121a29190810190612e60565b90506121ac6125fc565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004016121d79190613386565b60206040518083038186803b1580156121ef57600080fd5b505afa158015612203573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122279190810190612e24565b91506000612234856125c5565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561226c57600080fd5b505afa158015612280573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122a49190810190612e60565b6000868152600d6020526040812054919250906122c0906125c5565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156122f857600080fd5b505afa15801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123309190810190612e60565b60055460405163719130ff60e11b81529192506000916123bc9184916001600160a01b039091169063e32261fe9061236c908990600401613386565b60206040518083038186803b15801561238457600080fd5b505afa158015612398573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119d29190810190612e60565b9050808311156123d457506000945061243992505050565b60006123e6828563ffffffff61295b16565b905060006124196a1a1a7062e5185d7e380000611ac861240c888763ffffffff6125d016565b859063ffffffff6128df16565b9050612430601154826125d090919063ffffffff16565b97505050505050505b915091565b600d6020526000908152604090205481565b600061245b3361182a565b90508061247a5760405162461bcd60e51b8152600401610bea906134c2565b600554604051637a981bdb60e11b81526001600160a01b039091169063f53037b6906124aa908590600401613386565b600060405180830381600087803b1580156124c457600080fd5b505af11580156124d8573d6000803e3d6000fd5b505050505050565b6124e8612599565b60005b81811015611bed57612502838383818110611b3457fe5b156125915761253983838381811061251657fe5b905060200201602061252b9190810190612caa565b60069063ffffffff61298316565b7fd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a59383838381811061256657fe5b905060200201602061257b9190810190612caa565b6040516125889190613323565b60405180910390a15b6001016124eb565b6000546001600160a01b031633146125c35760405162461bcd60e51b8152600401610bea906134a2565b565b600061183d82612a99565b6000828201838110156125f55760405162461bcd60e51b8152600401610bea90613452565b9392505050565b60006126176c45786368616e6765526174657360981b612a99565b905090565b6000670de0b6b3a7640000612637848463ffffffff612af616565b8161263e57fe5b049392505050565b81546000906126575750600061183d565b600082815260018401602052604090205480151580610fd45750828460000160008154811061268257fe5b906000526020600020015414949350505050565b6126a08282612646565b61112e5781546000828152600180850160209081526040832084905590830185558482529020018190555050565b6126d88282612646565b6126f45760405162461bcd60e51b8152600401610bea90613462565b600081815260018301602052604090205482546000190180821461276257600084600001828154811061272357fe5b906000526020600020015490508085600001848154811061274057fe5b6000918252602080832090910192909255918252600186019052604090208290555b835484908061276d57fe5b600190038181906000526020600020016000905590558360010160008481526020019081526020016000206000905550505050565b606081518351016040519080825280602002602001820160405280156127d2578160200160208202803883390190505b50905060005b8351811015612814578381815181106127ed57fe5b602002602001015182828151811061280157fe5b60209081029190910101526001016127d8565b5060005b82518110156128575782818151811061282d57fe5b602002602001015182828651018151811061284457fe5b6020908102919091010152600101612818565b5092915050565b815460009061286f5750600061183d565b6001600160a01b038216600090815260018401602052604090205480151580610fd45750826001600160a01b0316846000016000815481106128ad57fe5b6000918252602090912001546001600160a01b031614949350505050565b60006126176524b9b9bab2b960d11b612a99565b60006125f5826128fd85670de0b6b3a764000063ffffffff612af616565b9063ffffffff612b3016565b612913828261285e565b61112e5781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b60008282111561297d5760405162461bcd60e51b8152600401610bea90613472565b50900390565b61298d828261285e565b6129a95760405162461bcd60e51b8152600401610bea90613462565b6001600160a01b0381166000908152600183016020526040902054825460001901808214612a485760008460000182815481106129e257fe5b60009182526020909120015485546001600160a01b0390911691508190869085908110612a0b57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b8354849080612a5357fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b60008181526004602090815260408083205490516001600160a01b039091169182151591612ac9918691016132f8565b604051602081830303815290604052906128575760405162461bcd60e51b8152600401610bea9190613421565b600082612b055750600061183d565b82820282848281612b1257fe5b04146125f55760405162461bcd60e51b8152600401610bea906134b2565b6000808211612b515760405162461bcd60e51b8152600401610bea90613482565b6000828481612b5c57fe5b04949350505050565b803561183d816135c8565b805161183d816135c8565b60008083601f840112612b8d57600080fd5b50813567ffffffffffffffff811115612ba557600080fd5b6020830191508360208202830111156119e857600080fd5b600082601f830112612bce57600080fd5b8135612be1612bdc82613537565b613510565b91508181835260208401935060208101905083856020840282011115612c0657600080fd5b60005b83811015612c325781612c1c8882612b65565b8452506020928301929190910190600101612c09565b5050505092915050565b60008083601f840112612c4e57600080fd5b50813567ffffffffffffffff811115612c6657600080fd5b6020830191508360408202830111156119e857600080fd5b803561183d816135dc565b805161183d816135dc565b803561183d816135e5565b805161183d816135e5565b600060208284031215612cbc57600080fd5b6000610fd48484612b65565b600060208284031215612cda57600080fd5b6000610fd48484612b70565b60008060208385031215612cf957600080fd5b823567ffffffffffffffff811115612d1057600080fd5b612d1c85828601612b7b565b92509250509250929050565b600060208284031215612d3a57600080fd5b813567ffffffffffffffff811115612d5157600080fd5b610fd484828501612bbd565b60008060008060408587031215612d7357600080fd5b843567ffffffffffffffff811115612d8a57600080fd5b612d9687828801612c3c565b9450945050602085013567ffffffffffffffff811115612db557600080fd5b612dc187828801612b7b565b95989497509550505050565b60008060008060408587031215612de357600080fd5b843567ffffffffffffffff811115612dfa57600080fd5b612d9687828801612b7b565b600060208284031215612e1857600080fd5b6000610fd48484612c7e565b600060208284031215612e3657600080fd5b6000610fd48484612c89565b600060208284031215612e5457600080fd5b6000610fd48484612c94565b600060208284031215612e7257600080fd5b6000610fd48484612c9f565b60008060408385031215612e9157600080fd5b6000612e9d8585612c94565b9250506020612eae85828601612c94565b9150509250929050565b60008060408385031215612ecb57600080fd5b6000612ed78585612c9f565b9250506020612eae85828601612c89565b60008060008060808587031215612efe57600080fd5b6000612f0a8787612c9f565b9450506020612f1b87828801612c9f565b9350506040612f2c87828801612c9f565b9250506060612f3d87828801612c9f565b91505092959194509250565b6000612f558383612fce565b505060200190565b612f668161356b565b82525050565b6000612f778261355e565b612f818185613562565b9350612f8c83613558565b8060005b83811015612fba578151612fa48882612f49565b9750612faf83613558565b925050600101612f90565b509495945050505050565b612f6681613576565b612f6681610d76565b612f66612fe382610d76565b610d76565b612f6681613587565b6000612ffc8261355e565b6130068185613562565b9350613016818560208601613592565b61301f816135be565b9093019392505050565b6000613036601b83613562565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b600061306f603583613562565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006130c6601b83613562565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006130ff601383613562565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b600061312e601e83613562565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613167601a83613562565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006131a0601183611177565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006131cd601683613562565b7504d7573742062652067726561746572207468616e20360541b815260200192915050565b60006131ff602f83613562565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613250602183613562565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613293601983613562565b7f4f6e6c7920636f6c6c61746572616c20636f6e74726163747300000000000000815260200192915050565b60006132cc601983611177565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061330382613193565b915061330f8284612fd7565b50602001919050565b6000613303826132bf565b6020810161183d8284612f5d565b6040810161333f8285612f5d565b6125f56020830184612f5d565b602080825281016125f58184612f6c565b6020810161183d8284612fc5565b604081016133798285612fc5565b6125f56020830184612fc5565b6020810161183d8284612fce565b6040810161333f8285612fce565b604081016133798285612fce565b604081016133be8285612fce565b8181036020830152610fd48184612ff1565b604081016133de8285612fce565b6125f56020830184612fce565b606081016133f98286612fce565b6134066020830185612fce565b610fd46040830184612fce565b6020810161183d8284612fe8565b602080825281016125f58184612ff1565b6020808252810161183d81613029565b6020808252810161183d81613062565b6020808252810161183d816130b9565b6020808252810161183d816130f2565b6020808252810161183d81613121565b6020808252810161183d8161315a565b6020808252810161183d816131c0565b6020808252810161183d816131f2565b6020808252810161183d81613243565b6020808252810161183d81613286565b608081016134e08287612fce565b6134ed6020830186612fce565b6134fa6040830185612fce565b6135076060830184612fce565b95945050505050565b60405181810167ffffffffffffffff8111828210171561352f57600080fd5b604052919050565b600067ffffffffffffffff82111561354e57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061183d8261357b565b151590565b6001600160a01b031690565b600061183d8261356b565b60005b838110156135ad578181015183820152602001613595565b83811115611d7c5750506000910152565b601f01601f191690565b6135d18161356b565b81146107f057600080fd5b6135d181613576565b6135d181610d7656fea365627a7a7231582086139b15c2c894f5f985b303fdd27b70745c143d7fad10f0c56a854fc078a7af6c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"contract CollateralManagerState","name":"_state","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"uint256","name":"_maxDebt","type":"uint256"},{"internalType":"uint256","name":"_baseBorrowRate","type":"uint256"},{"internalType":"uint256","name":"_baseShortRate","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"baseBorrowRate","type":"uint256"}],"name":"BaseBorrowRateUpdated","type":"event","signature":"0x08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"baseShortRate","type":"uint256"}],"name":"BaseShortRateUpdated","type":"event","signature":"0xe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"collateral","type":"address"}],"name":"CollateralAdded","type":"event","signature":"0x7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"collateral","type":"address"}],"name":"CollateralRemoved","type":"event","signature":"0xd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a593"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"liquidationPenalty","type":"uint256"}],"name":"LiquidationPenaltyUpdated","type":"event","signature":"0xbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e9"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxDebt","type":"uint256"}],"name":"MaxDebtUpdated","type":"event","signature":"0x3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event","signature":"0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"ShortableSynthAdded","type":"event","signature":"0xa71e21d8a72d99830e0d382f042d37e6a20c8a33ec3185affcaf6586e9a0187a"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"ShortableSynthRemoved","type":"event","signature":"0x23caa21d7c1015aa7051e1ae4a09f99de36dab4545dfec5f4dde3a54173a123b"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"SynthAdded","type":"event","signature":"0x87f8a613724bd8be7a9139e4c83bc8d58fedee7206e2d7077849f5988d787599"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"SynthRemoved","type":"event","signature":"0x788aff97f65e6ddeee9246c47d08b819813066c87876a912c79baddffb138f0a"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x614d08f8"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"address[]","name":"collaterals","type":"address[]"}],"name":"addCollaterals","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbbb601cd"},{"constant":false,"inputs":[{"internalType":"bytes32[2][]","name":"requiredSynthAndInverseNamesInResolver","type":"bytes32[2][]"},{"internalType":"bytes32[]","name":"synthKeys","type":"bytes32[]"}],"name":"addShortableSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc88b412e"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"synthKeys","type":"bytes32[]"}],"name":"addSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23d60e2e"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"requiredSynthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"synthKeys","type":"bytes32[]"}],"name":"areShortableSynthsSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x93a72fbe"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"requiredSynthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"synthKeys","type":"bytes32[]"}],"name":"areSynthsAndCurrenciesSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x72e18b6a"},{"constant":true,"inputs":[],"name":"baseBorrowRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xbf386682"},{"constant":true,"inputs":[],"name":"baseShortRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4db7764c"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decrementLongs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe50a31b3"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decrementShorts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5246f2b9"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"exceedsDebtLimit","outputs":[{"internalType":"bool","name":"canIssue","type":"bool"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb4d6cb40"},{"constant":true,"inputs":[],"name":"getBorrowRate","outputs":[{"internalType":"uint256","name":"borrowRate","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xba1c5e80"},{"constant":false,"inputs":[],"name":"getNewLoanId","outputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb3b46732"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRatesAndTime","outputs":[{"internalType":"uint256","name":"entryRate","type":"uint256"},{"internalType":"uint256","name":"lastRate","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"newIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x03f048b0"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"getShortRate","outputs":[{"internalType":"uint256","name":"shortRate","type":"uint256"},{"internalType":"bool","name":"rateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xee81f790"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getShortRatesAndTime","outputs":[{"internalType":"uint256","name":"entryRate","type":"uint256"},{"internalType":"uint256","name":"lastRate","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"newIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaf07aa9d"},{"constant":true,"inputs":[{"internalType":"address[]","name":"collaterals","type":"address[]"}],"name":"hasAllCollaterals","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x744d646e"},{"constant":true,"inputs":[{"internalType":"address","name":"collateral","type":"address"}],"name":"hasCollateral","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb38988f7"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"incrementLongs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xeb94bbde"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"incrementShorts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe31f27c1"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"isSynthManaged","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8471db13"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x91b4ded9"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"long","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd2f00475"},{"constant":true,"inputs":[],"name":"maxDebt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd0064c00"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c975abb"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":false,"inputs":[{"internalType":"address[]","name":"collaterals","type":"address[]"}],"name":"removeCollaterals","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xffa749cd"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"synths","type":"bytes32[]"}],"name":"removeShortableSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xca969f23"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"synths","type":"bytes32[]"},{"internalType":"bytes32[]","name":"synthKeys","type":"bytes32[]"}],"name":"removeSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x710388d1"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_baseBorrowRate","type":"uint256"}],"name":"setBaseBorrowRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0c9c81a1"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_baseShortRate","type":"uint256"}],"name":"setBaseShortRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8b173e81"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_maxDebt","type":"uint256"}],"name":"setMaxDebt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x6526941b"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16c38b3c"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_utilisationMultiplier","type":"uint256"}],"name":"setUtilisationMultiplier","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x9f7eac37"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"short","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe32261fe"},{"constant":true,"inputs":[],"name":"state","outputs":[{"internalType":"contract CollateralManagerState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc19d93fb"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthToInverseSynth","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf0e740c3"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthsByKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x38245377"},{"constant":true,"inputs":[],"name":"totalLong","outputs":[{"internalType":"uint256","name":"susdValue","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x1e33fc6b"},{"constant":true,"inputs":[],"name":"totalShort","outputs":[{"internalType":"uint256","name":"susdValue","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xad79a858"},{"constant":false,"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"updateBorrowRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf53037b6"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"updateShortRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x24620639"},{"constant":true,"inputs":[],"name":"utilisationMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc9e18015"}],"source":{"keccak256":"0x20ccb7af61701bb647d44055355ec93371d8897c459f70079cab337a5d8696b9","urls":["bzz-raw://1ca6f79259ca2e1616ba6c87d6b13bfe7da32c8feda9c108d79ee856a9b0da4f","dweb:/ipfs/QmYMbcC8v1eTxdyEEMNX1sZbFBY9o9WRZTVCAtmhw9BJ7B"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"CollateralManager.sol":"CollateralManager"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"CollateralManager.sol":{"keccak256":"0x20ccb7af61701bb647d44055355ec93371d8897c459f70079cab337a5d8696b9","urls":["bzz-raw://1ca6f79259ca2e1616ba6c87d6b13bfe7da32c8feda9c108d79ee856a9b0da4f","dweb:/ipfs/QmYMbcC8v1eTxdyEEMNX1sZbFBY9o9WRZTVCAtmhw9BJ7B"]}},"version":1}},"CollateralState":{"bytecode":"60806040523480156200001157600080fd5b5060405162000f6c38038062000f6c83398101604081905262000034916200015a565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000267565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b59184906200022f565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f9062000255565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390620001369083906200021f565b60405180910390a1505050620002c2565b80516200015481620002a8565b92915050565b600080604083850312156200016e57600080fd5b60006200017c858562000147565b92505060206200018f8582860162000147565b9150509250929050565b620001a48162000294565b82525050565b620001a48162000282565b6000620001c460118362000279565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001f360198362000279565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620001548284620001aa565b604081016200023f828562000199565b6200024e6020830184620001aa565b9392505050565b602080825281016200015481620001b5565b602080825281016200015481620001e4565b90815260200190565b60006001600160a01b03821662000154565b600062000154826000620001548262000282565b620002b38162000282565b8114620002bf57600080fd5b50565b610c9a80620002d26000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806379ba50971161007157806379ba50971461011a5780638da5cb5b1461012257806398c61c371461012a578063a1c5158614610152578063aefc4ccb14610172578063e0b6adbc1461017a576100a9565b80631627540c146100ae57806344dce41c146100c357806352f445ca146100d657806353a47bb7146100e95780635c33120414610107575b600080fd5b6100c16100bc36600461088c565b61019a565b005b6100c16100d13660046108ec565b6101f8565b6100c16100e436600461088c565b610352565b6100f16103a5565b6040516100fe9190610adc565b60405180910390f35b6100c16101153660046108ec565b6103b4565b6100c161048d565b6100f1610529565b61013d6101383660046108b2565b610538565b6040516100fe99989796959493929190610b59565b6101656101603660046108b2565b6105ad565b6040516100fe9190610b3c565b6100f16106e4565b61018d61018836600461088c565b6106f3565b6040516100fe9190610b4b565b6101a261070e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101ed908390610adc565b60405180910390a150565b6002546001600160a01b0316331461022b5760405162461bcd60e51b815260040161022290610b2c565b60405180910390fd5b6020808201516001600160a01b03166000908152600390915260408120905b815481101561034d57826000015182828154811061026457fe5b906000526020600020906009020160000154141561034557826003600085602001516001600160a01b03166001600160a01b0316815260200190815260200160002082815481106102b157fe5b6000918252602091829020835160099290920201908155908201516001820180546001600160a01b0319166001600160a01b0390921691909117905560408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e08201516007820155610100909101516008909101555b60010161024a565b505050565b61035a61070e565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906101ed908390610adc565b6001546001600160a01b031681565b6002546001600160a01b031633146103de5760405162461bcd60e51b815260040161022290610b2c565b602081810180516001600160a01b03908116600090815260038085526040808320805460018082018355918552969093208751600990970201958655935191850180546001600160a01b03191692909316919091179091559083015160028301556060830151908201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e0820151600782015561010090910151600890910155565b6001546001600160a01b031633146104b75760405162461bcd60e51b815260040161022290610b0c565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926104fa926001600160a01b0391821692911690610aea565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6003602052816000526040600020818154811061055157fe5b60009182526020909120600990910201805460018201546002830154600384015460048501546005860154600687015460078801546008909801549699506001600160a01b03909516975092959194909360ff90931692919089565b6105b561073a565b6001600160a01b0383166000908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610683576000848152602090819020604080516101208101825260098602909201805483526001808201546001600160a01b0316848601526002820154928401929092526003810154606084015260048101546080840152600581015460ff16151560a0840152600681015460c0840152600781015460e08401526008015461010083015290835290920191016105ed565b509293506000925050505b81518110156106db57838282815181106106a457fe5b60200260200101516000015114156106d3578181815181106106c257fe5b6020026020010151925050506106de565b60010161068e565b50505b92915050565b6002546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b031633146107385760405162461bcd60e51b815260040161022290610b1c565b565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b80356106de81610c2e565b80356106de81610c45565b80356106de81610c4e565b600061012082840312156107c857600080fd5b6107d3610120610bdf565b905060006107e184846107aa565b82525060206107f284848301610794565b6020830152506040610806848285016107aa565b604083015250606061081a848285016107aa565b606083015250608061082e848285016107aa565b60808301525060a06108428482850161079f565b60a08301525060c0610856848285016107aa565b60c08301525060e061086a848285016107aa565b60e08301525061010061087f848285016107aa565b6101008301525092915050565b60006020828403121561089e57600080fd5b60006108aa8484610794565b949350505050565b600080604083850312156108c557600080fd5b60006108d18585610794565b92505060206108e2858286016107aa565b9150509250929050565b600061012082840312156108ff57600080fd5b60006108aa84846107b5565b61091481610c0f565b82525050565b61091481610c1a565b61091481610c1f565b6000610939603583610c06565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610990602f83610c06565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006109e1603483610c06565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b8051610120830190610a3c8482610923565b506020820151610a4f602085018261090b565b506040820151610a626040850182610923565b506060820151610a756060850182610923565b506080820151610a886080850182610923565b5060a0820151610a9b60a085018261091a565b5060c0820151610aae60c0850182610923565b5060e0820151610ac160e0850182610923565b50610100820151610ad6610100850182610923565b50505050565b602081016106de828461090b565b60408101610af8828561090b565b610b05602083018461090b565b9392505050565b602080825281016106de8161092c565b602080825281016106de81610983565b602080825281016106de816109d4565b61012081016106de8284610a2a565b602081016106de8284610923565b6101208101610b68828c610923565b610b75602083018b61090b565b610b82604083018a610923565b610b8f6060830189610923565b610b9c6080830188610923565b610ba960a083018761091a565b610bb660c0830186610923565b610bc360e0830185610923565b610bd1610100830184610923565b9a9950505050505050505050565b60405181810167ffffffffffffffff81118282101715610bfe57600080fd5b604052919050565b90815260200190565b60006106de82610c22565b151590565b90565b6001600160a01b031690565b610c3781610c0f565b8114610c4257600080fd5b50565b610c3781610c1a565b610c3781610c1f56fea365627a7a72315820013790680977a1d5d556326b132fbc33c26b7a3445eb646fe167987d94f609726c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event","signature":"0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xaefc4ccb"},{"constant":false,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"createLoan","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5c331204"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"loanID","type":"uint256"}],"name":"getLoan","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"","type":"tuple"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa1c51586"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getNumLoans","outputs":[{"internalType":"uint256","name":"numLoans","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe0b6adbc"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"loans","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x98c61c37"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x52f445ca"},{"constant":false,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"updateLoan","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x44dce41c"}],"source":{"keccak256":"0x30ca2798b72c79907035679c274da0e6692b585e6792e7977d70b3b1d966d508","urls":["bzz-raw://5533bc62cc1a5780e58c63b2f859ee8c48463409ac7b85dcf8e1456146e0fbe9","dweb:/ipfs/QmcekAvqmfvhTLPZ3oPeViurCfVXC4YJwamFw9DQDdZkMJ"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"CollateralState.sol":"CollateralState"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"CollateralState.sol":{"keccak256":"0x30ca2798b72c79907035679c274da0e6692b585e6792e7977d70b3b1d966d508","urls":["bzz-raw://5533bc62cc1a5780e58c63b2f859ee8c48463409ac7b85dcf8e1456146e0fbe9","dweb:/ipfs/QmcekAvqmfvhTLPZ3oPeViurCfVXC4YJwamFw9DQDdZkMJ"]}},"version":1}},"CollateralEth":{"bytecode":"60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162006240380380620062408339810160408190526200004c916200016c565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f9062000294565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d59184906200026e565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b5550506001601055506200031595505050505050565b80516200014c81620002e5565b92915050565b80516200014c81620002ff565b80516200014c816200030a565b600080600080600080600060e0888a0312156200018857600080fd5b6000620001968a8a6200015f565b9750506020620001a98a828b016200013f565b9650506040620001bc8a828b016200013f565b9550506060620001cf8a828b016200013f565b9450506080620001e28a828b0162000152565b93505060a0620001f58a828b0162000152565b92505060c0620002088a828b0162000152565b91505092959891949750929550565b6200022281620002d8565b82525050565b6200022281620002af565b600062000242601983620002a6565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200027e828562000217565b6200028d602083018462000228565b9392505050565b602080825281016200014c8162000233565b90815260200190565b60006200014c82620002cc565b90565b60006200014c82620002af565b6001600160a01b031690565b60006200014c82620002bf565b620002f081620002af565b8114620002fc57600080fd5b50565b620002f081620002bc565b620002f081620002bf565b615f1b80620003256000396000f3fe6080604052600436106102465760003560e01c80635eb2ad0111610139578063a76cdfa5116100b6578063d2b8035a1161007a578063d2b8035a14610638578063dac8cf6814610658578063de81eda914610678578063e74337c614610698578063eb8e3b65146106b8578063f3f43703146106cd57610246565b8063a76cdfa5146105b9578063b562a1ab146105d9578063ba2de9bc146105ee578063c19d93fb14610603578063d0ebdbe71461061857610246565b8063899ffef4116100fd578063899ffef41461052d5780638cd2e0c71461054f5780638da5cb5b1461056f57806390abb4d914610584578063925ead11146105a457610246565b80635eb2ad01146104a357806372e18b6a146104c357806374185360146104e357806379ba5097146104f85780637e1323551461050d57610246565b806330edd961116101c7578063441a3e701161018b578063441a3e701461041957806347e7ef2414610439578063481c6a751461044c5780634c17ace41461046e57806353a47bb71461048e57610246565b806330edd9611461038f578063361e2086146103af578063379607f5146103c457806338245377146103e45780634065b81b1461040457610246565b80630cdd1c651161020e5780630cdd1c65146102f857806315aaf4dd146103185780631627540c1461032d57806323d60e2e1461034d5780632af64bd31461036d57610246565b806304f3bcec1461024b57806306c19e3f146102765780630710285c1461028b5780630a153c97146102ab5780630aebeb4e146102d8575b600080fd5b34801561025757600080fd5b506102606106ed565b60405161026d9190615b77565b60405180910390f35b6102896102843660046150c9565b6106fc565b005b34801561029757600080fd5b506102896102a6366004614f82565b61070e565b3480156102b757600080fd5b506102cb6102c63660046150c9565b610754565b60405161026d9190615b05565b3480156102e457600080fd5b506102896102f33660046150ab565b610890565b34801561030457600080fd5b506102896103133660046150ab565b6108d3565b34801561032457600080fd5b506102cb6109be565b34801561033957600080fd5b50610289610348366004614f0c565b6109c4565b34801561035957600080fd5b50610289610368366004614fcf565b610a17565b34801561037957600080fd5b50610382610add565b60405161026d9190615af7565b34801561039b57600080fd5b506102cb6103aa3660046150ab565b610bf5565b3480156103bb57600080fd5b506102cb610c13565b3480156103d057600080fd5b506102896103df3660046150ab565b610c19565b3480156103f057600080fd5b506102cb6103ff3660046150ab565b610cee565b34801561041057600080fd5b50610382610d00565b34801561042557600080fd5b506102896104343660046150c9565b610d09565b610289610447366004614f48565b610d4d565b34801561045857600080fd5b50610461610d58565b60405161026d9190615a86565b34801561047a57600080fd5b506102896104893660046150ab565b610d67565b34801561049a57600080fd5b50610461610e43565b3480156104af57600080fd5b506102896104be366004614f48565b610e52565b3480156104cf57600080fd5b506103826104de366004614fcf565b610e88565b3480156104ef57600080fd5b50610289610f4a565b34801561050457600080fd5b5061028961109c565b34801561051957600080fd5b506102cb6105283660046150c9565b611138565b34801561053957600080fd5b506105426111e1565b60405161026d9190615ae6565b34801561055b57600080fd5b5061028961056a366004614f82565b611346565b34801561057b57600080fd5b50610461611352565b34801561059057600080fd5b5061028961059f36600461503f565b611361565b3480156105b057600080fd5b506102cb6113ad565b3480156105c557600080fd5b506102896105d43660046150ab565b6113b3565b3480156105e557600080fd5b506102cb6113f0565b3480156105fa57600080fd5b506102cb6113f6565b34801561060f57600080fd5b506102606113fc565b34801561062457600080fd5b50610289610633366004614f0c565b61140b565b34801561064457600080fd5b506102896106533660046150c9565b611464565b34801561066457600080fd5b506102cb6106733660046150e8565b61146e565b34801561068457600080fd5b506104616106933660046150ab565b6115c7565b3480156106a457600080fd5b506102cb6106b33660046150e8565b6115e2565b3480156106c457600080fd5b506102cb6118cc565b3480156106d957600080fd5b506102cb6106e8366004614f0c565b6118d2565b6002546001600160a01b031681565b61070934838360006118e4565b505050565b600061071b84848461210d565b3360009081526011602052604090205490915061073e908263ffffffff61257216565b3360009081526011602052604090205550505050565b60008061075f6125a0565b9050610769612652565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161079a93929190615b4f565b60206040518083038186803b1580156107b257600080fd5b505afa1580156107c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ea9190810190615126565b915061088861087b8273__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561083757600080fd5b505af415801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061086f9190810190615126565b9063ffffffff61257216565b839063ffffffff61266d16565b949350505050565b600061089c3383612697565b336000908152601160205260409020549091506108bf908263ffffffff61257216565b336000908152601160205260409020555050565b6108db612bfc565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561091f57600080fd5b505af4158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109579190810190615126565b811161097e5760405162461bcd60e51b815260040161097590615ba6565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906109b3908390615b05565b60405180910390a150565b600e5481565b6109cc612bfc565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906109b3908390615a86565b610a1f612bfc565b828114610a3e5760405162461bcd60e51b815260040161097590615b96565b60005b83811015610ace576000858583818110610a5757fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610aab57fe5b602090810292909201358352508101919091526040016000205550600101610a41565b50610ad7610f4a565b50505050565b60006060610ae96111e1565b905060005b8151811015610beb576000828281518110610b0557fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b56908590600401615b05565b60206040518083038186803b158015610b6e57600080fd5b505afa158015610b82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ba69190810190614f2a565b6001600160a01b0316141580610bd157506000818152600360205260409020546001600160a01b0316155b15610be25760009350505050610bf2565b50600101610aee565b5060019150505b90565b60078181548110610c0257fe5b600091825260209091200154905081565b600c5481565b601080546001019081905533600090815260116020526040902054610c44908363ffffffff612c2816565b336000818152601160205260408082209390935591518490610c6590615a7b565b60006040518083038185875af1925050503d8060008114610ca2576040519150601f19603f3d011682016040523d82523d6000602084013e610ca7565b606091505b5050905080610cc85760405162461bcd60e51b815260040161097590615be6565b506010548114610cea5760405162461bcd60e51b815260040161097590615d56565b5050565b60086020526000908152604090205481565b600f5460ff1681565b6000610d158383612c50565b33600090815260116020526040902054909150610d38908263ffffffff61257216565b33600090815260116020526040902055505050565b610cea828234612eed565b6006546001600160a01b031681565b610d6f612bfc565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610db357600080fd5b505af4158015610dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610deb9190810190615126565b610e1002811115610e0e5760405162461bcd60e51b815260040161097590615cb6565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906109b3908390615b05565b6001546001600160a01b031681565b610e5a612bfc565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610e9c57506000610888565b60005b84811015610f3e576000868683818110610eb557fe5b9050602002013590508060078381548110610ecc57fe5b906000526020600020015414610ee757600092505050610888565b60078281548110610ef457fe5b906000526020600020015460086000878786818110610f0f57fe5b9050602002013581526020019081526020016000205414610f3557600092505050610888565b50600101610e9f565b50600195945050505050565b6060610f546111e1565b905060005b8151811015610cea576000828281518110610f7057fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610fb29190615a70565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610fde929190615b2f565b60206040518083038186803b158015610ff657600080fd5b505afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061102e9190810190614f2a565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061108a9084908490615b13565b60405180910390a15050600101610f59565b6001546001600160a01b031633146110c65760405162461bcd60e51b815260040161097590615bd6565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611109926001600160a01b0391821692911690615abd565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111da611145612652565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b815260040161117693929190615b4f565b60206040518083038186803b15801561118e57600080fd5b505afa1580156111a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111c69190810190615126565b6111ce61317e565b9063ffffffff61266d16565b9392505050565b6060806111ec61320e565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061122b57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061125557fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061127b57fe5b6020026020010181815250506b53797374656d53746174757360a01b816003815181106112a457fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b816004815181106112ca57fe5b60200260200101818152505060606112e2838361325f565b905061133e81600780548060200260200160405190810160405280929190818152602001828054801561133457602002820191906000526020600020905b815481526020019060010190808311611320575b505050505061325f565b935050505090565b6107098333848461331b565b6000546001600160a01b031681565b611369612bfc565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916109b39160ff90911690615af7565b600a5481565b6113bb612bfc565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906109b3908390615b05565b60045481565b600b5481565b6005546001600160a01b031681565b611413612bfc565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926109b3921690615a86565b610cea82826136d6565b600080611479612652565b6001600160a01b031663654a60ac6004548560400151631cd554d160e21b6040518463ffffffff1660e01b81526004016114b593929190615b4f565b60206040518083038186803b1580156114cd57600080fd5b505afa1580156114e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115059190810190615126565b90506000611511612652565b6001600160a01b031663654a60ac856060015161153f8760c00151886080015161257290919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161156593929190615b4f565b60206040518083038186803b15801561157d57600080fd5b505afa158015611591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115b59190810190615126565b9050610888828263ffffffff613c9616565b6009602052600090815260409020546001600160a01b031681565b6000806115ed6125a0565b905060006115f9612652565b6001600160a01b031663654a60ac85606001516116278760c00151886080015161257290919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161164d93929190615b4f565b60206040518083038186803b15801561166557600080fd5b505afa158015611679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169d9190810190615126565b905060006116a9612652565b6001600160a01b031663654a60ac6004548760400151631cd554d160e21b6040518463ffffffff1660e01b81526004016116e593929190615b4f565b60206040518083038186803b1580156116fd57600080fd5b505afa158015611711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117359190810190615126565b9050600073__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561177d57600080fd5b505af4158015611791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117b59190810190615126565b905060006117de6117d1600a5485613c9690919063ffffffff16565b859063ffffffff612c2816565b9050600061181761180a600a546117fe898761257290919063ffffffff16565b9063ffffffff613c9616565b849063ffffffff612c2816565b9050600061182b838363ffffffff613c9616565b9050611835612652565b6001600160a01b031663654a60ac631cd554d160e21b838c606001516040518463ffffffff1660e01b815260040161186f93929190615b4f565b60206040518083038186803b15801561188757600080fd5b505afa15801561189b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118bf9190810190615126565b9998505050505050505050565b600d5481565b60116020526000908152604090205481565b60006118ee613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561192657600080fd5b505afa15801561193a573d6000803e3d6000fd5b5050600f5460ff16915061196290505760405162461bcd60e51b815260040161097590615ca6565b61196a612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016119979190615b05565b60206040518083038186803b1580156119af57600080fd5b505afa1580156119c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119e7919081019061505d565b15611a045760405162461bcd60e51b815260040161097590615cc6565b600083815260086020526040902054611a2f5760405162461bcd60e51b815260040161097590615cf6565b611a37612652565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b8152600401611a629190615b05565b60206040518083038186803b158015611a7a57600080fd5b505afa158015611a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ab2919081019061505d565b15611acf5760405162461bcd60e51b815260040161097590615c56565b600b54851015611af15760405162461bcd60e51b815260040161097590615c46565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc90611b24903390600401615a94565b60206040518083038186803b158015611b3c57600080fd5b505afa158015611b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b749190810190615126565b10611b915760405162461bcd60e51b815260040161097590615c26565b600080611b9c613cda565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401611bc9929190615b21565b604080518083038186803b158015611be057600080fd5b505afa158015611bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c18919081019061507b565b91509150818015611c27575080155b611c435760405162461bcd60e51b815260040161097590615d36565b611c4d8786611138565b861115611c6c5760405162461bcd60e51b815260040161097590615cd6565b6000611c83600c5488613ce990919063ffffffff16565b90506000611c97888363ffffffff612c2816565b9050611ca1613cda565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611cdb57600080fd5b505af1158015611cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d139190810190615126565b9450611d1d614c86565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a815260200188151581526020016000815260200160008152602001428152509050611d7581613cfe565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490611da6908490600401615d76565b600060405180830381600087803b158015611dc057600080fd5b505af1158015611dd4573d6000803e3d6000fd5b50505050611de283896141ea565b8615611fd857611df06143d6565b6001600160a01b031663867904b433611e07612652565b6001600160a01b031663654a60ac8c87631cd554d160e21b6040518463ffffffff1660e01b8152600401611e3d93929190615b4f565b60206040518083038186803b158015611e5557600080fd5b505afa158015611e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e8d9190810190615126565b6040518363ffffffff1660e01b8152600401611eaa929190615aa2565b600060405180830381600087803b158015611ec457600080fd5b505af1158015611ed8573d6000803e3d6000fd5b50505050611ee4613cda565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401611f11929190615b21565b600060405180830381600087803b158015611f2b57600080fd5b505af1158015611f3f573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050611fd3576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190611fa09033908d90600401615aa2565b600060405180830381600087803b158015611fba57600080fd5b505af1158015611fce573d6000803e3d6000fd5b505050505b6120b7565b600088815260086020526040902054611ff0906143ed565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040161201d929190615aa2565b600060405180830381600087803b15801561203757600080fd5b505af115801561204b573d6000803e3d6000fd5b50505050612057613cda565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401612084929190615b21565b600060405180830381600087803b15801561209e57600080fd5b505af11580156120b2573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c886040516120f8959493929190615dc3565b60405180910390a25050505050949350505050565b6000612117613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561214f57600080fd5b505afa158015612163573d6000803e3d6000fd5b5050505061216f612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b815260040161219c9190615b05565b60206040518083038186803b1580156121b457600080fd5b505afa1580156121c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121ec919081019061505d565b156122095760405162461bcd60e51b815260040161097590615cc6565b600082116122295760405162461bcd60e51b815260040161097590615c06565b612231614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906122639088908890600401615ad8565b6101206040518083038186803b15801561227c57600080fd5b505afa158015612290573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122b49190810190615107565b90506122bf816143f8565b6122c881613cfe565b90506122d933826060015185614458565b600a546122e58261146e565b106123025760405162461bcd60e51b815260040161097590615c36565b600061230d826115e2565b9050600084821061231e5784612320565b815b9050600061233f8460c00151856080015161257290919063ffffffff16565b905080821061235e5761235388338661450b565b9450505050506111da565b61236884836148da565b9350612378846060015183610754565b6040850151909550612390908663ffffffff612c2816565b6040850152426101008501526123a4614afd565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b81526004016123d5929190615aa2565b60206040518083038186803b1580156123ed57600080fd5b505afa158015612401573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612425919081019061505d565b156124425760405162461bcd60e51b815260040161097590615d66565b606084015160009081526008602052604090205461245f906143ed565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040161248c929190615aa2565b600060405180830381600087803b1580156124a657600080fd5b505af11580156124ba573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c91506124ee908790600401615d76565b600060405180830381600087803b15801561250857600080fd5b505af115801561251c573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c58833858960405161255f9493929190615d85565b60405180910390a2505050509392505050565b6000828201838110156125975760405162461bcd60e51b815260040161097590615c16565b90505b92915050565b60006125aa614b14565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b81526004016125fd929190615b21565b60206040518083038186803b15801561261557600080fd5b505afa158015612629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061264d9190810190615126565b905090565b600061264d6c45786368616e6765526174657360981b614b2d565b6000670de0b6b3a7640000612688848463ffffffff614b8a16565b8161268f57fe5b049392505050565b60006126a1613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156126d957600080fd5b505afa1580156126ed573d6000803e3d6000fd5b505050506126f9612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127269190615b05565b60206040518083038186803b15801561273e57600080fd5b505afa158015612752573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612776919081019061505d565b156127935760405162461bcd60e51b815260040161097590615cc6565b61279b614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906127cd9087908790600401615ad8565b6101206040518083038186803b1580156127e657600080fd5b505afa1580156127fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061281e9190810190615107565b9050612829816143f8565b61283281613cfe565b905060006128518260c00151836080015161257290919063ffffffff16565b90506128668260200151836060015183614458565b61286e614afd565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b815260040161289f929190615ad8565b60206040518083038186803b1580156128b757600080fd5b505afa1580156128cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128ef919081019061505d565b1561290c5760405162461bcd60e51b815260040161097590615c66565b6060820151600090815260086020526040902054612929906143ed565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612956929190615ad8565b600060405180830381600087803b15801561297057600080fd5b505af1158015612984573d6000803e3d6000fd5b505050508160a0015115612aa25761299a613cda565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b81526004016129cf929190615b21565b600060405180830381600087803b1580156129e957600080fd5b505af11580156129fd573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b031615612a9d57606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391612a6a918991600401615ad8565b600060405180830381600087803b158015612a8457600080fd5b505af1158015612a98573d6000803e3d6000fd5b505050505b612b12565b612aaa613cda565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b8152600401612adf929190615b21565b600060405180830381600087803b158015612af957600080fd5b505af1158015612b0d573d6000803e3d6000fd5b505050505b81604001519250612b2b8260c0015183606001516141ea565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612b81908590600401615d76565b600060405180830381600087803b158015612b9b57600080fd5b505af1158015612baf573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f85604051612bec9190615b05565b60405180910390a2505092915050565b6000546001600160a01b03163314612c265760405162461bcd60e51b815260040161097590615ce6565b565b600082821115612c4a5760405162461bcd60e51b815260040161097590615c76565b50900390565b6000612c5a613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612c9257600080fd5b505afa158015612ca6573d6000803e3d6000fd5b50505050612cb2612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612cdf9190615b05565b60206040518083038186803b158015612cf757600080fd5b505afa158015612d0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d2f919081019061505d565b15612d4c5760405162461bcd60e51b815260040161097590615cc6565b612d54614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612d869033908890600401615aa2565b6101206040518083038186803b158015612d9f57600080fd5b505afa158015612db3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612dd79190810190615107565b9050612de2816143f8565b612deb81613cfe565b6040810151909150612e03908463ffffffff612c2816565b604082015242610100820152600a54612e1b8261146e565b11612e385760405162461bcd60e51b815260040161097590615bb6565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612e68908490600401615d76565b600060405180830381600087803b158015612e8257600080fd5b505af1158015612e96573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330385858460400151604051612ede93929190615b4f565b60405180910390a25092915050565b612ef5613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f2d57600080fd5b505afa158015612f41573d6000803e3d6000fd5b50505050612f4d612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612f7a9190615b05565b60206040518083038186803b158015612f9257600080fd5b505afa158015612fa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612fca919081019061505d565b15612fe75760405162461bcd60e51b815260040161097590615cc6565b600081116130075760405162461bcd60e51b815260040161097590615d26565b61300f614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906130419087908790600401615ad8565b6101206040518083038186803b15801561305a57600080fd5b505afa15801561306e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130929190810190615107565b905061309d816143f8565b6130a681613cfe565b60408101519091506130be908363ffffffff61257216565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906130fd908490600401615d76565b600060405180830381600087803b15801561311757600080fd5b505af115801561312b573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161317093929190615b4f565b60405180910390a250505050565b600061264d600a5473__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156131ca57600080fd5b505af41580156131de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132029190810190615126565b9063ffffffff614bc416565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061325057fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561328f578160200160208202803883390190505b50905060005b83518110156132d1578381815181106132aa57fe5b60200260200101518282815181106132be57fe5b6020908102919091010152600101613295565b5060005b8251811015613314578281815181106132ea57fe5b602002602001015182828651018151811061330157fe5b60209081029190910101526001016132d5565b5092915050565b613323613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561335b57600080fd5b505afa15801561336f573d6000803e3d6000fd5b5050505061337b612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016133a89190615b05565b60206040518083038186803b1580156133c057600080fd5b505afa1580156133d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133f8919081019061505d565b156134155760405162461bcd60e51b815260040161097590615cc6565b600081116134355760405162461bcd60e51b815260040161097590615c06565b61343d614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061346f9088908790600401615ad8565b6101206040518083038186803b15801561348857600080fd5b505afa15801561349c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134c09190810190615107565b90506134cb816143f8565b6134d481613cfe565b90506134e584826060015184614458565b6134ef81836148da565b426101008201529050613500614afd565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401613531929190615ad8565b60206040518083038186803b15801561354957600080fd5b505afa15801561355d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613581919081019061505d565b1561359e5760405162461bcd60e51b815260040161097590615d66565b60608101516000908152600860205260409020546135bb906143ed565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b81526004016135e8929190615ad8565b600060405180830381600087803b15801561360257600080fd5b505af1158015613616573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c915061364a908490600401615d76565b600060405180830381600087803b15801561366457600080fd5b505af1158015613678573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f858585608001516040516136c793929190615b4f565b60405180910390a35050505050565b6136de613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561371657600080fd5b505afa15801561372a573d6000803e3d6000fd5b50505050613736612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016137639190615b05565b60206040518083038186803b15801561377b57600080fd5b505afa15801561378f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137b3919081019061505d565b156137d05760405162461bcd60e51b815260040161097590615cc6565b6137d8614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061380a9033908790600401615aa2565b6101206040518083038186803b15801561382357600080fd5b505afa158015613837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061385b9190810190615107565b9050613866816143f8565b61386f81613cfe565b6080810151909150613887908363ffffffff61257216565b6080820152600a546138988261146e565b116138b55760405162461bcd60e51b815260040161097590615bc6565b60006138cc600c5484613ce990919063ffffffff16565b905060006138e0848363ffffffff612c2816565b90508260a0015115613aed576138f4613cda565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401613925929190615b21565b600060405180830381600087803b15801561393f57600080fd5b505af1158015613953573d6000803e3d6000fd5b5050505061395f6143d6565b6001600160a01b031663867904b433613976612652565b6001600160a01b031663654a60ac876060015186631cd554d160e21b6040518463ffffffff1660e01b81526004016139b093929190615b4f565b60206040518083038186803b1580156139c857600080fd5b505afa1580156139dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a009190810190615126565b6040518363ffffffff1660e01b8152600401613a1d929190615aa2565b600060405180830381600087803b158015613a3757600080fd5b505af1158015613a4b573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b031615613ae85760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190613ab59033908890600401615aa2565b600060405180830381600087803b158015613acf57600080fd5b505af1158015613ae3573d6000803e3d6000fd5b505050505b613bd5565b613af5613cda565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b8152600401613b26929190615b21565b600060405180830381600087803b158015613b4057600080fd5b505af1158015613b54573d6000803e3d6000fd5b5050506060840151600090815260086020526040902054613b7591506143ed565b6001600160a01b031663867904b433836040518363ffffffff1660e01b8152600401613ba2929190615aa2565b600060405180830381600087803b158015613bbc57600080fd5b505af1158015613bd0573d6000803e3d6000fd5b505050505b613be38284606001516141ea565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613c1a908690600401615d76565b600060405180830381600087803b158015613c3457600080fd5b505af1158015613c48573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf3583106548686604051613c87929190615b21565b60405180910390a25050505050565b60006111da82613cb485670de0b6b3a764000063ffffffff614b8a16565b9063ffffffff614bd916565b600061264d6b53797374656d53746174757360a01b614b2d565b6006546001600160a01b031690565b60006111da8383670de0b6b3a7640000614c0e565b613d06614c86565b8190506000806000808560a00151613da457613d20613cda565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613d4f9190615b05565b60806040518083038186803b158015613d6757600080fd5b505afa158015613d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d9f9190810190615163565b613e31565b613dac613cda565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613de1929190615b21565b60806040518083038186803b158015613df957600080fd5b505afa158015613e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e319190810190615163565b93509350935093506000808760a00151613ec157613e4d613cda565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613e8457600080fd5b505afa158015613e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ebc9190810190615144565b613f59565b613ec9613cda565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613f0a91600401615b05565b604080518083038186803b158015613f2157600080fd5b505afa158015613f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f599190810190615144565b915091508015613f7b5760405162461bcd60e51b815260040161097590615c96565b600061401873__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613fc457600080fd5b505af4158015613fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ffc9190810190615126565b61400c428863ffffffff612c2816565b9063ffffffff614b8a16565b9050600061403c61402f858463ffffffff61266d16565b889063ffffffff61257216565b905060008a60e001516000146140755761407061405f838b63ffffffff612c2816565b60808d01519063ffffffff61266d16565b614078565b60005b90508a60a001516140ed5761408b613cda565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b81526004016140b69190615b05565b600060405180830381600087803b1580156140d057600080fd5b505af11580156140e4573d6000803e3d6000fd5b50505050614159565b6140f5613cda565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401614126929190615b21565b600060405180830381600087803b15801561414057600080fd5b505af1158015614154573d6000803e3d6000fd5b505050505b60c08b015161416e908263ffffffff61257216565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c906141aa908d90600401615d76565b600060405180830381600087803b1580156141c457600080fd5b505af11580156141d8573d6000803e3d6000fd5b50505050505050505050505050919050565b8115610cea57631cd554d160e21b811461428f57614206612652565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b815260040161423c93929190615b4f565b60206040518083038186803b15801561425457600080fd5b505afa158015614268573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061428c9190810190615126565b91505b6142976143d6565b6001600160a01b031663867904b46142ad614c4b565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b1580156142e557600080fd5b505afa1580156142f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061431d9190810190614f2a565b846040518363ffffffff1660e01b815260040161433b929190615ad8565b600060405180830381600087803b15801561435557600080fd5b505af1158015614369573d6000803e3d6000fd5b50505050614375614c4b565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b81526004016143a09190615b05565b600060405180830381600087803b1580156143ba57600080fd5b505af11580156143ce573d6000803e3d6000fd5b505050505050565b600061264d6814de5b9d1a1cd554d160ba1b614b2d565b600061259a82614b2d565b60008160e001511161441c5760405162461bcd60e51b815260040161097590615d46565b42614437600e5483610100015161257290919063ffffffff16565b11156144555760405162461bcd60e51b815260040161097590615bf6565b50565b6000828152600860205260409020548190614472906143ed565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161449d9190615a86565b60206040518083038186803b1580156144b557600080fd5b505afa1580156144c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144ed9190810190615126565b10156107095760405162461bcd60e51b815260040161097590615d16565b6000806145298360c00151846080015161257290919063ffffffff16565b608084015160408501519350909150614540614afd565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b8152600401614571929190615ad8565b60206040518083038186803b15801561458957600080fd5b505afa15801561459d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506145c1919081019061505d565b156145de5760405162461bcd60e51b815260040161097590615d66565b60608401516000908152600860205260409020546145fb906143ed565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b8152600401614628929190615ad8565b600060405180830381600087803b15801561464257600080fd5b505af1158015614656573d6000803e3d6000fd5b505050508360a00151156147745761466c613cda565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b81526004016146a1929190615b21565b600060405180830381600087803b1580156146bb57600080fd5b505af11580156146cf573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b03161561476f57606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161473c918a91600401615ad8565b600060405180830381600087803b15801561475657600080fd5b505af115801561476a573d6000803e3d6000fd5b505050505b6147e4565b61477c613cda565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b81526004016147b1929190615b21565b600060405180830381600087803b1580156147cb57600080fd5b505af11580156147df573d6000803e3d6000fd5b505050505b6147f68460c0015185606001516141ea565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c9061484c908790600401615d76565b600060405180830381600087803b15801561486657600080fd5b505af115801561487a573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516148c993929190615b4f565b60405180910390a350509392505050565b6148e2614c86565b508181158015906148f7575060008360c00151115b156149545760008360c00151831161490f5782614915565b8360c001515b60c085015190915061492d908263ffffffff612c2816565b60c0830152614942838263ffffffff612c2816565b92506149528185606001516141ea565b505b811561259a57608083015161496f908363ffffffff612c2816565b608082015260a081015115614a8c57614986613cda565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b81526004016149b7929190615b21565b600060405180830381600087803b1580156149d157600080fd5b505af11580156149e5573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b031615614a875760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391614a5491908690600401615aa2565b600060405180830381600087803b158015614a6e57600080fd5b505af1158015614a82573d6000803e3d6000fd5b505050505b61259a565b614a94613cda565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b8152600401614ac5929190615b21565b600060405180830381600087803b158015614adf57600080fd5b505af1158015614af3573d6000803e3d6000fd5b5050505092915050565b600061264d6822bc31b430b733b2b960b91b614b2d565b600061264d6e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b039091169182151591614b5d91869101615a50565b604051602081830303815290604052906133145760405162461bcd60e51b81526004016109759190615b85565b600082614b995750600061259a565b82820282848281614ba657fe5b04146125975760405162461bcd60e51b815260040161097590615d06565b60006111da8383670de0b6b3a7640000614c60565b6000808211614bfa5760405162461bcd60e51b815260040161097590615c86565b6000828481614c0557fe5b04949350505050565b600080600a8304614c25868663ffffffff614b8a16565b81614c2c57fe5b0490506005600a825b0610614c3f57600a015b600a9004949350505050565b600061264d66119959541bdbdb60ca1b614b2d565b600080614c7a84613cb487600a870263ffffffff614b8a16565b90506005600a82614c35565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b803561259a81615eb2565b805161259a81615eb2565b60008083601f840112614d0857600080fd5b50813567ffffffffffffffff811115614d2057600080fd5b602083019150836020820283011115614d3857600080fd5b9250929050565b803561259a81615ec6565b805161259a81615ec6565b803561259a81615ecf565b805161259a81615ecf565b60006101208284031215614d7e57600080fd5b614d89610120615e0f565b90506000614d978484614d55565b8252506020614da884848301614ce0565b6020830152506040614dbc84828501614d55565b6040830152506060614dd084828501614d55565b6060830152506080614de484828501614d55565b60808301525060a0614df884828501614d3f565b60a08301525060c0614e0c84828501614d55565b60c08301525060e0614e2084828501614d55565b60e083015250610100614e3584828501614d55565b6101008301525092915050565b60006101208284031215614e5557600080fd5b614e60610120615e0f565b90506000614e6e8484614d60565b8252506020614e7f84848301614ceb565b6020830152506040614e9384828501614d60565b6040830152506060614ea784828501614d60565b6060830152506080614ebb84828501614d60565b60808301525060a0614ecf84828501614d4a565b60a08301525060c0614ee384828501614d60565b60c08301525060e0614ef784828501614d60565b60e083015250610100614e3584828501614d60565b600060208284031215614f1e57600080fd5b60006108888484614ce0565b600060208284031215614f3c57600080fd5b60006108888484614ceb565b60008060408385031215614f5b57600080fd5b6000614f678585614ce0565b9250506020614f7885828601614d55565b9150509250929050565b600080600060608486031215614f9757600080fd5b6000614fa38686614ce0565b9350506020614fb486828701614d55565b9250506040614fc586828701614d55565b9150509250925092565b60008060008060408587031215614fe557600080fd5b843567ffffffffffffffff811115614ffc57600080fd5b61500887828801614cf6565b9450945050602085013567ffffffffffffffff81111561502757600080fd5b61503387828801614cf6565b95989497509550505050565b60006020828403121561505157600080fd5b60006108888484614d3f565b60006020828403121561506f57600080fd5b60006108888484614d4a565b6000806040838503121561508e57600080fd5b600061509a8585614d4a565b9250506020614f7885828601614d4a565b6000602082840312156150bd57600080fd5b60006108888484614d55565b600080604083850312156150dc57600080fd5b6000614f678585614d55565b600061012082840312156150fb57600080fd5b60006108888484614d6b565b6000610120828403121561511a57600080fd5b60006108888484614e42565b60006020828403121561513857600080fd5b60006108888484614d60565b6000806040838503121561515757600080fd5b600061509a8585614d60565b6000806000806080858703121561517957600080fd5b60006151858787614d60565b945050602061519687828801614d60565b93505060406151a787828801614d60565b92505060606151b887828801614d60565b91505092959194509250565b60006151d08383615252565b505060200190565b6151e181615e6a565b82525050565b6151e181615e4e565b60006151fb82615e3c565b6152058185615e40565b935061521083615e36565b8060005b8381101561523e57815161522888826151c4565b975061523383615e36565b925050600101615214565b509495945050505050565b6151e181615e59565b6151e181610bf2565b6151e161526782610bf2565b610bf2565b6151e181615e71565b600061528082615e3c565b61528a8185615e40565b935061529a818560208601615e7c565b6152a381615ea8565b9093019392505050565b60006152ba601b83615e40565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006152f3601683615e40565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b6000615325600e83615e40565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b600061534f601583615e40565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b6000615380603583615e40565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006153d7600f83615e40565b6e151c985b9cd9995c8819985a5b1959608a1b815260200192915050565b6000615402601d83615e40565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b600061543b601e83615e40565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b6000615474601b83615e40565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006154ad601283615e40565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b60006154db601e83615e40565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b6000615514601d83615e40565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b600061554d601883615e40565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000615586602083615e40565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b60006155bf601e83615e40565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006155f8601a83615e40565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615631601183615e49565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061565e601183615e40565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b600061568b601383615e40565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b60006156ba600a83615e40565b6926b0bc1018903437bab960b11b815260200192915050565b60006156e0601a83615e40565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615719601b83615e40565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b6000615752602f83615e40565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006157a3601f83615e40565b7f4e6f7420616c6c6f77656420746f20697373756520746869732073796e746800815260200192915050565b60006157dc602183615e40565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061581f601883615e40565b7f4e6f7420656e6f7567682073796e74682062616c616e63650000000000000000815260200192915050565b6000615858601e83615e40565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b6000615891601a83615e40565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006158ca601983615e49565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061259a600083615e49565b6000615910601383615e40565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b600061593f601f83615e40565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000615978601b83615e40565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906159b68482615252565b5060208201516159c960208501826151e7565b5060408201516159dc6040850182615252565b5060608201516159ef6060850182615252565b506080820151615a026080850182615252565b5060a0820151615a1560a0850182615249565b5060c0820151615a2860c0850182615252565b5060e0820151615a3b60e0850182615252565b50610100820151610ad7610100850182615252565b6000615a5b82615624565b9150615a67828461525b565b50602001919050565b6000615a5b826158bd565b600061259a826158f6565b6020810161259a82846151e7565b6020810161259a82846151d8565b60408101615ab082856151d8565b6111da6020830184615252565b60408101615acb82856151e7565b6111da60208301846151e7565b60408101615ab082856151e7565b602080825281016111da81846151f0565b6020810161259a8284615249565b6020810161259a8284615252565b60408101615acb8285615252565b60408101615ab08285615252565b60408101615b3d8285615252565b81810360208301526108888184615275565b60608101615b5d8286615252565b615b6a6020830185615252565b6108886040830184615252565b6020810161259a828461526c565b602080825281016111da8184615275565b6020808252810161259a816152ad565b6020808252810161259a816152e6565b6020808252810161259a81615318565b6020808252810161259a81615342565b6020808252810161259a81615373565b6020808252810161259a816153ca565b6020808252810161259a816153f5565b6020808252810161259a8161542e565b6020808252810161259a81615467565b6020808252810161259a816154a0565b6020808252810161259a816154ce565b6020808252810161259a81615507565b6020808252810161259a81615540565b6020808252810161259a81615579565b6020808252810161259a816155b2565b6020808252810161259a816155eb565b6020808252810161259a81615651565b6020808252810161259a8161567e565b6020808252810161259a816156ad565b6020808252810161259a816156d3565b6020808252810161259a8161570c565b6020808252810161259a81615745565b6020808252810161259a81615796565b6020808252810161259a816157cf565b6020808252810161259a81615812565b6020808252810161259a8161584b565b6020808252810161259a81615884565b6020808252810161259a81615903565b6020808252810161259a81615932565b6020808252810161259a8161596b565b610120810161259a82846159a4565b60808101615d938287615252565b615da060208301866151d8565b615dad6040830185615252565b615dba6060830184615252565b95945050505050565b60a08101615dd18288615252565b615dde6020830187615252565b615deb6040830186615252565b615df86060830185615252565b615e056080830184615252565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615e2e57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b600061259a82615e5e565b151590565b6001600160a01b031690565b600061259a825b600061259a82615e4e565b60005b83811015615e97578181015183820152602001615e7f565b83811115610ad75750506000910152565b601f01601f191690565b615ebb81615e4e565b811461445557600080fd5b615ebb81615e59565b615ebb81610bf256fea365627a7a723158204f8c74024927e46661278ea6cfe2e203eefaf23b2400b6cd678f30b0a7e255d96c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"contract CollateralState","name":"_state","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_manager","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"},{"internalType":"uint256","name":"_minCratio","type":"uint256"},{"internalType":"uint256","name":"_minCollateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"canOpenLoans","type":"bool"}],"name":"CanOpenLoansUpdated","type":"event","signature":"0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountDeposited","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralDeposited","type":"event","signature":"0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountWithdrawn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralWithdrawn","type":"event","signature":"0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"interactionDelay","type":"uint256"}],"name":"InteractionDelayUpdated","type":"event","signature":"0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"issueFeeRate","type":"uint256"}],"name":"IssueFeeRateUpdated","type":"event","signature":"0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"LoanClosed","type":"event","signature":"0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanClosedByLiquidation","type":"event","signature":"0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateral","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"currency","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"issuanceFee","type":"uint256"}],"name":"LoanCreated","type":"event","signature":"0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LoanDrawnDown","type":"event","signature":"0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanPartiallyLiquidated","type":"event","signature":"0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"repayer","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRepaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAfter","type":"uint256"}],"name":"LoanRepaymentMade","type":"event","signature":"0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"manager","type":"address"}],"name":"ManagerUpdated","type":"event","signature":"0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxLoansPerAccount","type":"uint256"}],"name":"MaxLoansPerAccountUpdated","type":"event","signature":"0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCollateral","type":"uint256"}],"name":"MinCollateralUpdated","type":"event","signature":"0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCratio","type":"uint256"}],"name":"MinCratioRatioUpdated","type":"event","signature":"0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"address","name":"rewardsContract","type":"address"},{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"addRewardsContracts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5eb2ad01"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"addSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23d60e2e"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"areSynthsAndCurrenciesSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x72e18b6a"},{"constant":true,"inputs":[],"name":"canOpenLoans","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4065b81b"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x379607f5"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0aebeb4e"},{"constant":true,"inputs":[],"name":"collateralKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb562a1ab"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"collateralRatio","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdac8cf68"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"collateralRedeemed","outputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0a153c97"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function","signature":"0x47e7ef24"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"draw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd2b8035a"},{"constant":true,"inputs":[],"name":"interactionDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x15aaf4dd"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"issueFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x361e2086"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"liquidate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0710285c"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"liquidationAmount","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe74337c6"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x481c6a75"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"maxLoan","outputs":[{"internalType":"uint256","name":"max","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7e132355"},{"constant":true,"inputs":[],"name":"maxLoansPerAccount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeb8e3b65"},{"constant":true,"inputs":[],"name":"minCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xba2de9bc"},{"constant":true,"inputs":[],"name":"minCratio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x925ead11"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"open","outputs":[],"payable":true,"stateMutability":"payable","type":"function","signature":"0x06c19e3f"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pendingWithdrawals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf3f43703"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"repay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8cd2e0c7"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"bool","name":"_canOpenLoans","type":"bool"}],"name":"setCanOpenLoans","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x90abb4d9"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_interactionDelay","type":"uint256"}],"name":"setInteractionDelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4c17ace4"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_issueFeeRate","type":"uint256"}],"name":"setIssueFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa76cdfa5"},{"constant":false,"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"name":"setManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd0ebdbe7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_minCratio","type":"uint256"}],"name":"setMinCratio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0cdd1c65"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"shortingRewards","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xde81eda9"},{"constant":true,"inputs":[],"name":"state","outputs":[{"internalType":"contract CollateralState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc19d93fb"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"synths","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x30edd961"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthsByKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x38245377"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x441a3e70"}],"source":{"keccak256":"0xa48ff50e2dbdb646cb5933caf7f577a673f7e535eb520e7e9b32ff86e3bc9784","urls":["bzz-raw://de83c1e9d2cb8f8cba647b2e3bd0c9e03284096e82cd752c7f30e6d2cb2cb931","dweb:/ipfs/Qmcx9SSBT8q257W6qpmgmjJtgWX16Maib4hu6tcxdjp69R"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"CollateralEth.sol":"CollateralEth"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"CollateralEth.sol":{"keccak256":"0xa48ff50e2dbdb646cb5933caf7f577a673f7e535eb520e7e9b32ff86e3bc9784","urls":["bzz-raw://de83c1e9d2cb8f8cba647b2e3bd0c9e03284096e82cd752c7f30e6d2cb2cb931","dweb:/ipfs/Qmcx9SSBT8q257W6qpmgmjJtgWX16Maib4hu6tcxdjp69R"]}},"version":1}},"CollateralErc20":{"bytecode":"60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162006350380380620063508339810160408190526200004c916200018c565b888888888888888380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f90620002e0565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d5918490620002ba565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498831698821698909817909755600580549982169990971698909817909555600492909255600a55600b555050600f80549490921661010002610100600160a81b031990941693909317905560105550620003619650505050505050565b80516200016c8162000331565b92915050565b80516200016c816200034b565b80516200016c8162000356565b60008060008060008060008060006101208a8c031215620001ac57600080fd5b6000620001ba8c8c6200017f565b9950506020620001cd8c828d016200015f565b9850506040620001e08c828d016200015f565b9750506060620001f38c828d016200015f565b9650506080620002068c828d0162000172565b95505060a0620002198c828d0162000172565b94505060c06200022c8c828d0162000172565b93505060e06200023f8c828d016200015f565b925050610100620002538c828d0162000172565b9150509295985092959850929598565b6200026e8162000324565b82525050565b6200026e81620002fb565b60006200028e601983620002f2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002ca828562000263565b620002d9602083018462000274565b9392505050565b602080825281016200016c816200027f565b90815260200190565b60006200016c8262000318565b90565b60006200016c82620002fb565b6001600160a01b031690565b60006200016c826200030b565b6200033c81620002fb565b81146200034857600080fd5b50565b6200033c8162000308565b6200033c816200030b565b615fdf80620003716000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c806372e18b6a11610151578063b094f2c4116100c3578063d2b8035a11610087578063d2b8035a146104be578063dac8cf68146104d1578063de81eda9146104e4578063e74337c6146104f7578063eb8e3b651461050a578063f93451ed1461051257610269565b8063b094f2c414610480578063b562a1ab14610493578063ba2de9bc1461049b578063c19d93fb146104a3578063d0ebdbe7146104ab57610269565b8063899ffef411610115578063899ffef4146104225780638cd2e0c7146104375780638da5cb5b1461044a57806390abb4d914610452578063925ead1114610465578063a76cdfa51461046d57610269565b806372e18b6a146103d957806374185360146103ec57806379ba5097146103f45780637e132355146103fc578063883a22091461040f57610269565b80632af64bd3116101ea5780634065b81b116101ae5780634065b81b14610388578063441a3e7014610390578063481c6a75146103a35780634c17ace4146103ab57806353a47bb7146103be5780635eb2ad01146103c657610269565b80632af64bd31461033d57806330edd96114610352578063361e208614610365578063382453771461036d5780633cc3ffc71461038057610269565b80630efe6a8b116102315780630efe6a8b146102e757806310cfe906146102fa57806315aaf4dd1461030f5780631627540c1461031757806323d60e2e1461032a57610269565b806304f3bcec1461026e5780630710285c1461028c5780630a153c97146102a15780630aebeb4e146102c15780630cdd1c65146102d4575b600080fd5b610276610525565b6040516102839190615c4b565b60405180910390f35b61029f61029a36600461504f565b610534565b005b6102b46102af366004615196565b6105e0565b6040516102839190615be6565b61029f6102cf366004615178565b61071c565b61029f6102e2366004615178565b6107c5565b61029f6102f536600461504f565b6108b0565b6103026109f8565b6040516102839190615b31565b6102b4610a0c565b61029f610325366004614fd9565b610a12565b61029f61033836600461509c565b610a65565b610345610b25565b6040516102839190615bd8565b6102b4610360366004615178565b610c3d565b6102b4610c5b565b6102b461037b366004615178565b610c61565b6102b4610c73565b610345610c79565b61029f61039e366004615196565b610c82565b610302610c9b565b61029f6103b9366004615178565b610caa565b610302610d86565b61029f6103d4366004615015565b610d95565b6103456103e736600461509c565b610dcb565b61029f610e8d565b61029f610fe3565b6102b461040a366004615196565b61107f565b6102b461041d366004615178565b611128565b61042a61114d565b6040516102839190615bc7565b61029f61044536600461504f565b6112b2565b6103026112c3565b61029f61046036600461510c565b6112d2565b6102b461131e565b61029f61047b366004615178565b611324565b6102b461048e366004615178565b611361565b6102b4611386565b6102b461138c565b610276611392565b61029f6104b9366004614fd9565b6113a1565b61029f6104cc366004615196565b6113fa565b6102b46104df3660046151b5565b611404565b6103026104f2366004615178565b61155d565b6102b46105053660046151b5565b611578565b6102b4611862565b61029f610520366004615230565b611868565b6002546001600160a01b031681565b60006105418484846119b9565b9050600061054e82611361565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb906105869033908590600401615b90565b602060405180830381600087803b1580156105a057600080fd5b505af11580156105b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d8919081019061512a565b505050505050565b6000806105eb611e1e565b90506105f5611ed0565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161062693929190615c30565b60206040518083038186803b15801561063e57600080fd5b505afa158015610652573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061067691908101906151f3565b91506107146107078273__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c357600080fd5b505af41580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106fb91908101906151f3565b9063ffffffff611eeb16565b839063ffffffff611f1916565b949350505050565b60006107283383611f43565b9050600061073582611361565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb9061076d9033908590600401615b90565b602060405180830381600087803b15801561078757600080fd5b505af115801561079b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107bf919081019061512a565b50505050565b6107cd6124a8565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561081157600080fd5b505af4158015610825573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061084991908101906151f3565b81116108705760405162461bcd60e51b815260040161086790615c7a565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906108a5908390615be6565b60405180910390a150565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e906108e69033903090600401615b4d565b60206040518083038186803b1580156108fe57600080fd5b505afa158015610912573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061093691908101906151f3565b8111156109555760405162461bcd60e51b815260040161086790615cba565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd9061098d90339030908690600401615b68565b602060405180830381600087803b1580156109a757600080fd5b505af11580156109bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109df919081019061512a565b5060006109eb82611128565b90506107bf8484836124d4565b600f5461010090046001600160a01b031681565b600e5481565b610a1a6124a8565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108a5908390615b31565b610a6d6124a8565b828114610a8c5760405162461bcd60e51b815260040161086790615c6a565b60005b83811015610b1c576000858583818110610aa557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610af957fe5b602090810292909201358352508101919091526040016000205550600101610a8f565b506107bf610e8d565b60006060610b3161114d565b905060005b8151811015610c33576000828281518110610b4d57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b9e908590600401615be6565b60206040518083038186803b158015610bb657600080fd5b505afa158015610bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bee9190810190614ff7565b6001600160a01b0316141580610c1957506000818152600360205260409020546001600160a01b0316155b15610c2a5760009350505050610c3a565b50600101610b36565b5060019150505b90565b60078181548110610c4a57fe5b600091825260209091200154905081565b600c5481565b60086020526000908152604090205481565b60105481565b600f5460ff1681565b6000610c8d82611128565b905060006105418483612765565b6006546001600160a01b031681565b610cb26124a8565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf657600080fd5b505af4158015610d0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2e91908101906151f3565b610e1002811115610d515760405162461bcd60e51b815260040161086790615d8a565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906108a5908390615be6565b6001546001600160a01b031681565b610d9d6124a8565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610ddf57506000610714565b60005b84811015610e81576000868683818110610df857fe5b9050602002013590508060078381548110610e0f57fe5b906000526020600020015414610e2a57600092505050610714565b60078281548110610e3757fe5b906000526020600020015460086000878786818110610e5257fe5b9050602002013581526020019081526020016000205414610e7857600092505050610714565b50600101610de2565b50600195945050505050565b6060610e9761114d565b905060005b8151811015610fdf576000828281518110610eb357fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610ef59190615b26565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610f21929190615c10565b60206040518083038186803b158015610f3957600080fd5b505afa158015610f4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f719190810190614ff7565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610fcd9084908490615bf4565b60405180910390a15050600101610e9c565b5050565b6001546001600160a01b0316331461100d5760405162461bcd60e51b815260040161086790615caa565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611050926001600160a01b0391821692911690615bab565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061112161108c611ed0565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b81526004016110bd93929190615c30565b60206040518083038186803b1580156110d557600080fd5b505afa1580156110e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061110d91908101906151f3565b611115612a02565b9063ffffffff611f1916565b9392505050565b6000806111386012601054612a92565b600a0a9050611121838263ffffffff612aba16565b606080611158612af4565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061119757fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106111c157fe5b6020026020010181815250506822bc31b430b733b2b960b91b816002815181106111e757fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061121057fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061123657fe5b602002602001018181525050606061124e8383612b45565b90506112aa8160078054806020026020016040519081016040528092919081815260200182805480156112a057602002820191906000526020600020905b81548152602001906001019080831161128c575b5050505050612b45565b935050505090565b6112be83338484612c01565b505050565b6000546001600160a01b031681565b6112da6124a8565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108a59160ff90911690615bd8565b600a5481565b61132c6124a8565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906108a5908390615be6565b6000806113716012601054612a92565b600a0a9050611121838263ffffffff612fbc16565b60045481565b600b5481565b6005546001600160a01b031681565b6113a96124a8565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926108a5921690615b31565b610fdf8282612ff1565b60008061140f611ed0565b6001600160a01b031663654a60ac6004548560400151631cd554d160e21b6040518463ffffffff1660e01b815260040161144b93929190615c30565b60206040518083038186803b15801561146357600080fd5b505afa158015611477573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061149b91908101906151f3565b905060006114a7611ed0565b6001600160a01b031663654a60ac85606001516114d58760c001518860800151611eeb90919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b81526004016114fb93929190615c30565b60206040518083038186803b15801561151357600080fd5b505afa158015611527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061154b91908101906151f3565b9050610714828263ffffffff6135b116565b6009602052600090815260409020546001600160a01b031681565b600080611583611e1e565b9050600061158f611ed0565b6001600160a01b031663654a60ac85606001516115bd8760c001518860800151611eeb90919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b81526004016115e393929190615c30565b60206040518083038186803b1580156115fb57600080fd5b505afa15801561160f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061163391908101906151f3565b9050600061163f611ed0565b6001600160a01b031663654a60ac6004548760400151631cd554d160e21b6040518463ffffffff1660e01b815260040161167b93929190615c30565b60206040518083038186803b15801561169357600080fd5b505afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116cb91908101906151f3565b9050600073__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561171357600080fd5b505af4158015611727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061174b91908101906151f3565b90506000611774611767600a54856135b190919063ffffffff16565b859063ffffffff612a9216565b905060006117ad6117a0600a546117948987611eeb90919063ffffffff16565b9063ffffffff6135b116565b849063ffffffff612a9216565b905060006117c1838363ffffffff6135b116565b90506117cb611ed0565b6001600160a01b031663654a60ac631cd554d160e21b838c606001516040518463ffffffff1660e01b815260040161180593929190615c30565b60206040518083038186803b15801561181d57600080fd5b505afa158015611831573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061185591908101906151f3565b9998505050505050505050565b600d5481565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e9061189e9033903090600401615b4d565b60206040518083038186803b1580156118b657600080fd5b505afa1580156118ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118ee91908101906151f3565b83111561190d5760405162461bcd60e51b815260040161086790615cba565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd9061194590339030908890600401615b68565b602060405180830381600087803b15801561195f57600080fd5b505af1158015611973573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611997919081019061512a565b5060006119a384611128565b90506119b281848460006135db565b5050505050565b60006119c3613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119fb57600080fd5b505afa158015611a0f573d6000803e3d6000fd5b50505050611a1b611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611a489190615be6565b60206040518083038186803b158015611a6057600080fd5b505afa158015611a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a98919081019061512a565b15611ab55760405162461bcd60e51b815260040161086790615d9a565b60008211611ad55760405162461bcd60e51b815260040161086790615cda565b611add614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611b0f9088908890600401615bb9565b6101206040518083038186803b158015611b2857600080fd5b505afa158015611b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b6091908101906151d4565b9050611b6b81613e1e565b611b7481613e7e565b9050611b853382606001518561436a565b600a54611b9182611404565b10611bae5760405162461bcd60e51b815260040161086790615d0a565b6000611bb982611578565b90506000848210611bca5784611bcc565b815b90506000611beb8460c001518560800151611eeb90919063ffffffff16565b9050808210611c0a57611bff88338661441d565b945050505050611121565b611c1484836147ec565b9350611c248460600151836105e0565b6040850151909550611c3c908663ffffffff612a9216565b604085015242610100850152611c50614a0f565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611c81929190615b90565b60206040518083038186803b158015611c9957600080fd5b505afa158015611cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cd1919081019061512a565b15611cee5760405162461bcd60e51b815260040161086790615e2a565b6060840151600090815260086020526040902054611d0b90614a26565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611d38929190615b90565b600060405180830381600087803b158015611d5257600080fd5b505af1158015611d66573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611d9a908790600401615e3a565b600060405180830381600087803b158015611db457600080fd5b505af1158015611dc8573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611e0b9493929190615e49565b60405180910390a2505050509392505050565b6000611e28614a31565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611e7b929190615c02565b60206040518083038186803b158015611e9357600080fd5b505afa158015611ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ecb91908101906151f3565b905090565b6000611ecb6c45786368616e6765526174657360981b614a4a565b600082820183811015611f105760405162461bcd60e51b815260040161086790615cea565b90505b92915050565b6000670de0b6b3a7640000611f34848463ffffffff612aba16565b81611f3b57fe5b049392505050565b6000611f4d613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611f8557600080fd5b505afa158015611f99573d6000803e3d6000fd5b50505050611fa5611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611fd29190615be6565b60206040518083038186803b158015611fea57600080fd5b505afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612022919081019061512a565b1561203f5760405162461bcd60e51b815260040161086790615d9a565b612047614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906120799087908790600401615bb9565b6101206040518083038186803b15801561209257600080fd5b505afa1580156120a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ca91908101906151d4565b90506120d581613e1e565b6120de81613e7e565b905060006120fd8260c001518360800151611eeb90919063ffffffff16565b9050612112826020015183606001518361436a565b61211a614a0f565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b815260040161214b929190615bb9565b60206040518083038186803b15801561216357600080fd5b505afa158015612177573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061219b919081019061512a565b156121b85760405162461bcd60e51b815260040161086790615d3a565b60608201516000908152600860205260409020546121d590614a26565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612202929190615bb9565b600060405180830381600087803b15801561221c57600080fd5b505af1158015612230573d6000803e3d6000fd5b505050508160a001511561234e57612246614aa7565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161227b929190615c02565b600060405180830381600087803b15801561229557600080fd5b505af11580156122a9573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b03161561234957606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391612316918991600401615bb9565b600060405180830381600087803b15801561233057600080fd5b505af1158015612344573d6000803e3d6000fd5b505050505b6123be565b612356614aa7565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161238b929190615c02565b600060405180830381600087803b1580156123a557600080fd5b505af11580156123b9573d6000803e3d6000fd5b505050505b816040015192506123d78260c001518360600151614ab6565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c9061242d908590600401615e3a565b600060405180830381600087803b15801561244757600080fd5b505af115801561245b573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f856040516124989190615be6565b60405180910390a2505092915050565b6000546001600160a01b031633146124d25760405162461bcd60e51b815260040161086790615dba565b565b6124dc613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561251457600080fd5b505afa158015612528573d6000803e3d6000fd5b50505050612534611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016125619190615be6565b60206040518083038186803b15801561257957600080fd5b505afa15801561258d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125b1919081019061512a565b156125ce5760405162461bcd60e51b815260040161086790615d9a565b600081116125ee5760405162461bcd60e51b815260040161086790615dfa565b6125f6614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906126289087908790600401615bb9565b6101206040518083038186803b15801561264157600080fd5b505afa158015612655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061267991908101906151d4565b905061268481613e1e565b61268d81613e7e565b60408101519091506126a5908363ffffffff611eeb16565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906126e4908490600401615e3a565b600060405180830381600087803b1580156126fe57600080fd5b505af1158015612712573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161275793929190615c30565b60405180910390a250505050565b600061276f613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156127a757600080fd5b505afa1580156127bb573d6000803e3d6000fd5b505050506127c7611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127f49190615be6565b60206040518083038186803b15801561280c57600080fd5b505afa158015612820573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612844919081019061512a565b156128615760405162461bcd60e51b815260040161086790615d9a565b612869614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061289b9033908890600401615b90565b6101206040518083038186803b1580156128b457600080fd5b505afa1580156128c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128ec91908101906151d4565b90506128f781613e1e565b61290081613e7e565b6040810151909150612918908463ffffffff612a9216565b604082015242610100820152600a5461293082611404565b1161294d5760405162461bcd60e51b815260040161086790615c8a565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c9061297d908490600401615e3a565b600060405180830381600087803b15801561299757600080fd5b505af11580156129ab573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303858584604001516040516129f393929190615c30565b60405180910390a25092915050565b6000611ecb600a5473__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612a4e57600080fd5b505af4158015612a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a8691908101906151f3565b9063ffffffff614c9a16565b600082821115612ab45760405162461bcd60e51b815260040161086790615d4a565b50900390565b600082612ac957506000611f13565b82820282848281612ad657fe5b0414611f105760405162461bcd60e51b815260040161086790615dda565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612b3657fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612b75578160200160208202803883390190505b50905060005b8351811015612bb757838181518110612b9057fe5b6020026020010151828281518110612ba457fe5b6020908102919091010152600101612b7b565b5060005b8251811015612bfa57828181518110612bd057fe5b6020026020010151828286510181518110612be757fe5b6020908102919091010152600101612bbb565b5092915050565b612c09613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612c4157600080fd5b505afa158015612c55573d6000803e3d6000fd5b50505050612c61611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612c8e9190615be6565b60206040518083038186803b158015612ca657600080fd5b505afa158015612cba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612cde919081019061512a565b15612cfb5760405162461bcd60e51b815260040161086790615d9a565b60008111612d1b5760405162461bcd60e51b815260040161086790615cda565b612d23614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612d559088908790600401615bb9565b6101206040518083038186803b158015612d6e57600080fd5b505afa158015612d82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612da691908101906151d4565b9050612db181613e1e565b612dba81613e7e565b9050612dcb8482606001518461436a565b612dd581836147ec565b426101008201529050612de6614a0f565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612e17929190615bb9565b60206040518083038186803b158015612e2f57600080fd5b505afa158015612e43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e67919081019061512a565b15612e845760405162461bcd60e51b815260040161086790615e2a565b6060810151600090815260086020526040902054612ea190614a26565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612ece929190615bb9565b600060405180830381600087803b158015612ee857600080fd5b505af1158015612efc573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612f30908490600401615e3a565b600060405180830381600087803b158015612f4a57600080fd5b505af1158015612f5e573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612fad93929190615c30565b60405180910390a35050505050565b6000808211612fdd5760405162461bcd60e51b815260040161086790615d5a565b6000828481612fe857fe5b04949350505050565b612ff9613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561303157600080fd5b505afa158015613045573d6000803e3d6000fd5b50505050613051611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b815260040161307e9190615be6565b60206040518083038186803b15801561309657600080fd5b505afa1580156130aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130ce919081019061512a565b156130eb5760405162461bcd60e51b815260040161086790615d9a565b6130f3614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906131259033908790600401615b90565b6101206040518083038186803b15801561313e57600080fd5b505afa158015613152573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061317691908101906151d4565b905061318181613e1e565b61318a81613e7e565b60808101519091506131a2908363ffffffff611eeb16565b6080820152600a546131b382611404565b116131d05760405162461bcd60e51b815260040161086790615c9a565b60006131e7600c5484614caf90919063ffffffff16565b905060006131fb848363ffffffff612a9216565b90508260a00151156134085761320f614aa7565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401613240929190615c02565b600060405180830381600087803b15801561325a57600080fd5b505af115801561326e573d6000803e3d6000fd5b5050505061327a614cc4565b6001600160a01b031663867904b433613291611ed0565b6001600160a01b031663654a60ac876060015186631cd554d160e21b6040518463ffffffff1660e01b81526004016132cb93929190615c30565b60206040518083038186803b1580156132e357600080fd5b505afa1580156132f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061331b91908101906151f3565b6040518363ffffffff1660e01b8152600401613338929190615b90565b600060405180830381600087803b15801561335257600080fd5b505af1158015613366573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156134035760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906133d09033908890600401615b90565b600060405180830381600087803b1580156133ea57600080fd5b505af11580156133fe573d6000803e3d6000fd5b505050505b6134f0565b613410614aa7565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b8152600401613441929190615c02565b600060405180830381600087803b15801561345b57600080fd5b505af115801561346f573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546134909150614a26565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016134bd929190615b90565b600060405180830381600087803b1580156134d757600080fd5b505af11580156134eb573d6000803e3d6000fd5b505050505b6134fe828460600151614ab6565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613535908690600401615e3a565b600060405180830381600087803b15801561354f57600080fd5b505af1158015613563573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf35831065486866040516135a2929190615c02565b60405180910390a25050505050565b6000611121826135cf85670de0b6b3a764000063ffffffff612aba16565b9063ffffffff612fbc16565b60006135e5613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561361d57600080fd5b505afa158015613631573d6000803e3d6000fd5b5050600f5460ff16915061365990505760405162461bcd60e51b815260040161086790615d7a565b613661611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b815260040161368e9190615be6565b60206040518083038186803b1580156136a657600080fd5b505afa1580156136ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136de919081019061512a565b156136fb5760405162461bcd60e51b815260040161086790615d9a565b6000838152600860205260409020546137265760405162461bcd60e51b815260040161086790615dca565b61372e611ed0565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016137599190615be6565b60206040518083038186803b15801561377157600080fd5b505afa158015613785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137a9919081019061512a565b156137c65760405162461bcd60e51b815260040161086790615d2a565b600b548510156137e85760405162461bcd60e51b815260040161086790615d1a565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc9061381b903390600401615b3f565b60206040518083038186803b15801561383357600080fd5b505afa158015613847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061386b91908101906151f3565b106138885760405162461bcd60e51b815260040161086790615cfa565b600080613893614aa7565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b81526004016138c0929190615c02565b604080518083038186803b1580156138d757600080fd5b505afa1580156138eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061390f9190810190615148565b9150915081801561391e575080155b61393a5760405162461bcd60e51b815260040161086790615e0a565b613944878661107f565b8611156139635760405162461bcd60e51b815260040161086790615daa565b600061397a600c5488614caf90919063ffffffff16565b9050600061398e888363ffffffff612a9216565b9050613998614aa7565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156139d257600080fd5b505af11580156139e6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a0a91908101906151f3565b9450613a14614d53565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a815260200188151581526020016000815260200160008152602001428152509050613a6c81613e7e565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490613a9d908490600401615e3a565b600060405180830381600087803b158015613ab757600080fd5b505af1158015613acb573d6000803e3d6000fd5b50505050613ad98389614ab6565b8615613ccf57613ae7614cc4565b6001600160a01b031663867904b433613afe611ed0565b6001600160a01b031663654a60ac8c87631cd554d160e21b6040518463ffffffff1660e01b8152600401613b3493929190615c30565b60206040518083038186803b158015613b4c57600080fd5b505afa158015613b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b8491908101906151f3565b6040518363ffffffff1660e01b8152600401613ba1929190615b90565b600060405180830381600087803b158015613bbb57600080fd5b505af1158015613bcf573d6000803e3d6000fd5b50505050613bdb614aa7565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401613c08929190615c02565b600060405180830381600087803b158015613c2257600080fd5b505af1158015613c36573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613cca576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190613c979033908d90600401615b90565b600060405180830381600087803b158015613cb157600080fd5b505af1158015613cc5573d6000803e3d6000fd5b505050505b613dae565b600088815260086020526040902054613ce790614a26565b6001600160a01b031663867904b433846040518363ffffffff1660e01b8152600401613d14929190615b90565b600060405180830381600087803b158015613d2e57600080fd5b505af1158015613d42573d6000803e3d6000fd5b50505050613d4e614aa7565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401613d7b929190615c02565b600060405180830381600087803b158015613d9557600080fd5b505af1158015613da9573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c88604051613def959493929190615e87565b60405180910390a25050505050949350505050565b6000611ecb6b53797374656d53746174757360a01b614a4a565b60008160e0015111613e425760405162461bcd60e51b815260040161086790615e1a565b42613e5d600e54836101000151611eeb90919063ffffffff16565b1115613e7b5760405162461bcd60e51b815260040161086790615cca565b50565b613e86614d53565b8190506000806000808560a00151613f2457613ea0614aa7565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613ecf9190615be6565b60806040518083038186803b158015613ee757600080fd5b505afa158015613efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f1f9190810190615251565b613fb1565b613f2c614aa7565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613f61929190615c02565b60806040518083038186803b158015613f7957600080fd5b505afa158015613f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613fb19190810190615251565b93509350935093506000808760a0015161404157613fcd614aa7565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b15801561400457600080fd5b505afa158015614018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061403c9190810190615211565b6140d9565b614049614aa7565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f7909161408a91600401615be6565b604080518083038186803b1580156140a157600080fd5b505afa1580156140b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140d99190810190615211565b9150915080156140fb5760405162461bcd60e51b815260040161086790615d6a565b600061419873__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561414457600080fd5b505af4158015614158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061417c91908101906151f3565b61418c428863ffffffff612a9216565b9063ffffffff612aba16565b905060006141bc6141af858463ffffffff611f1916565b889063ffffffff611eeb16565b905060008a60e001516000146141f5576141f06141df838b63ffffffff612a9216565b60808d01519063ffffffff611f1916565b6141f8565b60005b90508a60a0015161426d5761420b614aa7565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b81526004016142369190615be6565b600060405180830381600087803b15801561425057600080fd5b505af1158015614264573d6000803e3d6000fd5b505050506142d9565b614275614aa7565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b81526004016142a6929190615c02565b600060405180830381600087803b1580156142c057600080fd5b505af11580156142d4573d6000803e3d6000fd5b505050505b60c08b01516142ee908263ffffffff611eeb16565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c9061432a908d90600401615e3a565b600060405180830381600087803b15801561434457600080fd5b505af1158015614358573d6000803e3d6000fd5b50505050505050505050505050919050565b600082815260086020526040902054819061438490614a26565b6001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016143af9190615b31565b60206040518083038186803b1580156143c757600080fd5b505afa1580156143db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506143ff91908101906151f3565b10156112be5760405162461bcd60e51b815260040161086790615dea565b60008061443b8360c001518460800151611eeb90919063ffffffff16565b608084015160408501519350909150614452614a0f565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b8152600401614483929190615bb9565b60206040518083038186803b15801561449b57600080fd5b505afa1580156144af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144d3919081019061512a565b156144f05760405162461bcd60e51b815260040161086790615e2a565b606084015160009081526008602052604090205461450d90614a26565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b815260040161453a929190615bb9565b600060405180830381600087803b15801561455457600080fd5b505af1158015614568573d6000803e3d6000fd5b505050508360a00151156146865761457e614aa7565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b81526004016145b3929190615c02565b600060405180830381600087803b1580156145cd57600080fd5b505af11580156145e1573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b03161561468157606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161464e918a91600401615bb9565b600060405180830381600087803b15801561466857600080fd5b505af115801561467c573d6000803e3d6000fd5b505050505b6146f6565b61468e614aa7565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b81526004016146c3929190615c02565b600060405180830381600087803b1580156146dd57600080fd5b505af11580156146f1573d6000803e3d6000fd5b505050505b6147088460c001518560600151614ab6565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c9061475e908790600401615e3a565b600060405180830381600087803b15801561477857600080fd5b505af115801561478c573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516147db93929190615c30565b60405180910390a350509392505050565b6147f4614d53565b50818115801590614809575060008360c00151115b156148665760008360c0015183116148215782614827565b8360c001515b60c085015190915061483f908263ffffffff612a9216565b60c0830152614854838263ffffffff612a9216565b9250614864818560600151614ab6565b505b8115611f13576080830151614881908363ffffffff612a9216565b608082015260a08101511561499e57614898614aa7565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b81526004016148c9929190615c02565b600060405180830381600087803b1580156148e357600080fd5b505af11580156148f7573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b0316156149995760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161496691908690600401615b90565b600060405180830381600087803b15801561498057600080fd5b505af1158015614994573d6000803e3d6000fd5b505050505b611f13565b6149a6614aa7565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b81526004016149d7929190615c02565b600060405180830381600087803b1580156149f157600080fd5b505af1158015614a05573d6000803e3d6000fd5b5050505092915050565b6000611ecb6822bc31b430b733b2b960b91b614a4a565b6000611f1382614a4a565b6000611ecb6e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b039091169182151591614a7a91869101615b06565b60405160208183030381529060405290612bfa5760405162461bcd60e51b81526004016108679190615c59565b6006546001600160a01b031690565b8115610fdf57631cd554d160e21b8114614b5b57614ad2611ed0565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b8152600401614b0893929190615c30565b60206040518083038186803b158015614b2057600080fd5b505afa158015614b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614b5891908101906151f3565b91505b614b63614cc4565b6001600160a01b031663867904b4614b79614cdb565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015614bb157600080fd5b505afa158015614bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614be99190810190614ff7565b846040518363ffffffff1660e01b8152600401614c07929190615bb9565b600060405180830381600087803b158015614c2157600080fd5b505af1158015614c35573d6000803e3d6000fd5b50505050614c41614cdb565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401614c6c9190615be6565b600060405180830381600087803b158015614c8657600080fd5b505af11580156105d8573d6000803e3d6000fd5b60006111218383670de0b6b3a7640000614cf0565b60006111218383670de0b6b3a7640000614d28565b6000611ecb6814de5b9d1a1cd554d160ba1b614a4a565b6000611ecb66119959541bdbdb60ca1b614a4a565b600080614d0a846135cf87600a870263ffffffff612aba16565b90506005600a825b0610614d1c57600a015b600a9004949350505050565b600080600a8304614d3f868663ffffffff612aba16565b81614d4657fe5b0490506005600a82614d12565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611f1381615f76565b8051611f1381615f76565b60008083601f840112614dd557600080fd5b50813567ffffffffffffffff811115614ded57600080fd5b602083019150836020820283011115614e0557600080fd5b9250929050565b8035611f1381615f8a565b8051611f1381615f8a565b8035611f1381615f93565b8051611f1381615f93565b60006101208284031215614e4b57600080fd5b614e56610120615ed3565b90506000614e648484614e22565b8252506020614e7584848301614dad565b6020830152506040614e8984828501614e22565b6040830152506060614e9d84828501614e22565b6060830152506080614eb184828501614e22565b60808301525060a0614ec584828501614e0c565b60a08301525060c0614ed984828501614e22565b60c08301525060e0614eed84828501614e22565b60e083015250610100614f0284828501614e22565b6101008301525092915050565b60006101208284031215614f2257600080fd5b614f2d610120615ed3565b90506000614f3b8484614e2d565b8252506020614f4c84848301614db8565b6020830152506040614f6084828501614e2d565b6040830152506060614f7484828501614e2d565b6060830152506080614f8884828501614e2d565b60808301525060a0614f9c84828501614e17565b60a08301525060c0614fb084828501614e2d565b60c08301525060e0614fc484828501614e2d565b60e083015250610100614f0284828501614e2d565b600060208284031215614feb57600080fd5b60006107148484614dad565b60006020828403121561500957600080fd5b60006107148484614db8565b6000806040838503121561502857600080fd5b60006150348585614dad565b925050602061504585828601614e22565b9150509250929050565b60008060006060848603121561506457600080fd5b60006150708686614dad565b935050602061508186828701614e22565b925050604061509286828701614e22565b9150509250925092565b600080600080604085870312156150b257600080fd5b843567ffffffffffffffff8111156150c957600080fd5b6150d587828801614dc3565b9450945050602085013567ffffffffffffffff8111156150f457600080fd5b61510087828801614dc3565b95989497509550505050565b60006020828403121561511e57600080fd5b60006107148484614e0c565b60006020828403121561513c57600080fd5b60006107148484614e17565b6000806040838503121561515b57600080fd5b60006151678585614e17565b925050602061504585828601614e17565b60006020828403121561518a57600080fd5b60006107148484614e22565b600080604083850312156151a957600080fd5b60006150348585614e22565b600061012082840312156151c857600080fd5b60006107148484614e38565b600061012082840312156151e757600080fd5b60006107148484614f0f565b60006020828403121561520557600080fd5b60006107148484614e2d565b6000806040838503121561522457600080fd5b60006151678585614e2d565b60008060006060848603121561524557600080fd5b60006150708686614e22565b6000806000806080858703121561526757600080fd5b60006152738787614e2d565b945050602061528487828801614e2d565b935050604061529587828801614e2d565b92505060606152a687828801614e2d565b91505092959194509250565b60006152be8383615340565b505060200190565b6152cf81615f2e565b82525050565b6152cf81615f12565b60006152e982615f00565b6152f38185615f04565b93506152fe83615efa565b8060005b8381101561532c57815161531688826152b2565b975061532183615efa565b925050600101615302565b509495945050505050565b6152cf81615f1d565b6152cf81610c3a565b6152cf61535582610c3a565b610c3a565b6152cf81615f35565b600061536e82615f00565b6153788185615f04565b9350615388818560208601615f40565b61539181615f6c565b9093019392505050565b60006153a8601b83615f04565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006153e1601683615f04565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b6000615413600e83615f04565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b600061543d601583615f04565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b600061546e603583615f04565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006154c5601983615f04565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b60006154fe601d83615f04565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b6000615537601e83615f04565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b6000615570601b83615f04565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006155a9601283615f04565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b60006155d7601e83615f04565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b6000615610601d83615f04565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b6000615649601883615f04565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000615682602083615f04565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b60006156bb601e83615f04565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006156f4601a83615f04565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061572d601183615f0d565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061575a601183615f04565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b6000615787601383615f04565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b60006157b6600a83615f04565b6926b0bc1018903437bab960b11b815260200192915050565b60006157dc601a83615f04565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615815601b83615f04565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b600061584e602f83615f04565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061589f601f83615f04565b7f4e6f7420616c6c6f77656420746f20697373756520746869732073796e746800815260200192915050565b60006158d8602183615f04565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061591b601883615f04565b7f4e6f7420656e6f7567682073796e74682062616c616e63650000000000000000815260200192915050565b6000615954601e83615f04565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b600061598d601a83615f04565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006159c6601983615f0d565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006159ff601383615f04565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b6000615a2e601b83615f04565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b8051610120830190615a6c8482615340565b506020820151615a7f60208501826152d5565b506040820151615a926040850182615340565b506060820151615aa56060850182615340565b506080820151615ab86080850182615340565b5060a0820151615acb60a0850182615337565b5060c0820151615ade60c0850182615340565b5060e0820151615af160e0850182615340565b506101008201516107bf610100850182615340565b6000615b1182615720565b9150615b1d8284615349565b50602001919050565b6000615b11826159b9565b60208101611f1382846152d5565b60208101611f1382846152c6565b60408101615b5b82856152c6565b61112160208301846152d5565b60608101615b7682866152c6565b615b8360208301856152d5565b6107146040830184615340565b60408101615b9e82856152c6565b6111216020830184615340565b60408101615b5b82856152d5565b60408101615b9e82856152d5565b6020808252810161112181846152de565b60208101611f138284615337565b60208101611f138284615340565b60408101615b5b8285615340565b60408101615b9e8285615340565b60408101615c1e8285615340565b81810360208301526107148184615363565b60608101615c3e8286615340565b615b836020830185615340565b60208101611f13828461535a565b602080825281016111218184615363565b60208082528101611f138161539b565b60208082528101611f13816153d4565b60208082528101611f1381615406565b60208082528101611f1381615430565b60208082528101611f1381615461565b60208082528101611f13816154b8565b60208082528101611f13816154f1565b60208082528101611f138161552a565b60208082528101611f1381615563565b60208082528101611f138161559c565b60208082528101611f13816155ca565b60208082528101611f1381615603565b60208082528101611f138161563c565b60208082528101611f1381615675565b60208082528101611f13816156ae565b60208082528101611f13816156e7565b60208082528101611f138161574d565b60208082528101611f138161577a565b60208082528101611f13816157a9565b60208082528101611f13816157cf565b60208082528101611f1381615808565b60208082528101611f1381615841565b60208082528101611f1381615892565b60208082528101611f13816158cb565b60208082528101611f138161590e565b60208082528101611f1381615947565b60208082528101611f1381615980565b60208082528101611f13816159f2565b60208082528101611f1381615a21565b6101208101611f138284615a5a565b60808101615e578287615340565b615e6460208301866152c6565b615e716040830185615340565b615e7e6060830184615340565b95945050505050565b60a08101615e958288615340565b615ea26020830187615340565b615eaf6040830186615340565b615ebc6060830185615340565b615ec96080830184615340565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615ef257600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611f1382615f22565b151590565b6001600160a01b031690565b6000611f13825b6000611f1382615f12565b60005b83811015615f5b578181015183820152602001615f43565b838111156107bf5750506000910152565b601f01601f191690565b615f7f81615f12565b8114613e7b57600080fd5b615f7f81615f1d565b615f7f81610c3a56fea365627a7a723158204578f876648ef8ba05b02ba66bfbd1ec2475768095dfe27bc32fd41939008dd06c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"contract CollateralState","name":"_state","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_manager","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"},{"internalType":"uint256","name":"_minCratio","type":"uint256"},{"internalType":"uint256","name":"_minCollateral","type":"uint256"},{"internalType":"address","name":"_underlyingContract","type":"address"},{"internalType":"uint256","name":"_underlyingDecimals","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"canOpenLoans","type":"bool"}],"name":"CanOpenLoansUpdated","type":"event","signature":"0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountDeposited","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralDeposited","type":"event","signature":"0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountWithdrawn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralWithdrawn","type":"event","signature":"0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"interactionDelay","type":"uint256"}],"name":"InteractionDelayUpdated","type":"event","signature":"0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"issueFeeRate","type":"uint256"}],"name":"IssueFeeRateUpdated","type":"event","signature":"0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"LoanClosed","type":"event","signature":"0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanClosedByLiquidation","type":"event","signature":"0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateral","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"currency","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"issuanceFee","type":"uint256"}],"name":"LoanCreated","type":"event","signature":"0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LoanDrawnDown","type":"event","signature":"0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanPartiallyLiquidated","type":"event","signature":"0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"repayer","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRepaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAfter","type":"uint256"}],"name":"LoanRepaymentMade","type":"event","signature":"0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"manager","type":"address"}],"name":"ManagerUpdated","type":"event","signature":"0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxLoansPerAccount","type":"uint256"}],"name":"MaxLoansPerAccountUpdated","type":"event","signature":"0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCollateral","type":"uint256"}],"name":"MinCollateralUpdated","type":"event","signature":"0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCratio","type":"uint256"}],"name":"MinCratioRatioUpdated","type":"event","signature":"0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"address","name":"rewardsContract","type":"address"},{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"addRewardsContracts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5eb2ad01"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"addSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23d60e2e"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"areSynthsAndCurrenciesSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x72e18b6a"},{"constant":true,"inputs":[],"name":"canOpenLoans","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4065b81b"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0aebeb4e"},{"constant":true,"inputs":[],"name":"collateralKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb562a1ab"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"collateralRatio","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdac8cf68"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"collateralRedeemed","outputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0a153c97"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0efe6a8b"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"draw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd2b8035a"},{"constant":true,"inputs":[],"name":"interactionDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x15aaf4dd"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"issueFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x361e2086"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"liquidate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0710285c"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"liquidationAmount","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe74337c6"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x481c6a75"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"maxLoan","outputs":[{"internalType":"uint256","name":"max","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7e132355"},{"constant":true,"inputs":[],"name":"maxLoansPerAccount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeb8e3b65"},{"constant":true,"inputs":[],"name":"minCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xba2de9bc"},{"constant":true,"inputs":[],"name":"minCratio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x925ead11"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"open","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf93451ed"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"repay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8cd2e0c7"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":true,"inputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"name":"scaleDownCollateral","outputs":[{"internalType":"uint256","name":"scaledDown","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb094f2c4"},{"constant":true,"inputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"name":"scaleUpCollateral","outputs":[{"internalType":"uint256","name":"scaledUp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x883a2209"},{"constant":false,"inputs":[{"internalType":"bool","name":"_canOpenLoans","type":"bool"}],"name":"setCanOpenLoans","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x90abb4d9"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_interactionDelay","type":"uint256"}],"name":"setInteractionDelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4c17ace4"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_issueFeeRate","type":"uint256"}],"name":"setIssueFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa76cdfa5"},{"constant":false,"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"name":"setManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd0ebdbe7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_minCratio","type":"uint256"}],"name":"setMinCratio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0cdd1c65"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"shortingRewards","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xde81eda9"},{"constant":true,"inputs":[],"name":"state","outputs":[{"internalType":"contract CollateralState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc19d93fb"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"synths","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x30edd961"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthsByKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x38245377"},{"constant":true,"inputs":[],"name":"underlyingContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x10cfe906"},{"constant":true,"inputs":[],"name":"underlyingContractDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3cc3ffc7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x441a3e70"}],"source":{"keccak256":"0xcba65179bf463952f22a9a8d0543d767b233039d0ebcf7721b86cd60b3e8c948","urls":["bzz-raw://31bca12091d1a98ab30f8f183cfbe91ba21da8a7c738c81274813a7a4acb1905","dweb:/ipfs/QmQpUw8GhUMRi26y2Mii1SJk1HFjbuGKj4ui3gVFF9CemV"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"CollateralErc20.sol":"CollateralErc20"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"CollateralErc20.sol":{"keccak256":"0xcba65179bf463952f22a9a8d0543d767b233039d0ebcf7721b86cd60b3e8c948","urls":["bzz-raw://31bca12091d1a98ab30f8f183cfbe91ba21da8a7c738c81274813a7a4acb1905","dweb:/ipfs/QmQpUw8GhUMRi26y2Mii1SJk1HFjbuGKj4ui3gVFF9CemV"]}},"version":1}},"CollateralShort":{"bytecode":"60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b50604051620062ce380380620062ce8339810160408190526200004c9162000167565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f906200028f565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d591849062000269565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b555062000310975050505050505050565b80516200014781620002e0565b92915050565b80516200014781620002fa565b8051620001478162000305565b600080600080600080600060e0888a0312156200018357600080fd5b6000620001918a8a6200015a565b9750506020620001a48a828b016200013a565b9650506040620001b78a828b016200013a565b9550506060620001ca8a828b016200013a565b9450506080620001dd8a828b016200014d565b93505060a0620001f08a828b016200014d565b92505060c0620002038a828b016200014d565b91505092959891949750929550565b6200021d81620002d3565b82525050565b6200021d81620002aa565b60006200023d601983620002a1565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b6040810162000279828562000212565b62000288602083018462000223565b9392505050565b6020808252810162000147816200022e565b90815260200190565b60006200014782620002c7565b90565b60006200014782620002aa565b6001600160a01b031690565b60006200014782620002ba565b620002eb81620002aa565b8114620002f757600080fd5b50565b620002eb81620002b7565b620002eb81620002ba565b615fae80620003206000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c806372e18b6a1161013b578063b562a1ab116100b8578063dac8cf681161007c578063dac8cf681461048d578063de81eda9146104a0578063e74337c6146104b3578063eb8e3b65146104c6578063f93451ed146104ce57610248565b8063b562a1ab1461044f578063ba2de9bc14610457578063c19d93fb1461045f578063d0ebdbe714610467578063d2b8035a1461047a57610248565b80638cd2e0c7116100ff5780638cd2e0c7146104065780638da5cb5b1461041957806390abb4d914610421578063925ead1114610434578063a76cdfa51461043c57610248565b806372e18b6a146103bb57806374185360146103ce57806379ba5097146103d65780637e132355146103de578063899ffef4146103f157610248565b806330edd961116101c9578063481c6a751161018d578063481c6a75146103655780634c17ace41461037a57806353a47bb71461038d57806356dc04a1146103955780635eb2ad01146103a857610248565b806330edd9611461031c578063361e20861461032f57806338245377146103375780634065b81b1461034a578063441a3e701461035257610248565b80630efe6a8b116102105780630efe6a8b146102c657806315aaf4dd146102d95780631627540c146102e157806323d60e2e146102f45780632af64bd31461030757610248565b806304f3bcec1461024d5780630710285c1461026b5780630a153c97146102805780630aebeb4e146102a05780630cdd1c65146102b3575b600080fd5b6102556104e1565b6040516102629190615c1a565b60405180910390f35b61027e610279366004614fee565b6104f0565b005b61029361028e366004615165565b61058d565b6040516102629190615bb5565b61027e6102ae366004615117565b6106c9565b61027e6102c1366004615117565b610763565b61027e6102d4366004614fee565b61084e565b610293610987565b61027e6102ef366004614f78565b61098d565b61027e61030236600461503b565b6109e0565b61030f610aa6565b6040516102629190615ba7565b61029361032a366004615117565b610bbe565b610293610bdc565b610293610345366004615117565b610be2565b61030f610bf4565b61027e610360366004615165565b610bfd565b61036d610c92565b6040516102629190615b00565b61027e610388366004615117565b610ca1565b61036d610d7d565b61027e6103a3366004615135565b610d8c565b61027e6103b6366004614fb4565b610e1d565b61030f6103c936600461503b565b610e53565b61027e610f15565b61027e611067565b6102936103ec366004615165565b611103565b6103f96111ac565b6040516102629190615b96565b61027e610414366004614fee565b611311565b61036d61131d565b61027e61042f3660046150ab565b61132c565b610293611378565b61027e61044a366004615117565b61137e565b6102936113bb565b6102936113c1565b6102556113c7565b61027e610475366004614f78565b6113d6565b61027e610488366004615165565b61142f565b61029361049b366004615184565b611439565b61036d6104ae366004615117565b611592565b6102936104c1366004615184565b6115ad565b610293611897565b61027e6104dc3660046151ff565b61189d565b6002546001600160a01b031681565b60006104fd848484611986565b9050610507611deb565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401610534929190615b5f565b602060405180830381600087803b15801561054e57600080fd5b505af1158015610562573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061058691908101906150c9565b5050505050565b600080610598611e07565b90506105a2611eb4565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b81526004016105d393929190615bff565b60206040518083038186803b1580156105eb57600080fd5b505afa1580156105ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061062391908101906151c2565b91506106c16106b48273__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561067057600080fd5b505af4158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a891908101906151c2565b9063ffffffff611ecf16565b839063ffffffff611efd16565b949350505050565b60006106d53383611f27565b90506106df611deb565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040161070c929190615b5f565b602060405180830381600087803b15801561072657600080fd5b505af115801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061075e91908101906150c9565b505050565b61076b61248c565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107af57600080fd5b505af41580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107e791908101906151c2565b811161080e5760405162461bcd60e51b815260040161080590615c49565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a590610843908390615bb5565b60405180910390a150565b610856611deb565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b8152600401610883929190615b1c565b60206040518083038186803b15801561089b57600080fd5b505afa1580156108af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108d391908101906151c2565b8111156108f25760405162461bcd60e51b815260040161080590615c89565b6108fa611deb565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b815260040161092993929190615b37565b602060405180830381600087803b15801561094357600080fd5b505af1158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097b91908101906150c9565b5061075e8383836124b8565b600e5481565b61099561248c565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610843908390615b00565b6109e861248c565b828114610a075760405162461bcd60e51b815260040161080590615c39565b60005b83811015610a97576000858583818110610a2057fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610a7457fe5b602090810292909201358352508101919091526040016000205550600101610a0a565b50610aa0610f15565b50505050565b60006060610ab26111ac565b905060005b8151811015610bb4576000828281518110610ace57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b1f908590600401615bb5565b60206040518083038186803b158015610b3757600080fd5b505afa158015610b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b6f9190810190614f96565b6001600160a01b0316141580610b9a57506000818152600360205260409020546001600160a01b0316155b15610bab5760009350505050610bbb565b50600101610ab7565b5060019150505b90565b60078181548110610bcb57fe5b600091825260209091200154905081565b600c5481565b60086020526000908152604090205481565b600f5460ff1681565b6000610c098383612749565b9050610c13611deb565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401610c40929190615b5f565b602060405180830381600087803b158015610c5a57600080fd5b505af1158015610c6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa091908101906150c9565b6006546001600160a01b031681565b610ca961248c565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ced57600080fd5b505af4158015610d01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2591908101906151c2565b610e1002811115610d485760405162461bcd60e51b815260040161080590615d59565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c236190610843908390615bb5565b6001546001600160a01b031681565b6000828152600960205260409020546001600160a01b031615610e195760008281526009602052604090819020549051630c00007b60e41b81526001600160a01b039091169063c00007b090610de6908490600401615b00565b600060405180830381600087803b158015610e0057600080fd5b505af1158015610e14573d6000803e3d6000fd5b505050505b5050565b610e2561248c565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610e67575060006106c1565b60005b84811015610f09576000868683818110610e8057fe5b9050602002013590508060078381548110610e9757fe5b906000526020600020015414610eb2576000925050506106c1565b60078281548110610ebf57fe5b906000526020600020015460086000878786818110610eda57fe5b9050602002013581526020019081526020016000205414610f00576000925050506106c1565b50600101610e6a565b50600195945050505050565b6060610f1f6111ac565b905060005b8151811015610e19576000828281518110610f3b57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610f7d9190615af5565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610fa9929190615bdf565b60206040518083038186803b158015610fc157600080fd5b505afa158015610fd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ff99190810190614f96565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906110559084908490615bc3565b60405180910390a15050600101610f24565b6001546001600160a01b031633146110915760405162461bcd60e51b815260040161080590615c79565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926110d4926001600160a01b0391821692911690615b7a565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111a5611110611eb4565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b815260040161114193929190615bff565b60206040518083038186803b15801561115957600080fd5b505afa15801561116d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061119191908101906151c2565b6111996129e6565b9063ffffffff611efd16565b9392505050565b6060806111b7612a76565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b816000815181106111f657fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061122057fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061124657fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061126f57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061129557fe5b60200260200101818152505060606112ad8383612ac7565b90506113098160078054806020026020016040519081016040528092919081815260200182805480156112ff57602002820191906000526020600020905b8154815260200190600101908083116112eb575b5050505050612ac7565b935050505090565b61075e83338484612b83565b6000546001600160a01b031681565b61133461248c565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108439160ff90911690615ba7565b600a5481565b61138661248c565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c90610843908390615bb5565b60045481565b600b5481565b6005546001600160a01b031681565b6113de61248c565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d92610843921690615b00565b610e198282612f3e565b600080611444611eb4565b6001600160a01b031663654a60ac6004548560400151631cd554d160e21b6040518463ffffffff1660e01b815260040161148093929190615bff565b60206040518083038186803b15801561149857600080fd5b505afa1580156114ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114d091908101906151c2565b905060006114dc611eb4565b6001600160a01b031663654a60ac856060015161150a8760c001518860800151611ecf90919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161153093929190615bff565b60206040518083038186803b15801561154857600080fd5b505afa15801561155c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061158091908101906151c2565b90506106c1828263ffffffff6134fe16565b6009602052600090815260409020546001600160a01b031681565b6000806115b8611e07565b905060006115c4611eb4565b6001600160a01b031663654a60ac85606001516115f28760c001518860800151611ecf90919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161161893929190615bff565b60206040518083038186803b15801561163057600080fd5b505afa158015611644573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061166891908101906151c2565b90506000611674611eb4565b6001600160a01b031663654a60ac6004548760400151631cd554d160e21b6040518463ffffffff1660e01b81526004016116b093929190615bff565b60206040518083038186803b1580156116c857600080fd5b505afa1580156116dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061170091908101906151c2565b9050600073__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561174857600080fd5b505af415801561175c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061178091908101906151c2565b905060006117a961179c600a54856134fe90919063ffffffff16565b859063ffffffff61352816565b905060006117e26117d5600a546117c98987611ecf90919063ffffffff16565b9063ffffffff6134fe16565b849063ffffffff61352816565b905060006117f6838363ffffffff6134fe16565b9050611800611eb4565b6001600160a01b031663654a60ac631cd554d160e21b838c606001516040518463ffffffff1660e01b815260040161183a93929190615bff565b60206040518083038186803b15801561185257600080fd5b505afa158015611866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061188a91908101906151c2565b9998505050505050505050565b600d5481565b6118a5611deb565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b81526004016118d2929190615b1c565b60206040518083038186803b1580156118ea57600080fd5b505afa1580156118fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061192291908101906151c2565b8311156119415760405162461bcd60e51b815260040161080590615c89565b61194e8383836001613550565b50611957611deb565b6001600160a01b03166323b872dd3330866040518463ffffffff1660e01b8152600401610c4093929190615b37565b6000611990613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119c857600080fd5b505afa1580156119dc573d6000803e3d6000fd5b505050506119e8611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611a159190615bb5565b60206040518083038186803b158015611a2d57600080fd5b505afa158015611a41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a6591908101906150c9565b15611a825760405162461bcd60e51b815260040161080590615d69565b60008211611aa25760405162461bcd60e51b815260040161080590615ca9565b611aaa614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611adc9088908890600401615b88565b6101206040518083038186803b158015611af557600080fd5b505afa158015611b09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b2d91908101906151a3565b9050611b3881613d93565b611b4181613df3565b9050611b52338260600151856142df565b600a54611b5e82611439565b10611b7b5760405162461bcd60e51b815260040161080590615cd9565b6000611b86826115ad565b90506000848210611b975784611b99565b815b90506000611bb88460c001518560800151611ecf90919063ffffffff16565b9050808210611bd757611bcc883386614392565b9450505050506111a5565b611be18483614761565b9350611bf184606001518361058d565b6040850151909550611c09908663ffffffff61352816565b604085015242610100850152611c1d614984565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611c4e929190615b5f565b60206040518083038186803b158015611c6657600080fd5b505afa158015611c7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c9e91908101906150c9565b15611cbb5760405162461bcd60e51b815260040161080590615df9565b6060840151600090815260086020526040902054611cd89061499b565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611d05929190615b5f565b600060405180830381600087803b158015611d1f57600080fd5b505af1158015611d33573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611d67908790600401615e09565b600060405180830381600087803b158015611d8157600080fd5b505af1158015611d95573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611dd89493929190615e18565b60405180910390a2505050509392505050565b6000611e026814de5b9d1a1cd554d160ba1b6149a2565b905090565b6000611e116149ff565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611e64929190615bd1565b60206040518083038186803b158015611e7c57600080fd5b505afa158015611e90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e0291908101906151c2565b6000611e026c45786368616e6765526174657360981b6149a2565b600082820183811015611ef45760405162461bcd60e51b815260040161080590615cb9565b90505b92915050565b6000670de0b6b3a7640000611f18848463ffffffff614a1c16565b81611f1f57fe5b049392505050565b6000611f31613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611f6957600080fd5b505afa158015611f7d573d6000803e3d6000fd5b50505050611f89611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611fb69190615bb5565b60206040518083038186803b158015611fce57600080fd5b505afa158015611fe2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061200691908101906150c9565b156120235760405162461bcd60e51b815260040161080590615d69565b61202b614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061205d9087908790600401615b88565b6101206040518083038186803b15801561207657600080fd5b505afa15801561208a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ae91908101906151a3565b90506120b981613d93565b6120c281613df3565b905060006120e18260c001518360800151611ecf90919063ffffffff16565b90506120f682602001518360600151836142df565b6120fe614984565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b815260040161212f929190615b88565b60206040518083038186803b15801561214757600080fd5b505afa15801561215b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061217f91908101906150c9565b1561219c5760405162461bcd60e51b815260040161080590615d09565b60608201516000908152600860205260409020546121b99061499b565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016121e6929190615b88565b600060405180830381600087803b15801561220057600080fd5b505af1158015612214573d6000803e3d6000fd5b505050508160a00151156123325761222a614a56565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161225f929190615bd1565b600060405180830381600087803b15801561227957600080fd5b505af115801561228d573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b03161561232d57606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916122fa918991600401615b88565b600060405180830381600087803b15801561231457600080fd5b505af1158015612328573d6000803e3d6000fd5b505050505b6123a2565b61233a614a56565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161236f929190615bd1565b600060405180830381600087803b15801561238957600080fd5b505af115801561239d573d6000803e3d6000fd5b505050505b816040015192506123bb8260c001518360600151614a65565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612411908590600401615e09565b600060405180830381600087803b15801561242b57600080fd5b505af115801561243f573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f8560405161247c9190615bb5565b60405180910390a2505092915050565b6000546001600160a01b031633146124b65760405162461bcd60e51b815260040161080590615d89565b565b6124c0613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156124f857600080fd5b505afa15801561250c573d6000803e3d6000fd5b50505050612518611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016125459190615bb5565b60206040518083038186803b15801561255d57600080fd5b505afa158015612571573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061259591908101906150c9565b156125b25760405162461bcd60e51b815260040161080590615d69565b600081116125d25760405162461bcd60e51b815260040161080590615dc9565b6125da614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061260c9087908790600401615b88565b6101206040518083038186803b15801561262557600080fd5b505afa158015612639573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061265d91908101906151a3565b905061266881613d93565b61267181613df3565b6040810151909150612689908363ffffffff611ecf16565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906126c8908490600401615e09565b600060405180830381600087803b1580156126e257600080fd5b505af11580156126f6573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161273b93929190615bff565b60405180910390a250505050565b6000612753613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561278b57600080fd5b505afa15801561279f573d6000803e3d6000fd5b505050506127ab611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127d89190615bb5565b60206040518083038186803b1580156127f057600080fd5b505afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061282891908101906150c9565b156128455760405162461bcd60e51b815260040161080590615d69565b61284d614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061287f9033908890600401615b5f565b6101206040518083038186803b15801561289857600080fd5b505afa1580156128ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128d091908101906151a3565b90506128db81613d93565b6128e481613df3565b60408101519091506128fc908463ffffffff61352816565b604082015242610100820152600a5461291482611439565b116129315760405162461bcd60e51b815260040161080590615c59565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612961908490600401615e09565b600060405180830381600087803b15801561297b57600080fd5b505af115801561298f573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303858584604001516040516129d793929190615bff565b60405180910390a25092915050565b6000611e02600a5473__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3257600080fd5b505af4158015612a46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a6a91908101906151c2565b9063ffffffff614c1b16565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612ab857fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612af7578160200160208202803883390190505b50905060005b8351811015612b3957838181518110612b1257fe5b6020026020010151828281518110612b2657fe5b6020908102919091010152600101612afd565b5060005b8251811015612b7c57828181518110612b5257fe5b6020026020010151828286510181518110612b6957fe5b6020908102919091010152600101612b3d565b5092915050565b612b8b613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612bc357600080fd5b505afa158015612bd7573d6000803e3d6000fd5b50505050612be3611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612c109190615bb5565b60206040518083038186803b158015612c2857600080fd5b505afa158015612c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c6091908101906150c9565b15612c7d5760405162461bcd60e51b815260040161080590615d69565b60008111612c9d5760405162461bcd60e51b815260040161080590615ca9565b612ca5614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612cd79088908790600401615b88565b6101206040518083038186803b158015612cf057600080fd5b505afa158015612d04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d2891908101906151a3565b9050612d3381613d93565b612d3c81613df3565b9050612d4d848260600151846142df565b612d578183614761565b426101008201529050612d68614984565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612d99929190615b88565b60206040518083038186803b158015612db157600080fd5b505afa158015612dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612de991908101906150c9565b15612e065760405162461bcd60e51b815260040161080590615df9565b6060810151600090815260086020526040902054612e239061499b565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612e50929190615b88565b600060405180830381600087803b158015612e6a57600080fd5b505af1158015612e7e573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612eb2908490600401615e09565b600060405180830381600087803b158015612ecc57600080fd5b505af1158015612ee0573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612f2f93929190615bff565b60405180910390a35050505050565b612f46613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f7e57600080fd5b505afa158015612f92573d6000803e3d6000fd5b50505050612f9e611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612fcb9190615bb5565b60206040518083038186803b158015612fe357600080fd5b505afa158015612ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061301b91908101906150c9565b156130385760405162461bcd60e51b815260040161080590615d69565b613040614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906130729033908790600401615b5f565b6101206040518083038186803b15801561308b57600080fd5b505afa15801561309f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130c391908101906151a3565b90506130ce81613d93565b6130d781613df3565b60808101519091506130ef908363ffffffff611ecf16565b6080820152600a5461310082611439565b1161311d5760405162461bcd60e51b815260040161080590615c69565b6000613134600c5484614c3090919063ffffffff16565b90506000613148848363ffffffff61352816565b90508260a00151156133555761315c614a56565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b815260040161318d929190615bd1565b600060405180830381600087803b1580156131a757600080fd5b505af11580156131bb573d6000803e3d6000fd5b505050506131c7611deb565b6001600160a01b031663867904b4336131de611eb4565b6001600160a01b031663654a60ac876060015186631cd554d160e21b6040518463ffffffff1660e01b815260040161321893929190615bff565b60206040518083038186803b15801561323057600080fd5b505afa158015613244573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061326891908101906151c2565b6040518363ffffffff1660e01b8152600401613285929190615b5f565b600060405180830381600087803b15801561329f57600080fd5b505af11580156132b3573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156133505760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a519061331d9033908890600401615b5f565b600060405180830381600087803b15801561333757600080fd5b505af115801561334b573d6000803e3d6000fd5b505050505b61343d565b61335d614a56565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b815260040161338e929190615bd1565b600060405180830381600087803b1580156133a857600080fd5b505af11580156133bc573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546133dd915061499b565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040161340a929190615b5f565b600060405180830381600087803b15801561342457600080fd5b505af1158015613438573d6000803e3d6000fd5b505050505b61344b828460600151614a65565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613482908690600401615e09565b600060405180830381600087803b15801561349c57600080fd5b505af11580156134b0573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf35831065486866040516134ef929190615bd1565b60405180910390a25050505050565b60006111a58261351c85670de0b6b3a764000063ffffffff614a1c16565b9063ffffffff614c4516565b60008282111561354a5760405162461bcd60e51b815260040161080590615d19565b50900390565b600061355a613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561359257600080fd5b505afa1580156135a6573d6000803e3d6000fd5b5050600f5460ff1691506135ce90505760405162461bcd60e51b815260040161080590615d49565b6135d6611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016136039190615bb5565b60206040518083038186803b15801561361b57600080fd5b505afa15801561362f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061365391908101906150c9565b156136705760405162461bcd60e51b815260040161080590615d69565b60008381526008602052604090205461369b5760405162461bcd60e51b815260040161080590615d99565b6136a3611eb4565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016136ce9190615bb5565b60206040518083038186803b1580156136e657600080fd5b505afa1580156136fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061371e91908101906150c9565b1561373b5760405162461bcd60e51b815260040161080590615cf9565b600b5485101561375d5760405162461bcd60e51b815260040161080590615ce9565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc90613790903390600401615b0e565b60206040518083038186803b1580156137a857600080fd5b505afa1580156137bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137e091908101906151c2565b106137fd5760405162461bcd60e51b815260040161080590615cc9565b600080613808614a56565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401613835929190615bd1565b604080518083038186803b15801561384c57600080fd5b505afa158015613860573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061388491908101906150e7565b91509150818015613893575080155b6138af5760405162461bcd60e51b815260040161080590615dd9565b6138b98786611103565b8611156138d85760405162461bcd60e51b815260040161080590615d79565b60006138ef600c5488614c3090919063ffffffff16565b90506000613903888363ffffffff61352816565b905061390d614a56565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561394757600080fd5b505af115801561395b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061397f91908101906151c2565b9450613989614cf2565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a8152602001881515815260200160008152602001600081526020014281525090506139e181613df3565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490613a12908490600401615e09565b600060405180830381600087803b158015613a2c57600080fd5b505af1158015613a40573d6000803e3d6000fd5b50505050613a4e8389614a65565b8615613c4457613a5c611deb565b6001600160a01b031663867904b433613a73611eb4565b6001600160a01b031663654a60ac8c87631cd554d160e21b6040518463ffffffff1660e01b8152600401613aa993929190615bff565b60206040518083038186803b158015613ac157600080fd5b505afa158015613ad5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613af991908101906151c2565b6040518363ffffffff1660e01b8152600401613b16929190615b5f565b600060405180830381600087803b158015613b3057600080fd5b505af1158015613b44573d6000803e3d6000fd5b50505050613b50614a56565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401613b7d929190615bd1565b600060405180830381600087803b158015613b9757600080fd5b505af1158015613bab573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613c3f576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190613c0c9033908d90600401615b5f565b600060405180830381600087803b158015613c2657600080fd5b505af1158015613c3a573d6000803e3d6000fd5b505050505b613d23565b600088815260086020526040902054613c5c9061499b565b6001600160a01b031663867904b433846040518363ffffffff1660e01b8152600401613c89929190615b5f565b600060405180830381600087803b158015613ca357600080fd5b505af1158015613cb7573d6000803e3d6000fd5b50505050613cc3614a56565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401613cf0929190615bd1565b600060405180830381600087803b158015613d0a57600080fd5b505af1158015613d1e573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c88604051613d64959493929190615e56565b60405180910390a25050505050949350505050565b6000611e026b53797374656d53746174757360a01b6149a2565b60008160e0015111613db75760405162461bcd60e51b815260040161080590615de9565b42613dd2600e54836101000151611ecf90919063ffffffff16565b1115613df05760405162461bcd60e51b815260040161080590615c99565b50565b613dfb614cf2565b8190506000806000808560a00151613e9957613e15614a56565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613e449190615bb5565b60806040518083038186803b158015613e5c57600080fd5b505afa158015613e70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e949190810190615220565b613f26565b613ea1614a56565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613ed6929190615bd1565b60806040518083038186803b158015613eee57600080fd5b505afa158015613f02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f269190810190615220565b93509350935093506000808760a00151613fb657613f42614a56565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613f7957600080fd5b505afa158015613f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613fb191908101906151e0565b61404e565b613fbe614a56565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613fff91600401615bb5565b604080518083038186803b15801561401657600080fd5b505afa15801561402a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061404e91908101906151e0565b9150915080156140705760405162461bcd60e51b815260040161080590615d39565b600061410d73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156140b957600080fd5b505af41580156140cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140f191908101906151c2565b614101428863ffffffff61352816565b9063ffffffff614a1c16565b90506000614131614124858463ffffffff611efd16565b889063ffffffff611ecf16565b905060008a60e0015160001461416a57614165614154838b63ffffffff61352816565b60808d01519063ffffffff611efd16565b61416d565b60005b90508a60a001516141e257614180614a56565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b81526004016141ab9190615bb5565b600060405180830381600087803b1580156141c557600080fd5b505af11580156141d9573d6000803e3d6000fd5b5050505061424e565b6141ea614a56565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b815260040161421b929190615bd1565b600060405180830381600087803b15801561423557600080fd5b505af1158015614249573d6000803e3d6000fd5b505050505b60c08b0151614263908263ffffffff611ecf16565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c9061429f908d90600401615e09565b600060405180830381600087803b1580156142b957600080fd5b505af11580156142cd573d6000803e3d6000fd5b50505050505050505050505050919050565b60008281526008602052604090205481906142f99061499b565b6001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016143249190615b00565b60206040518083038186803b15801561433c57600080fd5b505afa158015614350573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061437491908101906151c2565b101561075e5760405162461bcd60e51b815260040161080590615db9565b6000806143b08360c001518460800151611ecf90919063ffffffff16565b6080840151604085015193509091506143c7614984565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016143f8929190615b88565b60206040518083038186803b15801561441057600080fd5b505afa158015614424573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061444891908101906150c9565b156144655760405162461bcd60e51b815260040161080590615df9565b60608401516000908152600860205260409020546144829061499b565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b81526004016144af929190615b88565b600060405180830381600087803b1580156144c957600080fd5b505af11580156144dd573d6000803e3d6000fd5b505050508360a00151156145fb576144f3614a56565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b8152600401614528929190615bd1565b600060405180830381600087803b15801561454257600080fd5b505af1158015614556573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b0316156145f657606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916145c3918a91600401615b88565b600060405180830381600087803b1580156145dd57600080fd5b505af11580156145f1573d6000803e3d6000fd5b505050505b61466b565b614603614a56565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b8152600401614638929190615bd1565b600060405180830381600087803b15801561465257600080fd5b505af1158015614666573d6000803e3d6000fd5b505050505b61467d8460c001518560600151614a65565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c906146d3908790600401615e09565b600060405180830381600087803b1580156146ed57600080fd5b505af1158015614701573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb8660000151848760405161475093929190615bff565b60405180910390a350509392505050565b614769614cf2565b5081811580159061477e575060008360c00151115b156147db5760008360c001518311614796578261479c565b8360c001515b60c08501519091506147b4908263ffffffff61352816565b60c08301526147c9838263ffffffff61352816565b92506147d9818560600151614a65565b505b8115611ef75760808301516147f6908363ffffffff61352816565b608082015260a0810151156149135761480d614a56565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b815260040161483e929190615bd1565b600060405180830381600087803b15801561485857600080fd5b505af115801561486c573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b03161561490e5760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916148db91908690600401615b5f565b600060405180830381600087803b1580156148f557600080fd5b505af1158015614909573d6000803e3d6000fd5b505050505b611ef7565b61491b614a56565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b815260040161494c929190615bd1565b600060405180830381600087803b15801561496657600080fd5b505af115801561497a573d6000803e3d6000fd5b5050505092915050565b6000611e026822bc31b430b733b2b960b91b6149a2565b6000611ef7825b60008181526003602090815260408083205490516001600160a01b0390911691821515916149d291869101615ad5565b60405160208183030381529060405290612b7c5760405162461bcd60e51b81526004016108059190615c28565b6000611e026e466c657869626c6553746f7261676560881b6149a2565b600082614a2b57506000611ef7565b82820282848281614a3857fe5b0414611ef45760405162461bcd60e51b815260040161080590615da9565b6006546001600160a01b031690565b8115610e1957631cd554d160e21b8114614b0a57614a81611eb4565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b8152600401614ab793929190615bff565b60206040518083038186803b158015614acf57600080fd5b505afa158015614ae3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614b0791908101906151c2565b91505b614b12611deb565b6001600160a01b031663867904b4614b28614c7a565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015614b6057600080fd5b505afa158015614b74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614b989190810190614f96565b846040518363ffffffff1660e01b8152600401614bb6929190615b88565b600060405180830381600087803b158015614bd057600080fd5b505af1158015614be4573d6000803e3d6000fd5b50505050614bf0614c7a565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401610de69190615bb5565b60006111a58383670de0b6b3a7640000614c8f565b60006111a58383670de0b6b3a7640000614cc7565b6000808211614c665760405162461bcd60e51b815260040161080590615d29565b6000828481614c7157fe5b04949350505050565b6000611e0266119959541bdbdb60ca1b6149a2565b600080614ca98461351c87600a870263ffffffff614a1c16565b90506005600a825b0610614cbb57600a015b600a9004949350505050565b600080600a8304614cde868663ffffffff614a1c16565b81614ce557fe5b0490506005600a82614cb1565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611ef781615f45565b8051611ef781615f45565b60008083601f840112614d7457600080fd5b50813567ffffffffffffffff811115614d8c57600080fd5b602083019150836020820283011115614da457600080fd5b9250929050565b8035611ef781615f59565b8051611ef781615f59565b8035611ef781615f62565b8051611ef781615f62565b60006101208284031215614dea57600080fd5b614df5610120615ea2565b90506000614e038484614dc1565b8252506020614e1484848301614d4c565b6020830152506040614e2884828501614dc1565b6040830152506060614e3c84828501614dc1565b6060830152506080614e5084828501614dc1565b60808301525060a0614e6484828501614dab565b60a08301525060c0614e7884828501614dc1565b60c08301525060e0614e8c84828501614dc1565b60e083015250610100614ea184828501614dc1565b6101008301525092915050565b60006101208284031215614ec157600080fd5b614ecc610120615ea2565b90506000614eda8484614dcc565b8252506020614eeb84848301614d57565b6020830152506040614eff84828501614dcc565b6040830152506060614f1384828501614dcc565b6060830152506080614f2784828501614dcc565b60808301525060a0614f3b84828501614db6565b60a08301525060c0614f4f84828501614dcc565b60c08301525060e0614f6384828501614dcc565b60e083015250610100614ea184828501614dcc565b600060208284031215614f8a57600080fd5b60006106c18484614d4c565b600060208284031215614fa857600080fd5b60006106c18484614d57565b60008060408385031215614fc757600080fd5b6000614fd38585614d4c565b9250506020614fe485828601614dc1565b9150509250929050565b60008060006060848603121561500357600080fd5b600061500f8686614d4c565b935050602061502086828701614dc1565b925050604061503186828701614dc1565b9150509250925092565b6000806000806040858703121561505157600080fd5b843567ffffffffffffffff81111561506857600080fd5b61507487828801614d62565b9450945050602085013567ffffffffffffffff81111561509357600080fd5b61509f87828801614d62565b95989497509550505050565b6000602082840312156150bd57600080fd5b60006106c18484614dab565b6000602082840312156150db57600080fd5b60006106c18484614db6565b600080604083850312156150fa57600080fd5b60006151068585614db6565b9250506020614fe485828601614db6565b60006020828403121561512957600080fd5b60006106c18484614dc1565b6000806040838503121561514857600080fd5b60006151548585614dc1565b9250506020614fe485828601614d4c565b6000806040838503121561517857600080fd5b6000614fd38585614dc1565b6000610120828403121561519757600080fd5b60006106c18484614dd7565b600061012082840312156151b657600080fd5b60006106c18484614eae565b6000602082840312156151d457600080fd5b60006106c18484614dcc565b600080604083850312156151f357600080fd5b60006151068585614dcc565b60008060006060848603121561521457600080fd5b600061500f8686614dc1565b6000806000806080858703121561523657600080fd5b60006152428787614dcc565b945050602061525387828801614dcc565b935050604061526487828801614dcc565b925050606061527587828801614dcc565b91505092959194509250565b600061528d838361530f565b505060200190565b61529e81615efd565b82525050565b61529e81615ee1565b60006152b882615ecf565b6152c28185615ed3565b93506152cd83615ec9565b8060005b838110156152fb5781516152e58882615281565b97506152f083615ec9565b9250506001016152d1565b509495945050505050565b61529e81615eec565b61529e81610bbb565b61529e61532482610bbb565b610bbb565b61529e81615f04565b600061533d82615ecf565b6153478185615ed3565b9350615357818560208601615f0f565b61536081615f3b565b9093019392505050565b6000615377601b83615ed3565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006153b0601683615ed3565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b60006153e2600e83615ed3565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b600061540c601583615ed3565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b600061543d603583615ed3565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615494601983615ed3565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b60006154cd601d83615ed3565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b6000615506601e83615ed3565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b600061553f601b83615ed3565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615578601283615ed3565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b60006155a6601e83615ed3565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b60006155df601d83615ed3565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b6000615618601883615ed3565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000615651602083615ed3565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b600061568a601e83615ed3565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006156c3601a83615ed3565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006156fc601183615edc565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000615729601183615ed3565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b6000615756601383615ed3565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b6000615785600a83615ed3565b6926b0bc1018903437bab960b11b815260200192915050565b60006157ab601a83615ed3565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b60006157e4601b83615ed3565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b600061581d602f83615ed3565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061586e601f83615ed3565b7f4e6f7420616c6c6f77656420746f20697373756520746869732073796e746800815260200192915050565b60006158a7602183615ed3565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006158ea601883615ed3565b7f4e6f7420656e6f7567682073796e74682062616c616e63650000000000000000815260200192915050565b6000615923601e83615ed3565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b600061595c601a83615ed3565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b6000615995601983615edc565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006159ce601383615ed3565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b60006159fd601b83615ed3565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b8051610120830190615a3b848261530f565b506020820151615a4e60208501826152a4565b506040820151615a61604085018261530f565b506060820151615a74606085018261530f565b506080820151615a87608085018261530f565b5060a0820151615a9a60a0850182615306565b5060c0820151615aad60c085018261530f565b5060e0820151615ac060e085018261530f565b50610100820151610aa061010085018261530f565b6000615ae0826156ef565b9150615aec8284615318565b50602001919050565b6000615ae082615988565b60208101611ef782846152a4565b60208101611ef78284615295565b60408101615b2a8285615295565b6111a560208301846152a4565b60608101615b458286615295565b615b5260208301856152a4565b6106c1604083018461530f565b60408101615b6d8285615295565b6111a5602083018461530f565b60408101615b2a82856152a4565b60408101615b6d82856152a4565b602080825281016111a581846152ad565b60208101611ef78284615306565b60208101611ef7828461530f565b60408101615b2a828561530f565b60408101615b6d828561530f565b60408101615bed828561530f565b81810360208301526106c18184615332565b60608101615c0d828661530f565b615b52602083018561530f565b60208101611ef78284615329565b602080825281016111a58184615332565b60208082528101611ef78161536a565b60208082528101611ef7816153a3565b60208082528101611ef7816153d5565b60208082528101611ef7816153ff565b60208082528101611ef781615430565b60208082528101611ef781615487565b60208082528101611ef7816154c0565b60208082528101611ef7816154f9565b60208082528101611ef781615532565b60208082528101611ef78161556b565b60208082528101611ef781615599565b60208082528101611ef7816155d2565b60208082528101611ef78161560b565b60208082528101611ef781615644565b60208082528101611ef78161567d565b60208082528101611ef7816156b6565b60208082528101611ef78161571c565b60208082528101611ef781615749565b60208082528101611ef781615778565b60208082528101611ef78161579e565b60208082528101611ef7816157d7565b60208082528101611ef781615810565b60208082528101611ef781615861565b60208082528101611ef78161589a565b60208082528101611ef7816158dd565b60208082528101611ef781615916565b60208082528101611ef78161594f565b60208082528101611ef7816159c1565b60208082528101611ef7816159f0565b6101208101611ef78284615a29565b60808101615e26828761530f565b615e336020830186615295565b615e40604083018561530f565b615e4d606083018461530f565b95945050505050565b60a08101615e64828861530f565b615e71602083018761530f565b615e7e604083018661530f565b615e8b606083018561530f565b615e98608083018461530f565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615ec157600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611ef782615ef1565b151590565b6001600160a01b031690565b6000611ef7825b6000611ef782615ee1565b60005b83811015615f2a578181015183820152602001615f12565b83811115610aa05750506000910152565b601f01601f191690565b615f4e81615ee1565b8114613df057600080fd5b615f4e81615eec565b615f4e81610bbb56fea365627a7a723158207eea408e568f2b63599acab5435027c647d16c8da004a96930363835dfbc8f026c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"contract CollateralState","name":"_state","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_manager","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"},{"internalType":"uint256","name":"_minCratio","type":"uint256"},{"internalType":"uint256","name":"_minCollateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"canOpenLoans","type":"bool"}],"name":"CanOpenLoansUpdated","type":"event","signature":"0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountDeposited","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralDeposited","type":"event","signature":"0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountWithdrawn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralWithdrawn","type":"event","signature":"0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"interactionDelay","type":"uint256"}],"name":"InteractionDelayUpdated","type":"event","signature":"0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"issueFeeRate","type":"uint256"}],"name":"IssueFeeRateUpdated","type":"event","signature":"0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"LoanClosed","type":"event","signature":"0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanClosedByLiquidation","type":"event","signature":"0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateral","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"currency","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"issuanceFee","type":"uint256"}],"name":"LoanCreated","type":"event","signature":"0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LoanDrawnDown","type":"event","signature":"0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanPartiallyLiquidated","type":"event","signature":"0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"repayer","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRepaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAfter","type":"uint256"}],"name":"LoanRepaymentMade","type":"event","signature":"0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"manager","type":"address"}],"name":"ManagerUpdated","type":"event","signature":"0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxLoansPerAccount","type":"uint256"}],"name":"MaxLoansPerAccountUpdated","type":"event","signature":"0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCollateral","type":"uint256"}],"name":"MinCollateralUpdated","type":"event","signature":"0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCratio","type":"uint256"}],"name":"MinCratioRatioUpdated","type":"event","signature":"0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"address","name":"rewardsContract","type":"address"},{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"addRewardsContracts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5eb2ad01"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"addSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23d60e2e"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"areSynthsAndCurrenciesSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x72e18b6a"},{"constant":true,"inputs":[],"name":"canOpenLoans","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4065b81b"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0aebeb4e"},{"constant":true,"inputs":[],"name":"collateralKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb562a1ab"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"collateralRatio","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdac8cf68"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"collateralRedeemed","outputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0a153c97"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0efe6a8b"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"draw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd2b8035a"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x56dc04a1"},{"constant":true,"inputs":[],"name":"interactionDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x15aaf4dd"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"issueFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x361e2086"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"liquidate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0710285c"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"}],"name":"liquidationAmount","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe74337c6"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x481c6a75"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"maxLoan","outputs":[{"internalType":"uint256","name":"max","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7e132355"},{"constant":true,"inputs":[],"name":"maxLoansPerAccount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeb8e3b65"},{"constant":true,"inputs":[],"name":"minCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xba2de9bc"},{"constant":true,"inputs":[],"name":"minCratio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x925ead11"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"open","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf93451ed"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"repay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8cd2e0c7"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"bool","name":"_canOpenLoans","type":"bool"}],"name":"setCanOpenLoans","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x90abb4d9"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_interactionDelay","type":"uint256"}],"name":"setInteractionDelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4c17ace4"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_issueFeeRate","type":"uint256"}],"name":"setIssueFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa76cdfa5"},{"constant":false,"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"name":"setManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd0ebdbe7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_minCratio","type":"uint256"}],"name":"setMinCratio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x0cdd1c65"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"shortingRewards","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xde81eda9"},{"constant":true,"inputs":[],"name":"state","outputs":[{"internalType":"contract CollateralState","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc19d93fb"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"synths","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x30edd961"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthsByKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x38245377"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x441a3e70"}],"source":{"keccak256":"0x332ba7664d15521a81c57ff5f1f5a8d18216ae4e3843991f25ac9ff524b90758","urls":["bzz-raw://80c891a51be4cc85dcbfb98ecafa839603c708c8204e48e21fd0fcc43e274102","dweb:/ipfs/QmWeWMbChUdJaFrfJfmohBzySrnv5fVf5gx4bGxzs7Vzzb"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"CollateralShort.sol":"CollateralShort"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"CollateralShort.sol":{"keccak256":"0x332ba7664d15521a81c57ff5f1f5a8d18216ae4e3843991f25ac9ff524b90758","urls":["bzz-raw://80c891a51be4cc85dcbfb98ecafa839603c708c8204e48e21fd0fcc43e274102","dweb:/ipfs/QmWeWMbChUdJaFrfJfmohBzySrnv5fVf5gx4bGxzs7Vzzb"]}},"version":1}},"StakingRewards":{"bytecode":"60806040526000600755600060085562093a8060095534801561002157600080fd5b506040516118e33803806118e38339818101604052608081101561004457600080fd5b5080516020820151604083015160609093015191929091836001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060016003556000546001600160a01b0316610166576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600580546001600160a01b0393841661010002610100600160a81b0319909116179055600680549183166001600160a01b03199283161790556002805493909216921691909117905550611724806101bf6000396000f3fe608060405234801561001057600080fd5b50600436106101ef5760003560e01c806372f702f31161010f578063a694fc3a116100a2578063d1af0c7d11610071578063d1af0c7d14610470578063df136d6514610478578063e9fad8ee14610480578063ebe2b12b14610488576101ef565b8063a694fc3a14610426578063c8f33c9114610443578063cc1a378f1461044b578063cd3daf9d14610468576101ef565b80638980f11f116100de5780638980f11f146103c45780638b876347146103f05780638da5cb5b1461041657806391b4ded91461041e576101ef565b806372f702f3146103a457806379ba5097146103ac5780637b0a47ee146103b457806380faa57d146103bc576101ef565b8063386a95251161018757806353a47bb71161015657806353a47bb71461033d578063556f6e6b146103455780635c975abb1461036257806370a082311461037e576101ef565b8063386a9525146102ec5780633c6b16ab146102f45780633d18b912146103115780633fc6df6e14610319576101ef565b806318160ddd116101c357806318160ddd1461029957806319762143146102a15780631c1f78eb146102c75780632e1a7d4d146102cf576101ef565b80628cc262146101f45780630700037d1461022c5780631627540c1461025257806316c38b3c1461027a575b600080fd5b61021a6004803603602081101561020a57600080fd5b50356001600160a01b0316610490565b60408051918252519081900360200190f35b61021a6004803603602081101561024257600080fd5b50356001600160a01b0316610526565b6102786004803603602081101561026857600080fd5b50356001600160a01b0316610538565b005b6102786004803603602081101561029057600080fd5b50351515610594565b61021a61060e565b610278600480360360208110156102b757600080fd5b50356001600160a01b0316610615565b61021a61063f565b610278600480360360208110156102e557600080fd5b503561065d565b61021a6107ff565b6102786004803603602081101561030a57600080fd5b5035610805565b610278610a5b565b610321610b99565b604080516001600160a01b039092168252519081900360200190f35b610321610ba8565b6102786004803603602081101561035b57600080fd5b5035610bb7565b61036a610c21565b604080519115158252519081900360200190f35b61021a6004803603602081101561039457600080fd5b50356001600160a01b0316610c2a565b610321610c45565b610278610c54565b61021a610d10565b61021a610d16565b610278600480360360408110156103da57600080fd5b506001600160a01b038135169060200135610d24565b61021a6004803603602081101561040657600080fd5b50356001600160a01b0316610de1565b610321610df3565b61021a610e02565b6102786004803603602081101561043c57600080fd5b5035610e08565b61021a610fe6565b6102786004803603602081101561046157600080fd5b5035610fec565b61021a61106f565b6103216110c9565b61021a6110dd565b6102786110e3565b61021a611106565b6001600160a01b0381166000908152600d6020908152604080832054600c909252822054610520919061051490670de0b6b3a764000090610508906104e3906104d761106f565b9063ffffffff61110c16565b6001600160a01b0388166000908152600f60205260409020549063ffffffff61116916565b9063ffffffff6111c916565b9063ffffffff61123316565b92915050565b600d6020526000908152604090205481565b61054061128d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61059c61128d565b60055460ff16151581151514156105b25761060b565b6005805460ff1916821515179081905560ff16156105cf57426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b600e545b90565b61061d61128d565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600061065860095460085461116990919063ffffffff16565b905090565b60038054600101908190553361067161106f565b600b5561067c610d16565b600a556001600160a01b038116156106c35761069781610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b6000831161070c576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b600e5461071f908463ffffffff61110c16565b600e55336000908152600f6020526040902054610742908463ffffffff61110c16565b336000818152600f602052604090209190915560065461076e916001600160a01b0390911690856112d6565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25060035481146107fb576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050565b60095481565b6002546001600160a01b0316331461084e5760405162461bcd60e51b815260040180806020018281038252602a81526020018061167b602a913960400191505060405180910390fd5b600061085861106f565b600b55610863610d16565b600a556001600160a01b038116156108aa5761087e81610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60075442106108cf576009546108c790839063ffffffff6111c916565b60085561091e565b6007546000906108e5904263ffffffff61110c16565b905060006108fe6008548361116990919063ffffffff16565b60095490915061091890610508868463ffffffff61123316565b60085550505b600554604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561096e57600080fd5b505afa158015610982573d6000803e3d6000fd5b505050506040513d602081101561099857600080fd5b50516009549091506109b190829063ffffffff6111c916565b6008541115610a07576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b42600a819055600954610a20919063ffffffff61123316565b6007556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b600380546001019081905533610a6f61106f565b600b55610a7a610d16565b600a556001600160a01b03811615610ac157610a9581610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b336000908152600d60205260409020548015610b4157336000818152600d6020526040812055600554610b0a916101009091046001600160a01b0316908363ffffffff6112d616565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050600354811461060b576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002546001600160a01b031681565b6001546001600160a01b031681565b610bbf61128d565b6000610bc961106f565b600b55610bd4610d16565b600a556001600160a01b03811615610c1b57610bef81610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b50600755565b60055460ff1681565b6001600160a01b03166000908152600f602052604090205490565b6006546001600160a01b031681565b6001546001600160a01b03163314610c9d5760405162461bcd60e51b81526004018080602001828103825260358152602001806115ba6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60085481565b60006106584260075461132d565b610d2c61128d565b6006546001600160a01b0383811691161415610d795760405162461bcd60e51b81526004018080602001828103825260218152602001806116cf6021913960400191505060405180910390fd5b600054610d99906001600160a01b0384811691168363ffffffff6112d616565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a15050565b600c6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b600380546001019081905560055460ff1615610e555760405162461bcd60e51b815260040180806020018281038252603c81526020018061163f603c913960400191505060405180910390fd5b33610e5e61106f565b600b55610e69610d16565b600a556001600160a01b03811615610eb057610e8481610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610ef6576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b600e54610f09908463ffffffff61123316565b600e55336000908152600f6020526040902054610f2c908463ffffffff61123316565b336000818152600f6020526040902091909155600654610f59916001600160a01b03909116903086611343565b60408051848152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25060035481146107fb576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600a5481565b610ff461128d565b60075442116110345760405162461bcd60e51b81526004018080602001828103825260588152602001806115626058913960600191505060405180910390fd5b60098190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600e54600014156110855750600b54610612565b6106586110ba600e54610508670de0b6b3a76400006110ae6008546110ae600a546104d7610d16565b9063ffffffff61116916565b600b549063ffffffff61123316565b60055461010090046001600160a01b031681565b600b5481565b336000908152600f60205260409020546110fc9061065d565b611104610a5b565b565b60075481565b600082821115611163576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008261117857506000610520565b8282028284828161118557fe5b04146111c25760405162461bcd60e51b815260040180806020018281038252602181526020018061161e6021913960400191505060405180910390fd5b9392505050565b600080821161121f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161122a57fe5b04949350505050565b6000828201838110156111c2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546001600160a01b031633146111045760405162461bcd60e51b815260040180806020018281038252602f8152602001806115ef602f913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526113289084906113a3565b505050565b600081831061133c57816111c2565b5090919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261139d9085906113a3565b50505050565b6113b5826001600160a01b031661155b565b611406576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106114445780518252601f199092019160209182019101611425565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146114a6576040519150601f19603f3d011682016040523d82523d6000602084013e6114ab565b606091505b509150915081611502576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b80511561139d5780806020019051602081101561151e57600080fd5b505161139d5760405162461bcd60e51b815260040180806020018281038252602a8152602001806116a5602a913960400191505060405180910390fd5b3b15159056fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f64596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656443616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656443616e6e6f7420776974686472617720746865207374616b696e6720746f6b656ea265627a7a7231582055a41070d871a9ef481a33e3caec686c7f16116a553ebc972a8821ef39a8f81b64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_rewardsDistribution","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"},{"internalType":"address","name":"_stakingToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event","signature":"0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Recovered","type":"event","signature":"0x8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event","signature":"0xde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event","signature":"0xe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"RewardsDurationUpdated","type":"event","signature":"0xfb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event","signature":"0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event","signature":"0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x008cc262"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xe9fad8ee"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3d18b912"},{"constant":true,"inputs":[],"name":"getRewardForDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x1c1f78eb"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x91b4ded9"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x80faa57d"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc8f33c91"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3c6b16ab"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c975abb"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xebe2b12b"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8980f11f"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcd3daf9d"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdf136d65"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7b0a47ee"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0700037d"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3fc6df6e"},{"constant":true,"inputs":[],"name":"rewardsDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x386a9525"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd1af0c7d"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16c38b3c"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x19762143"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rewardsDuration","type":"uint256"}],"name":"setRewardsDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xcc1a378f"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa694fc3a"},{"constant":true,"inputs":[],"name":"stakingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x72f702f3"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18160ddd"},{"constant":false,"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"updatePeriodFinish","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x556f6e6b"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8b876347"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x2e1a7d4d"}],"source":{"keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516","urls":["bzz-raw://400d1e795b227dafe8d3b2620d785ed29ce088d1e53d021786da1c101cd50a50","dweb:/ipfs/QmeGfoQ1JQJVDWQAkWSvZSwt2npvQs62AEAFcqZcrGSAfw"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"StakingRewards.sol":"StakingRewards"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"StakingRewards.sol":{"keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516","urls":["bzz-raw://400d1e795b227dafe8d3b2620d785ed29ce088d1e53d021786da1c101cd50a50","dweb:/ipfs/QmeGfoQ1JQJVDWQAkWSvZSwt2npvQs62AEAFcqZcrGSAfw"]}},"version":1}},"RewardEscrowV2":{"bytecode":"608060408190526303bfc400600c556224ea00600d5562093a80600e55630241ebdb60e61b815273__$58c62a0096148744468f14ce5088c1760d$__9063907af6c09060849060209060048186803b1580156200005b57600080fd5b505af415801562000070573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620000969190810190620001f1565b6103e802601155348015620000aa57600080fd5b5060405162003eae38038062003eae833981016040819052620000cd91620001b2565b8181806249d400836001600160a01b038116620001075760405162461bcd60e51b8152600401620000fe9062000297565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200015491849062000271565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b03929092169190911790555050600160075550620003009050565b80516200019f81620002db565b92915050565b80516200019f81620002f5565b60008060408385031215620001c657600080fd5b6000620001d4858562000192565b9250506020620001e78582860162000192565b9150509250929050565b6000602082840312156200020457600080fd5b6000620002128484620001a5565b949350505050565b6200022581620002c7565b82525050565b6200022581620002b2565b600062000245601983620002a9565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200028182856200021a565b6200029060208301846200022b565b9392505050565b602080825281016200019f8162000236565b90815260200190565b60006001600160a01b0382166200019f565b90565b60006200019f8260006200019f82620002b2565b620002e681620002b2565b8114620002f257600080fd5b50565b620002e681620002c4565b613b9e80620003106000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c806370a082311161015c5780638da5cb5b116100ce578063b95375bd11610087578063b95375bd1461052e578063cd7b43dd14610541578063d621a16914610554578063e6b2cf6c14610567578063eac624891461056f578063f0b882ba1461058f5761027f565b80638da5cb5b146104dd578063910a326d146104e55780639ad6a7e5146104ed578063a0416ed3146104f5578063ae58254914610508578063b0fd59631461051b5761027f565b80637839b92f116101205780637839b92f146104665780637993e6991461047957806379ba50971461048c5780637cc1d7561461049457806380d46f58146104a7578063899ffef4146104c85761027f565b806370a082311461041057806371e780f31461042357806373307e401461042b578063741853601461043e578063773ab39f146104465761027f565b8063326a3cfb116101f557806346ba2d90116101b957806346ba2d90146103b257806353a47bb7146103ba5780635b85c200146103cf5780635eb8cf25146103e25780636154c343146103ea5780636dc05bd3146103fd5761027f565b8063326a3cfb1461035057806334c7fec91461036357806337088ffc146103765780634525aabc1461037e57806345626bd6146103915761027f565b8063178c565511610247578063178c5655146102f45780631bb47b44146102fc578063204b676a1461030f578063227d517a146103225780632af64bd31461033557806330104c5f1461033d5761027f565b8063018c6c551461028457806304f3bcec1461029957806305662986146102b75780630fcdefb7146102cc5780631627540c146102e1575b600080fd5b610297610292366004612c1f565b6105a2565b005b6102a16105ea565b6040516102ae91906137f0565b60405180910390f35b6102bf6105f9565b6040516102ae91906137a6565b6102d461061a565b6040516102ae91906137b4565b6102976102ef366004612923565b610620565b610297610673565b61029761030a366004612a55565b6106d0565b6102d461031d366004612923565b610721565b6102d4610330366004612923565b61073c565b6102bf61074e565b6102d461034b3660046129b4565b610865565b6102d461035e366004612923565b6108c4565b610297610371366004612bc0565b6108d6565b6102d461098c565b61029761038c366004612c1f565b610992565b6103a461039f3660046129b4565b6109cf565b6040516102ae929190613a45565b6102d46109ff565b6103c2610a05565b6040516102ae9190613659565b6102976103dd366004612c1f565b610a14565b6102d4610a51565b6103a46103f83660046129b4565b610a57565b6102d461040b36600461295f565b610a91565b6102d461041e366004612923565b610b3e565b6102d4610b59565b6103c2610439366004612923565b610b5f565b610297610b7a565b610459610454366004612a55565b610cd0565b6040516102ae919061374d565b610297610474366004612923565b610e70565b610297610487366004612c1f565b61116e565b6102976111cd565b6102976104a2366004612923565b611269565b6104ba6104b536600461295f565b6113b9565b6040516102ae92919061399f565b6104d0611642565b6040516102ae919061373c565b6103c261170c565b6102d461171b565b6102d4611721565b610297610503366004612a55565b611727565b6102d46105163660046129b4565b6117f2565b6102d4610529366004612923565b611820565b61029761053c366004612b04565b611832565b61029761054f3660046129ee565b611a1d565b610297610562366004612aa2565b611a2b565b6102d4611bec565b61058261057d366004612a55565b611bf2565b6040516102ae9190613795565b61029761059d36600461295f565b611cde565b6105aa61201a565b600d8190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e906105df9083906137b4565b60405180910390a150565b6003546001600160a01b031681565b600042610613600e54600f5461204690919063ffffffff16565b1190505b90565b600f5481565b61062861201a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105df908390613659565b61067b61201a565b42600f819055600e547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd3444591906106b890829063ffffffff61204616565b6040516106c69291906139bf565b60405180910390a1565b6106d861206b565b6001600160a01b0316336001600160a01b0316146107115760405162461bcd60e51b81526004016107089061395f565b60405180910390fd5b61071c838383612085565b505050565b6001600160a01b031660009081526006602052604090205490565b60096020526000908152604090205481565b6000606061075a611642565b905060005b815181101561085c57600082828151811061077657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a721916107c7918691016137b4565b60206040518083038186803b1580156107df57600080fd5b505afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108179190810190612941565b6001600160a01b031614158061084257506000818152600460205260409020546001600160a01b0316155b156108535760009350505050610617565b5060010161075f565b50600191505090565b600061086f612794565b506001600160a01b0383166000908152600560209081526040808320858452825291829020825180840190935280546001600160401b0316835260010154908201526108ba8161229d565b9150505b92915050565b60086020526000908152604090205481565b6000805b8281101561097b57336000908152600560205260408120818686858181106108fe57fe5b90506020020135815260200190815260200160002090508060010154600014610972576040805180820190915281546001600160401b031681526001820154602082015260009061094e9061229d565b9050801561095e57600060018301555b61096e848263ffffffff61204616565b9350505b506001016108da565b50801561071c5761071c33826122ce565b600d5481565b61099a61201a565b600c8190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4906105df9083906137b4565b6005602090815260009283526040808420909152908252902080546001909101546001600160401b039091169082565b60025481565b6001546001600160a01b031681565b610a1c61201a565b60118190556040517f7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef8672906105df9083906137b4565b600c5481565b6001600160a01b039190911660009081526005602090815260408083209383529290522080546001909101546001600160401b0390911691565b6000805b82811015610b3657610aa5612794565b6001600160a01b038616600090815260056020526040812090868685818110610aca57fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015610b2d576000610b178261229d565b9050610b29848263ffffffff61204616565b9350505b50600101610a95565b509392505050565b6001600160a01b031660009081526008602052604090205490565b600b5481565b600a602052600090815260409020546001600160a01b031681565b6060610b84611642565b905060005b8151811015610ccc576000828281518110610ba057fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610be2919061364e565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c0e9291906137d0565b60206040518083038186803b158015610c2657600080fd5b505afa158015610c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5e9190810190612941565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610cba90849084906137c2565b60405180910390a15050600101610b89565b5050565b6060828201838111610d16576040805160008082526020820190925290610d0d565b610cfa6127ab565b815260200190600190039081610cf25790505b50915050610e69565b6001600160a01b038516600090815260066020526040902054811115610d5157506001600160a01b0384166000908152600660205260409020545b604080518583038082526020808202830101909252606090828015610d9057816020015b610d7d6127ab565b815260200190600190039081610d755790505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604081208054838a01908110610dc457fe5b90600052602060002001549050610dd9612794565b506001600160a01b03891660009081526005602090815260408083208484528252918290208251808401845281546001600160401b03908116825260019092015481840190815284516060810186528251909316835251928201929092529182018390528451909190859085908110610e4e57fe5b60209081029190910101525050600101610d96565b50925050505b9392505050565b610e786123e9565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610eb057600080fd5b505afa158015610ec4573d6000803e3d6000fd5b505050506001600160a01b038116600090815260106020526040902054610efd5760405162461bcd60e51b81526004016107089061388f565b6001600160a01b038116600090815260086020526040902054610f325760405162461bcd60e51b81526004016107089061397f565b6011546001600160a01b03821660009081526010602052604090205411610fbd57610f9f816040518060400160405280426001600160401b0316815260200160106000866001600160a01b03166001600160a01b0316815260200190815260200160002054815250612403565b6001600160a01b03811660009081526010602052604081205561116b565b6000610fc7612461565b6001600160a01b031663204b676a836040518263ffffffff1660e01b8152600401610ff29190613659565b60206040518083038186803b15801561100a57600080fd5b505afa15801561101e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110429190810190612c3d565b905060015b81811161071c576110566127d5565b61105e612461565b6001600160a01b031663da7bd3e9858486036040518363ffffffff1660e01b815260040161108d929190613721565b604080518083038186803b1580156110a457600080fd5b505afa1580156110b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110dc9190810190612ba2565b8051602082015191925090428210156110f75750505061071c565b61111e866040518060400160405280856001600160401b0316815260200184815250612403565b6001600160a01b038616600090815260106020526040902054611147908263ffffffff61247b16565b6001600160a01b038716600090815260106020526040902055505050600101611047565b50565b61117661201a565b600d548111156111985760405162461bcd60e51b81526004016107089061394f565b600e8190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6906105df9083906137b4565b6001546001600160a01b031633146111f75760405162461bcd60e51b81526004016107089061380f565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261123a926001600160a01b03918216929116906136f8565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b0381163314156112925760405162461bcd60e51b8152600401610708906138ef565b61129a6105f9565b6112b65760405162461bcd60e51b8152600401610708906138bf565b6112be6124a3565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b81526004016112e99190613697565b60206040518083038186803b15801561130157600080fd5b505afa158015611315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113399190810190612c3d565b156113565760405162461bcd60e51b81526004016107089061398f565b336000818152600a60205260409081902080546001600160a01b0319166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852906113ae908490613659565b60405180910390a250565b600060606113c56124b7565b6001600160a01b0316336001600160a01b0316146113f55760405162461bcd60e51b8152600401610708906138df565b826114125760405162461bcd60e51b8152600401610708906138ff565b60408051848152602080860282010190915283801561144b57816020015b611438612794565b8152602001906001900390816114305790505b50905060005b83811015611552576001600160a01b03861660009081526005602052604081208187878581811061147e57fe5b9050602002013581526020019081526020016000209050600081600101541115611549576040805180820190915281546001600160401b031681526001820154602082015283518490849081106114d157fe5b60200260200101819052506114f381600101548561204690919063ffffffff16565b6001600160a01b038816600090815260056020526040812091955087878581811061151a57fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611451565b5081156115f35761156385836124de565b61156b61253d565b6001600160a01b031663a9059cbb6115816124b7565b846040518363ffffffff1660e01b815260040161159f929190613721565b602060405180830381600087803b1580156115b957600080fd5b505af11580156115cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115f19190810190612c01565b505b846001600160a01b03167f929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c85858542604051611632949392919061375e565b60405180910390a2935093915050565b60608061164d612554565b60408051600380825260808201909252919250606091906020820183803883390190505090507853796e746865746978427269646765546f4f7074696d69736d60381b8160008151811061169d57fe5b6020026020010181815250506b526577617264457363726f7760a01b816001815181106116c657fe5b6020026020010181815250506b53797374656d53746174757360a01b816002815181106116ef57fe5b60200260200101818152505061170582826125e6565b9250505090565b6000546001600160a01b031681565b600e5481565b60115481565b6001600160a01b03831661174d5760405162461bcd60e51b81526004016107089061384f565b61175561253d565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b815260040161178493929190613667565b602060405180830381600087803b15801561179e57600080fd5b505af11580156117b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117d69190810190612c01565b6107115760405162461bcd60e51b8152600401610708906138cf565b6006602052816000526040600020818154811061180b57fe5b90600052602060002001600091509150505481565b60106020526000908152604090205481565b60025442106118535760405162461bcd60e51b81526004016107089061393f565b61185b61201a565b84831461187a5760405162461bcd60e51b81526004016107089061396f565b8481146118995760405162461bcd60e51b81526004016107089061387f565b60005b85811015611a145760008787838181106118b257fe5b90506020020160206118c79190810190612923565b905060008686848181106118d757fe5b90506020020135905060008585858181106118ee57fe5b6001600160a01b03861660009081526010602090815260409091205491029290920135925050156119315760405162461bcd60e51b81526004016107089061381f565b600b54611944908363ffffffff61204616565b600b556001600160a01b038316600090815260086020526040902054611970908363ffffffff61204616565b6001600160a01b0384166000908152600860209081526040808320939093556009905220546119a5908263ffffffff61204616565b6001600160a01b0384166000818152600960209081526040808320949094556010905282902084905590517fa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d690611a01908590859042906139cd565b60405180910390a250505060010161189c565b50505050505050565b611a256126a2565b50505050565b6002544210611a4c5760405162461bcd60e51b81526004016107089061393f565b611a5461201a565b828114611a735760405162461bcd60e51b81526004016107089061392f565b60005b83811015611be5576000858583818110611a8c57fe5b9050602002016020611aa19190810190612923565b90506000848484818110611ab157fe5b905060200201359050600060086000846001600160a01b03166001600160a01b031681526020019081526020016000205411611aff5760405162461bcd60e51b81526004016107089061397f565b6001600160a01b038216600090815260106020526040902054611b345760405162461bcd60e51b81526004016107089061388f565b611b5b826040518060400160405280426001600160401b0316815260200184815250612403565b6001600160a01b038216600090815260106020526040902054611b84908263ffffffff61247b16565b6001600160a01b038316600081815260106020526040908190209290925590517f73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc490611bd390429085906139bf565b60405180910390a25050600101611a76565b5050505050565b60075481565b6001600160a01b03831660009081526006602052604090205460609083830190811115611c3457506001600160a01b0384166000908152600660205260409020545b838111611c51576040805160008082526020820190925290610d0d565b604080518583038082526020808202830101909252606090828015611c80578160200160208202803883390190505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604090208054828901908110611cb457fe5b9060005260206000200154828281518110611ccb57fe5b6020908102919091010152600101611c86565b611ce66105f9565b611d025760405162461bcd60e51b8152600401610708906138bf565b611d0a6124a3565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b8152600401611d359190613713565b60206040518083038186803b158015611d4d57600080fd5b505afa158015611d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d859190810190612c3d565b15611da25760405162461bcd60e51b81526004016107089061398f565b6001600160a01b038381166000908152600a6020526040902054163314611ddb5760405162461bcd60e51b81526004016107089061391f565b6000805b82811015611f5a57611def612794565b6001600160a01b038616600090815260056020526040812090868685818110611e1457fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015611f51573360009081526005602052604081208291878786818110611e7357fe5b60209081029290920135835250818101929092526040016000208251815467ffffffffffffffff19166001600160401b0390911617815591810151600190920191909155810151611ec5908490612046565b336000908152600660205260409020909350858584818110611ee357fe5b8354600181018555600094855260208086209281029490940135910155506001600160a01b0388168252600590526040812090868685818110611f2257fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611ddf565b506001600160a01b038416600090815260086020526040902054611f84908263ffffffff61247b16565b6001600160a01b038516600090815260086020526040808220929092553381522054611fb6908263ffffffff61204616565b33600081815260086020526040908190209290925590516001600160a01b038616917f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c9161200c919085908890889042906136b1565b60405180910390a250505050565b6000546001600160a01b031633146120445760405162461bcd60e51b81526004016107089061390f565b565b600082820183811015610e695760405162461bcd60e51b81526004016107089061382f565b600061208066119959541bdbdb60ca1b6126ba565b905090565b816120a25760405162461bcd60e51b81526004016107089061389f565b6000811180156120b45750600c548111155b6120d05760405162461bcd60e51b81526004016107089061383f565b600b546120e3908363ffffffff61204616565b600b556120ee61253d565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016121199190613659565b60206040518083038186803b15801561213157600080fd5b505afa158015612145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121699190810190612c3d565b600b54111561218a5760405162461bcd60e51b8152600401610708906138af565b6001600160a01b038316600090815260086020526040902054428201906121b7908463ffffffff61204616565b6001600160a01b03851660008181526008602090815260408083209490945560078054855180870187526001600160401b0388811682528185018b81528787526005865288872084885286528887209251835467ffffffffffffffff1916921691909117825551600191820155948452600683529483208054808601825590845291909220018390555461224a91612046565b6007556040516001600160a01b038616907f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc09061228e9042908890889087906139e8565b60405180910390a25050505050565b60008082602001516000146108be5782516001600160401b03164210156122c5576000610e69565b50506020015190565b6122d882826124de565b6001600160a01b038216600090815260096020526040902054612301908263ffffffff61204616565b6001600160a01b03831660009081526009602052604090205561232261253d565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040161234f929190613721565b602060405180830381600087803b15801561236957600080fd5b505af115801561237d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123a19190810190612c01565b50816001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc642836040516123dd9291906139bf565b60405180910390a25050565b60006120806b53797374656d53746174757360a01b6126ba565b600061240f8383612717565b602083015183516040519293506001600160a01b038616927fa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb92612454928692613a1d565b60405180910390a2505050565b60006120806b526577617264457363726f7760a01b6126ba565b60008282111561249d5760405162461bcd60e51b81526004016107089061385f565b50900390565b60006120806524b9b9bab2b960d11b6126ba565b60006120807853796e746865746978427269646765546f4f7074696d69736d60381b6126ba565b600b546124f1908263ffffffff61247b16565b600b556001600160a01b03821660009081526008602052604090205461251d908263ffffffff61247b16565b6001600160a01b0390921660009081526008602052604090209190915550565b6000612080680a6f2dce8d0cae8d2f60bb1b6126ba565b60408051600380825260808201909252606091602082018380388339019050509050680a6f2dce8d0cae8d2f60bb1b8160008151811061259057fe5b60200260200101818152505066119959541bdbdb60ca1b816001815181106125b457fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106125d757fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612616578160200160208202803883390190505b50905060005b83518110156126585783818151811061263157fe5b602002602001015182828151811061264557fe5b602090810291909101015260010161261c565b5060005b825181101561269b5782818151811061267157fe5b602002602001015182828651018151811061268857fe5b602090810291909101015260010161265c565b5092915050565b60405162461bcd60e51b81526004016107089061386f565b60008181526004602090815260408083205490516001600160a01b0390911691821515916126ea9186910161362e565b6040516020818303038152906040529061269b5760405162461bcd60e51b815260040161070891906137fe565b600780546001600160a01b038416600081815260056020908152604080832085845282528083208751815467ffffffffffffffff19166001600160401b03909116178155878301516001918201559383526006825282208054808501825590835290822001839055925461278a91612046565b6007559392505050565b604080518082019091526000808252602082015290565b604051806060016040528060006001600160401b0316815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b80356108be81613b35565b80516108be81613b35565b60008083601f84011261281b57600080fd5b5081356001600160401b0381111561283257600080fd5b60208301915083602082028301111561284a57600080fd5b9250929050565b60008083601f84011261286357600080fd5b5081356001600160401b0381111561287a57600080fd5b60208301915083604082028301111561284a57600080fd5b600082601f8301126128a357600080fd5b60026128b66128b182613a79565b613a53565b915081838560208402820111156128cc57600080fd5b60005b838110156128f857816128e28882612918565b84525060209283019291909101906001016128cf565b5050505092915050565b80516108be81613b49565b80356108be81613b52565b80516108be81613b52565b60006020828403121561293557600080fd5b60006108ba84846127f3565b60006020828403121561295357600080fd5b60006108ba84846127fe565b60008060006040848603121561297457600080fd5b600061298086866127f3565b93505060208401356001600160401b0381111561299c57600080fd5b6129a886828701612809565b92509250509250925092565b600080604083850312156129c757600080fd5b60006129d385856127f3565b92505060206129e48582860161290d565b9150509250929050565b60008060008060608587031215612a0457600080fd5b6000612a1087876127f3565b9450506020612a218782880161290d565b93505060408501356001600160401b03811115612a3d57600080fd5b612a4987828801612851565b95989497509550505050565b600080600060608486031215612a6a57600080fd5b6000612a7686866127f3565b9350506020612a878682870161290d565b9250506040612a988682870161290d565b9150509250925092565b60008060008060408587031215612ab857600080fd5b84356001600160401b03811115612ace57600080fd5b612ada87828801612809565b945094505060208501356001600160401b03811115612af857600080fd5b612a4987828801612809565b60008060008060008060608789031215612b1d57600080fd5b86356001600160401b03811115612b3357600080fd5b612b3f89828a01612809565b965096505060208701356001600160401b03811115612b5d57600080fd5b612b6989828a01612809565b945094505060408701356001600160401b03811115612b8757600080fd5b612b9389828a01612809565b92509250509295509295509295565b600060408284031215612bb457600080fd5b60006108ba8484612892565b60008060208385031215612bd357600080fd5b82356001600160401b03811115612be957600080fd5b612bf585828601612809565b92509250509250929050565b600060208284031215612c1357600080fd5b60006108ba8484612902565b600060208284031215612c3157600080fd5b60006108ba848461290d565b600060208284031215612c4f57600080fd5b60006108ba8484612918565b6000612c678383612e34565b505060200190565b6000612c7b83836135c1565b505060600190565b6000612c8f83836135f8565b505060400190565b612ca081613ad6565b82525050565b612ca081613aae565b6000612cba82613a9c565b612cc48185613aa0565b9350612ccf83613a96565b8060005b83811015612cfd578151612ce78882612c5b565b9750612cf283613a96565b925050600101612cd3565b509495945050505050565b6000612d1382613a9c565b612d1d8185613aa0565b9350612d2883613a96565b8060005b83811015612cfd578151612d408882612c6f565b9750612d4b83613a96565b925050600101612d2c565b6000612d6182613a9c565b612d6b8185613aa0565b9350612d7683613a96565b8060005b83811015612cfd578151612d8e8882612c83565b9750612d9983613a96565b925050600101612d7a565b6000612db08385613aa0565b93506001600160fb1b03831115612dc657600080fd5b602083029250612dd7838584613af3565b50500190565b6000612de882613a9c565b612df28185613aa0565b9350612dfd83613a96565b8060005b83811015612cfd578151612e158882612c5b565b9750612e2083613a96565b925050600101612e01565b612ca081613ab9565b612ca081610617565b612ca0612e4982610617565b610617565b612ca081613add565b6000612e6282613a9c565b612e6c8185613aa0565b9350612e7c818560208601613aff565b612e8581613b2b565b9093019392505050565b6000612e9c603583613aa0565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612ef3602483613aa0565b7f4163636f756e74206d6967726174696f6e2069732070656e64696e6720616c728152636561647960e01b602082015260400192915050565b6000612f39601b83613aa0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612f72603383613aa0565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b6000612fc7602483613aa0565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b600061300d601e83613aa0565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613046601b83613aa0565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b600061307f603183613aa0565b7f4e756d626572206f66206163636f756e747320616e642076657374656442616c8152700c2dcc6cae640c8dedc4ee840dac2e8c6d607b1b602082015260400192915050565b60006130d2601b83613aa0565b7f4e6f20657363726f77206d6967726174696f6e2070656e64696e670000000000815260200192915050565b600061310b601183613aa9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613138601783613aa0565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b6000613171604783613aa0565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b60006131e0601983613aa0565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b6000613219601583613aa0565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b600061324a603983613aa0565b7f43616e206f6e6c7920626520696e766f6b65642062792053796e74686574697881527f427269646765546f4f7074696d69736d20636f6e747261637400000000000000602082015260400192915050565b60006132a9602483613aa0565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b60006132ef601283613aa0565b71115b9d1c9e4812511cc81c995c5d5a5c995960721b815260200192915050565b600061331d602f83613aa0565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b600061337a602183613aa0565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b60006133bd602983613aa0565b7f4163636f756e7420616e6420657363726f77416d6f756e7473204c656e677468815268040dad2e6dac2e8c6d60bb1b602082015260400192915050565b6000613408602983613aa0565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e206475728152680696e672073657475760bc1b602082015260400192915050565b6000613453601c83613aa0565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b600061348c601983613aa9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006134c5602883613aa0565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b600061350f602b83613aa0565b7f4e756d626572206f66206163636f756e747320616e642062616c616e6365732081526a0c8dedc4ee840dac2e8c6d60ab1b602082015260400192915050565b600061355c601b83613aa0565b7f4164647265737320657363726f772062616c616e636520697320300000000000815260200192915050565b6000613595601f83613aa0565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b805160608301906135d28482613625565b5060208201516135e56020850182612e34565b506040820151611a256040850182612e34565b805160408301906136098482613625565b506020820151611a256020850182612e34565b612ca081613ae8565b612ca081613aca565b6000613639826130fe565b91506136458284612e3d565b50602001919050565b60006136398261347f565b602081016108be8284612ca6565b606081016136758286612c97565b6136826020830185612ca6565b61368f6040830184612e34565b949350505050565b604081016136a58284612c97565b6108be60208301613361565b608081016136bf8288612c97565b6136cc6020830187612e34565b81810360408301526136df818587612da4565b90506136ee6060830184612e34565b9695505050505050565b604081016137068285612ca6565b610e696020830184612ca6565b604081016136a58284612ca6565b6040810161372f8285612ca6565b610e696020830184612e34565b60208082528101610e698184612caf565b60208082528101610e698184612d08565b60608082528101613770818688612da4565b905061377f6020830185612e34565b61378c6040830184612e34565b95945050505050565b60208082528101610e698184612ddd565b602081016108be8284612e2b565b602081016108be8284612e34565b604081016137068285612e34565b604081016137de8285612e34565b818103602083015261368f8184612e57565b602081016108be8284612e4e565b60208082528101610e698184612e57565b602080825281016108be81612e8f565b602080825281016108be81612ee6565b602080825281016108be81612f2c565b602080825281016108be81612f65565b602080825281016108be81612fba565b602080825281016108be81613000565b602080825281016108be81613039565b602080825281016108be81613072565b602080825281016108be816130c5565b602080825281016108be8161312b565b602080825281016108be81613164565b602080825281016108be816131d3565b602080825281016108be8161320c565b602080825281016108be8161323d565b602080825281016108be8161329c565b602080825281016108be816132e2565b602080825281016108be81613310565b602080825281016108be8161336d565b602080825281016108be816133b0565b602080825281016108be816133fb565b602080825281016108be81613446565b602080825281016108be816134b8565b602080825281016108be81613502565b602080825281016108be8161354f565b602080825281016108be81613588565b604081016139ad8285612e34565b818103602083015261368f8184612d56565b6040810161372f8285612e34565b606081016139db8286612e34565b6136826020830185612e34565b608081016139f68287612e34565b613a036020830186612e34565b613a106040830185612e34565b61378c6060830184612e34565b60608101613a2b8286612e34565b613a386020830185612e34565b61368f604083018461361c565b6040810161372f8285613625565b6040518181016001600160401b0381118282101715613a7157600080fd5b604052919050565b60006001600160401b03821115613a8f57600080fd5b5060200290565b60200190565b5190565b90815260200190565b919050565b60006108be82613abe565b151590565b6001600160a01b031690565b6001600160401b031690565b60006108be825b60006108be82613aae565b60006108be82613aca565b82818337506000910152565b60005b83811015613b1a578181015183820152602001613b02565b83811115611a255750506000910152565b601f01601f191690565b613b3e81613aae565b811461116b57600080fd5b613b3e81613ab9565b613b3e8161061756fea365627a7a7231582007e8688ccad2edf68d3998a27c6d32da38af3aed72fe489049be57980f70ccd16c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"accountToMerge","type":"address"},{"indexed":false,"internalType":"address","name":"destinationAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"escrowAmountMerged","type":"uint256"},{"indexed":false,"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"AccountMerged","type":"event","signature":"0x48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"AccountMergingDurationUpdated","type":"event","signature":"0x723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"}],"name":"AccountMergingStarted","type":"event","signature":"0xceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd34445"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"escrowedAmountMigrated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"BurnedForMigrationToL2","type":"event","signature":"0x929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"entryID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"escrowAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"}],"name":"ImportedVestingEntry","type":"event","signature":"0xa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"name":"ImportedVestingSchedule","type":"event","signature":"0x73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc4"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"MaxAccountMergingDurationUpdated","type":"event","signature":"0xe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"MaxEscrowDurationUpdated","type":"event","signature":"0x6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"MigrateEntriesThresholdAmountUpdated","type":"event","signature":"0x7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef8672"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"escrowedAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"vestedAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"MigratedAccountEscrow","type":"event","signature":"0xa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d6"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"NominateAccountToMerge","type":"event","signature":"0xcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Vested","type":"event","signature":"0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"entryID","type":"uint256"}],"name":"VestingEntryCreated","type":"event","signature":"0x2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[],"name":"accountMergingDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x910a326d"},{"constant":true,"inputs":[],"name":"accountMergingIsOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x05662986"},{"constant":true,"inputs":[],"name":"accountMergingStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0fcdefb7"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"accountVestingEntryIDs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xae582549"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"appendVestingEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1bb47b44"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"}],"name":"burnForMigration","outputs":[{"internalType":"uint256","name":"escrowedAccountBalance","type":"uint256"},{"components":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"internalType":"struct VestingEntries.VestingEntry[]","name":"vestingEntries","type":"tuple[]"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x80d46f58"},{"constant":false,"inputs":[{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"deposit","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"createEscrowEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa0416ed3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"getAccountVestingEntryIDs","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xeac62489"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"entryID","type":"uint256"}],"name":"getVestingEntry","outputs":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6154c343"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"entryID","type":"uint256"}],"name":"getVestingEntryClaimable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x30104c5f"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"}],"name":"getVestingQuantity","outputs":[{"internalType":"uint256","name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6dc05bd3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"getVestingSchedules","outputs":[{"components":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"},{"internalType":"uint256","name":"entryID","type":"uint256"}],"internalType":"struct VestingEntries.VestingEntryWithID[]","name":"","type":"tuple[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x773ab39f"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"components":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"internalType":"struct VestingEntries.VestingEntry[]","name":"","type":"tuple[]"}],"name":"importVestingEntries","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xcd7b43dd"},{"constant":false,"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"escrowAmounts","type":"uint256[]"}],"name":"importVestingSchedule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xd621a169"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"maxAccountMergingDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x37088ffc"},{"constant":true,"inputs":[],"name":"max_duration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5eb8cf25"},{"constant":false,"inputs":[{"internalType":"address","name":"accountToMerge","type":"address"},{"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"}],"name":"mergeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf0b882ba"},{"constant":false,"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"escrowBalances","type":"uint256[]"},{"internalType":"uint256[]","name":"vestedBalances","type":"uint256[]"}],"name":"migrateAccountEscrowBalances","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xb95375bd"},{"constant":true,"inputs":[],"name":"migrateEntriesThresholdAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x9ad6a7e5"},{"constant":false,"inputs":[{"internalType":"address","name":"addressToMigrate","type":"address"}],"name":"migrateVestingSchedule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x7839b92f"},{"constant":true,"inputs":[],"name":"nextEntryId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xe6b2cf6c"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"nominateAccountToMerge","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x7cc1d756"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nominatedReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x73307e40"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"numVestingEntries","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x204b676a"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":false,"inputs":[{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"setAccountMergingDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x7993e699"},{"constant":false,"inputs":[{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"setMaxAccountMergingWindow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x018c6c55"},{"constant":false,"inputs":[{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"setMaxEscrowDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x4525aabc"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMigrateEntriesThresholdAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x5b85c200"},{"constant":true,"inputs":[],"name":"setupExpiryTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x46ba2d90"},{"constant":false,"inputs":[],"name":"startMergingWindow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x178c5655"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalBalancePendingMigration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xb0fd5963"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalEscrowedAccountBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x326a3cfb"},{"constant":true,"inputs":[],"name":"totalEscrowedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x71e780f3"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalVestedAccountBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x227d517a"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"}],"name":"vest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x34c7fec9"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"vestingSchedules","outputs":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x45626bd6"}],"source":{"keccak256":"0xd6153f08b1517a31caa3c5a3b2035a553d8e62dc1c578a97b30fbb7bbf7c4d43","urls":["bzz-raw://8096ac7c58b42bed0b4231ac8bd7699dfec1be16dce4013e65554ab3ebfcd5d7","dweb:/ipfs/QmYJ2LovVh4vq5h2f7j8kDbPTec2XXBhixPvd3Js9fbxjR"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"RewardEscrowV2.sol":"RewardEscrowV2"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"RewardEscrowV2.sol":{"keccak256":"0xd6153f08b1517a31caa3c5a3b2035a553d8e62dc1c578a97b30fbb7bbf7c4d43","urls":["bzz-raw://8096ac7c58b42bed0b4231ac8bd7699dfec1be16dce4013e65554ab3ebfcd5d7","dweb:/ipfs/QmYJ2LovVh4vq5h2f7j8kDbPTec2XXBhixPvd3Js9fbxjR"]}},"version":1}},"SynthetixBridgeToOptimism":{"bytecode":"60806040523480156200001157600080fd5b506040516200394a3803806200394a83398101604081905262000034916200010d565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001c9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b8918490620001a3565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550506004805460ff191660011790555062000224915050565b805162000107816200020a565b92915050565b600080604083850312156200012157600080fd5b60006200012f8585620000fa565b92505060206200014285828601620000fa565b9150509250929050565b6200015781620001f6565b82525050565b6200015781620001e4565b600062000177601983620001db565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001b382856200014c565b620001c260208301846200015d565b9392505050565b60208082528101620001078162000168565b90815260200190565b60006001600160a01b03821662000107565b6000620001078260006200010782620001e4565b6200021581620001e4565b81146200022157600080fd5b50565b61371680620002346000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063698a26b2116100de578063a18e230711610097578063b9958ab811610071578063b9958ab8146102cf578063bb91f6a3146102e2578063f4f7b41a146102ea578063ffaad6a5146102fd57610173565b8063a18e230714610296578063a6492fe2146102a9578063b6b55f25146102bc57610173565b8063698a26b21461024e578063741853601461025657806379ba50971461025e578063899ffef4146102665780638da5cb5b1461027b5780639a9e7f961461028357610173565b80633c6b16ab116101305780633c6b16ab146101e3578063462286d5146101f65780634873966f1461020957806353a47bb71461021c5780635aba32ae14610231578063614d08f81461024657610173565b806304f3bcec14610178578063100be6d4146101965780631627540c146101ab5780631e2720ff146101c05780632af64bd3146101d35780633872dda3146101db575b600080fd5b610180610310565b60405161018d9190613440565b60405180910390f35b61019e61031f565b60405161018d9190613384565b6101be6101b9366004612765565b610328565b005b6101be6101ce366004612934565b610386565b61019e61042c565b6101be610544565b6101be6101f1366004612934565b6105ac565b6101be610204366004612765565b610620565b6101be6102173660046128e7565b6106c3565b61022461094e565b60405161018d919061325a565b61023961095d565b60405161018d9190613392565b610239610974565b6101be610998565b6101be6109fb565b6101be610b4d565b61026e610be9565b60405161018d9190613373565b610224610ce7565b6101be6102913660046127e3565b610cf6565b6101be6102a4366004612970565b610d0f565b6101be6102b73660046128e7565b610d3f565b6101be6102ca366004612934565b610e2a565b6101be6102dd366004612a00565b610e44565b610239610f92565b6101be6102f83660046127a9565b610fa4565b6101be61030b3660046127a9565b611082565b6002546001600160a01b031681565b60045460ff1681565b61033061109c565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061037b90839061325a565b60405180910390a150565b61038e6110c8565b6103966110ea565b6001600160a01b03166323b872dd336103ad611101565b846040518463ffffffff1660e01b81526004016103cc93929190613268565b602060405180830381600087803b1580156103e657600080fd5b505af11580156103fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061041e91908101906128c9565b506104293382611124565b50565b60006060610438610be9565b905060005b815181101561053a57600082828151811061045457fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906104a5908590600401613392565b60206040518083038186803b1580156104bd57600080fd5b505afa1580156104d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104f5919081019061278b565b6001600160a01b031614158061052057506000818152600360205260409020546001600160a01b0316155b156105315760009350505050610541565b5060010161043d565b5060019150505b90565b61054c61109c565b60045460ff166105775760405162461bcd60e51b815260040161056e9061348f565b60405180910390fd5b6004805460ff191690556040517f43e00f2c8f8651a29db34d34fb689573423f8aaae8f9d32e3e871b4c35c6254690600090a1565b6105b461123a565b6001600160a01b0316336001600160a01b0316146105e45760405162461bcd60e51b815260040161056e9061355f565b6105ec6110ea565b6001600160a01b031663a9059cbb610602611101565b836040518363ffffffff1660e01b81526004016103cc929190613358565b806106bf61062c611101565b6040516370a0823160e01b81526001600160a01b038416906370a082319061065890309060040161325a565b60206040518083038186803b15801561067057600080fd5b505afa158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a89190810190612952565b6001600160a01b038416919063ffffffff61125b16565b5050565b6106cb6110c8565b6001600160a01b0382166106f15760405162461bcd60e51b815260040161056e906134ef565b60006106fc846112b9565b116107195760405162461bcd60e51b815260040161056e9061352f565b6107216113a1565b6001600160a01b03166342a28e21846040518263ffffffff1660e01b815260040161074c9190613392565b60006040518083038186803b15801561076457600080fd5b505afa158015610778573d6000803e3d6000fd5b5050505061078e6314d95b9d60e21b84836113bb565b6000610798611510565b6001600160a01b031663c81ff8fa8533856040518463ffffffff1660e01b81526004016107c7939291906133ae565b602060405180830381600087803b1580156107e157600080fd5b505af11580156107f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061081991908101906128c9565b905080156108395760405162461bcd60e51b815260040161056e9061357f565b606063a6492fe260e01b858585604051602401610858939291906133c9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610894611524565b6001600160a01b0316633dbb202b6108aa61153f565b836108b56003611549565b6040518463ffffffff1660e01b81526004016108d393929190613329565b600060405180830381600087803b1580156108ed57600080fd5b505af1158015610901573d6000803e3d6000fd5b50505050836001600160a01b0316857f8437572793cb04c0a02524a185d39f9b72a4284bd2e69151b0ca0cf254b2cb0b8560405161093f9190613392565b60405180910390a35050505050565b6001546001600160a01b031681565b600061096f6314d95b9d60e21b611599565b905090565b7f53796e746865746978427269646765546f4f7074696d69736d0000000000000090565b6109a061109c565b60045460ff16156109c35760405162461bcd60e51b815260040161056e9061345f565b6004805460ff191660011790556040517f7c88488c18e2ff121a34a4a2a44990557a5b76ab1ceb6bd95ebe7d419c7575f490600090a1565b6060610a05610be9565b905060005b81518110156106bf576000828281518110610a2157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610a63919061324f565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610a8f929190613420565b60206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610adf919081019061278b565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610b3b90849084906133a0565b60405180910390a15050600101610a0a565b6001546001600160a01b03163314610b775760405162461bcd60e51b815260040161056e9061346f565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610bba926001600160a01b0391821692911690613300565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610bf4611870565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506524b9b9bab2b960d11b81600081518110610c3257fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b81600181518110610c6257fe5b602002602001018181525050786f766d3a53796e746865746978427269646765546f4261736560381b81600281518110610c9857fe5b6020026020010181815250507453796e746865746978427269646765457363726f7760581b81600381518110610cca57fe5b602002602001018181525050610ce082826119d9565b9250505090565b6000546001600160a01b031681565b610cfe6110c8565b610d06611a95565b61042981611b35565b610d176110c8565b610d1f611a95565b805115610d2f57610d2f81611b35565b81156106bf576106bf3383611dd6565b610d47611f71565b610d59632932b1bb60e11b84836113bb565b610d61611510565b6001600160a01b031663890235d48484846040518463ffffffff1660e01b8152600401610d90939291906133c9565b602060405180830381600087803b158015610daa57600080fd5b505af1158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de291908101906128c9565b50816001600160a01b0316837f81b100a611d2b249e23d093c64f09470928821e123a7cff2a033eb24c85b797983604051610e1d9190613392565b60405180910390a3505050565b610e326110c8565b610e3a611a95565b6104293382611dd6565b610e4c6110c8565b610e5461204d565b6001600160a01b0316336001600160a01b031614610e845760405162461bcd60e51b815260040161056e9061350f565b6040516000906060906325aae56360e01b90610ea690869086906024016133f7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610ee2611524565b6001600160a01b0316633dbb202b610ef8612062565b83610f036004611549565b6040518463ffffffff1660e01b8152600401610f2193929190613329565b600060405180830381600087803b158015610f3b57600080fd5b505af1158015610f4f573d6000803e3d6000fd5b505050507fcca0df3f2f18cd65d14c04abffc77c2d00aaca7ad00b0d2eb074adeea3fb54f48484604051610f849291906133f7565b60405180910390a150505050565b600061096f632932b1bb60e11b611599565b610fac611f71565b610fb46110ea565b6001600160a01b03166323b872dd610fca611101565b84846040518463ffffffff1660e01b8152600401610fea9392919061331b565b602060405180830381600087803b15801561100457600080fd5b505af1158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061103c91908101906128c9565b50816001600160a01b03167f9e5c4f9f4e46b8629d3dda85f43a69194f50254404a72dc62b9e932d9c94eda8826040516110769190613392565b60405180910390a25050565b61108a6110c8565b611092611a95565b6106bf8282611dd6565b6000546001600160a01b031633146110c65760405162461bcd60e51b815260040161056e906134ff565b565b60045460ff166110c65760405162461bcd60e51b815260040161056e906134bf565b600061096f680a6f2dce8d0cae8d2f60bb1b612085565b600061096f7453796e746865746978427269646765457363726f7760581b612085565b60405160009060609063a616cdfb60e01b906111469086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611182611524565b6001600160a01b0316633dbb202b611198612062565b836111a36002611549565b6040518463ffffffff1660e01b81526004016111c193929190613329565b600060405180830381600087803b1580156111db57600080fd5b505af11580156111ef573d6000803e3d6000fd5b50505050836001600160a01b03167f0ac6af0c6fd21e58850b0385f451cdcc08071424f47fd04652be4e51069f43cc8460405161122c9190613392565b60405180910390a250505050565b600061096f722932bbb0b93239a234b9ba3934b13aba34b7b760691b612085565b6040516112b490849063a9059cbb60e01b9061127d9086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526120e2565b505050565b60006112c36121cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f63726f7373436861696e53796e74685472616e73666572456e61626c65640000856040516020016113169291906131c6565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016113499291906133f7565b60206040518083038186803b15801561136157600080fd5b505afa158015611375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113999190810190612952565b90505b919050565b600061096f6b53797374656d53746174757360a01b612085565b60006c29bcb73a342a3930b739b332b960991b84846040516020016113e2939291906131ec565b60405160208183030381529060405280519060200120905060006114046121cd565b6001600160a01b03166323257c2b61141a610974565b846040518363ffffffff1660e01b81526004016114389291906133f7565b60206040518083038186803b15801561145057600080fd5b505afa158015611464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114889190810190612952565b90506114926121cd565b6001600160a01b0316631d5b277f6114a8610974565b846114b9858863ffffffff6121ea16565b6040518463ffffffff1660e01b81526004016114d793929190613405565b600060405180830381600087803b1580156114f157600080fd5b505af1158015611505573d6000803e3d6000fd5b505050505050505050565b600061096f6524b9b9bab2b960d11b612085565b600061096f6c32bc3a1d26b2b9b9b2b733b2b960991b612085565b600061096f612062565b60006115536121cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b61157c85612218565b6040518363ffffffff1660e01b81526004016113499291906133f7565b600060606115a5611510565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156115dd57600080fd5b505afa1580156115f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116199190810190612818565b905060606000611627612393565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004016116529190613373565b60006040518083038186803b15801561166a57600080fd5b505afa15801561167e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116a69190810190612882565b9150915080156116c85760405162461bcd60e51b815260040161056e906134cf565b606083516040519080825280602002602001820160405280156116f5578160200160208202803883390190505b50905060005b8451811015611771576c29bcb73a342a3930b739b332b960991b8786838151811061172257fe5b602002602001015160405160200161173c939291906131ec565b6040516020818303038152906040528051906020012082828151811061175e57fe5b60209081029190910101526001016116fb565b50606061177c6121cd565b6001600160a01b031663b67fa7ed611792610974565b846040518363ffffffff1660e01b81526004016117b09291906133d7565b60006040518083038186803b1580156117c857600080fd5b505afa1580156117dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611804919081019061284d565b905060005b85518110156118655761185b61184e86838151811061182457fe5b602002602001015184848151811061183857fe5b60200260200101516123ae90919063ffffffff16565b889063ffffffff6121ea16565b9650600101611809565b505050505050919050565b60608061187b6123c3565b60408051600880825261012082019092529192506060919060208201610100803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b816000815181106118c257fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816001815181106118e857fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160028151811061191357fe5b6020026020010181815250506524b9b9bab2b960d11b8160038151811061193657fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061195a57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b8160058151811061198657fe5b6020026020010181815250506c45786368616e6765526174657360981b816006815181106119b057fe5b6020026020010181815250506b53797374656d53746174757360a01b81600781518110610cca57fe5b60608151835101604051908082528060200260200182016040528015611a09578160200160208202803883390190505b50905060005b8351811015611a4b57838181518110611a2457fe5b6020026020010151828281518110611a3857fe5b6020908102919091010152600101611a0f565b5060005b8251811015611a8e57828181518110611a6457fe5b6020026020010151828286510181518110611a7b57fe5b6020908102919091010152600101611a4f565b5092915050565b611a9d611510565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b8152600401611ac891906132b0565b60206040518083038186803b158015611ae057600080fd5b505afa158015611af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b189190810190612952565b156110c65760405162461bcd60e51b815260040161056e906134df565b60005b81518110156106bf57601a60ff16828281518110611b5257fe5b6020026020010151511115611b795760405162461bcd60e51b815260040161056e906134af565b60006060611b85612414565b6001600160a01b03166380d46f5833868681518110611ba057fe5b60200260200101516040518363ffffffff1660e01b8152600401611bc5929190613290565b600060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c1b91908101906129b8565b90925090508115611dcc57611c2e6110ea565b6001600160a01b031663a9059cbb611c44611101565b846040518363ffffffff1660e01b8152600401611c62929190613358565b602060405180830381600087803b158015611c7c57600080fd5b505af1158015611c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cb491908101906128c9565b50604051600090606090637cbc127f60e11b90611cd9903390879087906024016132ca565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611d15611524565b6001600160a01b0316633dbb202b611d2b612062565b83611d366001611549565b6040518463ffffffff1660e01b8152600401611d5493929190613329565b600060405180830381600087803b158015611d6e57600080fd5b505af1158015611d82573d6000803e3d6000fd5b50505050336001600160a01b03167f4dc5956ab6218a4dfa2cc5e5c50d98d039dde03aabfc504c54b601b6f56226968585604051611dc19291906135af565b60405180910390a250505b5050600101611b38565b611dde6110ea565b6001600160a01b03166323b872dd33611df5611101565b846040518463ffffffff1660e01b8152600401611e1493929190613268565b602060405180830381600087803b158015611e2e57600080fd5b505af1158015611e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e6691908101906128c9565b50604051600090606090638d6e9a5b60e01b90611e899086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611ec5611524565b6001600160a01b0316633dbb202b611edb612062565b83611ee66000611549565b6040518463ffffffff1660e01b8152600401611f0493929190613329565b600060405180830381600087803b158015611f1e57600080fd5b505af1158015611f32573d6000803e3d6000fd5b50505050336001600160a01b03167ff531653a5819e21265de50358610d55dbe6594c61605b209dfa4280d277938c1858560405161122c929190613358565b6000611f7b611524565b9050336001600160a01b03821614611fa55760405162461bcd60e51b815260040161056e9061353f565b611fad61153f565b6001600160a01b0316816001600160a01b0316636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b158015611fef57600080fd5b505afa158015612003573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612027919081019061278b565b6001600160a01b0316146104295760405162461bcd60e51b815260040161056e9061354f565b600061096f66119959541bdbdb60ca1b612085565b600061096f786f766d3a53796e746865746978427269646765546f4261736560381b5b60008181526003602090815260408083205490516001600160a01b0390911691821515916120b59186910161322f565b60405160208183030381529060405290611a8e5760405162461bcd60e51b815260040161056e919061344e565b6120f4826001600160a01b0316612430565b6121105760405162461bcd60e51b815260040161056e9061359f565b60006060836001600160a01b03168360405161212c9190613223565b6000604051808303816000865af19150503d8060008114612169576040519150601f19603f3d011682016040523d82523d6000602084013e61216e565b606091505b5091509150816121905760405162461bcd60e51b815260040161056e9061349f565b8051156121c757808060200190516121ab91908101906128c9565b6121c75760405162461bcd60e51b815260040161056e9061356f565b50505050565b600061096f6e466c657869626c6553746f7261676560881b612085565b60008282018381101561220f5760405162461bcd60e51b815260040161056e9061347f565b90505b92915050565b60008082600581111561222757fe5b141561225457507f63726f7373446f6d61696e4465706f7369744761734c696d697400000000000061139c565b600182600581111561226257fe5b141561228f57507f63726f7373446f6d61696e457363726f774761734c696d69740000000000000061139c565b600282600581111561229d57fe5b14156122ca57507f63726f7373446f6d61696e5265776172644761734c696d69740000000000000061139c565b60038260058111156122d857fe5b141561230557507f63726f7373446f6d61696e5769746864726177616c4761734c696d697400000061139c565b600582600581111561231357fe5b141561234057507f63726f7373446f6d61696e52656c61794761734c696d6974000000000000000061139c565b600482600581111561234e57fe5b141561237b57507f63726f7373446f6d61696e436c6f73654761734c696d6974000000000000000061139c565b60405162461bcd60e51b815260040161056e9061358f565b600061096f6c45786368616e6765526174657360981b612085565b600061220f8383670de0b6b3a7640000612436565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061240557fe5b60200260200101818152505090565b600061096f6d2932bbb0b93222b9b1b937bbab1960911b612085565b3b151590565b600080600a830461244d868663ffffffff61247416565b8161245457fe5b0490506005600a82061061246657600a015b600a900490505b9392505050565b60008261248357506000612212565b8282028284828161249057fe5b041461220f5760405162461bcd60e51b815260040161056e9061351f565b8035612212816136a4565b8051612212816136a4565b600082601f8301126124d557600080fd5b81356124e86124e3826135f6565b6135cf565b81815260209384019390925082018360005b8381101561252657813586016125108882612612565b84525060209283019291909101906001016124fa565b5050505092915050565b600082601f83011261254157600080fd5b815161254f6124e3826135f6565b9150818183526020840193506020810190508385602084028201111561257457600080fd5b60005b83811015612526578161258a8882612708565b8452506020928301929190910190600101612577565b600082601f8301126125b157600080fd5b81516125bf6124e3826135f6565b915081818352602084019350602081019050838560408402820111156125e457600080fd5b60005b8381101561252657816125fa8882612713565b845250602090920191604091909101906001016125e7565b600082601f83011261262357600080fd5b81356126316124e3826135f6565b9150818183526020840193506020810190508385602084028201111561265657600080fd5b60005b83811015612526578161266c88826126fd565b8452506020928301929190910190600101612659565b600082601f83011261269357600080fd5b81516126a16124e3826135f6565b915081818352602084019350602081019050838560208402820111156126c657600080fd5b60005b8381101561252657816126dc8882612708565b84525060209283019291909101906001016126c9565b8051612212816136b8565b8035612212816136c1565b8051612212816136c1565b60006040828403121561272557600080fd5b61272f60406135cf565b9050600061273d848461275a565b825250602061274e84848301612708565b60208301525092915050565b8051612212816136ca565b60006020828403121561277757600080fd5b600061278384846124ae565b949350505050565b60006020828403121561279d57600080fd5b600061278384846124b9565b600080604083850312156127bc57600080fd5b60006127c885856124ae565b92505060206127d9858286016126fd565b9150509250929050565b6000602082840312156127f557600080fd5b813567ffffffffffffffff81111561280c57600080fd5b612783848285016124c4565b60006020828403121561282a57600080fd5b815167ffffffffffffffff81111561284157600080fd5b61278384828501612530565b60006020828403121561285f57600080fd5b815167ffffffffffffffff81111561287657600080fd5b61278384828501612682565b6000806040838503121561289557600080fd5b825167ffffffffffffffff8111156128ac57600080fd5b6128b885828601612682565b92505060206127d9858286016126f2565b6000602082840312156128db57600080fd5b600061278384846126f2565b6000806000606084860312156128fc57600080fd5b600061290886866126fd565b9350506020612919868287016124ae565b925050604061292a868287016126fd565b9150509250925092565b60006020828403121561294657600080fd5b600061278384846126fd565b60006020828403121561296457600080fd5b60006127838484612708565b6000806040838503121561298357600080fd5b600061298f85856126fd565b925050602083013567ffffffffffffffff8111156129ac57600080fd5b6127d9858286016124c4565b600080604083850312156129cb57600080fd5b60006129d78585612708565b925050602083015167ffffffffffffffff8111156129f457600080fd5b6127d9858286016125a0565b60008060408385031215612a1357600080fd5b60006127c885856126fd565b6000612a2b8383612b5d565b505060200190565b6000612a3f8383613190565b505060400190565b612a508161365c565b82525050565b612a508161362a565b6000612a6a8261361d565b612a748185613621565b9350612a7f83613617565b8060005b83811015612aad578151612a978882612a1f565b9750612aa283613617565b925050600101612a83565b509495945050505050565b6000612ac38261361d565b612acd8185613621565b9350612ad883613617565b8060005b83811015612aad578151612af08882612a33565b9750612afb83613617565b925050600101612adc565b6000612b118261361d565b612b1b8185613621565b9350612b2683613617565b8060005b83811015612aad578151612b3e8882612a1f565b9750612b4983613617565b925050600101612b2a565b612a5081613635565b612a5081610541565b612a50612b7282610541565b610541565b6000612b828261361d565b612b8c8185613621565b9350612b9c81856020860161366e565b612ba58161369a565b9093019392505050565b6000612bba8261361d565b612bc4818561139c565b9350612bd481856020860161366e565b9290920192915050565b612a5081613663565b6000612bf4601883613621565b7f496e6974696174696f6e206e6f742073757370656e6465640000000000000000815260200192915050565b6000612c2d603583613621565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612c84601b83613621565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612cbd601483613621565b73125b9a5d1a585d1a5bdb881cdd5cdc195b99195960621b815260200192915050565b6000612ced602083613621565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000612d26602183613621565b7f45786365656473206d617820656e747269657320706572206d6967726174696f8152603760f91b602082015260400192915050565b6000612d6960118361139c565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612d96601683613621565b75125b9a5d1a585d1a5bdb8819195858dd1a5d985d195960521b815260200192915050565b6000612dc8601183613621565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b6000612df5602383613621565b7f43616e6e6f74206465706f736974206f72206d6967726174652077697468206481526219589d60ea1b602082015260400192915050565b6000612e3a601b83613621565b7f43616e6e6f742073656e6420746f207a65726f20616464726573730000000000815260200192915050565b6000612e73602f83613621565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000612ed0601f83613621565b7f4f6e6c79207468652066656520706f6f6c2063616e2063616c6c207468697300815260200192915050565b6000612f09602183613621565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612f4c602a83613621565b7f53796e7468206e6f7420656e61626c656420666f722063726f7373206368616981526937103a3930b739b332b960b11b602082015260400192915050565b6000612f98601e83613621565b7f4f6e6c79207468652072656c617965722063616e2063616c6c20746869730000815260200192915050565b6000612fd160198361139c565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061300a602483613621565b7f4f6e6c79206120636f756e74657270617274206272696467652063616e20696e815263766f6b6560e01b602082015260400192915050565b6000613050602a83613621565b7f43616c6c6572206973206e6f742052657761726473446973747269627574696f8152691b8818dbdb9d1c9858dd60b21b602082015260400192915050565b600061309c602a83613621565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006130e8602883613621565b7f43616e6e6f7420696e6974696174652069662073796e74682072617465206973815267081a5b9d985b1a5960c21b602082015260400192915050565b6000613132601683613621565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b6000613164601f83613621565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b805160408301906131a184826131bd565b5060208201516121c76020850182612b5d565b612a5081613646565b612a508161364f565b60006131d28285612b66565b6020820191506131e28284612b66565b5060200192915050565b60006131f88286612b66565b6020820191506132088285612b66565b6020820191506132188284612b66565b506020019392505050565b600061246d8284612baf565b600061323a82612d5c565b91506132468284612b66565b50602001919050565b600061323a82612fc4565b602081016122128284612a56565b606081016132768286612a47565b6132836020830185612a56565b6127836040830184612b5d565b6040810161329e8285612a47565b81810360208301526127838184612b06565b604081016132be8284612a47565b61221260208301612eb7565b606081016132d88286612a56565b6132e56020830185612b5d565b81810360408301526132f78184612ab8565b95945050505050565b6040810161330e8285612a56565b61246d6020830184612a56565b606081016132768286612a56565b606081016133378286612a56565b81810360208301526133498185612b77565b905061278360408301846131b4565b604081016133668285612a56565b61246d6020830184612b5d565b6020808252810161220f8184612a5f565b602081016122128284612b54565b602081016122128284612b5d565b6040810161330e8285612b5d565b606081016133bc8286612b5d565b6132836020830185612a47565b606081016132768286612b5d565b604081016133e58285612b5d565b81810360208301526127838184612a5f565b604081016133668285612b5d565b606081016134138286612b5d565b6132836020830185612b5d565b6040810161342e8285612b5d565b81810360208301526127838184612b77565b602081016122128284612bde565b6020808252810161220f8184612b77565b6020808252810161139981612be7565b6020808252810161139981612c20565b6020808252810161139981612c77565b6020808252810161139981612cb0565b6020808252810161139981612ce0565b6020808252810161139981612d19565b6020808252810161139981612d89565b6020808252810161139981612dbb565b6020808252810161139981612de8565b6020808252810161139981612e2d565b6020808252810161139981612e66565b6020808252810161139981612ec3565b6020808252810161139981612efc565b6020808252810161139981612f3f565b6020808252810161139981612f8b565b6020808252810161139981612ffd565b6020808252810161139981613043565b602080825281016113998161308f565b60208082528101611399816130db565b6020808252810161139981613125565b6020808252810161139981613157565b604081016135bd8285612b5d565b81810360208301526127838184612ab8565b60405181810167ffffffffffffffff811182821017156135ee57600080fd5b604052919050565b600067ffffffffffffffff82111561360d57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006113998261363a565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b6000611399825b60006113998261362a565b60005b83811015613689578181015183820152602001613671565b838111156121c75750506000910152565b601f01601f191690565b6136ad8161362a565b811461042957600080fd5b6136ad81613635565b6136ad81610541565b6136ad8161364f56fea365627a7a72315820fae196f19170575bc61868be3406147da6f7959d46ca1778e5c29d8d465bc0456c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"DepositInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"escrowedAccountBalance","type":"uint256"},{"components":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"indexed":false,"internalType":"struct VestingEntries.VestingEntry[]","name":"vestingEntries","type":"tuple[]"}],"name":"ExportedVestingEntries","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"snxBackedDebt","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalDebtShares","type":"uint256"}],"name":"FeePeriodClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":true,"internalType":"address","name":"destination","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FinalizeSynthTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":true,"internalType":"address","name":"destination","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"InitiateSynthTransfer","type":"event"},{"anonymous":false,"inputs":[],"name":"InitiationResumed","type":"event"},{"anonymous":false,"inputs":[],"name":"InitiationSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardDepositInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"WithdrawalFinalized","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"snxBackedAmount","type":"uint256"},{"internalType":"uint256","name":"totalDebtShares","type":"uint256"}],"name":"closeFeePeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256[][]","name":"entryIDs","type":"uint256[][]"}],"name":"depositAndMigrateEscrow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"finalizeSynthTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"finalizeWithdrawal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"forwardTokensToEscrow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"initiateSynthTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initiationActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256[][]","name":"entryIDs","type":"uint256[][]"}],"name":"migrateEscrow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resumeInitiation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"suspendInitiation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"synthTransferReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"synthTransferSent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xdff9df88e885c9026ab62c879f5378f213292e70ca6e99106893271b0ca9109a","urls":["bzz-raw://0acdade1553279df2193726bd44b1772b9f12736425ab319e928a5afe8abb836","dweb:/ipfs/QmWmDxjv1LC2znwgQ842PKwowkQytBHdWUoTiKZdBXAnvU"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SynthetixBridgeToOptimism.sol":"SynthetixBridgeToOptimism"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SynthetixBridgeToOptimism.sol":{"keccak256":"0xdff9df88e885c9026ab62c879f5378f213292e70ca6e99106893271b0ca9109a","urls":["bzz-raw://0acdade1553279df2193726bd44b1772b9f12736425ab319e928a5afe8abb836","dweb:/ipfs/QmWmDxjv1LC2znwgQ842PKwowkQytBHdWUoTiKZdBXAnvU"]}},"version":1}},"ShortingRewards":{"bytecode":"60806040526000600855600060095562093a80600a553480156200002257600080fd5b506040516200208b3803806200208b833981016040819052620000459162000164565b82846001600160a01b038116620000795760405162461bcd60e51b815260040162000070906200028c565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c691849062000254565b60405180910390a15060016003556000546001600160a01b0316620000ff5760405162461bcd60e51b815260040162000070906200027a565b60058054610100600160a81b0319166101006001600160a01b0393841602179055600780546001600160a01b031990811693831693909317905560028054909216921691909117905550620002e79050565b80516200015e81620002cd565b92915050565b600080600080608085870312156200017b57600080fd5b600062000189878762000151565b94505060206200019c8782880162000151565b9350506040620001af8782880162000151565b9250506060620001c28782880162000151565b91505092959194509250565b620001d981620002b9565b82525050565b620001d981620002a7565b6000620001f96011836200029e565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002286019836200029e565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002648285620001ce565b620002736020830184620001df565b9392505050565b602080825281016200015e81620001ea565b602080825281016200015e8162000219565b90815260200190565b60006001600160a01b0382166200015e565b60006200015e8260006200015e82620002a7565b620002d881620002a7565b8114620002e457600080fd5b50565b611d9480620002f76000396000f3fe608060405234801561001057600080fd5b50600436106101ef5760003560e01c806379ba50971161010f578063c8f33c91116100a2578063db454a5111610071578063db454a511461038e578063df136d65146103a1578063ebe2b12b146103a9578063f3fef3a3146103b1576101ef565b8063c8f33c9114610363578063cc1a378f1461036b578063cd3daf9d1461037e578063d1af0c7d14610386576101ef565b80638b876347116100de5780638b8763471461032d5780638da5cb5b1461034057806391b4ded914610348578063c00007b014610350576101ef565b806379ba5097146103005780637b0a47ee1461030857806380faa57d14610310578063899ffef414610318576101ef565b80632af64bd31161018757806353a47bb71161015657806353a47bb7146102d55780635c975abb146102dd57806370a08231146102e557806374185360146102f8576101ef565b80632af64bd314610290578063386a9525146102a55780633c6b16ab146102ad5780633fc6df6e146102c0576101ef565b806316c38b3c116101c357806316c38b3c1461025a57806318160ddd1461026d57806319762143146102755780631c1f78eb14610288576101ef565b80628cc262146101f457806304f3bcec1461021d5780630700037d146102325780631627540c14610245575b600080fd5b6102076102023660046113ca565b6103c4565b6040516102149190611b4b565b60405180910390f35b61022561045a565b6040516102149190611b87565b6102076102403660046113ca565b61046e565b6102586102533660046113ca565b610480565b005b610258610268366004611448565b6104de565b610207610553565b6102586102833660046113ca565b61055a565b610207610584565b6102986105a2565b6040516102149190611b3d565b6102076106be565b6102586102bb366004611484565b6106c4565b6102c86108d9565b6040516102149190611ae8565b6102c86108e8565b6102986108f7565b6102076102f33660046113ca565b610900565b61025861091b565b610258610a71565b610207610b0d565b610207610b13565b610320610b21565b6040516102149190611b2c565b61020761033b3660046113ca565b610b72565b6102c8610b84565b610207610b93565b61025861035e3660046113ca565b610b99565b610207610cf4565b610258610379366004611484565b610cfa565b610207610d58565b610225610db2565b61025861039c36600461140e565b610dc1565b610207610f63565b610207610f69565b6102586103bf36600461140e565b610f6f565b6001600160a01b0381166000908152600e6020908152604080832054600d909252822054610454919061044890670de0b6b3a76400009061043c906104179061040b610d58565b9063ffffffff6110be16565b6001600160a01b0388166000908152601060205260409020549063ffffffff6110e616565b9063ffffffff61112716565b9063ffffffff61115c16565b92915050565b60055461010090046001600160a01b031681565b600e6020526000908152604090205481565b610488611181565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906104d3908390611ae8565b60405180910390a150565b6104e6611181565b60055460ff16151581151514156104fc57610550565b6005805460ff1916821515179081905560ff161561051957426004555b6005546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916104d39160ff90911690611b3d565b50565b600f545b90565b610562611181565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600061059d600a546009546110e690919063ffffffff16565b905090565b600060606105ae610b21565b905060005b81518110156106b55760008282815181106105ca57fe5b602090810291909101810151600081815260069092526040918290205460055492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a72190610620908590600401611b4b565b60206040518083038186803b15801561063857600080fd5b505afa15801561064c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061067091908101906113f0565b6001600160a01b031614158061069b57506000818152600660205260409020546001600160a01b0316155b156106ac5760009350505050610557565b506001016105b3565b50600191505090565b600a5481565b6002546001600160a01b031633146106f75760405162461bcd60e51b81526004016106ee90611c66565b60405180910390fd5b6000610701610d58565b600c5561070c610b13565b600b556001600160a01b0381161561075357610727816103c4565b6001600160a01b0382166000908152600e6020908152604080832093909355600c54600d909152919020555b600854421061077857600a5461077090839063ffffffff61112716565b6009556107c7565b60085460009061078e904263ffffffff6110be16565b905060006107a7600954836110e690919063ffffffff16565b600a549091506107c19061043c868463ffffffff61115c16565b60095550505b6007546040516370a0823160e01b81526000916001600160a01b0316906370a08231906107f8903090600401611ae8565b60206040518083038186803b15801561081057600080fd5b505afa158015610824573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061084891908101906114a2565b905061085f600a548261112790919063ffffffff16565b60095411156108805760405162461bcd60e51b81526004016106ee90611c46565b42600b819055600a54610899919063ffffffff61115c16565b6008556040517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d906108cc908590611b4b565b60405180910390a1505050565b6002546001600160a01b031681565b6001546001600160a01b031681565b60055460ff1681565b6001600160a01b031660009081526010602052604090205490565b6060610925610b21565b905060005b8151811015610a6d57600082828151811061094157fe5b602002602001015190506000600560019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016109839190611add565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016109af929190611b67565b60206040518083038186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109ff91908101906113f0565b6000838152600660205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610a5b9084908490611b59565b60405180910390a1505060010161092a565b5050565b6001546001600160a01b03163314610a9b5760405162461bcd60e51b81526004016106ee90611bb6565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610ade926001600160a01b0391821692911690611af6565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b600061059d426008546111ad565b604080516001808252818301909252606091602080830190803883390190505090506e10dbdb1b185d195c985b14da1bdc9d608a1b81600081518110610b6357fe5b60200260200101818152505090565b600d6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b6000610ba36111c3565b6001600160a01b0316336001600160a01b031614905080610bd65760405162461bcd60e51b81526004016106ee90611ca6565b600380546001019081905582610bea610d58565b600c55610bf5610b13565b600b556001600160a01b03811615610c3c57610c10816103c4565b6001600160a01b0382166000908152600e6020908152604080832093909355600c54600d909152919020555b6001600160a01b0384166000908152600e60205260409020548015610ccc576001600160a01b038086166000908152600e6020526040812055600754610c8a9116868363ffffffff6111e016565b846001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048682604051610cc39190611b4b565b60405180910390a25b50506003548114610cef5760405162461bcd60e51b81526004016106ee90611c86565b505050565b600b5481565b610d02611181565b6008544211610d235760405162461bcd60e51b81526004016106ee90611ba6565b600a8190556040517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3906104d3908390611b4b565b6000600f5460001415610d6e5750600c54610557565b61059d610da3600f5461043c670de0b6b3a7640000610d97600954610d97600b5461040b610b13565b9063ffffffff6110e616565b600c549063ffffffff61115c16565b6007546001600160a01b031681565b6000610dcb6111c3565b6001600160a01b0316336001600160a01b031614905080610dfe5760405162461bcd60e51b81526004016106ee90611ca6565b600380546001019081905560055460ff1615610e2c5760405162461bcd60e51b81526004016106ee90611c56565b83610e35610d58565b600c55610e40610b13565b600b556001600160a01b03811615610e8757610e5b816103c4565b6001600160a01b0382166000908152600e6020908152604080832093909355600c54600d909152919020555b60008411610ea75760405162461bcd60e51b81526004016106ee90611bc6565b600f54610eba908563ffffffff61115c16565b600f556001600160a01b038516600090815260106020526040902054610ee6908563ffffffff61115c16565b6001600160a01b038616600081815260106020526040908190209290925590517fc3d87d134210f5b3ee2418004c5f887bf335f79829d32e72ba5f282baccc859190610f33908790611b4b565b60405180910390a2506003548114610f5d5760405162461bcd60e51b81526004016106ee90611c86565b50505050565b600c5481565b60085481565b6000610f796111c3565b6001600160a01b0316336001600160a01b031614905080610fac5760405162461bcd60e51b81526004016106ee90611ca6565b600380546001019081905583610fc0610d58565b600c55610fcb610b13565b600b556001600160a01b0381161561101257610fe6816103c4565b6001600160a01b0382166000908152600e6020908152604080832093909355600c54600d909152919020555b600084116110325760405162461bcd60e51b81526004016106ee90611c26565b600f54611045908563ffffffff6110be16565b600f556001600160a01b038516600090815260106020526040902054611071908563ffffffff6110be16565b6001600160a01b038616600081815260106020526040908190209290925590517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d590610f33908790611b4b565b6000828211156110e05760405162461bcd60e51b81526004016106ee90611bf6565b50900390565b6000826110f557506000610454565b8282028284828161110257fe5b04146111205760405162461bcd60e51b81526004016106ee90611c36565b9392505050565b60008082116111485760405162461bcd60e51b81526004016106ee90611c06565b600082848161115357fe5b04949350505050565b6000828201838110156111205760405162461bcd60e51b81526004016106ee90611bd6565b6000546001600160a01b031633146111ab5760405162461bcd60e51b81526004016106ee90611c16565b565b60008183106111bc5781611120565b5090919050565b600061059d6e10dbdb1b185d195c985b14da1bdc9d608a1b611239565b604051610cef90849063a9059cbb60e01b906112029086908690602401611b11565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261129d565b60008181526006602090815260408083205490516001600160a01b03909116918215159161126991869101611abd565b604051602081830303815290604052906112965760405162461bcd60e51b81526004016106ee9190611b95565b5092915050565b6112af826001600160a01b0316611382565b6112cb5760405162461bcd60e51b81526004016106ee90611c96565b60006060836001600160a01b0316836040516112e79190611ab1565b6000604051808303816000865af19150503d8060008114611324576040519150601f19603f3d011682016040523d82523d6000602084013e611329565b606091505b50915091508161134b5760405162461bcd60e51b81526004016106ee90611be6565b805115610f5d57808060200190516113669190810190611466565b610f5d5760405162461bcd60e51b81526004016106ee90611c76565b3b151590565b803561045481611d2b565b805161045481611d2b565b803561045481611d3f565b805161045481611d3f565b803561045481611d48565b805161045481611d48565b6000602082840312156113dc57600080fd5b60006113e88484611388565b949350505050565b60006020828403121561140257600080fd5b60006113e88484611393565b6000806040838503121561142157600080fd5b600061142d8585611388565b925050602061143e858286016113b4565b9150509250929050565b60006020828403121561145a57600080fd5b60006113e8848461139e565b60006020828403121561147857600080fd5b60006113e884846113a9565b60006020828403121561149657600080fd5b60006113e884846113b4565b6000602082840312156114b457600080fd5b60006113e884846113bf565b60006114cc8383611545565b505060200190565b6114dd81611cce565b82525050565b60006114ee82611cbc565b6114f88185611cc0565b935061150383611cb6565b8060005b8381101561153157815161151b88826114c0565b975061152683611cb6565b925050600101611507565b509495945050505050565b6114dd81611cd9565b6114dd81610557565b6114dd61155a82610557565b610557565b600061156a82611cbc565b6115748185611cc9565b9350611584818560208601611cf5565b9290920192915050565b6114dd81611cea565b60006115a282611cbc565b6115ac8185611cc0565b93506115bc818560208601611cf5565b6115c581611d21565b9093019392505050565b60006115dc605883611cc0565b7f50726576696f7573207265776172647320706572696f64206d7573742062652081527f636f6d706c657465206265666f7265206368616e67696e67207468652064757260208201527f6174696f6e20666f7220746865206e657720706572696f640000000000000000604082015260600192915050565b6000611661603583611cc0565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006116b8600e83611cc0565b6d043616e6e6f74207374616b6520360941b815260200192915050565b60006116e2601b83611cc0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061171b602083611cc0565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000611754601e83611cc0565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061178d601a83611cc0565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006117c6601183611cc9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006117f3602f83611cc0565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611844601183611cc0565b70043616e6e6f74207769746864726177203607c1b815260200192915050565b6000611871602183611cc0565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006118b4601883611cc0565b7f50726f76696465642072657761726420746f6f20686967680000000000000000815260200192915050565b60006118ed603c83611cc0565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b600061194c601983611cc9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611985602a83611cc0565b7f43616c6c6572206973206e6f742052657761726473446973747269627574696f8152691b8818dbdb9d1c9858dd60b21b602082015260400192915050565b60006119d1602a83611cc0565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000611a1d601f83611cc0565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000611a56601f83611cc0565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b6000611a8f601383611cc0565b7213db9b1e4814da1bdc9d0810dbdb9d1c9858dd606a1b815260200192915050565b6000611120828461155f565b6000611ac8826117b9565b9150611ad4828461154e565b50602001919050565b6000611ac88261193f565b6020810161045482846114d4565b60408101611b0482856114d4565b61112060208301846114d4565b60408101611b1f82856114d4565b6111206020830184611545565b6020808252810161112081846114e3565b60208101610454828461153c565b602081016104548284611545565b60408101611b048285611545565b60408101611b758285611545565b81810360208301526113e88184611597565b60208101610454828461158e565b602080825281016111208184611597565b60208082528101610454816115cf565b6020808252810161045481611654565b60208082528101610454816116ab565b60208082528101610454816116d5565b602080825281016104548161170e565b6020808252810161045481611747565b6020808252810161045481611780565b60208082528101610454816117e6565b6020808252810161045481611837565b6020808252810161045481611864565b60208082528101610454816118a7565b60208082528101610454816118e0565b6020808252810161045481611978565b60208082528101610454816119c4565b6020808252810161045481611a10565b6020808252810161045481611a49565b6020808252810161045481611a82565b60200190565b5190565b90815260200190565b919050565b600061045482611cde565b151590565b6001600160a01b031690565b600061045482611cce565b60005b83811015611d10578181015183820152602001611cf8565b83811115610f5d5750506000910152565b601f01601f191690565b611d3481611cce565b811461055057600080fd5b611d3481611cd9565b611d348161055756fea365627a7a72315820399c602140bd49c6cd78010b6c83eb4a3e0217cf29c2728a13ab7ed21c40e5ed6c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"address","name":"_rewardsDistribution","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Enrol","type":"event","signature":"0xc3d87d134210f5b3ee2418004c5f887bf335f79829d32e72ba5f282baccc8591"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event","signature":"0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event","signature":"0xde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event","signature":"0xe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"RewardsDurationUpdated","type":"event","signature":"0xfb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event","signature":"0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x008cc262"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"enrol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xdb454a51"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xc00007b0"},{"constant":true,"inputs":[],"name":"getRewardForDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x1c1f78eb"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x91b4ded9"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x80faa57d"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xc8f33c91"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x3c6b16ab"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c975abb"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xebe2b12b"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xcd3daf9d"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdf136d65"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7b0a47ee"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0700037d"},{"constant":true,"inputs":[],"name":"rewardsDistribution","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3fc6df6e"},{"constant":true,"inputs":[],"name":"rewardsDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x386a9525"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xd1af0c7d"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16c38b3c"},{"constant":false,"inputs":[{"internalType":"address","name":"_rewardsDistribution","type":"address"}],"name":"setRewardsDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x19762143"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rewardsDuration","type":"uint256"}],"name":"setRewardsDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xcc1a378f"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18160ddd"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8b876347"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xf3fef3a3"}],"source":{"keccak256":"0xff9b3bd33ceece6255032e9becb94e0ac28d6c7b7e5310f6329a86dc5b380fae","urls":["bzz-raw://f14dad4667587d2cf51ca21e8ad2dafc6567460da0d548bc4264431d63c46fb3","dweb:/ipfs/QmZw77YrvmFDoosxSwKV8cDCEdgZr1W4Jm1Q9rhfoLkXkk"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ShortingRewards.sol":"ShortingRewards"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"ShortingRewards.sol":{"keccak256":"0xff9b3bd33ceece6255032e9becb94e0ac28d6c7b7e5310f6329a86dc5b380fae","urls":["bzz-raw://f14dad4667587d2cf51ca21e8ad2dafc6567460da0d548bc4264431d63c46fb3","dweb:/ipfs/QmZw77YrvmFDoosxSwKV8cDCEdgZr1W4Jm1Q9rhfoLkXkk"]}},"version":1}},"VirtualSynthMastercopy":{"bytecode":"60806040526004805460ff60a01b191690556008805460ff1916905534801561002757600080fd5b506008805460ff19166001179055611371806100446000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80633db3dc9b116100c35780638f7758391161007c5780638f775839146103c657806395d89b41146103ce578063a457c2d7146103d6578063a9059cbb14610402578063dbd06c851461042e578063dd62ed3e1461043657610158565b80633db3dc9b1461031e5780634be37cea146103265780636a256b291461032e57806370a082311461035657806378f2ac261461037c5780638d7017d31461038457610158565b806323b872dd1161011557806323b872dd146102685780632c4e722e1461029e578063313ce567146102a6578063378dc3dc146102c457806339509351146102cc5780633af9e669146102f857610158565b806304f3bcec1461015d57806306fdde0314610181578063095ea7b3146101fe578063115f4fee1461023e578063158ef93e1461024657806318160ddd1461024e575b600080fd5b610165610464565b604080516001600160a01b039092168252519081900360200190f35b610189610473565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c35781810151838201526020016101ab565b50505050905090810190601f1680156101f05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61022a6004803603604081101561021457600080fd5b506001600160a01b0381351690602001356104ad565b604080519115158252519081900360200190f35b6101656104c4565b61022a6104d3565b6102566104dc565b60408051918252519081900360200190f35b61022a6004803603606081101561027e57600080fd5b506001600160a01b038135811691602081013590911690604001356104e2565b610256610539565b6102ae610548565b6040805160ff9092168252519081900360200190f35b61025661054d565b61022a600480360360408110156102e257600080fd5b506001600160a01b038135169060200135610553565b6102566004803603602081101561030e57600080fd5b50356001600160a01b031661058f565b61025661059a565b6102566105a0565b6103546004803603602081101561034457600080fd5b50356001600160a01b03166105aa565b005b6102566004803603602081101561036c57600080fd5b50356001600160a01b031661065e565b61022a610679565b610354600480360360a081101561039a57600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060800135610689565b61022a610736565b610189610746565b61022a600480360360408110156103ec57600080fd5b506001600160a01b038135169060200135610772565b61022a6004803603604081101561041857600080fd5b506001600160a01b0381351690602001356107ae565b6102566107bb565b6102566004803603604081101561044c57600080fd5b506001600160a01b03813581169160200135166107c1565b6004546001600160a01b031681565b600754604080516d02b34b93a3ab0b61029bcb73a34160951b6020820152602e8082019390935281518082039093018352604e0190525b90565b60006104ba3384846107ec565b5060015b92915050565b6003546001600160a01b031681565b60085460ff1681565b60025490565b60006104ef8484846108d8565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461052f91869161052a908663ffffffff610a1a16565b6107ec565b5060019392505050565b6000610543610a77565b905090565b601281565b60055481565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104ba91859061052a908663ffffffff610c1716565b60006104be82610c78565b60065481565b6000610543610c9e565b6105b2610d38565b6003546001600160a01b031663a9059cbb826105cd81610c78565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561061c57600080fd5b505af1158015610630573d6000803e3d6000fd5b505050506040513d602081101561064657600080fd5b5061065b9050816106568161065e565b610eb8565b50565b6001600160a01b031660009081526020819052604090205490565b6000610683610c9e565b15905090565b60085460ff16156106e1576040805162461bcd60e51b815260206004820152601a60248201527f7653796e746820616c726561647920696e697469616c697a6564000000000000604482015290519081900360640190fd5b6008805460ff19166001179055600380546001600160a01b038088166001600160a01b0319928316179092556004805492871692909116919091179055600781905561072d8383610f91565b50600555505050565b600454600160a01b900460ff1681565b60075460408051603b60f91b602082015260218082019390935281518082039093018352604101905290565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104ba91859061052a908663ffffffff610a1a16565b60006104ba3384846108d8565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166108315760405162461bcd60e51b81526004018080602001828103825260248152602001806113196024913960400191505060405180910390fd5b6001600160a01b0382166108765760405162461bcd60e51b81526004018080602001828103825260228152602001806112906022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661091d5760405162461bcd60e51b81526004018080602001828103825260258152602001806112f46025913960400191505060405180910390fd5b6001600160a01b0382166109625760405162461bcd60e51b815260040180806020018281038252602381526020018061126d6023913960400191505060405180910390fd5b6001600160a01b03831660009081526020819052604090205461098b908263ffffffff610a1a16565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546109c0908263ffffffff610c1716565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610a71576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600060055460001415610a8c575060006104aa565b600454600090600160a01b900460ff16610bf857600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610aeb57600080fd5b505afa158015610aff573d6000803e3d6000fd5b505050506040513d6020811015610b1557600080fd5b50519050600080610b24611081565b6001600160a01b03166319d5c665306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610b8357600080fd5b505afa158015610b97573d6000803e3d6000fd5b505050506040513d6060811015610bad57600080fd5b50805160209091015190925090508115610bd857610bd1838363ffffffff610a1a16565b9250610bf1565b8015610bf157610bee838263ffffffff610c1716565b92505b5050610bfd565b506006545b600554610c1190829063ffffffff61111016565b91505090565b600082820183811015610c71576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080610c848361065e565b9050610c71610c91610a77565b829063ffffffff61112516565b6000610ca8611081565b6001600160a01b031663059c29ec306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015610d0757600080fd5b505afa158015610d1b573d6000803e3d6000fd5b505050506040513d6020811015610d3157600080fd5b5051905090565b600454600160a01b900460ff1615610d4f57610eb6565b6004805460ff60a01b1916600160a01b179055610d6a611081565b6001600160a01b0316631b16802c306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015610dcb57600080fd5b505af1158015610ddf573d6000803e3d6000fd5b505050506040513d6060811015610df557600080fd5b5050600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610e4257600080fd5b505afa158015610e56573d6000803e3d6000fd5b505050506040513d6020811015610e6c57600080fd5b50516006557ff5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62610e9a6104dc565b6006546040805192835260208301919091528051918290030190a15b565b6001600160a01b038216610efd5760405162461bcd60e51b81526004018080602001828103825260218152602001806112d36021913960400191505060405180910390fd5b600254610f10908263ffffffff610a1a16565b6002556001600160a01b038216600090815260208190526040902054610f3c908263ffffffff610a1a16565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b038216610fec576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610fff908263ffffffff610c1716565b6002556001600160a01b03821660009081526020819052604090205461102b908263ffffffff610c1716565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600480546040805163dacb2d0160e01b81526822bc31b430b733b2b960b91b9381019390935260248301819052601c60448401527f45786368616e67657220636f6e7472616374206e6f7420666f756e64000000006064840152516000926001600160a01b039092169163dacb2d01916084808301926020929190829003018186803b158015610d0757600080fd5b6000610c718383670de0b6b3a764000061113a565b6000610c718383670de0b6b3a764000061117e565b6000806111608461115487600a870263ffffffff6111a916565b9063ffffffff61120216565b90506005600a825b061061117257600a015b600a9004949350505050565b600080600a8304611195868663ffffffff6111a916565b8161119c57fe5b0490506005600a82611168565b6000826111b8575060006104be565b828202828482816111c557fe5b0414610c715760405162461bcd60e51b81526004018080602001828103825260218152602001806112b26021913960400191505060405180910390fd5b6000808211611258576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161126357fe5b0494935050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820afc837addf59581a854535d2c0e6006f3c148d47ef7af8204abb8c3335aecfa764736f6c63430005100032","abi":[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event","signature":"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"totalSupply","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAfterSettled","type":"uint256"}],"name":"Settled","type":"event","signature":"0xf5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event","signature":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdd62ed3e"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x095ea7b3"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x70a08231"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOfUnderlying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3af9e669"},{"constant":true,"inputs":[],"name":"currencyKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xdbd06c85"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x313ce567"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa457c2d7"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x39509351"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x378dc3dc"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"_synth","type":"address"},{"internalType":"contract IAddressResolver","name":"_resolver","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x8d7017d3"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x158ef93e"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x06fdde03"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2c4e722e"},{"constant":true,"inputs":[],"name":"readyToSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x78f2ac26"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract IAddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"secsLeftInWaitingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x4be37cea"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"settle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x6a256b29"},{"constant":true,"inputs":[],"name":"settled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8f775839"},{"constant":true,"inputs":[],"name":"settledAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3db3dc9b"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x95d89b41"},{"constant":true,"inputs":[],"name":"synth","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x115f4fee"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18160ddd"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa9059cbb"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x23b872dd"}],"source":{"keccak256":"0xac5507c03171e54910218c5da4876e475e129a808af8b3050b81b3990ea73089","urls":["bzz-raw://8ae8b19f0c740450bf7e86230287564eef8f19f5f1dbdb3d982d5f93a5361c18","dweb:/ipfs/QmQ2x57ErArvnZmSAjXiEeq7CC8FdLqymndfaY9pTQR2wG"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"VirtualSynthMastercopy.sol":"VirtualSynthMastercopy"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"VirtualSynthMastercopy.sol":{"keccak256":"0xac5507c03171e54910218c5da4876e475e129a808af8b3050b81b3990ea73089","urls":["bzz-raw://8ae8b19f0c740450bf7e86230287564eef8f19f5f1dbdb3d982d5f93a5361c18","dweb:/ipfs/QmQ2x57ErArvnZmSAjXiEeq7CC8FdLqymndfaY9pTQR2wG"]}},"version":1}},"SynthetixBridgeEscrow":{"bytecode":"608060405234801561001057600080fd5b506040516107ab3803806107ab8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506106b1806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631627540c1461005c57806338e499cd1461008457806353a47bb7146100ba57806379ba5097146100de5780638da5cb5b146100e6575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b03166100ee565b005b6100826004803603606081101561009a57600080fd5b506001600160a01b0381358116916020810135909116906040013561014a565b6100c26101b7565b604080516001600160a01b039092168252519081900360200190f35b6100826101c6565b6100c2610282565b6100f6610291565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610152610291565b61016c6001600160a01b038416838363ffffffff6102dc16565b604080516001600160a01b038581168252602082018490528251908516927f303c1899feacd9139708637ad42646489d4e1be45f252b25b53561e934d74712928290030190a2505050565b6001546001600160a01b031681565b6001546001600160a01b0316331461020f5760405162461bcd60e51b81526004018080602001828103825260358152602001806105b96035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000546001600160a01b031633146102da5760405162461bcd60e51b815260040180806020018281038252602f8152602001806105ee602f913960400191505060405180910390fd5b565b801580610362575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561033457600080fd5b505afa158015610348573d6000803e3d6000fd5b505050506040513d602081101561035e57600080fd5b5051155b61039d5760405162461bcd60e51b81526004018080602001828103825260368152602001806106476036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526103ef9084906103f4565b505050565b610406826001600160a01b03166105b2565b610457576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106104955780518252601f199092019160209182019101610476565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146104f7576040519150601f19603f3d011682016040523d82523d6000602084013e6104fc565b606091505b509150915081610553576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156105ac5780806020019051602081101561056f57600080fd5b50516105ac5760405162461bcd60e51b815260040180806020018281038252602a81526020018061061d602a913960400191505060405180910390fd5b50505050565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a265627a7a72315820d751dacdb9bfed2e9a8d57571fee12c0cf6653229d53237d56c0c20b99b42d2c64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_token","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"BridgeApproval","type":"event","signature":"0x303c1899feacd9139708637ad42646489d4e1be45f252b25b53561e934d74712"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_bridge","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approveBridge","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x38e499cd"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"}],"source":{"keccak256":"0xb2c7f7c807bc4783ed66f959cb3335f1b77727bf4d074e3319992842eca64235","urls":["bzz-raw://1987da1be2d9260ee8a6fae5a1047199d83e8312d26404406c22d9da53b25985","dweb:/ipfs/QmQDY5wJmTdwRq8gkKFHV8vpgffb1Q7nDvEHxKx6nDWXA6"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SynthetixBridgeEscrow.sol":"SynthetixBridgeEscrow"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SynthetixBridgeEscrow.sol":{"keccak256":"0xb2c7f7c807bc4783ed66f959cb3335f1b77727bf4d074e3319992842eca64235","urls":["bzz-raw://1987da1be2d9260ee8a6fae5a1047199d83e8312d26404406c22d9da53b25985","dweb:/ipfs/QmQDY5wJmTdwRq8gkKFHV8vpgffb1Q7nDvEHxKx6nDWXA6"]}},"version":1}},"EtherWrapper":{"bytecode":"608060405260006006556000600755600060085534801561001f57600080fd5b506040516123403803806123408339818101604052606081101561004257600080fd5b50805160208201516040909201519091908180846001600160a01b0381166100b1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031661015b576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60038054610100600160a81b0319166101006001600160a01b0393841602179055600580546001600160a01b03191693909116929092179091555061219791508190506101a96000396000f3fe6080604052600436106101815760003560e01c80635cfc1a51116100d1578063899ffef41161008a578063a02a76f111610064578063a02a76f1146104a4578063a0712d68146104b9578063bb57ad20146104e3578063ee5f3f5c146104f857610181565b8063899ffef4146104155780638da5cb5b1461047a57806391b4ded91461048f57610181565b80635cfc1a511461038257806368eb5e4f146103975780636ad88269146103ac57806374185360146103d657806375d920a9146103eb57806379ba50971461040057610181565b80632af64bd31161013e578063509bf42a11610118578063509bf42a1461031957806353a47bb71461032e5780635c095e54146103435780635c975abb1461036d57610181565b80632af64bd3146102b15780633fc8cef3146102da57806342966c68146102ef57610181565b806302814b86146101ce57806304f3bcec146101f55780630902f1ac146102265780631627540c1461023b57806316c38b3c1461027057806318819a311461029c575b6040805162461bcd60e51b815260206004820152601d60248201527f46616c6c6261636b2064697361626c65642c20757365206d696e742829000000604482015290519081900360640190fd5b3480156101da57600080fd5b506101e361050d565b60408051918252519081900360200190f35b34801561020157600080fd5b5061020a61051d565b604080516001600160a01b039092168252519081900360200190f35b34801561023257600080fd5b506101e3610531565b34801561024757600080fd5b5061026e6004803603602081101561025e57600080fd5b50356001600160a01b03166105ad565b005b34801561027c57600080fd5b5061026e6004803603602081101561029357600080fd5b50351515610609565b3480156102a857600080fd5b506101e3610683565b3480156102bd57600080fd5b506102c661068d565b604080519115158252519081900360200190f35b3480156102e657600080fd5b5061020a61079d565b3480156102fb57600080fd5b5061026e6004803603602081101561031257600080fd5b50356107ac565b34801561032557600080fd5b506101e3610912565b34801561033a57600080fd5b5061020a61091c565b34801561034f57600080fd5b506101e36004803603602081101561036657600080fd5b503561092b565b34801561037957600080fd5b506102c661094b565b34801561038e57600080fd5b506101e3610954565b3480156103a357600080fd5b506101e3610997565b3480156103b857600080fd5b506101e3600480360360208110156103cf57600080fd5b503561099d565b3480156103e257600080fd5b5061026e6109aa565b3480156103f757600080fd5b506101e3610b87565b34801561040c57600080fd5b5061026e610b8d565b34801561042157600080fd5b5061042a610c49565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561046657818101518382015260200161044e565b505050509050019250505060405180910390f35b34801561048657600080fd5b5061020a610d49565b34801561049b57600080fd5b506101e3610d58565b3480156104b057600080fd5b506101e3610d5e565b3480156104c557600080fd5b5061026e600480360360208110156104dc57600080fd5b5035610d64565b3480156104ef57600080fd5b5061026e610f9d565b34801561050457600080fd5b506101e3611395565b600061051761141c565b90505b90565b60035461010090046001600160a01b031681565b600554604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561057c57600080fd5b505afa158015610590573d6000803e3d6000fd5b505050506040513d60208110156105a657600080fd5b5051905090565b6105b5611497565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610611611497565b60035460ff161515811515141561062757610680565b6003805460ff1916821515179081905560ff161561064457426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60006105176114e2565b60006060610699610c49565b905060005b81518110156107945760008282815181106106b557fe5b602090810291909101810151600081815260048084526040918290205460035483516321f8a72160e01b815292830185905292519395506001600160a01b039081169461010090930416926321f8a72192602480840193919291829003018186803b15801561072357600080fd5b505afa158015610737573d6000803e3d6000fd5b505050506040513d602081101561074d57600080fd5b50516001600160a01b031614158061077a57506000818152600460205260409020546001600160a01b0316155b1561078b576000935050505061051a565b5060010161069e565b50600191505090565b6005546001600160a01b031690565b60035460ff16156107ee5760405162461bcd60e51b815260040180806020018281038252603c8152602001806120c9603c913960400191505060405180910390fd5b60006107f8610531565b9050600081116108395760405162461bcd60e51b815260040180806020018281038252603881526020018061212b6038913960400191505060405180910390fd5b60006108d26108c5610849610912565b73__$d4f9e2232a762468832913f371b83514a4$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561088d57600080fd5b505af41580156108a1573d6000803e3d6000fd5b505050506040513d60208110156108b757600080fd5b50519063ffffffff61156816565b849063ffffffff6115c916565b9050818110156108eb576108e681846115de565b61090d565b61090d826109086108fb8561099d565b859063ffffffff61156816565b6115de565b505050565b600061051761199b565b6001546001600160a01b031681565b6000610945610938610683565b839063ffffffff611a2116565b92915050565b60035460ff1681565b60008061095f610531565b905061096961050d565b811061097957600091505061051a565b6109918161098561050d565b9063ffffffff611a3616565b91505090565b60065481565b6000610945610938610912565b60606109b4610c49565b905060005b8151811015610b835760008282815181106109d057fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a9b578181015183820152602001610a83565b50505050905090810190601f168015610ac85780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610ae657600080fd5b505afa158015610afa573d6000803e3d6000fd5b505050506040513d6020811015610b1057600080fd5b505160008381526004602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016109b9565b5050565b60085481565b6001546001600160a01b03163314610bd65760405162461bcd60e51b81526004018080602001828103825260358152602001806120446035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610c54611a93565b60408051600580825260c08201909252919250606091906020820160a080388339019050509050680a6f2dce8d0e68aa8960bb1b81600081518110610c9557fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b81600181518110610cbb57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610ce557fe5b6020026020010181815250506524b9b9bab2b960d11b81600381518110610d0857fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110610d2c57fe5b602002602001018181525050610d428282611ae4565b9250505090565b6000546001600160a01b031681565b60025481565b60075481565b60035460ff1615610da65760405162461bcd60e51b815260040180806020018281038252603c8152602001806120c9603c913960400191505060405180910390fd5b60055460408051636eb1769f60e11b815233600482015230602482015290516001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b158015610df757600080fd5b505afa158015610e0b573d6000803e3d6000fd5b505050506040513d6020811015610e2157600080fd5b5051811115610e73576040805162461bcd60e51b8152602060048201526019602482015278082d8d8deeec2dcc6ca40dcdee840d0d2ced040cadcdeeaced603b1b604482015290519081900360640190fd5b600554604080516370a0823160e01b815233600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610ebe57600080fd5b505afa158015610ed2573d6000803e3d6000fd5b505050506040513d6020811015610ee857600080fd5b5051811115610f33576040805162461bcd60e51b815260206004820152601260248201527142616c616e636520697320746f6f206c6f7760701b604482015290519081900360640190fd5b6000610f3d610954565b905060008111610f7e5760405162461bcd60e51b81526004018080602001828103825260268152602001806121056026913960400191505060405180910390fd5b80821015610f9457610f8f82611ba0565b610b83565b610b8381611ba0565b610fa5611dbc565b6001600160a01b0316632528f0fe630e68aa8960e31b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610fef57600080fd5b505afa158015611003573d6000803e3d6000fd5b505050506040513d602081101561101957600080fd5b50511561106d576040805162461bcd60e51b815260206004820152601860248201527f43757272656e6379207261746520697320696e76616c69640000000000000000604482015290519081900360640190fd5b6000611077611dbc565b6001600160a01b031663654a60ac630e68aa8960e31b600854631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156110da57600080fd5b505afa1580156110ee573d6000803e3d6000fd5b505050506040513d602081101561110457600080fd5b50519050611110611dd7565b6001600160a01b0316639dc29fac306008546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561117157600080fd5b505af1158015611185573d6000803e3d6000fd5b50505050600854600654106111ae576008546006546111a99163ffffffff611a3616565b6111b1565b60005b6006556111bc611dee565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561120657600080fd5b505afa15801561121a573d6000803e3d6000fd5b505050506040513d602081101561123057600080fd5b50516001600160a01b031663867904b4611248611e02565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561128057600080fd5b505afa158015611294573d6000803e3d6000fd5b505050506040513d60208110156112aa57600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820185905251604480830192600092919082900301818387803b1580156112f957600080fd5b505af115801561130d573d6000803e3d6000fd5b5050600754611325925090508263ffffffff61156816565b600755611330611e02565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50506000600855505050565b60006105176007546113a5611dbc565b6001600160a01b031663654a60ac630e68aa8960e31b600654631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561140857600080fd5b505afa1580156108a1573d6000803e3d6000fd5b6000611426611e17565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561057c57600080fd5b6000546001600160a01b031633146114e05760405162461bcd60e51b815260040180806020018281038252602f815260200180612079602f913960400191505060405180910390fd5b565b60006114ec611e17565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6574686572577261707065724d696e74466565526174650000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561057c57600080fd5b6000828201838110156115c2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006115c28383670de0b6b3a7640000611e34565b60006115f0828463ffffffff611a3616565b90506115fa611dd7565b60408051636eb1769f60e11b815233600482015230602482015290516001600160a01b03929092169163dd62ed3e91604480820192602092909190829003018186803b15801561164957600080fd5b505afa15801561165d573d6000803e3d6000fd5b505050506040513d602081101561167357600080fd5b50518211156116c5576040805162461bcd60e51b8152602060048201526019602482015278082d8d8deeec2dcc6ca40dcdee840d0d2ced040cadcdeeaced603b1b604482015290519081900360640190fd5b6116cd611dd7565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561172257600080fd5b505afa158015611736573d6000803e3d6000fd5b505050506040513d602081101561174c57600080fd5b5051821115611797576040805162461bcd60e51b815260206004820152601260248201527142616c616e636520697320746f6f206c6f7760701b604482015290519081900360640190fd5b61179f611dd7565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156117fe57600080fd5b505af1158015611812573d6000803e3d6000fd5b50505050826006541061183757600654611832908463ffffffff611a3616565b61183a565b60005b600655611845611dd7565b6001600160a01b031663867904b430836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156118a457600080fd5b505af11580156118b8573d6000803e3d6000fd5b50506008546118d0925090508263ffffffff61156816565b6008556005546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561192757600080fd5b505af115801561193b573d6000803e3d6000fd5b505050506040513d602081101561195157600080fd5b50506040805184815260208101839052808201849052905133917f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c0919081900360600190a2505050565b60006119a5611e17565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6574686572577261707065724275726e466565526174650000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561057c57600080fd5b60006115c28383670de0b6b3a7640000611e78565b600082821115611a8d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611ad557fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611b14578160200160208202803883390190505b50905060005b8351811015611b5657838181518110611b2f57fe5b6020026020010151828281518110611b4357fe5b6020908102919091010152600101611b1a565b5060005b8251811015611b9957828181518110611b6f57fe5b6020026020010151828286510181518110611b8657fe5b6020908102919091010152600101611b5a565b5092915050565b6000611bab8261092b565b90506000611bbf838363ffffffff611a3616565b600554604080516323b872dd60e01b81523360048201523060248201526044810187905290519293506001600160a01b03909116916323b872dd916064808201926020929091908290030181600087803b158015611c1c57600080fd5b505af1158015611c30573d6000803e3d6000fd5b505050506040513d6020811015611c4657600080fd5b50611c519050611dd7565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611cb057600080fd5b505af1158015611cc4573d6000803e3d6000fd5b50505050611cd0611dd7565b6001600160a01b031663867904b430846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611d2f57600080fd5b505af1158015611d43573d6000803e3d6000fd5b5050600854611d5b925090508363ffffffff61156816565b600855600654611d71908463ffffffff61156816565b6006556040805182815260208101849052808201859052905133917f5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d919919081900360600190a2505050565b60006105176c45786368616e6765526174657360981b611ea3565b6000610517680a6f2dce8d0e68aa8960bb1b611ea3565b60006105176524b9b9bab2b960d11b611ea3565b600061051766119959541bdbdb60ca1b611ea3565b60006105176e466c657869626c6553746f7261676560881b611ea3565b600080611e5a84611e4e87600a870263ffffffff611f8016565b9063ffffffff611fd916565b90506005600a825b0610611e6c57600a015b600a9004949350505050565b600080600a8304611e8f868663ffffffff611f8016565b81611e9657fe5b0490506005600a82611e62565b600081815260046020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611b995760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f45578181015183820152602001611f2d565b50505050905090810190601f168015611f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600082611f8f57506000610945565b82820282848281611f9c57fe5b04146115c25760405162461bcd60e51b81526004018080602001828103825260218152602001806120a86021913960400191505060405180910390fd5b600080821161202f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161203a57fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564436f6e747261637420686173206e6f20737061726520636170616369747920746f206d696e74436f6e74726163742063616e6e6f74206275726e207345544820666f7220574554482c20574554482062616c616e6365206973207a65726fa265627a7a7231582061cf11c9011e67bb852831a9194451327609f64ea00fb2b3e9807afbbc48b9d864736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"address payable","name":"_WETH","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"principal","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"Burned","type":"event","signature":"0x4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c0"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"principal","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"Minted","type":"event","signature":"0x5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d919"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event","signature":"0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x42966c68"},{"constant":true,"inputs":[],"name":"burnFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x509bf42a"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calculateBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x6ad88269"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calculateMintFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c095e54"},{"constant":true,"inputs":[],"name":"capacity","outputs":[{"internalType":"uint256","name":"_capacity","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5cfc1a51"},{"constant":false,"inputs":[],"name":"distributeFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xbb57ad20"},{"constant":true,"inputs":[],"name":"feesEscrowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x75d920a9"},{"constant":true,"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x0902f1ac"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x91b4ded9"},{"constant":true,"inputs":[],"name":"maxETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x02814b86"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0xa0712d68"},{"constant":true,"inputs":[],"name":"mintFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x18819a31"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x5c975abb"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"},{"constant":true,"inputs":[],"name":"sETHIssued","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x68eb5e4f"},{"constant":true,"inputs":[],"name":"sUSDIssued","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xa02a76f1"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x16c38b3c"},{"constant":true,"inputs":[],"name":"totalIssuedSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xee5f3f5c"},{"constant":true,"inputs":[],"name":"weth","outputs":[{"internalType":"contract IWETH","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x3fc8cef3"}],"source":{"keccak256":"0xff636098ad63aae110ba03238e110f0b991e74fe2204664f9a17df2b131ab469","urls":["bzz-raw://99af6532a9495790019498b7f3303874c6effd449e8f40a1bce22281882ddf88","dweb:/ipfs/Qmdv1Be94AqU1qvtft6SaryA2B2DhKawXrXxVFTYwPcBez"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"EtherWrapper.sol":"EtherWrapper"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"EtherWrapper.sol":{"keccak256":"0xff636098ad63aae110ba03238e110f0b991e74fe2204664f9a17df2b131ab469","urls":["bzz-raw://99af6532a9495790019498b7f3303874c6effd449e8f40a1bce22281882ddf88","dweb:/ipfs/Qmdv1Be94AqU1qvtft6SaryA2B2DhKawXrXxVFTYwPcBez"]}},"version":1}},"NativeEtherWrapper":{"bytecode":"608060405234801561001057600080fd5b506040516110703803806110708339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050610f4c806101246000396000f3fe6080604052600436106100915760003560e01c806353a47bb71161005957806353a47bb714610152578063741853601461016757806379ba50971461017c578063899ffef4146101915780638da5cb5b146101f657610091565b806304f3bcec146100935780631249c58b146100c45780631627540c146100cc5780632af64bd3146100ff57806342966c6814610128575b005b34801561009f57600080fd5b506100a861020b565b604080516001600160a01b039092168252519081900360200190f35b61009161021a565b3480156100d857600080fd5b50610091600480360360208110156100ef57600080fd5b50356001600160a01b031661051c565b34801561010b57600080fd5b50610114610578565b604080519115158252519081900360200190f35b34801561013457600080fd5b506100916004803603602081101561014b57600080fd5b5035610683565b34801561015e57600080fd5b506100a86109c2565b34801561017357600080fd5b506100916109d1565b34801561018857600080fd5b50610091610b99565b34801561019d57600080fd5b506101a6610c55565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101e25781810151838201526020016101ca565b505050509050019250505060405180910390f35b34801561020257600080fd5b506100a8610ccc565b6002546001600160a01b031681565b348061026d576040805162461bcd60e51b815260206004820181905260248201527f6d73672e76616c7565206d7573742062652067726561746572207468616e2030604482015290519081900360640190fd5b610275610cdb565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156102af57600080fd5b505af11580156102c3573d6000803e3d6000fd5b50505050506102d0610cdb565b6001600160a01b031663095ea7b36102e6610d4e565b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561033657600080fd5b505af115801561034a573d6000803e3d6000fd5b505050506040513d602081101561036057600080fd5b5061036b9050610d4e565b6001600160a01b031663a0712d68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156103b057600080fd5b505af11580156103c4573d6000803e3d6000fd5b505050506103d0610d6d565b6001600160a01b031663a9059cbb336103e7610d6d565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561043c57600080fd5b505afa158015610450573d6000803e3d6000fd5b505050506040513d602081101561046657600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156104b757600080fd5b505af11580156104cb573d6000803e3d6000fd5b505050506040513d60208110156104e157600080fd5b505060408051828152905133917f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe919081900360200190a250565b610524610d84565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006060610584610c55565b905060005b81518110156106795760008282815181106105a057fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d602081101561063257600080fd5b50516001600160a01b031614158061065f57506000818152600360205260409020546001600160a01b0316155b156106705760009350505050610680565b50600101610589565b5060019150505b90565b600081116106d8576040805162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b60006106e2610cdb565b90506106ec610d6d565b604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b0392909216916323b872dd916064808201926020929091908290030181600087803b15801561074457600080fd5b505af1158015610758573d6000803e3d6000fd5b505050506040513d602081101561076e57600080fd5b506107799050610d6d565b6001600160a01b031663095ea7b361078f610d4e565b846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107df57600080fd5b505af11580156107f3573d6000803e3d6000fd5b505050506040513d602081101561080957600080fd5b506108149050610d4e565b6001600160a01b03166342966c68836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561085957600080fd5b505af115801561086d573d6000803e3d6000fd5b5050604080516370a0823160e01b815230600482015290516001600160a01b0385169350632e1a7d4d925083916370a08231916024808301926020929190829003018186803b1580156108bf57600080fd5b505afa1580156108d3573d6000803e3d6000fd5b505050506040513d60208110156108e957600080fd5b5051604080516001600160e01b031960e085901b168152600481019290925251602480830192600092919082900301818387803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b5050604051339250479150600081818185875af1925050503d8060008114610981576040519150601f19603f3d011682016040523d82523d6000602084013e610986565b606091505b50506040805184815290513392507f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df79181900360200190a25050565b6001546001600160a01b031681565b60606109db610c55565b905060005b8151811015610b955760008282815181106109f757fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610aad578181015183820152602001610a95565b50505050905090810190601f168015610ada5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610af857600080fd5b505afa158015610b0c573d6000803e3d6000fd5b505050506040513d6020811015610b2257600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016109e0565b5050565b6001546001600160a01b03163314610be25760405162461bcd60e51b8152600401808060200182810382526035815260200180610eb46035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6040805160028082526060808301845292839291906020830190803883390190505090506b22ba3432b92bb930b83832b960a11b81600081518110610c9657fe5b602002602001018181525050680a6f2dce8d0e68aa8960bb1b81600181518110610cbc57fe5b6020908102919091010152905090565b6000546001600160a01b031681565b6000610ce5610d4e565b6001600160a01b0316633fc8cef36040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1d57600080fd5b505afa158015610d31573d6000803e3d6000fd5b505050506040513d6020811015610d4757600080fd5b5051905090565b6000610d686b22ba3432b92bb930b83832b960a11b610dcf565b905090565b6000610d68680a6f2dce8d0e68aa8960bb1b610dcf565b6000546001600160a01b03163314610dcd5760405162461bcd60e51b815260040180806020018281038252602f815260200180610ee9602f913960400191505060405180910390fd5b565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610eac5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e71578181015183820152602001610e59565b50505050905090810190601f168015610e9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158205440feb76760d81bf7cf1ac0dae8e6f196bbf524ccf55137d94ab5d0b4391e9064736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burned","type":"event","signature":"0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event","signature":"0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Minted","type":"event","signature":"0x30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event","signature":"0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event","signature":"0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x79ba5097"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x42966c68"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x2af64bd3"},{"constant":false,"inputs":[],"name":"mint","outputs":[],"payable":true,"stateMutability":"payable","type":"function","signature":"0x1249c58b"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x1627540c"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x53a47bb7"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x8da5cb5b"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x74185360"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x04f3bcec"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x899ffef4"}],"source":{"keccak256":"0x0a6a96be15d65a9a904c514508fcf6b832c52675d8331f5427535616586d47c4","urls":["bzz-raw://376aff616db161b66d843a242deff1f9f348ef75f0924e756280cfbe7125acd9","dweb:/ipfs/QmajudgLisMKCn7W3unSQUng75z59H1NhT7fp9TAp73Dtb"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"NativeEtherWrapper.sol":"NativeEtherWrapper"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"NativeEtherWrapper.sol":{"keccak256":"0x0a6a96be15d65a9a904c514508fcf6b832c52675d8331f5427535616586d47c4","urls":["bzz-raw://376aff616db161b66d843a242deff1f9f348ef75f0924e756280cfbe7125acd9","dweb:/ipfs/QmajudgLisMKCn7W3unSQUng75z59H1NhT7fp9TAp73Dtb"]}},"version":1}},"SynthRedeemer":{"bytecode":"608060405234801561001057600080fd5b506040516110b03803806110b08339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561104b806100656000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806395a2251f1161007157806395a2251f146101a15780639bc3f269146101c7578063b915ece0146101ed578063d6232e8914610219578063e4dc2aa414610289578063f7888aec146102af576100b4565b806304f3bcec146100b95780632af64bd3146100dd5780633a70599c146100f9578063614d08f8146101275780637418536014610141578063899ffef414610149575b600080fd5b6100c16102dd565b604080516001600160a01b039092168252519081900360200190f35b6100e56102ec565b604080519115158252519081900360200190f35b6101256004803603604081101561010f57600080fd5b506001600160a01b0381351690602001356103f6565b005b61012f610685565b60408051918252519081900360200190f35b610125610699565b610151610864565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561018d578181015183820152602001610175565b505050509050019250505060405180910390f35b610125600480360360208110156101b757600080fd5b50356001600160a01b03166108d0565b61012f600480360360208110156101dd57600080fd5b50356001600160a01b0316610950565b6101256004803603604081101561020357600080fd5b506001600160a01b038135169060200135610962565b6101256004803603602081101561022f57600080fd5b81019060208101813564010000000081111561024a57600080fd5b82018360208201111561025c57600080fd5b8035906020019184602083028401116401000000008311171561027e57600080fd5b509092509050610a2b565b61012f6004803603602081101561029f57600080fd5b50356001600160a01b0316610aba565b61012f600480360360408110156102c557600080fd5b506001600160a01b0381358116916020013516610b5c565b6000546001600160a01b031681565b600060606102f8610864565b905060005b81518110156103ec57600082828151811061031457fe5b602090810291909101810151600081815260018352604080822054915481516321f8a72160e01b81526004810185905291519395506001600160a01b03928316949216926321f8a72192602480840193919291829003018186803b15801561037b57600080fd5b505afa15801561038f573d6000803e3d6000fd5b505050506040513d60208110156103a557600080fd5b50516001600160a01b03161415806103d257506000818152600160205260409020546001600160a01b0316155b156103e357600093505050506103f3565b506001016102fd565b5060019150505b90565b6103fe610bc0565b6001600160a01b03821660009081526002602052604090205482901561046b576040805162461bcd60e51b815260206004820152601b60248201527f53796e746820697320616c726561647920646570726563617465640000000000604482015290519081900360640190fd5b600082116104c0576040805162461bcd60e51b815260206004820152601b60248201527f4e6f207261746520666f722073796e746820746f2072656465656d0000000000604482015290519081900360640190fd5b6000836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fb57600080fd5b505afa15801561050f573d6000803e3d6000fd5b505050506040513d602081101561052557600080fd5b50519050600061053b828563ffffffff610c2f16565b905080610546610c59565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561059b57600080fd5b505afa1580156105af573d6000803e3d6000fd5b505050506040513d60208110156105c557600080fd5b5051101561061a576040805162461bcd60e51b815260206004820152601b60248201527f73555344206d75737420666972737420626520737570706c6965640000000000604482015290519081900360640190fd5b6001600160a01b0380841660009081526002602090815260409182902087905581519288168352820186905281810184905260608201839052517f729d5d4b6f2f5105eb1f707c4929870479e07c211953ef7014da9463fb15d88a9181900360800190a15050505050565b6c29bcb73a342932b232b2b6b2b960991b81565b60606106a3610864565b905060005b81518110156108605760008282815181106106bf57fe5b60209081029190910181015160008054604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818701526039808201869052825180830390910181526059820180845263dacb2d0160e01b9052605d8201868152607d83019384528151609d840152815196985094966001600160a01b039094169563dacb2d0195899592949093909260bd90910191908501908083838c5b83811015610778578181015183820152602001610760565b50505050905090810190601f1680156107a55780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156107c357600080fd5b505afa1580156107d7573d6000803e3d6000fd5b505050506040513d60208110156107ed57600080fd5b505160008381526001602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016106a8565b5050565b60408051600280825260608083018452926020830190803883390190505090506524b9b9bab2b960d11b8160008151811061089b57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b816001815181106108c157fe5b60200260200101818152505090565b604080516370a0823160e01b8152336004820152905161094d9183916001600160a01b038316916370a08231916024808301926020929190829003018186803b15801561091c57600080fd5b505afa158015610930573d6000803e3d6000fd5b505050506040513d602081101561094657600080fd5b5051610c75565b50565b60026020526000908152604090205481565b604080516370a0823160e01b8152336004820152905182916001600160a01b038516916370a0823191602480820192602092909190829003018186803b1580156109ab57600080fd5b505afa1580156109bf573d6000803e3d6000fd5b505050506040513d60208110156109d557600080fd5b50511015610a21576040805162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6108608282610c75565b60005b81811015610ab557610aad838383818110610a4557fe5b905060200201356001600160a01b0316848484818110610a6157fe5b604080516370a0823160e01b81523360048201529051602092830294909401356001600160a01b0316936370a08231935060248083019392829003018186803b15801561091c57600080fd5b600101610a2e565b505050565b6000610b5660026000846001600160a01b03166001600160a01b0316815260200190815260200160002054836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1e57600080fd5b505afa158015610b32573d6000803e3d6000fd5b505050506040513d6020811015610b4857600080fd5b50519063ffffffff610c2f16565b92915050565b6001600160a01b0380831660008181526002602090815260408083205481516370a0823160e01b8152958716600487015290519294610bb994919391926370a0823192602480840193829003018186803b158015610b1e57600080fd5b9392505050565b610bc8610ea4565b6001600160a01b0316336001600160a01b031614610c2d576040805162461bcd60e51b815260206004820152601d60248201527f5265737472696374656420746f2049737375657220636f6e7472616374000000604482015290519081900360640190fd5b565b6000670de0b6b3a7640000610c4a848463ffffffff610eb816565b81610c5157fe5b049392505050565b6000610c706814de5b9d1a1cd554d160ba1b610f11565b905090565b6001600160a01b03821660009081526002602052604090205480610cd7576040805162461bcd60e51b815260206004820152601460248201527353796e7468206e6f742072656465656d61626c6560601b604482015290519081900360640190fd5b60008211610d2c576040805162461bcd60e51b815260206004820152601d60248201527f4e6f2062616c616e6365206f662073796e746820746f2072656465656d000000604482015290519081900360640190fd5b610d34610ea4565b604080516335a1b01b60e21b81526001600160a01b038681166004830152336024830152604482018690529151929091169163d686c06c9160648082019260009290919082900301818387803b158015610d8d57600080fd5b505af1158015610da1573d6000803e3d6000fd5b505050506000610dba8284610c2f90919063ffffffff16565b9050610dc4610c59565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610e2357600080fd5b505af1158015610e37573d6000803e3d6000fd5b505050506040513d6020811015610e4d57600080fd5b5050604080516001600160a01b03861681523360208201528082018590526060810183905290517f8734fd5c7511ef698c61bce7dd8eefb212edea08cf7d9d4694e223c6f6121aef9181900360800190a150505050565b6000610c706524b9b9bab2b960d11b610f11565b600082610ec757506000610b56565b82820282848281610ed457fe5b0414610bb95760405162461bcd60e51b8152600401808060200182810382526021815260200180610ff66021913960400191505060405180910390fd5b600081815260016020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610fee5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fb3578181015183820152602001610f9b565b50505050905090810190601f168015610fe05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158207084373c27f3352851007e41581f5b04f0c24aaaec5e84f5181357a8fc5134a864736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"synth","type":"address"},{"indexed":false,"internalType":"uint256","name":"rateToRedeem","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSynthSupply","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"supplyInsUSD","type":"uint256"}],"name":"SynthDeprecated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"synth","type":"address"},{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountOfSynth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountInsUSD","type":"uint256"}],"name":"SynthRedeemed","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balanceInsUSD","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"},{"internalType":"uint256","name":"rateToRedeem","type":"uint256"}],"name":"deprecate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20[]","name":"synthProxies","type":"address[]"}],"name":"redeemAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"},{"internalType":"uint256","name":"amountOfSynth","type":"uint256"}],"name":"redeemPartial","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"redemptions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"}],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"supplyInsUSD","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x4d31499235bb64ab5975313a6c9208fad376de17a3d78f8f11e530b6d0f4af0b","urls":["bzz-raw://bf0d27c1716b7e43b2345b15b6cb7218615b0c6aa9e6b8234480b0f4729a65cc","dweb:/ipfs/QmXq4EA3r3JYrWtgXfzjn5DFwapSXmJr6iKutCqgPJenA4"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SynthRedeemer.sol":"SynthRedeemer"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SynthRedeemer.sol":{"keccak256":"0x4d31499235bb64ab5975313a6c9208fad376de17a3d78f8f11e530b6d0f4af0b","urls":["bzz-raw://bf0d27c1716b7e43b2345b15b6cb7218615b0c6aa9e6b8234480b0f4729a65cc","dweb:/ipfs/QmXq4EA3r3JYrWtgXfzjn5DFwapSXmJr6iKutCqgPJenA4"]}},"version":1}},"ExchangeRatesWithDexPricing":{"bytecode":"608060405234801561001057600080fd5b5060405162003923380380620039238339818101604052604081101561003557600080fd5b50805160209091015181818080836001600160a01b03811661009e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b031990921691909117905550505050506137f6806200012d6000396000f3fe608060405234801561001057600080fd5b50600436106102735760003560e01c80636ce66c80116101515780639eab4a37116100c3578063c8e5bbd511610087578063c8e5bbd514610855578063ce8480ea14610922578063d89ee8611461093f578063ed762450146109fd578063f216310714610abf578063fdadbc7e14610adc57610273565b80639eab4a3714610772578063a77715561461077a578063ac82f60814610797578063b295ad34146107b4578063c2c8a676146107e757610273565b80637a018a1e116101155780637a018a1e146106e25780638295016a146106ff5780638661cc7b14610728578063899ffef4146107455780638da5cb5b1461074d57806397a4aca01461075557610273565b80636ce66c801461063c5780637103353e1461068f57806374185360146106ac57806374eded39146106b457806379ba5097146106da57610273565b80632af64bd3116101ea5780634c36b837116101ae5780634c36b837146105d65780634f72def6146105de57806353a47bb7146105fb578063614d08f814610603578063654a60ac1461060b5780636a2b91511461063457610273565b80632af64bd3146105325780632bed9e0c1461053a57806338aa1b99146105575780633f0e084f146105745780634308a94f146105a057610273565b80630c71cd231161023c5780630c71cd23146104485780630ee4951b1461047e578063109e46a2146104985780631627540c146104c75780632528f0fe146104ef5780632678df961461050c57610273565b80629919c01461027857806304f3bcec146102a9578063055286e0146102cd57806305a046e51461031c5780630a7d36d1146103da575b600080fd5b6102956004803603602081101561028e57600080fd5b5035610aff565b604080519115158252519081900360200190f35b6102b1610b1a565b604080516001600160a01b039092168252519081900360200190f35b6102f6600480360360608110156102e357600080fd5b5080359060208101359060400135610b29565b604080519485526020850193909352838301919091526060830152519081900360800190f35b61038a6004803603602081101561033257600080fd5b810190602081018135600160201b81111561034c57600080fd5b82018360208201111561035e57600080fd5b803590602001918460208302840111600160201b8311171561037f57600080fd5b509092509050610be4565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103c65781810151838201526020016103ae565b505050509050019250505060405180910390f35b610295600480360360208110156103f057600080fd5b810190602081018135600160201b81111561040a57600080fd5b82018360208201111561041c57600080fd5b803590602001918460208302840111600160201b8311171561043d57600080fd5b509092509050610c66565b6104656004803603602081101561045e57600080fd5b5035610d19565b6040805192835290151560208301528051918290030190f35b610486610d9e565b60408051918252519081900360200190f35b610486600480360360808110156104ae57600080fd5b5080359060208101359060408101359060600135610dae565b6104ed600480360360208110156104dd57600080fd5b50356001600160a01b0316610df1565b005b6102956004803603602081101561050557600080fd5b5035610e4d565b61038a6004803603602081101561052257600080fd5b50356001600160a01b0316610e6d565b610295610f21565b6104ed6004803603602081101561055057600080fd5b503561102b565b6102956004803603602081101561056d57600080fd5b5035611127565b6104ed6004803603604081101561058a57600080fd5b50803590602001356001600160a01b0316611135565b6105bd600480360360208110156105b657600080fd5b503561137b565b6040805192835260208301919091528051918290030190f35b6102b16113b3565b610486600480360360208110156105f457600080fd5b50356113bd565b6102b16113db565b6104866113ea565b6104866004803603606081101561062157600080fd5b508035906020810135906040013561140e565b610486611426565b610671600480360360a081101561065257600080fd5b5080359060208101359060408101359060608101359060800135611430565b60408051938452602084019290925282820152519081900360600190f35b6102b1600480360360208110156106a557600080fd5b5035611495565b6104ed6114b0565b6104ed600480360360208110156106ca57600080fd5b50356001600160a01b0316611678565b6104ed61175d565b610486600480360360208110156106f857600080fd5b5035611819565b6106716004803603606081101561071557600080fd5b5080359060208101359060400135611824565b6102956004803603602081101561073e57600080fd5b5035611844565b61038a61192d565b6102b161197e565b6104866004803603602081101561076b57600080fd5b503561198d565b6102b1611998565b6104866004803603602081101561079057600080fd5b5035611a43565b610486600480360360208110156107ad57600080fd5b5035611a4e565b6107d1600480360360208110156107ca57600080fd5b5035611a69565b6040805160ff9092168252519081900360200190f35b61038a600480360360208110156107fd57600080fd5b810190602081018135600160201b81111561081757600080fd5b82018360208201111561082957600080fd5b803590602001918460208302840111600160201b8311171561084a57600080fd5b509092509050611a7e565b6108c36004803603602081101561086b57600080fd5b810190602081018135600160201b81111561088557600080fd5b82018360208201111561089757600080fd5b803590602001918460208302840111600160201b831117156108b857600080fd5b509092509050611af6565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b8381101561090d5781810151838201526020016108f5565b50505050905001935050505060405180910390f35b6104866004803603602081101561093857600080fd5b5035611c3d565b6102956004803603604081101561095557600080fd5b810190602081018135600160201b81111561096f57600080fd5b82018360208201111561098157600080fd5b803590602001918460208302840111600160201b831117156109a257600080fd5b919390929091602081019035600160201b8111156109bf57600080fd5b8201836020820111156109d157600080fd5b803590602001918460208302840111600160201b831117156109f257600080fd5b509092509050611c48565b610a2660048036036060811015610a1357600080fd5b5080359060208101359060400135611d4f565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610a6a578181015183820152602001610a52565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610aa9578181015183820152602001610a91565b5050505090500194505050505060405180910390f35b6102b160048036036020811015610ad557600080fd5b5035611e2d565b6105bd60048036036040811015610af257600080fd5b5080359060200135611e38565b6000610b1282610b0d611e51565b611ec9565b90505b919050565b6002546001600160a01b031681565b600080600080610b3a878787611efb565b919450925090506000610b4c88611f4d565b90506000610b5987611f4d565b90506000808315610b6c57859150610b8a565b610b8786610b828d631cd554d160e21b8e612033565b612331565b91505b8215610b97575083610bb5565b610bb285610bad631cd554d160e21b8c8e612033565b612347565b90505b610bd581610bc98c8563ffffffff61235616565b9063ffffffff6123af16565b97505050505093509350935093565b60608083839050604051908082528060200260200182016040528015610c14578160200160208202803883390190505b50905060005b83811015610c5c57610c3d858583818110610c3157fe5b90506020020135612419565b828281518110610c4957fe5b6020908102919091010152600101610c1a565b5090505b92915050565b600080610c71611e51565b90506060610cb185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061243592505050565b905060005b84811015610d0d57818181518110610cca57fe5b602002602001015180610cf45750610cf4868683818110610ce757fe5b9050602002013584611ec9565b15610d055760019350505050610c60565b600101610cb6565b50600095945050505050565b600080610d24613665565b610d2d84612678565b9050631cd554d160e21b841415610d5357516001600160d81b0316915060009050610d99565b8051610d71610d60611e51565b836020015164ffffffffff16612886565b80610d885750610d8885610d836128a1565b612920565b6001600160d81b0390911693509150505b915091565b6000610da8611e51565b90505b90565b600083815b610dc087836001016129fe565b915050801580610dd1575083850181115b15610dde57509050610de9565b600190910190610db3565b949350505050565b610df9612bdd565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610e5b82610b0d611e51565b80610b125750610b1282610d836128a1565b600654604080518281526020808402820101909152606091600091908015610e9f578160200160208202803883390190505b50915060005b600654811015610f1a57600060068281548110610ebe57fe5b600091825260208083209091015480835260049091526040909120549091506001600160a01b039081169086161415610f115780848480600101955081518110610f0457fe5b6020026020010181815250505b50600101610ea5565b5050919050565b60006060610f2d61192d565b905060005b8151811015611022576000828281518110610f4957fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610fb157600080fd5b505afa158015610fc5573d6000803e3d6000fd5b505050506040513d6020811015610fdb57600080fd5b50516001600160a01b031614158061100857506000818152600360205260409020546001600160a01b0316155b156110195760009350505050610dab565b50600101610f32565b50600191505090565b611033612bdd565b6000818152600460205260409020546001600160a01b03168061109d576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b657900000000604482015290519081900360640190fd5b600082815260046020908152604080832080546001600160a01b031916905560059091528120805460ff191690556110d6836006612c28565b9050801561112257604080518481526001600160a01b038416602082015281517fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777929181900390910190a15b505050565b6000610b1282610d836128a1565b61113d612bdd565b60008190506000816001600160a01b031663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561117d57600080fd5b505afa158015611191573d6000803e3d6000fd5b505050506040513d60208110156111a757600080fd5b505110156111fc576040805162461bcd60e51b815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c69640000000000604482015290519081900360640190fd5b6000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561123757600080fd5b505afa15801561124b573d6000803e3d6000fd5b505050506040513d602081101561126157600080fd5b50519050601260ff821611156112a85760405162461bcd60e51b81526004018080602001828103825260328152602001806137906032913960400191505060405180910390fd5b6000848152600460205260409020546001600160a01b03166112fa57600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f018490555b600084815260046020908152604080832080546001600160a01b0319166001600160a01b0387169081179091556005835292819020805460ff191660ff861617905580518781529182019290925281517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63929181900390910190a150505050565b600080611386613665565b61138f84612678565b80516020909101516001600160d81b03909116935064ffffffffff16915050915091565b6000610da86128a1565b600681815481106113ca57fe5b600091825260209091200154905081565b6001546001600160a01b031681565b7f45786368616e676552617465735769746844657850726963696e67000000000081565b600061141b848484611efb565b509095945050505050565b6000610da8612ccc565b600080600061143f88866129fe565b5091508786141561145457508591508061148a565b61145e86856129fe565b509050801561148a576114878161147b898563ffffffff612d4516565b9063ffffffff612d5a16565b92505b955095509592505050565b6004602052600090815260409020546001600160a01b031681565b60606114ba61192d565b905060005b81518110156116745760008282815181106114d657fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561158c578181015183820152602001611574565b50505050905090810190601f1680156115b95780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156115d757600080fd5b505afa1580156115eb573d6000803e3d6000fd5b505050506040513d602081101561160157600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016114bf565b5050565b611680612bdd565b611688612d6f565b604080516309b9412f60e31b81526c45786368616e6765526174657360981b6004820152713232bc283934b1b2a0b3b3b932b3b0ba37b960711b60248201526001600160a01b03848116604483015291519290911691634dca09789160648082019260009290919082900301818387803b15801561170557600080fd5b505af1158015611719573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f8a51d16f378c74938a4b9290afe425bbfba62f05aa9d27bff5e892f62696f7609350908190036020019150a150565b6001546001600160a01b031633146117a65760405162461bcd60e51b81526004018080602001828103825260358152602001806136db6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610b1282612d8c565b6000806000611834868686611efb565b9250925092505b93509350939050565b600081631cd554d160e21b141561185d57506000610b15565b600061186883612e31565b9050600061187584612ee5565b9050811580611882575080155b1561189257600092505050610b15565b60006118a4428463ffffffff612f9916565b905060006118b186612d8c565b90505b8215611921576000806118c788846129fe565b91509150806000141580156118db57508381105b156118ef5760009650505050505050610b15565b8115806118fa575080155b15611906575050611921565b82611912575050611921565b505060001992830192016118b4565b50600195945050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061196f57fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000610b1282612ee5565b60006119a2612d6f565b6001600160a01b0316639ee5955a6c45786368616e6765526174657360981b713232bc283934b1b2a0b3b3b932b3b0ba37b960711b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611a1257600080fd5b505afa158015611a26573d6000803e3d6000fd5b505050506040513d6020811015611a3c57600080fd5b5051905090565b6000610b1282612e31565b6000611a5982612678565b516001600160d81b031692915050565b60056020526000908152604090205460ff1681565b60608083839050604051908082528060200260200182016040528015611aae578160200160208202803883390190505b50905060005b83811015610c5c57611ad7858583818110611acb57fe5b90506020020135611a4e565b828281518110611ae357fe5b6020908102919091010152600101611ab4565b6060600083839050604051908082528060200260200182016040528015611b27578160200160208202803883390190505b5091506000611b34611e51565b90506060611b7486868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061243592505050565b905060005b85811015611c3357611b89613665565b611ba4888884818110611b9857fe5b90506020020135612678565b905080600001516001600160d81b0316868381518110611bc057fe5b60200260200101818152505084158015611bf35750631cd554d160e21b888884818110611be957fe5b9050602002013514155b15611c2a57828281518110611c0457fe5b602002602001015180611c275750611c2784826020015164ffffffffff16612886565b94505b50600101611b79565b5050509250929050565b6000610b1282612419565b6000818414611c885760405162461bcd60e51b81526004018080602001828103825260308152602001806137606030913960400191505060405180910390fd5b6000611c92611e51565b90506060611cd287878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061243592505050565b905060005b86811015611d4157818181518110611ceb57fe5b602002602001015180611d285750611d28888883818110611d0857fe5b90506020020135878784818110611d1b57fe5b9050602002013585612ff6565b15611d395760019350505050610de9565b600101611cd7565b506000979650505050505050565b60608083604051908082528060200260200182016040528015611d7c578160200160208202803883390190505b50915083604051908082528060200260200182016040528015611da9578160200160208202803883390190505b50905060008311611dc257611dbd85612d8c565b611dc4565b825b925060005b84811015611e2357611ddb86856129fe565b848381518110611de757fe5b60200260200101848481518110611dfa57fe5b60209081029190910101919091525283611e145750611e25565b60001990930192600101611dc9565b505b935093915050565b6000610b1282613031565b600080611e4584846129fe565b915091505b9250929050565b6000611e5b612d6f565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611a1257600080fd5b6000631cd554d160e21b831415611ee257506000610c60565b611ef482611eef85612419565b612886565b9392505050565b6000806000611f0986611a4e565b915083861415611f1d57508391508061183b565b611f2684611a4e565b9050801561183b57611f428161147b878563ffffffff612d4516565b925093509350939050565b6000611f57612d6f565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b7f70757265436861696e6c696e6b466f7241746f6d696373456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561200157600080fd5b505afa158015612015573d6000803e3d6000fd5b505050506040513d602081101561202b57600080fd5b505192915050565b600081612087576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b631cd554d160e21b8414806120a25750631cd554d160e21b83145b6120dd5760405162461bcd60e51b81526004018080602001828103825260218152602001806136ba6021913960400191505060405180910390fd5b60006120e885613031565b90506001600160a01b038116612145576040805162461bcd60e51b815260206004820152601f60248201527f4e6f2061746f6d6963206571756976616c656e7420666f7220736f7572636500604482015290519081900360640190fd5b600061215085613031565b90506001600160a01b0381166121ad576040805162461bcd60e51b815260206004820152601d60248201527f4e6f2061746f6d6963206571756976616c656e7420666f722064657374000000604482015290519081900360640190fd5b600061223d85610bc973__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156121fa57600080fd5b505af415801561220e573d6000803e3d6000fd5b505050506040513d602081101561222457600080fd5b505161223187878b6130e5565b9063ffffffff61235616565b905080612291576040805162461bcd60e51b815260206004820152601d60248201527f526573756c74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b85631cd554d160e21b146123245761231f8173__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156122e757600080fd5b505af41580156122fb573d6000803e3d6000fd5b505050506040513d602081101561231157600080fd5b50519063ffffffff612d5a16565b612326565b805b979650505050505050565b60008183106123405781611ef4565b5090919050565b60008183116123405781611ef4565b60008261236557506000610c60565b8282028284828161237257fe5b0414611ef45760405162461bcd60e51b815260040180806020018281038252602181526020018061373f6021913960400191505060405180910390fd5b6000808211612405576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161241057fe5b04949350505050565b600061242482612678565b6020015164ffffffffff1692915050565b606060006124416128a1565b90506001600160a01b03811615612643576060835160405190808252806020026020018201604052801561247f578160200160208202803883390190505b50905060005b84518110156124f4576004600086838151811061249e57fe5b6020026020010151815260200190815260200160002060009054906101000a90046001600160a01b03168282815181106124d457fe5b6001600160a01b0390921660209283029190910190910152600101612485565b50604051631f5c8f2b60e21b81526020600482018181528351602484015283516001600160a01b03861693637d723cac93869392839260440191808601910280838360005b83811015612551578181015183820152602001612539565b505050509050019250505060006040518083038186803b15801561257457600080fd5b505afa158015612588573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156125b157600080fd5b8101908080516040519392919084600160201b8211156125d057600080fd5b9083019060208201858111156125e557600080fd5b82518660208202830111600160201b8211171561260157600080fd5b82525081516020918201928201910280838360005b8381101561262e578181015183820152602001612616565b50505050905001604052505050925050612672565b825160405190808252806020026020018201604052801561266e578160200160208202803883390190505b5091505b50919050565b612680613665565b631cd554d160e21b82141561272457604051806040016040528073__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156126de57600080fd5b505af41580156126f2573d6000803e3d6000fd5b505050506040513d602081101561270857600080fd5b50516001600160d81b0316815260006020909101529050610b15565b6000828152600460205260409020546001600160a01b031680156126725760408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b1781529151815191926000926060926001600160a01b0387169286928291908083835b602083106127a95780518252601f19909201916020918201910161278a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114612809576040519150601f19603f3d011682016040523d82523d6000602084013e61280e565b606091505b5091509150811561287d576000808280602001905160a081101561283157600080fd5b506020810151606090910151604080518082019091529193509150806128578a8561341b565b6001600160d81b031681526020018264ffffffffff168152509650505050505050610b15565b50505050919050565b600042612899838563ffffffff6134c416565b109392505050565b60006128ab612d6f565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611a1257600080fd5b6000631cd554d160e21b83141561293957506000610c60565b6000838152600460205260409020546001600160a01b031680158061296557506001600160a01b038316155b15612974576000915050610c60565b826001600160a01b031663357e47fe826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156129ca57600080fd5b505afa1580156129de573d6000803e3d6000fd5b505050506040513d60208110156129f457600080fd5b5051949350505050565b600080631cd554d160e21b841415612a8b5773__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612a5457600080fd5b505af4158015612a68573d6000803e3d6000fd5b505050506040513d6020811015612a7e57600080fd5b5051915060009050611e4a565b6000848152600460205260409020546001600160a01b03168015612bd55760408051602480820187905282518083039091018152604490910182526020810180516001600160e01b0316639a6fc8f560e01b1781529151815191926000926060926001600160a01b0387169286928291908083835b60208310612b1f5780518252601f199092019160209182019101612b00565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114612b7f576040519150601f19603f3d011682016040523d82523d6000602084013e612b84565b606091505b50915091508115612bd1576000808280602001905160a0811015612ba757600080fd5b5060208101516060909101519092509050612bc28a8361341b565b97509550611e4a945050505050565b5050505b509250929050565b6000546001600160a01b03163314612c265760405162461bcd60e51b815260040180806020018281038252602f815260200180613710602f913960400191505060405180910390fd5b565b6000805b8254811015612cc25783838281548110612c4257fe5b90600052602060002001541415612cba57828181548110612c5f57fe5b6000918252602082200155825483906000198101908110612c7c57fe5b9060005260206000200154838281548110612c9357fe5b6000918252602090912001558254612caf84600019830161367c565b506001915050610c60565b600101612c2c565b5060009392505050565b6000612cd6612d6f565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f61746f6d69635477617057696e646f7760801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611a1257600080fd5b6000611ef48383670de0b6b3a764000061351e565b6000611ef48383670de0b6b3a764000061355b565b6000610da86e466c657869626c6553746f7261676560881b613581565b6000631cd554d160e21b821415612da557506000610b15565b6000828152600460205260409020546001600160a01b0316801561267257806001600160a01b031663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b158015612dfc57600080fd5b505afa158015612e10573d6000803e3d6000fd5b505050506040513d6020811015612e2657600080fd5b50519150610b159050565b6000612e3b612d6f565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561200157600080fd5b6000612eef612d6f565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d6963566f6c5570646174655468726573686f6c640000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561200157600080fd5b600082821115612ff0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000631cd554d160e21b84141561300f57506000611ef4565b600061301b85856129fe565b9150506130288382612886565b95945050505050565b600061303b612d6f565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7f61746f6d69634571756976616c656e74466f7244657850726963696e67000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561200157600080fd5b6000806131df73__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561312f57600080fd5b505af4158015613143573d6000803e3d6000fd5b505050506040513d602081101561315957600080fd5b50516040805163313ce56760e01b81529051610bc9916001600160a01b038a169163313ce56791600480820192602092909190829003018186803b1580156131a057600080fd5b505afa1580156131b4573d6000803e3d6000fd5b505050506040513d60208110156131ca57600080fd5b5051869060ff16600a0a63ffffffff61235616565b905060006131eb612ccc565b90508061323f576040805162461bcd60e51b815260206004820181905260248201527f556e696e697469616c697a65642061746f6d696320747761702077696e646f77604482015290519081900360640190fd5b6000613249611998565b60408051637c66194960e01b81526001600160a01b038a811660048301526024820187905289811660448301526064820186905291519290911691637c66194991608480820192602092909190829003018186803b1580156132aa57600080fd5b505afa1580156132be573d6000803e3d6000fd5b505050506040513d60208110156132d457600080fd5b5051905080613321576040805162461bcd60e51b815260206004820152601460248201527306465782070726963652072657475726e656420360641b604482015290519081900360640190fd5b612326866001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561335d57600080fd5b505afa158015613371573d6000803e3d6000fd5b505050506040513d602081101561338757600080fd5b505160408051630241ebdb60e61b8152905160ff909216600a0a91610bc99173__$e9b11e9f4c77d4fa45acd0743461a141a9$__9163907af6c091600480820192602092909190829003018186803b1580156133e257600080fd5b505af41580156133f6573d6000803e3d6000fd5b505050506040513d602081101561340c57600080fd5b5051849063ffffffff61235616565b600080821215613472576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526005602052604090205460ff1615612672576000838152600560205260408120546134a79060129060ff16612f99565b600a0a90506134bc838263ffffffff61235616565b915050610c60565b600082820183811015611ef4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600a8304613535868663ffffffff61235616565b8161353c57fe5b0490506005600a825b061061354f57600a015b600a9004949350505050565b60008061357584610bc987600a870263ffffffff61235616565b90506005600a82613545565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161365e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561362357818101518382015260200161360b565b50505050905090810190601f1680156136505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b604080518082019091526000808252602082015290565b81548183558181111561112257600083815260209020611122918101908301610dab91905b808211156136b557600081556001016136a1565b509056fe41746f6d6963207377617073206d75737420676f207468726f7567682073555344596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77726f756e64496473206d757374206265207468652073616d65206c656e6774682061732063757272656e63794b65797341676772656761746f7220646563696d616c732073686f756c64206265206c6f776572206f7220657175616c20746f203138a265627a7a72315820d86b5a5b35d8ca35c0664f390dc97f454c78fe261c4ce6d23b625346366e1d0564736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"aggregator","type":"address"}],"name":"AggregatorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"aggregator","type":"address"}],"name":"AggregatorRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newDexPriceAggregator","type":"address"}],"name":"DexPriceAggregatorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"aggregatorAddress","type":"address"}],"name":"addAggregator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"aggregatorKeys","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"aggregatorWarningFlags","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"aggregators","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"anyRateIsInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256[]","name":"roundIds","type":"uint256[]"}],"name":"anyRateIsInvalidAtRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicEquivalentForDexPricing","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"atomicTwapWindow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicVolatilityConsiderationWindow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicVolatilityUpdateThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"name":"currenciesUsingAggregator","outputs":[{"internalType":"bytes32[]","name":"currencies","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"currencyKeyDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dexPriceAggregator","outputs":[{"internalType":"contract IDexPriceAggregator","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"effectiveAtomicValueAndRates","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"systemValue","type":"uint256"},{"internalType":"uint256","name":"systemSourceRate","type":"uint256"},{"internalType":"uint256","name":"systemDestinationRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"effectiveValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"effectiveValueAndRates","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"sourceRate","type":"uint256"},{"internalType":"uint256","name":"destinationRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"name":"effectiveValueAndRatesAtRound","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"sourceRate","type":"uint256"},{"internalType":"uint256","name":"destinationRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"getCurrentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"startingRoundId","type":"uint256"},{"internalType":"uint256","name":"startingTimestamp","type":"uint256"},{"internalType":"uint256","name":"timediff","type":"uint256"}],"name":"getLastRoundIdBeforeElapsedSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"lastRateUpdateTimes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"lastRateUpdateTimesForCurrencies","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateAndInvalid","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"rateAndTimestampAtRound","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateAndUpdatedTime","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateForCurrency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsFlagged","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsStale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rateStalePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"ratesAndInvalidForCurrencies","outputs":[{"internalType":"uint256[]","name":"rates","type":"uint256[]"},{"internalType":"bool","name":"anyRateInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"numRounds","type":"uint256"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"ratesAndUpdatedTimeForCurrencyLastNRounds","outputs":[{"internalType":"uint256[]","name":"rates","type":"uint256[]"},{"internalType":"uint256[]","name":"times","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"ratesForCurrencies","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"removeAggregator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IDexPriceAggregator","name":"_dexPriceAggregator","type":"address"}],"name":"setDexPriceAggregator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"synthTooVolatileForAtomicExchange","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xfec05faecf82227e8f3957c8c66047e96c24defa8fd9e92099bd63b7c905828d","urls":["bzz-raw://b0c1bb5a991a29bf2dd4a0e0a21bb3041682e9e4dda85246a0d0be61e61a9844","dweb:/ipfs/QmWbPy8sTVbBc5BFDBt98LKU9mA5peJEdR6LP9D4aUNsaR"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ExchangeRatesWithDexPricing.sol":"ExchangeRatesWithDexPricing"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"ExchangeRatesWithDexPricing.sol":{"keccak256":"0xfec05faecf82227e8f3957c8c66047e96c24defa8fd9e92099bd63b7c905828d","urls":["bzz-raw://b0c1bb5a991a29bf2dd4a0e0a21bb3041682e9e4dda85246a0d0be61e61a9844","dweb:/ipfs/QmWbPy8sTVbBc5BFDBt98LKU9mA5peJEdR6LP9D4aUNsaR"]}},"version":1}},"ExchangerWithFeeRecAlternatives":{"bytecode":"60806040523480156200001157600080fd5b5060405162005b0838038062005b08833981810160405260408110156200003757600080fd5b50805160209091015181818080836001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b031990921691909117905550505050506159d880620001306000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806357af302c116101045780638da5cb5b116100a2578063c39def0b11610071578063c39def0b14610568578063d6f32e06146105a4578063dc703e73146105d0578063f450aa34146105f9576101cf565b80638da5cb5b1461051c5780638e52049c14610524578063a4bca13114610558578063c193f0d814610560576101cf565b806379ba5097116100de57806379ba5097146104975780637dd1a57a1461049f57806389257117146104bc578063899ffef4146104c4576101cf565b806357af302c1461046a578063614d08f814610487578063741853601461048f576101cf565b80631b16802c11610171578063372a395a1161014b578063372a395a1461039f5780634c268fc8146103a75780634f8633d2146103df57806353a47bb714610462576101cf565b80631b16802c1461030b5780632af64bd31461033757806333a7688014610353576101cf565b80630b9e31c9116101ad5780630b9e31c9146102595780631627540c1461027857806319d5c6651461029e5780631a5c6095146102e8576101cf565b806304f3bcec146101d4578063059c29ec146101f85780630ae81a5e14610236575b600080fd5b6101dc610622565b604080516001600160a01b039092168252519081900360200190f35b6102246004803603604081101561020e57600080fd5b506001600160a01b038135169060200135610631565b60408051918252519081900360200190f35b6102246004803603604081101561024c57600080fd5b50803590602001356106d5565b6102766004803603602081101561026f57600080fd5b50356106e1565b005b6102766004803603602081101561028e57600080fd5b50356001600160a01b0316610805565b6102ca600480360360408110156102b457600080fd5b506001600160a01b038135169060200135610861565b60408051938452602084019290925282820152519081900360600190f35b610224600480360360408110156102fe57600080fd5b508035906020013561087f565b6102ca6004803603604081101561032157600080fd5b506001600160a01b0381351690602001356108dc565b61033f61095d565b604080519115158252519081900360200190f35b610224600480360360e081101561036957600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a08101359060c00135610a68565b610224610bb7565b610224600480360360808110156103bd57600080fd5b506001600160a01b038135169060208101359060408101359060600135610bc6565b61044160048036036101208110156103f657600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a081013582169160c082013515159160e0810135909116906101000135610ce6565b604080519283526001600160a01b0390911660208301528051918290030190f35b6101dc610f0c565b61033f6004803603602081101561048057600080fd5b5035610f1b565b610224610fa0565b610276610fc4565b610276611188565b610224600480360360208110156104b557600080fd5b5035611244565b6102246112c3565b6104cc6112cd565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105085781810151838201526020016104f0565b505050509050019250505060405180910390f35b6101dc611342565b61052c611351565b6040805167ffffffffffffffff90931683526001600160c01b0390911660208301528051918290030190f35b610224611373565b61033f61137d565b61058b6004803603604081101561057e57600080fd5b5080359060200135611387565b6040805192835290151560208301528051918290030190f35b61033f600480360360408110156105ba57600080fd5b506001600160a01b0381351690602001356113a0565b6102ca600480360360608110156105e657600080fd5b50803590602081013590604001356113d2565b6102ca6004803603606081101561060f57600080fd5b50803590602081013590604001356113f5565b6002546001600160a01b031681565b60006106cc61063e611785565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561069b57600080fd5b505afa1580156106af573d6000803e3d6000fd5b505050506040513d60208110156106c557600080fd5b50516117a0565b90505b92915050565b60006106cc83836117ff565b6106e9611847565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561072157600080fd5b505afa158015610735573d6000803e3d6000fd5b505050506000610743611861565b6001600160a01b031663a47af19e836040518263ffffffff1660e01b8152600401808281526020019150506040805180830381600087803b15801561078757600080fd5b505af115801561079b573d6000803e3d6000fd5b505050506040513d60408110156107b157600080fd5b5060200151905080610801576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b5050565b61080d611885565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600080600061087085856118d0565b50919790965090945092505050565b600080600061088e8585611c19565b9150915080156108d4576040805162461bcd60e51b815260206004820152600c60248201526b746f6f20766f6c6174696c6560a01b604482015290519081900360640190fd5b509392505050565b60008060006108e9611847565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561092c57600080fd5b505afa158015610940573d6000803e3d6000fd5b5050505061095085856001611c60565b9250925092509250925092565b600060606109696112cd565b905060005b8151811015610a5e57600082828151811061098557fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156109ed57600080fd5b505afa158015610a01573d6000803e3d6000fd5b505050506040513d6020811015610a1757600080fd5b50516001600160a01b0316141580610a4457506000818152600360205260409020546001600160a01b0316155b15610a555760009350505050610a65565b5060010161096e565b5060019150505b90565b600080610a73611fe5565b9050336001600160a01b0382161480610b005750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610ad157600080fd5b505afa158015610ae5573d6000803e3d6000fd5b505050506040513d6020811015610afb57600080fd5b505114155b610b3b5760405162461bcd60e51b81526004018080602001828103825260458152602001806158ec6045913960600191505060405180910390fd5b6000610b4a8a8a8a8a8a611ffc565b909350905083831015610b8e5760405162461bcd60e51b815260040180806020018281038252603a8152602001806158b2603a913960400191505060405180910390fd5b610b988187612752565b8415610baa57610baa85888584612801565b5050979650505050505050565b6000610bc1612884565b905090565b816000610bd161293b565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c1457600080fd5b505afa158015610c28573d6000803e3d6000fd5b505050506040513d6020811015610c3e57600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610c8a57600080fd5b505afa158015610c9e573d6000803e3d6000fd5b505050506040513d6020811015610cb457600080fd5b5051905080821115610cc4578091505b8215610cdd57610cda828463ffffffff61294f16565b91505b50949350505050565b6000806000610cf3611fe5565b9050336001600160a01b0382161480610d805750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610d5157600080fd5b505afa158015610d65573d6000803e3d6000fd5b505050506040513d6020811015610d7b57600080fd5b505114155b610dbb5760405162461bcd60e51b81526004018080602001828103825260458152602001806158ec6045913960600191505060405180910390fd5b60008c6001600160a01b03168c6001600160a01b031614610eca57610dde6129a9565b6001600160a01b031663faf431bb8e8e6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b03168152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b158015610e4d57600080fd5b505afa158015610e61573d6000803e3d6000fd5b505050506040513d6020811015610e7757600080fd5b5051610eca576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b610ed88d8c8c8c8c8c6129c8565b9195509093509050610eea8187612752565b8415610efc57610efc858a8684612801565b5050995099975050505050505050565b6001546001600160a01b031681565b600080610f26611861565b6001600160a01b031663cb1ec317846040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015610f6857600080fd5b505afa158015610f7c573d6000803e3d6000fd5b505050506040513d6040811015610f9257600080fd5b50602001519150505b919050565b7f45786368616e67657257697468466565526563416c7465726e6174697665730081565b6060610fce6112cd565b905060005b8151811015610801576000828281518110610fea57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156110a0578181015183820152602001611088565b50505050905090810190601f1680156110cd5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156110eb57600080fd5b505afa1580156110ff573d6000803e3d6000fd5b505050506040513d602081101561111557600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610fd3565b6001546001600160a01b031633146111d15760405162461bcd60e51b815260040180806020018281038252603581526020018061587d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061124e611861565b6001600160a01b0316637dd1a57a836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561129157600080fd5b505afa1580156112a5573d6000803e3d6000fd5b505050506040513d60208110156112bb57600080fd5b505192915050565b6000610bc1612ffc565b6060806112d8613076565b6040805160018082528183019092529192506060919060208083019080388339019050509050755669727475616c53796e74684d6173746572636f707960501b8160008151811061132557fe5b60200260200101818152505061133b828261323a565b9250505090565b6000546001600160a01b031681565b60045467ffffffffffffffff811690600160401b90046001600160c01b031682565b6000610bc16132f6565b6000610bc161337c565b60008061139484846133fa565b915091505b9250929050565b60006113ac8383610631565b156113b9575060016106cf565b60006113c584846118d0565b5050501515949350505050565b60008060006113e2868686613482565b50939a9299509097509095505050505050565b6000806000611402611847565b6001600160a01b03166342a28e21866040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561144557600080fd5b505afa158015611459573d6000803e3d6000fd5b50505050611465611847565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b1580156114a857600080fd5b505afa1580156114bc573d6000803e3d6000fd5b5050505060006114ca611861565b6001600160a01b031663cb1ec317876040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561150c57600080fd5b505afa158015611520573d6000803e3d6000fd5b505050506040513d604081101561153657600080fd5b506020015190506000611547611861565b6001600160a01b031663cb1ec317876040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561158957600080fd5b505afa15801561159d573d6000803e3d6000fd5b505050506040513d60408110156115b357600080fd5b50602001519050811561160d576040805162461bcd60e51b815260206004820152601960248201527f736f757263652073796e7468207261746520696e76616c696400000000000000604482015290519081900360640190fd5b8015611660576040805162461bcd60e51b815260206004820152601e60248201527f64657374696e6174696f6e2073796e7468207261746520696e76616c69640000604482015290519081900360640190fd5b61166b878988613567565b60006116778888611c19565b909450905080156116cf576040805162461bcd60e51b815260206004820152601b60248201527f65786368616e676520726174657320746f6f20766f6c6174696c650000000000604482015290519081900360640190fd5b60006116d9613756565b6001600160a01b0316638295016a8a8c8b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b15801561172c57600080fd5b505afa158015611740573d6000803e3d6000fd5b505050506040513d606081101561175657600080fd5b505190506117648186613771565b9650611776818863ffffffff61380316565b95505050505093509350939050565b6000610bc16c45786368616e6765537461746560981b613860565b6000806117ab612ffc565b90508215806117c957506117c5838263ffffffff61294f16565b4210155b156117d8576000915050610f9b565b6117f8426117ec858463ffffffff61294f16565b9063ffffffff61380316565b9392505050565b60008061182361180e8461393d565b6118178661393d565b9063ffffffff61294f16565b9050806106cc5761183f611836846139e9565b611817866139e9565b949350505050565b6000610bc16b53797374656d53746174757360a01b613860565b6000610bc17522bc31b430b733b2a1b4b931bab4ba213932b0b5b2b960511b613860565b6000546001600160a01b031633146118ce5760405162461bcd60e51b815260040180806020018281038252602f815260200180615931602f913960400191505060405180910390fd5b565b600080600060606118df611785565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561193c57600080fd5b505afa158015611950573d6000803e3d6000fd5b505050506040513d602081101561196657600080fd5b50516040805182815260208084028201019091529092506060908380156119a757816020015b6119946157cc565b81526020019060019003908161198c5790505b50905060005b83811015611c0d576000806119c06157cc565b6119cb8b8b86613a8f565b90506000806119d983613baa565b9150915060006119e7613756565b6001600160a01b0316636ce66c8085600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060606040518083038186803b158015611a5657600080fd5b505afa158015611a6a573d6000803e3d6000fd5b505050506040513d6060811015611a8057600080fd5b50516080850151909150600090611a98908390613771565b90506000611aa4611861565b6001600160a01b03166378cb51cb8760600151846040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611af357600080fd5b505afa158015611b07573d6000803e3d6000fd5b505050506040513d6020811015611b1d57600080fd5b5051905080611b97578186606001511115611b60576060860151611b47908363ffffffff61380316565b9750611b598e8963ffffffff61294f16565b9d50611b97565b8560600151821115611b97576060860151611b8290839063ffffffff61380316565b9650611b948d8863ffffffff61294f16565b9c505b6040518061010001604052808760000151815260200187602001518152602001876040015181526020018981526020018881526020018681526020018581526020018760a001518152508a8a81518110611bed57fe5b6020026020010181905250505050505050505080806001019150506119ad565b50905092959194509250565b6000806000611c33611c2a856139e9565b611817876139e9565b90506000611c4186866133fa565b93509050611c55828263ffffffff61294f16565b935050509250929050565b6000806000611c6f8686610631565b15611cab5760405162461bcd60e51b81526004018080602001828103825260238152602001806159816023913960400191505060405180910390fd5b60008060006060611cbc8a8a6118d0565b935093509350935082841115611cee57611cdc848463ffffffff61380316565b9650611ce98a8a89613cfd565b611d13565b83831115611d1357611d06838563ffffffff61380316565b9550611d138a8a88613e6a565b878015611d2a57506000871180611d2a5750600086115b15611e1057604080516001808252818301909252606091602080830190803883390190505090508981600081518110611d5f57fe5b602002602001018181525050611d73613fba565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611dd1578181015183820152602001611db9565b5050505090500192505050600060405180830381600087803b158015611df657600080fd5b505af1158015611e0a573d6000803e3d6000fd5b50505050505b60005b8151811015611f55578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940838381518110611e5357fe5b602002602001015160000151848481518110611e6b57fe5b602002602001015160200151858581518110611e8357fe5b602002602001015160400151868681518110611e9b57fe5b602002602001015160600151878781518110611eb357fe5b602002602001015160800151888881518110611ecb57fe5b602002602001015160a00151898981518110611ee357fe5b602002602001015160c001518a8a81518110611efb57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101611e13565b50819450611f61611785565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611fc057600080fd5b505af1158015611fd4573d6000803e3d6000fd5b505050505050505093509350939050565b6000610bc1680a6f2dce8d0cae8d2f60bb1b613860565b60008061200a868686613567565b612012613756565b6001600160a01b0316638661cc7b876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561205557600080fd5b505afa158015612069573d6000803e3d6000fd5b505050506040513d602081101561207f57600080fd5b5051156120cc576040805162461bcd60e51b81526020600482015260166024820152755372632073796e746820746f6f20766f6c6174696c6560501b604482015290519081900360640190fd5b6120d4613756565b6001600160a01b0316638661cc7b856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561211757600080fd5b505afa15801561212b573d6000803e3d6000fd5b505050506040513d602081101561214157600080fd5b505115612195576040805162461bcd60e51b815260206004820152601760248201527f446573742073796e746820746f6f20766f6c6174696c65000000000000000000604482015290519081900360640190fd5b60006121a2868989613fd1565b9050806121b6575060009150819050612748565b6000806000806121c7858c8b613482565b949b509299509096509450925090506121e08b8a614009565b156121f75750600095508594506127489350505050565b6121ff611861565b6001600160a01b03166378cb51cb8461221e8a8a63ffffffff61294f16565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561225957600080fd5b505afa15801561226d573d6000803e3d6000fd5b505050506040513d602081101561228357600080fd5b5051156122d7576040805162461bcd60e51b815260206004820152601d60248201527f41746f6d6963207261746520646576696174657320746f6f206d756368000000604482015290519081900360640190fd5b6000631cd554d160e21b8c14156122ef57508461233a565b631cd554d160e21b8a141561230557508261233a565b60008061231a888f631cd554d160e21b613482565b5050505091509150612335818361294f90919063ffffffff16565b925050505b61234381614132565b6123538c8e888d8c8e6000614200565b5086156125ad57612362613756565b6001600160a01b031663654a60ac8b89631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156123bc57600080fd5b505afa1580156123d0573d6000803e3d6000fd5b505050506040513d60208110156123e657600080fd5b505196506123f261293b565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561243c57600080fd5b505afa158015612450573d6000803e3d6000fd5b505050506040513d602081101561246657600080fd5b50516001600160a01b031663867904b461247e6144de565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b1580156124b657600080fd5b505afa1580156124ca573d6000803e3d6000fd5b505050506040513d60208110156124e057600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018b905251604480830192600092919082900301818387803b15801561252f57600080fd5b505af1158015612543573d6000803e3d6000fd5b5050505061254f6144de565b6001600160a01b03166322bf55ef886040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561259457600080fd5b505af11580156125a8573d6000803e3d6000fd5b505050505b6125df60405180604001604052808e81526020018c8152506040518060400160405280868152602001858152506144f3565b6125e7611fe5565b6001600160a01b0316636c00f3108e8e898e8d8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b15801561267857600080fd5b505af115801561268c573d6000803e3d6000fd5b50505050612698611fe5565b6001600160a01b0316632f7206ce8e8e898e8d8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b15801561272957600080fd5b505af115801561273d573d6000803e3d6000fd5b505050505050505050505b9550959350505050565b60008211801561276a57506001600160a01b03811615155b8015612779575061277961337c565b15610801576127866147b1565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b1580156127e557600080fd5b505af11580156127f9573d6000803e3d6000fd5b505050505050565b612809611fe5565b6001600160a01b0316632d3169eb858585856040518563ffffffff1660e01b815260040180858152602001848152602001838152602001828152602001945050505050600060405180830381600087803b15801561286657600080fd5b505af115801561287a573d6000803e3d6000fd5b5050505050505050565b600061288e6147cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290a57600080fd5b505afa15801561291e573d6000803e3d6000fd5b505050506040513d602081101561293457600080fd5b5051905090565b6000610bc16524b9b9bab2b960d11b613860565b6000828201838110156106cc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610bc17044656c6567617465417070726f76616c7360781b613860565b6000806000808711612a0f576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b612a17615817565b612a1f613756565b6001600160a01b0316637a018a1e8a6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612a6257600080fd5b505afa158015612a76573d6000803e3d6000fd5b505050506040513d6020811015612a8c57600080fd5b505160a0820152612a9b613756565b6001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612ade57600080fd5b505afa158015612af2573d6000803e3d6000fd5b505050506040513d6020811015612b0857600080fd5b505160c08201526000612b1c898c8c613fd1565b905080612b35575060009350839250829150612ff09050565b612b3d613756565b6001600160a01b0316636ce66c808b838b8660a001518760c001516040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060606040518083038186803b158015612ba857600080fd5b505afa158015612bbc573d6000803e3d6000fd5b505050506040513d6060811015612bd257600080fd5b5080516020808301516040938401519186019190915284529083015260a082015160c0830151612c06918c918b91906147ea565b612c108a89614009565b15612c27575060009350839250829150612ff09050565b6000612c3d8b8a8560a001518660c00151614a2c565b606085019190915290508015612c60575060009450849350839250612ff0915050565b612c7283604001518460600151613771565b6040840151909650612c8a908763ffffffff61380316565b9450612c9b8b8d848c8a8d8d614200565b93506001600160a01b03841615612cb0578397505b8415612f0957612cbe613756565b6001600160a01b031663654a60ac8a87631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015612d1857600080fd5b505afa158015612d2c573d6000803e3d6000fd5b505050506040513d6020811015612d4257600080fd5b50519450612d4e61293b565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612d9857600080fd5b505afa158015612dac573d6000803e3d6000fd5b505050506040513d6020811015612dc257600080fd5b50516001600160a01b031663867904b4612dda6144de565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015612e1257600080fd5b505afa158015612e26573d6000803e3d6000fd5b505050506040513d6020811015612e3c57600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820189905251604480830192600092919082900301818387803b158015612e8b57600080fd5b505af1158015612e9f573d6000803e3d6000fd5b50505050612eab6144de565b6001600160a01b03166322bf55ef866040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015612ef057600080fd5b505af1158015612f04573d6000803e3d6000fd5b505050505b6040805180820182528c815260208082018c90528251808401909352855183528581015190830152612f3a916144f3565b612f42611fe5565b604080516306c00f3160e41b81526001600160a01b038f81166004830152602482018f905260448201869052606482018d9052608482018a90528b811660a483015291519290911691636c00f3109160c48082019260009290919082900301818387803b158015612fb257600080fd5b505af1158015612fc6573d6000803e3d6000fd5b505050506000612fd4612ffc565b1115612fec57612fec888c848c8a8860600151614a77565b5050505b96509650969350505050565b60006130066147cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290a57600080fd5b606080613081614c88565b60408051600a80825261016082019092529192506060919060208201610140803883390190505090506b53797374656d53746174757360a01b816000815181106130c757fe5b6020026020010181815250506c45786368616e6765537461746560981b816001815181106130f157fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061311b57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061314157fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061316557fe5b6020026020010181815250506d54726164696e675265776172647360901b8160058151811061319057fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b816006815181106131be57fe5b6020026020010181815250506524b9b9bab2b960d11b816007815181106131e157fe5b6020026020010181815250506844656274436163686560b81b8160088151811061320757fe5b6020026020010181815250507522bc31b430b733b2a1b4b931bab4ba213932b0b5b2b960511b8160098151811061132557fe5b6060815183510160405190808252806020026020018201604052801561326a578160200160208202803883390190505b50905060005b83518110156132ac5783818151811061328557fe5b602002602001015182828151811061329957fe5b6020908102919091010152600101613270565b5060005b82518110156132ef578281815181106132c557fe5b60200260200101518282865101815181106132dc57fe5b60209081029190910101526001016132b0565b5092915050565b60006133006147cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d69634d6178566f6c756d65506572426c6f636b0000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290a57600080fd5b60006133866147cd565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290a57600080fd5b600080613405615854565b61340d614cd9565b905060008061341c8684614fcb565b9150915060008061342d8986614fcb565b9092509050613442848363ffffffff61294f16565b6060860151909750871180613457578761345d565b85606001515b97508781806134695750845b806134715750825b975097505050505050509250929050565b6000806000806000806000613495613756565b6001600160a01b031663055286e08a8c8b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060806040518083038186803b1580156134e857600080fd5b505afa1580156134fc573d6000803e3d6000fd5b505050506040513d608081101561351257600080fd5b50805160208201516040830151606090930151909650919450909250905061353a89896117ff565b94506135468186613771565b9650613558818863ffffffff61380316565b95505093975093979195509350565b808314156135b2576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b600082116135f5576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b6040805160028082526060808301845292602083019080388339019050509050838160008151811061362357fe5b602002602001018181525050818160018151811061363d57fe5b602002602001018181525050613651613756565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156136af578181015183820152602001613697565b505050509050019250505060206040518083038186803b1580156136d257600080fd5b505afa1580156136e6573d6000803e3d6000fd5b505050506040513d60208110156136fc57600080fd5b505115613750576040805162461bcd60e51b815260206004820152601e60248201527f7372632f646573742072617465207374616c65206f7220666c61676765640000604482015290519081900360640190fd5b50505050565b6000610bc16c45786368616e6765526174657360981b613860565b60006106cc6137f68373__$6cb7b9807fd48ae83b08c44b530df1d1ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156137be57600080fd5b505af41580156137d2573d6000803e3d6000fd5b505050506040513d60208110156137e857600080fd5b50519063ffffffff61380316565b849063ffffffff61508a16565b60008282111561385a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816132ef5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156139025781810151838201526020016138ea565b50505050905090810190601f16801561392f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006139476147cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7461746f6d696345786368616e67654665655261746560581b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561129157600080fd5b60006139f36147cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561129157600080fd5b613a976157cc565b600080600080600080600080613aab611785565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b158015613b1157600080fd5b505afa158015613b25573d6000803e3d6000fd5b505050506040513d610100811015613b3c57600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b6000806000613bb7613756565b90506000613bc3612ffc565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b158015613c2d57600080fd5b505afa158015613c41573d6000803e3d6000fd5b505050506040513d6020811015613c5757600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b158015613cc757600080fd5b505afa158015613cdb573d6000803e3d6000fd5b505050506040513d6020811015613cf157600080fd5b50519395939450505050565b613d0561293b565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613d4857600080fd5b505afa158015613d5c573d6000803e3d6000fd5b505050506040513d6020811015613d7257600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b158015613dc657600080fd5b505af1158015613dda573d6000803e3d6000fd5b50505050613de6611fe5565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015613e4d57600080fd5b505af1158015613e61573d6000803e3d6000fd5b50505050505050565b613e7261293b565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613eb557600080fd5b505afa158015613ec9573d6000803e3d6000fd5b505050506040513d6020811015613edf57600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b158015613f3357600080fd5b505af1158015613f47573d6000803e3d6000fd5b50505050613f53611fe5565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015613e4d57600080fd5b6000610bc16844656274436163686560b81b613860565b6000806000613fe285856000611c60565b889550909350915050801561400057613ffd85858885610bc6565b92505b50509392505050565b6000631cd554d160e21b831461409757614021611861565b6001600160a01b031663a47af19e846040518263ffffffff1660e01b8152600401808281526020019150506040805180830381600087803b15801561406557600080fd5b505af1158015614079573d6000803e3d6000fd5b505050506040513d604081101561408f57600080fd5b506020015190505b631cd554d160e21b82146106cf5760006140af611861565b6001600160a01b031663a47af19e846040518263ffffffff1660e01b8152600401808281526020019150506040805180830381600087803b1580156140f357600080fd5b505af1158015614107573d6000803e3d6000fd5b505050506040513d604081101561411d57600080fd5b50602001519050818061183f57509392505050565b60045460009067ffffffffffffffff16421461414e578161416b565b60045461416b90600160401b90046001600160c01b03168361294f565b90506141756132f6565b8111156141c2576040805162461bcd60e51b815260206004820152601660248201527514dd5c9c185cdcd959081d9bdb1d5b59481b1a5b5a5d60521b604482015290519081900360640190fd5b600480546001600160c01b03909216600160401b0267ffffffffffffffff42811667ffffffffffffffff199094169390931790921691909117905550565b600061420a61293b565b6001600160a01b03166332608039896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561424d57600080fd5b505afa158015614261573d6000803e3d6000fd5b505050506040513d602081101561427757600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b1580156142cb57600080fd5b505af11580156142df573d6000803e3d6000fd5b5050505060006142ed61293b565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561433057600080fd5b505afa158015614344573d6000803e3d6000fd5b505050506040513d602081101561435a57600080fd5b5051905082156144595760008190506143d9816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b1580156143a557600080fd5b505afa1580156143b9573d6000803e3d6000fd5b505050506040513d60208110156143cf57600080fd5b505186888a6150b4565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561443b57600080fd5b505af115801561444f573d6000803e3d6000fd5b50505050506144d2565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156144b957600080fd5b505af11580156144cd573d6000803e3d6000fd5b505050505b50979650505050505050565b6000610bc166119959541bdbdb60ca1b613860565b8151600090631cd554d160e21b148061451657506020830151631cd554d160e21b145b9050600081614526576003614529565b60025b60ff16905060608160405190808252806020026020018201604052801561455a578160200160208202803883390190505b50905084600060200201518160008151811061457257fe5b602090810291909101015284600160200201518160018151811061459257fe5b6020026020010181815250506060826040519080825280602002602001820160405280156145ca578160200160208202803883390190505b5090508460006020020151816000815181106145e257fe5b602090810291909101015284600160200201518160018151811061460257fe5b602002602001018181525050836146c057631cd554d160e21b8260028151811061462857fe5b60200260200101818152505073__$6cb7b9807fd48ae83b08c44b530df1d1ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561467857600080fd5b505af415801561468c573d6000803e3d6000fd5b505050506040513d60208110156146a257600080fd5b50518151829060029081106146b357fe5b6020026020010181815250505b6146c8613fba565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561472b578181015183820152602001614713565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561476a578181015183820152602001614752565b50505050905001945050505050600060405180830381600087803b15801561479157600080fd5b505af11580156147a5573d6000803e3d6000fd5b50505050505050505050565b6000610bc16d54726164696e675265776172647360901b613860565b6000610bc16e466c657869626c6553746f7261676560881b613860565b82841415614835576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b6040805160028082526060808301845292602083019080388339019050509050848160008151811061486357fe5b602002602001018181525050838160018151811061487d57fe5b6020908102919091010152604080516002808252606082810190935281602001602082028038833901905050905083816000815181106148b957fe5b60200260200101818152505082816001815181106148d357fe5b6020026020010181815250506148e7613756565b6001600160a01b031663d89ee86183836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561494a578181015183820152602001614932565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015614989578181015183820152602001614971565b5050505090500194505050505060206040518083038186803b1580156149ae57600080fd5b505afa1580156149c2573d6000803e3d6000fd5b505050506040513d60208110156149d857600080fd5b5051156127f9576040805162461bcd60e51b815260206004820152601e60248201527f7372632f646573742072617465207374616c65206f7220666c61676765640000604482015290519081900360640190fd5b6000806000614a46614a3d876139e9565b611817896139e9565b90506000614a5688888888615249565b93509050614a6a828263ffffffff61294f16565b9350505094509492505050565b6000614a81613756565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015614ac957600080fd5b505afa158015614add573d6000803e3d6000fd5b505050506040513d6020811015614af357600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b158015614b4257600080fd5b505afa158015614b56573d6000803e3d6000fd5b505050506040513d6020811015614b6c57600080fd5b50519050614b78611785565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b158015614bfd57600080fd5b505af1158015614c11573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110614cca57fe5b60200260200101818152505090565b614ce1615854565b60408051600480825260a08201909252606091602082016080803883390190505090507f65786368616e676544796e616d69634665655468726573686f6c64000000000081600081518110614d3257fe5b6020026020010181815250507f65786368616e676544796e616d6963466565576569676874446563617900000081600181518110614d6c57fe5b6020026020010181815250507f65786368616e676544796e616d6963466565526f756e6473000000000000000081600281518110614da657fe5b6020026020010181815250507465786368616e67654d617844796e616d696346656560581b81600381518110614dd857fe5b6020026020010181815250506060614dee6147cd565b6001600160a01b031663b67fa7ed6d53797374656d53657474696e677360901b846040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015614e64578181015183820152602001614e4c565b50505050905001935050505060006040518083038186803b158015614e8857600080fd5b505afa158015614e9c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015614ec557600080fd5b8101908080516040519392919084640100000000821115614ee557600080fd5b908301906020820185811115614efa57600080fd5b8251866020820283011164010000000082111715614f1757600080fd5b82525081516020918201928201910280838360005b83811015614f44578181015183820152602001614f2c565b505050509050016040525050509050604051806080016040528082600081518110614f6b57fe5b6020026020010151815260200182600181518110614f8557fe5b6020026020010151815260200182600281518110614f9f57fe5b6020026020010151815260200182600381518110614fb957fe5b60200260200101518152509250505090565b600080631cd554d160e21b841480614fe857506001836040015111155b15614ff857506000905080611399565b6000615002613756565b6001600160a01b0316637a018a1e866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561504557600080fd5b505afa158015615059573d6000803e3d6000fd5b505050506040513d602081101561506f57600080fd5b5051905061507e8582866152d5565b92509250509250929050565b6000670de0b6b3a76400006150a5848463ffffffff6154f516565b816150ac57fe5b049392505050565b6000606960f81b6001600160f81b031983831a60f81b16141561511e576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732073796e746800000000604482015290519081900360640190fd5b600061516661512b61554e565b6040518060400160405280601b81526020017f436f756c64206e6f7420637265617465206e6577207653796e74680000000000815250615572565b60025460408051638d7017d360e01b81526001600160a01b038a81166004830152928316602482015288831660448201526064810188905260848101879052905192935090831691638d7017d39160a48082019260009290919082900301818387803b1580156151d557600080fd5b505af11580156151e9573d6000803e3d6000fd5b5050604080516001600160a01b038581168252602082018890528183018990529151828a169450918a1692507fb5ec76d79549c775883022e4426db5cd36bd5307f216cdb341554c301548ef9f919081900360600190a395945050505050565b600080615254615854565b61525c614cd9565b905060008061526c8887856152d5565b9150915060008061527e8b8a876152d5565b9092509050615293848363ffffffff61294f16565b60608601519097508711806152a857876152ae565b85606001515b97508781806152ba5750845b806152c25750825b9750975050505050505094509492505050565b600080631cd554d160e21b8514806152f257506001836040015111155b15615302575060009050806154ed565b606061530c613756565b6001600160a01b031663ed762450878660400151886040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060006040518083038186803b15801561536357600080fd5b505afa158015615377573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156153a057600080fd5b81019080805160405193929190846401000000008211156153c057600080fd5b9083019060208201858111156153d557600080fd5b82518660208202830111640100000000821117156153f257600080fd5b82525081516020918201928201910280838360005b8381101561541f578181015183820152602001615407565b505050509050016040526020018051604051939291908464010000000082111561544857600080fd5b90830190602082018581111561545d57600080fd5b825186602082028301116401000000008211171561547a57600080fd5b82525081516020918201928201910280838360005b838110156154a757818101518382015260200161548f565b5050505090500160405250505050809150506154cc81856000015186602001516155ea565b60608501519093508311806154e157836154e7565b84606001515b93509150505b935093915050565b600082615504575060006106cf565b8282028284828161551157fe5b04146106cc5760405162461bcd60e51b81526004018080602001828103825260218152602001806159606021913960400191505060405180910390fd5b6000610bc1755669727475616c53796e74684d6173746572636f707960501b613860565b6000606061557f84615674565b90506037602082016000f09150826001600160a01b0383166155e25760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156139025781810151838201526020016138ea565b505092915050565b60008351600014156155fe575060006117f8565b8351600090600019015b8015610cdd5761561e828563ffffffff61508a16565b9150600061565687600184038151811061563457fe5b602002602001015188848151811061564857fe5b6020026020010151886156e4565b9050615668838263ffffffff61294f16565b92505060001901615608565b60408051693d602d80600a3d3981f360b01b602082015269363d3d373d3d3d363d7360b01b602a82015260609290921b6bffffffffffffffffffffffff191660348301526e5af43d82803e903d91602b57fd5bf360881b6048830152805180830360370181526057909201905290565b6000826156f3575060006117f8565b600083851161570457848403615708565b8385035b9050600061571c828663ffffffff61573816565b905083811161572c576000613ffd565b92909203949350505050565b60006106cc8261575685670de0b6b3a764000063ffffffff6154f516565b9063ffffffff61576216565b60008082116157b8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816157c357fe5b04949350505050565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806080016040528060008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697054686520616d6f756e742072656365697665642069732062656c6f7720746865206d696e696d756d20616d6f756e74207370656369666965642e45786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a72315820d3cc996c4b5f085a856d8100bbbf0a8feb79df26ea89b1f37fd5c2fed358865264736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amountReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"name":"ExchangeEntryAppended","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reclaim","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rebate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"srcRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"destRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeTimestamp","type":"uint256"}],"name":"ExchangeEntrySettled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"synth","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"address","name":"vSynth","type":"address"},{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"VirtualSynthCreated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"atomicMaxVolumePerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"}],"name":"calculateAmountAfterSettlement","outputs":[{"internalType":"uint256","name":"amountAfterSettlement","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"dynamicFeeRateForExchange","outputs":[{"internalType":"uint256","name":"feeRate","type":"uint256"},{"internalType":"bool","name":"tooVolatile","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"exchangeForAddress","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"destinationAddress","type":"address"},{"internalType":"bool","name":"virtualSynth","type":"bool"},{"internalType":"address","name":"rewardAddress","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"exchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"contract IVirtualSynth","name":"vSynth","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"address","name":"destinationAddress","type":"address"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"},{"internalType":"uint256","name":"minAmount","type":"uint256"}],"name":"exchangeAtomically","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"feeRateForAtomicExchange","outputs":[{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"feeRateForExchange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"getAmountsForAtomicExchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"getAmountsForExchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"hasWaitingPeriodOrSettlementOwing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"isSynthRateInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastAtomicVolume","outputs":[{"internalType":"uint64","name":"time","type":"uint64"},{"internalType":"uint192","name":"volume","type":"uint192"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"lastExchangeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"maxSecsLeftInWaitingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"priceDeviationThresholdFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settle","outputs":[{"internalType":"uint256","name":"reclaimed","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"},{"internalType":"uint256","name":"numEntriesSettled","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settlementOwing","outputs":[{"internalType":"uint256","name":"reclaimAmount","type":"uint256"},{"internalType":"uint256","name":"rebateAmount","type":"uint256"},{"internalType":"uint256","name":"numEntries","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"suspendSynthWithInvalidRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tradingRewardsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"waitingPeriodSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x249092f47e4e7db34b013bbb56027462cd27bc2f1bf79dca4e99a9bf1e0ac6bf","urls":["bzz-raw://3136355856d62b9df707b62ef592ce6ba0f25083985fb516c7c533f29af304e1","dweb:/ipfs/QmXriDxrw7AdiaZjsoCCK5RiQKPEwJ1MsE9arJPTawEwkb"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ExchangerWithFeeRecAlternatives.sol":"ExchangerWithFeeRecAlternatives"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"ExchangerWithFeeRecAlternatives.sol":{"keccak256":"0x249092f47e4e7db34b013bbb56027462cd27bc2f1bf79dca4e99a9bf1e0ac6bf","urls":["bzz-raw://3136355856d62b9df707b62ef592ce6ba0f25083985fb516c7c533f29af304e1","dweb:/ipfs/QmXriDxrw7AdiaZjsoCCK5RiQKPEwJ1MsE9arJPTawEwkb"]}},"version":1}},"WrapperFactory":{"bytecode":"608060405234801561001057600080fd5b506040516135553803806135558339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050613431806101246000396000f3fe608060405260043610620000d45760003560e01c806375d920a9116200008b5780638da5cb5b11620000615780638da5cb5b14620002ae578063a106935d14620002c6578063bb57ad201462000309578063e0aa2797146200032157620000d4565b806375d920a9146200021457806379ba5097146200022c578063899ffef4146200024457620000d4565b806304f3bcec14620001215780631627540c14620001555780632af64bd3146200018e57806353a47bb714620001ba578063614d08f814620001d25780637418536014620001fc575b6040805162461bcd60e51b815260206004820152601760248201527f436f6e7472616374206973206e6f742070617961626c65000000000000000000604482015290519081900360640190fd5b3480156200012e57600080fd5b506200013962000358565b604080516001600160a01b039092168252519081900360200190f35b3480156200016257600080fd5b506200018c600480360360208110156200017b57600080fd5b50356001600160a01b031662000367565b005b3480156200019b57600080fd5b50620001a6620003c5565b604080519115158252519081900360200190f35b348015620001c757600080fd5b5062000139620004db565b348015620001df57600080fd5b50620001ea620004ea565b60408051918252519081900360200190f35b3480156200020957600080fd5b506200018c620004ff565b3480156200022157600080fd5b50620001ea620006d2565b3480156200023957600080fd5b506200018c62000767565b3480156200025157600080fd5b506200025c62000825565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156200029a57818101518382015260200162000280565b505050509050019250505060405180910390f35b348015620002bb57600080fd5b5062000139620008c3565b348015620002d357600080fd5b506200013960048036036060811015620002ec57600080fd5b506001600160a01b038135169060208101359060400135620008d2565b3480156200031657600080fd5b506200018c62000a8a565b3480156200032e57600080fd5b50620001a6600480360360208110156200034757600080fd5b50356001600160a01b031662000bff565b6002546001600160a01b031681565b6200037162000caa565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006060620003d362000825565b905060005b8151811015620004d1576000828281518110620003f157fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156200045a57600080fd5b505afa1580156200046f573d6000803e3d6000fd5b505050506040513d60208110156200048657600080fd5b50516001600160a01b0316141580620004b457506000818152600360205260409020546001600160a01b0316155b15620004c75760009350505050620004d8565b50600101620003d8565b5060019150505b90565b6001546001600160a01b031681565b6d57726170706572466163746f727960901b81565b60606200050b62000825565b905060005b8151811015620006ce5760008282815181106200052957fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015620005e1578181015183820152602001620005c7565b50505050905090810190601f1680156200060f5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156200062e57600080fd5b505afa15801562000643573d6000803e3d6000fd5b505050506040513d60208110156200065a57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010162000510565b5050565b6000620006de62000cf7565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156200073457600080fd5b505afa15801562000749573d6000803e3d6000fd5b505050506040513d60208110156200076057600080fd5b5051905090565b6001546001600160a01b03163314620007b25760405162461bcd60e51b8152600401808060200182810382526035815260200180620033996035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b604080516003808252608082019092526060916020820183803883390190505090506814de5b9d1a1cd554d160ba1b816000815181106200086257fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816001815181106200088f57fe5b60200260200101818152505066119959541bdbdb60ca1b81600281518110620008b457fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000620008de62000caa565b600080546002546040516001600160a01b039283169290911690879087908790620009099062000e2e565b6001600160a01b0395861681529385166020850152919093166040808401919091526060830193909352608082015290519081900360a001906000f08015801562000958573d6000803e3d6000fd5b509050806001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200099757600080fd5b505af1158015620009ac573d6000803e3d6000fd5b50505050620009ba62000d15565b60408051631d5b277f60e01b81526d57726170706572466163746f727960901b60048201526001600160a01b0384811660248301526001604483015291519290911691631d5b277f9160648082019260009290919082900301818387803b15801562000a2557600080fd5b505af115801562000a3a573d6000803e3d6000fd5b5050604080516001600160a01b038581168252915188945091891692507f8aba3d0a3cbd86bcfc8d4d553823cb5030939fb35208794c1ca597046b2b561e919081900360200190a3949350505050565b600062000a96620006d2565b9050801562000bfc57600062000aab62000cf7565b6001600160a01b031663a9059cbb62000ac362000d34565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801562000afc57600080fd5b505afa15801562000b11573d6000803e3d6000fd5b505050506040513d602081101562000b2857600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018690525160448083019260209291908290030181600087803b15801562000b7957600080fd5b505af115801562000b8e573d6000803e3d6000fd5b505050506040513d602081101562000ba557600080fd5b5051905080620006ce576040805162461bcd60e51b815260206004820152601860248201527f5472616e7366657220646964206e6f7420737563636565640000000000000000604482015290519081900360640190fd5b50565b60008062000c0c62000d15565b6001600160a01b03166323257c2b6d57726170706572466163746f727960901b856001600160a01b031660001b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562000c7557600080fd5b505afa15801562000c8a573d6000803e3d6000fd5b505050506040513d602081101562000ca157600080fd5b50511192915050565b6000546001600160a01b0316331462000cf55760405162461bcd60e51b815260040180806020018281038252602f815260200180620033ce602f913960400191505060405180910390fd5b565b600062000d106814de5b9d1a1cd554d160ba1b62000d46565b905090565b600062000d106e466c657869626c6553746f7261676560881b62000d46565b600062000d1066119959541bdbdb60ca1b5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908162000e275760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000deb57818101518382015260200162000dd1565b50505050905090810190601f16801562000e195780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b61255c8062000e3d8339019056fe60806040523480156200001157600080fd5b506040516200255c3803806200255c833981810160405260a08110156200003757600080fd5b508051602082015160408301516060840151608090940151929391929091908380866001600160a01b038116620000b5576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000160576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60038054610100600160a81b0319166101006001600160a01b0393841602179055600580546001600160a01b031916868316179081905560068590556007849055600060088190556040805163095ea7b360e01b81523060048201526000196024820152905192909316935063095ea7b392604480820193602093909283900390910190829087803b158015620001f657600080fd5b505af11580156200020b573d6000803e3d6000fd5b505050506040513d60208110156200022257600080fd5b5050505050505061232380620002396000396000f3fe6080604052600436106101665760003560e01c80635c975abb116100d15780638a926d0f1161008a578063a0712d6811610064578063a0712d681461048d578063dbd06c85146104b7578063ee5f3f5c146104cc578063fc0c546a146104e157610166565b80638a926d0f1461044e5780638da5cb5b1461046357806391b4ded91461047857610166565b80635c975abb1461036b5780635cfc1a51146103805780636ad882691461039557806374185360146103bf57806379ba5097146103d4578063899ffef4146103e957610166565b80631f23a352116101235780631f23a352146102965780632af64bd3146102ab57806342966c68146102d4578063509bf42a146102fe57806353a47bb7146103135780635c095e541461032857610166565b806304f3bcec146101b35780630902f1ac146101e45780631627540c1461020b57806316c38b3c1461024057806317c943bc1461026c57806318819a3114610281575b6040805162461bcd60e51b815260206004820152601d60248201527f46616c6c6261636b2064697361626c65642c20757365206d696e742829000000604482015290519081900360640190fd5b3480156101bf57600080fd5b506101c86104f6565b604080516001600160a01b039092168252519081900360200190f35b3480156101f057600080fd5b506101f961050a565b60408051918252519081900360200190f35b34801561021757600080fd5b5061023e6004803603602081101561022e57600080fd5b50356001600160a01b0316610587565b005b34801561024c57600080fd5b5061023e6004803603602081101561026357600080fd5b503515156105e3565b34801561027857600080fd5b506101f961065d565b34801561028d57600080fd5b506101f9610663565b3480156102a257600080fd5b506101f9610673565b3480156102b757600080fd5b506102c0610679565b604080519115158252519081900360200190f35b3480156102e057600080fd5b5061023e600480360360208110156102f757600080fd5b5035610789565b34801561030a57600080fd5b506101f9610c73565b34801561031f57600080fd5b506101c8610c7e565b34801561033457600080fd5b506103526004803603602081101561034b57600080fd5b5035610c8d565b6040805192835290151560208301528051918290030190f35b34801561037757600080fd5b506102c0610ce2565b34801561038c57600080fd5b506101f9610ceb565b3480156103a157600080fd5b50610352600480360360208110156103b857600080fd5b5035610d2d565b3480156103cb57600080fd5b5061023e610d3a565b3480156103e057600080fd5b5061023e610f17565b3480156103f557600080fd5b506103fe610fd3565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043a578181015183820152602001610422565b505050509050019250505060405180910390f35b34801561045a57600080fd5b506101f96110f5565b34801561046f57600080fd5b506101c8611100565b34801561048457600080fd5b506101f961110f565b34801561049957600080fd5b5061023e600480360360208110156104b057600080fd5b5035611115565b3480156104c357600080fd5b506101f961156f565b3480156104d857600080fd5b506101f9611575565b3480156104ed57600080fd5b506101c86115dd565b60035461010090046001600160a01b031681565b600554604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561055557600080fd5b505afa158015610569573d6000803e3d6000fd5b505050506040513d602081101561057f57600080fd5b505190505b90565b61058f6115ec565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6105eb6115ec565b60035460ff16151581151514156106015761065a565b6003805460ff1916821515179081905560ff161561061e57426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60085481565b600061066e30611637565b905090565b60075481565b60006060610685610fd3565b905060005b81518110156107805760008282815181106106a157fe5b602090810291909101810151600081815260048084526040918290205460035483516321f8a72160e01b815292830185905292519395506001600160a01b039081169461010090930416926321f8a72192602480840193919291829003018186803b15801561070f57600080fd5b505afa158015610723573d6000803e3d6000fd5b505050506040513d602081101561073957600080fd5b50516001600160a01b031614158061076657506000818152600460205260409020546001600160a01b0316155b156107775760009350505050610584565b5060010161068a565b50600191505090565b60035460ff16156107cb5760405162461bcd60e51b815260040180806020018281038252603c815260200180612258603c913960400191505060405180910390fd5b6107d3611727565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561080b57600080fd5b505afa15801561081f573d6000803e3d6000fd5b5050505061082b611741565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561088057600080fd5b505afa158015610894573d6000803e3d6000fd5b505050506040513d60208110156108aa57600080fd5b50518111156108f5576040805162461bcd60e51b815260206004820152601260248201527142616c616e636520697320746f6f206c6f7760701b604482015290519081900360640190fd5b6108fd61174e565b6001600160a01b0316632528f0fe6006546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561094257600080fd5b505afa158015610956573d6000803e3d6000fd5b505050506040513d602081101561096c57600080fd5b5051156109bb576040805162461bcd60e51b815260206004820152601860248201527710dd5c9c995b98de481c985d19481a5cc81a5b9d985b1a5960421b604482015290519081900360640190fd5b60006109c5611575565b11610a015760405162461bcd60e51b81526004018080602001828103825260358152602001806122ba6035913960400191505060405180910390fd5b600080610a0f600854610d2d565b915091506000808215610ad1578460085410610a2b5784610a3e565b600854610a3e908563ffffffff61176916565b9150610aca610a4b610c73565b73__$b638afe8340e430a394ced2a8f566f670f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8f57600080fd5b505af4158015610aa3573d6000803e3d6000fd5b505050506040513d6020811015610ab957600080fd5b50518491900363ffffffff6117cb16565b9050610b92565b6008548590610ae6908663ffffffff6117f516565b10610af15784610b04565b600854610b04908563ffffffff6117f516565b9150610b8f610b11610c73565b73__$b638afe8340e430a394ced2a8f566f670f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5557600080fd5b505af4158015610b69573d6000803e3d6000fd5b505050506040513d6020811015610b7f57600080fd5b505184910163ffffffff61185616565b90505b600083610bae57610ba9838363ffffffff61176916565b610bb1565b60005b600554909150600090610bcf906001600160a01b0316303386611880565b905080610c1e576040805162461bcd60e51b8152602060048201526018602482015277151c985b9cd9995c88191a59081b9bdd081cdd58d8d9595960421b604482015290519081900360640190fd5b610c2784611925565b6040805184815260208101849052808201869052905133917f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c0919081900360600190a250505050505050565b600061066e30611b2b565b6001546001600160a01b031681565b6000806000610c9a610663565b90506000811215610cc557610cb984600083900363ffffffff611be916565b60019250925050610cdd565b610cd5848263ffffffff611be916565b600092509250505b915091565b60035460ff1681565b600080610cf661050a565b90506000610d026110f5565b9050808210610d1657600092505050610584565b610d26818363ffffffff61176916565b9250505090565b6000806000610c9a610c73565b6060610d44610fd3565b905060005b8151811015610f13576000828281518110610d6057fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e2b578181015183820152602001610e13565b50505050905090810190601f168015610e585780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610e7657600080fd5b505afa158015610e8a573d6000803e3d6000fd5b505050506040513d6020811015610ea057600080fd5b505160008381526004602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610d49565b5050565b6001546001600160a01b03163314610f605760405162461bcd60e51b81526004018080602001828103825260358152602001806121d36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610fde611bfe565b60408051600680825260e08201909252919250606091906020820160c0803883390190505090506814de5b9d1a1cd554d160ba1b8160008151811061101f57fe5b6020026020010181815250506007548160018151811061103b57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061106557fe5b6020026020010181815250506844656274436163686560b81b8160038151811061108b57fe5b6020026020010181815250506b53797374656d53746174757360a01b816004815181106110b457fe5b6020026020010181815250506d57726170706572466163746f727960901b816005815181106110df57fe5b602002602001018181525050610d268282611c4f565b600061066e30611d0b565b6000546001600160a01b031681565b60025481565b60035460ff16156111575760405162461bcd60e51b815260040180806020018281038252603c815260200180612258603c913960400191505060405180910390fd5b61115f611727565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561119757600080fd5b505afa1580156111ab573d6000803e3d6000fd5b505060055460408051636eb1769f60e11b815233600482015230602482015290516001600160a01b03909216935063dd62ed3e9250604480820192602092909190829003018186803b15801561120057600080fd5b505afa158015611214573d6000803e3d6000fd5b505050506040513d602081101561122a57600080fd5b5051811115611280576040805162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000604482015290519081900360640190fd5b600554604080516370a0823160e01b815233600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156112cb57600080fd5b505afa1580156112df573d6000803e3d6000fd5b505050506040513d60208110156112f557600080fd5b5051811115611340576040805162461bcd60e51b815260206004820152601260248201527142616c616e636520697320746f6f206c6f7760701b604482015290519081900360640190fd5b61134861174e565b6001600160a01b0316632528f0fe6006546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561138d57600080fd5b505afa1580156113a1573d6000803e3d6000fd5b505050506040513d60208110156113b757600080fd5b505115611406576040805162461bcd60e51b815260206004820152601860248201527710dd5c9c995b98de481c985d19481a5cc81a5b9d985b1a5960421b604482015290519081900360640190fd5b6000611410610ceb565b9050600081116114515760405162461bcd60e51b81526004018080602001828103825260268152602001806122946026913960400191505060405180910390fd5b60008282106114605782611462565b815b905060008061147083610c8d565b915091506000816114905761148b848463ffffffff61176916565b6114a0565b6114a0848463ffffffff6117f516565b6005549091506000906114be906001600160a01b0316333088611880565b90508061150d576040805162461bcd60e51b8152602060048201526018602482015277151c985b9cd9995c88191a59081b9bdd081cdd58d8d9595960421b604482015290519081900360640190fd5b61151682611dc7565b337f5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d91983856115445786611547565b60005b604080519283526020830191909152818101899052519081900360600190a250505050505050565b60065481565b600061157f61174e565b6001600160a01b031663654a60ac600654600854631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561055557600080fd5b6005546001600160a01b031681565b6000546001600160a01b031633146116355760405162461bcd60e51b815260040180806020018281038252602f815260200180612208602f913960400191505060405180910390fd5b565b6000611641611f18565b6001600160a01b031663c4f610ed6d53797374656d53657474696e677360901b71777261707065724d696e744665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156116f557600080fd5b505afa158015611709573d6000803e3d6000fd5b505050506040513d602081101561171f57600080fd5b505192915050565b600061066e6b53797374656d53746174757360a01b611f31565b600061066e600754611f31565b600061066e6c45786368616e6765526174657360981b611f31565b6000828211156117c0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b508082035b92915050565b6000670de0b6b3a76400006117e6848463ffffffff61200e16565b816117ed57fe5b049392505050565b60008282018381101561184f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600061184f8261187485670de0b6b3a764000063ffffffff61200e16565b9063ffffffff61206716565b604080516001600160a01b038086166024830152841660448201526064808201849052825180830390910181526084909101909152602081810180516001600160e01b03166323b872dd60e01b178152825160ff60009081529392909184908390828b5af16118ee57600080fd5b60005160ff811461190c576001811461190c57801561191557600080fd5b6001935061191a565b600093505b505050949350505050565b600061192f61050a565b600854909150600090611948838563ffffffff6117f516565b11611954576000611977565b6008546119779061196b848663ffffffff6117f516565b9063ffffffff61176916565b9050600061198361174e565b6001600160a01b031663654a60ac60065484631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156119df57600080fd5b505afa1580156119f3573d6000803e3d6000fd5b505050506040513d6020811015611a0957600080fd5b50519050611a15611741565b6001600160a01b0316639dc29fac33866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611a7457600080fd5b505af1158015611a88573d6000803e3d6000fd5b505050506000811115611b1c57611a9d6120d1565b6001600160a01b031663867904b4611ab36120e8565b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611b0357600080fd5b505af1158015611b17573d6000803e3d6000fd5b505050505b611b2583612104565b50505050565b6000611b35611f18565b6001600160a01b031663c4f610ed6d53797374656d53657474696e677360901b71777261707065724275726e4665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156116f557600080fd5b600061184f8383670de0b6b3a764000061217f565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611c4057fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611c7f578160200160208202803883390190505b50905060005b8351811015611cc157838181518110611c9a57fe5b6020026020010151828281518110611cae57fe5b6020908102919091010152600101611c85565b5060005b8251811015611d0457828181518110611cda57fe5b6020026020010151828286510181518110611cf157fe5b6020908102919091010152600101611cc5565b5092915050565b6000611d15611f18565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f777261707065724d6178546f6b656e7360801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156116f557600080fd5b6000611dd161050a565b90506000611dea836008546117f590919063ffffffff16565b8211611df7576000611e1b565b600854611e1b90611e0e908563ffffffff6117f516565b839063ffffffff61176916565b90506000611e2761174e565b6001600160a01b031663654a60ac60065484631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015611e8357600080fd5b505afa158015611e97573d6000803e3d6000fd5b505050506040513d6020811015611ead57600080fd5b50519050611eb9611741565b6001600160a01b031663867904b433866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611a7457600080fd5b600061066e6e466c657869626c6553746f7261676560881b5b600081815260046020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611d045760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611fd3578181015183820152602001611fbb565b50505050905090810190601f1680156120005780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60008261201d575060006117c5565b8282028284828161202a57fe5b041461184f5760405162461bcd60e51b81526004018080602001828103825260218152602001806122376021913960400191505060405180910390fd5b60008082116120bd576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816120c857fe5b04949350505050565b600061066e6814de5b9d1a1cd554d160ba1b611f31565b600061066e6d57726170706572466163746f727960901b611f31565b61210c6121bb565b6001600160a01b0316639e3b92ca60065460085484036040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561215f57600080fd5b505af1158015612173573d6000803e3d6000fd5b50505060089190915550565b600080600a8304612196868663ffffffff61200e16565b8161219d57fe5b0490506005600a8206106121af57600a015b600a9004949350505050565b600061066e6844656274436163686560b81b611f3156fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564436f6e747261637420686173206e6f20737061726520636170616369747920746f206d696e74436f6e74726163742063616e6e6f74206275726e20666f7220746f6b656e2c20746f6b656e2062616c616e6365206973207a65726fa265627a7a72315820a4a10d85c707bcbaf53a80a679c2465266162fe35b377e6b8360036004afc38e64736f6c63430005100032596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820389b20616fbd648646f2eabc9039e3a34d21fd0baea43bc61609f135762f668f64736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"wrapperAddress","type":"address"}],"name":"WrapperCreated","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"bytes32","name":"synthContractName","type":"bytes32"}],"name":"createWrapper","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"distributeFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feesEscrowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"possibleWrapper","type":"address"}],"name":"isWrapper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x582cac91f50cfefc154d67097081d0dd0d4877333df51c3cfe19485f80ef7e74","urls":["bzz-raw://315555f29d5cf1602830af23bf1c97d8259d7ad3103590d1094b9c942affe69e","dweb:/ipfs/QmXmVJg9JYtL3VSHFpC6WTh4CLcVm9WDDTmCoSMVxPzAHc"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"WrapperFactory.sol":"WrapperFactory"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"WrapperFactory.sol":{"keccak256":"0x582cac91f50cfefc154d67097081d0dd0d4877333df51c3cfe19485f80ef7e74","urls":["bzz-raw://315555f29d5cf1602830af23bf1c97d8259d7ad3103590d1094b9c942affe69e","dweb:/ipfs/QmXmVJg9JYtL3VSHFpC6WTh4CLcVm9WDDTmCoSMVxPzAHc"]}},"version":1}},"OwnerRelayOnEthereum":{"bytecode":"60806040523480156200001157600080fd5b5060405162001678380380620016788339810160408190526200003491620000f4565b600080546001600160a01b0319166001600160a01b038381169190911790915582908116620000805760405162461bcd60e51b81526004016200007790620001b0565b60405180910390fd5b600280546001600160a01b0319166001600160a01b0383161790556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c90620000d09060009084906200018a565b60405180910390a15050506200020b565b8051620000ee81620001f1565b92915050565b600080604083850312156200010857600080fd5b6000620001168585620000e1565b92505060206200012985828601620000e1565b9150509250929050565b6200013e81620001dd565b82525050565b6200013e81620001cb565b60006200015e601983620001c2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200019a828562000133565b620001a9602083018462000144565b9392505050565b60208082528101620000ee816200014f565b90815260200190565b60006001600160a01b038216620000ee565b6000620000ee826000620000ee82620001cb565b620001fc81620001cb565b81146200020857600080fd5b50565b61145d806200021b6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80637418536011610066578063741853601461011357806379ba50971461011b578063899ffef4146101235780638da5cb5b14610138578063e210f042146101405761009e565b806304f3bcec146100a35780631627540c146100c15780632af64bd3146100d65780634aeda11f146100eb57806353a47bb7146100fe575b600080fd5b6100ab610153565b6040516100b891906112a9565b60405180910390f35b6100d46100cf366004610ca3565b610162565b005b6100de6101c0565b6040516100b89190611244565b6100d46100f9366004610d51565b6102d6565b61010661041e565b6040516100b89190611179565b6100d461042d565b6100d4610582565b61012b61061e565b6040516100b89190611233565b6101066106bd565b6100d461014e366004610ce7565b6106cc565b6000546001600160a01b031681565b61016a6107e7565b600380546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101b5908390611179565b60405180910390a150565b600060606101cc61061e565b905060005b81518110156102cc5760008282815181106101e857fe5b60209081029190910181015160008181526001909252604080832054925490516321f8a72160e01b81529193506001600160a01b039283169216906321f8a72190610237908590600401611252565b60206040518083038186803b15801561024f57600080fd5b505afa158015610263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102879190810190610cc9565b6001600160a01b03161415806102b257506000818152600160205260409020546001600160a01b0316155b156102c357600093505050506102d3565b506001016101d1565b5060019150505b90565b6102de6107e7565b8382146103065760405162461bcd60e51b81526004016102fd906112e8565b60405180910390fd5b604051600090606090637a153de960e11b9061032c908990899089908990602401611202565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610368610813565b6001600160a01b0316633dbb202b61037e610833565b8361038887610859565b6040518463ffffffff1660e01b81526004016103a6939291906111d3565b600060405180830381600087803b1580156103c057600080fd5b505af11580156103d4573d6000803e3d6000fd5b505050507faa86356fa99dddd7d5773ad300a6f8e0213a5a2f3f5dbdd4b696c6746d78ec048787878760405161040d9493929190611202565b60405180910390a150505050505050565b6003546001600160a01b031681565b606061043761061e565b905060005b815181101561057e57600082828151811061045357fe5b6020026020010151905060008060009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610494919061116e565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016104c0929190611289565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105109190810190610cc9565b6000838152600160205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061056c9084908490611260565b60405180910390a1505060010161043c565b5050565b6003546001600160a01b031633146105ac5760405162461bcd60e51b81526004016102fd906112c8565b6002546003546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926105ef926001600160a01b0391821692911690611187565b60405180910390a160038054600280546001600160a01b03199081166001600160a01b03841617909155169055565b60608061062961087f565b6040805160028082526060808301845293945090916020830190803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b8160008151811061066b57fe5b602002602001018181525050776f766d3a4f776e657252656c61794f6e4f7074696d69736d60401b816001815181106106a057fe5b6020026020010181815250506106b682826108d0565b9250505090565b6002546001600160a01b031681565b6106d46107e7565b60405160009060609063c3c79e5d60e01b906106f8908890889088906024016111a9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610734610813565b6001600160a01b0316633dbb202b61074a610833565b8361075487610859565b6040518463ffffffff1660e01b8152600401610772939291906111d3565b600060405180830381600087803b15801561078c57600080fd5b505af11580156107a0573d6000803e3d6000fd5b505050507f0ad3bed4c45a8b7f0de84c5caaea6851b93c0453c25ad26d37077fcf4feb5c448686866040516107d7939291906111a9565b60405180910390a1505050505050565b6002546001600160a01b031633146108115760405162461bcd60e51b81526004016102fd906112d8565b565b600061082e6c32bc3a1d26b2b9b9b2b733b2b960991b61098c565b905090565b600061082e776f766d3a4f776e657252656c61794f6e4f7074696d69736d60401b61098c565b600063ffffffff82166108755761087060046109e9565b610877565b815b90505b919050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106108c157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610900578160200160208202803883390190505b50905060005b83518110156109425783818151811061091b57fe5b602002602001015182828151811061092f57fe5b6020908102919091010152600101610906565b5060005b82518110156109855782818151811061095b57fe5b602002602001015182828651018151811061097257fe5b6020908102919091010152600101610946565b5092915050565b60008181526001602090815260408083205490516001600160a01b0390911691821515916109bc9186910161114e565b604051602081830303815290604052906109855760405162461bcd60e51b81526004016102fd91906112b7565b60006109f3610a89565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b610a1c85610aa6565b6040518363ffffffff1660e01b8152600401610a3992919061126e565b60206040518083038186803b158015610a5157600080fd5b505afa158015610a65573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108779190810190610dd7565b600061082e6e466c657869626c6553746f7261676560881b61098c565b600080826004811115610ab557fe5b1415610ae257507f63726f7373446f6d61696e4465706f7369744761734c696d697400000000000061087a565b6001826004811115610af057fe5b1415610b1d57507f63726f7373446f6d61696e457363726f774761734c696d69740000000000000061087a565b6002826004811115610b2b57fe5b1415610b5857507f63726f7373446f6d61696e5265776172644761734c696d69740000000000000061087a565b6003826004811115610b6657fe5b1415610b9357507f63726f7373446f6d61696e5769746864726177616c4761734c696d697400000061087a565b6004826004811115610ba157fe5b1415610bce57507f63726f7373446f6d61696e52656c61794761734c696d6974000000000000000061087a565b60405162461bcd60e51b81526004016102fd906112f8565b8035610bf1816113f1565b92915050565b8051610bf1816113f1565b60008083601f840112610c1457600080fd5b50813567ffffffffffffffff811115610c2c57600080fd5b602083019150836020820283011115610c4457600080fd5b9250929050565b60008083601f840112610c5d57600080fd5b50813567ffffffffffffffff811115610c7557600080fd5b602083019150836001820283011115610c4457600080fd5b8051610bf181611408565b8035610bf181611411565b600060208284031215610cb557600080fd5b6000610cc18484610be6565b949350505050565b600060208284031215610cdb57600080fd5b6000610cc18484610bf7565b60008060008060608587031215610cfd57600080fd5b6000610d098787610be6565b945050602085013567ffffffffffffffff811115610d2657600080fd5b610d3287828801610c4b565b93509350506040610d4587828801610c98565b91505092959194509250565b600080600080600060608688031215610d6957600080fd5b853567ffffffffffffffff811115610d8057600080fd5b610d8c88828901610c02565b9550955050602086013567ffffffffffffffff811115610dab57600080fd5b610db788828901610c02565b93509350506040610dca88828901610c98565b9150509295509295909350565b600060208284031215610de957600080fd5b6000610cc18484610c8d565b6000610e018383610e22565b505060200190565b6000610e018383610f4f565b6000610cc1848484610f69565b610e2b8161137b565b82525050565b6000610e3d8385611312565b9350610e48826102d3565b8060005b85811015610e7e57610e5e828461131b565b610e688882610df5565b9750610e7383611308565b925050600101610e4c565b509495945050505050565b6000610e948261130e565b610e9e8185611312565b9350610ea983611308565b8060005b83811015610e7e578151610ec18882610e09565b9750610ecc83611308565b925050600101610ead565b6000610ee38385611312565b935083602084028501610ef5846102d3565b8060005b87811015610f39578484038952610f10828461132a565b610f1b868284610e15565b9550610f2684611308565b60209b909b019a93505050600101610ef9565b5091979650505050505050565b610e2b81611386565b610e2b816102d3565b610e2b610f64826102d3565b6102d3565b6000610f758385611312565b9350610f828385846113ab565b610f8b836113e7565b9093019392505050565b6000610fa08261130e565b610faa8185611312565b9350610fba8185602086016113b7565b610f8b816113e7565b610e2b816113a0565b6000610fd9603583611312565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061103060118361087a565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061105d602f83611312565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006110ae60198361087a565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006110e7601883611312565b7f417267756d656e74206c656e677468206d69736d617463680000000000000000815260200192915050565b6000611120601683611312565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b610e2b81611397565b600061115982611023565b91506111658284610f58565b50602001919050565b6000611159826110a1565b60208101610bf18284610e22565b604081016111958285610e22565b6111a26020830184610e22565b9392505050565b604081016111b78286610e22565b81810360208301526111ca818486610f69565b95945050505050565b606081016111e18286610e22565b81810360208301526111f38185610f95565b9050610cc16040830184611145565b60408082528101611214818688610e31565b90508181036020830152611229818486610ed7565b9695505050505050565b602080825281016111a28184610e89565b60208101610bf18284610f46565b60208101610bf18284610f4f565b604081016111958285610f4f565b6040810161127c8285610f4f565b6111a26020830184610f4f565b604081016112978285610f4f565b8181036020830152610cc18184610f95565b60208101610bf18284610fc3565b602080825281016111a28184610f95565b6020808252810161087781610fcc565b6020808252810161087781611050565b60208082528101610877816110da565b6020808252810161087781611113565b60200190565b5190565b90815260200190565b60006111a26020840184610be6565b6000808335601e193685900301811261134257600080fd5b83810160208101935035915067ffffffffffffffff82111561136357600080fd5b3682900384131561137357600080fd5b509250929050565b60006108778261138b565b151590565b6001600160a01b031690565b63ffffffff1690565b60006108778261137b565b82818337506000910152565b60005b838110156113d25781810151838201526020016113ba565b838111156113e1576000848401525b50505050565b601f01601f191690565b6113fa8161137b565b811461140557600080fd5b50565b6113fa816102d3565b6113fa8161139756fea365627a7a72315820f120088082344418b6734cfb9dfb744636fc53f16fe25edf83b27da1354f99856c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"bytes[]","name":"payloads","type":"bytes[]"}],"name":"RelayBatchInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"}],"name":"RelayInitiated","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"uint32","name":"crossDomainGasLimit","type":"uint32"}],"name":"initiateRelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"bytes[]","name":"payloads","type":"bytes[]"},{"internalType":"uint32","name":"crossDomainGasLimit","type":"uint32"}],"name":"initiateRelayBatch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xa1449f609b4427b695977ed157cfe46414a16d902590507338c7d5fb00c40206","urls":["bzz-raw://d5743955f14c8d6aa11062dae9cbdb55518cd8f3a591cd1468ce76937079660f","dweb:/ipfs/QmaRTxN92Z1FXMT1vzobt5aKaVgT2w384tpJE8ndWCMpsz"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"OwnerRelayOnEthereum.sol":"OwnerRelayOnEthereum"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"OwnerRelayOnEthereum.sol":{"keccak256":"0xa1449f609b4427b695977ed157cfe46414a16d902590507338c7d5fb00c40206","urls":["bzz-raw://d5743955f14c8d6aa11062dae9cbdb55518cd8f3a591cd1468ce76937079660f","dweb:/ipfs/QmaRTxN92Z1FXMT1vzobt5aKaVgT2w384tpJE8ndWCMpsz"]}},"version":1}},"SystemSettingsLib":{"bytecode":"61227c610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106103a35760003560e01c806392dabaf2116101f3578063cff3fbb211610119578063f02d9a5b116100b7578063fbfd964611610086578063fbfd964614610b21578063fcaee852146103c2578063fd194a35146103c2578063fe250a5514610b68576103a3565b8063f02d9a5b14610aca578063f1076b2514610b09578063f344da6714610b11578063fb1b4c7e14610b19576103a3565b8063d9158b03116100f3578063d9158b0314610a44578063da91c7b81461087a578063e6abf7cc14610a83578063e78e6bb914610ac2576103a3565b8063cff3fbb21461075c578063d4aebcef146103c2578063d62ae3991461094d576103a3565b8063add0989d11610191578063c264b8f311610160578063c264b8f314610754578063c35b995c146109ac578063c404a0de146109ef578063c58c9ae414610a3c576103a3565b8063add0989d1461095d578063af8bc66014610965578063b2ea705414610754578063b3ebdca41461096d576103a3565b80639f91787d116101cd5780639f91787d14610945578063a4ce5b7114610955578063a6c46110146103c2578063aad237391461094d576103a3565b806392dabaf21461090657806394286a1e1461094557806398be8e3f1461094d576103a3565b80636a5b3043116102d85780637c1d99d6116102765780638134ddb7116102455780638134ddb7146108c1578063834f26de146103c257806383c2ab4d146103c25780638ab5a4a214610754576103a3565b80637c1d99d6146108315780637ce2cc7f146108725780637e1ba6a41461087a5780637eb294141461075c576103a3565b80636db97ffa116102b25780636db97ffa146103c257806372c6c341146107da57806375d0c0dc146107e25780637c14e56b146107ea576103a3565b80636a5b30431461075c5780636c5a9809146105ef5780636d4851f11461079b576103a3565b8063446ca4fd116103455780635d3045ab1161031f5780635d3045ab146106895780635f7ad871146106ce57806363daca0914610715578063657c6dc714610754576103a3565b8063446ca4fd146105ef57806353c0bf1c14610634578063580a975c14610681576103a3565b806311d78c0c1161038157806311d78c0c1461044257806319305b3c1461048d5780631a5bb1f7146104cc57806333ddab68146105b0576103a3565b8063085f95cd146103a85780630e7bf1c5146103c257806310ada72014610403575b600080fd5b6103b0610ba7565b60408051918252519081900360200190f35b8180156103ce57600080fd5b50610401600480360360608110156103e557600080fd5b506001600160a01b038135169060208101359060400135610bb3565b005b81801561040f57600080fd5b506103b06004803603606081101561042657600080fd5b506001600160a01b038135169060208101359060400135610c36565b81801561044e57600080fd5b50610401600480360360a081101561046557600080fd5b506001600160a01b038135169060208101359060408101359060608101359060800135610d9c565b81801561049957600080fd5b50610401600480360360608110156104b057600080fd5b506001600160a01b038135169060208101359060400135610f53565b8180156104d857600080fd5b50610401600480360360808110156104ef57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561051f57600080fd5b82018360208201111561053157600080fd5b8035906020019184602083028401116401000000008311171561055357600080fd5b91939092909160208101903564010000000081111561057157600080fd5b82018360208201111561058357600080fd5b803590602001918460208302840111640100000000831117156105a557600080fd5b509092509050610f99565b8180156105bc57600080fd5b50610401600480360360608110156105d357600080fd5b506001600160a01b038135169060208101359060400135611144565b8180156105fb57600080fd5b506104016004803603608081101561061257600080fd5b506001600160a01b0381351690602081013590604081013590606001356111c6565b81801561064057600080fd5b50610401600480360360a081101561065757600080fd5b506001600160a01b038135811691602081013591604082013516906060810135906080013561126e565b6103b0611430565b81801561069557600080fd5b50610401600480360360808110156106ac57600080fd5b506001600160a01b038135169060208101359060408101359060600135611437565b8180156106da57600080fd5b50610401600480360360808110156106f157600080fd5b506001600160a01b03813581169160208101359160408201359160600135166114bf565b81801561072157600080fd5b506104016004803603606081101561073857600080fd5b506001600160a01b0381351690602081013590604001356115a7565b6103b0611657565b81801561076857600080fd5b506104016004803603606081101561077f57600080fd5b506001600160a01b038135169060208101359060400135611663565b8180156107a757600080fd5b50610401600480360360608110156107be57600080fd5b506001600160a01b0381351690602081013590604001356116aa565b6103b06116f1565b6103b0611706565b8180156107f657600080fd5b506104016004803603608081101561080d57600080fd5b506001600160a01b038135169060208101359060408101359060600135151561171b565b81801561083d57600080fd5b506104016004803603606081101561085457600080fd5b506001600160a01b03813516906020810135906040013515156117a6565b6103b061180d565b81801561088657600080fd5b506104016004803603608081101561089d57600080fd5b506001600160a01b0381358116916020810135916040820135169060600135611814565b8180156108cd57600080fd5b50610401600480360360808110156108e457600080fd5b506001600160a01b0381351690602081013590604081013590606001356118b1565b81801561091257600080fd5b506104016004803603606081101561092957600080fd5b506001600160a01b03813516906020810135906040013561190e565b6103b061196b565b6103b0611970565b6103b0611977565b6103b0611983565b6103b0611989565b81801561097957600080fd5b506104016004803603606081101561099057600080fd5b506001600160a01b03813516906020810135906040013561198e565b8180156109b857600080fd5b50610401600480360360608110156109cf57600080fd5b506001600160a01b03813581169160208101359160409091013516611a11565b8180156109fb57600080fd5b50610401600480360360a0811015610a1257600080fd5b506001600160a01b0381358116916020810135916040820135169060608101359060800135611ad5565b6103b0611bdb565b818015610a5057600080fd5b5061040160048036036060811015610a6757600080fd5b506001600160a01b038135169060208101359060400135611be2565b818015610a8f57600080fd5b5061040160048036036060811015610aa657600080fd5b506001600160a01b038135169060208101359060400135611c3a565b6103b0611ce9565b818015610ad657600080fd5b5061040160048036036060811015610aed57600080fd5b506001600160a01b038135169060208101359060400135611cf4565b6103b0611d5b565b6103b0611d62565b6103b0611d69565b818015610b2d57600080fd5b5061040160048036036080811015610b4457600080fd5b506001600160a01b0381358116916020810135916040820135169060600135611d75565b818015610b7457600080fd5b5061040160048036036060811015610b8b57600080fd5b506001600160a01b038135169060208101359060400135611e2a565b670c7d713b49da000081565b60408051631d5b277f60e01b81526d53797374656d53657474696e677360901b6004820152602481018490526044810183905290516001600160a01b03851691631d5b277f91606480830192600092919082900301818387803b158015610c1957600080fd5b505af1158015610c2d573d6000803e3d6000fd5b50505050505050565b60006032821115610c83576040805162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b604482015290519081900360640190fd5b610d146064610d0873__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ccf57600080fd5b505af4158015610ce3573d6000803e3d6000fd5b505050506040513d6020811015610cf957600080fd5b5051859063ffffffff611e8716565b9063ffffffff611ee916565b9050836001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b85846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b505050509392505050565b610e34610e1f8373__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610de757600080fd5b505af4158015610dfb573d6000803e3d6000fd5b505050506040513d6020811015610e1157600080fd5b50519063ffffffff611f5316565b670de0b6b3a76400009063ffffffff611fad16565b831115610e725760405162461bcd60e51b81526004018080602001828103825260388152602001806120386038913960400191505060405180910390fd5b6000610e8c82671bc16d674ec8000063ffffffff611fcb16565b905080841015610ecd5760405162461bcd60e51b81526004018080602001828103825260288152602001806121946028913960400191505060405180910390fd5b60408051631d5b277f60e01b81526d53797374656d53657474696e677360901b6004820152602481018790526044810186905290516001600160a01b03881691631d5b277f91606480830192600092919082900301818387803b158015610f3357600080fd5b505af1158015610f47573d6000803e3d6000fd5b50505050505050505050565b6001600160c01b03811115610bb35760405162461bcd60e51b81526004018080602001828103825260288152602001806120916028913960400191505060405180910390fd5b828114610fed576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b83811015610c2d5767016345785d8a000083838381811061100d57fe5b905060200201351115611067576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b866001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b8888888681811061109557fe5b905060200201356040516020018083815260200182815260200192505050604051602081830303815290604052805190602001208686868181106110d557fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561112057600080fd5b505af1158015611134573d6000803e3d6000fd5b505060019092019150610ff09050565b603c8110156111845760405162461bcd60e51b81526004018080602001828103825260268152602001806121146026913960400191505060405180910390fd5b62015180811115610bb35760405162461bcd60e51b81526004018080602001828103825260278152602001806121bc6027913960400191505060405180910390fd5b6040805160208082018690528183018590528251808303840181526060830180855281519190920120631d5b277f60e01b9091526d53797374656d53657474696e677360901b6064830152608482015260a4810183905290516001600160a01b03861691631d5b277f9160c480830192600092919082900301818387803b15801561125057600080fd5b505af1158015611264573d6000803e3d6000fd5b5050505050505050565b670de0b6b3a76400008213156112cb576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4d494e545f4645455f52415445604482015290519081900360640190fd5b670de0b6b3a763ffff198212156113135760405162461bcd60e51b81526004018080602001828103825260218152602001806120706021913960400191505060405180910390fd5b60008212156113745780826000031315611374576040805162461bcd60e51b815260206004820152601a60248201527f2d72617465203e20777261707065724275726e46656552617465000000000000604482015290519081900360640190fd5b6040805160208082018790526bffffffffffffffffffffffff19606087901b168284015282516034818403018152605483018085528151919092012063d71a9b0160e01b9091526d53797374656d53657474696e677360901b605883015260788201526098810184905290516001600160a01b0387169163d71a9b019160b880830192600092919082900301818387803b15801561141157600080fd5b505af1158015611425573d6000803e3d6000fd5b505050505050505050565b62093a8081565b80156111c657603c81101561147d5760405162461bcd60e51b815260040180806020018281038252603a8152602001806120da603a913960400191505060405180910390fd5b620151808111156111c65760405162461bcd60e51b815260040180806020018281038252603b81526020018061220d603b913960400191505060405180910390fd5b6001600160a01b03811661151a576040805162461bcd60e51b815260206004820152601e60248201527f41746f6d6963206571756976616c656e74206973203020616464726573730000604482015290519081900360640190fd5b60408051602080820186905281830185905282518083038401815260608301808552815191909201206309b9412f60e31b9091526d53797374656d53657474696e677360901b606483015260848201526001600160a01b0383811660a4830152915191861691634dca09789160c48082019260009290919082900301818387803b15801561125057600080fd5b620151808110156115ff576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b624f1a00811115610bb3576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b670de0b6b3a764000081565b670c7d713b49da0000811115610bb35760405162461bcd60e51b8152600401808060200182810382526021815260200180611ff66021913960400191505060405180910390fd5b670de0b6b3a7640000811115610bb35760405162461bcd60e51b815260040180806020018281038252603381526020018061213a6033913960400191505060405180910390fd5b6d53797374656d53657474696e677360901b81565b6d53797374656d53657474696e677360901b90565b6040805160208082018690528183018590528251808303840181526060830180855281519190920120630fca29bf60e21b9091526d53797374656d53657474696e677360901b6064830152608482015282151560a482015290516001600160a01b03861691633f28a6fc9160c480830192600092919082900301818387803b15801561125057600080fd5b60408051630fca29bf60e21b81526d53797374656d53657474696e677360901b600482015260248101849052821515604482015290516001600160a01b03851691633f28a6fc91606480830192600092919082900301818387803b158015610c1957600080fd5b622dc6c081565b6040805160208082018690526bffffffffffffffffffffffff19606086901b1682840152825160348184030181526054830180855281519190920120631d5b277f60e01b9091526d53797374656d53657474696e677360901b605883015260788201526098810183905290516001600160a01b03861691631d5b277f9160b880830192600092919082900301818387803b15801561125057600080fd5b67016345785d8a00008111156111c6576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b670de0b6b3a7640000811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4255524e5f4645455f52415445604482015290519081900360640190fd5b603c81565b6201518081565b671bc16d674ec8000081565b61012c81565b603281565b6203f4808111156119d05760405162461bcd60e51b815260040180806020018281038252602781526020018061216d6027913960400191505060405180910390fd5b61012c811015610bb35760405162461bcd60e51b815260040180806020018281038252602a8152602001806121e3602a913960400191505060405180910390fd5b6001600160a01b038116611a6c576040805162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015290519081900360640190fd5b604080516309b9412f60e31b81526d53797374656d53657474696e677360901b6004820152602481018490526001600160a01b038381166044830152915191851691634dca09789160648082019260009290919082900301818387803b158015610c1957600080fd5b670de0b6b3a7640000821315611b32576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4255524e5f4645455f52415445604482015290519081900360640190fd5b670de0b6b3a763ffff19821215611b7a5760405162461bcd60e51b81526004018080602001828103825260218152602001806120176021913960400191505060405180910390fd5b60008212156113745780826000031315611374576040805162461bcd60e51b815260206004820152601a60248201527f2d72617465203e20777261707065724d696e7446656552617465000000000000604482015290519081900360640190fd5b62b71b0081565b62093a80811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015290519081900360640190fd5b80611c8c576040805162461bcd60e51b815260206004820152601b60248201527f4d61782064796e616d6963206665652063616e6e6f7420626520300000000000604482015290519081900360640190fd5b67016345785d8a0000811115610bb3576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b6001600160c01b0381565b622dc6c08110158015611d0a575062b71b008111155b610bb3576040805162461bcd60e51b815260206004820152601d60248201527f4f7574206f662072616e67652078446f6d61696e206761734c696d6974000000604482015290519081900360640190fd5b6203f48081565b624f1a0081565b67016345785d8a000081565b73__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611db957600080fd5b505af4158015611dcd573d6000803e3d6000fd5b505050506040513d6020811015611de357600080fd5b5051610e1002811115611814576040805162461bcd60e51b815260206004820152600a60248201526926b0bc1018903437bab960b11b604482015290519081900360640190fd5b670de0b6b3a7640000811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4d494e545f4645455f52415445604482015290519081900360640190fd5b600082611e9657506000611ee3565b82820282848281611ea357fe5b0414611ee05760405162461bcd60e51b81526004018080602001828103825260218152602001806120b96021913960400191505060405180910390fd5b90505b92915050565b6000808211611f3f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611f4a57fe5b04949350505050565b600082820183811015611ee0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611ee082610d0885670de0b6b3a764000063ffffffff611e8716565b6000670de0b6b3a7640000611fe6848463ffffffff611e8716565b81611fed57fe5b04939250505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c545972617465203c202d4d41585f575241505045525f4255524e5f4645455f524154456c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c74792972617465203c202d4d41585f575241505045525f4d494e545f4645455f5241544541746f6d6963206d617820766f6c756d6520657863656564206d6178696d756d2075696e74313932536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7741746f6d696320766f6c6174696c69747920636f6e73696465726174696f6e2077696e646f7720756e646572206d696e696d756d2031206d696e41746f6d696320747761702077696e646f7720756e646572206d696e696d756d2031206d696e4e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f4d757374206265206c657373207468616e204d41585f4c49515549444154494f4e5f44454c41596c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f41746f6d696320747761702077696e646f7720657863656564206d6178696d756d2031206461794d7573742062652067726561746572207468616e204d494e5f4c49515549444154494f4e5f44454c415941746f6d696320766f6c6174696c69747920636f6e73696465726174696f6e2077696e646f7720657863656564206d6178696d756d203120646179a265627a7a72315820cd8363b75bb13ef0742464a072a3de5915154d92220f428192cdca5e26a0706264736f6c63430005100032","abi":[{"constant":true,"inputs":[],"name":"MAX_ATOMIC_TWAP_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_ATOMIC_VOLUME_PER_BLOCK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_CROSS_DOMAIN_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_EXCHANGE_FEE_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_FEE_PERIOD_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_ISSUANCE_RATIO","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_LIQUIDATION_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_LIQUIDATION_PENALTY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_LIQUIDATION_RATIO","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_MINIMUM_STAKE_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_TARGET_THRESHOLD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_WRAPPER_BURN_FEE_RATE","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_WRAPPER_MINT_FEE_RATE","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_ATOMIC_TWAP_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_CROSS_DOMAIN_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_FEE_PERIOD_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_LIQUIDATION_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"RATIO_FROM_TARGET_BUFFER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SETTINGS_CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contractName","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xc4e328478f9c625bb34c4f019040afd62b9dfb8f03882727e39888d3173f09a9","urls":["bzz-raw://9b67af2b53422c1e714c9b0d692091b106859c2fac8086e0138f0097404cc9b8","dweb:/ipfs/Qme6KcWY48toJuoEKLHh8SJuKNcJPYHp5jfxXaYsELUTXc"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SystemSettingsLib.sol":"SystemSettingsLib"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SystemSettingsLib.sol":{"keccak256":"0xc4e328478f9c625bb34c4f019040afd62b9dfb8f03882727e39888d3173f09a9","urls":["bzz-raw://9b67af2b53422c1e714c9b0d692091b106859c2fac8086e0138f0097404cc9b8","dweb:/ipfs/Qme6KcWY48toJuoEKLHh8SJuKNcJPYHp5jfxXaYsELUTXc"]}},"version":1}},"SynthetixDebtShare":{"bytecode":"6080604052600a805460ff60881b191690553480156200001e57600080fd5b506040516200247238038062002472833981810160405260408110156200004457600080fd5b50805160209091015180826001600160a01b038116620000ab576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260158082527f53796e746865746978204465627420536861726573000000000000000000000060209092019182526200016a91600891620001be565b506040805180820190915260038082526253445360e81b60209092019182526200019791600991620001be565b5050600a8054610100600160881b031960ff19909116601217166101001790555062000263565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020157805160ff191683800117855562000231565b8280016001018555821562000231579182015b828111156200023157825182559160200191906001019062000214565b506200023f92915062000243565b5090565b6200026091905b808211156200023f57600081556001016200024a565b90565b6121ff80620002736000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806379ba509711610125578063a3e0a7d7116100ad578063cbf1304d1161007c578063cbf1304d146106cf578063d186820614610721578063dd62ed3e14610747578063e6d24bbd14610775578063f9cb1da31461079b5761021c565b8063a3e0a7d714610660578063a9059cbb146102c2578063abb6de951461067d578063c2f04b0a146106a35761021c565b80638ced14df116100f45780638ced14df1461053e5780638da5cb5b1461056a5780638f8495181461057257806395d89b4114610634578063988e65951461063c5761021c565b806379ba5097146104aa57806386f25e4d146104b2578063899ffef4146104ba5780638a25acf4146105125761021c565b806325428394116101a8578063392e53cd11610177578063392e53cd1461046457806353a47bb71461046c578063614d08f81461047457806370a082311461047c57806374185360146104a25761021c565b806325428394146103f25780632af64bd314610418578063313ce567146104205780633913d24b1461043e5761021c565b80631627540c116101ef5780631627540c1461032a578063174495dd1461035057806318160ddd146103765780631a378f0d1461039057806323b872dd146103bc5761021c565b806304f3bcec1461022157806306fdde0314610245578063095ea7b3146102c25780631495552814610302575b600080fd5b6102296107c1565b604080516001600160a01b039092168252519081900360200190f35b61024d6107d0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028757818101518382015260200161026f565b50505050905090810190601f1680156102b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ee600480360360408110156102d857600080fd5b506001600160a01b03813516906020013561085e565b604080519115158252519081900360200190f35b6103286004803603602081101561031857600080fd5b50356001600160a01b0316610897565b005b6103286004803603602081101561034057600080fd5b50356001600160a01b03166108fd565b6103286004803603602081101561036657600080fd5b50356001600160a01b0316610959565b61037e6109b7565b60408051918252519081900360200190f35b610328600480360360408110156103a657600080fd5b506001600160a01b0381351690602001356109db565b6102ee600480360360608110156103d257600080fd5b506001600160a01b03813581169160208101359091169060400135610b61565b6103286004803603602081101561040857600080fd5b50356001600160a01b0316610c61565b6102ee610cbf565b610428610dc9565b6040805160ff9092168252519081900360200190f35b6103286004803603602081101561045457600080fd5b50356001600160a01b0316610dd2565b6102ee610e38565b610229610e48565b61037e610e57565b61037e6004803603602081101561049257600080fd5b50356001600160a01b0316610e70565b610328610ede565b6103286110a6565b610328611162565b6104c261117f565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104fe5781810151838201526020016104e6565b505050509050019250505060405180910390f35b61037e6004803603604081101561052857600080fd5b506001600160a01b0381351690602001356111c7565b61037e6004803603604081101561055457600080fd5b506001600160a01b0381351690602001356112e6565b61022961132c565b6103286004803603604081101561058857600080fd5b8101906020810181356401000000008111156105a357600080fd5b8201836020820111156105b557600080fd5b803590602001918460208302840111640100000000831117156105d757600080fd5b9193909290916020810190356401000000008111156105f557600080fd5b82018360208201111561060757600080fd5b8035906020019184602083028401116401000000008311171561062957600080fd5b50909250905061133b565b61024d611643565b61064461169e565b604080516001600160801b039092168252519081900360200190f35b61037e6004803603602081101561067657600080fd5b50356116b2565b6103286004803603602081101561069357600080fd5b50356001600160801b03166116c4565b610328600480360360408110156106b957600080fd5b506001600160a01b0381351690602001356117fb565b6106fb600480360360408110156106e557600080fd5b506001600160a01b03813516906020013561197d565b604080516001600160801b03938416815291909216602082015281519081900390910190f35b6102ee6004803603602081101561073757600080fd5b50356001600160a01b03166119bd565b61037e6004803603604081101561075d57600080fd5b506001600160a01b03813581169160200135166119d2565b61037e6004803603602081101561078b57600080fd5b50356001600160a01b0316611a04565b6102ee600480360360208110156107b157600080fd5b50356001600160a01b0316611a23565b6002546001600160a01b031681565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b820191906000526020600020905b81548152906001019060200180831161083957829003601f168201915b505050505081565b600060405162461bcd60e51b815260040180806020018281038252602181526020018061215c6021913960400191505060405180910390fd5b61089f611a38565b6001600160a01b038116600081815260046020908152604091829020805460ff19166001908117909155825190815291517f6e713465f03f44982be319e75ac01e2170374630e7bde28a104881e236fb07e39281900390910190a250565b610905611a38565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610961611a38565b6001600160a01b0381166000818152600560209081526040808320805460ff191690558051928352517f6c26d4e15c21227ab0fca84cab71715b23c6c4137b24cbcaedc517b673a1781f9281900390910190a250565b600a5461010090046001600160801b03166000908152600760205260409020545b90565b6109ed6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b031614610a3c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061212f602d913960400191505060405180910390fd5b6001600160a01b038216610a97576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a206275726e2066726f6d207a65726f2061646472657373000000604482015290519081900360640190fd5b610aa18282611b67565b600a5461010090046001600160801b0316600090815260076020526040902054610acb9082611d45565b600a5461010090046001600160801b03166000908152600760209081526040808320939093558251848152925191926001600160a01b0386169260008051602061217d833981519152929181900390910190a36040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b3360009081526004602052604081205460ff16610baf5760405162461bcd60e51b81526004018080602001828103825260318152602001806120a86031913960400191505060405180910390fd5b6001600160a01b038316610c0a576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a2073656e6420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c148483611b67565b610c1e8383611da2565b826001600160a01b0316846001600160a01b031660008051602061217d833981519152846040518082815260200191505060405180910390a35060019392505050565b610c69611a38565b6001600160a01b0381166000818152600460209081526040808320805460ff191690558051928352517f6e713465f03f44982be319e75ac01e2170374630e7bde28a104881e236fb07e39281900390910190a250565b60006060610ccb61117f565b905060005b8151811015610dc0576000828281518110610ce757fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610d4f57600080fd5b505afa158015610d63573d6000803e3d6000fd5b505050506040513d6020811015610d7957600080fd5b50516001600160a01b0316141580610da657506000818152600360205260409020546001600160a01b0316155b15610db757600093505050506109d8565b50600101610cd0565b50600191505090565b600a5460ff1681565b610dda611a38565b6001600160a01b038116600081815260056020908152604091829020805460ff19166001908117909155825190815291517f6c26d4e15c21227ab0fca84cab71715b23c6c4137b24cbcaedc517b673a1781f9281900390910190a250565b600a54600160881b900460ff1681565b6001546001600160a01b031681565b7153796e74686574697844656274536861726560701b81565b6001600160a01b03811660009081526006602052604081205480610e98576000915050610ed9565b6001600160a01b038316600090815260066020526040902080546000198301908110610ec057fe5b6000918252602090912001546001600160801b03169150505b919050565b6060610ee861117f565b905060005b81518110156110a2576000828281518110610f0457fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610fba578181015183820152602001610fa2565b50505050905090810190601f168015610fe75780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561100557600080fd5b505afa158015611019573d6000803e3d6000fd5b505050506040513d602081101561102f57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610eed565b5050565b6001546001600160a01b031633146110ef5760405162461bcd60e51b8152600401808060200182810382526035815260200180611fe36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b61116a611a38565b600a805460ff60881b1916600160881b179055565b604080516001808252818301909252606091602080830190803883390190505090506524b9b9bab2b960d11b816000815181106111b857fe5b60200260200101818152505090565b6001600160a01b03821660009081526006602052604081205481601e82116111f05760006111f5565b601e82035b905060001982015b818112611299576001600160a01b038616600090815260066020526040902080548691908390811061122b57fe5b600091825260209091200154600160801b90046001600160801b031611611290576001600160a01b038616600090815260066020526040902080548290811061127057fe5b6000918252602090912001546001600160801b031693506112e092505050565b600019016111fd565b600081126112d85760405162461bcd60e51b815260040180806020018281038252602f815260200180612018602f913960400191505060405180910390fd5b600093505050505b92915050565b6000806112f384846111c7565b9050806113045760009150506112e0565b60008381526007602052604090205461132490829063ffffffff611e9416565b949350505050565b6000546001600160a01b031681565b611343611a38565b600a54600160881b900460ff161561138c5760405162461bcd60e51b81526004018080602001828103825260358152602001806120fa6035913960400191505060405180910390fd5b600a5461010090046001600160801b0316600090815260076020526040812054905b8481101561161c5760006113dc8787848181106113c757fe5b905060200201356001600160a01b0316610e70565b90508484838181106113ea57fe5b905060200201358110156114ff5760008186868581811061140757fe5b9050602002013503905061143688888581811061142057fe5b905060200201356001600160a01b031682611da2565b611446848263ffffffff611ec516565b935087878481811061145457fe5b905060200201356001600160a01b03166001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a28787848181106114b057fe5b905060200201356001600160a01b03166001600160a01b031660006001600160a01b031660008051602061217d833981519152836040518082815260200191505060405180910390a350611613565b84848381811061150b57fe5b9050602002013581111561161357600085858481811061152757fe5b905060200201358203905061155788888581811061154157fe5b905060200201356001600160a01b031682611b67565b611567848263ffffffff611d4516565b935087878481811061157557fe5b905060200201356001600160a01b03166001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a260008888858181106115d357fe5b905060200201356001600160a01b03166001600160a01b031660008051602061217d833981519152836040518082815260200191505060405180910390a3505b506001016113ae565b50600a5461010090046001600160801b031660009081526007602052604090205550505050565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b600a5461010090046001600160801b031681565b60076020526000908152604090205481565b3360009081526005602052604090205460ff168061170457506116ef6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b0316145b61173f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061219d602e913960400191505060405180910390fd5b600a546001600160801b036101009091048116908216116117a7576040805162461bcd60e51b815260206004820152601e60248201527f706572696f64206964206d75737420616c7761797320696e6372656173650000604482015290519081900360640190fd5b600a8054610100908190046001600160801b03908116600090815260076020526040808220549590921680825291902093909355815470ffffffffffffffffffffffffffffffff0019169202919091179055565b61180d6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b03161461185c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061212f602d913960400191505060405180910390fd5b6001600160a01b0382166118b7576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6118c18282611da2565b600a5461010090046001600160801b03166000908152600760205260409020546118eb9082611ec5565b600a5461010090046001600160801b0316600090815260076020908152604080832093909355825184815292516001600160a01b0386169360008051602061217d83398151915292908290030190a36040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25050565b6006602052816000526040600020818154811061199657fe5b6000918252602090912001546001600160801b038082169350600160801b90910416905082565b60046020526000908152604090205460ff1681565b6001600160a01b03811660009081526004602052604081205460ff16156119fc57506000196112e0565b5060006112e0565b600a546000906112e090839061010090046001600160801b03166112e6565b60056020526000908152604090205460ff1681565b6000546001600160a01b03163314611a815760405162461bcd60e51b815260040180806020018281038252602f815260200180612079602f913960400191505060405180910390fd5b565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611b605760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b25578181015183820152602001611b0d565b50505050905090810190601f168015611b525780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b6001600160a01b03821660009081526006602052604090205480611bbc5760405162461bcd60e51b81526004018080602001828103825260328152602001806120476032913960400191505060405180910390fd5b6001600160a01b03831660009081526006602052604081208054611c0b9185916000198601908110611bea57fe5b6000918252602090912001546001600160801b03169063ffffffff611d4516565b600a546001600160a01b038616600090815260066020526040902080549293506101009091046001600160801b0316916000198501908110611c4957fe5b600091825260209091200154600160801b90046001600160801b031614611cea576001600160a01b038416600090815260066020908152604080832081518083019092526001600160801b038086168352600a546101009004811683850190815282546001810184559286529390942091519101805492518416600160801b029184166001600160801b031990931692909217909216919091179055611d3f565b6001600160a01b038416600090815260066020526040902080548291906000198501908110611d1557fe5b600091825260209091200180546001600160801b0319166001600160801b03929092169190911790555b50505050565b600082821115611d9c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b03821660009081526006602052604090205480611e40576001600160a01b038316600090815260066020908152604080832081518083019092526001600160801b038087168352600a546101009004811683850190815282546001810184559286529390942091519101805492518416600160801b029184166001600160801b031990931692909217909216919091179055611e8f565b6001600160a01b03831660009081526006602052604081208054611c0b9185916000198601908110611e6e57fe5b6000918252602090912001546001600160801b03169063ffffffff611ec516565b505050565b6000611ebe82611eb285670de0b6b3a764000063ffffffff611f1f16565b9063ffffffff611f7816565b9392505050565b600082820183811015611ebe576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082611f2e575060006112e0565b82820282848281611f3b57fe5b0414611ebe5760405162461bcd60e51b81526004018080602001828103825260218152602001806120d96021913960400191505060405180910390fd5b6000808211611fce576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611fd957fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053796e7468657469784465627453686172653a206e6f7420666f756e6420696e20726563656e7420686973746f727953796e7468657469784465627453686172653a206163636f756e7420686173206e6f20736861726520746f206465647563744f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e53796e7468657469784465627453686172653a206f6e6c792062726f6b6572732063616e207472616e7366657246726f6d536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753796e746865746978446562743a206f6e6c792063616c6c61626c65207768696c65207374696c6c20696e697469616c697a696e6753796e7468657469784465627453686172653a206f6e6c79206973737565722063616e206d696e742f6275726e646562742073686172657320617265206e6f74207472616e736665727261626c65ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef53796e7468657469784465627453686172653a206e6f7420617574686f72697a656420746f20736e617073686f74a265627a7a72315820e11b43536dd21a59bb3dcb49ad27bfd66750e25ebf7094c5f21da77098b7418064736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authorizedBroker","type":"address"},{"indexed":false,"internalType":"bool","name":"authorized","type":"bool"}],"name":"ChangeAuthorizedBroker","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authorizedToSnapshot","type":"address"},{"indexed":false,"internalType":"bool","name":"authorized","type":"bool"}],"name":"ChangeAuthorizedToSnapshot","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"addAuthorizedBroker","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"addAuthorizedToSnapshot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedBrokers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedToSnapshot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"periodId","type":"uint256"}],"name":"balanceOfOnPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"balances","outputs":[{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"uint128","name":"periodId","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnShare","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentPeriodId","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishSetup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"importAddresses","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintShare","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"removeAuthorizedBroker","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"removeAuthorizedToSnapshot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"sharePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"periodId","type":"uint256"}],"name":"sharePercentOnPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint128","name":"id","type":"uint128"}],"name":"takeSnapshot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"totalSupplyOnPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x403192bc309d6eee98ddbfaeed166b50c2665df94167c6970e785a65b71dd0e3","urls":["bzz-raw://d2970733a0d6aa60f3586add135bc3b3027a85a7b7b78aa13302b759da9e2a01","dweb:/ipfs/QmXDdJw9UmFP23ERqEzgYGAJtBtmnkbVVu2Guj67dRkK81"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SynthetixDebtShare.sol":"SynthetixDebtShare"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SynthetixDebtShare.sol":{"keccak256":"0x403192bc309d6eee98ddbfaeed166b50c2665df94167c6970e785a65b71dd0e3","urls":["bzz-raw://d2970733a0d6aa60f3586add135bc3b3027a85a7b7b78aa13302b759da9e2a01","dweb:/ipfs/QmXDdJw9UmFP23ERqEzgYGAJtBtmnkbVVu2Guj67dRkK81"]}},"version":1}},"SignedSafeDecimalMath":{"bytecode":"61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a7231582002d10680a162a038b37ac2fc2674f016de20e4afe149e671085264fae2a1a3f164736f6c63430005100032","abi":[{"constant":true,"inputs":[],"name":"PRECISE_UNIT","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"UNIT","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"highPrecisionDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"preciseUnit","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"unit","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"pure","type":"function"}],"source":{"keccak256":"0x0ddaacba077350bf0186ddf53ac5128dfc1de2b4a7e845ab15be49e78f96b5c9","urls":["bzz-raw://b3d390a2e050bb973002380fa2a51a122551b609862d0f29147fa18decc825ce","dweb:/ipfs/QmXn396HhaabfdtctpgxKs5VHpPE6mJmRVJyXAS8tPtMEX"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"SignedSafeDecimalMath.sol":"SignedSafeDecimalMath"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"SignedSafeDecimalMath.sol":{"keccak256":"0x0ddaacba077350bf0186ddf53ac5128dfc1de2b4a7e845ab15be49e78f96b5c9","urls":["bzz-raw://b3d390a2e050bb973002380fa2a51a122551b609862d0f29147fa18decc825ce","dweb:/ipfs/QmXn396HhaabfdtctpgxKs5VHpPE6mJmRVJyXAS8tPtMEX"]}},"version":1}},"OneNetAggregatorIssuedSynths":{"bytecode":"608060405234801561001057600080fd5b506040516107c73803806107c78339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055506106b5806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b610169610305565b61013961030a565b6100f76103c6565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103d5565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b5035610533565b6101696004803603602081101561022e57600080fd5b5035610576565b6101696004803603602081101561024b57600080fd5b503561058c565b6101696105a2565b6101bc6105a8565b6002546001600160a01b031681565b6102796105d1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600090565b6001546001600160a01b031681565b7f4f6e654e657441676772656761746f7249737375656453796e7468730000000081565b600190565b6001546001600160a01b031633146103535760405162461bcd60e51b815260040180806020018281038252603581526020018061061d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546040805163dacb2d0160e01b81526524b9b9bab2b960d11b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b60648201529051600092839283928392839283926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561046057600080fd5b505afa158015610474573d6000803e3d6000fd5b505050506040513d602081101561048a57600080fd5b505160408051637b1001b760e01b8152631cd554d160e21b60048201526001602482015290516001600160a01b0390921691637b1001b791604480820192602092909190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b505160035490915042901561052057506003545b6001989197509550859450879350915050565b61053b6105d1565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b6000610581826103d5565b509195945050505050565b6000610597826103d5565b509095945050505050565b60035481565b60008060008060006105c06105bb610305565b6103d5565b945094509450945094509091929394565b6000546001600160a01b0316331461061a5760405162461bcd60e51b815260040180806020018281038252602f815260200180610652602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820a8352dd68973310a46b067473c21594fbc025d3483917d5536fa040291d56b6e64736f6c63430005100032","abi":[{"inputs":[{"internalType":"contract AddressResolver","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"SetOverrideTimestamp","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"answer","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint80","name":"","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"overrideTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"setOverrideTimestamp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x0ede3bc15d24f2a3af48de0cec7077cd6572345a3fd313e22319e676eeb57526","urls":["bzz-raw://321ca48e8408efd0de1a3fe7c2f23e82ac6253e1e358aef10504cf2739af1e1a","dweb:/ipfs/QmPDBHp4iKUvw76znEsFj4yLiJE4rVymfQrQetqkbgaRiK"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"OneNetAggregatorIssuedSynths.sol":"OneNetAggregatorIssuedSynths"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"OneNetAggregatorIssuedSynths.sol":{"keccak256":"0x0ede3bc15d24f2a3af48de0cec7077cd6572345a3fd313e22319e676eeb57526","urls":["bzz-raw://321ca48e8408efd0de1a3fe7c2f23e82ac6253e1e358aef10504cf2739af1e1a","dweb:/ipfs/QmPDBHp4iKUvw76znEsFj4yLiJE4rVymfQrQetqkbgaRiK"]}},"version":1}},"OneNetAggregatorDebtRatio":{"bytecode":"608060405234801561001057600080fd5b50604051610a7d380380610a7d8339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b03929092169190911790555061096b806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b610169610305565b61013961030a565b6100f76103c6565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103d5565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b503561068a565b6101696004803603602081101561022e57600080fd5b50356106cd565b6101696004803603602081101561024b57600080fd5b50356106e3565b6101696106f9565b6101bc6106ff565b6002546001600160a01b031681565b610279610728565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600090565b6001546001600160a01b031681565b7f4f6e654e657441676772656761746f7244656274526174696f0000000000000081565b600190565b6001546001600160a01b031633146103535760405162461bcd60e51b81526004018080602001828103825260358152602001806108b26035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546040805163dacb2d0160e01b81526524b9b9bab2b960d11b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b60648201529051600092839283928392839283926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561046057600080fd5b505afa158015610474573d6000803e3d6000fd5b505050506040513d602081101561048a57600080fd5b505160408051637b1001b760e01b8152631cd554d160e21b60048201526001602482015290516001600160a01b0390921691637b1001b791604480820192602092909190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b50516002546040805163dacb2d0160e01b81527153796e74686574697844656274536861726560701b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b606482015290519293506000926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561059e57600080fd5b505afa1580156105b2573d6000803e3d6000fd5b505050506040513d60208110156105c857600080fd5b5051604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b15801561060c57600080fd5b505afa158015610620573d6000803e3d6000fd5b505050506040513d602081101561063657600080fd5b50519050600081156106605761065b8261064f85610773565b9063ffffffff61078f16565b610663565b60005b60035490915042901561067557506003545b60019a91995097508796508995509350505050565b610692610728565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b60006106d8826103d5565b509195945050505050565b60006106ee826103d5565b509095945050505050565b60035481565b6000806000806000610717610712610305565b6103d5565b945094509450945094509091929394565b6000546001600160a01b031633146107715760405162461bcd60e51b815260040180806020018281038252602f8152602001806108e7602f913960400191505060405180910390fd5b565b600061078982633b9aca0063ffffffff6107ab16565b92915050565b60006107a48383670de0b6b3a7640000610804565b9392505050565b6000826107ba57506000610789565b828202828482816107c757fe5b04146107a45760405162461bcd60e51b81526004018080602001828103825260218152602001806109166021913960400191505060405180910390fd5b60008061082a8461081e87600a870263ffffffff6107ab16565b9063ffffffff61084716565b90506005600a82061061083b57600a015b600a9004949350505050565b600080821161089d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816108a857fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a7231582009e49f7debea502e08c3eb3be2d65a2024aceab8ea78b8785278a3ca603582cd64736f6c63430005100032","abi":[{"inputs":[{"internalType":"contract AddressResolver","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"SetOverrideTimestamp","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"answer","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint80","name":"","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"overrideTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"setOverrideTimestamp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0xb64547811fca7c66e90856ac0f175ca0e3dcc2033ec15985fbb854ff275e796c","urls":["bzz-raw://27c3111da5cb739550e024dd051aeb5ad4bcb57dcff396a29041ffa312228703","dweb:/ipfs/QmP6J5yQFEq9N7JZ9659n2BbEPFmGZhZp2kLN512Azar9v"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"OneNetAggregatorDebtRatio.sol":"OneNetAggregatorDebtRatio"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"OneNetAggregatorDebtRatio.sol":{"keccak256":"0xb64547811fca7c66e90856ac0f175ca0e3dcc2033ec15985fbb854ff275e796c","urls":["bzz-raw://27c3111da5cb739550e024dd051aeb5ad4bcb57dcff396a29041ffa312228703","dweb:/ipfs/QmP6J5yQFEq9N7JZ9659n2BbEPFmGZhZp2kLN512Azar9v"]}},"version":1}},"ExchangeCircuitBreaker":{"bytecode":"608060405234801561001057600080fd5b506040516116d23803806116d28339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050506115ac806101266000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063614d08f8116100a25780637dd1a57a116100715780637dd1a57a14610253578063899ffef4146102705780638da5cb5b146102c8578063a47af19e146102d0578063cb1ec317146103065761010b565b8063614d08f814610218578063741853601461022057806378cb51cb1461022857806379ba50971461024b5761010b565b8063372a395a116100de578063372a395a146101e65780633fa70f45146102005780634ffcd9df1461020857806353a47bb7146102105761010b565b806304f3bcec146101105780631627540c1461013457806324286df01461015c5780632af64bd3146101ca575b600080fd5b610118610323565b604080516001600160a01b039092168252519081900360200190f35b61015a6004803603602081101561014a57600080fd5b50356001600160a01b0316610332565b005b61015a6004803603602081101561017257600080fd5b810190602081018135600160201b81111561018c57600080fd5b82018360208201111561019e57600080fd5b803590602001918460208302840111600160201b831117156101bf57600080fd5b50909250905061038e565b6101d2610623565b604080519115158252519081900360200190f35b6101ee61072e565b60408051918252519081900360200190f35b6101ee61073d565b610118610742565b61011861075d565b6101ee61076c565b61015a610789565b6101d26004803603604081101561023e57600080fd5b5080359060200135610951565b61015a610966565b6101ee6004803603602081101561026957600080fd5b5035610a22565b610278610a34565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102b457818101518382015260200161029c565b505050509050019250505060405180910390f35b610118610aec565b6102ed600480360360208110156102e657600080fd5b5035610afb565b6040805192835290151560208301528051918290030190f35b6102ed6004803603602081101561031c57600080fd5b5035610d75565b6002546001600160a01b031681565b61033a610e1a565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610396610e1a565b606060006103a2610742565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561041457600080fd5b505afa158015610428573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561045157600080fd5b8101908080516040519392919084600160201b82111561047057600080fd5b90830190602082018581111561048557600080fd5b82518660208202830111600160201b821117156104a157600080fd5b82525081516020918201928201910280838360005b838110156104ce5781810151838201526020016104b6565b50505050919091016040525060200151929450919250508115905061053a576040805162461bcd60e51b815260206004820181905260248201527f526174657320666f7220676976656e2073796e746873206e6f742076616c6964604482015290519081900360640190fd5b60005b8381101561061c577f04ee51667f8fd5f98b8803e7cd0a206fb508b0c37545e7f8055f0de051d8ad4385858381811061057257fe5b905060200201356004600088888681811061058957fe5b905060200201358152602001908152602001600020548584815181106105ab57fe5b602002602001015160405180848152602001838152602001828152602001935050505060405180910390a18281815181106105e257fe5b6020026020010151600460008787858181106105fa57fe5b602090810292909201358352508101919091526040016000205560010161053d565b5050505050565b6000606061062f610a34565b905060005b815181101561072457600082828151811061064b57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156106b357600080fd5b505afa1580156106c7573d6000803e3d6000fd5b505050506040513d60208110156106dd57600080fd5b50516001600160a01b031614158061070a57506000818152600360205260409020546001600160a01b0316155b1561071b576000935050505061072b565b50600101610634565b5060019150505b90565b6000610738610e65565b905090565b604181565b60006107386c45786368616e6765526174657360981b610f1c565b6001546001600160a01b031681565b7522bc31b430b733b2a1b4b931bab4ba213932b0b5b2b960511b81565b6060610793610a34565b905060005b815181101561094d5760008282815181106107af57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561086557818101518382015260200161084d565b50505050905090810190601f1680156108925780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156108b057600080fd5b505afa1580156108c4573d6000803e3d6000fd5b505050506040513d60208110156108da57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610798565b5050565b600061095d8383611000565b90505b92915050565b6001546001600160a01b031633146109af5760405162461bcd60e51b81526004018080602001828103825260358152602001806114f36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60009081526004602052604090205490565b606080610a3f61105f565b60408051600380825260808201909252919250606091906020820183803883390190505090506b53797374656d53746174757360a01b81600081518110610a8257fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610aac57fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610acf57fe5b602002602001018181525050610ae582826110b0565b9250505090565b6000546001600160a01b031681565b600080610b06611165565b6001600160a01b031663c0eee4436040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3e57600080fd5b505afa158015610b52573d6000803e3d6000fd5b505050506040513d6020811015610b6857600080fd5b505115610b7457610d60565b600080610b7f610742565b6001600160a01b0316630c71cd23866040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015610bc157600080fd5b505afa158015610bd5573d6000803e3d6000fd5b505050506040513d6040811015610beb57600080fd5b50805160209091015190925090508080610c0a5750610c0a858361117f565b15610d4b576000610c196113d4565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c5c57600080fd5b505afa158015610c70573d6000803e3d6000fd5b505050506040513d6020811015610c8657600080fd5b50516001600160a01b03161415610cd4576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b610cdc611165565b6001600160a01b031663abc0bb6e8660416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610d2a57600080fd5b505af1158015610d3e573d6000803e3d6000fd5b5050505060019250610d5d565b60008581526004602052604090208290555b50505b60009283526004602052604090922054929050565b600080600080610d83610742565b6001600160a01b0316630c71cd23866040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015610dc557600080fd5b505afa158015610dd9573d6000803e3d6000fd5b505050506040513d6040811015610def57600080fd5b5080516020909101519092509050818180610e0f5750610e0f868461117f565b935093505050915091565b6000546001600160a01b03163314610e635760405162461bcd60e51b815260040180806020018281038252602f815260200180611528602f913960400191505060405180910390fd5b565b6000610e6f6113e8565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015610eeb57600080fd5b505afa158015610eff573d6000803e3d6000fd5b505050506040513d6020811015610f1557600080fd5b5051905090565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610ff95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fbe578181015183820152602001610fa6565b50505050905090810190601f168015610feb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600082158061100d575081155b1561101a57506001610960565b60008383111561103b57611034838563ffffffff61140516565b905061104e565b61104b848463ffffffff61140516565b90505b611056610e65565b11159392505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106110a157fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156110e0578160200160208202803883390190505b50905060005b8351811015611122578381815181106110fb57fe5b602002602001015182828151811061110f57fe5b60209081029190910101526001016110e6565b5060005b8251811015610ff95782818151811061113b57fe5b602002602001015182828651018151811061115257fe5b6020908102919091010152600101611126565b60006107386b53797374656d53746174757360a01b610f1c565b60008161118e57506001610960565b60008381526004602052604090205480156111b5576111ad8184611000565b915050610960565b60606111bf610742565b6001600160a01b031663ed76245086600460006040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060006040518083038186803b15801561121457600080fd5b505afa158015611228573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561125157600080fd5b8101908080516040519392919084600160201b82111561127057600080fd5b90830190602082018581111561128557600080fd5b82518660208202830111600160201b821117156112a157600080fd5b82525081516020918201928201910280838360005b838110156112ce5781810151838201526020016112b6565b5050505090500160405260200180516040519392919084600160201b8211156112f657600080fd5b90830190602082018581111561130b57600080fd5b82518660208202830111600160201b8211171561132757600080fd5b82525081516020918201928201910280838360005b8381101561135457818101518382015260200161133c565b505050509050016040525050505090506000600190505b81518110156113c857600082828151811061138257fe5b60200260200101511180156113af57506113af8282815181106113a157fe5b602002602001015186611000565b156113c05760019350505050610960565b60010161136b565b50600095945050505050565b60006107386524b9b9bab2b960d11b610f1c565b60006107386e466c657869626c6553746f7261676560881b610f1c565b600061095d8261142385670de0b6b3a764000063ffffffff61142f16565b9063ffffffff61148816565b60008261143e57506000610960565b8282028284828161144b57fe5b041461095d5760405162461bcd60e51b81526004018080602001828103825260218152602001806115576021913960400191505060405180910390fd5b60008082116114de576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816114e957fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158209782593f6a4fdb08c095cac3dcd7bebad5cb55611d73615e71041a392b0ad0d664736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"previousRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newRate","type":"uint256"}],"name":"LastRateOverriden","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":true,"inputs":[],"name":"CIRCUIT_BREAKER_SUSPENSION_REASON","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"exchangeRates","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"base","type":"uint256"},{"internalType":"uint256","name":"comparison","type":"uint256"}],"name":"isDeviationAboveThreshold","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"lastExchangeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"priceDeviationThresholdFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateWithBreakCircuit","outputs":[{"internalType":"uint256","name":"lastValidRate","type":"uint256"},{"internalType":"bool","name":"circuitBroken","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateWithInvalid","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"resetLastExchangeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x9a69567c37adbbe24df3515316cebbfb4899916d08af38c7738e4cd32c73827d","urls":["bzz-raw://9edb699f3216673201bcf24a5dc4289b3fb5e8614c5c5f2b9f270495005bd7f9","dweb:/ipfs/QmZZvcu5Takmk2PZhQ7w83MTyHAcrbrHF1R2vouZXVJXSL"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"ExchangeCircuitBreaker.sol":"ExchangeCircuitBreaker"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"ExchangeCircuitBreaker.sol":{"keccak256":"0x9a69567c37adbbe24df3515316cebbfb4899916d08af38c7738e4cd32c73827d","urls":["bzz-raw://9edb699f3216673201bcf24a5dc4289b3fb5e8614c5c5f2b9f270495005bd7f9","dweb:/ipfs/QmZZvcu5Takmk2PZhQ7w83MTyHAcrbrHF1R2vouZXVJXSL"]}},"version":1}},"EmptyFuturesMarketManager":{"bytecode":"608060405234801561001057600080fd5b5061025c806100206000396000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c8063614d08f81161005b578063614d08f814610163578063e63bfadb1461016b578063fc7b9c18146101a4578063fe11edc9146101c55761007c565b80628d3aca1461008157806326e04f9d14610141578063375a7cba1461015b575b600080fd5b6100f16004803603602081101561009757600080fd5b8101906020810181356401000000008111156100b257600080fd5b8201836020820111156100c457600080fd5b803590602001918460208302840111640100000000831117156100e657600080fd5b5090925090506101e4565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561012d578181015183820152602001610115565b505050509050019250505060405180910390f35b6101496101ec565b60408051918252519081900360200190f35b6100f16101f1565b6101496101f6565b6101886004803603602081101561018157600080fd5b503561021a565b604080516001600160a01b039092168252519081900360200190f35b6101ac610220565b6040805192835290151560208301528051918290030190f35b6100f1600480360360408110156101db57600080fd5b50803590602001355b606092915050565b600090565b606090565b7f456d707479467574757265734d61726b65744d616e616765720000000000000081565b50600090565b600080909156fea265627a7a7231582062200c475f3efcf77c70a66da401000a3d57b7129c38a3429d4dc7b15f5e06b964736f6c63430005100032","abi":[{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allMarkets","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"marketKey","type":"bytes32"}],"name":"marketForKey","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"markets","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"marketKeys","type":"bytes32[]"}],"name":"marketsForKeys","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numMarkets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalDebt","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0x70d93adddedc13bddf1a98d5846f06736949d0d26d0547bacc656be9ee829055","urls":["bzz-raw://19074f999f78cc9081592524e31f5defcd508dba90502cef2d6a715c93eb77eb","dweb:/ipfs/QmRKfTw7hXnaLBgnGXLvoBuJukCTgnftWKdt8bJapmfeme"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"EmptyFuturesMarketManager.sol":"EmptyFuturesMarketManager"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"EmptyFuturesMarketManager.sol":{"keccak256":"0x70d93adddedc13bddf1a98d5846f06736949d0d26d0547bacc656be9ee829055","urls":["bzz-raw://19074f999f78cc9081592524e31f5defcd508dba90502cef2d6a715c93eb77eb","dweb:/ipfs/QmRKfTw7hXnaLBgnGXLvoBuJukCTgnftWKdt8bJapmfeme"]}},"version":1}},"Liquidator":{"bytecode":"608060405234801561001057600080fd5b506040516122f43803806122f48339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050506121ce806101266000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806379ba5097116100f9578063974e9e7f11610097578063b410a03411610071578063b410a034146103f7578063c855a8e1146103ff578063d45c0d7e14610407578063f557f73c1461042d576101c4565b8063974e9e7f146103a3578063a0cf7451146103c9578063ad2bc2d5146103d1576101c4565b8063899ffef4116100d3578063899ffef41461030d5780638d1bd1be146103655780638da5cb5b1461036d578063952225f314610375576101c4565b806379ba5097146102d75780638074b372146102df578063828afc4b146102e7576101c4565b806339a9df1b11610166578063614d08f811610140578063614d08f8146102b75780636a058966146102bf57806374185360146102c757806374e889c9146102cf576101c4565b806339a9df1b1461026357806353a47bb7146102895780635616c95714610291576101c4565b80631775765f116101a25780631775765f1461022f57806323f5589a146102375780632af64bd31461023f57806331e4e0301461025b576101c4565b806304f3bcec146101c95780631627540c146101ed5780631710940c14610215575b600080fd5b6101d1610456565b604080516001600160a01b039092168252519081900360200190f35b6102136004803603602081101561020357600080fd5b50356001600160a01b0316610465565b005b61021d6104c1565b60408051918252519081900360200190f35b61021d6104d1565b61021d6104db565b6102476104e5565b604080519115158252519081900360200190f35b61021d6105ef565b6102476004803603602081101561027957600080fd5b50356001600160a01b03166105f9565b6101d1610622565b6101d1600480360360208110156102a757600080fd5b50356001600160a01b0316610631565b61021d61064f565b61021d610660565b610213610678565b61021d610840565b61021361085a565b61021d610916565b61021d600480360360208110156102fd57600080fd5b50356001600160a01b0316610920565b61031561093b565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610351578181015183820152602001610339565b505050509050019250505060405180910390f35b61021d610a1a565b6101d1610aa3565b6102476004803603604081101561038b57600080fd5b506001600160a01b0381351690602001351515610ab2565b610213600480360360208110156103b957600080fd5b50356001600160a01b0316610bb4565b61021d610c2f565b610213600480360360208110156103e757600080fd5b50356001600160a01b0316610c39565b61021d610e72565b61021d610e7c565b6102136004803603602081101561041d57600080fd5b50356001600160a01b0316610e86565b61021d6004803603606081101561044357600080fd5b50803590602081013590604001356111f8565b6002546001600160a01b031681565b61046d6112ed565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104cb611338565b90505b90565b60006104cb6113e8565b60006104cb611461565b600060606104f161093b565b905060005b81518110156105e657600082828151811061050d57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561057557600080fd5b505afa158015610589573d6000803e3d6000fd5b505050506040513d602081101561059f57600080fd5b50516001600160a01b03161415806105cc57506000818152600360205260409020546001600160a01b0316155b156105dd57600093505050506104ce565b506001016104f6565b50600191505090565b60006104cb6114dc565b6000610603612065565b61060c83611554565b905061061b81600001516116c5565b9392505050565b6001546001600160a01b031681565b600061063b612065565b61064483611554565b602001519392505050565b692634b8bab4b230ba37b960b11b81565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b606061068261093b565b905060005b815181101561083c57600082828151811061069e57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561075457818101518382015260200161073c565b50505050905090810190601f1680156107815780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561079f57600080fd5b505afa1580156107b3573d6000803e3d6000fd5b505050506040513d60208110156107c957600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610687565b5050565b724c69717569646174696f6e446561646c696e6560681b81565b6001546001600160a01b031633146108a35760405162461bcd60e51b815260040180806020018281038252603581526020018061207d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006104cb6116d7565b600061092a612065565b61093383611554565b519392505050565b60608061094661174a565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506b53797374656d53746174757360a01b8160008151811061098a57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816001815181106109b057fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106109d357fe5b6020026020010181815250506c45786368616e6765526174657360981b816003815181106109fd57fe5b602002602001018181525050610a13828261179b565b9250505090565b60006104cb610a276113e8565b73__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6b57600080fd5b505af4158015610a7f573d6000803e3d6000fd5b505050506040513d6020811015610a9557600080fd5b50519063ffffffff61185716565b6000546001600160a01b031681565b600080610abd61186c565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610b1257600080fd5b505afa158015610b26573d6000803e3d6000fd5b505050506040513d6020811015610b3c57600080fd5b50519050610b48611883565b8111610b58576000915050610bae565b82610ba857610b65612065565b610b6e85611554565b9050610b7d81600001516116c5565b8015610b8d5750610b8d856118f9565b15610b9d57600192505050610bae565b600092505050610bae565b60019150505b92915050565b610bbc6119ad565b6001600160a01b0316336001600160a01b031614610c0b5760405162461bcd60e51b815260040180806020018281038252603c8152602001806120b2603c913960400191505060405180910390fd5b610c13612065565b610c1c82611554565b80519091501561083c5761083c826119c1565b60006104cb611a9c565b620a69cb60eb1b610c48611b15565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c8b57600080fd5b505afa158015610c9f573d6000803e3d6000fd5b505050506040513d6020811015610cb557600080fd5b505115610d09576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000604482015290519081900360640190fd5b610d11611b30565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610d4957600080fd5b505afa158015610d5d573d6000803e3d6000fd5b50505050610d69612065565b610d7283611554565b8051909150610dc8576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000604482015290519081900360640190fd5b6000610dd261186c565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610e2757600080fd5b505afa158015610e3b573d6000803e3d6000fd5b505050506040513d6020811015610e5157600080fd5b50519050610e5d611883565b8111610e6c57610e6c846119c1565b50505050565b60006104cb611883565b60006104cb611b4a565b620a69cb60eb1b610e95611b15565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ed857600080fd5b505afa158015610eec573d6000803e3d6000fd5b505050506040513d6020811015610f0257600080fd5b505115610f56576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000604482015290519081900360640190fd5b610f5e611b30565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610f9657600080fd5b505afa158015610faa573d6000803e3d6000fd5b505050506000610fb86113e8565b1161100a576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e20726174696f206e6f742073657400000000000000604482015290519081900360640190fd5b6000611014611a9c565b11611066576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000604482015290519081900360640190fd5b61106e612065565b61107783611554565b8051909150156110b85760405162461bcd60e51b81526004018080602001828103825260278152602001806121736027913960400191505060405180910390fd5b60006110c261186c565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561111757600080fd5b505afa15801561112b573d6000803e3d6000fd5b505050506040513d602081101561114157600080fd5b5051905061114d6113e8565b81101561118b5760405162461bcd60e51b81526004018080602001828103825260358152602001806120ee6035913960400191505060405180910390fd5b60006111a5611198611a9c565b429063ffffffff611bd016565b90506111b2858233611c2a565b6040805182815290516001600160a01b038716917fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996919081900360200190a25050505050565b600080611203611883565b9050600073__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561124b57600080fd5b505af415801561125f573d6000803e3d6000fd5b505050506040513d602081101561127557600080fd5b50519050600061129b61128e878563ffffffff611d8116565b889063ffffffff611dab16565b905060006112cf6112c2856112b6868a63ffffffff611bd016565b9063ffffffff611d8116565b849063ffffffff611dab16565b90506112e1828263ffffffff611e0816565b98975050505050505050565b6000546001600160a01b031633146113365760405162461bcd60e51b815260040180806020018281038252602f815260200180612123602f913960400191505060405180910390fd5b565b6000611342611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b505afa1580156113cb573d6000803e3d6000fd5b505050506040513d60208110156113e157600080fd5b5051905090565b60006113f2611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b600061146b611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b60006114e6611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b61155c612065565b611564611e32565b6001600160a01b03166323257c2b692634b8bab4b230ba37b960b11b6115a0724c69717569646174696f6e446561646c696e6560681b86611e4f565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156115db57600080fd5b505afa1580156115ef573d6000803e3d6000fd5b505050506040513d602081101561160557600080fd5b50518152611611611e32565b6001600160a01b0316639ee5955a692634b8bab4b230ba37b960b11b61164b702634b8bab4b230ba34b7b721b0b63632b960791b86611e4f565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561168657600080fd5b505afa15801561169a573d6000803e3d6000fd5b505050506040513d60208110156116b057600080fd5b50516001600160a01b03166020820152919050565b60008082118015610bae575050421190565b60006116e1611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b69199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061178c57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156117cb578160200160208202803883390190505b50905060005b835181101561180d578381815181106117e657fe5b60200260200101518282815181106117fa57fe5b60209081029190910101526001016117d1565b5060005b82518110156118505782818151811061182657fe5b602002602001015182828651018151811061183d57fe5b6020908102919091010152600101611811565b5092915050565b600061061b8383670de0b6b3a7640000611e8e565b60006104cb680a6f2dce8d0cae8d2f60bb1b611ec5565b600061188d611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b60008061190461186c565b6001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561195957600080fd5b505afa15801561196d573d6000803e3d6000fd5b505050506040513d602081101561198357600080fd5b505190506119a66119926116d7565b61199a6114dc565b9063ffffffff611bd016565b1092915050565b60006104cb6524b9b9bab2b960d11b611ec5565b6119c9611e32565b6001600160a01b03166318f662ed692634b8bab4b230ba37b960b11b611a05724c69717569646174696f6e446561646c696e6560681b85611e4f565b6040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015611a4257600080fd5b505af1158015611a56573d6000803e3d6000fd5b50506040805142815290516001600160a01b03851693507f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c8792509081900360200190a250565b6000611aa6611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b60006104cb6c45786368616e6765526174657360981b611ec5565b60006104cb6b53797374656d53746174757360a01b611ec5565b6000611b54611e32565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e457363726f774475726174696f6e000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156113b757600080fd5b60008282018381101561061b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b611c32611e32565b6001600160a01b0316631d5b277f692634b8bab4b230ba37b960b11b611c6e724c69717569646174696f6e446561646c696e6560681b87611e4f565b856040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611cb357600080fd5b505af1158015611cc7573d6000803e3d6000fd5b50505050611cd3611e32565b6001600160a01b0316634dca0978692634b8bab4b230ba37b960b11b611d0d702634b8bab4b230ba34b7b721b0b63632b960791b87611e4f565b846040518463ffffffff1660e01b815260040180848152602001838152602001826001600160a01b03166001600160a01b031681526020019350505050600060405180830381600087803b158015611d6457600080fd5b505af1158015611d78573d6000803e3d6000fd5b50505050505050565b6000670de0b6b3a7640000611d9c848463ffffffff611fa216565b81611da357fe5b049392505050565b600082821115611e02576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600061061b82611e2685670de0b6b3a764000063ffffffff611fa216565b9063ffffffff611ffb16565b60006104cb6e466c657869626c6553746f7261676560881b611ec5565b6040805160208082019490945260609290921b6bffffffffffffffffffffffff1916828201528051808303603401815260549092019052805191012090565b600080611ea884611e2687600a870263ffffffff611fa216565b90506005600a820610611eb957600a015b600a9004949350505050565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816118505760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f67578181015183820152602001611f4f565b50505050905090810190601f168015611f945780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600082611fb157506000610bae565b82820282848281611fbe57fe5b041461061b5760405162461bcd60e51b81526004018080602001828103825260218152602001806121526021913960400191505060405180910390fd5b6000808211612051576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161205c57fe5b04949350505050565b60408051808201909152600080825260208201529056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704c697175696461746f723a204f6e6c79207468652049737375657220636f6e74726163742063616e20706572666f726d207468697320616374696f6e4163636f756e742069737375616e636520726174696f206973206c657373207468616e206c69717569646174696f6e20726174696f4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774163636f756e7420616c726561647920666c616767656420666f72206c69717569646174696f6ea265627a7a72315820d9dea194bbc35a853968ee64f35318a1f5ebf0ea1516c8364fba0f3dc131834964736f6c63430005100032","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"AccountFlaggedForLiquidation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"AccountRemovedFromLiquidation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LIQUIDATION_CALLER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LIQUIDATION_DEADLINE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"debtBalance","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"uint256","name":"penalty","type":"uint256"}],"name":"calculateAmountToFixCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"checkAndRemoveAccountInLiquidation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"flagAccountForLiquidation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"flagReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getLiquidationCallerForAccount","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getLiquidationDeadlineForAccount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isLiquidationDeadlinePassed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isSelfLiquidation","type":"bool"}],"name":"isLiquidationOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issuanceRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidateReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationCollateralRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationEscrowDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeAccountInLiquidation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"selfLiquidationPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"source":{"keccak256":"0xc6b74874b217e37376d292760ccdde188bec97c34f5d205633d458010bf7cc48","urls":["bzz-raw://ac313c6bda371fbb76160c1df6968bd836944f64a1cc8ac07b25fab863fc1abf","dweb:/ipfs/QmbEsCmibGk6uRXNDbVXmV9o3kwSBwmBtxg4qmYbMJoMrp"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"Liquidator.sol":"Liquidator"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"Liquidator.sol":{"keccak256":"0xc6b74874b217e37376d292760ccdde188bec97c34f5d205633d458010bf7cc48","urls":["bzz-raw://ac313c6bda371fbb76160c1df6968bd836944f64a1cc8ac07b25fab863fc1abf","dweb:/ipfs/QmbEsCmibGk6uRXNDbVXmV9o3kwSBwmBtxg4qmYbMJoMrp"]}},"version":1}},"LiquidatorRewards":{"bytecode":"60806040523480156200001157600080fd5b506040516200187938038062001879833981016040819052620000349162000100565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b0392909216919091179055505060016004555062000217565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b61165280620002276000396000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c806353a47bb711610097578063899ffef411610066578063899ffef4146101da5780638da5cb5b146101ef578063c00007b0146101f7578063f29ee1251461020a576100ff565b806353a47bb7146101ad578063614d08f8146101c257806374185360146101ca57806379ba5097146101d2576100ff565b80631627540c116100d35780631627540c1461016a578063270fb3381461017f5780632af64bd3146101925780633c6b16ab1461019a576100ff565b80628cc26214610104578063049939f31461012d57806304f3bcec1461014d578063061960aa14610162575b600080fd5b610117610112366004610fc4565b61022b565b6040516101249190611460565b60405180910390f35b61014061013b366004610fc4565b610334565b6040516101249190611452565b610155610349565b60405161012491906114aa565b610117610358565b61017d610178366004610fc4565b61035e565b005b61017d61018d366004610fc4565b6103bc565b61014061049a565b61017d6101a8366004611026565b6105b2565b6101b56106a5565b60405161012491906113d5565b6101176106b4565b61017d6106cc565b61017d610822565b6101e26108be565b6040516101249190611441565b6101b56109a4565b61017d610205366004610fc4565b6109b3565b61021d610218366004610fc4565b610b78565b604051610124929190611549565b6000610235610f76565b506001600160a01b0382166000908152600660209081526040918290208251808401909352546001600160801b03808216808552600160801b9092041691830182905260055461032d92610321916102929163ffffffff610b9e16565b61029a610bcb565b6001600160a01b03166370a08231886040518263ffffffff1660e01b81526004016102c591906113d5565b60206040518083038186803b1580156102dd57600080fd5b505afa1580156102f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103159190810190611044565b9063ffffffff610bf016565b9063ffffffff610c1a16565b9392505050565b60076020526000908152604090205460ff1681565b6002546001600160a01b031681565b60055481565b610366610c3f565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906103b19083906113d5565b60405180910390a150565b6001600160a01b03811660009081526007602052604090205460ff1661042b576005546001600160a01b038216600090815260066020908152604080832080546001600160801b03958616600160801b029516949094179093556007905220805460ff19166001179055610497565b604051806040016040528061043f8361022b565b6001600160801b03908116825260055481166020928301526001600160a01b038416600090815260068352604090208351815494909301518216600160801b029282166001600160801b031990941693909317161790555b50565b600060606104a66108be565b905060005b81518110156105a85760008282815181106104c257fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610513908590600401611460565b60206040518083038186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105639190810190610fea565b6001600160a01b031614158061058e57506000818152600360205260409020546001600160a01b0316155b1561059f57600093505050506105af565b506001016104ab565b5060019150505b90565b60006105bc610c6b565b6001600160a01b0316336001600160a01b0316149050806105f85760405162461bcd60e51b81526004016105ef906114c9565b60405180910390fd5b6000610602610bcb565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561063a57600080fd5b505afa15801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106729190810190611044565b905080156106a05761069c61068d848363ffffffff610c8216565b6005549063ffffffff610c1a16565b6005555b505050565b6001546001600160a01b031681565b704c697175696461746f725265776172647360781b81565b60606106d66108be565b905060005b815181101561081e5760008282815181106106f257fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161073491906113ca565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161076092919061148a565b60206040518083038186803b15801561077857600080fd5b505afa15801561078c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107b09190810190610fea565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061080c908490849061146e565b60405180910390a150506001016106db565b5050565b6001546001600160a01b0316331461084c5760405162461bcd60e51b81526004016105ef906114d9565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261088f926001600160a01b03918216929116906113e3565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806108c9610cac565b60408051600480825260a0820190925291925060609190602082016080803883390190505090507153796e74686574697844656274536861726560701b8160008151811061091357fe5b6020026020010181815250506524b9b9bab2b960d11b8160018151811061093657fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160028151811061096157fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061098757fe5b60200260200101818152505061099d8282610cfd565b9250505090565b6000546001600160a01b031681565b60048054600101908190556109c7826103bc565b6001600160a01b0382166000908152600660205260409020546001600160801b03168015610b56576001600160a01b038316600090815260066020526040902080546001600160801b0319169055610a1d610c6b565b6001600160a01b031663095ea7b3610a33610db9565b836040518363ffffffff1660e01b8152600401610a519291906113fe565b602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa39190810190611008565b50610aac610db9565b6001600160a01b031663a0416ed38483610ac4610dd5565b6040518463ffffffff1660e01b8152600401610ae293929190611419565b600060405180830381600087803b158015610afc57600080fd5b505af1158015610b10573d6000803e3d6000fd5b50505050826001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048682604051610b4d9190611460565b60405180910390a25b50600454811461081e5760405162461bcd60e51b81526004016105ef90611539565b6006602052600090815260409020546001600160801b0380821691600160801b90041682565b600082821115610bc05760405162461bcd60e51b81526004016105ef906114f9565b508082035b92915050565b6000610beb7153796e74686574697844656274536861726560701b610e8d565b905090565b6000670de0b6b3a7640000610c0b848463ffffffff610eea16565b81610c1257fe5b049392505050565b60008282018381101561032d5760405162461bcd60e51b81526004016105ef906114e9565b6000546001600160a01b03163314610c695760405162461bcd60e51b81526004016105ef90611519565b565b6000610beb680a6f2dce8d0cae8d2f60bb1b610e8d565b600061032d82610ca085670de0b6b3a764000063ffffffff610eea16565b9063ffffffff610f2416565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610cee57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610d2d578160200160208202803883390190505b50905060005b8351811015610d6f57838181518110610d4857fe5b6020026020010151828281518110610d5c57fe5b6020908102919091010152600101610d33565b5060005b8251811015610db257828181518110610d8857fe5b6020026020010151828286510181518110610d9f57fe5b6020908102919091010152600101610d73565b5092915050565b6000610beb6d2932bbb0b93222b9b1b937bbab1960911b610e8d565b6000610ddf610f59565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e457363726f774475726174696f6e000000000000006040518363ffffffff1660e01b8152600401610e3d92919061147c565b60206040518083038186803b158015610e5557600080fd5b505afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610beb9190810190611044565b60008181526003602090815260408083205490516001600160a01b039091169182151591610ebd918691016113aa565b60405160208183030381529060405290610db25760405162461bcd60e51b81526004016105ef91906114b8565b600082610ef957506000610bc5565b82820282848281610f0657fe5b041461032d5760405162461bcd60e51b81526004016105ef90611529565b6000808211610f455760405162461bcd60e51b81526004016105ef90611509565b6000828481610f5057fe5b04949350505050565b6000610beb6e466c657869626c6553746f7261676560881b610e8d565b604080518082019091526000808252602082015290565b8035610bc5816115e9565b8051610bc5816115e9565b8051610bc5816115fd565b8035610bc581611606565b8051610bc581611606565b600060208284031215610fd657600080fd5b6000610fe28484610f8d565b949350505050565b600060208284031215610ffc57600080fd5b6000610fe28484610f98565b60006020828403121561101a57600080fd5b6000610fe28484610fa3565b60006020828403121561103857600080fd5b6000610fe28484610fae565b60006020828403121561105657600080fd5b6000610fe28484610fb9565b600061106e83836110e7565b505060200190565b61107f8161157c565b82525050565b60006110908261156a565b61109a818561156e565b93506110a583611564565b8060005b838110156110d35781516110bd8882611062565b97506110c883611564565b9250506001016110a9565b509495945050505050565b61107f81611587565b61107f816105af565b61107f6110fc826105af565b6105af565b61107f816115a4565b60006111158261156a565b61111f818561156e565b935061112f8185602086016115af565b611138816115df565b9093019392505050565b600061114f600e8361156e565b6d53796e746865746978206f6e6c7960901b815260200192915050565b600061117960358361156e565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006111d0601b8361156e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611209601e8361156e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611242601a8361156e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061127b601183611577565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006112a8602f8361156e565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006112f960218361156e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061133c601983611577565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611375601f8361156e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b61107f8161158c565b60006113b58261126e565b91506113c182846110f0565b50602001919050565b60006113b58261132f565b60208101610bc58284611076565b604081016113f18285611076565b61032d6020830184611076565b6040810161140c8285611076565b61032d60208301846110e7565b606081016114278286611076565b61143460208301856110e7565b610fe260408301846110e7565b6020808252810161032d8184611085565b60208101610bc582846110de565b60208101610bc582846110e7565b604081016113f182856110e7565b6040810161140c82856110e7565b6040810161149882856110e7565b8181036020830152610fe2818461110a565b60208101610bc58284611101565b6020808252810161032d818461110a565b60208082528101610bc581611142565b60208082528101610bc58161116c565b60208082528101610bc5816111c3565b60208082528101610bc5816111fc565b60208082528101610bc581611235565b60208082528101610bc58161129b565b60208082528101610bc5816112ec565b60208082528101610bc581611368565b6040810161155782856113a1565b61032d60208301846113a1565b60200190565b5190565b90815260200190565b919050565b6000610bc582611598565b151590565b6001600160801b031690565b6001600160a01b031690565b6000610bc58261157c565b60005b838110156115ca5781810151838201526020016115b2565b838111156115d9576000848401525b50505050565b601f01601f191690565b6115f28161157c565b811461049757600080fd5b6115f281611587565b6115f2816105af56fea365627a7a72315820b154d3ba76f0c46718f1a26607bca820731db04f29487c73eba947186030843b6c6578706572696d656e74616cf564736f6c63430005100040","abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"accumulatedRewardsPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"entries","outputs":[{"internalType":"uint128","name":"claimable","type":"uint128"},{"internalType":"uint128","name":"entryAccumulatedRewards","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"initiated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"updateEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x621221d61543cd3356f62b60c84c1a0ba0763ab6caada6705df5db116bcab9e0","urls":["bzz-raw://f440aba73c6f10efa0d7a57890ccc51a2ebc7db360513d8acd11060e3b80cf67","dweb:/ipfs/QmSZ9FgbQZayzNXn5fSZunmXzWkeHcc4NsNXfbTAvRc6ej"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"LiquidatorRewards.sol":"LiquidatorRewards"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"LiquidatorRewards.sol":{"keccak256":"0x621221d61543cd3356f62b60c84c1a0ba0763ab6caada6705df5db116bcab9e0","urls":["bzz-raw://f440aba73c6f10efa0d7a57890ccc51a2ebc7db360513d8acd11060e3b80cf67","dweb:/ipfs/QmSZ9FgbQZayzNXn5fSZunmXzWkeHcc4NsNXfbTAvRc6ej"]}},"version":1}},"OneNetAggregatorsDEFI":{"bytecode":"608060405234801561001057600080fd5b506040516106743803806106748339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b039290921691909117905550610562806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b6101696102fd565b610139610302565b6100f76103be565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103cd565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b50356103e0565b6101696004803603602081101561022e57600080fd5b5035610423565b6101696004803603602081101561024b57600080fd5b5035610439565b61016961044f565b6101bc610455565b6002546001600160a01b031681565b61027961047e565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600890565b6001546001600160a01b031681565b744f6e654e657441676772656761746f72734445464960581b81565b600190565b6001546001600160a01b0316331461034b5760405162461bcd60e51b81526004018080602001828103825260358152602001806104ca6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b50600190644a63af1b0090429081908490565b6103e861047e565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b600061042e826103cd565b509195945050505050565b6000610444826103cd565b509095945050505050565b60035481565b600080600080600061046d6104686102fd565b6103cd565b945094509450945094509091929394565b6000546001600160a01b031633146104c75760405162461bcd60e51b815260040180806020018281038252602f8152602001806104ff602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820d79bf8d4c3e563bd2a93d5f497880761f8c0de381a5b1d35884e3189a76436ec64736f6c63430005100032","abi":[{"inputs":[{"internalType":"contract AddressResolver","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"SetOverrideTimestamp","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"answer","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint80","name":"","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"overrideTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"setOverrideTimestamp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"source":{"keccak256":"0x5b5d345731005a6932760cc76f2a390544cae09c21f7141f4ebeca21f9248692","urls":["bzz-raw://22fa50edf05ee7c60343a4425df992e2dd334c8591b1baf9e9974346109ee7e9","dweb:/ipfs/QmWQYxMiBfMP5Y3473fds9JkLYWp5M2DtB672qKcoaAVUj"]},"metadata":{"compiler":{"version":"0.5.16+commit.9c3226ce"},"language":"Solidity","settings":{"compilationTarget":{"OneNetAggregatorsDEFI.sol":"OneNetAggregatorsDEFI"},"evmVersion":"istanbul","libraries":{},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"OneNetAggregatorsDEFI.sol":{"keccak256":"0x5b5d345731005a6932760cc76f2a390544cae09c21f7141f4ebeca21f9248692","urls":["bzz-raw://22fa50edf05ee7c60343a4425df992e2dd334c8591b1baf9e9974346109ee7e9","dweb:/ipfs/QmWQYxMiBfMP5Y3473fds9JkLYWp5M2DtB672qKcoaAVUj"]}},"version":1}}}}')},function(e){e.exports=JSON.parse('{"v2.0-19":{"tag":"v2.0-19","fulltag":"v2.0-19","release":"","network":"rinkeby","date":"2019-03-11T18:17:52-04:00","commit":"eeb271f4fdd2e615f9dba90503f42b2cb9f9716e","block":11230652,"contracts":{"Depot":{"address":"0x995b225C9C7c487D14cEE97397e7062F4002ef67","status":"replaced","replaced_in":"v2.18.1"},"ExchangeRates":{"address":"0x73b172756BD5DDf0110Ba8D7b88816Eb639Eb21c","status":"replaced","replaced_in":"v2.1.11"},"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.4.0"},"ProxyFeePool":{"address":"0xBbd8D4555B90443C4dcFD30c8D490Dea79af869F","status":"current"},"ProxysAUD":{"address":"0xF48e200EAF9906362BB1442fca31e0835773b8B4","status":"replaced","replaced_in":"v2.10.5"},"ProxysBRL":{"address":"0x5D609C25adAafd856021F92296C66dB602A0fcE8","status":"deleted"},"ProxysBTC":{"address":"0x6e147ec4fF77151183837CCad60b62364E941028","status":"replaced","replaced_in":"v2.10.5"},"ProxysCAD":{"address":"0x0Bc209fB72390AF12bD6Fd775355ea0856864B31","status":"deleted"},"ProxysCHF":{"address":"0x28AF5a2f0cC12F2f19dd946608c945456b52b3F6","status":"replaced","replaced_in":"v2.10.5"},"ProxysCNY":{"address":"0x60feeeD05004476518281D43185fB7F52d9722c0","status":"deleted"},"ProxysEUR":{"address":"0x3EB064766109D150e4362222df80638BcE00e037","status":"replaced","replaced_in":"v2.10.5"},"ProxysGBP":{"address":"0x0C8A7D55ef593A2cAd34894c1523162eE2ffB9aC","status":"replaced","replaced_in":"v2.10.5"},"ProxysINR":{"address":"0x74C80bB51Da1EAc2d40074c647CbD0ab6920063f","status":"deleted"},"ProxysJPY":{"address":"0x559E848A1b6a7AfC69Ee27F8d20280A42628b2cf","status":"replaced","replaced_in":"v2.10.5"},"ProxysKRW":{"address":"0xdCE506b196B0dF677d07e718f872CAc9Bc368A33","status":"deleted"},"ProxysNZD":{"address":"0x26C0cb14470803120321b70aE85405ac298e5A42","status":"deleted"},"ProxysPLN":{"address":"0xD9553f0fDa012224141AeCc1ECa0e29868fF7FE8","status":"deleted"},"ProxysRUB":{"address":"0xDcB5821fcFDAB5553307b8f99591fC9DaA3C4be3","status":"deleted"},"ProxysSGD":{"address":"0x632dB1c25C03dCAc8d23Ff2c9A4cEa34cbEffa1B","status":"deleted"},"ProxysUSD":{"address":"0x70528149a537660C1d4D1D5EcB8606eAE0857A88","status":"replaced","replaced_in":"v2.10.2"},"ProxysXAG":{"address":"0x6e5709515C767c907e43a03388cc816Bd65e797C","status":"replaced","replaced_in":"v2.10.5"},"ProxysXAU":{"address":"0xe05D803fa0c5832Fa2262465290abB25d6C2bFA3","status":"replaced","replaced_in":"v2.10.5"},"ProxySynthetix":{"address":"0x8355BC3b74B1F558BF48A784bC4c46D8a6d61fdE","status":"current"},"ProxyXDR":{"address":"0x62492F15cF60c5847d3053e482cAde8C5c29af88","status":"deleted"},"SafeDecimalMath":{"address":"0x853C4D8095B414E65C7e0e38D2b0C5D2c3289B08","status":"current"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.4.0"},"SynthetixEscrow":{"address":"0x5a219b2225d42Be18AC42710Ff9c016F231bed78","status":"current"},"SynthetixState":{"address":"0x4b9Ca5607f1fF8019c1C6A3c2f0CC8de622D5B82","status":"current"},"SynthsAUD":{"address":"0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","status":"replaced","replaced_in":"v2.10.5"},"SynthsBRL":{"address":"0xa5A4ccCCcAa26Cea096F6E493839423F4D66c63F","status":"deleted"},"SynthsBTC":{"address":"0xf8AD89091B2724bdb7528c50B282B565Db4635bb","status":"replaced","replaced_in":"v2.10.5"},"SynthsCAD":{"address":"0x8f69c9Ee79Bf9320E1A5C19e559108E1cb3d002B","status":"deleted"},"SynthsCHF":{"address":"0x9270D9970D6ACA773e2FA01633CDc091a46714c9","status":"replaced","replaced_in":"v2.10.5"},"SynthsCNY":{"address":"0x60C34eB93AFCd1B701fF8C036B128441C68A8A70","status":"deleted"},"SynthsEUR":{"address":"0x5B362679e0c7700E44E5cB459e2811B7544420F1","status":"replaced","replaced_in":"v2.10.5"},"SynthsGBP":{"address":"0xdB36B8f25bB1f289d97aeE8f87BAcCaC58fA8883","status":"replaced","replaced_in":"v2.6.7"},"SynthsINR":{"address":"0x51671B7556EbEB4c43180e983F5569973e15cAc9","status":"deleted"},"SynthsJPY":{"address":"0xD9E5A009Ec07dE76616d7361Ed713eF434d71325","status":"replaced","replaced_in":"v2.10.5"},"SynthsKRW":{"address":"0xdF846D3ded30A0590319f8A7ECD4e233B0e9188C","status":"deleted"},"SynthsNZD":{"address":"0xCF401f31c63F58DEbfC76F441731dfa945cd0Bde","status":"deleted"},"SynthsPLN":{"address":"0x1943dBd2A793c588B5170188Ee6fb62E02AfdfF7","status":"deleted"},"SynthsRUB":{"address":"0x8a8DcbBa6038c6Fc6D192F5cf5C5dD83B98591bc","status":"deleted"},"SynthsSGD":{"address":"0x2aE393C18b6Aa62D6a2250aF7b803Fa6973bC981","status":"deleted"},"SynthsUSD":{"address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","status":"replaced","replaced_in":"v2.10.5"},"SynthsXAG":{"address":"0x4D57A8212BDb8bdca049365BCE8afA0244a0E3FC","status":"replaced","replaced_in":"v2.10.5"},"SynthsXAU":{"address":"0x112D5fA64e4902B6ff1a35495a0f878c210A5601","status":"replaced","replaced_in":"v2.10.5"},"SynthXDR":{"address":"0x2972705AF18c66c14CDd27AD412961E01944A9C3","status":"deleted"},"TokenStatesAUD":{"address":"0xCb29D2cf2C65d3Be1d00F07f3441390432D55203","status":"current"},"TokenStatesBRL":{"address":"0x0985de52896fC4C9A84d108F5582ec02fdF91605","status":"deleted"},"TokenStatesBTC":{"address":"0xa5124205b52cC8726e1deeC70e5060d837A7751e","status":"current"},"TokenStatesCAD":{"address":"0xdDf91Fc27087e076574Df31483Db5C21A85E47b6","status":"deleted"},"TokenStatesCHF":{"address":"0x52496fE8a4feaEFe14d9433E00D48E6929c13deC","status":"current"},"TokenStatesCNY":{"address":"0x5cCA1f0c514C0624d3BA7585d56fD2d72CbeFd80","status":"deleted"},"TokenStatesEUR":{"address":"0xea6DFB1EA09016f5148afAb5acA76795F39F2833","status":"current"},"TokenStatesGBP":{"address":"0x7e88D19A79b291cfE5696d496055f7e57F537A75","status":"current"},"TokenStatesINR":{"address":"0xf8F2f8001fca737eFA2bC26217Fc20C1F8267fbA","status":"deleted"},"TokenStatesJPY":{"address":"0x4dFACfB15514C21c991ff75Bc7Bf6Fb1F98361ed","status":"current"},"TokenStatesKRW":{"address":"0x249A10c68AfA9827571cb73f29ab5Af57Ee5A596","status":"deleted"},"TokenStatesNZD":{"address":"0x3FDa286F354a3318534026dBAcf021c84A71B03c","status":"deleted"},"TokenStatesPLN":{"address":"0xdb957f324Be2dE9BdAB01A3dbb50228569FDEe1B","status":"deleted"},"TokenStatesRUB":{"address":"0xF1eF8ee7DfEE4BD0e06B0fCed1d299387B78Cb09","status":"deleted"},"TokenStatesSGD":{"address":"0x000F49FD739d4023B0A6C87eE8705eF1Ffb55C87","status":"deleted"},"TokenStatesUSD":{"address":"0xC56bc48668EA4D7383Cc1cF65F587b930Bdf7aAA","status":"current"},"TokenStatesXAG":{"address":"0x53d244Fb46357568DBeF082225cCC87cBD94aAE8","status":"deleted"},"TokenStatesXAU":{"address":"0x20569B49d74c1EDE765382574F7F3fdC2a078A4f","status":"deleted"},"TokenStateSynthetix":{"address":"0xCD14E8F7615cc90BB0D531b9B6CA035910B8fC69","status":"current"},"TokenStateXDR":{"status":"deleted"}}},"v2.0-22":{"tag":"v2.0-22","fulltag":"v2.0-22","release":"","network":"rinkeby","date":"2019-04-04T12:14:32-04:00","commit":"f257ac4ffec622f198dfe47e371c625f1fe1bd36","contracts":{"EscrowChecker":{"address":"0xDC2bfc5f75B259F058979D7FfF66477a0fB8fe80","status":"replaced","replaced_in":"v2.1.11"},"TokenStateXDR":{"address":"0xBF093390d8046ae2d0f5465DEC7001d65DC159d5","status":"deleted"}}},"v2.1.11":{"tag":"v2.1.11","fulltag":"v2.1.11-3","release":"","network":"rinkeby","date":"2019-04-23T19:43:01-04:00","commit":"8d56cf7667de27b294fa3b99b086132f71e1aba4","block":11230652,"contracts":{"EscrowChecker":{"address":"0xDC2bfc5f75B259F058979D7FfF66477a0fB8fe80","status":"current"},"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","replaced_in":"v2.6.5"},"TokenStatesETH":{"address":"0x2686d4389953D4E969890A715542c7aD5EAf9dCB","status":"current"},"ProxysETH":{"address":"0xC9E41649eC88dc27CFf147BC13A02eEcb7e45D65","status":"replaced","replaced_in":"v2.9.1"},"SynthsETH":{"address":"0xdf1765a1530166ece1D46182a946a03b09AE2810","status":"replaced","replaced_in":"v2.10.5"},"TokenStatesBNB":{"address":"0xf9bd94C6F93c1FA5F38174c5e424721e1046af07","status":"deleted"},"ProxysBNB":{"address":"0x013AE307648f529aa72c5767A334DDd37aaB43c3","status":"replaced","replaced_in":"v2.10.5"},"SynthsBNB":{"address":"0xC906de7f8b4C1a4787023F50F49CE98F9F67c4b8","status":"replaced","replaced_in":"v2.10.5"},"TokenStateiBTC":{"address":"0xa1652766155D4Debc31D01BF3f748cB46508745b","status":"deleted"},"ProxyiBTC":{"address":"0x2B143041a6F8BE9dCC66E9110178a264A223A3bd","status":"replaced","replaced_in":"v2.10.5"},"SynthiBTC":{"address":"0xd8f6B6b6782632275B2B51230654f687f5b12Cde","status":"replaced","replaced_in":"v2.7.2"},"TokenStateiETH":{"address":"0x7b6ab32Ca02B31485fbf7265437c2853792CC5d9","status":"deleted"},"ProxyiETH":{"address":"0xD4fb1706Ae549FEBeC06bb7175b08010DD1B0C2e","status":"replaced","replaced_in":"v2.10.5"},"SynthiETH":{"address":"0x51Fe40e6292dbC44623b298a4086ffA6f5976ba1","status":"replaced","replaced_in":"v2.7.2"},"TokenStateiBNB":{"address":"0xc4E4c442653fDC78A71401684fd6cF9d67B3B643","status":"deleted"},"ProxyiBNB":{"address":"0x7c8F07Ac5b0a2876ee582a661d53dE2D0BbAd96F","status":"replaced","replaced_in":"v2.10.5"},"SynthiBNB":{"address":"0x56751D5Ac7D2B614C79d22e6b52D3285cFA8a293","status":"replaced","replaced_in":"v2.7.2"}}},"v2.4.0":{"tag":"v2.4.0","fulltag":"v2.4.0-release-candidate-14","release":"","network":"rinkeby","date":"2019-05-02T18:49:57+10:00","commit":"edf5244839cda59bd51c1390a285bae371a477ff","block":11230652,"contracts":{"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.5.3"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.5.3"},"RewardEscrow":{"address":"0x7F4D6d314aEb6fCa6a2aeB330260B2B7fc66E38B","status":"current"},"FeePoolState":{"address":"0x11164F6a47C3f8472D19b9aDd516Fc780cb7Ee02","status":"current"},"SupplySchedule":{"address":"0x22c1a308B198583f97A7449411Ad5222A13D9d68","status":"replaced","replaced_in":"v2.16.4"}}},"v2.5.3":{"tag":"v2.5.3","fulltag":"v2.5.3-beta-2","release":"","network":"rinkeby","date":"2019-05-28T18:42:37+10:00","commit":"dc94228312749779a0c4035d8bc7bb3b9a242693","block":11230652,"contracts":{"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.6.1"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.5.5"},"DelegateApprovals":{"address":"0xf81F108C5a405E0779e0558C045a7b36e0eD1eeC","status":"replaced","replaced_in":"v2.20.1"},"FeePoolEternalStorage":{"address":"0x4d1C69ee4b855fE7D298E64d62Eb5904a14c1011","status":"current"}}},"v2.5.5":{"tag":"v2.5.5","fulltag":"v2.5.5-release-candidate-2","release":"","network":"rinkeby","date":"2019-05-29T17:37:35+10:00","commit":"6cf02bed77b9d711efc0b33f643613529f4b92ce","block":11230652,"contracts":{"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.6.7"}}},"v2.6.1":{"tag":"v2.6.1","fulltag":"v2.6.1-alpha-1","release":"","network":"rinkeby","date":"2019-07-01T16:10:26-04:00","commit":"e8a6445a3096e3b003c429cd6fb2c9a38920f047","block":11230652,"contracts":{"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.6.5"}}},"v2.6.5":{"tag":"v2.6.5","fulltag":"v2.6.5-release-candidate-4","release":"","network":"rinkeby","date":"2019-07-02T22:47:48-04:00","commit":"83a9721950521ff3d0ced2d974d90caa0f011a23","block":11230652,"contracts":{"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","replaced_in":"v2.6.7"},"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.9.0"},"TokenStatesMKR":{"address":"0xCEE0A0Dc7f393ED6AC84A3Ac2191C28d6A53AcEf","status":"deleted"},"ProxysMKR":{"address":"0xe88A4976CB7D8898D39E3f317421D625403ecb8C","status":"deleted"},"SynthsMKR":{"address":"0x13586160e4F890D0631c3C08D989f5b7AFe202b0","status":"deleted"},"TokenStatesTRX":{"address":"0x7EC5697C724895DA7f2320bDE063BEF6215a72e2","status":"deleted"},"ProxysTRX":{"address":"0x0944d2C41FEF3088467287e208E5bBB622A0c09C","status":"replaced","replaced_in":"v2.10.5"},"SynthsTRX":{"address":"0xa6e5DA838D3b8338783E0710E1D5F6C8e8E998CE","status":"replaced","replaced_in":"v2.10.5"},"TokenStatesXTZ":{"address":"0x959894a82fbF99d35B12ed1EA81e783296229862","status":"deleted"},"ProxysXTZ":{"address":"0xF45B14ddaBF0F0e275E215b94dD24Ae013a27F12","status":"replaced","replaced_in":"v2.10.5"},"SynthsXTZ":{"address":"0x6E5Bc3e877CFaa06eF97dfA12e63EfbB8FCbb03e","status":"replaced","replaced_in":"v2.10.5"}}},"v2.6.7":{"tag":"v2.6.7","fulltag":"v2.6.7-1","release":"","network":"rinkeby","date":"2019-07-05T23:28:25-04:00","commit":"4fb6450e5629a053b9fa4aa4a40974e0ff9841b6","block":11230652,"contracts":{"SynthsGBP":{"address":"0x0a24864596C54D79C825e64b281645249C14590C","status":"replaced","replaced_in":"v2.10.5"},"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","replaced_in":"v2.10.5"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.8.0"}}},"v2.7.2":{"tag":"v2.7.2","fulltag":"v2.7.2-release-candidate-1","release":"","network":"rinkeby","date":"2019-07-18T20:31:41-04:00","commit":"1eeb4e6519e1eedb7d4692e5d68af417b4afbb49","block":11230652,"contracts":{"SynthiBTC":{"address":"0xccC395f0eBFAA26dCC2D3BACc23d55614002236b","status":"replaced","replaced_in":"v2.10.5"},"SynthiETH":{"address":"0x9b461df6fc38E1baEC08c06EB9e916093af8d11C","status":"replaced","replaced_in":"v2.10.5"},"SynthiBNB":{"address":"0xED4A3Adffa428fFD126AeD8ba5b8B58bb12c11ca","status":"replaced","replaced_in":"v2.10.5"},"TokenStateiMKR":{"address":"0xa0c19218271F056bc10b1cDd7a5FaB48F757BC86","status":"deleted"},"ProxyiMKR":{"address":"0xEAf60dA0199bE2f62005225248705De774582328","status":"deleted"},"SynthiMKR":{"address":"0x99bcc501d04F400Ba3F78b5375D00B56acE6Ee0D","status":"deleted"},"TokenStateiTRX":{"address":"0xd69EabdF940174cA571A6D71dde9B9A4dbCdBb0f","status":"deleted"},"ProxyiTRX":{"address":"0xCd8D927f2CB03d2eFB7f96CeB66Ec4976843E012","status":"replaced","replaced_in":"v2.10.5"},"SynthiTRX":{"address":"0x87ea2450EaB99A74e55E2B446290011765393AC1","status":"replaced","replaced_in":"v2.10.5"},"TokenStateiXTZ":{"address":"0xca0d3004f5E771A129fB94619f8867A23e8A23de","status":"deleted"},"ProxyiXTZ":{"address":"0xc2992b2C22238F296c2f429ee2f7AfB462Ed1750","status":"replaced","replaced_in":"v2.10.5"},"SynthiXTZ":{"address":"0xFE6Cd6dE459db214818492f532Ec02Ba87319437","status":"replaced","replaced_in":"v2.10.5"}}},"v2.8.0":{"tag":"v2.8.0","fulltag":"v2.8.0-beta-3","release":"","network":"rinkeby","date":"2019-08-08T15:03:34+10:00","commit":"4dbb6e8e1b58796fb033c81a80c51bc2864719e6","block":11230652,"contracts":{"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.9.0"},"ProxyERC20":{"address":"0x8355BC3b74B1F558BF48A784bC4c46D8a6d61fdE","status":"current"}}},"v2.8.6":{"tag":"v2.8.6","fulltag":"v2.8.6-release-candidate-6","release":"","network":"rinkeby","date":"2019-08-19T23:07:45+02:00","commit":"4b50f490bcc79827538c9030af495c410d60d3a0","block":11230652,"contracts":{"TokenStatesCEX":{"address":"0xc5680d24C3086e10f618b5176A59E90D6284be9f","status":"deleted"},"ProxysCEX":{"address":"0xb91B114a24a1c16834F1217cC3B9eE117b6c817A","status":"replaced","replaced_in":"v2.10.5"},"SynthsCEX":{"address":"0x6aa0f8620614aFe9BD4aBA3148439b08eb2557C0","status":"replaced","replaced_in":"v2.10.5"},"TokenStateiCEX":{"address":"0x3Fb1F228168432688b4E851Fe909907248cf9eCD","status":"deleted"},"ProxyiCEX":{"address":"0xAE7F21C0dFe5481ca77d538b5609938a51850942","status":"replaced","replaced_in":"v2.10.5"},"SynthiCEX":{"address":"0x66B86625ee80b06e94E027e44eA35680a0730233","status":"replaced","replaced_in":"v2.10.5"}}},"v2.9.0":{"tag":"v2.9.0","fulltag":"v2.9.0-beta-5","release":"","network":"rinkeby","date":"2019-08-29T12:12:45+10:00","commit":"ae8c6ae9c2342e247f08bade0d34e51cc8cf61b9","block":11230652,"contracts":{"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.10.5"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.10.5"},"RewardsDistribution":{"address":"0xD7381cC1Adef9E483886058a7D06A3819620d3E4","status":"replaced","replaced_in":"v2.18.1"}}},"v2.9.1":{"tag":"v2.9.1","fulltag":"v2.9.1-1","release":"","network":"rinkeby","date":"2019-09-13T16:48:15+10:00","commit":"368d0596e255a3555688cf0114e91eca8830940c","block":11230652,"contracts":{"ProxysETH":{"address":"0xC9E41649eC88dc27CFf147BC13A02eEcb7e45D65","status":"replaced","replaced_in":"v2.10.5"}}},"v2.10.2":{"tag":"v2.10.2","fulltag":"v2.10.2-release-candidate-3","release":"Sirius","network":"rinkeby","date":"2019-09-26T13:03:00+10:00","commit":"d025db087a41a64a6fa8caee8bd059c19fd3eb1d","block":11230652,"contracts":{"ProxysUSD":{"address":"0x70528149a537660C1d4D1D5EcB8606eAE0857A88","status":"current"},"ProxyERC20sUSD":{"address":"0x70528149a537660C1d4D1D5EcB8606eAE0857A88","status":"current"}}},"v2.10.5":{"tag":"v2.10.5","fulltag":"v2.10.5-release-candidate-2","release":"Sirius","network":"rinkeby","date":"2019-09-26T18:58:44+10:00","commit":"688fd3865c3cdfb3e5451c2b6eef4599e1ae6cc9","block":11230652,"contracts":{"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","replaced_in":"v2.12.2"},"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.12.2"},"ProxysAUD":{"address":"0xF48e200EAF9906362BB1442fca31e0835773b8B4","status":"current"},"ProxysBTC":{"address":"0x6e147ec4fF77151183837CCad60b62364E941028","status":"current"},"ProxysCHF":{"address":"0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d","status":"current"},"ProxysEUR":{"address":"0xD71eCFF9342A5Ced620049e616c5035F1dB98620","status":"current"},"ProxysGBP":{"address":"0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F","status":"current"},"ProxysJPY":{"address":"0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d","status":"current"},"ProxysXAG":{"address":"0x6A22e5e94388464181578Aa7A6B869e00fE27846","status":"deleted"},"ProxysXAU":{"address":"0x261EfCdD24CeA98652B9700800a13DfBca4103fF","status":"deleted"},"ProxyXDR":{"address":"0xb3f67dE9a919476a4c0fE821d67bf5C4637D8429","status":"deleted"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.11.1"},"SynthsAUD":{"address":"0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","status":"replaced","replaced_in":"v2.16.4"},"SynthsBTC":{"address":"0x832177F21CCDcc286003faDF4e98fc11dc5C627F","status":"replaced","replaced_in":"v2.16.4"},"SynthsCHF":{"address":"0x296b019E6dF25Ce3b71d4239b8C7CEc1a417d4E9","status":"replaced","replaced_in":"v2.16.4"},"SynthsEUR":{"address":"0x5B362679e0c7700E44E5cB459e2811B7544420F1","status":"replaced","replaced_in":"v2.16.4"},"SynthsGBP":{"address":"0xD8C733Ac0B2Db47BbA7af7716Eb696e62C417D5b","status":"replaced","replaced_in":"v2.16.4"},"SynthsJPY":{"address":"0x11Dfa1Bf994Ea47e361eC474519Afd627e932eb0","status":"replaced","replaced_in":"v2.16.4"},"SynthsUSD":{"address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","status":"replaced","replaced_in":"v2.12.2"},"SynthsXAG":{"address":"0xD6308849094c5E6Eb0EDAba255A06Ca32B0106Bf","status":"replaced","replaced_in":"v2.16.4"},"SynthsXAU":{"address":"0x4a15d9dfC95ba7B9e33CE70e7E0762dc8F7AC237","status":"replaced","replaced_in":"v2.16.4"},"SynthXDR":{"address":"0x6025f88ABB6d99d02c5EEd82C151d52Bac8E444b","status":"deleted"},"ProxysETH":{"address":"0xC9E41649eC88dc27CFf147BC13A02eEcb7e45D65","status":"current"},"SynthsETH":{"address":"0xdf1765a1530166ece1D46182a946a03b09AE2810","status":"replaced","replaced_in":"v2.12.2"},"ProxysBNB":{"address":"0x617aeCB6137B5108D1E7D4918e3725C8cEbdB848","status":"deleted"},"SynthsBNB":{"address":"0x33cE216C10dEA5E724b7A90628ce7853eef127B3","status":"replaced","replaced_in":"v2.16.4"},"ProxyiBTC":{"address":"0xD6014EA05BDe904448B743833dDF07c3C7837481","status":"deleted"},"SynthiBTC":{"address":"0xCe88906100c145522Be3a509683881241aBb3C52","status":"replaced","replaced_in":"v2.16.4"},"ProxyiETH":{"address":"0xA9859874e1743A32409f75bB11549892138BBA1E","status":"deleted"},"SynthiETH":{"address":"0x3f3804176D90640aC6063124afd4bc0636aC85B6","status":"replaced","replaced_in":"v2.16.4"},"ProxyiBNB":{"address":"0xAFD870F32CE54EfdBF677466B612bf8ad164454B","status":"deleted"},"SynthiBNB":{"address":"0x57Ff288dd9D478b046647A5aB917195449F1F6e5","status":"replaced","replaced_in":"v2.16.4"},"ProxysMKR":{"address":"0x4140919DE11fCe58E654cC6038017Af97f810De1","status":"deleted"},"SynthsMKR":{"address":"0xFAc2B3400Df00a348C3118831a45A05255F9004A","status":"deleted"},"ProxysTRX":{"address":"0xf2E08356588EC5cd9E437552Da87C0076b4970B0","status":"deleted"},"SynthsTRX":{"address":"0x0dA04b80e21B344fCFD49C04bEC658E80F1D7428","status":"replaced","replaced_in":"v2.16.4"},"ProxysXTZ":{"address":"0x2e59005c5c0f0a4D77CcA82653d48b46322EE5Cd","status":"deleted"},"SynthsXTZ":{"address":"0xC0b1F43Ee7b0670F7B34e14c4702e54a905A51B5","status":"replaced","replaced_in":"v2.16.4"},"ProxyiMKR":{"address":"0x0794D09be5395f69534ff8151D72613077148b29","status":"deleted"},"SynthiMKR":{"address":"0x047FC84504714d526808Be07BF17Bdd70726ef92","status":"deleted"},"ProxyiTRX":{"address":"0xC5807183a9661A533CB08CbC297594a0B864dc12","status":"deleted"},"SynthiTRX":{"address":"0x80eDAC70ec108a9c5B47972da9924397Ba974Ff9","status":"replaced","replaced_in":"v2.16.4"},"ProxyiXTZ":{"address":"0x8deef89058090ac5655A99EEB451a4f9183D1678","status":"deleted"},"SynthiXTZ":{"address":"0x72661E76475354403838EB04144206f70Ff97d79","status":"replaced","replaced_in":"v2.16.4"},"ProxysCEX":{"address":"0xeABACD844A196D7Faf3CE596edeBF9900341B420","status":"deleted"},"SynthsCEX":{"address":"0x93CfF799F255eDa2089cFB3F05696B5B66873C1A","status":"replaced","replaced_in":"v2.16.4"},"ProxyiCEX":{"address":"0x336213e1DDFC69f4701Fc3F86F4ef4A160c1159d","status":"deleted"},"SynthiCEX":{"address":"0x43e1505E315BE6C8b875a37F7D8753Ba84140A37","status":"replaced","replaced_in":"v2.16.4"},"ArbRewarder":{"address":"0xA6B5E74466eDc95D0b6e65c5CBFcA0a676d893a4","status":"current"}}},"v2.11.1":{"tag":"v2.11.1","fulltag":"v2.11.1-beta-6","release":"Canopus","network":"rinkeby","date":"2019-10-04T11:18:21+10:00","commit":"fbe1c95d833616ce1ffd5cfa5bda2a0ede683204","block":11230652,"contracts":{"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.12.2"}}},"v2.12.2":{"tag":"v2.12.2","fulltag":"v2.12.2-release-candidate-1-3","release":"Rigil","network":"rinkeby","date":"2019-11-08T11:49:46+11:00","commit":"03c8bf29545cd6c4a3d5d11171be09151f94bf70","block":11230652,"contracts":{"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.14.0"},"SynthsUSD":{"address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","status":"replaced","replaced_in":"v2.16.4"},"SynthsETH":{"address":"0xdf1765a1530166ece1D46182a946a03b09AE2810","status":"replaced","replaced_in":"v2.16.4"},"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","replaced_in":"v2.16.4"},"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.14.0"},"TokenStatesXRP":{"address":"0xb90AafFB61dFC042e7a7AbcE069DDB4BAE9ab192","status":"deleted"},"ProxysXRP":{"address":"0xa2B0fDe6D710e201d0d608e924A484d1A5fEd57c","status":"deleted"},"SynthsXRP":{"address":"0xFf6866FF46c71706DcD5A0A38f12279553bE6233","status":"replaced","replaced_in":"v2.16.4"},"TokenStatesLTC":{"address":"0xe1a2C7957a4771031301f2E25b0f52039aD97270","status":"deleted"},"ProxysLTC":{"address":"0xC14103C2141E842e228FBaC594579e798616ce7A","status":"deleted"},"SynthsLTC":{"address":"0x8e0cC15bBCd10E170AC07982B5D6930502C63784","status":"replaced","replaced_in":"v2.16.4"},"TokenStatesLINK":{"address":"0x577D4a7395c6A5f46d9981a5F83fa7294926aBB0","status":"current"},"ProxysLINK":{"address":"0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6","status":"current"},"SynthsLINK":{"address":"0x34B19046c6657D26B0C9b63d3Fb54C2754Ed4537","status":"replaced","replaced_in":"v2.16.4"},"TokenStatesDEFI":{"address":"0x7Ac2D37098a65B0f711CFfA3be635F1E6aCacFaB","status":"deleted"},"ProxysDEFI":{"address":"0xe1aFe1Fd76Fd88f78cBf599ea1846231B8bA3B6B","status":"deleted"},"SynthsDEFI":{"address":"0x4917E9Ef69E3a1C82651c9158cA2c25b3A564760","status":"replaced","replaced_in":"v2.16.4"},"TokenStateiXRP":{"address":"0xa9d6aE0F9E9da6FFC357Cd155CCe18E3491e135D","status":"deleted"},"ProxyiXRP":{"address":"0x27269b3e45A4D3E79A3D6BFeE0C8fB13d0D711A6","status":"deleted"},"SynthiXRP":{"address":"0xcBBb17D9767bD57FBF4Bbf8842E916bCb3826ec1","status":"replaced","replaced_in":"v2.16.4"},"TokenStateiLINK":{"address":"0x3FdF819c3665D6866b5Bb0F56E1EDA0D7f69B714","status":"deleted"},"ProxyiLINK":{"address":"0x2d7aC061fc3db53c39fe1607fB8cec1B2C162B01","status":"deleted"},"SynthiLINK":{"address":"0xEC114001D23eeFE6624Fb42cCbF4b3c793e295f1","status":"replaced","replaced_in":"v2.16.4"},"TokenStateiLTC":{"address":"0x7B1010586F923CbF61e7C314146853675705751F","status":"deleted"},"ProxyiLTC":{"address":"0x79da1431150C9b82D2E5dfc1C68B33216846851e","status":"deleted"},"SynthiLTC":{"address":"0x05DD55C18999b4a2f905978C029B85dA37750170","status":"replaced","replaced_in":"v2.16.4"},"TokenStateiDEFI":{"address":"0x6E9BAC2827dBBa78D11b270115086CC357988928","status":"deleted"},"ProxyiDEFI":{"address":"0x14d10003807AC60d07BB0ba82cAeaC8d2087c157","status":"deleted"},"SynthiDEFI":{"address":"0x8E39e807D9eaE1cED9BCE296F211c38BA5ab2f9B","status":"replaced","replaced_in":"v2.16.4"}}},"v2.14.0":{"tag":"v2.14.0","fulltag":"v2.14.0-beta-3","release":"Vega","network":"rinkeby","date":"2019-11-27T12:18:54+11:00","commit":"8dccf7349f1d2656ecf92b43459f73ff0ad19f7d","contracts":{"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.17.4"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.16.4"}}},"v2.15.0":{"tag":"v2.15.0","fulltag":"v2.15.0-release-candidate-1","release":"","network":"rinkeby","date":"2019-12-09T13:45:19+11:00","commit":"645bc5482bee9b5a8644c54fb645ac8c71d7e819","contracts":{"DappMaintenance":{"address":"0x778ec2d9B4baE65C57a6436a6c37AFc135baD727","status":"deleted"}}},"v2.16.4":{"tag":"v2.16.4","fulltag":"v2.16.4-release-candidate-3","release":"Capella","network":"rinkeby","date":"2019-12-12T16:03:22+11:00","commit":"ad931ba28b8b2e28166f08db377d1426ca2ee3b0","block":11230652,"contracts":{"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.18.1"},"SupplySchedule":{"address":"0x22c1a308B198583f97A7449411Ad5222A13D9d68","status":"replaced","replaced_in":"v2.62.0"},"Math":{"address":"0x385e1Eb2FF28F4A637DA2C9971F8CAF5F5b1E77c","status":"current"},"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","replaced_in":"v2.18.1"},"SynthsAUD":{"address":"0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","status":"replaced","replaced_in":"v2.18.1"},"SynthsBTC":{"address":"0x6bCd1caE4A3c099c696B51f889bE2120DF62b7c0","status":"replaced","replaced_in":"v2.18.1"},"SynthsCHF":{"address":"0xfF0b8894CC44F300e124bcd39F95555816b8B1d5","status":"replaced","replaced_in":"v2.18.1"},"SynthsEUR":{"address":"0x5B362679e0c7700E44E5cB459e2811B7544420F1","status":"replaced","replaced_in":"v2.18.1"},"SynthsGBP":{"address":"0x486e27D56c0744970687927728598F8B96451Cc4","status":"replaced","replaced_in":"v2.18.1"},"SynthsJPY":{"address":"0x4B1cE9C42A381CB2d74ffeF20103e502e2fc619C","status":"replaced","replaced_in":"v2.18.1"},"SynthsUSD":{"address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","status":"replaced","replaced_in":"v2.18.1"},"SynthsXAG":{"address":"0x3A412043939d9F7e53373b64f858ecB870a92E50","status":"replaced","replaced_in":"v2.18.1"},"SynthsXAU":{"address":"0x4d96b67f5BDe58A622D9bF2B8a1906C8B084fAf4","status":"replaced","replaced_in":"v2.18.1"},"SynthXDR":{"address":"0x30A46E656CdcA6B401Ff043e1aBb151490a07ab0","status":"deleted"},"SynthsETH":{"address":"0xdf1765a1530166ece1D46182a946a03b09AE2810","status":"replaced","replaced_in":"v2.18.1"},"SynthsBNB":{"address":"0xE5787927410b659cc4eA2441cDaa361f9D7b250C","status":"replaced","replaced_in":"v2.18.1"},"SynthiBTC":{"address":"0x83266A95429b903cC5e954bF61c7eddf8a52b971","status":"replaced","replaced_in":"v2.18.1"},"SynthiETH":{"address":"0xf53B56B6Fb98aaF514bcd28f6Fa6fd20C24E5c22","status":"replaced","replaced_in":"v2.18.1"},"SynthiBNB":{"address":"0x09400Ec683F70174E1217d6dcdBf42448E8De5d6","status":"replaced","replaced_in":"v2.18.1"},"SynthsMKR":{"address":"0x84965DCa28c4Eb9dE61d80f80e811eA12BE1c819","status":"deleted"},"SynthsTRX":{"address":"0x1A60E2E2A8BE0BC2B6381dd31Fd3fD5F9A28dE4c","status":"replaced","replaced_in":"v2.18.1"},"SynthsXTZ":{"address":"0xe109da5361299eD96D91146B8Cc12F682D21964e","status":"replaced","replaced_in":"v2.18.1"},"SynthiMKR":{"address":"0xD95e7F80766580634B2E0E49d9F66af317994FC7","status":"deleted"},"SynthiTRX":{"address":"0x406555dbF02e9E4df9AdeAeC9DA76ABeED8C1BC3","status":"replaced","replaced_in":"v2.18.1"},"SynthiXTZ":{"address":"0xAD7258d0054c03112a4f5489A4B24eC34a2fc787","status":"replaced","replaced_in":"v2.18.1"},"SynthsCEX":{"address":"0x8a3ca1d2d9a05683EB4DB447d0e3122Fec09d9ee","status":"replaced","replaced_in":"v2.18.1"},"SynthiCEX":{"address":"0xDa5eD43B9B6E36b4f27cc6D8c1974532cdBd55F9","status":"replaced","replaced_in":"v2.18.1"},"SynthsXRP":{"address":"0xC64CdA66Bc1d026b984D6BEE6aDBf71eAc8A099d","status":"replaced","replaced_in":"v2.18.1"},"SynthsLTC":{"address":"0x088256945480c884C067a8Bc98A72A1C984f826B","status":"replaced","replaced_in":"v2.18.1"},"SynthsLINK":{"address":"0x46824bFAaFd049fB0Af9a45159A88e595Bbbb9f7","status":"replaced","replaced_in":"v2.18.1"},"SynthsDEFI":{"address":"0xF778Ec504245EfE1eA010C5C3E50b6F5f5E117da","status":"replaced","replaced_in":"v2.18.1"},"SynthiXRP":{"address":"0xd7adF1b5E31D1C40E08F16a2095338ce3aA8f2Fc","status":"replaced","replaced_in":"v2.18.1"},"SynthiLINK":{"address":"0x3DdF5dAd59F8F8e8f957709B044eE84e87B42e25","status":"replaced","replaced_in":"v2.18.1"},"SynthiLTC":{"address":"0xec98BB42C8F03485bf659378da694512a16f3482","status":"replaced","replaced_in":"v2.18.1"},"SynthiDEFI":{"address":"0xC5Bfbc63dc8D36E81434e93e0ee097999879d7F4","status":"replaced","replaced_in":"v2.18.1"}}},"v2.17.4":{"tag":"v2.17.4","fulltag":"v2.17.4-2","release":"Procyon","network":"rinkeby","date":"2019-12-18T16:32:38+11:00","commit":"ddd5e765f53e1af5b5910c6079b7df6a240bcb9c","block":11230652,"contracts":{"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.18.1"}}},"v2.18.1":{"tag":"v2.18.1","fulltag":"v2.18.1-release-candidate-3","release":"","network":"rinkeby","date":"2020-02-20T17:38:03+11:00","commit":"e0902f6c49fe4edbe2e52c9691ed971f695a17bc","block":11230652,"contracts":{"Depot":{"address":"0x995b225C9C7c487D14cEE97397e7062F4002ef67","status":"current"},"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","replaced_in":"v2.23.3"},"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.20.1"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.19.6"},"SynthsAUD":{"address":"0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","status":"replaced","replaced_in":"v2.20.1"},"SynthsBTC":{"address":"0xF0ac210915BD88Ea51c9EB800a4078a85927efdF","status":"replaced","replaced_in":"v2.20.1"},"SynthsCHF":{"address":"0x64C73355FBD0274e677609E8fb372427DF975508","status":"replaced","replaced_in":"v2.20.1"},"SynthsEUR":{"address":"0x5B362679e0c7700E44E5cB459e2811B7544420F1","status":"replaced","replaced_in":"v2.20.1"},"SynthsGBP":{"address":"0x8FA7FBb0144CeA832a76547aEAB1Ad8d9e4588F1","status":"replaced","replaced_in":"v2.20.1"},"SynthsJPY":{"address":"0x68043c3EAE66Ac1c28341867491E615412fc84FD","status":"replaced","replaced_in":"v2.20.1"},"SynthsUSD":{"address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","status":"replaced","replaced_in":"v2.20.1"},"SynthsXAG":{"address":"0xd415e342a5C7Ee189D939b4DC17E85880fE1096A","status":"replaced","replaced_in":"v2.20.1"},"SynthsXAU":{"address":"0x00aB7c26A5a6C4C32D0b897E4Af3CB32F92aad34","status":"replaced","replaced_in":"v2.20.1"},"SynthXDR":{"address":"0x96f9D144E55149437640512B82d7Dda065E89773","status":"deleted"},"SynthsETH":{"address":"0xdf1765a1530166ece1D46182a946a03b09AE2810","status":"replaced","replaced_in":"v2.20.1"},"SynthsBNB":{"address":"0xaE3971E603b11dA40aea85d8c2355150c7c47683","status":"replaced","replaced_in":"v2.20.1"},"SynthiBTC":{"address":"0x810425566d1d3078B15A6f035b17886F18F3c54B","status":"replaced","replaced_in":"v2.20.1"},"SynthiETH":{"address":"0xc0bA711B4E128425Be9245ce750D82c90b42D6D2","status":"replaced","replaced_in":"v2.20.1"},"SynthiBNB":{"address":"0xc68b5Eb9e035b2B84568A4C6201e3b200C0236ba","status":"replaced","replaced_in":"v2.20.1"},"SynthsMKR":{"address":"0x54A0326fB698c2CFACa5327550a897FA66d21f07","status":"deleted"},"SynthsTRX":{"address":"0x3d0e7c09242b0cAd4e81cB2f6D2183EF517500EF","status":"replaced","replaced_in":"v2.20.1"},"SynthsXTZ":{"address":"0x2CB1B47fB16013798086f267E04E6579dcb72A74","status":"replaced","replaced_in":"v2.20.1"},"SynthiMKR":{"address":"0x10A0532DE3C86D9cE810F004FaBcf5a1EA464390","status":"deleted"},"SynthiTRX":{"address":"0x2DE37AF5BA64f5CaE3202Bf13dbEDc4D46e8046f","status":"replaced","replaced_in":"v2.20.1"},"SynthiXTZ":{"address":"0x59D39e14cC735b39746c94351E7fbDd92C8D0d3C","status":"replaced","replaced_in":"v2.20.1"},"SynthsCEX":{"address":"0x2420057461bD2fb756e0A610897c51De7fB18311","status":"replaced","replaced_in":"v2.20.1"},"SynthiCEX":{"address":"0xf7011510572d0EFE31d1E90cd6dc1EF84e6B13b8","status":"replaced","replaced_in":"v2.20.1"},"RewardsDistribution":{"address":"0xD7381cC1Adef9E483886058a7D06A3819620d3E4","status":"replaced","replaced_in":"v2.18.1"},"SynthsXRP":{"address":"0x4dc1E8bAcc26D563941dCB59c72BD9FE58663778","status":"replaced","replaced_in":"v2.20.1"},"SynthsLTC":{"address":"0x79BEf89A63bE04A75F1fA42E8f42ad873B6f43e2","status":"replaced","replaced_in":"v2.20.1"},"SynthsLINK":{"address":"0x3D663Dbe79fA9752815e03e129D6703eDE1C6D71","status":"replaced","replaced_in":"v2.20.1"},"SynthsDEFI":{"address":"0xE725d6Ff29d0679C9Cb6Fa8972a1E8a7FB49610B","status":"replaced","replaced_in":"v2.20.1"},"SynthiXRP":{"address":"0xccda7941aB1AC7a32F49843c0b3EDF618b20F6Ae","status":"replaced","replaced_in":"v2.20.1"},"SynthiLINK":{"address":"0x8c6680412e914932A9abC02B6c7cbf690e583aFA","status":"replaced","replaced_in":"v2.20.1"},"SynthiLTC":{"address":"0xfca2e82E5414c695c81b99D753b0b11c50bDC93D","status":"replaced","replaced_in":"v2.20.1"},"SynthiDEFI":{"address":"0xaE7D62Fb6a305E6d9E9F8c43bbb41093c2bE52f6","status":"replaced","replaced_in":"v2.20.1"},"AddressResolver":{"address":"0x0C763763036A4272Bb26D52905814523B7ad6A0f","status":"replaced","replaced_in":"v2.23.3"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","replaced_in":"v2.20.1"},"ExchangeState":{"address":"0x6469c1236c69f7B0671A6edCE782103286F02b17","status":"current"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","replaced_in":"v2.19.6"},"EtherCollateral":{"address":"0x0F3d8ad599Be443A54c7934B433A87464Ed0DFdC","status":"replaced","replaced_in":"v2.26.2"}}},"v2.19.6":{"tag":"v2.19.6","fulltag":"v2.19.6-alpha-38","release":"Achernar","network":"rinkeby","date":"2020-02-28T14:01:33+11:00","commit":"176e5a241248b58f6a017553a70328612670cb07","block":11230652,"contracts":{"Unipool":{"address":"0x48D7f315feDcaD332F68aafa017c7C158BC54760","status":"current"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.20.1"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","replaced_in":"v2.20.1"},"IssuanceEternalStorage":{"address":"0x631E93A0fb06B5eC6d52c0A2D89a3f9672d6Ba64","status":"current"}}},"v2.20.1":{"tag":"v2.20.1","fulltag":"v2.20.1-1","release":"Betelgeuse","network":"rinkeby","date":"2020-03-31T15:11:35+11:00","commit":"5f48ad4d4fe2e59d07de3d064492d2a5cf31a5f2","block":11230652,"contracts":{"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.22.4"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.22.4"},"SynthsAUD":{"address":"0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","status":"replaced","replaced_in":"v2.35.2"},"SynthsBTC":{"address":"0x17628A557d1Fc88D1c35989dcBAC3f3e275E2d2B","status":"replaced","replaced_in":"v2.35.2"},"SynthsCHF":{"address":"0x253914cf059f4c3E277c28060C404acFc38FB6e2","status":"replaced","replaced_in":"v2.35.2"},"SynthsEUR":{"address":"0x5B362679e0c7700E44E5cB459e2811B7544420F1","status":"replaced","replaced_in":"v2.35.2"},"SynthsGBP":{"address":"0xB3098Ae40f488ffdb979827Fd01597CC20c5a5A0","status":"replaced","replaced_in":"v2.35.2"},"SynthsJPY":{"address":"0x8ed1B71B00DbaB96A6db6DF0C910f749243de6D3","status":"replaced","replaced_in":"v2.35.2"},"SynthsUSD":{"address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","status":"replaced","replaced_in":"v2.28.4"},"SynthsXAG":{"address":"0x1B9d6cD65dDC981410cb93Af91B097667E0Bc7eE","status":"replaced","replaced_in":"v2.35.2"},"SynthsXAU":{"address":"0xA408d8e01C8E084B67559226C5B55D6F0B7074e2","status":"replaced","replaced_in":"v2.35.2"},"SynthsETH":{"address":"0xdf1765a1530166ece1D46182a946a03b09AE2810","status":"replaced","replaced_in":"v2.35.2"},"SynthsBNB":{"address":"0xadaD43Be81E2206f6D1aF4299cA2a029e16af7AB","status":"replaced","replaced_in":"v2.35.2"},"SynthiBTC":{"address":"0xc704c9AA89d1ca60F67B3075d05fBb92b3B00B3B","status":"replaced","replaced_in":"v2.35.2"},"SynthiETH":{"address":"0xaE55F163337A2A46733AA66dA9F35299f9A46e9e","status":"replaced","replaced_in":"v2.35.2"},"SynthiBNB":{"address":"0xf86048DFf23cF130107dfB4e6386f574231a5C65","status":"replaced","replaced_in":"v2.35.2"},"DelegateApprovals":{"address":"0xf81F108C5a405E0779e0558C045a7b36e0eD1eeC","status":"current"},"SynthsMKR":{"address":"0xD1599E478cC818AFa42A4839a6C665D9279C3E50","status":"deleted"},"SynthsTRX":{"address":"0xC4Be4583bc0307C56CF301975b2B2B1E5f95fcB2","status":"replaced","replaced_in":"v2.35.2"},"SynthsXTZ":{"address":"0x91DBC6f587D043FEfbaAD050AB48696B30F13d89","status":"replaced","replaced_in":"v2.35.2"},"SynthiMKR":{"address":"0x1228c7D8BBc5bC53DB181bD7B1fcE765aa83bF8A","status":"deleted"},"SynthiTRX":{"address":"0xdD87cbDe3C1f8F728C7924c8C9C983Af6dfcfeA8","status":"replaced","replaced_in":"v2.35.2"},"SynthiXTZ":{"address":"0x6dFDFbfB4B180be4482F8b753fb33720C2831a9f","status":"replaced","replaced_in":"v2.35.2"},"SynthsCEX":{"address":"0x5eA2544551448cF6DcC1D853aDdd663D480fd8d3","status":"replaced","replaced_in":"v2.35.2"},"SynthiCEX":{"address":"0x817c39c8825e12eA7752483c85dd2c800b78B357","status":"replaced","replaced_in":"v2.35.2"},"SynthsXRP":{"address":"0xF5d0BFBc617d3969C1AcE93490A76cE80Db1Ed0e","status":"replaced","replaced_in":"v2.35.2"},"SynthsLTC":{"address":"0x6cF29c515A33209c6eCa43c293004ac80c0614f0","status":"replaced","replaced_in":"v2.35.2"},"SynthsLINK":{"address":"0xAf918f4a72BC34E59dFaF65866feC87947F1f590","status":"replaced","replaced_in":"v2.35.2"},"SynthsDEFI":{"address":"0xf5a6115Aa582Fd1BEEa22BC93B7dC7a785F60d03","status":"replaced","replaced_in":"v2.35.2"},"SynthiXRP":{"address":"0x71Cd588eFA3609bc14E7B0c7C57dDDfd3a72E8a2","status":"replaced","replaced_in":"v2.35.2"},"SynthiLINK":{"address":"0x63d630B6D89c21E171E86c51C7243284510DBd79","status":"replaced","replaced_in":"v2.35.2"},"SynthiLTC":{"address":"0x0f5BdfD0958345C2e7Adb1741024aEd6Dd159e6C","status":"replaced","replaced_in":"v2.35.2"},"SynthiDEFI":{"address":"0x489d4D4c4bC781EAab3A36C44d66762Ceb6e1e2D","status":"replaced","replaced_in":"v2.35.2"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","replaced_in":"v2.22.4"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","replaced_in":"v2.22.4"},"SystemStatus":{"address":"0x84d1E9847cb8d7e0e31C6fd06bd26B4031049138","status":"replaced","replaced_in":"v2.38.0"},"DelegateApprovalsEternalStorage":{"address":"0x71C3f163A37F031a1424c8c9C276E1E8D81Fa0D5","status":"current"}}},"v2.21.6":{"tag":"v2.21.6","fulltag":"v2.21.6-1","release":"Hadar","network":"rinkeby","date":"2020-04-02T20:34:45+11:00","commit":"749da0208911b419eedc9dd5c6dc8e229e3dd30b","block":11230652,"contracts":{"TokenStatesEOS":{"address":"0x631443C4121ca7B4c90dC79a37B1DcE8B79aDeEc","status":"deleted"},"ProxysEOS":{"address":"0x88C8Cf3A212c0369698D13FE98Fcb76620389841","status":"deleted"},"SynthsEOS":{"address":"0x31a9c51eEd5282F11ae5CDD061A65A4ce0346C08","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesBCH":{"address":"0xb7ee031093B9578DF124983823330BBe277FD8b4","status":"deleted"},"ProxysBCH":{"address":"0x36a2422a863D5B950882190Ff5433E513413343a","status":"deleted"},"SynthsBCH":{"address":"0x9b68b85c61B082B2495B342F26B20a57cFd73D26","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesETC":{"address":"0xd4DB55Cf39c37BEAa3A47F2555D57B4ea2d9Ff39","status":"deleted"},"ProxysETC":{"address":"0x22602469d704BfFb0936c7A7cfcD18f7aA269375","status":"deleted"},"SynthsETC":{"address":"0x2369D37ae9B30451D859C11CAbAc70df1CE48F78","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesDASH":{"address":"0x136b1EC699c62b0606854056f02dC7Bb80482d63","status":"deleted"},"ProxysDASH":{"address":"0xfE33ae95A9f0DA8A845aF33516EDc240DCD711d6","status":"deleted"},"SynthsDASH":{"address":"0xc66499aCe3B6c6a30c784bE5511E8d338d543913","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesXMR":{"address":"0x23d5381713841724A67B731026b32322228cA3C7","status":"deleted"},"ProxysXMR":{"address":"0x5299d6F7472DCc137D7f3C4BcfBBB514BaBF341A","status":"deleted"},"SynthsXMR":{"address":"0x86FD9c0261E804476bA11056fFD758da2469ed56","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesADA":{"address":"0x9956c5019a24fbd5B506AD070b771577bAc5c343","status":"current"},"ProxysADA":{"address":"0xe36E2D3c7c34281FA3bC737950a68571736880A1","status":"current"},"SynthsADA":{"address":"0x1Cda42C559D2EB137103D9A01d1ae736dEDA3aEF","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesFTSE":{"address":"0xD1B420854527e4b0e489bd37ec8f9DB1E6305515","status":"deleted"},"ProxysFTSE":{"address":"0x23348160D7f5aca21195dF2b70f28Fce2B0be9fC","status":"deleted"},"SynthsFTSE":{"address":"0x8D34924EAe7578692775fDd94Ed27bc355397E4a","status":"replaced","replaced_in":"v2.35.2"},"TokenStatesNIKKEI":{"address":"0xc69D8B688a309FDEa9273DDE1A46bF1e51928a55","status":"deleted"},"ProxysNIKKEI":{"address":"0x757de3ac6B830a931eF178C6634c5C551773155c","status":"deleted"},"SynthsNIKKEI":{"address":"0x4CeB220C5E38E27ef5187F7ab853aC182D233d39","status":"replaced","replaced_in":"v2.35.2"},"TokenStateiEOS":{"address":"0x68a8b098967Ae077dcFf5cC8E29B7cb15f1A3cC8","status":"deleted"},"ProxyiEOS":{"address":"0xF4EebDD0704021eF2a6Bbe993fdf93030Cd784b4","status":"deleted"},"SynthiEOS":{"address":"0xc66a263f2C7C1Af0bD70c6cA4Bff5936F3D6Ef9F","status":"replaced","replaced_in":"v2.35.2"},"TokenStateiBCH":{"address":"0x780a7206313F411db5f32c79B15B1C80FaABED59","status":"deleted"},"ProxyiBCH":{"address":"0xf6E9b246319ea30e8C2fA2d1540AAEBF6f9E1B89","status":"deleted"},"SynthiBCH":{"address":"0x0E87a320daCE86A0b427FA2Bae282dE5c7697278","status":"replaced","replaced_in":"v2.35.2"},"TokenStateiETC":{"address":"0x71892d13BA2b19f196760f619eE9C67534a49E37","status":"deleted"},"ProxyiETC":{"address":"0xd50c1746D835d2770dDA3703B69187bFfeB14126","status":"deleted"},"SynthiETC":{"address":"0xF13f9E75913b352622F8AEEA5Ac32498b1C228d0","status":"replaced","replaced_in":"v2.35.2"},"TokenStateiDASH":{"address":"0x01ADA1140cA795897c45016Dfd296382267b264a","status":"deleted"},"ProxyiDASH":{"address":"0xCB98f42221b2C251A4E74A1609722eE09f0cc08E","status":"deleted"},"SynthiDASH":{"address":"0x5f7A299Be82D8f5A626300c62C477b233F616121","status":"replaced","replaced_in":"v2.35.2"},"TokenStateiXMR":{"address":"0xE20117888AB22ACF65b02C196A9f8423b502876c","status":"deleted"},"ProxyiXMR":{"address":"0x4AdF728E2Df4945082cDD6053869f51278fae196","status":"deleted"},"SynthiXMR":{"address":"0xC5D2b3f5DAf11B6111Af86a72A5938B0fE6c5045","status":"replaced","replaced_in":"v2.35.2"},"TokenStateiADA":{"address":"0xD636802A5b903b23726189D9B89daAD2750177FA","status":"deleted"},"ProxyiADA":{"address":"0x8A8079c7149B8A1611e5C5d978DCA3bE16545F83","status":"deleted"},"SynthiADA":{"address":"0x9D4193187B247a400E8D8ba716F1C18c0dC65528","status":"replaced","replaced_in":"v2.35.2"}}},"v2.21.12":{"tag":"v2.21.12","fulltag":"v2.21.12-107","release":"Hadar","network":"rinkeby","date":"2020-05-08T12:52:06-04:00","commit":"19997724bc7eaceb902c523a6742e0bd74fc75cb","block":11230652,"contracts":{"ReadProxyAddressResolver":{"address":"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2","status":"current"}}},"v2.22.4":{"tag":"v2.22.4","fulltag":"v2.22.4","release":"Altair","network":"rinkeby","date":"2020-06-05T14:45:28+10:00","commit":"5c7e67ba325f8506c34e163b215ae36a16537a91","block":11230652,"contracts":{"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.23.3"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.23.3"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","replaced_in":"v2.23.3"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","replaced_in":"v2.23.3"},"Liquidations":{"address":"0x9f9C7BA80442767e7BeF5E8121cEc53cF8182827","status":"replaced","replaced_in":"v2.27.2"},"EternalStorageLiquidations":{"address":"0x0F7c200C4d3b5570C777764884Ce6DE67F31D3Ba","status":"deleted"}}},"v2.23.3":{"tag":"v2.23.3","fulltag":"v2.23.3","release":"Acrux","network":"rinkeby","date":"2020-06-30T15:44:41+10:00","commit":"4fd3c1e6ac849f8c43277493e636a2ecc63801e0","block":11230652,"contracts":{"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","replaced_in":"v2.27.2"},"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","replaced_in":"v2.27.2"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.24.0"},"AddressResolver":{"address":"0x0C763763036A4272Bb26D52905814523B7ad6A0f","status":"replaced","replaced_in":"v2.35.2"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","replaced_in":"v2.26.2"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","replaced_in":"v2.27.2"},"BinaryOptionMarketFactory":{"address":"0x8EC58faA4c1B693B50B7F1331897AD6B52Dd824A","status":"replaced","replaced_in":"v2.25.0"},"BinaryOptionMarketManager":{"address":"0x673e76631981Cb55783527F744e581ABA8Cf406D","status":"replaced","replaced_in":"v2.25.0"}}},"v2.24.0":{"tag":"v2.24.0","fulltag":"v2.24.0","release":"Aldebaran","network":"rinkeby","date":"2020-07-01T14:54:11+10:00","commit":"280652bae2d971281b8bf96a319c1c8139ec15c3","block":11230652,"contracts":{"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","replaced_in":"v2.27.2"}}},"v2.25.0":{"tag":"v2.25.0","fulltag":"v2.25.0","release":"Antares","network":"rinkeby","date":"2020-07-20T13:50:06+10:00","commit":"4833cb929d5af6715112537cac3b04b5d7a8b157","block":11230652,"contracts":{"BinaryOptionMarketFactory":{"address":"0x72c091691b5cD86fAcD048972157985f74Ea1F07","status":"replaced","replaced_in":"v2.35.2"},"BinaryOptionMarketManager":{"address":"0x8071bA88e58a19176EF007995FB5D9E1Faa73F92","status":"replaced","replaced_in":"v2.35.2"}}},"v2.26.0-alpha":{"tag":"v2.26.0-alpha","fulltag":"v2.26.0-alpha","release":"Spica","network":"rinkeby","date":"2020-07-24T12:27:23+10:00","commit":"c4dd4413cbbd3c0b40dfee2f9119af2dcb6a82e5","contracts":{"StakingRewardsSNXBalancer":{"address":"0xFBaEdde70732540cE2B11A8AC58Eb2dC0D69dE10","status":"current"},"StakingRewardsiETH":{"address":"0xC746bc860781DC90BBFCD381d6A058Dc16357F8d","status":"replaced","replaced_in":"v2.26.3"},"StakingRewardssBTCCurve":{"address":"0x13C1542A468319688B89E323fe9A3Be3A90EBb27","status":"current"},"StakingRewardssUSDCurve":{"address":"0xDCB6A51eA3CA5d3Fd898Fd6564757c7aAeC3ca92","status":"current"},"StakingRewardssXAUUniswapV2":{"address":"0x8302FE9F0C509a996573D3Cc5B0D5D51e4FDD5eC","status":"current"}}},"v2.26.2":{"tag":"v2.26.2","fulltag":"v2.26.2","release":"Spica","network":"rinkeby","date":"2020-07-30T13:13:50+10:00","commit":"bda26772bfe5f1bcc7c93d653f80deb60fe2e905","block":11230652,"contracts":{"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","replaced_in":"v2.27.2"},"EtherCollateral":{"address":"0x7133afF303539b0A4F60Ab9bd9656598BF49E272","status":"deleted"}}},"v2.26.3":{"tag":"v2.26.3","fulltag":"v2.26.3","release":"Spica","network":"rinkeby","date":"2020-08-14T15:22:27-06:00","commit":"60c8390d525949507f8cf2c952c342a97a0826fe","block":11230652,"contracts":{"StakingRewardsiETH":{"address":"0x6Dc0b8A7DACe47Bc75D2dDFDF8BF29e363d92693","status":"replaced","replaced_in":"v2.33.1"},"StakingRewardsiBTC":{"address":"0xE5Ea1DDA3299C0b133a93A47eF9F5536C6892AcE","status":"replaced","replaced_in":"v2.32.1-beta"},"BinaryOptionMarketData":{"address":"0xe523184876c97945da45998582526cDb6a3dA260","status":"deleted"},"SynthUtil":{"address":"0xe051Ecb3D9E2bDB6cE285f866a7261355cf0Dc94","status":"current"},"DappMaintenance":{"address":"0xD1BDDa0DA4B7ca233B86ab6b648B99A116Ee44F1","status":"current"}}},"v2.27.2":{"tag":"v2.27.2","fulltag":"v2.27.2","release":"Pollux","network":"rinkeby","date":"2020-09-01T18:32:44+12:00","commit":"62408a24161f041e1e484af92e1dbb232dfc4065","block":11230652,"contracts":{"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","keccak256":"0x01a2b00da817c983b1bd19e0af4d554a690f5cdd8aa54ff6536c76f1728377e0","replaced_in":"v2.28.4"},"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","keccak256":"0x89fe01b2c0707be51cdfc9d44205efcffb0134ed60a92a9056940dd442fb1908","replaced_in":"v2.28.4"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0xf92685622f5b8ea9c56041189b6c200314f72f08df4ff073a02896c849eb834f","replaced_in":"v2.31.1"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0x737fcda1e8b492524c2a643bca60667f28f6b8107f310b4d5a0f8e3056dddc73","replaced_in":"v2.30.0"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0x723b38bb915f02c16cf004d09469b1d3024064f4c9438a01dbe7b2185dc6c236","replaced_in":"v2.28.4"},"Liquidations":{"address":"0x46338723022deF2c5151e83BE759796A988754a2","status":"replaced","keccak256":"0xf4020bcebac1bd7291e495284dd4a6efa22f5d1c009c04f178b9a4e1304759dc","replaced_in":"v2.35.2"},"FlexibleStorage":{"address":"0xEd1302AbCDa68F5189622bCBA5432Fb0B4110C07","status":"current","keccak256":"0x952f7c2f536ec424f53fc741cb4384b5d9ea94934de777ead382bf84e3c1e757"},"SystemSettings":{"address":"0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","status":"replaced","keccak256":"0x59393d6ea3c81732896d77b91ca890a4e69abe8ff8019bbdd3c09a2b1eb02eef","replaced_in":"v2.30.0"},"TradingRewards":{"address":"0x0Ace5a84fF583B947994afdb57B9137300362eFc","status":"replaced","keccak256":"0xee0b5025064a29a55fa474b59f7c646f08dd4820d259cf134b3f26fe5b2e0941","replaced_in":"v2.35.2"}}},"v2.28.4":{"tag":"v2.28.4","fulltag":"v2.28.4","release":"Fomalhaut","network":"rinkeby","date":"2020-09-24T18:50:48+10:00","commit":"5f0eba4171a7f5db98fdf6129e9794f443116b92","block":11230652,"contracts":{"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","keccak256":"0x9b7626bb44a60f17f989367a27bbc71b7b86d63a03033c7ed5c7fb5d3eedc743","replaced_in":"v2.30.0"},"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","keccak256":"0x1b5c5a7be8072e6d9e89d218345a7692365a4236fd3d82ea85476d0fad9c30c1","replaced_in":"v2.35.2"},"SynthsUSD":{"address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","status":"replaced","keccak256":"0x153f392299fac48cc06ca86dd544a0d67fb9056f588e0f63609461d457787804","replaced_in":"v2.35.2"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0xf6b38cc555bf11c4c5a5b13316a65f4ec59230524ca1b8c969fcdcbc20c2c922","replaced_in":"v2.30.0"},"EtherCollateralsUSD":{"address":"0xfED77055B40d63DCf17ab250FFD6948FBFF57B82","status":"deleted","keccak256":"0x85918fcd0515828e0a6698e27e43151d5e0333d936ea6b5a9f6f9341a9b68266"}}},"v2.30.0":{"tag":"v2.30.0","fulltag":"v2.30.0","release":"Deneb","network":"rinkeby","date":"2020-10-08T19:34:02+11:00","commit":"6e6b68ae14eee0c6246b5bbe6bdd0b181ba7df94","block":11230652,"contracts":{"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","keccak256":"0xecc746e9363b1e4d2cda6b3bd5773268540a790a4f1f14909b2eaf441acaf6c4","replaced_in":"v2.31.1"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0x5d6e11d4c9e1a785a435f44c861da9ed9ef4889db9151265145624a1cf64e512","replaced_in":"v2.31.1"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0xd75e68a23fef19a0e8604bebe92baa040bfb590ae5259333aeb63ac413c94da1","replaced_in":"v2.31.1"},"SystemSettings":{"address":"0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","status":"replaced","keccak256":"0x0119b6d98214114e4c7c41b10e0cd5b58903143e6556156917772b4019c44335","replaced_in":"v2.35.2"}}},"v2.31.1":{"tag":"v2.31.1","fulltag":"v2.31.1","release":"Mimosa","network":"rinkeby","date":"2020-11-11T22:10:58-05:00","commit":"29919ec289317f6441c89df4852620ebb6983285","block":11230652,"contracts":{"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","keccak256":"0xb00ede4847d8725844e762151714f558e8b5d6fa3b34531cf29fe14d3e052884","replaced_in":"v2.35.2"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0x02c3d358d6a0487f54ac56b33bf9f39f12c7af85564544f3d929a143ca96d9ea","replaced_in":"v2.32.2"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0xb4aec17ec72b273b7013d9042a231b06ed4b4246e8a77bc5f507598ebd77e396","replaced_in":"v2.32.2"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0xffc3175744de9a11cf1cc91ca6aad118b539e8ccad902d409ce853619f7168d4","replaced_in":"v2.35.2"},"DebtCache":{"address":"0x03cc0484A774Eca797262A5a4d43BC18ED56709E","status":"replaced","keccak256":"0x35d36fdd6fa8ff932a8733f9583afaf396e33a59b1febc8b68a60d65f731a8a9","replaced_in":"v2.35.2"},"TokenStatesOIL":{"address":"0x98d7CcF403B8BD2F6DC3F3cA4161f1E8db3dD080","status":"deleted","keccak256":"0x0f7749d534fc2dd7ab5c3b8490967a5792fb132eaeba573e74f6016c383d7701"},"ProxysOIL":{"address":"0x6d16cF3EC5F763d4d99cB0B0b110eefD93B11B56","status":"deleted","keccak256":"0xf57882920536d50a381ff2e8395534cabfdd4224df40c4efa8ec25a8c8ab7088"},"SynthsOIL":{"address":"0xDE3Eaa39875d0528A575dBcC436b2C6ae9fc353c","status":"replaced","keccak256":"0x268ff01dc0d6236517d11269cb667a5600eb62633953148d78921900688e30cb","replaced_in":"v2.35.2"},"TokenStateiOIL":{"address":"0xF92BE89BF1aebA61AC48D90CF7C9Ac2b3616c4Da","status":"deleted","keccak256":"0x0f7749d534fc2dd7ab5c3b8490967a5792fb132eaeba573e74f6016c383d7701"},"ProxyiOIL":{"address":"0xA5a5DF41883Cdc00c4cCC6E8097130535399d9a3","status":"deleted","keccak256":"0xf57882920536d50a381ff2e8395534cabfdd4224df40c4efa8ec25a8c8ab7088"},"SynthiOIL":{"address":"0x54EA32890a1bDB1C1aE106C921bE010F2C7faaC2","status":"replaced","keccak256":"0xa334bb44b69f6f2cbd66738d110ac1cf455cb8f8b7c98a960fbaea9d9a4f2b72","replaced_in":"v2.35.2"}}},"v2.32.1-beta":{"tag":"v2.32.1-beta","fulltag":"v2.32.1-beta","release":"Regulus","network":"rinkeby","date":"2020-11-13T13:47:31+11:00","commit":"dde4e3194c42863e9f313df986b01e0dc9838541","contracts":{"StakingRewardsiBTC":{"address":"0x32C9F03490A9F560EccC9f107e71560C1b0A2535","status":"replaced","replaced_in":"v2.35.4"}}},"v2.32.2":{"tag":"v2.32.2","fulltag":"v2.32.2","release":"Regulus","network":"rinkeby","date":"2020-11-12T23:51:24-05:00","commit":"cd889471d05c29510af0cb082fed6c03b8638981","block":11230652,"contracts":{"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0x1bfcc7247998d65ebfb5c17d978eafdef24825868b4d77df2bb5354d6aaf0e19","replaced_in":"v2.35.2"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0xee1b7e9552a2b8e7da01a7932c36340a6a1e667b8b37f6eefd7a59ef6bbc5361","replaced_in":"v2.34.0"}}},"v2.33.1":{"tag":"v2.33.1","fulltag":"v2.33.1","release":"Regulus","network":"rinkeby","date":"2020-11-24T12:48:26+11:00","commit":"1925c97723ce0b4871ac4864f1e63f5f12990c5a","block":11230652,"contracts":{"StakingRewardsiETH":{"address":"0x3fdbbbd81b0962fdf486d74f94a68c70ba87c6c7","status":"replaced","replaced_in":"v2.35.5"}}},"v2.34.0":{"tag":"v2.34.0","fulltag":"v2.34.0","release":"Adhara","network":"rinkeby","date":"2020-12-01T03:01:54+00:00","commit":"12576807a21a7efa6b2cbb47c5a9082a956edc64","block":11230652,"contracts":{"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0x09fa1faaf859aae12a0424acc41b0e80c285f1af4b495a4659ac2b140afd8bdf","replaced_in":"v2.35.2"}}},"v2.35.2":{"tag":"v2.35.2","fulltag":"v2.35.2","release":"Shaula","network":"rinkeby","date":"2020-12-23T23:30:50-05:00","commit":"ec70aac92af3387b45f7667130fb910fd0a8456c","block":11230652,"contracts":{"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","keccak256":"0x6c13c44ff3c52644f0b7006484742be9349727f83ab458189e89834055016dad","replaced_in":"v2.53.0"},"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","keccak256":"0x51bd2b8ffcf3d7131b99f486d9cf061a606d39edeaeccff6b74c6500a32a14f3","replaced_in":"v2.36.0"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0x41941b8dd270efe6fad9ff32810eaad189b55acc1455158e6b4258442d9d8af4","replaced_in":"v2.36.0"},"SynthsAUD":{"address":"0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsBTC":{"address":"0xDB91E4B3b6E19bF22E810C43273eae48C9037e74","status":"replaced","keccak256":"0x14571b22f2a34a60434c0954c2dd071b0bf65aec24a5869d2b5017ab8b7dd9a8","replaced_in":"v2.48.0"},"SynthsCHF":{"address":"0xcf9bB94b5d65589039607BA66e3DAC686d3eFf01","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsEUR":{"address":"0x5B362679e0c7700E44E5cB459e2811B7544420F1","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsGBP":{"address":"0xEF285D339c91aDf1dD7DE0aEAa6250805FD68258","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsJPY":{"address":"0x388fD1A8a7d36e03eFA1ab100a1c5159a3A3d427","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsUSD":{"address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","status":"replaced","keccak256":"0x14571b22f2a34a60434c0954c2dd071b0bf65aec24a5869d2b5017ab8b7dd9a8","replaced_in":"v2.45.0"},"SynthsXAG":{"address":"0x9745606DA6e162866DAD7bF80f2AbF145EDD7571","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsXAU":{"address":"0x5eDf7dd83fE2889D264fa9D3b93d0a6e6A45D6C6","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsETH":{"address":"0xdf1765a1530166ece1D46182a946a03b09AE2810","status":"replaced","keccak256":"0x14571b22f2a34a60434c0954c2dd071b0bf65aec24a5869d2b5017ab8b7dd9a8","replaced_in":"v2.45.0"},"SynthsBNB":{"address":"0xda3c83750b1FA31Fda838136ef3f853b41cb7a5a","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiBTC":{"address":"0x8350d1b2d6EF5289179fe49E5b0F208165B4e32e","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiETH":{"address":"0x29DD4A59F4D339226867e77aF211724eaBb45c02","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiBNB":{"address":"0xf7B8dF8b16dA302d85603B8e7F95111a768458Cc","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthsTRX":{"address":"0x47bD14817d7684082E04934878EE2Dd3576Ae19d","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsXTZ":{"address":"0x6F927644d55E32318629198081923894FbFe5c07","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiTRX":{"address":"0x0517A56da8A517e3b2D484Cc5F1Da4BDCfE68ec3","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiXTZ":{"address":"0x099CfAd1640fc7EA686ab1D83F0A285Ba0470882","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthsCEX":{"address":"0x2acfe6265D358d982cB1c3B521199973CD443C71","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiCEX":{"address":"0x6Dc6a64724399524184C2c44a526A2cff1BaA507","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthsXRP":{"address":"0xe3D5E1c1bA874C0fF3BA31b999967F24d5ca04e5","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsLTC":{"address":"0xA962208CDC8588F9238fae169d0F63306c353F4F","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthsLINK":{"address":"0xcd980Fc5CcdAe62B18A52b83eC64200121A929db","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsDEFI":{"address":"0x46A7Af405093B27DA6DeF193C508Bd9240A255FA","status":"replaced","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18","replaced_in":"v2.53.0"},"SynthiXRP":{"address":"0x19cC1f63e344D74A87D955E3F3E95B28DDDc61d8","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiLINK":{"address":"0x4D50A0e5f068ACdC80A1da2dd1f0Ad48845df2F8","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiLTC":{"address":"0xb73c665825dAa926D6ef09417FbE5654473c1b49","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiDEFI":{"address":"0x87eb6e935e3C7E3E3A0E31a5658498bC87dE646E","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"AddressResolver":{"address":"0x0C763763036A4272Bb26D52905814523B7ad6A0f","status":"current","keccak256":"0x08ec0f694f3303c567cc46ab5bf96aaf3851fd6a19648ad1918b5782429cc81a"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0xd754d5cdbdb4e6203dcc39bdaed00532478313e8883c9b4b6c6207e0b9cb805b","replaced_in":"v2.42.0"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0x0df620a435ec41cafde34c49b7de45034cb5ad61218f262f26a7f6c7dd358184","replaced_in":"v2.36.0"},"SynthsEOS":{"address":"0xAf090d6E583C082f2011908cf95c2518BE7A53ac","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsBCH":{"address":"0x7DA860eF331D22518C28E475af08a77e8599393A","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsETC":{"address":"0x21ee4afBd6c151fD9A69c1389598170B1d45E0e3","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsDASH":{"address":"0xcb6Cb218D558ae7fF6415f95BDA6616FCFF669Cb","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsXMR":{"address":"0x7B29C9e188De18563B19d162374ce6836F31415a","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsADA":{"address":"0xC22e51FA362654ea453B4018B616ef6f6ab3b779","status":"replaced","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37","replaced_in":"v2.53.0"},"SynthsFTSE":{"address":"0x3E2dA260B4A85782A629320EB027A3B7c28eA9f1","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthsNIKKEI":{"address":"0xc02DD182Ce029E6d7f78F37492DFd39E4FEB1f8b","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthiEOS":{"address":"0x806A599d60B2FdBda379D5890287D2fba1026cC0","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiBCH":{"address":"0x13Fae0E7E85ba720078038bea5011C2957cDcef2","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiETC":{"address":"0xCea42504874586a718954746A564B72bc7eba3E3","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiDASH":{"address":"0x947d5656725fB9A8f9c826A91b6082b07E2745B7","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiXMR":{"address":"0x186E56A62E7caCE1308f1A1B0dbb27f33F80f16f","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"SynthiADA":{"address":"0x931c5516EE121a177bD2B60e0122Da5B27630ABc","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"Liquidations":{"address":"0xAD95C918af576c82Df740878C3E983CBD175daB6","status":"deleted","keccak256":"0x000d9a0ec698e3988b41d0ba80b2232ccd83dbdd1f065d4ff9ae43754a701bae"},"BinaryOptionMarketFactory":{"address":"0x211bA925B35b82246a3CCfa3A991a39A840f025C","status":"deleted","keccak256":"0x19c02d5083547f83f7498763553980d79e887fc93fa434da292b66a456443759"},"BinaryOptionMarketManager":{"address":"0x915D1c9dF12142B535F6a7437F0196D80bCCC1BD","status":"deleted","keccak256":"0x2e5c533119e027ff1083ea3845643d65379a51ac6c22e4dca1399f32938f024d"},"SystemSettings":{"address":"0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","status":"replaced","keccak256":"0x148c7aaaab9c0789a47a345111b41e8d646e2c56ca1ad7880c0e766aa178cdd0","replaced_in":"v2.36.0"},"TradingRewards":{"address":"0x0Ace5a84fF583B947994afdb57B9137300362eFc","status":"current","keccak256":"0xbd78e356e87ea7ca505e365a1a21c5f84511c231a3531d61e7f0c4341ea80530"},"DebtCache":{"address":"0x03cc0484A774Eca797262A5a4d43BC18ED56709E","status":"replaced","keccak256":"0x071d5e77712e76f9ce095244ed31be9ece5efbe76a73b97bde41582f727f91c9","replaced_in":"v2.45.0"},"SynthsOIL":{"address":"0x2962EA4E749e54b10CFA557770D597027BA67cB3","status":"deleted","keccak256":"0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37"},"SynthiOIL":{"address":"0x53869BDa4b8d85aEDCC9C6cAcf015AF9447Cade7","status":"deleted","keccak256":"0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18"},"CollateralManagerState":{"address":"0x035CDE8a4d83181097a318217402B40D055dD4F1","status":"current","keccak256":"0x614dd98ef6d3ac07a6f11efcf61e17925555e41e6bc964956eeca7c541af4d54"},"CollateralManager":{"address":"0x40765bb75B361664d9bcD77D8ed05cc933674683","status":"current","keccak256":"0x20ccb7af61701bb647d44055355ec93371d8897c459f70079cab337a5d8696b9"},"CollateralStateEth":{"address":"0xbe5B5a7c198bC156474ed5c33CBf2F3F604F8fF8","status":"replaced","keccak256":"0xc238df01b6845ebf985ef266b8a50321f5410843b04b9de084a771bb5b95459c","replaced_in":"v2.36.0"},"CollateralEth":{"address":"0xA34528e8E84825E212AA24df2f7Ff48Ce2AfA050","status":"replaced","keccak256":"0x1c9a753645e530b04a7d8ac4d394154efe5b4d0c097cd3dcb410ad03d477918d","replaced_in":"v2.36.0"},"CollateralStateErc20":{"address":"0x8A1A00Df7aA0102497C7591912bA8301e8dB8CdB","status":"replaced","keccak256":"0xc238df01b6845ebf985ef266b8a50321f5410843b04b9de084a771bb5b95459c","replaced_in":"v2.36.0"},"CollateralErc20":{"address":"0x599F420F6BfA64f17680Fd748361932C67420617","status":"replaced","keccak256":"0xd179858cd8df017e9c0a4313a6d9b2ad2af1a528498a1c1633aaa65b79395c12","replaced_in":"v2.36.0"},"CollateralStateShort":{"address":"0xd322259B4D93F81a2a59f6010BEC166F6f5E870c","status":"replaced","keccak256":"0xc238df01b6845ebf985ef266b8a50321f5410843b04b9de084a771bb5b95459c","replaced_in":"v2.36.0"},"CollateralShort":{"address":"0x188C2274B04Ea392B21487b5De299e382Ff84246","status":"replaced","keccak256":"0xcfd4c10190e41e869cd9dfce6881f7f54d106c6a93bea6ea4f242c21608024b4","replaced_in":"v2.36.0"}}},"v2.35.4":{"tag":"v2.35.4","fulltag":"v2.35.4","release":"Shaula","network":"rinkeby","date":"2020-12-27T23:33:03+11:00","commit":"6adcdf4643199987cd86839891016f6c066cb7cc","block":11230652,"contracts":{"StakingRewardsiBTC":{"address":"0xDcdD9e45FA94cf50eCd3251dd8f8157B2D492DD9","status":"replaced","replaced_in":"v2.35.6"}}},"v2.35.5":{"tag":"v2.35.5","fulltag":"v2.35.5","release":"Shaula","network":"rinkeby","date":"2021-01-04T13:14:53+11:00","commit":"fcc5b6dc68ea17e24230f6862819f04a8a3ab994","block":11230652,"contracts":{"StakingRewardsiETH":{"address":"0x6d4F135aF7DFCd4BDF6dCb9D7911F5d243872a52","status":"replaced","replaced_in":"v2.37.2"}}},"v2.35.6":{"tag":"v2.35.6","fulltag":"v2.35.6","release":"Shaula","network":"rinkeby","date":"2021-01-09T12:21:05+11:00","commit":"488095084f580528bb515eadf875804ca5510c0c","contracts":{"StakingRewardsiBTC":{"address":"0x167009dcDA2e49930a71712D956f02cc980DcC1b","status":"current","keccak256":"0x887fbc76ddd8d83f704e96ada13cdc7f01adf45c2bff445a83b721780bfe1479"}}},"v2.36.0-alpha":{"tag":"v2.36.0-alpha","fulltag":"v2.36.0-alpha","release":"Castor","network":"rinkeby","date":"2021-01-14T06:03:45+11:00","commit":"e0b70b7f704771c45e3ab3fefc9850ee21baa1f0","contracts":{"StakingRewardssEURCurve":{"address":"0xc0d8994Cd78eE1980885DF1A0C5470fC977b5cFe","status":"current","keccak256":"0x887fbc76ddd8d83f704e96ada13cdc7f01adf45c2bff445a83b721780bfe1479"}}},"v2.36.0":{"tag":"v2.36.0","fulltag":"v2.36.0","release":"Castor","network":"rinkeby","date":"2021-01-15T14:54:58+11:00","commit":"ecb71301348176b76432b85968cb0f8cfe5829a8","contracts":{"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","keccak256":"0xf90645ee31653436f05b2ddec17be15e1fa5e66d926e33966d80b1440c8aed89","replaced_in":"v2.45.0"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0x5510e2a4a8c3c5fc1f6069b0754d5c4cd73414c8105b40dba8fe67734dc64741","replaced_in":"v2.38.0"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0x5081661c90f6d4e491c8a8f44cbd17e23c27f44dbae57c407f3a108cf45e0d27","replaced_in":"v2.45.0"},"SystemSettings":{"address":"0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","status":"replaced","keccak256":"0x8f9dd57d480d9ffe5ed1e2501055b47affe94d8dcf63ee7c3b889311d0962330","replaced_in":"v2.45.0"},"CollateralStateEth":{"address":"0xbe5B5a7c198bC156474ed5c33CBf2F3F604F8fF8","status":"current","keccak256":"0x30ca2798b72c79907035679c274da0e6692b585e6792e7977d70b3b1d966d508"},"CollateralEth":{"address":"0xA34528e8E84825E212AA24df2f7Ff48Ce2AfA050","status":"current","keccak256":"0xa48ff50e2dbdb646cb5933caf7f577a673f7e535eb520e7e9b32ff86e3bc9784"},"CollateralStateErc20":{"address":"0x8A1A00Df7aA0102497C7591912bA8301e8dB8CdB","status":"current","keccak256":"0x30ca2798b72c79907035679c274da0e6692b585e6792e7977d70b3b1d966d508"},"CollateralErc20":{"address":"0x599F420F6BfA64f17680Fd748361932C67420617","status":"current","keccak256":"0xcba65179bf463952f22a9a8d0543d767b233039d0ebcf7721b86cd60b3e8c948"},"CollateralStateShort":{"address":"0x13A114a3Fa8A6CE03a0C5488BE9e614d78eDdb0c","status":"current","keccak256":"0x30ca2798b72c79907035679c274da0e6692b585e6792e7977d70b3b1d966d508"},"CollateralShort":{"address":"0x1F2c3a1046c32729862fcB038369696e3273a516","status":"current","keccak256":"0x332ba7664d15521a81c57ff5f1f5a8d18216ae4e3843991f25ac9ff524b90758"},"RewardEscrowV2":{"address":"0x57CF38C8bBaCbC6D16eB5E8b7E4acBF7E42e9aC0","status":"current","keccak256":"0xd6153f08b1517a31caa3c5a3b2035a553d8e62dc1c578a97b30fbb7bbf7c4d43"},"SynthetixBridgeToOptimism":{"address":"0xbCD2d1005D7C07812411F4340722dcaf8cb34F1C","status":"replaced","keccak256":"0x072ba93f033853347432cd3d6f47d4a4d54cd106185de9382cde9977636a00a7","replaced_in":"v2.44.0"}}},"v2.37.2":{"tag":"v2.37.2","fulltag":"v2.37.2","release":"Gacrux","network":"rinkeby","date":"2021-02-03T20:51:49+11:00","commit":"2dbefe270db60cfce32c7be5042f6b21210b59ec","contracts":{"StakingRewardsiETH":{"address":"0x3f27c540ADaE3a9E8c875C61e3B970b559d7F65d","status":"current","keccak256":"0x3e6a3472be447625ea5b31cfbf61920dd3f68d77a9cb29c9c996f3d14923e4e9"}}},"v2.38.0":{"tag":"v2.38.0","fulltag":"v2.38.0","release":"Bellatrix","network":"rinkeby","date":"2021-02-04T01:43:31-05:00","commit":"3ae713e07049d2a18f360f21c8681c67176f706b","contracts":{"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0x33cdbd8578a578cf81ba42b1a47fc9af81a7287b9dde01b81115b84851e4c2fe","replaced_in":"v2.46.0"},"SystemStatus":{"address":"0x84d1E9847cb8d7e0e31C6fd06bd26B4031049138","status":"replaced","keccak256":"0xb210589c91f85a692d9e05830f09655739b48d942f32d07c54688b2f7211bc1c","replaced_in":"v2.64.1"},"ShortingRewardssETH":{"address":"0x12DC1273915A16ab8BD47bA7866B240c253e4c12","status":"current","keccak256":"0xff9b3bd33ceece6255032e9becb94e0ac28d6c7b7e5310f6329a86dc5b380fae"},"ShortingRewardssBTC":{"address":"0xCed4055b47cfD0421f3727a35F69CE659c8bAF7a","status":"current","keccak256":"0xff9b3bd33ceece6255032e9becb94e0ac28d6c7b7e5310f6329a86dc5b380fae"},"TokenStatesAAVE":{"address":"0x9BcED8A8E3Ad81c9b146FFC880358f734A06f7c0","status":"current","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysAAVE":{"address":"0xd2dF355C19471c8bd7D8A3aa27Ff4e26A21b4076","status":"current","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsAAVE":{"address":"0xaB38249f4f56Ef868F6b5E01D9cFa26B952c1270","status":"replaced","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7","replaced_in":"v2.53.0"},"TokenStatesUNI":{"address":"0x9234733bD0F3E227e431BBE7B09CEB0E3E9755e3","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysUNI":{"address":"0x30635297E450b930f8693297eBa160D9e6c8eBcf","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsUNI":{"address":"0xAa1b12E3e5F70aBCcd1714F4260A74ca21e7B17b","status":"deleted","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7"},"TokenStatesYFI":{"address":"0xF61F4A57C63340ac1Fd75578ae878c8a263aeC06","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysYFI":{"address":"0x992058B7DB08F9734d84485bfbC243C4ee6954A7","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsYFI":{"address":"0x0F393ce493d8FB0b83915248a21a3104932ed97c","status":"deleted","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7"},"TokenStatesDOT":{"address":"0x73B1a2643507Cd30F11Dfcf2D974f4373E5BC077","status":"current","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysDOT":{"address":"0x1715AC0743102BF5Cd58EfBB6Cf2dC2685d967b6","status":"current","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsDOT":{"address":"0xfD0435A588BF5c5a6974BA19Fa627b772833d4eb","status":"replaced","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7","replaced_in":"v2.53.0"},"TokenStatesREN":{"address":"0x6e6d86D88d2Ce382918EB4F062F0fff82B8c9b99","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysREN":{"address":"0xD31533E8d0f3DF62060e94B3F1318137bB6E3525","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsREN":{"address":"0x4287dac1cC7434991119Eba7413189A66fFE65cF","status":"deleted","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7"},"TokenStatesCOMP":{"address":"0x5f298BD4391d32Af25368FA78dc210A56c7Ccc9c","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysCOMP":{"address":"0xEb029507d3e043DD6C87F2917C4E82B902c35618","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsCOMP":{"address":"0x34c76BC146b759E58886e821D62548AC1e0BA7Bc","status":"deleted","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7"},"TokenStateiAAVE":{"address":"0xC43c0D8b2A3509d193974695568164C190af2AAF","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxyiAAVE":{"address":"0x176C674Ee533C6139B0dc8b458D72A93dCB3e705","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthiAAVE":{"address":"0x1cB27Ac646afAE192dF9928A2808C0f7f586Af7d","status":"deleted","keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855"},"TokenStateiUNI":{"address":"0x13caB49E4484C2E0624d2bdF3dADfAD43e5611f9","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxyiUNI":{"address":"0x36A00FF9072570eF4B9292117850B8FE08d96cce","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthiUNI":{"address":"0x3dD7b893c25025CabFBd290A5E06BaFF3DE335b8","status":"deleted","keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855"},"TokenStateiYFI":{"address":"0x643088Ad7A6CEB1ec95be0E7B382438399CA8e7C","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxyiYFI":{"address":"0x592244301CeA952d6daB2fdC1fE6bd9E53917306","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthiYFI":{"address":"0x1A4505543C92084bE57ED80113eaB7241171e7a8","status":"deleted","keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855"},"TokenStateiDOT":{"address":"0x41d85Df6513A86eb2eA186e2cf4ec0fE5dD16754","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxyiDOT":{"address":"0x46a97629C9C1F58De6EC18C7F536e7E6d6A6ecDe","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthiDOT":{"address":"0xF6ce55E09De0F9F97210aAf6DB88Ed6b6792Ca1f","status":"deleted","keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855"},"TokenStateiREN":{"address":"0x348C3c80c4F23574BC8cDF669A0Dc106a4E32BFf","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxyiREN":{"address":"0x0fEd38108bdb8e62ef7b5680E8E0726E2F29e0De","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthiREN":{"address":"0xacAAB69C2BA65A2DB415605F309007e18D4F5E8C","status":"deleted","keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855"},"TokenStateiCOMP":{"address":"0x673Be1f8b8e1F2AB64C475b44060EE39163423f0","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxyiCOMP":{"address":"0x6345728B1ccE16E6f8C509950b5c84FFF88530d9","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthiCOMP":{"address":"0x9A5Ea0D8786B8d17a70410A905Aed1443fae5A38","status":"deleted","keccak256":"0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855"}}},"v2.39.0-alpha":{"tag":"v2.39.0-alpha","fulltag":"v2.39.0-alpha","release":"Elnath","network":"rinkeby","date":"2021-02-11T12:10:36+11:00","commit":"89453847d76da1572d1c66b1a838b9360b25f3e5","contracts":{"TokenStatesTSLA":{"address":"0x259F2584E8A672DA3773F91D66567a3229Dee93d","status":"deleted","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysTSLA":{"address":"0x918dA91Ccbc32B7a6A0cc4eCd5987bbab6E31e6D","status":"deleted","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsTSLA":{"address":"0x0d1c4e5C07B071aa4E6A14A604D4F6478cAAC7B4","status":"deleted","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7"}}},"v2.39.1":{"tag":"v2.39.1","fulltag":"v2.39.1","release":"Elnath","network":"rinkeby","date":"2021-02-11T15:27:40-05:00","commit":"f8043e4f25f6b806b47c713bd7ef8e7abb0256ce","contracts":{"StakingRewardssTSLABalancer":{"address":"0xF0de877F2F9E7A60767f9BA662F10751566AD01c","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"}}},"v2.41.0":{"tag":"v2.41.0","fulltag":"v2.41.0","release":"Miaplacidus","network":"rinkeby","date":"2021-03-25T07:06:27+11:00","commit":"d0e83584eeb6fe18957a8203e7afae667ab8117d","contracts":{"TokenStatesKRW":{"address":"0x93B6e9FbBd2c32a0DC3C2B943B7C3CBC2fE23730","status":"current","keccak256":"0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49"},"ProxysKRW":{"address":"0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B","status":"current","keccak256":"0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762"},"SynthsKRW":{"address":"0xCeC4e038371d32212C6Dcdf36Fdbcb6F8a34C6d8","status":"replaced","keccak256":"0xf4ea326028b47508046125b31813d6dd139e2a4d64ada6009eefaa67cba461c7","replaced_in":"v2.53.0"}}},"v2.42.0":{"tag":"v2.42.0","fulltag":"v2.42.0","release":"Alnilam","network":"rinkeby","date":"2021-04-21T20:18:07-06:00","commit":"865b794b9cd5cd9e0f649dc568ef24821536bfb7","contracts":{"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0x207bf8d21a4651525f8c2b0d90885d64a4c5f51c06ac5c20d842438a8950c5b9","replaced_in":"v2.46.0"},"TokenStates1INCH":{"address":"0xeD1EfD716C7E2e821BBD4EC1480D649df7fb2279","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"Proxys1INCH":{"address":"0xcD39b5434a0A92cf47D1F567a7dF84bE356814F0","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"Synths1INCH":{"address":"0x0E8Fa2339314AB7E164818F26207897bBe29C3af","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesRUNE":{"address":"0x860C5f944b098cE28CF9f2Da099913F01c9364D8","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysRUNE":{"address":"0x0352557B007A4Aae1511C114409b932F06F9E2f4","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsRUNE":{"address":"0xe615Df79AC987193561f37E77465bEC2aEfe9aDb","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesCRV":{"address":"0x602590F2aa35B71ccB1Ca72E673A75b26eC7f4E8","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysCRV":{"address":"0xD38aEb759891882e78E957c80656572503D8c1B1","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsCRV":{"address":"0x13D0F5B8630520eA04f694F17A001fb95eaFD30E","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesAAPL":{"address":"0x830B48539D82a4D34dD670bfE163f9eF84B6c2f1","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysAAPL":{"address":"0x7537AAe01f3B218DAE75e10d952473823F961B87","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsAAPL":{"address":"0x815CeF3b7773f35428B4353073B086ecB658f73C","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesFB":{"address":"0xBF416bdf37b1590A3A37A1504865354Bf5D90b34","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysFB":{"address":"0xf50B5e535F62a56A9BD2d8e2434204E726c027Fa","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsFB":{"address":"0xb0e0BA880775B7F2ba813b3800b3979d719F0379","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesGOOG":{"address":"0x272BbF5eEf131A3eb4a3078A58cFcD0978585F98","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysGOOG":{"address":"0xC63B8ECCE56aB9C46184eC6aB85e4771fEa4c8AD","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsGOOG":{"address":"0x8e082925e78538955bC0e2F363FC5d1Ab3be739b","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesNFLX":{"address":"0x438D8701892AB7578ea34F8cDCdCAdc93e48D443","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysNFLX":{"address":"0x5A7E3c07604EB515C16b36cd51906a65f021F609","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsNFLX":{"address":"0x399BA516a6d68d6Ad4D5f3999902D0DeAcaACDdd","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesAMZN":{"address":"0xc341BD8d6BB064FdD94b5142513027A01c1716C9","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysAMZN":{"address":"0x9CF7E61853ea30A41b02169391b393B901eac457","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsAMZN":{"address":"0x9530FA32a3059114AC20A5812870Da12D97d1174","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"VirtualSynthMastercopy":{"address":"0x08D7c025d5F5b5b0eAbDDEC5E8be66f55d2B9374","status":"current","keccak256":"0xac5507c03171e54910218c5da4876e475e129a808af8b3050b81b3990ea73089"}}},"v2.42.1":{"tag":"v2.42.1","fulltag":"v2.42.1","release":"Alnilam","network":"rinkeby","date":"2021-04-22T10:21:26-06:00","commit":"36f0c0feeab994046cd77dd0bc784ca4c0567ecf","contracts":{"StakingRewardssFBBalancer":{"address":"0x26Fa0665660c1D3a3666584669511d3c66Ad37Cb","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"},"StakingRewardssAAPLBalancer":{"address":"0x7af65f1740c0eB816A27FD808EaF6Ab09F6Fa646","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"},"StakingRewardssAMZNBalancer":{"address":"0xDC338C7544654c7dadFEb7E44076E457963113B0","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"},"StakingRewardssNFLXBalancer":{"address":"0x8Ef8cA2AcAaAfEc19fB366C11561718357F780F2","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"},"StakingRewardssGOOGBalancer":{"address":"0x6fB7F0E78582746bd01BcB6dfbFE62cA5F4F9175","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"}}},"v2.43.0":{"tag":"v2.43.0","fulltag":"v2.43.0","release":"Regora","network":"rinkeby","date":"2021-04-29T10:23:38+10:00","commit":"019d3f259e1b0f6f6576248d9098ba780bdbfd94","contracts":{"TokenStatesCOIN":{"address":"0x102e541a34AA7e7205c32ddF58308395d733Ce1f","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysCOIN":{"address":"0x9EeF4CA7aB9fa8bc0650127341C2d3F707a40f8A","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsCOIN":{"address":"0x249612F641111022f2f48769f3Df5D85cb3E26a2","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"},"TokenStatesMSFT":{"address":"0x7EbeEa83591c048a40502985254A3Df19Ea90067","status":"deleted","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysMSFT":{"address":"0x745a824D6aBBD236AA794b5530062778A6Ad7523","status":"deleted","keccak256":"0xfb133acce922041ba6b061ee7a8ce32c7908b0cbb37f343dd9fd81d532999bd8"},"SynthsMSFT":{"address":"0x04720DbBD4599aD26811545595d97fB813E84964","status":"deleted","keccak256":"0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751"}}},"v2.43.1":{"tag":"v2.43.1","fulltag":"v2.43.1","release":"Regora","network":"rinkeby","date":"2021-04-29T08:53:16-06:00","commit":"a018924f08c2b39d6e2607b0b3cea2e099583bc4","contracts":{"StakingRewardssCOINBalancer":{"address":"0x1C1D97f6338759AB814a5A717aE359573Ab5D5d4","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"},"StakingRewardssMSFTBalancer":{"address":"0x9D003Cc298E7Ea141A809C241C0a703176DA3ba3","status":"current","keccak256":"0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516"}}},"v2.44.0":{"tag":"v2.44.0","fulltag":"v2.44.0","release":"Alnair","network":"rinkeby","date":"2021-05-10T17:06:47-06:00","commit":"94677e58bd520b16b8abaa9ca7cbf505b44d1d25","contracts":{"SynthetixBridgeToOptimism":{"address":"0xbCD2d1005D7C07812411F4340722dcaf8cb34F1C","status":"replaced","keccak256":"0x1b2c09f527d84cd2ab5fb24e0e8360773ab6acc86093d94b055d25603dd89af7","replaced_in":"v2.64.1"},"SynthetixBridgeEscrow":{"address":"0x30664E995FC10320f57E3a5B81A8FEcd2ACdB078","status":"current","keccak256":"0xb2c7f7c807bc4783ed66f959cb3335f1b77727bf4d074e3319992842eca64235"}}},"v2.45.0":{"tag":"v2.45.0","fulltag":"v2.45.0","release":"Alioth","network":"rinkeby","date":"2021-05-13T23:17:06+10:00","commit":"92341590ea05dcbe389531d66050aea55b6cde25","contracts":{"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","keccak256":"0xd443eddc5b999da689239836ac3a79c09c32bba640079e4fc9845969f1eba4e4","replaced_in":"v2.48.0"},"SynthsUSD":{"address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","status":"replaced","keccak256":"0x1702a8b622628a65be6ec32ecb892fa0597cce26c30a95f80e658e490c253bb9","replaced_in":"v2.48.0"},"SynthsETH":{"address":"0xdf1765a1530166ece1D46182a946a03b09AE2810","status":"replaced","keccak256":"0x1702a8b622628a65be6ec32ecb892fa0597cce26c30a95f80e658e490c253bb9","replaced_in":"v2.48.0"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0xe54f580f0eeca3cee7fa150c7bcbf40d825e2fae89e5f180ab6467552351a1d1","replaced_in":"v2.48.0"},"SystemSettings":{"address":"0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","status":"replaced","keccak256":"0x0f69f9445094d33ec2f09f8dbb5f64a53e977f95460907100f5350ce9db41b93","replaced_in":"v2.53.0"},"DebtCache":{"address":"0x03cc0484A774Eca797262A5a4d43BC18ED56709E","status":"replaced","keccak256":"0x1fad72ca0e932ce207acc285a609b103b68b23d9d4aba7b280feec5537fd8916","replaced_in":"v2.48.0"},"EtherWrapper":{"address":"0x0BE6C3A1bB849AF9E0128d4B9330E48b4DD16087","status":"current","keccak256":"0xff636098ad63aae110ba03238e110f0b991e74fe2204664f9a17df2b131ab469"},"NativeEtherWrapper":{"address":"0x7A3d898b717e50a96fd8b232E9d15F0A547A7eeb","status":"current","keccak256":"0x0a6a96be15d65a9a904c514508fcf6b832c52675d8331f5427535616586d47c4"}}},"v2.46.0":{"tag":"v2.46.0","fulltag":"v2.46.0","release":"Alnitak","network":"rinkeby","date":"2021-06-30T19:26:47-06:00","commit":"19a7f66fe2da3f5dd9158f714d7ed84a729f176b","contracts":{"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0xfe96c3e453d25fd481a0ecec72538b1559b8fc15af09f695dfb643df219dddfb","replaced_in":"v2.48.0"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0x9007ad2f17c461a4cbc1532752b486825861822644e4f9b3e35382a7940d4acf","replaced_in":"v2.48.0"}}},"v2.48.0":{"tag":"v2.48.0","fulltag":"v2.48.0","release":"Mirfak","network":"rinkeby","date":"2021-09-14T12:57:40+02:00","commit":"a23655d803b14770fec942476e6cbe801eeb81b3","contracts":{"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","keccak256":"0xd89c6712f340c7d732ae4d72522fdeb7c0abe590d8a7919b775a7a328f00853e","replaced_in":"v2.53.0"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0x108639f645916f5c522136377c190889269946e1042dfd4bf9d86ed226bb2443","replaced_in":"v2.53.0"},"SynthsBTC":{"address":"0xC8a5f06858a1B49A7F703EacD433A1444a5e5bd9","status":"replaced","keccak256":"0x76c4e4393a6210843be7153bb9582c26d23860bd286e471b4e4eee9959f9edfd","replaced_in":"v2.53.0"},"SynthsUSD":{"address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","status":"replaced","keccak256":"0x76c4e4393a6210843be7153bb9582c26d23860bd286e471b4e4eee9959f9edfd","replaced_in":"v2.53.0"},"SynthsETH":{"address":"0xdf1765a1530166ece1D46182a946a03b09AE2810","status":"replaced","keccak256":"0x76c4e4393a6210843be7153bb9582c26d23860bd286e471b4e4eee9959f9edfd","replaced_in":"v2.53.0"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0x059aa9b7964b0808f8cd484d5f281c3d13141a379af7c58b781c4b62839e79d2","replaced_in":"v2.53.0"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0x7bb8720e81ffb9193b8e2565e3b3a4824a210ed26fca933f063125e21ce796a3","replaced_in":"v2.51.0"},"DebtCache":{"address":"0x03cc0484A774Eca797262A5a4d43BC18ED56709E","status":"replaced","keccak256":"0x97562d4d9a115f3c4d4233faae0c98120dd816737ddcef529c9723f35de09225","replaced_in":"v2.51.0"},"SynthRedeemer":{"address":"0x2F8B742c931DBa65B2C711F0E9FA78bE71bB8EbE","status":"current","keccak256":"0x4d31499235bb64ab5975313a6c9208fad376de17a3d78f8f11e530b6d0f4af0b"}}},"v2.51.0":{"tag":"v2.51.0","fulltag":"v2.51.0","release":"“Kaus”","network":"rinkeby","date":"2021-10-19T18:44:22-05:00","commit":"ef4dd876f9b0af7172a08a106ef59d9b7f584969","contracts":{"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0xe87fb6220cb9fb6abbce67a9489ee10f97d30e7e681acd533616a6983774d6cc","replaced_in":"v2.53.0"},"DebtCache":{"address":"0x03cc0484A774Eca797262A5a4d43BC18ED56709E","status":"replaced","keccak256":"0x94dba5769ba43b0dcf0f8c1ce13d8fff6b9461bb16f3513b56255c702fe8b1f4","replaced_in":"v2.53.0"}}},"v2.53.0":{"tag":"v2.53.0","fulltag":"v2.53.0","release":"Alkaid","network":"rinkeby","date":"2021-11-17T09:57:24-06:00","commit":"0286bcef24b0c211875d17875fb5cc7eb4d0b78f","contracts":{"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","keccak256":"0x3f925ac902cb770ebff3c804f5805b572670f0e68cea0d08d614dd8bdec804d0","replaced_in":"v2.58.0"},"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","keccak256":"0x9e381069cb34a10eb54ca9fb651d514a2cbcdcb328adfe943956b9d759c5ebac","replaced_in":"v2.57.1"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0x03e31608338a6e1fd532135e44d62d151aea7bc01d187255b08b92e698670a5d","replaced_in":"v2.60.0"},"SynthsAUD":{"address":"0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsBTC":{"address":"0x2B3eb5eF0EF06f2E02ef60B3F36Be4793d321353","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsCHF":{"address":"0x39DDbbb113AF3434048b9d8018a3e99d67C6eE0D","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsEUR":{"address":"0x5B362679e0c7700E44E5cB459e2811B7544420F1","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsGBP":{"address":"0xde3892383965FBa6eC434bE6350F85f140098708","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsJPY":{"address":"0x4ed5c5D5793f86c8a85E1a96E37b6d374DE0E85A","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsUSD":{"address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsETH":{"address":"0xdf1765a1530166ece1D46182a946a03b09AE2810","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsLINK":{"address":"0x3FFE35c3d412150C3B91d3E22eBA60E16030C608","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsDEFI":{"address":"0xe59dFC746D566EB40F92ed0B162004e24E3AC932","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0x6267f046f21eeeb147a87e59aa1922ad8e56c637b2099c5d0c624bfaf64dced3","replaced_in":"v2.58.0"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0xa7d5bbfb32937dafae586741b53606254b2e6c9260188f764e88d31f879df67c","replaced_in":"v2.60.0"},"SynthsADA":{"address":"0x8f9fa817200F5B95f9572c8Acf2b31410C00335a","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SystemSettings":{"address":"0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","status":"replaced","keccak256":"0xf55f2ffecb24404a42b4476f7cfbf8d7c0043387deec84eb37eddccc01598cbf","replaced_in":"v2.54.0"},"DebtCache":{"address":"0x03cc0484A774Eca797262A5a4d43BC18ED56709E","status":"replaced","keccak256":"0x00d3ce717a9a374b9f0acf98fff2fd513f0b71e79d7b1336151e786858b74e76","replaced_in":"v2.64.1"},"SynthsAAVE":{"address":"0x0705F0716b12a703d4F8832Ec7b97C61771f0361","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsDOT":{"address":"0xfA60918C4417b64E722ca15d79C751c1f24Ab995","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"SynthsKRW":{"address":"0xe2f532c389deb5E42DCe53e78A9762949A885455","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"},"WrapperFactory":{"address":"0xf1b1d8907a597323Bab6649190FF481326Be6Aea","status":"replaced","keccak256":"0x0b16131f068641f79c66eb17f5504abe5e2df3a7c2acb097c8db05de3113c7af","replaced_in":"v2.55.0"}}},"v2.54.0":{"tag":"v2.54.0","fulltag":"v2.54.0","release":"Menkalinan","network":"rinkeby","date":"2021-11-23T17:28:16-06:00","commit":"dbd184ae46ed79f94fba5cc23560964b30ae00e3","contracts":{"SystemSettings":{"address":"0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","status":"replaced","keccak256":"0x5174a68c4015495adf1108cd375b0fe17870dad06237fef60ccfa728e8ad79b7","replaced_in":"v2.58.0"},"OwnerRelayOnEthereum":{"address":"0x0e16A6876210841577b233C4165d7B7EdF640b8a","status":"current","keccak256":"0xa1449f609b4427b695977ed157cfe46414a16d902590507338c7d5fb00c40206"}}},"v2.55.0":{"tag":"v2.55.0","fulltag":"v2.55.0","release":"Atria","network":"rinkeby","date":"2021-12-03T00:55:48-05:00","commit":"36df74f7de3157ed962cca4a285e7e3c78134b7a","contracts":{"WrapperFactory":{"address":"0xf1b1d8907a597323Bab6649190FF481326Be6Aea","status":"current","keccak256":"0x582cac91f50cfefc154d67097081d0dd0d4877333df51c3cfe19485f80ef7e74"}}},"v2.56.1":{"tag":"v2.56.1","fulltag":"v2.56.1","release":"Alhena","network":"rinkeby","date":"2021-12-15T18:16:59-05:00","commit":"324105690195d2c0925ffbfffe5d0bba8e98fad7","contracts":{"TokenStatesETHBTC":{"address":"0x042A7A0022A7695454ac5Be77a4860e50c9683fC","status":"current","keccak256":"0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3"},"ProxysETHBTC":{"address":"0x104eDF1da359506548BFc7c25bA1E28C16a70235","status":"current","keccak256":"0xa4731706c3292ed368ded616be2fcf28877d8a853cbce27be7d78e6a57636e9f"},"SynthsETHBTC":{"address":"0xcc3aab773e2171b2E257Ee17001400eE378aa52B","status":"replaced","keccak256":"0x77d6d75f0faee02ff7a6bae37e0aa47e6afb849484a1f4ea6794131ffc5c77b8","replaced_in":"v2.64.1"}}},"v2.57.1":{"tag":"v2.57.1","fulltag":"v2.57.1","release":"Peacock","network":"rinkeby","date":"2022-01-19T13:57:54-08:00","commit":"a13d8b6fc913901b542a7db01729930930495543","contracts":{"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","keccak256":"0xdb500335962961757d10ccbded7e9de457824b4c2d428c8c9aa63f18a5ca3914","replaced_in":"v2.60.0"}}},"v2.58.0":{"tag":"v2.58.0","fulltag":"v2.58.0","release":"Alsephina","network":"rinkeby","date":"2022-02-03T10:43:13+11:00","commit":"5c35281cf80605933b71f32a70a4f5a62a0a0336","contracts":{"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","keccak256":"0x7482d5b965014c8ba6062d078c99822c9e09ca174a41d0130bebcd7f280186d1","replaced_in":"v2.64.1"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0x56b78b843c7799d50e8f605021af227bee40cca2098e23b490a7927d092c91aa","replaced_in":"v2.59.0"},"SystemSettings":{"address":"0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","status":"replaced","keccak256":"0x305a91266ac645a86ebb79b7617bdc7307053f933d843cd1bfafe35cd420d008","replaced_in":"v2.64.2"},"SystemSettingsLib":{"address":"0x373b643Fe606C9C01C4a10361D48C79a876c2bc1","status":"replaced","keccak256":"0x371f31315fadd13809d51123c75dcc31e199ae69b8df9c968cb46aca50831d1f","replaced_in":"v2.68.2"}}},"v2.59.0":{"tag":"v2.59.0","fulltag":"v2.59.0","release":"Mirzam","network":"rinkeby","date":"2022-02-07T15:02:06-05:00","commit":"515481b3502b3b3cab6eb7cb525a01f45090eb98","contracts":{"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0x4c78d2e4e3ddc980b1de8babc52ce9d06155ae2f5a4fbc2a7d4b868ac6088b41","replaced_in":"v2.64.1"}}},"v2.60.0":{"tag":"v2.60.0","fulltag":"v2.60.0","release":"Alphard","network":"rinkeby","date":"2022-02-09T00:09:40-08:00","commit":"8a0ccef3651cebdbbdd6554456f7b43d953f6e55","contracts":{"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"replaced","keccak256":"0x14ebcfb8ccfe17097696f95a65a132c09061ede8c698d1fc2e35c2f0490b111e","replaced_in":"v2.64.1"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0xf2acabbae9e72a59b3d52690314006594f84913de0dc2e428e28b0ea06b071f0","replaced_in":"v2.62.0"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0x9685abe545d427f94360201304dca44e60697b507b86e9f379a1c90b3b24a8b5","replaced_in":"v2.64.1"},"SynthetixDebtShare":{"address":"0x6371e703Ba05432906fB010379AE94C9da73b507","status":"current","keccak256":"0x403192bc309d6eee98ddbfaeed166b50c2665df94167c6970e785a65b71dd0e3"}}},"v2.62.0":{"tag":"v2.62.0","fulltag":"v2.62.0","release":"Hamal","network":"rinkeby","date":"2022-02-18T17:45:17-07:00","commit":"30e5fe0bad0cad0726f814d598f46a927426e6ad","contracts":{"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0x191ed90cf9fd3169888293ff855c4fb45723e2abd2136d730b4afb1e18c11818","replaced_in":"v2.68.2"},"SupplySchedule":{"address":"0x22c1a308B198583f97A7449411Ad5222A13D9d68","status":"current","keccak256":"0x584bf43fc9aff83822ca4bce779cc1497960f183c841ea7c4ff2195ff2916c27"}}},"v2.64.1":{"tag":"v2.64.1","fulltag":"v2.64.1","release":"Diphda","network":"rinkeby","date":"2022-03-17T21:59:53-04:00","commit":"c9f6ac8b9d90dfdbf9b03e8a690edfe7e97fe15a","contracts":{"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","keccak256":"0xe64c15b2d279d2046c5619192bd744bb86cfb5bbcbba36aa60f4cccfa416b6df","replaced_in":"v2.68.2"},"FeePool":{"address":"0xb2629A90De38089bd33540ACbA067468Eee4Dad6","status":"current","keccak256":"0x8efb90365897b11502997b1dea8760062b6e607e9c183847380d76e620e749a3"},"SynthsAUD":{"address":"0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsBTC":{"address":"0x18FcC34bdEaaF9E3b69D2500343527c0c995b1d6","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsCHF":{"address":"0xCC83a57B080a4c7C86F0bB892Bc180C8C7F8791d","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsEUR":{"address":"0x5B362679e0c7700E44E5cB459e2811B7544420F1","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsGBP":{"address":"0xAE7A2C1e326e59f2dB2132652115a59E8Adb5eBf","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsJPY":{"address":"0xB82f11f3168Ece7D56fe6a5679567948090de7C5","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsUSD":{"address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsETH":{"address":"0xdf1765a1530166ece1D46182a946a03b09AE2810","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsLINK":{"address":"0xe08518bA3d2467F7cA50eFE68AA00C5f78D4f3D6","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsDEFI":{"address":"0xf533aeEe48f0e04E30c2F6A1f19FbB675469a124","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0x75d9ac0af4df8c8bc5a4ff1ebe242149647fed77865bd6f3de77359d3086f36c","replaced_in":"v2.68.2"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0xe64ebe3723fe0498d6adf757499a022c5e3fb262b88beebf1ac15efbcee58973","replaced_in":"v2.65.0"},"SystemStatus":{"address":"0x84d1E9847cb8d7e0e31C6fd06bd26B4031049138","status":"current","keccak256":"0xd4ba3b8b574c2795ec994981815bdb6518da848579d169e419a906f4909ab8e1"},"SynthsADA":{"address":"0xB34F4d7c207D8979D05EDb0F63f174764Bd67825","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"DebtCache":{"address":"0x03cc0484A774Eca797262A5a4d43BC18ED56709E","status":"current","keccak256":"0x1140dbb0909dd19e64d449d716798fc190c55238dce804eaf35d4f383ec1ae05"},"SynthetixBridgeToOptimism":{"address":"0xbCD2d1005D7C07812411F4340722dcaf8cb34F1C","status":"replaced","keccak256":"0x499efc5ee65d96afacd21f04ba5f92d446801e7640bad8659702eed93f82b66a","replaced_in":"v2.68.2"},"SynthsAAVE":{"address":"0x95aE43E5E96314E4afffcf19D9419111cd11169e","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsDOT":{"address":"0x27b45A4208b87A899009f45888139882477Acea5","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsKRW":{"address":"0x527637bE27640d6C3e751d24DC67129A6d13E11C","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SynthsETHBTC":{"address":"0x6DF798ec713b33BE823b917F27820f2aA0cf7662","status":"replaced","keccak256":"0x55a9f9b2712418624d2d19336d7a2940d79491ddbbf3b61101c6090d73289feb","replaced_in":"v2.72.1"},"SignedSafeDecimalMath":{"address":"0x728A2B79Cad691531CC1146eF802617FF50c7095","status":"current","keccak256":"0x0ddaacba077350bf0186ddf53ac5128dfc1de2b4a7e845ab15be49e78f96b5c9"},"OneNetAggregatorIssuedSynths":{"address":"0x9893Ebc43A4635df4Cbf5210b4731B012B3D33F8","status":"current","keccak256":"0x0ede3bc15d24f2a3af48de0cec7077cd6572345a3fd313e22319e676eeb57526"},"OneNetAggregatorDebtRatio":{"address":"0x0654BD22A0487017f0da209C7f338FaF0572C1F1","status":"current","keccak256":"0xb64547811fca7c66e90856ac0f175ca0e3dcc2033ec15985fbb854ff275e796c"},"ExchangeCircuitBreaker":{"address":"0x77440aCafBbeec1CA1CB6DD1a7FE0207e66A322A","status":"current","keccak256":"0x9a69567c37adbbe24df3515316cebbfb4899916d08af38c7738e4cd32c73827d"},"FuturesMarketManager":{"address":"0xf57D5564409DAB63F6C1D7Da05A6ACf37BB1f77B","status":"current","keccak256":"0x70d93adddedc13bddf1a98d5846f06736949d0d26d0547bacc656be9ee829055"}}},"v2.64.2":{"tag":"v2.64.2","fulltag":"v2.64.2","release":"Diphda","network":"rinkeby","date":"2022-03-23T14:03:52-04:00","commit":"14c36a4b346c8cc26c65de0ba2778be6a79afc2f","contracts":{"SystemSettings":{"address":"0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","status":"replaced","keccak256":"0x0213567bb35401126849b277a1b9cccca8bec368a82f2151c1b078209763a72f","replaced_in":"v2.68.2"}}},"v2.65.0":{"tag":"v2.65.0","fulltag":"v2.65.0","release":"Mizar","network":"rinkeby","date":"2022-03-28T18:11:02-04:00","commit":"7ea5c5aae13c022fcf3cbf0543b65b29cb1118c1","contracts":{"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0x00c5cf07e218bc3f61f97e3c7df177ea99ccc72ae09cb5bff195be9c48dea2b9","replaced_in":"v2.68.2"}}},"v2.68.2":{"tag":"v2.68.2","fulltag":"v2.68.2","release":"Mirach","network":"rinkeby","date":"2022-05-10T22:26:20-04:00","commit":"083f0e56ce62fbe455d56c1383b3d78be6d4214b","contracts":{"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"replaced","keccak256":"0x87564ce6ba744b9ccd9f4c1295332ebbe5392196baa76c39a125ead78e941cab","replaced_in":"v2.75.2"},"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0x2fa686cbff316a55fb346d4864b998e50685cee613841bf3541812dbe74f988a","replaced_in":"v2.69.0"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"replaced","keccak256":"0xf5962b3f3687b36c7c40dab9561f8c2896815bacf409014d046b1dcd93d56652","replaced_in":"v2.69.0"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0xfd4ffa7b4beb5faddfe9ecd13ec21d6d31fbf6f182dfc78c4df7ccce4f1f6b99","replaced_in":"v2.69.0"},"SystemSettings":{"address":"0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","status":"replaced","keccak256":"0xc9dca64837d645f46a699dddd0c527d302e278a1ccf253579dcfae64bbbaf7d3","replaced_in":"v2.69.0"},"SynthetixBridgeToOptimism":{"address":"0xbCD2d1005D7C07812411F4340722dcaf8cb34F1C","status":"current","keccak256":"0xdff9df88e885c9026ab62c879f5378f213292e70ca6e99106893271b0ca9109a"},"SystemSettingsLib":{"address":"0x373b643Fe606C9C01C4a10361D48C79a876c2bc1","status":"replaced","keccak256":"0xc61227b8c9f852b438b6229b216219fa59b4d7705129c55bd3f0a5356a3b87ab","replaced_in":"v2.69.0"}}},"v2.69.0":{"tag":"v2.69.0","fulltag":"v2.69.0","release":"Alpheratz","network":"rinkeby","date":"2022-05-14T03:50:54-04:00","commit":"502809927d4c23fc139c4b129f7fee26eec91ba8","contracts":{"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0xd82a28402f6b409adafc8ec5a078ea573f8c9f4bbc9039a7e53ca913fa0a5793","replaced_in":"v2.70.0"},"Exchanger":{"address":"0x6Ee938B6ed00985a4E8D8C9D3C216f44bdF580cE","status":"current","keccak256":"0x249092f47e4e7db34b013bbb56027462cd27bc2f1bf79dca4e99a9bf1e0ac6bf"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0xff90190a275735ad9b23dffff9ab22477a1aa3f36a0cee1931965dfb26e52495","replaced_in":"v2.72.1"},"SystemSettings":{"address":"0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","status":"replaced","keccak256":"0xa15c48a5fcce352747f56841f0bd92a1c8ee2e0dcac77c8fb78ce2f2769e48cb","replaced_in":"v2.74.1"},"SystemSettingsLib":{"address":"0x373b643Fe606C9C01C4a10361D48C79a876c2bc1","status":"replaced","keccak256":"0x1265bea471bda199f9b45756be028eaf5dda97e0fb7864b95e7020627827784b","replaced_in":"v2.74.1"},"Liquidator":{"address":"0x05159DeD813a02B69B0FbE4126b6F46b73c408a5","status":"current","keccak256":"0xc6b74874b217e37376d292760ccdde188bec97c34f5d205633d458010bf7cc48"},"LiquidatorRewards":{"address":"0xF366da25eC472f4fE2A0be4acD74339ac7572e1E","status":"current","keccak256":"0x621221d61543cd3356f62b60c84c1a0ba0763ab6caada6705df5db116bcab9e0"}}},"v2.70.0":{"tag":"v2.70.0","fulltag":"v2.70.0","release":"Rasalhague","network":"rinkeby","date":"2022-05-23T23:00:44-04:00","commit":"48d93a047b167c24d7234615ac3947d6c541246b","contracts":{"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"replaced","keccak256":"0x4f4e83441a09daa99e58b65902a6fff61ba13586d37a1b26f4a80054197bb6bd","replaced_in":"v2.72.1"}}},"v2.72.1":{"tag":"v2.72.1","fulltag":"v2.72.1","release":"Saiph","network":"rinkeby","date":"2022-06-09T17:30:33-04:00","commit":"0a105ae7a7ef95c2f7516d7854ffade71b6ad3b7","contracts":{"Synthetix":{"address":"0x893763DbF49eeF0AbbAA0C2Da4B2FBB33C9c89e5","status":"current","keccak256":"0xf00660ef25f409118798c084d386e09132dd4ea32937ae59f1a820471138a98c"},"SynthsAUD":{"address":"0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsBTC":{"address":"0x1cB004a8e84a5CE95C1fF895EE603BaC8EC506c7","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsCHF":{"address":"0xBb5b03E920cF702De5A3bA9Fc1445aF4B3919c88","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsEUR":{"address":"0x5B362679e0c7700E44E5cB459e2811B7544420F1","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsGBP":{"address":"0xdc883b9d9Ee16f74bE08826E68dF4C9D9d26e8bD","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsJPY":{"address":"0xE1cc2332852B2Ac0dA59A1f9D3051829f4eF3c1C","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsUSD":{"address":"0xf984ea9db435Bf21f4270D0F2574852C191f5C77","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsETH":{"address":"0xdf1765a1530166ece1D46182a946a03b09AE2810","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsLINK":{"address":"0xDF69bC4541b86Aa4c5A470B4347E730c38b2c3B2","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsDEFI":{"address":"0x918b1dbf0917FdD74D03fB9434915E2ECEc89286","status":"deleted","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"replaced","keccak256":"0x34e363bf253f754b3a5cd444df9ce0aa3d4079419d362c6bbc281d1df8128923","replaced_in":"v2.74.1"},"SynthsADA":{"address":"0x91b82d62Ff322b8e02b86f33E9A99a813437830d","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsAAVE":{"address":"0x942Eb6e8c029EB22103743C99985aF4F4515a559","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsDOT":{"address":"0x75A0c1597137AA36B40b6a515D997F9a6c6eefEB","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsKRW":{"address":"0xdAe6C79c46aB3B280Ca28259000695529cbD1339","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"SynthsETHBTC":{"address":"0x07C1E81C345A7c58d7c24072EFc5D929BD0647AD","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"}}},"v2.73.1":{"tag":"v2.73.1","fulltag":"v2.73.1","release":"Denebola","network":"rinkeby","date":"2022-06-14T21:02:22-04:00","commit":"ec573539aa1a78bb4443971aa45ef22a6c13d13b","contracts":{"OneNetAggregatorsDEFI":{"address":"0x646F23085281Dbd006FBFD211FD38d0743884864","status":"current","keccak256":"0x5b5d345731005a6932760cc76f2a390544cae09c21f7141f4ebeca21f9248692"}}},"v2.74.1":{"tag":"v2.74.1","fulltag":"v2.74.1","release":"Algol","network":"rinkeby","date":"2022-06-23T16:57:09-04:00","commit":"3a4935c088a516b5efa0b19b118892058619534c","contracts":{"Issuer":{"address":"0x1b484E8f27c0e849f0c8f251a38804F9b69D1025","status":"current","keccak256":"0x9820f36cf8ee40e9cfb286cae173e716e009ebe5594e921afac85a40f103c71b"},"SystemSettings":{"address":"0x38224D23Eea42E6f6209fD2de76AE2f4DB8e630A","status":"current","keccak256":"0xc78f371d395251ef1ee8c1305b485d38f084d31530560e802f5fc5147fe83451"},"SystemSettingsLib":{"address":"0x373b643Fe606C9C01C4a10361D48C79a876c2bc1","status":"current","keccak256":"0xc4e328478f9c625bb34c4f019040afd62b9dfb8f03882727e39888d3173f09a9"}}},"v2.75.2":{"tag":"v2.75.2","fulltag":"v2.75.2","release":"Tiaki","network":"rinkeby","date":"2022-08-03T17:41:13-04:00","commit":"da846da503afdb39fed2f88df648a3ca5181fa95","contracts":{"ExchangeRates":{"address":"0x499a18643fd276e62a7e48345e0Ac5F9CBaC211c","status":"current","keccak256":"0xfec05faecf82227e8f3957c8c66047e96c24defa8fd9e92099bd63b7c905828d"}}}}')},function(e){e.exports=JSON.parse('[{"name":"sUSD","asset":"USD","subclass":"MultiCollateralSynth"},{"name":"sEUR","asset":"EUR","subclass":"MultiCollateralSynth"},{"name":"sJPY","asset":"JPY","subclass":"MultiCollateralSynth"},{"name":"sAUD","asset":"AUD","subclass":"MultiCollateralSynth"},{"name":"sGBP","asset":"GBP","subclass":"MultiCollateralSynth"},{"name":"sCHF","asset":"CHF","subclass":"MultiCollateralSynth"},{"name":"sKRW","asset":"KRW","subclass":"MultiCollateralSynth"},{"name":"sBTC","asset":"BTC","subclass":"MultiCollateralSynth"},{"name":"sETH","asset":"ETH","subclass":"MultiCollateralSynth"},{"name":"sLINK","asset":"LINK","subclass":"MultiCollateralSynth"},{"name":"sADA","asset":"ADA","subclass":"MultiCollateralSynth"},{"name":"sAAVE","asset":"AAVE","subclass":"MultiCollateralSynth"},{"name":"sDOT","asset":"DOT","subclass":"MultiCollateralSynth"},{"name":"sETHBTC","asset":"ETHBTC","subclass":"MultiCollateralSynth"}]')},function(e){e.exports=JSON.parse('[{"name":"sETHUniswapV1","stakingToken":"0xe9cf7887b93150d4f2da7dfc6d502b216438f244","rewardsToken":"ProxyERC20"},{"name":"sXAUUniswapV2","stakingToken":"0x34a0216C5057bC18e5d34D4405284564eFd759b2","rewardsToken":"ProxyERC20"},{"name":"sUSDCurve","stakingToken":"0xc25a3a3b969415c80451098fa907ec722572917f","rewardsToken":"ProxyERC20"},{"name":"sBTCCurve","stakingToken":"0x075b1bb99792c9E1041bA13afEf80C91a1e70fB3","rewardsToken":"0x330416C863f2acCE7aF9C9314B422d24c672534a"},{"name":"iETH","stakingToken":"ProxyiETH","rewardsToken":"ProxyERC20"},{"name":"iBTC","stakingToken":"ProxyiBTC","rewardsToken":"ProxyERC20"},{"name":"sEURCurve","stakingToken":"0x194eBd173F6cDacE046C53eACcE9B953F28411d1","rewardsToken":"ProxyERC20"},{"name":"SNXBalancer","stakingToken":"0x815f8ef4863451f4faf34fbc860034812e7377d9","rewardsToken":"ProxyERC20"},{"name":"sTSLABalancer","stakingToken":"0x055dB9AFF4311788264798356bbF3a733AE181c6","rewardsToken":"ProxyERC20"},{"name":"sFBBalancer","stakingToken":"0x3f2d077acff8a66c4e0c79c37b6a662a7197889b","rewardsToken":"ProxyERC20"},{"name":"sAAPLBalancer","stakingToken":"0xb94865e18b25114b2b10bd9ecbd689c877f949e8","rewardsToken":"ProxyERC20"},{"name":"sAMZNBalancer","stakingToken":"0x74821343b5b969c0d4b31aff3931e00a40990cfd","rewardsToken":"ProxyERC20"},{"name":"sNFLXBalancer","stakingToken":"0x6418c69b0de51873a1cc01cf73ba6e408acc1940","rewardsToken":"ProxyERC20"},{"name":"sGOOGBalancer","stakingToken":"0x608410f602ce8967d1e59f599566aed340280efc","rewardsToken":"ProxyERC20"},{"name":"sCOINBalancer","stakingToken":"0x2e27d4160b257708375a7bf23381110d2328bc1b","rewardsToken":"ProxyERC20"},{"name":"sMSFTBalancer","stakingToken":"0x41c91eb43b7f0afd332725461b86a0e39e143789","rewardsToken":"ProxyERC20"}]')},function(e){e.exports=JSON.parse('{"SNX":{"asset":"SNX","feed":"0xDC3EA94CD0AC27d9A86C180091e7f78C683d3699"},"ETH":{"asset":"ETH","feed":"0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419"},"AAVE":{"asset":"AAVE","feed":"0x547a514d5e3769680Ce22B2361c10Ea13619e8a9"},"DOT":{"asset":"DOT","feed":"0x1C07AFb8E2B827c5A4739C6d59Ae3A5035f28734"},"BTC":{"asset":"BTC","feed":"0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c"},"LINK":{"asset":"LINK","feed":"0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c"},"ADA":{"asset":"ADA","feed":"0xAE48c91dF1fE419994FFDa27da09D5aC69c30f55"},"ETHBTC":{"asset":"ETHBTC","feed":"0xAc559F25B1619171CbC396a50854A3240b6A4e99"},"EUR":{"asset":"EUR","feed":"0xb49f677943BC038e9857d61E7d053CaA2C1734C1"},"JPY":{"asset":"JPY","feed":"0xBcE206caE7f0ec07b545EddE332A47C2F75bbeb3"},"AUD":{"asset":"AUD","feed":"0x77F9710E7d0A19669A13c055F62cd80d313dF022"},"GBP":{"asset":"GBP","feed":"0x5c0Ab2d9b5a7ed9f470386e82BB36A3613cDd4b5"},"CHF":{"asset":"CHF","feed":"0x449d117117838fFA61263B61dA6301AA2a88B13A"},"KRW":{"asset":"KRW","feed":"0x01435677FB11763550905594A16B645847C1d0F3"}}')},function(e){e.exports=JSON.parse("[]")},function(e,a,t){e.exports={deployment:t(182),versions:t(183),synths:t(184),rewards:t(185),feeds:t(186)}},function(e){e.exports=JSON.parse('{"targets":{"SafeDecimalMath":{"name":"SafeDecimalMath","address":"0x357311bBBb9b76f827B078Cf9a2a544bD009208a","source":"SafeDecimalMath"},"Math":{"name":"Math","address":"0xee5cFeEA2caC5F3A13DB1193c211C7bfA5c03dF0","source":"Math"},"SystemSettingsLib":{"name":"SystemSettingsLib","address":"0x5c4e51A094658c4DDFBe578C9D4bB50e92f31981","source":"SystemSettingsLib"},"SignedSafeDecimalMath":{"name":"SignedSafeDecimalMath","address":"0xbFe5dA86981e2dB461bd85D31795aD233748EE32","source":"SignedSafeDecimalMath"},"AddressResolver":{"name":"AddressResolver","address":"0xB5D02f6F0B616Cf7B013BE55DdeDd477354C58BD","source":"AddressResolver"},"ReadProxyAddressResolver":{"name":"ReadProxyAddressResolver","address":"0x58719E8Ef4d201541e44505a2ACB3424481d6681","source":"ReadProxy"},"OneNetAggregatorIssuedSynths":{"name":"OneNetAggregatorIssuedSynths","address":"0xecE3b70733EA7A8512bC3065702ACfCc6E13c116","source":"OneNetAggregatorIssuedSynths"},"OneNetAggregatorDebtRatio":{"name":"OneNetAggregatorDebtRatio","address":"0x409b427d6c8227eeCb4079EF74A6F9224297E19E","source":"OneNetAggregatorDebtRatio"},"OneNetAggregatorsDEFI":{"name":"OneNetAggregatorsDEFI","address":"0xA43Ba9F2A27F5Fe86c7A8Fe4A75d42F4d2Cf6358","source":"OneNetAggregatorsDEFI"},"FlexibleStorage":{"name":"FlexibleStorage","address":"0x9495E6f9c6cdF75a46f594418Fbb8a9f4Fc799F0","source":"FlexibleStorage"},"SystemSettings":{"name":"SystemSettings","address":"0xf7827eAc369894FC7A7c0f06479a73073FcDBd6c","source":"SystemSettings"},"SystemStatus":{"name":"SystemStatus","address":"0x2d757FCdB5347458cFcb7E8fC572aBA7212ab775","source":"SystemStatus"},"ExchangeRates":{"name":"ExchangeRates","address":"0x93cADdbb3878092Ee416fE11c2cc281C1a8425C2","source":"ExchangeRatesWithDexPricing"},"RewardEscrow":{"name":"RewardEscrow","address":"0xd435461f7521b7647D2ad39F8DD4903C2e7f407d","source":"RewardEscrow"},"RewardEscrowV2":{"name":"RewardEscrowV2","address":"0x48F3b8f2f046a7CA044931080040D05FEaBd56a6","source":"RewardEscrowV2"},"RewardEscrowV2Manager":{"name":"RewardEscrowV2Manager","address":"0xd2C003C55f9d275094D21918D3d654bDBe86C938","source":"RewardEscrowV2Manager"},"SynthetixEscrow":{"name":"SynthetixEscrow","address":"0xC6a2a938F8ae3dE8Ee5e26938098Acb961CBCdA8","source":"SynthetixEscrow"},"SynthetixState":{"name":"SynthetixState","address":"0xcbcFB6E2d8517DB83BedB30f79D5197607207A2c","source":"SynthetixState"},"SynthetixDebtShare":{"name":"SynthetixDebtShare","address":"0x33Dd8a63181E7d56e081DaD3b19db7Dd3f324eeA","source":"SynthetixDebtShare"},"ProxyFeePool":{"name":"ProxyFeePool","address":"0x21Bb52dcf71C6ddD92c5B3A08DBBD69B02f13ba3","source":"Proxy"},"DelegateApprovalsEternalStorage":{"name":"DelegateApprovalsEternalStorage","address":"0x8E7feF846948a04cf32f170Bd9aE69BFfCd8362E","source":"EternalStorage"},"DelegateApprovals":{"name":"DelegateApprovals","address":"0xd021103C9A7B411Ab2e6f10fC99522204Cf8Ff39","source":"DelegateApprovals"},"Liquidator":{"name":"Liquidator","address":"0xaDB456735138a72ad8663c8ba00258A6d83b9c5a","source":"Liquidator"},"LiquidatorRewards":{"name":"LiquidatorRewards","address":"0xCD5Cfe0541951EDd1ae1d8413af3630dd85FE72D","source":"LiquidatorRewards"},"LiquidatorRewardsManager":{"name":"LiquidatorRewardsManager","address":"0x6FE49e5da59979382561998B5Ee0022236ad67FC","source":"LiquidatorRewardsManager"},"FeePoolEternalStorage":{"name":"FeePoolEternalStorage","address":"0xE97AC27D0766c7E5a7f696F52Daa08cA23140635","source":"FeePoolEternalStorage"},"FeePool":{"name":"FeePool","address":"0xeEA1e41CF51f7007D84B11f2605bFE8eEA1dd0f1","source":"FeePool"},"FeePoolState":{"name":"FeePoolState","address":"0x7F4a3D2d0e45ECD301Be8a181c3911677c353C85","source":"FeePoolState"},"RewardsDistribution":{"name":"RewardsDistribution","address":"0xF880e5a8b9d5660c8eD0a92c3d90F49326569E77","source":"RewardsDistribution"},"TokenStateSynthetix":{"name":"TokenStateSynthetix","address":"0x51c8a8E3307E72bF9B65f044051814426f934e9C","source":"LegacyTokenState"},"ProxySynthetix":{"name":"ProxySynthetix","address":"0x07D1694D8cE7F90a2Bc024F087854C59C661bf7F","source":"ProxyERC20"},"Synthetix":{"name":"Synthetix","address":"0x07D1694D8cE7F90a2Bc024F087854C59C661bf7F","source":"Synthetix"},"DebtCache":{"name":"DebtCache","address":"0xe143E07a1400CD49c9953449fEf820135566ae98","source":"DebtCache"},"Exchanger":{"name":"Exchanger","address":"0x6E2934620CFc72DD8b319d9358Fb122997c7123C","source":"ExchangerWithFeeRecAlternatives"},"ExchangeCircuitBreaker":{"name":"ExchangeCircuitBreaker","address":"0xb694EFB9b923a9F811a75539d02fA2324D8c8794","source":"ExchangeCircuitBreaker"},"VirtualSynthMastercopy":{"name":"VirtualSynthMastercopy","address":"0x381f09C9CF5b5Be0af7F66167349343AFCD8E0aF","source":"VirtualSynthMastercopy"},"ExchangeState":{"name":"ExchangeState","address":"0xD109821a33dF01773f7841FEb0438Cc7eEE4eb87","source":"ExchangeState"},"Issuer":{"name":"Issuer","address":"0x593Be683204fF3501e6e4851956a2Da310e393b6","source":"Issuer"},"IssuedSynthAggregator":{"name":"IssuedSynthAggregator","address":"0x2FF74E06173913ecD635A9AFb1369434401f73E4","source":"IssuedSynthAggregator"},"TradingRewards":{"name":"TradingRewards","address":"0x051ed028815Fa6304e97486d017381F8A9106d8A","source":"TradingRewards"},"SupplySchedule":{"name":"SupplySchedule","address":"0xBA46DD9bB323CEBaE96f12fCB0aD706f6D6fA574","source":"SupplySchedule"},"EscrowChecker":{"name":"EscrowChecker","address":"0x3C2dd2989f600b9bCd8F0Ce5eC10154d789B9250","source":"EscrowChecker"},"SynthetixBridgeToOptimism":{"name":"SynthetixBridgeToOptimism","address":"0x0d724417ed330dba4e36da7717896852af1e59cc","source":"SynthetixBridgeToOptimism"},"SynthetixBridgeEscrow":{"name":"SynthetixBridgeEscrow","address":"0xb53a5D2E9800a100c41d42316A0154a36Ce4C7B0","source":"SynthetixBridgeEscrow"},"OwnerRelayOnEthereum":{"name":"OwnerRelayOnEthereum","address":"0xFdB31235cDFe68bfFD1d687AC3A2b31E80eacf0d","source":"OwnerRelayOnEthereum"},"SynthRedeemer":{"name":"SynthRedeemer","address":"0x03e247CEEB5f7caBD9D278A6B08B59DC47573b7B","source":"SynthRedeemer"},"WrapperFactory":{"name":"WrapperFactory","address":"0x87076a60815c9aa137C0844Fd8DC28F697F612D3","source":"WrapperFactory"},"SynthrBridge":{"name":"SynthrBridge","address":"0x11f66d6864FcCe84D5000E1E981DD58676633949","source":"SynthrBridge"},"TokenStatesUSD":{"name":"TokenStatesUSD","address":"0x88E51f364739b6Cb0de572aea92fd5793e0Ffd34","source":"TokenState"},"ProxysUSD":{"name":"ProxysUSD","address":"0x802794f497895010693B545cFccadca6b1e321EF","source":"ProxyERC20"},"SynthsUSD":{"name":"SynthsUSD","address":"0x8Bd0E58032E5343C888EBA4e72332176fffa7371","source":"Synth"},"TokenStatesDOT":{"name":"TokenStatesDOT","address":"0x3924AE319c4896b138a1C13f341e51adAA05e8d5","source":"TokenState"},"ProxysDOT":{"name":"ProxysDOT","address":"0xb4d4E085E23700F9Bd031019789B713c9E330896","source":"ProxyERC20"},"SynthsDOT":{"name":"SynthsDOT","address":"0xAfAC8Df44A724Ea386b08e0AE7C8fE8a4723DCB8","source":"MultiCollateralSynth"},"Depot":{"name":"Depot","address":"0x6b8db572D6308C6362ea66Ac46F9Ac7FAAfd3855","source":"Depot"},"EtherWrapper":{"name":"EtherWrapper","address":"0x4556b9761b2aC071D1665FAe01faA255a53d1307","source":"EtherWrapper"},"NativeEtherWrapper":{"name":"NativeEtherWrapper","address":"0x3b820F825088DB6cD6E118C0c9B39755859932a9","source":"NativeEtherWrapper"},"CollateralUtil":{"name":"CollateralUtil","address":"0x814AAB41E07D2c3fA53C0c6f3002cD654a4489EE","source":"CollateralUtil"},"CollateralManagerState":{"name":"CollateralManagerState","address":"0x80cdf7B1D8305f406dAf9Ed04c3dce609dB0b374","source":"CollateralManagerState"},"CollateralManager":{"name":"CollateralManager","address":"0x249E5860fC63b748443d0ec6174d939785536981","source":"CollateralManager"},"CollateralEth":{"name":"CollateralEth","address":"0x8Ece5e21BF2CD01CA48320F3469969aC8503d89A","source":"CollateralEth"},"CollateralErc20":{"name":"CollateralErc20","address":"0xA8A2bFE97c51bB83e21bF0405e98CF9D8eFB2674","source":"CollateralErc20"},"CollateralShort":{"name":"CollateralShort","address":"0x6d20C286D94a603A1cdE80D1f8e5f44Bc22550C0","source":"CollateralShort"},"FuturesMarketManager":{"name":"FuturesMarketManager","address":"0x817666771A8Fb924DAA42dBd36b1F679Bca0d366","source":"EmptyFuturesMarketManager"},"SynthUtil":{"name":"SynthUtil","address":"0xE41828f9Fa934A52cBcd4A74e5844a3cBF10f7Fc","source":"SynthUtil"},"DappMaintenance":{"name":"DappMaintenance","address":"0xBc8653a24AF54333a8490f5de1F87A4120543555","source":"DappMaintenance"},"TokenStatesBTC":{"name":"TokenStatesBTC","address":"0x0FD3eD18B988b7Df68bc388384911820Dd48F176","source":"TokenState"},"ProxysBTC":{"name":"ProxysBTC","address":"0xa0E56f6129C4Af3F08E91b18ff2d39888A0d8eD7","source":"ProxyERC20"},"SynthsBTC":{"name":"SynthsBTC","address":"0x4930E28CC58A2Caa9533dA4cC3FB2471876D7481","source":"MultiCollateralSynth"},"TokenStatesAVAX":{"name":"TokenStatesAVAX","address":"0x6BA076942D3862bBc7DC2E7a8D20eD39e36AE817","source":"TokenState"},"ProxysAVAX":{"name":"ProxysAVAX","address":"0xde5bc582e5bdb46a4ce16081437fdf5e5412f460","source":"ProxyERC20"},"SynthsAVAX":{"name":"SynthsAVAX","address":"0x9930393889fDC1e2AdE39AFCe30Dfe688826196f","source":"MultiCollateralSynth"},"TokenStatesBNB":{"name":"TokenStatesBNB","address":"0x7880A600F4268945a35BF8908488743c4a0be34c","source":"TokenState"},"ProxysBNB":{"name":"ProxysBNB","address":"0x15745cAE5b1412F4E1b1c9d59c0175220A08aA82","source":"ProxyERC20"},"SynthsBNB":{"name":"SynthsBNB","address":"0xf608D873f7DAC5DFB03ece090beBcb5d7851A0c6","source":"MultiCollateralSynth"},"TokenStatesMATIC":{"name":"TokenStatesMATIC","address":"0xf41d104a039c6D603997188287B429b3b6D63534","source":"TokenState"},"ProxysMATIC":{"name":"ProxysMATIC","address":"0x122065338E0E7Ad7912f00947Df00e274BC882fc","source":"ProxyERC20"},"SynthsMATIC":{"name":"SynthsMATIC","address":"0x3e49fC69dC6b0e9a21d8e067732f60d97d3a8D53","source":"MultiCollateralSynth"},"TokenStatesETH":{"name":"TokenStatesETH","address":"0xb2602610469CdC621280e5EBd6485e74b0d7ac1E","source":"TokenState"},"ProxysETH":{"name":"ProxysETH","address":"0xF8a94f6Ee1b131E3Df8a30b8646B57238D9FBf34","source":"ProxyERC20"},"SynthsETH":{"name":"SynthsETH","address":"0xD6BbA8f8443083Af9218AA88De9931157A391eB5","source":"MultiCollateralSynth"},"SynthrAggregator":{"name":"SynthrAggregator","address":"0xC6c7eC1BDf142c107977e0fc1209E5cE749e3376","source":"SynthrAggregator"},"ExternWrappedStateToken":{"name":"ExternWrappedStateToken","address":"0xE9dB0411cf8C0981067FCbF1445c720B03119391","source":"ExternWrappedStateToken"}},"sources":{"ExternWrappedStateToken":{"abi":[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"collateralCurrency","type":"address"}],"name":"CollateralCurrencyAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"collateralCurrency","type":"address"}],"name":"CollateralCurrencyRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"SetCollateralBalance","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_collateralAddress","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"}],"name":"addCollateralCurrency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"availableCollateralCurrencies","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"collateralByIssuer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"collateralCurrency","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_collateralAmount","type":"uint256"}],"name":"decreaseCollateral","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAvailableCollaterals","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_collateralAmount","type":"uint256"}],"name":"increaseCollateral","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"}],"name":"removeCollateralCurrency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setCollateralBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"totalSupplyPerKey","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_collateralAmount","type":"uint256"}],"name":"withdrawCollateral","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_collateralAmount","type":"uint256"}],"name":"withdrawFundsByAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]},"SynthrAggregator":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"state","type":"bool"}],"name":"ChangeAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"_exchangeFeeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint16","name":"srcChainId","type":"uint16"},{"internalType":"uint16","name":"dstChainId","type":"uint16"}],"name":"bridgeSynth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"internalType":"uint256","name":"synthAmount","type":"uint256"},{"internalType":"uint16","name":"chainId","type":"uint16"}],"name":"burnSynth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"internalType":"uint16","name":"chainId","type":"uint16"}],"name":"chainSynthTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"collateralByIssuer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint16","name":"chainId","type":"uint16"},{"internalType":"address","name":"account","type":"address"}],"name":"collateralByIssuerAggregation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"collateralKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint16","name":"chainId","type":"uint16"}],"name":"depositCollateral","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sourceKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destKey","type":"bytes32"},{"internalType":"uint256","name":"destAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint16","name":"srcChainId","type":"uint16"},{"internalType":"uint16","name":"destChainId","type":"uint16"}],"name":"exchangeSynth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"__exchangeFeeAddress","type":"address"},{"internalType":"address","name":"__synthrBridge","type":"address"},{"internalType":"uint16","name":"__selfLZChainId","type":"uint16"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"collateralKey","type":"bytes32"},{"internalType":"uint256","name":"collateralAmount","type":"uint256"},{"internalType":"uint16","name":"destChainId","type":"uint16"}],"name":"liquidate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"internalType":"uint256","name":"synthAmount","type":"uint256"},{"internalType":"uint16","name":"chainId","type":"uint16"}],"name":"mintSynth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"synthKey","type":"bytes32"}],"name":"synthTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"synthrBridge","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"collateralKey","type":"bytes32"},{"internalType":"uint16","name":"chainId","type":"uint16"}],"name":"withdrawCollateral","outputs":[],"stateMutability":"nonpayable","type":"function"}]},"SafeDecimalMath":{"abi":[{"inputs":[],"name":"PRECISE_UNIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"highPrecisionDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"preciseUnit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"unit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"}]},"Math":{"abi":[]},"SystemSettingsLib":{"abi":[{"inputs":[],"name":"MAX_ATOMIC_TWAP_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_ATOMIC_VOLUME_PER_BLOCK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_EXCHANGE_FEE_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_ISSUANCE_RATIO","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_MINIMUM_STAKE_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_TARGET_THRESHOLD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_ATOMIC_TWAP_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RATIO_FROM_TARGET_BUFFER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SETTINGS_CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractName","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"}]},"SignedSafeDecimalMath":{"abi":[{"constant":true,"inputs":[],"name":"PRECISE_UNIT","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"UNIT","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"highPrecisionDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"preciseUnit","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"unit","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"pure","type":"function"}]},"AddressResolver":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"AddressImported","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"names","type":"bytes32[]"},{"internalType":"address[]","name":"destinations","type":"address[]"}],"name":"areAddressesImported","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"name","type":"bytes32"}],"name":"getAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"getSynth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"names","type":"bytes32[]"},{"internalType":"address[]","name":"destinations","type":"address[]"}],"name":"importAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract MixinResolver[]","name":"destinations","type":"address[]"}],"name":"rebuildCaches","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"repository","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"reason","type":"string"}],"name":"requireAndGetAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]},"ReadProxy":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTarget","type":"address"}],"name":"TargetUpdated","type":"event"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_target","type":"address"}],"name":"setTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"target","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]},"OneNetAggregatorIssuedSynths":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"synthAggregator","type":"address"}],"name":"SynthAggregatorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"synthAggregator","type":"address"}],"name":"SynthAggregatorRemoved","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"availableSynthAggregators","outputs":[{"internalType":"contract ISynthAggregator","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"syAggregators","outputs":[{"internalType":"contract ISynthAggregator","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"syAggregatorsByAddress","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalIssuedSynths","outputs":[{"internalType":"uint256","name":"_issuedSynths","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"totalIssuedSynthsPerIssuer","outputs":[{"internalType":"uint256","name":"_issuedSynths","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"totalIssuedSynthPerAsset","outputs":[{"internalType":"uint256","name":"_issuedSynth","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"totalIssuedSynthPerAssetAndIssuer","outputs":[{"internalType":"uint256","name":"_issuedSynth","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"contract ISynthAggregator","name":"syAggregator","type":"address"}],"name":"addSynthAggregator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"removeSynthAggregator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"OneNetAggregatorDebtRatio":{"abi":[{"inputs":[{"internalType":"contract AddressResolver","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"SetOverrideTimestamp","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"answer","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint80","name":"","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"overrideTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"setOverrideTimestamp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"OneNetAggregatorsDEFI":{"abi":[{"inputs":[{"internalType":"contract AddressResolver","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"SetOverrideTimestamp","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"answer","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint80","name":"","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"overrideTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"setOverrideTimestamp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"FlexibleStorage":{"abi":[{"inputs":[{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"fromContractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"toContractName","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"removeAccessFromPreviousContract","type":"bool"}],"name":"KeyMigrated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"address","name":"value","type":"address"}],"name":"ValueDeletedAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"ValueDeletedBool","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"ValueDeletedBytes32","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"int256","name":"value","type":"int256"}],"name":"ValueDeletedInt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ValueDeletedUInt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"address","name":"value","type":"address"}],"name":"ValueSetAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"ValueSetBool","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"ValueSetBytes32","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"int256","name":"value","type":"int256"}],"name":"ValueSetInt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"contractName","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"record","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ValueSetUInt","type":"event"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteAddressValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBoolValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBytes32Value","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteIntValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteUIntValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getAddressValue","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getAddressValues","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBoolValue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getBoolValues","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBytes32Value","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getBytes32Values","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getIntValue","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getIntValues","outputs":[{"internalType":"int256[]","name":"","type":"int256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getUIntValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"}],"name":"getUIntValues","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"hashes","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"fromContractName","type":"bytes32"},{"internalType":"bytes32","name":"toContractName","type":"bytes32"},{"internalType":"bool","name":"removeAccessFromPreviousContract","type":"bool"}],"name":"migrateContractKey","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolverProxy","outputs":[{"internalType":"contract IAddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"address","name":"value","type":"address"}],"name":"setAddressValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"address[]","name":"values","type":"address[]"}],"name":"setAddressValues","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBoolValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"bool[]","name":"values","type":"bool[]"}],"name":"setBoolValues","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"setBytes32Value","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"name":"setBytes32Values","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"int256","name":"value","type":"int256"}],"name":"setIntValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"int256[]","name":"values","type":"int256[]"}],"name":"setIntValues","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setUIntValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"contractName","type":"bytes32"},{"internalType":"bytes32[]","name":"records","type":"bytes32[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"setUIntValues","outputs":[],"stateMutability":"nonpayable","type":"function"}]},"SystemSettings":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"flags","type":"address"}],"name":"AggregatorWarningFlagsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"equivalent","type":"address"}],"name":"AtomicEquivalentForDexPricingUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newExchangeFeeRate","type":"uint256"}],"name":"AtomicExchangeFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMaxVolume","type":"uint256"}],"name":"AtomicMaxVolumePerBlockUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newWindow","type":"uint256"}],"name":"AtomicTwapWindowUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newVolatilityConsiderationWindow","type":"uint256"}],"name":"AtomicVolatilityConsiderationWindowUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newVolatilityUpdateThreshold","type":"uint256"}],"name":"AtomicVolatilityUpdateThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"dynamicFeeRounds","type":"uint256"}],"name":"ExchangeDynamicFeeRoundsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"dynamicFeeThreshold","type":"uint256"}],"name":"ExchangeDynamicFeeThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"dynamicFeeWeightDecay","type":"uint256"}],"name":"ExchangeDynamicFeeWeightDecayUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newExchangeFeeRate","type":"uint256"}],"name":"ExchangeFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxDynamicFee","type":"uint256"}],"name":"ExchangeMaxDynamicFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"PriceDeviationThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"PureChainlinkPriceForAtomicSwapsEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"rateStalePeriod","type":"uint256"}],"name":"RateStalePeriodUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"waitingPeriodSecs","type":"uint256"}],"name":"WaitingPeriodSecsUpdated","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"aggregatorWarningFlags","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicEquivalentForDexPricing","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicExchangeFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"atomicMaxVolumePerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"atomicTwapWindow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicVolatilityConsiderationWindow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicVolatilityUpdateThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exchangeDynamicFeeRounds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exchangeDynamicFeeThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exchangeDynamicFeeWeightDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"exchangeFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exchangeMaxDynamicFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceDeviationThresholdFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"pureChainlinkPriceForAtomicSwapsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rateStalePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolverLightChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_flags","type":"address"}],"name":"setAggregatorWarningFlags","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"address","name":"_equivalent","type":"address"}],"name":"setAtomicEquivalentForDexPricing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_exchangeFeeRate","type":"uint256"}],"name":"setAtomicExchangeFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxVolume","type":"uint256"}],"name":"setAtomicMaxVolumePerBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_window","type":"uint256"}],"name":"setAtomicTwapWindow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_window","type":"uint256"}],"name":"setAtomicVolatilityConsiderationWindow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setAtomicVolatilityUpdateThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rounds","type":"uint256"}],"name":"setExchangeDynamicFeeRounds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"setExchangeDynamicFeeThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weightDecay","type":"uint256"}],"name":"setExchangeDynamicFeeWeightDecay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"synthKeys","type":"bytes32[]"},{"internalType":"uint256[]","name":"exchangeFeeRates","type":"uint256[]"}],"name":"setExchangeFeeRateForSynths","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxFee","type":"uint256"}],"name":"setExchangeMaxDynamicFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_priceDeviationThresholdFactor","type":"uint256"}],"name":"setPriceDeviationThresholdFactor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setPureChainlinkPriceForAtomicSwapsEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"period","type":"uint256"}],"name":"setRateStalePeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_waitingPeriodSecs","type":"uint256"}],"name":"setWaitingPeriodSecs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"waitingPeriodSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]},"SystemStatus":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"section","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"canSuspend","type":"bool"},{"indexed":false,"internalType":"bool","name":"canResume","type":"bool"}],"name":"AccessControlUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"ExchangeResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"ExchangeSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"IssuanceResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"IssuanceSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthExchangeResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthExchangeSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SystemResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SystemSuspended","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SECTION_EXCHANGE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SECTION_ISSUANCE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SECTION_SYNTH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SECTION_SYNTH_EXCHANGE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SECTION_SYSTEM","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUSPENSION_REASON_UPGRADE","outputs":[{"internalType":"uint248","name":"","type":"uint248"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"accessControl","outputs":[{"internalType":"bool","name":"canSuspend","type":"bool"},{"internalType":"bool","name":"canResume","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exchangeSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"synths","type":"bytes32[]"}],"name":"getSynthExchangeSuspensions","outputs":[{"internalType":"bool[]","name":"exchangeSuspensions","type":"bool[]"},{"internalType":"uint256[]","name":"reasons","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"synths","type":"bytes32[]"}],"name":"getSynthSuspensions","outputs":[{"internalType":"bool[]","name":"suspensions","type":"bool[]"},{"internalType":"uint256[]","name":"reasons","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSystemUpgrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"issuanceSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"requireExchangeActive","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"requireExchangeBetweenSynthsAllowed","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[],"name":"requireIssuanceActive","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"requireSynthActive","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"requireSynthExchangeActive","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"requireSynthsActive","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[],"name":"requireSystemActive","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resumeExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resumeIssuance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"resumeSynth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"resumeSynthExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"resumeSynths","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"resumeSynthsExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resumeSystem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendIssuance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynthExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynths","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynthsExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSystem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthExchangeSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"synthSuspended","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"systemSuspended","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"systemSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"section","type":"bytes32"},{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"canSuspend","type":"bool"},{"internalType":"bool","name":"canResume","type":"bool"}],"name":"updateAccessControl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"sections","type":"bytes32[]"},{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool[]","name":"canSuspends","type":"bool[]"},{"internalType":"bool[]","name":"canResumes","type":"bool[]"}],"name":"updateAccessControls","outputs":[],"stateMutability":"nonpayable","type":"function"}]},"ExchangeRatesWithDexPricing":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"aggregator","type":"address"}],"name":"AggregatorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"aggregator","type":"address"}],"name":"AggregatorRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newDexPriceAggregator","type":"address"}],"name":"DexPriceAggregatorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"aggregatorAddress","type":"address"}],"name":"addAggregator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"aggregatorKeys","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aggregatorWarningFlags","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"aggregators","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"anyRateIsInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256[]","name":"roundIds","type":"uint256[]"}],"name":"anyRateIsInvalidAtRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicEquivalentForDexPricing","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"atomicTwapWindow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicVolatilityConsiderationWindow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"atomicVolatilityUpdateThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"name":"currenciesUsingAggregator","outputs":[{"internalType":"bytes32[]","name":"currencies","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"currencyKeyDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexPriceAggregator","outputs":[{"internalType":"contract IDexPriceAggregator","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"effectiveAtomicValueAndRates","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"systemValue","type":"uint256"},{"internalType":"uint256","name":"systemSourceRate","type":"uint256"},{"internalType":"uint256","name":"systemDestinationRate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"effectiveValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"effectiveValueAndRates","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"sourceRate","type":"uint256"},{"internalType":"uint256","name":"destinationRate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"name":"effectiveValueAndRatesAtRound","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"sourceRate","type":"uint256"},{"internalType":"uint256","name":"destinationRate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"getCurrentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"startingRoundId","type":"uint256"},{"internalType":"uint256","name":"startingTimestamp","type":"uint256"},{"internalType":"uint256","name":"timediff","type":"uint256"}],"name":"getLastRoundIdBeforeElapsedSecs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"lastRateUpdateTimes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"lastRateUpdateTimesForCurrencies","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateAndInvalid","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"rateAndTimestampAtRound","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateAndUpdatedTime","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateForCurrency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsFlagged","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateIsStale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rateStalePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"ratesAndInvalidForCurrencies","outputs":[{"internalType":"uint256[]","name":"rates","type":"uint256[]"},{"internalType":"bool","name":"anyRateInvalid","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"numRounds","type":"uint256"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"ratesAndUpdatedTimeForCurrencyLastNRounds","outputs":[{"internalType":"uint256[]","name":"rates","type":"uint256[]"},{"internalType":"uint256[]","name":"times","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"ratesForCurrencies","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"removeAggregator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolverLightChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IDexPriceAggregator","name":"_dexPriceAggregator","type":"address"}],"name":"setDexPriceAggregator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"synthTooVolatileForAtomicExchange","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]},"RewardEscrow":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract ISynthetix","name":"_synthetix","type":"address"},{"internalType":"contract IFeePool","name":"_feePool","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newFeePool","type":"address"}],"name":"FeePoolUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newSynthetix","type":"address"}],"name":"SynthetixUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Vested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"VestingEntryCreated","type":"event"},{"constant":true,"inputs":[],"name":"MAX_VESTING_ENTRIES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feePool","outputs":[{"internalType":"contract IFeePool","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"synthetix","outputs":[{"internalType":"contract ISynthetix","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalEscrowedAccountBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEscrowedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalVestedAccountBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"vestingSchedules","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract ISynthetix","name":"_synthetix","type":"address"}],"name":"setSynthetix","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IFeePool","name":"_feePool","type":"address"}],"name":"setFeePool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"numVestingEntries","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getVestingScheduleEntry","outputs":[{"internalType":"uint256[2]","name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getVestingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getVestingQuantity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getNextVestingIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getNextVestingEntry","outputs":[{"internalType":"uint256[2]","name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getNextVestingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getNextVestingQuantity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"checkAccountSchedule","outputs":[{"internalType":"uint256[520]","name":"","type":"uint256[520]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"appendVestingEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"vest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"RewardEscrowV2":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"address","name":"_synthToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"escrowedAmountMigrated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"BurnedForMigrationToL2","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"entryID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"escrowAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"}],"name":"ImportedVestingEntry","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"name":"ImportedVestingSchedule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"MaxEscrowDurationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"escrowedAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"vestedAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"MigratedAccountEscrow","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Vested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"entryID","type":"uint256"}],"name":"VestingEntryCreated","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"accountVestingEntryIDs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"adminWithdrawSynth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"appendVestingEntry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOfInUSDC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"deposit","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"createEscrowEntry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"getAccountVestingEntryIDs","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"entryID","type":"uint256"}],"name":"getVestingEntry","outputs":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"entryID","type":"uint256"}],"name":"getVestingEntryClaimable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"}],"name":"getVestingQuantity","outputs":[{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"getVestingSchedules","outputs":[{"components":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"},{"internalType":"uint256","name":"entryID","type":"uint256"}],"internalType":"struct VestingEntries.VestingEntryWithID[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"escrowAmounts","type":"uint256[]"}],"name":"importVestingSchedule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_duration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextEntryId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nominatedReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"numVestingEntries","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"setMaxEscrowDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_synthToken","type":"address"}],"name":"setSynthToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setupExpiryTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"synthToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalBalancePendingMigration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalEscrowedAccountBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalEscrowedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalVestedAccountBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"entryIDs","type":"uint256[]"}],"name":"vest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"vestingSchedules","outputs":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]},"SynthetixEscrow":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract ISynthetix","name":"_synthetix","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newSynthetix","type":"address"}],"name":"SynthetixUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Vested","type":"event"},{"constant":true,"inputs":[],"name":"MAX_VESTING_ENTRIES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"QUANTITY_INDEX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TIME_INDEX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"setupExpiryTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"synthetix","outputs":[{"internalType":"contract ISynthetix","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalVestedAccountBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalVestedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"vestingSchedules","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract ISynthetix","name":"_synthetix","type":"address"}],"name":"setSynthetix","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"numVestingEntries","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getVestingScheduleEntry","outputs":[{"internalType":"uint256[2]","name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getVestingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getVestingQuantity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getNextVestingIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getNextVestingEntry","outputs":[{"internalType":"uint256[2]","name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getNextVestingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getNextVestingQuantity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"purgeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"appendVestingEntry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"times","type":"uint256[]"},{"internalType":"uint256[]","name":"quantities","type":"uint256[]"}],"name":"addVestingSchedule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"vest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"SynthetixState":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"appendDebtLedgerValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"clearIssuanceData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"debtLedger","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"debtLedgerLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"decrementTotalIssuerCount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"hasIssued","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"incrementTotalIssuerCount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"issuanceData","outputs":[{"internalType":"uint256","name":"initialDebtOwnership","type":"uint256"},{"internalType":"uint256","name":"debtEntryIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastDebtLedgerEntry","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"initialDebtOwnership","type":"uint256"}],"name":"setCurrentIssuanceData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalIssuerCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]},"SynthetixDebtShare":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authorizedToSnapshot","type":"address"},{"indexed":false,"internalType":"bool","name":"authorized","type":"bool"}],"name":"ChangeAuthorizedToSnapshot","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"addAuthorizedToSnapshot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedToSnapshot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"periodId","type":"uint256"}],"name":"balanceOfOnPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"balances","outputs":[{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"uint128","name":"periodId","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentPeriodId","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"debtRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"removeAuthorizedToSnapshot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"sharePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"periodId","type":"uint256"}],"name":"sharePercentOnPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint128","name":"id","type":"uint128"}],"name":"takeSnapshot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"totalSupplyOnPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]},"Proxy":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract Proxyable","name":"newTarget","type":"address"}],"name":"TargetUpdated","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"uint256","name":"numTopics","type":"uint256"},{"internalType":"bytes32","name":"topic1","type":"bytes32"},{"internalType":"bytes32","name":"topic2","type":"bytes32"},{"internalType":"bytes32","name":"topic3","type":"bytes32"},{"internalType":"bytes32","name":"topic4","type":"bytes32"}],"name":"_emit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract Proxyable","name":"_target","type":"address"}],"name":"setTarget","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"target","outputs":[{"internalType":"contract Proxyable","name":"","type":"address"}],"stateMutability":"view","type":"function"}]},"EternalStorage":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteAddressValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBooleanValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBytes32Value","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBytesValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteIntValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteStringValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteUIntValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getAddressValue","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBooleanValue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBytes32Value","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBytesValue","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getIntValue","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getStringValue","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getUIntValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"address","name":"value","type":"address"}],"name":"setAddressValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBooleanValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"setBytes32Value","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bytes","name":"value","type":"bytes"}],"name":"setBytesValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"int256","name":"value","type":"int256"}],"name":"setIntValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"string","name":"value","type":"string"}],"name":"setStringValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setUIntValue","outputs":[],"stateMutability":"nonpayable","type":"function"}]},"DelegateApprovals":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract EternalStorage","name":"_eternalStorage","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authoriser","type":"address"},{"indexed":false,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"bytes32","name":"action","type":"bytes32"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newEternalStorage","type":"address"}],"name":"EternalStorageUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authoriser","type":"address"},{"indexed":false,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"bytes32","name":"action","type":"bytes32"}],"name":"WithdrawApproval","type":"event"},{"inputs":[],"name":"APPROVE_ALL","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BURN_FOR_ADDRESS","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CLAIM_FOR_ADDRESS","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EXCHANGE_FOR_ADDRESS","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ISSUE_FOR_ADDRESS","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegate","type":"address"}],"name":"approveAllDelegatePowers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegate","type":"address"}],"name":"approveBurnOnBehalf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegate","type":"address"}],"name":"approveClaimOnBehalf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegate","type":"address"}],"name":"approveExchangeOnBehalf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegate","type":"address"}],"name":"approveIssueOnBehalf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"authoriser","type":"address"},{"internalType":"address","name":"delegate","type":"address"}],"name":"approvedAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"authoriser","type":"address"},{"internalType":"address","name":"delegate","type":"address"}],"name":"canBurnFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"authoriser","type":"address"},{"internalType":"address","name":"delegate","type":"address"}],"name":"canClaimFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"authoriser","type":"address"},{"internalType":"address","name":"delegate","type":"address"}],"name":"canExchangeFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"authoriser","type":"address"},{"internalType":"address","name":"delegate","type":"address"}],"name":"canIssueFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eternalStorage","outputs":[{"internalType":"contract EternalStorage","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegate","type":"address"}],"name":"removeAllDelegatePowers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegate","type":"address"}],"name":"removeBurnOnBehalf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegate","type":"address"}],"name":"removeClaimOnBehalf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegate","type":"address"}],"name":"removeExchangeOnBehalf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegate","type":"address"}],"name":"removeIssueOnBehalf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract EternalStorage","name":"_eternalStorage","type":"address"}],"name":"setEternalStorage","outputs":[],"stateMutability":"nonpayable","type":"function"}]},"Liquidator":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"AccountFlaggedForLiquidation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"AccountRemovedFromLiquidation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LIQUIDATION_CALLER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LIQUIDATION_DEADLINE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"debtBalance","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"uint256","name":"penalty","type":"uint256"}],"name":"calculateAmountToFixCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"checkAndRemoveAccountInLiquidation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"flagAccountForLiquidation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flagReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getLiquidationCallerForAccount","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getLiquidationDeadlineForAccount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isLiquidationDeadlinePassed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isSelfLiquidation","type":"bool"}],"name":"isLiquidationOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"issuanceRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidateReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidationCollateralRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidationEscrowDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidationPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidationRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeAccountInLiquidation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"selfLiquidationPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]},"LiquidatorRewards":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"address","name":"_synthToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"_collateralKey","type":"bytes32"}],"name":"TransferForRestritution","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"accumulatedRewardsPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"adminWithdrawSynth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"collateralKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earnedInUSDC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"entries","outputs":[{"internalType":"uint128","name":"claimable","type":"uint128"},{"internalType":"uint128","name":"entryAccumulatedRewards","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"fixClaimableAmount","type":"uint256"},{"internalType":"uint256","name":"fixRewardsPerShare","type":"uint256"}],"name":"fixEntryAndRewardsPerShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"initiated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rewardRestitution","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_synthToken","type":"address"}],"name":"setSynthToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"synthToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalLiquidates","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"updateEntry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]},"FeePoolEternalStorage":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_feePool","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteAddressValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBooleanValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBytes32Value","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBytesValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteIntValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteStringValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteUIntValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getAddressValue","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBooleanValue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBytes32Value","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBytesValue","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getIntValue","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getStringValue","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getUIntValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"feePeriodIDs","type":"uint256[]"}],"name":"importFeeWithdrawalData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"address","name":"value","type":"address"}],"name":"setAddressValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBooleanValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"setBytes32Value","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bytes","name":"value","type":"bytes"}],"name":"setBytesValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"int256","name":"value","type":"int256"}],"name":"setIntValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"string","name":"value","type":"string"}],"name":"setStringValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setUIntValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setupExpiryTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]},"FeePool":{"abi":[{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"feePeriodId","type":"uint256"}],"name":"FeePeriodClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"sUSDAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"synthTokenRewards","type":"uint256"}],"name":"FeesClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxyAddress","type":"address"}],"name":"ProxyUpdated","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FEE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FEE_PERIOD_LENGTH","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"allNetworksBackedDebt","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allNetworksDebtSharesSupply","outputs":[{"internalType":"uint256","name":"sharesSupply","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"closeCurrentFeePeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"period","type":"uint256"}],"name":"effectiveDebtRatioForPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feePeriodDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"feesAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"feesByPeriod","outputs":[{"internalType":"uint256[2][2]","name":"results","type":"uint256[2][2]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_claimingAddress","type":"address"}],"name":"getLastFeeWithdrawal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPenaltyThresholdRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"feePeriodIndex","type":"uint256"},{"internalType":"uint256","name":"feePeriodId","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"feesToDistribute","type":"uint256"},{"internalType":"uint256","name":"feesClaimed","type":"uint256"},{"internalType":"uint256","name":"rewardsToDistribute","type":"uint256"},{"internalType":"uint256","name":"rewardsClaimed","type":"uint256"}],"name":"importFeePeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isFeesClaimable","outputs":[{"internalType":"bool","name":"feesClaimable","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"issuanceRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"recentFeePeriods","outputs":[{"internalType":"uint64","name":"feePeriodId","type":"uint64"},{"internalType":"uint64","name":"unused","type":"uint64"},{"internalType":"uint64","name":"startTime","type":"uint64"},{"internalType":"uint256","name":"feesToDistribute","type":"uint256"},{"internalType":"uint256","name":"feesClaimed","type":"uint256"},{"internalType":"uint256","name":"rewardsToDistribute","type":"uint256"},{"internalType":"uint256","name":"rewardsClaimed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recordFeePaid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"setMessageSender","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"}],"name":"setProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setRewardsToDistribute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setupExpiryTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"targetThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeesAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRewardsAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]},"FeePoolState":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract IFeePool","name":"_feePool","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"debtRatio","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"feePeriodCloseIndex","type":"uint256"}],"name":"IssuanceDebtRatioEntry","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":true,"inputs":[],"name":"FEE_PERIOD_LENGTH","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"accountIssuanceLedger","outputs":[{"internalType":"uint256","name":"debtPercentage","type":"uint256"},{"internalType":"uint256","name":"debtEntryIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"debtRatio","type":"uint256"},{"internalType":"uint256","name":"debtEntryIndex","type":"uint256"},{"internalType":"uint256","name":"currentPeriodStartDebtIndex","type":"uint256"}],"name":"appendAccountIssuanceRecord","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"closingDebtIndex","type":"uint256"}],"name":"applicableIssuanceData","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feePool","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getAccountsDebtEntry","outputs":[{"internalType":"uint256","name":"debtPercentage","type":"uint256"},{"internalType":"uint256","name":"debtEntryIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ratios","type":"uint256[]"},{"internalType":"uint256","name":"periodToInsert","type":"uint256"},{"internalType":"uint256","name":"feePeriodCloseIndex","type":"uint256"}],"name":"importIssuerData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IFeePool","name":"_feePool","type":"address"}],"name":"setFeePool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"setupExpiryTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]},"RewardsDistribution":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_authority","type":"address"},{"internalType":"address","name":"_synthToken","type":"address"},{"internalType":"address","name":"_rewardEscrowV2","type":"address"},{"internalType":"address","name":"_feePoolProxy","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":false,"internalType":"address","name":"destination","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardDistributionAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardsDistributed","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addRewardDistribution","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"distributeRewards","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"distributions","outputs":[{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributionsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"editRewardDistribution","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feePoolProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"removeRewardDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardEscrowV2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_authority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_feePoolProxy","type":"address"}],"name":"setFeePoolProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_rewardEscrowV2","type":"address"}],"name":"setRewardEscrowV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_synthToken","type":"address"}],"name":"setSynthToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"synthToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]},"LegacyTokenState":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setAllowance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setBalanceOf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"ProxyERC20":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract Proxyable","name":"newTarget","type":"address"}],"name":"TargetUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"uint256","name":"numTopics","type":"uint256"},{"internalType":"bytes32","name":"topic1","type":"bytes32"},{"internalType":"bytes32","name":"topic2","type":"bytes32"},{"internalType":"bytes32","name":"topic3","type":"bytes32"},{"internalType":"bytes32","name":"topic4","type":"bytes32"}],"name":"_emit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract Proxyable","name":"_target","type":"address"}],"name":"setTarget","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"target","outputs":[{"internalType":"contract Proxyable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]},"Synthetix":{"abi":[{"inputs":[{"internalType":"contract ExternWrappedStateTokenLightChain","name":"_extTokenState","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"synthRedeemed","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"address","name":"liquidator","type":"address"}],"name":"AccountLiquidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"bytes32","name":"collateralKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"collateralAmount","type":"uint256"}],"name":"StakeCollateral","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"bytes32","name":"collateralKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"collateralCurrency","type":"address"},{"indexed":false,"internalType":"uint256","name":"collateralAmount","type":"uint256"}],"name":"WithdrawCollateral","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"}],"name":"balanceOfPerKey","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes32","name":"_synthKey","type":"bytes32"}],"name":"burnSynths","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"}],"name":"collateralCurrency","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"},{"internalType":"uint256","name":"_collateralAmount","type":"uint256"}],"name":"collateralTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"uint16","name":"destChainId","type":"uint16"}],"name":"exchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"minAmount","type":"uint256"},{"internalType":"uint16","name":"destChainId","type":"uint16"}],"name":"exchangeAtomically","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getAvailableCollaterals","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bytes32","name":"_synthKey","type":"bytes32"},{"internalType":"uint256","name":"_synthAmount","type":"uint256"},{"internalType":"uint16","name":"_destChainId","type":"uint16"}],"name":"getSendBurnGasFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"},{"internalType":"uint256","name":"_collateralAmount","type":"uint256"},{"internalType":"uint16","name":"_destChainId","type":"uint16"}],"name":"getSendStakingGasFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolverLightChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"sUSD","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settle","outputs":[{"internalType":"uint256","name":"reclaimed","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"},{"internalType":"uint256","name":"numEntriesSettled","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"},{"internalType":"uint256","name":"_collateralAmount","type":"uint256"}],"name":"stakeCollateral","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"},{"internalType":"uint256","name":"_collateralAmount","type":"uint256"}],"name":"withdrawCollateral","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]},"DebtCache":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"DebtCacheSnapshotTaken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"cachedDebt","type":"uint256"}],"name":"DebtCacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"isInvalid","type":"bool"}],"name":"DebtCacheValidityChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cacheInfo","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"},{"internalType":"bool","name":"isStale","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cacheInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cacheStale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cacheTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cachedDebt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"cachedSynthDebt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"cachedSynthDebts","outputs":[{"internalType":"uint256[]","name":"snxIssuedDebts","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentDebt","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"currentSynthDebts","outputs":[{"internalType":"uint256[]","name":"debtValues","type":"uint256[]"},{"internalType":"uint256","name":"futuresDebt","type":"uint256"},{"internalType":"uint256","name":"excludedDebt","type":"uint256"},{"internalType":"bool","name":"anyRateIsInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"debtSnapshotStaleTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"excludedIssuedDebts","outputs":[{"internalType":"uint256[]","name":"excludedDebts","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IDebtCache","name":"prevDebtCache","type":"address"},{"internalType":"contract IIssuer","name":"prevIssuer","type":"address"}],"name":"importExcludedIssuedDebts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"purgeCachedSynthDebt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"int256","name":"delta","type":"int256"}],"name":"recordExcludedDebtChange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"takeDebtSnapshot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalNonSnxBackedDebt","outputs":[{"internalType":"uint256","name":"excludedDebt","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"currencyRate","type":"uint256"}],"name":"updateCachedSynthDebtWithRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"updateCachedSynthDebts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256[]","name":"currencyRates","type":"uint256[]"}],"name":"updateCachedSynthDebtsWithRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"int256","name":"amount","type":"int256"}],"name":"updateCachedsUSDDebt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"currentlyInvalid","type":"bool"}],"name":"updateDebtCacheValidity","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"ExchangerWithFeeRecAlternatives":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"fromCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"fromAmount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"toAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"toAddress","type":"address"}],"name":"AtomicSynthExchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amountReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"name":"ExchangeEntryAppended","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"bytes32","name":"src","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"dest","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reclaim","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rebate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"srcRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"destRoundIdAtPeriodEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"exchangeTimestamp","type":"uint256"}],"name":"ExchangeEntrySettled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ExchangeRebate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ExchangeReclaim","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"fromCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"fromAmount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"toCurrencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"toAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"toAddress","type":"address"}],"name":"SynthExchange","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"}],"name":"calculateAmountAfterSettlement","outputs":[{"internalType":"uint256","name":"amountAfterSettlement","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"dynamicFeeRateForExchange","outputs":[{"internalType":"uint256","name":"feeRate","type":"uint256"},{"internalType":"bool","name":"tooVolatile","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"fromAccount","type":"address"},{"internalType":"address","name":"destAccount","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"uint256","name":"destAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"reclaimed","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"},{"internalType":"uint16","name":"destChainId","type":"uint16"}],"internalType":"struct IExchanger.ExchangeArgs","name":"args","type":"tuple"}],"name":"exchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minAmount","type":"uint256"},{"components":[{"internalType":"address","name":"fromAccount","type":"address"},{"internalType":"address","name":"destAccount","type":"address"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destCurrencyKey","type":"bytes32"},{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"uint256","name":"destAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"reclaimed","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"},{"internalType":"uint16","name":"destChainId","type":"uint16"}],"internalType":"struct IExchanger.ExchangeArgs","name":"args","type":"tuple"}],"name":"exchangeAtomically","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"feeRateForExchange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"getAmountsForAtomicExchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"getAmountsForExchange","outputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bytes32","name":"_sourceKey","type":"bytes32"},{"internalType":"uint256","name":"_sourceAmount","type":"uint256"},{"internalType":"bytes32","name":"_destKey","type":"bytes32"},{"internalType":"uint16","name":"_destChainId","type":"uint16"}],"name":"getSendExchangeGasFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"isSynthRateInvalid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastAtomicVolume","outputs":[{"internalType":"uint64","name":"time","type":"uint64"},{"internalType":"uint192","name":"volume","type":"uint192"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"maxSecsLeftInWaitingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolverLightChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settle","outputs":[{"internalType":"uint256","name":"reclaimed","type":"uint256"},{"internalType":"uint256","name":"refunded","type":"uint256"},{"internalType":"uint256","name":"numEntriesSettled","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"settlementOwing","outputs":[{"internalType":"uint256","name":"reclaimAmount","type":"uint256"},{"internalType":"uint256","name":"rebateAmount","type":"uint256"},{"internalType":"uint256","name":"numEntries","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"suspendSynthWithInvalidRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"bytes32","name":"destinationKey","type":"bytes32"},{"internalType":"uint256","name":"destinationAmount","type":"uint256"}],"name":"updateDestinationForExchange","outputs":[],"stateMutability":"nonpayable","type":"function"}]},"ExchangeCircuitBreaker":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"previousRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newRate","type":"uint256"}],"name":"LastRateOverriden","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"inputs":[],"name":"CIRCUIT_BREAKER_SUSPENSION_REASON","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exchangeRates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"base","type":"uint256"},{"internalType":"uint256","name":"comparison","type":"uint256"}],"name":"isDeviationAboveThreshold","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"lastExchangeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceDeviationThresholdFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateWithBreakCircuit","outputs":[{"internalType":"uint256","name":"lastValidRate","type":"uint256"},{"internalType":"bool","name":"circuitBroken","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"rateWithInvalid","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"resetLastExchangeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolverLightChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"}]},"VirtualSynthMastercopy":{"abi":[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"totalSupply","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAfterSettled","type":"uint256"}],"name":"Settled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOfUnderlying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currencyKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"_synth","type":"address"},{"internalType":"contract IAddressResolver","name":"_resolver","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"readyToSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract IAddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"secsLeftInWaitingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"settle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"settled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"settledAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"synth","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"ExchangeState":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"src","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"dest","type":"bytes32"},{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"name":"appendExchangeEntry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"exchanges","outputs":[{"internalType":"bytes32","name":"src","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"dest","type":"bytes32"},{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getEntryAt","outputs":[{"internalType":"bytes32","name":"src","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"dest","type":"bytes32"},{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"exchangeFeeRate","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"roundIdForSrc","type":"uint256"},{"internalType":"uint256","name":"roundIdForDest","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"getLengthOfEntries","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"getMaxTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxEntriesInQueue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"removeEntries","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxEntriesInQueue","type":"uint256"}],"name":"setMaxEntriesInQueue","outputs":[],"stateMutability":"nonpayable","type":"function"}]},"Issuer":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"synthAmount","type":"uint256"}],"name":"BurnSynthForBridge","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"synthAmount","type":"uint256"}],"name":"DestIssue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"synth","type":"address"}],"name":"SynthAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"synth","type":"address"}],"name":"SynthRemoved","type":"event"},{"inputs":[],"name":"CIRCUIT_BREAKER_SUSPENSION_REASON","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ISynth","name":"synth","type":"address"}],"name":"addSynth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"availableCurrencyKeys","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"availableSynthCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"availableSynths","outputs":[{"internalType":"contract ISynth","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bytes32","name":"_synthKey","type":"bytes32"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint16","name":"_destChainId","type":"uint16"}],"name":"bridgeSynth","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"deprecatedSynth","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"}],"name":"burnForRedemption","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bytes32","name":"_synthKey","type":"bytes32"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burnSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bytes32","name":"_synthKey","type":"bytes32"},{"internalType":"uint256","name":"_synthAmount","type":"uint256"}],"name":"destIssue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bytes32","name":"_synthKey","type":"bytes32"},{"internalType":"uint256","name":"_synthAmount","type":"uint256"},{"internalType":"uint16","name":"_destChainId","type":"uint16"}],"name":"getSendBridgeSynthGasFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"getSynths","outputs":[{"internalType":"contract ISynth[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastDebtRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"removeSynth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolverLightChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synths","outputs":[{"internalType":"contract ISynth","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"synthsByAddress","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}]},"TradingRewards":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"periodController","type":"address"},{"internalType":"address","name":"resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recoverAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"AssignedRewardTokensRecovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"ExchangeFeeRecorded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"NewPeriodStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newPeriodController","type":"address"}],"name":"PeriodControllerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewards","type":"uint256"}],"name":"PeriodFinalizedWithRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"RewardsClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"address","name":"recoverAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensRecovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recoverAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"UnassignedRewardTokensRecovered","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"claimRewardsForPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"periodIDs","type":"uint256[]"}],"name":"claimRewardsForPeriods","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rewards","type":"uint256"}],"name":"closeCurrentPeriodWithRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAvailableRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getAvailableRewardsForAccountForPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"periodIDs","type":"uint256[]"}],"name":"getAvailableRewardsForAccountForPeriods","outputs":[{"internalType":"uint256","name":"totalRewards","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodAvailableRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPeriodController","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodIsClaimable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodIsFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodRecordedFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getPeriodTotalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardsToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"getUnaccountedFeesForAccountForPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUnassignedRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"usdFeeAmount","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"recordExchangeFeeForAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recoverAddress","type":"address"},{"internalType":"uint256","name":"periodID","type":"uint256"}],"name":"recoverAssignedRewardTokensAndDestroyPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"recoverAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recoverAddress","type":"address"}],"name":"recoverUnassignedRewardTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newPeriodController","type":"address"}],"name":"setPeriodController","outputs":[],"stateMutability":"nonpayable","type":"function"}]},"SupplySchedule":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_lastMintEvent","type":"uint256"},{"internalType":"uint256","name":"_currentWeek","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newInflationAmount","type":"uint256"}],"name":"InflationAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newInflationAmount","type":"uint256"}],"name":"MaxInflationAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newRewardAmount","type":"uint256"}],"name":"MinterRewardUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"supplyMinted","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"numberOfWeeksIssued","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lastMintEvent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"SupplyMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"SynthTokenUpdated","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INFLATION_START_DATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_MINTER_REWARD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINT_BUFFER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINT_PERIOD_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inflationAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isMintable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastMintEvent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxInflationAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintableSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minterReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"supplyMinted","type":"uint256"}],"name":"recordMintEvent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setInflationAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxInflationAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMinterReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_synthToken","type":"address"}],"name":"setSynthToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"synthToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"weekCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"weeksSinceLastIssuance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]},"EscrowChecker":{"abi":[{"inputs":[{"internalType":"contract ISynthetixEscrow","name":"_esc","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":true,"inputs":[],"name":"synthetix_escrow","outputs":[{"internalType":"contract ISynthetixEscrow","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"checkAccountSchedule","outputs":[{"internalType":"uint256[16]","name":"","type":"uint256[16]"}],"payable":false,"stateMutability":"view","type":"function"}]},"SynthetixBridgeToOptimism":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"escrowedAccountBalance","type":"uint256"},{"components":[{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"escrowAmount","type":"uint256"}],"indexed":false,"internalType":"struct VestingEntries.VestingEntry[]","name":"vestingEntries","type":"tuple[]"}],"name":"ExportedVestingEntries","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"snxBackedDebt","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalDebtShares","type":"uint256"}],"name":"FeePeriodClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":true,"internalType":"address","name":"destination","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FinalizeSynthTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":true,"internalType":"address","name":"destination","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"InitiateSynthTransfer","type":"event"},{"anonymous":false,"inputs":[],"name":"InitiationResumed","type":"event"},{"anonymous":false,"inputs":[],"name":"InitiationSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardDepositInitiated","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"snxBackedAmount","type":"uint256"},{"internalType":"uint256","name":"totalDebtShares","type":"uint256"}],"name":"closeFeePeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256[][]","name":"entryIDs","type":"uint256[][]"}],"name":"depositAndMigrateEscrow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"finalizeSynthTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"finalizeWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"forwardTokensToEscrow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"initiateSynthTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initiationActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256[][]","name":"entryIDs","type":"uint256[][]"}],"name":"migrateEscrow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resumeInitiation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"suspendInitiation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"synthTransferReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"synthTransferSent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]},"SynthetixBridgeEscrow":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_token","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"BridgeApproval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_bridge","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approveBridge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]},"OwnerRelayOnEthereum":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"bytes[]","name":"payloads","type":"bytes[]"}],"name":"RelayBatchInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"}],"name":"RelayInitiated","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"uint32","name":"crossDomainGasLimit","type":"uint32"}],"name":"initiateRelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"bytes[]","name":"payloads","type":"bytes[]"},{"internalType":"uint32","name":"crossDomainGasLimit","type":"uint32"}],"name":"initiateRelayBatch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"}]},"SynthRedeemer":{"abi":[{"inputs":[{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"synth","type":"address"},{"indexed":false,"internalType":"uint256","name":"rateToRedeem","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSynthSupply","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"supplyInsUSD","type":"uint256"}],"name":"SynthDeprecated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"synth","type":"address"},{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountOfSynth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountInsUSD","type":"uint256"}],"name":"SynthRedeemed","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balanceInsUSD","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"},{"internalType":"uint256","name":"rateToRedeem","type":"uint256"}],"name":"deprecate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"}],"name":"redeem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20[]","name":"synthProxies","type":"address[]"}],"name":"redeemAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"},{"internalType":"uint256","name":"amountOfSynth","type":"uint256"}],"name":"redeemPartial","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"redemptions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolverLightChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"synthProxy","type":"address"}],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"supplyInsUSD","type":"uint256"}],"stateMutability":"view","type":"function"}]},"WrapperFactory":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"wrapperAddress","type":"address"}],"name":"WrapperCreated","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"possibleWrapper","type":"address"}],"name":"isWrapper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feesEscrowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"bytes32","name":"synthContractName","type":"bytes32"}],"name":"createWrapper","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"distributeFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"TokenState":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setAllowance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setBalanceOf","outputs":[],"stateMutability":"nonpayable","type":"function"}]},"Synth":{"abi":[{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"},{"internalType":"contract TokenState","name":"_tokenState","type":"address"},{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Issued","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxyAddress","type":"address"}],"name":"ProxyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldAggregator","type":"address"},{"indexed":false,"internalType":"address","name":"newAggregator","type":"address"}],"name":"SetSyAggregator","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTokenState","type":"address"}],"name":"TokenStateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FEE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currencyKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"messageSender","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxy","outputs":[{"internalType":"contract Proxy","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"setMessageSender","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_proxy","type":"address"}],"name":"setProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract TokenState","name":"_tokenState","type":"address"}],"name":"setTokenState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTotalSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenState","outputs":[{"internalType":"contract TokenState","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFromAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"transferableSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]},"MultiCollateralSynth":{"abi":[{"inputs":[{"internalType":"contract TokenState","name":"_tokenState","type":"address"},{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTokenState","type":"address"}],"name":"TokenStateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FEE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currencyKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract TokenState","name":"_tokenState","type":"address"}],"name":"setTokenState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTotalSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenState","outputs":[{"internalType":"contract TokenState","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFromAndSettle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"transferableSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]},"Depot":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address payable","name":"_fundsWallet","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"fromETHAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toAmount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"depositIndex","type":"uint256"}],"name":"ClearedDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"fromCurrency","type":"string"},{"indexed":false,"internalType":"uint256","name":"fromAmount","type":"uint256"},{"indexed":false,"internalType":"string","name":"toCurrency","type":"string"},{"indexed":false,"internalType":"uint256","name":"toAmount","type":"uint256"}],"name":"Exchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newFundsWallet","type":"address"}],"name":"FundsWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MaxEthPurchaseUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MinimumDepositAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"NonPayableContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"depositIndex","type":"uint256"}],"name":"SynthDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"minimum","type":"uint256"}],"name":"SynthDepositNotAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"depositIndex","type":"uint256"}],"name":"SynthDepositRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SynthWithdrawal","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"depositEndIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"depositStartIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositSynths","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"deposits","outputs":[{"internalType":"address payable","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exchangeEtherForSNX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"guaranteedEtherRate","type":"uint256"},{"internalType":"uint256","name":"guaranteedSynthetixRate","type":"uint256"}],"name":"exchangeEtherForSNXAtRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"exchangeEtherForSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"guaranteedRate","type":"uint256"}],"name":"exchangeEtherForSynthsAtRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"synthAmount","type":"uint256"}],"name":"exchangeSynthsForSNX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"synthAmount","type":"uint256"},{"internalType":"uint256","name":"guaranteedRate","type":"uint256"}],"name":"exchangeSynthsForSNXAtRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundsWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxEthPurchase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumDepositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_fundsWallet","type":"address"}],"name":"setFundsWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxEthPurchase","type":"uint256"}],"name":"setMaxEthPurchase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMinimumDepositAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"smallDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"synthetixReceivedForEther","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"synthetixReceivedForSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"synthsReceivedForEther","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellableDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawMyDepositedSynths","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawSynthetix","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]},"EtherWrapper":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"address payable","name":"_WETH","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"principal","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"principal","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"burnFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calculateBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calculateMintFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"capacity","outputs":[{"internalType":"uint256","name":"_capacity","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"distributeFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feesEscrowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mintFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sETHIssued","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sUSDIssued","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalIssuedSynths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weth","outputs":[{"internalType":"contract IWETH","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]},"NativeEtherWrapper":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"mint","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"}]},"CollateralUtil":{"abi":[{"inputs":[{"internalType":"address","name":"_resolver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"collateralKey","type":"bytes32"}],"name":"collateralRedeemed","outputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"},{"internalType":"bytes32","name":"collateralKey","type":"bytes32"}],"name":"getCollateralRatio","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"internalType":"struct ICollateralLoan.Loan","name":"loan","type":"tuple"},{"internalType":"uint256","name":"minCratio","type":"uint256"},{"internalType":"bytes32","name":"collateralKey","type":"bytes32"}],"name":"liquidationAmount","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"minCratio","type":"uint256"},{"internalType":"bytes32","name":"collateralKey","type":"bytes32"}],"name":"maxLoan","outputs":[{"internalType":"uint256","name":"max","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"}]},"CollateralManagerState":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"addShortCurrency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"borrowRates","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"borrowRatesLastUpdated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decrementLongs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decrementShorts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRateAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRatesAndTime","outputs":[{"internalType":"uint256","name":"entryRate","type":"uint256"},{"internalType":"uint256","name":"lastRate","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"newIndex","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRatesLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getShortRatesAndTime","outputs":[{"internalType":"uint256","name":"entryRate","type":"uint256"},{"internalType":"uint256","name":"lastRate","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"newIndex","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"getShortRatesLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"incrementLongs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"incrementShorts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"incrementTotalLoans","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"long","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ratesLastUpdated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"removeShortCurrency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"short","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"shortRates","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"shortRatesLastUpdated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"totalIssuedSynths","outputs":[{"internalType":"uint256","name":"long","type":"uint256"},{"internalType":"uint256","name":"short","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalLoans","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"updateBorrowRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"updateShortRates","outputs":[],"stateMutability":"nonpayable","type":"function"}]},"CollateralManager":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"address","name":"_collateral","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"DepositCollateral","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"address","name":"_collateral","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"WithdrawCollateral","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_collateralCurrency","type":"address"},{"internalType":"uint256","name":"_collateralAmount","type":"uint256"}],"name":"depositeCollateral","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolverLightChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"whiteList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"address","name":"_collateralCurrency","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawCollateral","outputs":[],"stateMutability":"nonpayable","type":"function"}]},"CollateralEth":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract ICollateralManager","name":"_manager","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"},{"internalType":"uint256","name":"_minCratio","type":"uint256"},{"internalType":"uint256","name":"_minCollateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"canOpenLoans","type":"bool"}],"name":"CanOpenLoansUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountDeposited","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralDeposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountWithdrawn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"issueFeeRate","type":"uint256"}],"name":"IssueFeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"LoanClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanClosedByLiquidation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRepaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"LoanClosedByRepayment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateral","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"currency","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"issuanceFee","type":"uint256"}],"name":"LoanCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LoanDrawnDown","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanPartiallyLiquidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"repayer","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRepaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAfter","type":"uint256"}],"name":"LoanRepaymentMade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCollateral","type":"uint256"}],"name":"MinCollateralUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"rewardsContract","type":"address"},{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"addRewardsContracts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"addSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"areSynthsAndCurrenciesSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"canOpenLoans","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"collateralKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"collateralRatio","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issueFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"liquidationAmount","outputs":[{"internalType":"uint256","name":"liqAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"loans","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"internalType":"contract ICollateralManager","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"maxLoan","outputs":[{"internalType":"uint256","name":"max","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minCratio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pendingWithdrawals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_canOpenLoans","type":"bool"}],"name":"setCanOpenLoans","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_issueFeeRate","type":"uint256"}],"name":"setIssueFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_minCollateral","type":"uint256"}],"name":"setMinCollateral","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"shortingRewards","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"synths","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthsByKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"open","outputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"close","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"repay","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"draw","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"liquidate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"CollateralErc20":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract ICollateralManager","name":"_manager","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"},{"internalType":"uint256","name":"_minCratio","type":"uint256"},{"internalType":"uint256","name":"_minCollateral","type":"uint256"},{"internalType":"address","name":"_underlyingContract","type":"address"},{"internalType":"uint256","name":"_underlyingDecimals","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"canOpenLoans","type":"bool"}],"name":"CanOpenLoansUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountDeposited","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralDeposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountWithdrawn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"issueFeeRate","type":"uint256"}],"name":"IssueFeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"LoanClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanClosedByLiquidation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRepaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"LoanClosedByRepayment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateral","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"currency","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"issuanceFee","type":"uint256"}],"name":"LoanCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LoanDrawnDown","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanPartiallyLiquidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"repayer","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRepaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAfter","type":"uint256"}],"name":"LoanRepaymentMade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCollateral","type":"uint256"}],"name":"MinCollateralUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"rewardsContract","type":"address"},{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"addRewardsContracts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"addSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"areSynthsAndCurrenciesSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"canOpenLoans","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"collateralKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"collateralRatio","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issueFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"liquidationAmount","outputs":[{"internalType":"uint256","name":"liqAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"loans","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"internalType":"contract ICollateralManager","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"maxLoan","outputs":[{"internalType":"uint256","name":"max","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minCratio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_canOpenLoans","type":"bool"}],"name":"setCanOpenLoans","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_issueFeeRate","type":"uint256"}],"name":"setIssueFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_minCollateral","type":"uint256"}],"name":"setMinCollateral","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"shortingRewards","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"synths","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthsByKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"underlyingContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"underlyingContractDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"open","outputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"close","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"repay","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"draw","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"liquidate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"name":"scaleUpCollateral","outputs":[{"internalType":"uint256","name":"scaledUp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"name":"scaleDownCollateral","outputs":[{"internalType":"uint256","name":"scaledDown","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]},"CollateralShort":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract ICollateralManager","name":"_manager","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"bytes32","name":"_collateralKey","type":"bytes32"},{"internalType":"uint256","name":"_minCratio","type":"uint256"},{"internalType":"uint256","name":"_minCollateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"canOpenLoans","type":"bool"}],"name":"CanOpenLoansUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountDeposited","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralDeposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountWithdrawn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"CollateralWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"issueFeeRate","type":"uint256"}],"name":"IssueFeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"LoanClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanClosedByLiquidation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRepaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAfter","type":"uint256"}],"name":"LoanClosedByRepayment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateral","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"currency","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"issuanceFee","type":"uint256"}],"name":"LoanCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LoanDrawnDown","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLiquidated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralLiquidated","type":"uint256"}],"name":"LoanPartiallyLiquidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"repayer","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRepaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAfter","type":"uint256"}],"name":"LoanRepaymentMade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minCollateral","type":"uint256"}],"name":"MinCollateralUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"rewardsContract","type":"address"},{"internalType":"bytes32","name":"synth","type":"bytes32"}],"name":"addRewardsContracts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"addSynths","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"_synthNamesInResolver","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_synthKeys","type":"bytes32[]"}],"name":"areSynthsAndCurrenciesSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"canOpenLoans","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"close","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"closeWithCollateral","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"collateralKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"collateralRatio","outputs":[{"internalType":"uint256","name":"cratio","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"draw","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"getShortAndCollateral","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issueFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"liquidate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"liquidationAmount","outputs":[{"internalType":"uint256","name":"liqAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"loans","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"short","type":"bool"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"interestIndex","type":"uint256"},{"internalType":"uint256","name":"lastInteraction","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"internalType":"contract ICollateralManager","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"maxLoan","outputs":[{"internalType":"uint256","name":"max","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minCratio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"currency","type":"bytes32"}],"name":"open","outputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"rebuildCache","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"repay","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"repayWithCollateral","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_canOpenLoans","type":"bool"}],"name":"setCanOpenLoans","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_issueFeeRate","type":"uint256"}],"name":"setIssueFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_minCollateral","type":"uint256"}],"name":"setMinCollateral","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"shortingRewards","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"synths","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthsByKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"principal","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]},"EmptyFuturesMarketManager":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"market","type":"address"},{"indexed":true,"internalType":"bytes32","name":"asset","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"marketKey","type":"bytes32"}],"name":"MarketAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"market","type":"address"},{"indexed":true,"internalType":"bytes32","name":"asset","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"marketKey","type":"bytes32"}],"name":"MarketRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"marketsToAdd","type":"address[]"}],"name":"addMarkets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"allMarketSummaries","outputs":[{"components":[{"internalType":"address","name":"market","type":"address"},{"internalType":"bytes32","name":"asset","type":"bytes32"},{"internalType":"bytes32","name":"marketKey","type":"bytes32"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"marketSize","type":"uint256"},{"internalType":"int256","name":"marketSkew","type":"int256"},{"internalType":"uint256","name":"marketDebt","type":"uint256"},{"internalType":"int256","name":"currentFundingRate","type":"int256"},{"internalType":"bool","name":"priceInvalid","type":"bool"}],"internalType":"struct FuturesMarketManager.MarketSummary[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allMarkets","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnSUSD","outputs":[{"internalType":"uint256","name":"postReclamationAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issueSUSD","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"marketForKey","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"marketSummaries","outputs":[{"components":[{"internalType":"address","name":"market","type":"address"},{"internalType":"bytes32","name":"asset","type":"bytes32"},{"internalType":"bytes32","name":"marketKey","type":"bytes32"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"marketSize","type":"uint256"},{"internalType":"int256","name":"marketSkew","type":"int256"},{"internalType":"uint256","name":"marketDebt","type":"uint256"},{"internalType":"int256","name":"currentFundingRate","type":"int256"},{"internalType":"bool","name":"priceInvalid","type":"bool"}],"internalType":"struct FuturesMarketManager.MarketSummary[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"marketKeys","type":"bytes32[]"}],"name":"marketSummariesForKeys","outputs":[{"components":[{"internalType":"address","name":"market","type":"address"},{"internalType":"bytes32","name":"asset","type":"bytes32"},{"internalType":"bytes32","name":"marketKey","type":"bytes32"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"marketSize","type":"uint256"},{"internalType":"int256","name":"marketSkew","type":"int256"},{"internalType":"uint256","name":"marketDebt","type":"uint256"},{"internalType":"int256","name":"currentFundingRate","type":"int256"},{"internalType":"bool","name":"priceInvalid","type":"bool"}],"internalType":"struct FuturesMarketManager.MarketSummary[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"markets","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"marketKeys","type":"bytes32[]"}],"name":"marketsForKeys","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numMarkets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"trackingCode","type":"bytes32"}],"name":"payFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"payFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"marketsToRemove","type":"address[]"}],"name":"removeMarkets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"marketKeysToRemove","type":"bytes32[]"}],"name":"removeMarketsByKey","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDebt","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"bool","name":"isInvalid","type":"bool"}],"stateMutability":"view","type":"function"}]},"SynthUtil":{"abi":[{"inputs":[{"internalType":"address","name":"resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"addressResolverProxy","outputs":[{"internalType":"contract IAddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"synthsBalances","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"synthsRates","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"synthsTotalSupplies","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"totalSynthsInKey","outputs":[{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"view","type":"function"}]},"DappMaintenance":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"SXMaintenance","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"StakingMaintenance","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isPausedSX","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPausedStaking","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setMaintenanceModeAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setMaintenanceModeSX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setMaintenanceModeStaking","outputs":[],"stateMutability":"nonpayable","type":"function"}]},"IssuedSynthAggregator":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"totalIssuedSynthPerAsset","outputs":[{"internalType":"uint256","name":"_issuedSynth","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalIssuedSynths","outputs":[{"internalType":"uint256","name":"_issuedSynths","type":"uint256"}],"stateMutability":"view","type":"function"}]},"LiquidatorRewardsManager":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"collateralKey","type":"bytes32"},{"indexed":false,"internalType":"contract ILiquidatorRewards","name":"liquidateReward","type":"address"}],"name":"AddLiquidatorRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"collateralKey","type":"bytes32"},{"indexed":false,"internalType":"contract ILiquidatorRewards","name":"oldLiquidateReward","type":"address"}],"name":"RemoveLiquidatorRewards","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralKey","type":"bytes32"},{"internalType":"contract ILiquidatorRewards","name":"liquidateReward","type":"address"}],"name":"addLiquidatorRewards","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"getLiquidateReward","outputs":[{"internalType":"contract ILiquidatorRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLiquidateRewards","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"liquidateRewards","outputs":[{"internalType":"contract ILiquidatorRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralKey","type":"bytes32"}],"name":"removeLiquidatorRewards","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"totalLiquidateEarned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"totalLiquidateEarnedOnChain","outputs":[{"internalType":"uint256","name":"_totalLiquidates","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"totalLiquidateEarnedPerCurrencyKey","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalLiquidatesBalanceOnChain","outputs":[{"internalType":"uint256","name":"_totalLiquidates","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"updateEntry","outputs":[],"stateMutability":"nonpayable","type":"function"}]},"RewardEscrowV2Manager":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"collateralKey","type":"bytes32"},{"indexed":false,"internalType":"contract IRewardEscrowV2","name":"rewardEscrow","type":"address"}],"name":"AddRewardEscrows","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"CacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"collateralKey","type":"bytes32"},{"indexed":false,"internalType":"contract IRewardEscrowV2","name":"oldRewardEscrow","type":"address"}],"name":"RemoveRewardEscrows","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralKey","type":"bytes32"},{"internalType":"contract IRewardEscrowV2","name":"rewardEscrow","type":"address"}],"name":"addRewardEscrows","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"getRewardEscrow","outputs":[{"internalType":"contract IRewardEscrowV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardEscrows","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isResolverCached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebuildCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralKey","type":"bytes32"}],"name":"removeRewardEscrows","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resolver","outputs":[{"internalType":"contract AddressResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resolverAddressesRequired","outputs":[{"internalType":"bytes32[]","name":"addresses","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"rewardEscrows","outputs":[{"internalType":"contract IRewardEscrowV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"totalBalanceOf","outputs":[{"internalType":"uint256","name":"_totalBalanceOf","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"totalBalanceOfByKey","outputs":[{"internalType":"uint256","name":"_totalBalanceOf","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"totalBalanceOfByKeyOnChain","outputs":[{"internalType":"uint256","name":"_totalBalance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"totalBalanceOfOnChain","outputs":[{"internalType":"uint256","name":"_totalBalance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalEscrowedBalance","outputs":[{"internalType":"uint256","name":"_totalEscrowedBalance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"totalEscrowedBalanceByKey","outputs":[{"internalType":"uint256","name":"_totalEscrowedBalance","type":"uint256"}],"stateMutability":"view","type":"function"}]},"SynthrBridge":{"abi":[{"inputs":[{"internalType":"address","name":"_lzEndpoint","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"indexed":false,"internalType":"bytes","name":"_srcAddress","type":"bytes"},{"indexed":false,"internalType":"uint64","name":"_nonce","type":"uint64"},{"indexed":false,"internalType":"bytes","name":"_payload","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"_reason","type":"bytes"}],"name":"MessageFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint16","name":"packetType","type":"uint16"},{"indexed":true,"internalType":"uint16","name":"srcChainId","type":"uint16"},{"indexed":false,"internalType":"uint64","name":"nonce","type":"uint64"}],"name":"ReceivePacket","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"indexed":false,"internalType":"bytes","name":"_srcAddress","type":"bytes"},{"indexed":false,"internalType":"uint64","name":"_nonce","type":"uint64"},{"indexed":false,"internalType":"bytes32","name":"_payloadHash","type":"bytes32"}],"name":"RetryMessageSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint16","name":"packetType","type":"uint16"},{"indexed":true,"internalType":"uint16","name":"dstChainId","type":"uint16"},{"indexed":false,"internalType":"uint64","name":"nonce","type":"uint64"}],"name":"SendPacket","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"_dstChainId","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"_type","type":"uint16"},{"indexed":false,"internalType":"uint256","name":"_minDstGas","type":"uint256"}],"name":"SetMinDstGas","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"precrime","type":"address"}],"name":"SetPrecrime","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"_remoteChainId","type":"uint16"},{"indexed":false,"internalType":"bytes","name":"_path","type":"bytes"}],"name":"SetTrustedRemote","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"_remoteChainId","type":"uint16"},{"indexed":false,"internalType":"bytes","name":"_remoteAddress","type":"bytes"}],"name":"SetTrustedRemoteAddress","type":"event"},{"inputs":[],"name":"_synthrAddressResolver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"lzPayload","type":"bytes"},{"internalType":"uint16","name":"packetType","type":"uint16"},{"internalType":"uint16","name":"dstChainId","type":"uint16"}],"name":"calcLZFee","outputs":[{"internalType":"uint256","name":"lzFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"uint64","name":"","type":"uint64"}],"name":"failedMessages","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_srcAddress","type":"bytes"}],"name":"forceResumeReceive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_version","type":"uint16"},{"internalType":"uint16","name":"_chainId","type":"uint16"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"_configType","type":"uint256"}],"name":"getConfig","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_remoteChainId","type":"uint16"}],"name":"getTrustedRemoteAddress","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"__synthrAddressResolver","type":"address"},{"internalType":"uint16","name":"__mainChainId","type":"uint16"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_srcAddress","type":"bytes"}],"name":"isTrustedRemote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lzEndpoint","outputs":[{"internalType":"contract ILayerZeroEndpoint","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_srcAddress","type":"bytes"},{"internalType":"uint64","name":"_nonce","type":"uint64"},{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"lzReceive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"uint16","name":"","type":"uint16"}],"name":"minDstGasLookup","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_srcAddress","type":"bytes"},{"internalType":"uint64","name":"_nonce","type":"uint64"},{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"nonblockingLzReceive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"precrime","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_srcAddress","type":"bytes"},{"internalType":"uint64","name":"_nonce","type":"uint64"},{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"retryMessage","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint16","name":"dstChainId","type":"uint16"}],"name":"sendBridgeSyToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"synthKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sendBurn","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"collateralKey","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sendDepositCollateral","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"srcSynthKey","type":"bytes32"},{"internalType":"bytes32","name":"dstSynthKey","type":"bytes32"},{"internalType":"uint256","name":"srcAmount","type":"uint256"},{"internalType":"uint256","name":"dstAmount","type":"uint256"},{"internalType":"uint256","name":"reclaimed","type":"uint256"},{"internalType":"uint256","name":"refund","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint16","name":"dstChainId","type":"uint16"}],"name":"sendExchange","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_version","type":"uint16"},{"internalType":"uint16","name":"_chainId","type":"uint16"},{"internalType":"uint256","name":"_configType","type":"uint256"},{"internalType":"bytes","name":"_config","type":"bytes"}],"name":"setConfig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_dstChainId","type":"uint16"},{"internalType":"uint16","name":"_packetType","type":"uint16"},{"internalType":"uint256","name":"_minGas","type":"uint256"}],"name":"setMinDstGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_precrime","type":"address"}],"name":"setPrecrime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_version","type":"uint16"}],"name":"setReceiveVersion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_version","type":"uint16"}],"name":"setSendVersion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_srcChainId","type":"uint16"},{"internalType":"bytes","name":"_path","type":"bytes"}],"name":"setTrustedRemote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_remoteChainId","type":"uint16"},{"internalType":"bytes","name":"_remoteAddress","type":"bytes"}],"name":"setTrustedRemoteAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"","type":"uint16"}],"name":"trustedRemoteLookup","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawAsset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]}}}')},function(e){e.exports=JSON.parse('{"v2.74.2-alpha":{"tag":"v2.74.2-alpha","fulltag":"v2.74.2-alpha","release":"Algol","network":"goerli","date":"2022-07-15T14:48:43-04:00","commit":"3049037c3d06f3e2a7fea65f5f5d7c6c161aa830","contracts":{"SafeDecimalMath":{"address":"0xb6a200136891Be1C881431320E4092953788C7e0","status":"current","keccak256":"0x8faeff5b40d4931b9c43a256e3e72d24b2885ab555ae85899a3c4d018ac6ca0c"},"Math":{"address":"0xee5cFeEA2caC5F3A13DB1193c211C7bfA5c03dF0","status":"current","keccak256":"0x3fe1e0cd3d4b2dfd66e0b208e49d73e526fd1ea62aa25fe60fd84052467d1169"},"SystemSettingsLib":{"address":"0x2b4A2D263B40a8A38dA080109f6e40DA65Ac7134","status":"current","keccak256":"0xc4e328478f9c625bb34c4f019040afd62b9dfb8f03882727e39888d3173f09a9"},"SignedSafeDecimalMath":{"address":"0xbFe5dA86981e2dB461bd85D31795aD233748EE32","status":"current","keccak256":"0x0ddaacba077350bf0186ddf53ac5128dfc1de2b4a7e845ab15be49e78f96b5c9"},"AddressResolver":{"address":"0x0C80ff30d1e09135ec60cfe52B2c2EaE1B2f42AB","status":"current","keccak256":"0x35d519080f147ad38577389febe2755409164c005ed06dd7bc4da398fd892542"},"ReadProxyAddressResolver":{"address":"0x58719E8Ef4d201541e44505a2ACB3424481d6681","status":"current","keccak256":"0xe3f1ef97378050b355b6abd615ecb4fd202806b774355b944c04bb4365691366"},"OneNetAggregatorIssuedSynths":{"address":"0xBE14c5803Fa245C5e8c70d5050a076Baaa52956c","status":"current","keccak256":"0x959b4559678871198948ef9575cf1315a6e21622566910cb9701932eae7d1383"},"OneNetAggregatorDebtRatio":{"address":"0x409b427d6c8227eeCb4079EF74A6F9224297E19E","status":"current","keccak256":"0x994be6f6eed9898df0c0cecd861af969ec985252ff4814ebc380fab77ed3e455"},"OneNetAggregatorsDEFI":{"address":"0xA43Ba9F2A27F5Fe86c7A8Fe4A75d42F4d2Cf6358","status":"current","keccak256":"0x5b5d345731005a6932760cc76f2a390544cae09c21f7141f4ebeca21f9248692"},"FlexibleStorage":{"address":"0x485f9215839a122A3EF7c412B25931C6FeC02A45","status":"current","keccak256":"0x2efea714a8404eb6d7c2d2cfb32dfa5621c633d80df8da1dbde6d8ecf5d44d6c"},"SystemSettings":{"address":"0x1816A4Cf73C94D0107d066ef3DE0efc18C47E4FA","status":"current","keccak256":"0xc78f371d395251ef1ee8c1305b485d38f084d31530560e802f5fc5147fe83451"},"SystemStatus":{"address":"0x31541f35F6Bd061f4A894fB7eEE565f81EE50df3","status":"current","keccak256":"0xd4ba3b8b574c2795ec994981815bdb6518da848579d169e419a906f4909ab8e1"},"ExchangeRates":{"address":"0x688E9e6F458167Dc653b24a8A41Cfd152e6A3922","status":"replaced","keccak256":"0x9fb8d0d51946d910dbfd56df99d6604955b629ebe88affd4eab5cac0801ce350","replaced_in":"v2.75.0-alpha"},"RewardEscrow":{"address":"0x249BCCbFD33FA6653Db02aE2349444EF25E9B41d","status":"current","keccak256":"0x33b8f8c59f0745640dcf58b0ac327fcac9a71797de84c019d3a2959448d6dfa7"},"RewardEscrowV2":{"address":"0xDA99793491559d22e2C8c216Bec3Ea1ACb4F90B3","status":"current","keccak256":"0xef4f75fbbc7ec6bd6f0e30ec3a1c2cf4c95a25b673ce8e66ebf857b14b48541a"},"SynthetixEscrow":{"address":"0xD1F9481B1df0401FEB40667b10f2D0AAEc81cd34","status":"current","keccak256":"0x08b4c3a794877029f2128ba27c902e1e4914b11a477671aa6406f8e0df7e5ee5"},"SynthetixState":{"address":"0xcbcFB6E2d8517DB83BedB30f79D5197607207A2c","status":"current","keccak256":"0x425dc3543ce86f613a6812e717c7d3cb5f5bc71fbc0e53f95c369fff24d1e095"},"SynthetixDebtShare":{"address":"0x671C874C43B571878D6a90C5AA27288096eEac21","status":"current","keccak256":"0xcd6ce44360ada42085ce64977f0bf0e8df4d8d67f7c8c2e68c851bc66fb13569"},"ProxyFeePool":{"address":"0x4FC6f7C8Ff4f0D535315F1E6e84897c89367b47E","status":"current","keccak256":"0x9cd0d0395df499dcf3e2350ef414bd76e2e50c0577b5b16425bc940b388740e6"},"DelegateApprovalsEternalStorage":{"address":"0xbEFd5Fbea0665E94F025d6eC0BdDd6694ce947F4","status":"current","keccak256":"0x83105a5146dabddd69d37dcc5711a2843d7f386da3fd83eef33f7ffb3499e52d"},"DelegateApprovals":{"address":"0xf053f15a780C40A4aBa0E50EB09e3C2dc0Ed4Fae","status":"current","keccak256":"0x96e174d2144e399a32cc96afc4188effb4ccff60301b076ff47b76e2dcc7fa19"},"Liquidator":{"address":"0x280E5dFaA78CE685a846830bAe5F2FD21d6A3D89","status":"current","keccak256":"0xa3a41743153253716b71351c31afaf62b73618b17ad371835fb745c358cfc7da"},"LiquidatorRewards":{"address":"0x601A1Cf1a34d9cF0020dCCD361c155Fe54CE24fB","status":"current","keccak256":"0xc2680fbb6e7f60f86c78f7d50a64ef26fd0103b61068e926359a17cfe6f81ff9"},"FeePoolEternalStorage":{"address":"0x5cB8210159f486dFE8Dc779357ee5A15B8f233bC","status":"current","keccak256":"0x533862cbdc91f38f10c4f0aec20323e6b5e0365cb643299cd30975e74cd42172"},"FeePool":{"address":"0x9D9aAf3ED4E4A708834F148f9b9d0d12Ba0a8034","status":"current","keccak256":"0x9caf5c8c01154e06ee890ee7fa87f5783aa24ced74e56a7dfc439bf48f611d51"},"FeePoolState":{"address":"0x7F4a3D2d0e45ECD301Be8a181c3911677c353C85","status":"current","keccak256":"0x1a038ca409a4cae2dc3d661bb1b2dc770ebb3d32be4cd585e6d7749b636ab5a8"},"RewardsDistribution":{"address":"0x882eaF70e172b8543145811c5fE169d03740ba9a","status":"current","keccak256":"0xc79e92b862775aca623f79001f3de3f19b910d892ac16293fda30c0b5f0e6dbb"},"TokenStateSynthetix":{"address":"0xe842C91A5D2BCE122d89497f171d81067255Ad0d","status":"current","keccak256":"0xaaf8c22691420fa9324eaefe80d367c9e56ff1c9389a5de25fa72c8fc5785524"},"ProxySynthetix":{"address":"0x51f44ca59b867E005e48FA573Cb8df83FC7f7597","status":"current","keccak256":"0x450f870a93352e0feae6dfb45be1371d9e0dcb42c57b8795f2392ccf7ec6b87a"},"Synthetix":{"address":"0x3bb42074eca321dc3F328A1a6CC7851fBE31459F","status":"current","keccak256":"0xf00660ef25f409118798c084d386e09132dd4ea32937ae59f1a820471138a98c"},"DebtCache":{"address":"0xc30BECA82f1f60DC0e4d3490428525985eef4D74","status":"current","keccak256":"0x1b9c04bb4f26508f6bcbcb405a93eefd824ea126927594c2a4d77a151a82fcc3"},"Exchanger":{"address":"0x3Bf72348b92c1d6A794a3De46e93ba8E29e2B9C4","status":"current","keccak256":"0x3c88109eea8348df2f2454c8ebb247623da50961ac0c3c8fbd81e3cf28b676f2"},"ExchangeCircuitBreaker":{"address":"0xf1D0Ee19af243bcbC140A2259290B490E4df92A9","status":"current","keccak256":"0x0dcef4c8dd9b612a811101aec0e0832df081b14a2660d6e90e438721111bfba4"},"VirtualSynthMastercopy":{"address":"0x1f6b96d2e7a5D70777D2A9c52215044FB3f40D37","status":"current","keccak256":"0x7d32a75e35aa03cf486657bd948543d76bab6fbec3b6df4d61b35ba660a02648"},"ExchangeState":{"address":"0x4023B3Bf1749725584B0a467406C5bb24DA3AC4e","status":"current","keccak256":"0x8075540266120a2a05c7ba8aee8642b3f188ef69709d8766535280382c64ff26"},"Issuer":{"address":"0x6729c3a22eA0D1735d91cCB661dB48E8dB9b2125","status":"current","keccak256":"0x269831f8c2f3fe01a4d4a7a2cdfa2642fa93aa7d024ec05506b19b971a5dff81"},"TradingRewards":{"address":"0x6eab29a0904d0fd964AdE1F6c3ab1584E36602aE","status":"current","keccak256":"0xf86e04577f564cd8f3ece6ed3f28657ba63ce8d0d6857e071bc1822103a377a9"},"SupplySchedule":{"address":"0x3e5baba6b1467e8c93294F7a4cdA8fDA688E9Bf2","status":"current","keccak256":"0x55ec23eabdce0645b6751a489802a52eb7bdcd9ed7762df2f52c68b74dbccb62"},"EscrowChecker":{"address":"0x2743DB52d841Ea617B0528aB0AfeF58d355f0621","status":"current","keccak256":"0x585b5a341bff3143d0959456d5afd8afe063c013e7437ac5a2aa8fb8cad4471d"},"SynthetixBridgeToOptimism":{"address":"0x1427Bc44755d9Aa317535B1feE38922760Aa4e65","status":"current","keccak256":"0xd329450021c27c2d4b152e59f4003ea4ce2cd0f0981f772f6bbe58ed91d687e4"},"SynthetixBridgeEscrow":{"address":"0xD134Db47DDF5A6feB245452af17cCAf92ee53D3c","status":"current","keccak256":"0x3fdbcffed76559710f57c08028253e36676dd2431ebffe71dfdabda5eb4e3640"},"OwnerRelayOnEthereum":{"address":"0xFdB31235cDFe68bfFD1d687AC3A2b31E80eacf0d","status":"current","keccak256":"0xffa34508530b78f03dd912183d726fad1427356f45ea5150f8b885510b8e2dc2"},"SynthRedeemer":{"address":"0x32A0BAA5Acec418a85Fd032f0292893B8E4f743B","status":"current","keccak256":"0x6183c39a5db747b0fbd7f6fb6a91de16fa64637f244497f8ab9b4cb68bb28b58"},"WrapperFactory":{"address":"0xa69768003543eBe5DD91E787278D99FfF9aD6095","status":"current","keccak256":"0x0f35b4d59bcbb3b0e37dd3f4c7fd4a1e747ab05bbd888f51fbf1c7c1f5c91955"},"TokenStatesUSD":{"address":"0x5F0CCaBe97bF838c777F08702E17EC300FF78cD0","status":"current","keccak256":"0xd22abb3b26a3a908924ea980e019c9e61bb2e80be675db7ff683d4f64c1e66f2"},"ProxysUSD":{"address":"0xB1f664162c0269A469a699709D37cc5739379dD1","status":"current","keccak256":"0x450f870a93352e0feae6dfb45be1371d9e0dcb42c57b8795f2392ccf7ec6b87a"},"SynthsUSD":{"address":"0xE73091962DA7e9996Bc7eBA9B4ad27390c8CD7Da","status":"current","keccak256":"0xd33c1c29758aa52cb5ee3b53e5bbb08f2183284029411acbe107114050280080"},"TokenStatesETH":{"address":"0x6BB584b67Fc54B4C0449625711A341a767f87B94","status":"current","keccak256":"0xd22abb3b26a3a908924ea980e019c9e61bb2e80be675db7ff683d4f64c1e66f2"},"ProxysETH":{"address":"0x37216d2366B68Bd8bC64Eb01B83EFA765C21b483","status":"current","keccak256":"0x450f870a93352e0feae6dfb45be1371d9e0dcb42c57b8795f2392ccf7ec6b87a"},"SynthsETH":{"address":"0xB7774b79f83191eFF5F159889d1e7A5A242e2244","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"},"Depot":{"address":"0x9B79D6dFe4650d70f35dbb80f7d1EC0Cf7f823Fd","status":"current","keccak256":"0x532f46da9667b29230f83b9cd5d13e3b0a31871fc15a900bbec86d9e65d6ec1c"},"EtherWrapper":{"address":"0x4556b9761b2aC071D1665FAe01faA255a53d1307","status":"current","keccak256":"0x735b00be281935cd3033feb98e5bcfa1b48e1cd875aef07ac52292c2b64580e7"},"NativeEtherWrapper":{"address":"0x3b820F825088DB6cD6E118C0c9B39755859932a9","status":"current","keccak256":"0xeea61ae8f28a1dde820319db5eaa9fe113c50c8ac13b55a9ba5dda22750b0e54"},"CollateralUtil":{"address":"0x814AAB41E07D2c3fA53C0c6f3002cD654a4489EE","status":"current","keccak256":"0x8711405f6eb962d12328cc6f1970f8f273672c87540d3eb0bb35c44348f273a5"},"CollateralManagerState":{"address":"0x66f040F0ba81eEe22EcAa8a20219E226be7cCBE3","status":"current","keccak256":"0x210a4faf451d7b80405d09bb8598c161c8462d3a92d8951c302113d85c4cd261"},"CollateralManager":{"address":"0x86bfC5Be44f5DE1673824c0d0d1CCEA1306cD40e","status":"current","keccak256":"0xc89296438ad24ebea46aa5280ae3124eccabb3b24cb72abc2d1453ce133dface"},"CollateralEth":{"address":"0x7D2bEB18a21468808E16fD1fbe9637eFa98D0777","status":"current","keccak256":"0x7c5832dafac85bbe9d925ab5f06caf447af275c328683ee72791e0f09cc02f7a"},"CollateralErc20":{"address":"0x0376Bdaf9C97E2e454C83e728154eC621df23958","status":"current","keccak256":"0xf814d9d47e79cba2dcd4cbab82c02b9b932dfc4b8c09a430012202e5fd64c08b"},"CollateralShort":{"address":"0x6d20C286D94a603A1cdE80D1f8e5f44Bc22550C0","status":"current","keccak256":"0xbb1284a2ba24a77308a7228d538fbaf851bc26561a9e0aff784f9216b8f0a4e9"},"FuturesMarketManager":{"address":"0x55Bc4475e73E32255D3825fbD44cF5467950F33E","status":"current","keccak256":"0x70d93adddedc13bddf1a98d5846f06736949d0d26d0547bacc656be9ee829055"},"SynthUtil":{"address":"0x492395BA6866EF703DA49667fF92Cb8551e7a2D1","status":"current","keccak256":"0x3e860c4917122cf1ce46047a3c3839cbe2ef5b3767b2c1ce953f83d71769a981"},"DappMaintenance":{"address":"0xBDe6A172C2a4475C74DA4eAC3950ef2FDAc626Dc","status":"current","keccak256":"0xf9e5dcfe099cb2ff62a5b4caf4b7902a7ef1fc64c325f69423c3dd825ccd8a86"},"TokenStatesBTC":{"address":"0xA8Fd421326586c440b76aC07B6b48fcD11Dc475e","status":"current","keccak256":"0xd22abb3b26a3a908924ea980e019c9e61bb2e80be675db7ff683d4f64c1e66f2"},"ProxysBTC":{"address":"0xf04fD9A2C265E7828832E9EFb01474b686CacD14","status":"current","keccak256":"0x450f870a93352e0feae6dfb45be1371d9e0dcb42c57b8795f2392ccf7ec6b87a"},"SynthsBTC":{"address":"0xD511a29AFF50503cCaF476EF9ebdd18Cbab1422c","status":"current","keccak256":"0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe"}}},"v2.75.0-alpha":{"tag":"v2.75.0-alpha","fulltag":"v2.75.0-alpha","release":"Tiaki","network":"goerli","date":"2022-07-27T15:11:04-04:00","commit":"5629f1c183f65a7059db2c169e4308a485d15d5f","contracts":{"ExchangeRates":{"address":"0xC737F9609bd63658C6854b4c2779b9681931D206","status":"current","keccak256":"0xfec05faecf82227e8f3957c8c66047e96c24defa8fd9e92099bd63b7c905828d"}}}}')},function(e){e.exports=JSON.parse('[{"name":"sUSD","asset":"USD","subclass":"MultiCollateralSynth"},{"name":"sETH","asset":"ETH","subclass":"MultiCollateralSynth"},{"name":"sBTC","asset":"BTC","subclass":"MultiCollateralSynth"},{"name":"sBNB","asset":"BNB","subclass":"MultiCollateralSynth"},{"name":"sAVAX","asset":"AVAX","subclass":"MultiCollateralSynth"},{"name":"sDOT","asset":"DOT","subclass":"MultiCollateralSynth"},{"name":"sMatic","asset":"MATIC","subclass":"MultiCollateralSynth"}]')},function(e){e.exports=JSON.parse("[]")},function(e){e.exports=JSON.parse('{"SNX":{"asset":"SNX"}}')},function(e,a,t){e.exports={deployment:t(188),versions:t(189),synths:t(190),rewards:t(191),feeds:t(192)}},function(e){e.exports=JSON.parse('{"targets":{"SafeDecimalMath":{"name":"SafeDecimalMath","address":"0x593Be683204fF3501e6e4851956a2Da310e393b6","source":"SafeDecimalMath"},"Math":{"name":"Math","address":"0xee5cFeEA2caC5F3A13DB1193c211C7bfA5c03dF0","source":"Math"},"SystemSettingsLib":{"name":"SystemSettingsLib","address":"0xf7827eAc369894FC7A7c0f06479a73073FcDBd6c","source":"SystemSettingsLib"},"SignedSafeDecimalMath":{"name":"SignedSafeDecimalMath","address":"0xbFe5dA86981e2dB461bd85D31795aD233748EE32","source":"SignedSafeDecimalMath"},"AddressResolver":{"name":"AddressResolver","address":"0xE9dB0411cf8C0981067FCbF1445c720B03119391","source":"AddressResolver"},"ReadProxyAddressResolver":{"name":"ReadProxyAddressResolver","address":"0x58719E8Ef4d201541e44505a2ACB3424481d6681","source":"ReadProxy"},"OneNetAggregatorIssuedSynths":{"name":"OneNetAggregatorIssuedSynths","address":"0xecE3b70733EA7A8512bC3065702ACfCc6E13c116","source":"OneNetAggregatorIssuedSynths"},"OneNetAggregatorDebtRatio":{"name":"OneNetAggregatorDebtRatio","address":"0x409b427d6c8227eeCb4079EF74A6F9224297E19E","source":"OneNetAggregatorDebtRatio"},"OneNetAggregatorsDEFI":{"name":"OneNetAggregatorsDEFI","address":"0xA43Ba9F2A27F5Fe86c7A8Fe4A75d42F4d2Cf6358","source":"OneNetAggregatorsDEFI"},"FlexibleStorage":{"name":"FlexibleStorage","address":"0x6E2934620CFc72DD8b319d9358Fb122997c7123C","source":"FlexibleStorage"},"SystemSettings":{"name":"SystemSettings","address":"0xE41828f9Fa934A52cBcd4A74e5844a3cBF10f7Fc","source":"SystemSettings"},"SystemStatus":{"name":"SystemStatus","address":"0x03e247CEEB5f7caBD9D278A6B08B59DC47573b7B","source":"SystemStatus"},"ExchangeRates":{"name":"ExchangeRates","address":"0x9495E6f9c6cdF75a46f594418Fbb8a9f4Fc799F0","source":"ExchangeRatesWithDexPricing"},"RewardEscrow":{"name":"RewardEscrow","address":"0xd435461f7521b7647D2ad39F8DD4903C2e7f407d","source":"RewardEscrow"},"RewardEscrowV2":{"name":"RewardEscrowV2","address":"0xF844f12E4357e9fC926ED332E9379D61b6E95E2B","source":"RewardEscrowV2"},"RewardEscrowV2Manager":{"name":"RewardEscrowV2Manager","address":"0x6371e703Ba05432906fB010379AE94C9da73b507","source":"RewardEscrowV2Manager"},"SynthetixEscrow":{"name":"SynthetixEscrow","address":"0xC6a2a938F8ae3dE8Ee5e26938098Acb961CBCdA8","source":"SynthetixEscrow"},"SynthetixState":{"name":"SynthetixState","address":"0xcbcFB6E2d8517DB83BedB30f79D5197607207A2c","source":"SynthetixState"},"SynthetixDebtShare":{"name":"SynthetixDebtShare","address":"0x38A37f7A044cdCe7DE92214feC1a6B58d4984d04","source":"SynthetixDebtShare"},"ProxyFeePool":{"name":"ProxyFeePool","address":"0x9333da04c6BC03111E458C1ff717d2A64fD56590","source":"Proxy"},"DelegateApprovalsEternalStorage":{"name":"DelegateApprovalsEternalStorage","address":"0x84d1E9847cb8d7e0e31C6fd06bd26B4031049138","source":"EternalStorage"},"DelegateApprovals":{"name":"DelegateApprovals","address":"0x7F4D6d314aEb6fCa6a2aeB330260B2B7fc66E38B","source":"DelegateApprovals"},"Liquidator":{"name":"Liquidator","address":"0x792525d8c0B230F0cF768fD0fc74847890e8EB9F","source":"Liquidator"},"LiquidatorRewards":{"name":"LiquidatorRewards","address":"0x5A1E3158DadB68BF74dF6F3729ba72Acc4e7a5b3","source":"LiquidatorRewards"},"LiquidatorRewardsManager":{"name":"LiquidatorRewardsManager","address":"0x03cc0484A774Eca797262A5a4d43BC18ED56709E","source":"LiquidatorRewardsManager"},"FeePoolEternalStorage":{"name":"FeePoolEternalStorage","address":"0xA3777b70D9801826d32cAbA4cFBe336837A0CF07","source":"FeePoolEternalStorage"},"FeePool":{"name":"FeePool","address":"0xAa3016F425Bfb0a282A8b259f274cf1495F4b127","source":"FeePool"},"FeePoolState":{"name":"FeePoolState","address":"0x7F4a3D2d0e45ECD301Be8a181c3911677c353C85","source":"FeePoolState"},"RewardsDistribution":{"name":"RewardsDistribution","address":"0x1E9f90cD112c2E3a4FB2951dd05CB35EA3C367D5","source":"RewardsDistribution"},"TokenStateSynthetix":{"name":"TokenStateSynthetix","address":"0x51c8a8E3307E72bF9B65f044051814426f934e9C","source":"LegacyTokenState"},"ProxySynthetix":{"name":"ProxySynthetix","address":"0xB74f028b325981f09eee5635b0391bC5eF3F3Da9","source":"ProxyERC20"},"Synthetix":{"name":"Synthetix","address":"0xB74f028b325981f09eee5635b0391bC5eF3F3Da9","source":"Synthetix"},"DebtCache":{"name":"DebtCache","address":"0xe143E07a1400CD49c9953449fEf820135566ae98","source":"DebtCache"},"Exchanger":{"name":"Exchanger","address":"0x2d757FCdB5347458cFcb7E8fC572aBA7212ab775","source":"ExchangerWithFeeRecAlternatives"},"ExchangeCircuitBreaker":{"name":"ExchangeCircuitBreaker","address":"0x5c4e51A094658c4DDFBe578C9D4bB50e92f31981","source":"ExchangeCircuitBreaker"},"VirtualSynthMastercopy":{"name":"VirtualSynthMastercopy","address":"0x381f09C9CF5b5Be0af7F66167349343AFCD8E0aF","source":"VirtualSynthMastercopy"},"ExchangeState":{"name":"ExchangeState","address":"0xb694EFB9b923a9F811a75539d02fA2324D8c8794","source":"ExchangeState"},"Issuer":{"name":"Issuer","address":"0x93cADdbb3878092Ee416fE11c2cc281C1a8425C2","source":"Issuer"},"IssuedSynthAggregator":{"name":"IssuedSynthAggregator","address":"0x7223E89340B600Ff4F76C2eca648A454965BcD2d","source":"IssuedSynthAggregator"},"TradingRewards":{"name":"TradingRewards","address":"0x2cBCCcA083b46AF4fB3AE0BF68aE32f4E4ae6818","source":"TradingRewards"},"SupplySchedule":{"name":"SupplySchedule","address":"0x791CceE29Bc2477Efa1b25148c1b948B6e7c45f7","source":"SupplySchedule"},"EscrowChecker":{"name":"EscrowChecker","address":"0x3C2dd2989f600b9bCd8F0Ce5eC10154d789B9250","source":"EscrowChecker"},"SynthetixBridgeToOptimism":{"name":"SynthetixBridgeToOptimism","address":"0x9A4D7540E8679645Af703FE62CbFF30B2ff2092C","source":"SynthetixBridgeToOptimism"},"SynthetixBridgeEscrow":{"name":"SynthetixBridgeEscrow","address":"0x3CC3B15e24C5Cf2a6eE9cfF998A844280AD85683","source":"SynthetixBridgeEscrow"},"OwnerRelayOnEthereum":{"name":"OwnerRelayOnEthereum","address":"0xFdB31235cDFe68bfFD1d687AC3A2b31E80eacf0d","source":"OwnerRelayOnEthereum"},"SynthRedeemer":{"name":"SynthRedeemer","address":"0x249E5860fC63b748443d0ec6174d939785536981","source":"SynthRedeemer"},"WrapperFactory":{"name":"WrapperFactory","address":"0x87076a60815c9aa137C0844Fd8DC28F697F612D3","source":"WrapperFactory"},"SynthrBridge":{"name":"SynthrBridge","address":"0xb92DE63eb7D8A652bF80385906812F92D49C5139","source":"SynthrBridge"},"TokenStatesUSD":{"name":"TokenStatesUSD","address":"0xE1eA2E219Cd74E6bc8d7766Eb61CABf203C1E39E","source":"TokenState"},"ProxysUSD":{"name":"ProxysUSD","address":"0xF53C5Dff635c44B30A171d4c18F25Ce9EF9aA459","source":"ProxyERC20"},"SynthsUSD":{"name":"SynthsUSD","address":"0x3df7DAc5f0caE13C665a512787c23299Dcc2FD09","source":"Synth"},"TokenStatesDOT":{"name":"TokenStatesDOT","address":"0xB027C2149dbb164e78AA7197fd5ec101e7B25bBd","source":"TokenState"},"ProxysDOT":{"name":"ProxysDOT","address":"0x1158916883760c261E44B00b3f0b614bbAf89413","source":"ProxyERC20"},"SynthsDOT":{"name":"SynthsDOT","address":"0xb2602610469CdC621280e5EBd6485e74b0d7ac1E","source":"MultiCollateralSynth"},"Depot":{"name":"Depot","address":"0x92cE92e37090364B4711964E6cd1965eEa356C64","source":"Depot"},"EtherWrapper":{"name":"EtherWrapper","address":"0x4556b9761b2aC071D1665FAe01faA255a53d1307","source":"EtherWrapper"},"NativeEtherWrapper":{"name":"NativeEtherWrapper","address":"0x3b820F825088DB6cD6E118C0c9B39755859932a9","source":"NativeEtherWrapper"},"CollateralUtil":{"name":"CollateralUtil","address":"0x814AAB41E07D2c3fA53C0c6f3002cD654a4489EE","source":"CollateralUtil"},"CollateralManagerState":{"name":"CollateralManagerState","address":"0x870CaAfab80361Ff458E5743e8E720d27Be88932","source":"CollateralManagerState"},"CollateralManager":{"name":"CollateralManager","address":"0xD109821a33dF01773f7841FEb0438Cc7eEE4eb87","source":"CollateralManager"},"CollateralEth":{"name":"CollateralEth","address":"0x8Ece5e21BF2CD01CA48320F3469969aC8503d89A","source":"CollateralEth"},"CollateralErc20":{"name":"CollateralErc20","address":"0xA8A2bFE97c51bB83e21bF0405e98CF9D8eFB2674","source":"CollateralErc20"},"CollateralShort":{"name":"CollateralShort","address":"0x6d20C286D94a603A1cdE80D1f8e5f44Bc22550C0","source":"CollateralShort"},"FuturesMarketManager":{"name":"FuturesMarketManager","address":"0xC727039bF71D021f1Ea1a84FA21c81eb4472c84d","source":"EmptyFuturesMarketManager"},"SynthUtil":{"name":"SynthUtil","address":"0x6BA076942D3862bBc7DC2E7a8D20eD39e36AE817","source":"SynthUtil"},"DappMaintenance":{"name":"DappMaintenance","address":"0x29A2CAfD898B7A24A6Ec3eA97d8C7b07958eC560","source":"DappMaintenance"},"TokenStatesBTC":{"name":"TokenStatesBTC","address":"0x4930E28CC58A2Caa9533dA4cC3FB2471876D7481","source":"TokenState"},"ProxysBTC":{"name":"ProxysBTC","address":"0xb9B0ED7fBAb3EE7D3E47D3BdEC273AD79f151049","source":"ProxyERC20"},"SynthsBTC":{"name":"SynthsBTC","address":"0x3924AE319c4896b138a1C13f341e51adAA05e8d5","source":"MultiCollateralSynth"},"TokenStatesAVAX":{"name":"TokenStatesAVAX","address":"0x9930393889fDC1e2AdE39AFCe30Dfe688826196f","source":"TokenState"},"ProxysAVAX":{"name":"ProxysAVAX","address":"0x8c7010c2DE7e56B70008445937BbD786dEbBCA3A","source":"ProxyERC20"},"SynthsAVAX":{"name":"SynthsAVAX","address":"0xB56fbf6C2Bf372305Aa6f751F045cb183E6c5318","source":"MultiCollateralSynth"},"TokenStatesBNB":{"name":"TokenStatesBNB","address":"0xf608D873f7DAC5DFB03ece090beBcb5d7851A0c6","source":"TokenState"},"ProxysBNB":{"name":"ProxysBNB","address":"0x10c3e80af8D60478f3d57d3034F4902126f132fc","source":"ProxyERC20"},"SynthsBNB":{"name":"SynthsBNB","address":"0x105C63B0aA644ED0E8d78d4cd62a71f0dd4D339C","source":"MultiCollateralSynth"},"TokenStatesMATIC":{"name":"TokenStatesMATIC","address":"0xae951DdDf341a389C0Ce7034fb9013421Dc45E1e","source":"TokenState"},"ProxysMATIC":{"name":"ProxysMATIC","address":"0x2723559e93604317d098c4aD0c63305d1C4716c7","source":"ProxyERC20"},"SynthsMATIC":{"name":"SynthsMATIC","address":"0x88E51f364739b6Cb0de572aea92fd5793e0Ffd34","source":"MultiCollateralSynth"},"TokenStatesETH":{"name":"TokenStatesETH","address":"0x91FF5eA5c3bfFAE7C4Bd5013F8373EEe4C593DeE","source":"TokenState"},"ProxysETH":{"name":"ProxysETH","address":"0xBC7468137ECFcacEDe612089cFa361dBb9B82Fb2","source":"ProxyERC20"},"SynthsETH":{"name":"SynthsETH","address":"0xf41d104a039c6D603997188287B429b3b6D63534","source":"MultiCollateralSynth"},"SynthrAggregator":{"name":"SynthrAggregator","address":"0xC6c7eC1BDf142c107977e0fc1209E5cE749e3376","source":"SynthrAggregator"},"ExternWrappedStateToken":{"name":"ExternWrappedStateToken","address":"0x07D1694D8cE7F90a2Bc024F087854C59C661bf7F","source":"ExternWrappedStateToken"}},"sources":{"ExternWrappedStateToken":{"abi":[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_associatedContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"collateralCurrency","type":"address"}],"name":"CollateralCurrencyAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"address","name":"collateralCurrency","type":"address"}],"name":"CollateralCurrencyRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"_currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"SetCollateralBalance","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_collateralAddress","type":"address"},{"internalType":"bytes32","name":"_currencyKey","type":"bytes32"}],"name":"addCollateralCurrency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"availableCollateralCurrencies","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"collateralByIssuer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"collateralCurrency","outputs":[{"inter