text: /* @hash 389a1a76bd5b1158b377fc2432e0c752 */
  // tslint:disable
  /* eslint-disable */
  let sourceMapsIn = {};
  
  if (process.env.NODE_ENV !== 'production' || process.env.NEO_ONE_DEV === 'true') {
    sourceMapsIn = {
      ARW79N7gAWHytcWSkkXvwrJiR4FTyvf2f8: {
        mappings:
          'AAAA;AAqBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQF;AAAA;AAAA;AAAA;AAAA;AAES;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAP;AAAA;AAAA;AAFF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACkCE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACiB;AAAA;AAAA;AAAA;AAAA;AADjB;AAAA;AAAA;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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAC0B;AAAA;AAAA;AAAA;AAAA;AACnB;AAAA;AAqCP;AACS;AAAA;AAAA;AAAA;AAAA;AAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAH;AAA5B;AAAA;AAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAnC;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AArCO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAD;AAAC;AAAA;AAAA;AAAA;AAAD;AAAA;AAAA;AAAmB;AAAA;AAAG;AAAA;AAyC5B;AAA4B;AAAA;AAAA;AAAA;AAAA;AACnB;AAAA;AAAA;AAAA;AAAA;AAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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AA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACmrCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AFxxCgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAZ;AAAA;AAAA;AAAA;AAAM;AAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAD;AAAC;AAAA;AAAA;AAAA;AAAD;AAAA;AAAJ;AACkB;AAAA;AAAA;AAAA;AAAA;AAAV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAH;AAAA;AAAA;AAAA;AAAA;AAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAnCwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAD1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA1BF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUE;AAAA;AAAA;AAVF;AAUE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACE;AAAA;AA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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAC0B;AAAA;AAAA;AAAA;AAAA;AACnB;AAAA;AAqCP;AACS;AAAA;AAAA;AAAA;AAAA;AAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAH;AAA5B;AAAA;AAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAnC;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AArCO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAD;AAAC;AAAA;AAAA;AAAA;AAAD;AAAA;AAAA;AAAmB;AAAA;AAAG;AAAA;AAyC5B;AAA4B;AAAA;AAAA;AAAA;AAAA;AACnB;AAAA;AAAA;AAAA;AAAA;AAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAxB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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACmrCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AFxxCgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAZ;AAAA;AAAA;AAAA;AAAM;AAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAD;AAAC;AAAA;AAAA;AAAA;AAAD;AAAA;AAAJ;AACkB;AAAA;AAAA;AAAA;AAAA;AAAV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAH;AAAA;AAAA;AAAA;AAAA;AAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAnCwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAD1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA1BF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOE;AAAA;AAAA;AAPF;AAOE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAPF;AAWI;AAAA;AAAA;AAXJ;AAWI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAXJ;AAYI;AAAA;AAAA;AAZJ;AAYI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAZJ;AAaI;AAAA;AAAA;AAbJ;AAaI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAbJ;AAqBE;AAAA;AAAA;AArBF;AAqBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AArBF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAdA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA',
        names: [],
        sources: [
          '../neo-one/contracts/ICO.ts',
          '../neo-one/contracts/Token.ts',
          '../../../../../../neo-one-smart-contract/src/index.d.ts',
        ],
        sourcesContent: [
          "import {\n  Address,\n  Blockchain,\n  constant,\n  Deploy,\n  Fixed,\n  Hash256,\n  Integer,\n  LinkedSmartContract,\n  receive,\n  SmartContract,\n} from '@neo-one/smart-contract';\nimport { Token } from './Token';\n\nexport class ICO extends SmartContract {\n  public readonly properties = {\n    codeVersion: '1.0',\n    author: 'dicarlo2',\n    email: 'alex.dicarlo@neotracker.io',\n    description: 'NEO•ONE ICO',\n  };\n  public readonly amountPerNEO = 10;\n  private mutableRemaining: Fixed<8> = 10_000_000_000_00000000;\n\n  public constructor(\n    public readonly owner: Address = Deploy.senderAddress,\n    public readonly startTimeSeconds: Integer = Blockchain.currentBlockTime,\n    public readonly icoDurationSeconds: Integer = 157700000,\n  ) {\n    super();\n    if (!Address.isCaller(owner)) {\n      throw new Error('Sender was not the owner.');\n    }\n  }\n\n  @constant\n  public get remaining(): Fixed<8> {\n    return this.mutableRemaining;\n  }\n\n  @receive\n  public mintTokens(): void {\n    if (!this.hasStarted() || this.hasEnded()) {\n      throw new Error('Invalid mintTokens');\n    }\n\n    const { references } = Blockchain.currentTransaction;\n    if (references.length === 0) {\n      throw new Error('Invalid mintTokens');\n    }\n    const sender = references[0].address;\n\n    let amount = 0;\n    // tslint:disable-next-line no-loop-statement\n    for (const output of Blockchain.currentTransaction.outputs) {\n      if (output.address.equals(this.address)) {\n        if (!output.asset.equals(Hash256.NEO)) {\n          throw new Error('Invalid mintTokens');\n        }\n\n        amount += output.value * this.amountPerNEO;\n      }\n    }\n\n    if (amount > this.remaining) {\n      throw new Error('Invalid mintTokens');\n    }\n\n    if (amount === 0) {\n      throw new Error('Invalid mintTokens');\n    }\n\n    const token = LinkedSmartContract.for<Token>();\n    if (!token.issue(sender, amount)) {\n      throw new Error('Invalid mintTokens');\n    }\n    this.mutableRemaining -= amount;\n  }\n\n  private hasStarted(): boolean {\n    return Blockchain.currentBlockTime >= this.startTimeSeconds;\n  }\n\n  private hasEnded(): boolean {\n    return Blockchain.currentBlockTime > this.startTimeSeconds + this.icoDurationSeconds;\n  }\n}\n",
          "import {\n  Address,\n  constant,\n  Contract,\n  createEventNotifier,\n  Fixed,\n  ForwardValue,\n  MapStorage,\n  SmartContract,\n} from '@neo-one/smart-contract';\n\nconst notifyTransfer = createEventNotifier<Address | undefined, Address | undefined, Fixed<8>>(\n  'transfer',\n  'from',\n  'to',\n  'amount',\n);\nconst notifyApproveSendTransfer = createEventNotifier<Address, Address, Fixed<8>>(\n  'approveSendTransfer',\n  'from',\n  'to',\n  'amount',\n);\nconst notifyRevokeSendTransfer = createEventNotifier<Address, Address, Fixed<8>>(\n  'revokeSendTransfer',\n  'from',\n  'to',\n  'amount',\n);\n\ninterface TokenPayableContract {\n  readonly approveReceiveTransfer: (\n    from: Address,\n    amount: Fixed<8>,\n    asset: Address,\n    // tslint:disable-next-line readonly-array\n    ...args: ForwardValue[]\n  ) => boolean;\n  readonly onRevokeSendTransfer: (from: Address, amount: Fixed<8>, asset: Address) => void;\n}\n\nexport class Token extends SmartContract {\n  public readonly properties = {\n    codeVersion: '1.0',\n    author: 'dicarlo2',\n    email: 'alex.dicarlo@neotracker.io',\n    description: 'NEO•ONE Token',\n  };\n  public readonly name = 'One';\n  public readonly symbol = 'ONE';\n  public readonly decimals = 8;\n  private readonly balances = MapStorage.for<Address, Fixed<8>>();\n  private readonly approvedTransfers = MapStorage.for<[Address, Address], Fixed<8>>();\n  private mutableSupply: Fixed<8> = 0;\n\n  @constant\n  public get totalSupply(): Fixed<8> {\n    return this.mutableSupply;\n  }\n\n  @constant\n  public balanceOf(address: Address): Fixed<8> {\n    const balance = this.balances.get(address);\n\n    return balance === undefined ? 0 : balance;\n  }\n\n  @constant\n  public approvedTransfer(from: Address, to: Address): Fixed<8> {\n    const approved = this.approvedTransfers.get([from, to]);\n\n    return approved === undefined ? 0 : approved;\n  }\n\n  // tslint:disable-next-line readonly-array\n  public transfer(from: Address, to: Address, amount: Fixed<8>, ...approveArgs: ForwardValue[]): boolean {\n    if (amount < 0) {\n      throw new Error(`Amount must be greater than 0: ${amount}`);\n    }\n\n    const fromBalance = this.balanceOf(from);\n    if (fromBalance < amount) {\n      return false;\n    }\n\n    const approved = this.approvedTransfer(from, to);\n    const reduceApproved = approved >= amount && Address.isCaller(to);\n    if (!reduceApproved && !Address.isCaller(from)) {\n      return false;\n    }\n\n    const contract = Contract.for(to);\n    if (contract !== undefined && !Address.isCaller(to)) {\n      const smartContract = SmartContract.for<TokenPayableContract>(to);\n      if (!smartContract.approveReceiveTransfer(from, amount, this.address, ...approveArgs)) {\n        return false;\n      }\n    }\n\n    const toBalance = this.balanceOf(to);\n    this.balances.set(from, fromBalance - amount);\n    this.balances.set(to, toBalance + amount);\n    notifyTransfer(from, to, amount);\n\n    if (reduceApproved) {\n      this.approvedTransfers.set([from, to], approved - amount);\n    }\n\n    return true;\n  }\n\n  public approveSendTransfer(from: Address, to: Address, amount: Fixed<0>): boolean {\n    if (amount < 0) {\n      throw new Error(`Amount must be greater than 0: ${amount}`);\n    }\n\n    if (!Address.isCaller(from)) {\n      return false;\n    }\n\n    this.approvedTransfers.set([from, to], this.approvedTransfer(from, to) + amount);\n    notifyApproveSendTransfer(from, to, amount);\n\n    return true;\n  }\n\n  public approveReceiveTransfer(_from: Address, _amount: Fixed<8>, _asset: Address): boolean {\n    return false;\n  }\n\n  public revokeSendTransfer(from: Address, to: Address, amount: Fixed<8>): boolean {\n    if (amount < 0) {\n      throw new Error(`Amount must be greater than 0: ${amount}`);\n    }\n\n    if (!Address.isCaller(from)) {\n      return false;\n    }\n\n    const approved = this.approvedTransfer(from, to);\n    if (approved < amount) {\n      return false;\n    }\n\n    this.approvedTransfers.set([from, to], approved - amount);\n    notifyRevokeSendTransfer(from, to, amount);\n\n    const contract = Contract.for(to);\n    if (contract !== undefined) {\n      const smartContract = SmartContract.for<TokenPayableContract>(to);\n      // NOTE: This should catch errors once we have stack isolation\n      smartContract.onRevokeSendTransfer(from, amount, this.address);\n    }\n\n    return true;\n  }\n\n  public onRevokeSendTransfer(_from: Address, _amount: Fixed<8>, _asset: Address): void {\n    // do nothing\n  }\n\n  public issue(to: Address, amount: Fixed<8>): boolean {\n    if (amount < 0) {\n      throw new Error(`Amount must be greater than 0: ${amount}`);\n    }\n\n    const toBalance = this.balanceOf(to);\n    this.balances.set(to, toBalance + amount);\n    notifyTransfer(undefined, to, amount);\n    this.mutableSupply += amount;\n\n    return true;\n  }\n}\n",
          "// tslint:disable\n/// <reference path=\"./global.d.ts\" />\n\n/**\n * Marks an interface or class as not implementable or extendable.\n *\n * Makes it an error to pass values that would otherwise match the shape of the interface.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Opaque-Tag-Symbol) chapter of the main guide for more information.\n */\ndeclare const OpaqueTagSymbol0: unique symbol;\n\n/**\n * `Buffer` that represents a NEO address.\n *\n * Stored as a script hash (Hash160) internally.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Value-Types) chapter of the main guide for more information.\n */\nexport const Address: AddressConstructor;\nexport interface Address extends Buffer {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface AddressConstructor {\n  /**\n   * Creates an `Address` from a literal string. Accepts either a NEO address or a script hash.\n   *\n   * @example\n   *\n   * const address = Address.from('ALq7AWrhAueN6mJNqk6FHJjnsEoPRytLdW');\n   *\n   * @example\n   *\n   * const address = Address.from('0xcef0c0fdcfe7838eff6ff104f9cdec2922297537');\n   *\n   * @param value Literal string for an `Address`.\n   * @returns `Address` for the specified `value`\n   */\n  readonly from: (value: string) => Address;\n  /**\n   * Verifies that the invocation was directly called AND approved by `Address`.\n   *\n   * Smart contracts should invoke this function before taking transferring items for `Address`es, like transferring tokens, that require the permission of the `Address`.\n   *\n   * @example\n   *\n   * if (!Address.isCaller(address)) {\n   *   return false;\n   * }\n   *\n   * @returns true if `Address` approves this invocation.\n   */\n  readonly isCaller: (address: Address) => boolean;\n  /**\n   * Verifies that the `Transaction` was signed by the `address`.\n   *\n   * In most cases, smart contracts should instead use `Address.isCaller`.\n   *\n   * @example\n   *\n   * if (!Address.isSender(address)) {\n   *   return false;\n   * }\n   *\n   * @returns true if `Address` signed this `Transaction`\n   */\n  readonly isSender: (address: Address) => boolean;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * `Buffer` that represents a NEO 256 bit hash.\n *\n * Examples of `Hash256` include `Block` hashes and `Transaction` hashes.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Value-Types) chapter of the main guide for more information.\n */\nexport const Hash256: Hash256Constructor;\nexport interface Hash256 extends Buffer {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface Hash256Constructor {\n  /**\n   * Creates a `Hash256` from a literal string.\n   *\n   * @example\n   *\n   * const hash = Hash256.from('0xd6572a459b95d9136b7a713c5485ca709f9efa4f08f1c25dd792672d2bd75bfb');\n   *\n   * @param value Literal string for a `Hash256`.\n   * @returns `Hash256` for the specified `value`\n   */\n  readonly from: (value: string) => Hash256;\n  /**\n   * `Hash256` of the NEO `Asset`.\n   */\n  readonly NEO: Hash256;\n  /**\n   * `Hash256` of the GAS `Asset`.\n   */\n  readonly GAS: Hash256;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * `Buffer` that represents a public key.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Value-Types) chapter of the main guide for more information.\n */\nexport const PublicKey: PublicKeyConstructor;\nexport interface PublicKey extends Buffer {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface PublicKeyConstructor {\n  /**\n   * Creates a `PublicKey` from a literal string.\n   *\n   * @example\n   *\n   * const publicKey = PublicKey.from('02028a99826edc0c97d18e22b6932373d908d323aa7f92656a77ec26e8861699ef');\n   *\n   * @param value Literal string for a `PublicKey`.\n   * @returns `PublicKey` for the specified `value`\n   */\n  readonly from: (value: string) => PublicKey;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\ninterface FixedTag<T extends number> {\n  readonly __decimals: T;\n}\n/**\n * Integer which represents a number with the specified decimals.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Tagged-Types) chapter of the main guide for more information.\n */\nexport type Fixed<Decimals extends number> = number | (number & FixedTag<Decimals>);\n/**\n * Integer that represents a number with 0 decimals.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Tagged-Types) chapter of the main guide for more information.\n */\nexport type Integer = Fixed<0>;\n/**\n * Integer that represents a number with 8 decimals.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Tagged-Types) chapter of the main guide for more information.\n */\nexport type Fixed8 = Fixed<8>;\n\n/**\n * `Attribute` usage flag indicates the type of the data.\n *\n * @see BufferAttributeUsage\n * @see PublicKeyAttributeUsage\n * @see AddressAttributeUsage\n * @see Hash256AttributeUsage\n */\nexport enum AttributeUsage {\n  ContractHash = 0x00,\n  ECDH02 = 0x02,\n  ECDH03 = 0x03,\n  Script = 0x20,\n  Vote = 0x30,\n  DescriptionUrl = 0x81,\n  Description = 0x90,\n  Hash1 = 0xa1,\n  Hash2 = 0xa2,\n  Hash3 = 0xa3,\n  Hash4 = 0xa4,\n  Hash5 = 0xa5,\n  Hash6 = 0xa6,\n  Hash7 = 0xa7,\n  Hash8 = 0xa8,\n  Hash9 = 0xa9,\n  Hash10 = 0xaa,\n  Hash11 = 0xab,\n  Hash12 = 0xac,\n  Hash13 = 0xad,\n  Hash14 = 0xae,\n  Hash15 = 0xaf,\n  Remark = 0xf0,\n  Remark1 = 0xf1,\n  Remark2 = 0xf2,\n  Remark3 = 0xf3,\n  Remark4 = 0xf4,\n  Remark5 = 0xf5,\n  Remark6 = 0xf6,\n  Remark7 = 0xf7,\n  Remark8 = 0xf8,\n  Remark9 = 0xf9,\n  Remark10 = 0xfa,\n  Remark11 = 0xfb,\n  Remark12 = 0xfc,\n  Remark13 = 0xfd,\n  Remark14 = 0xfe,\n  Remark15 = 0xff,\n}\n\n/**\n * `Attribute` usage flag indicating the data is an arbitrary `Buffer`\n *\n * @see BufferAttribute\n */\nexport type BufferAttributeUsage =\n  | AttributeUsage.DescriptionUrl\n  | AttributeUsage.Description\n  | AttributeUsage.Remark\n  | AttributeUsage.Remark1\n  | AttributeUsage.Remark2\n  | AttributeUsage.Remark3\n  | AttributeUsage.Remark4\n  | AttributeUsage.Remark5\n  | AttributeUsage.Remark6\n  | AttributeUsage.Remark7\n  | AttributeUsage.Remark8\n  | AttributeUsage.Remark9\n  | AttributeUsage.Remark10\n  | AttributeUsage.Remark11\n  | AttributeUsage.Remark12\n  | AttributeUsage.Remark13\n  | AttributeUsage.Remark14\n  | AttributeUsage.Remark15;\n/**\n * `Attribute` usage flag indicating the data is a `PublicKey`\n *\n * @see PublicKeyAttribute\n */\nexport type PublicKeyAttributeUsage = AttributeUsage.ECDH02 | AttributeUsage.ECDH03;\n/**\n * `Attribute` usage flag indicating the data is an `Address`\n *\n * @see AddressAttribute\n */\nexport type AddressAttributeUsage = AttributeUsage.Script;\n/**\n * `Attribute` usage flag indicating the data is a `Hash256`\n *\n * @see Hash256Attribute\n */\nexport type Hash256AttributeUsage =\n  | AttributeUsage.ContractHash\n  | AttributeUsage.Vote\n  | AttributeUsage.Hash1\n  | AttributeUsage.Hash2\n  | AttributeUsage.Hash3\n  | AttributeUsage.Hash4\n  | AttributeUsage.Hash5\n  | AttributeUsage.Hash6\n  | AttributeUsage.Hash7\n  | AttributeUsage.Hash8\n  | AttributeUsage.Hash9\n  | AttributeUsage.Hash10\n  | AttributeUsage.Hash11\n  | AttributeUsage.Hash12\n  | AttributeUsage.Hash13\n  | AttributeUsage.Hash14\n  | AttributeUsage.Hash15;\n\n/**\n * Base interface for `Attribute`s\n *\n * @see Attribute\n */\nexport const AttributeBase: AttributeBaseConstructor;\nexport interface AttributeBase {\n  readonly usage: AttributeUsage;\n  readonly data: Buffer;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface AttributeBaseConstructor {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * `Attribute` whose data is an arbitrary `Buffer`.\n */\nexport interface BufferAttribute extends AttributeBase {\n  readonly usage: BufferAttributeUsage;\n  readonly data: Buffer;\n}\n/**\n * `Attribute` whose data is a `PublicKey`.\n */\nexport interface PublicKeyAttribute extends AttributeBase {\n  readonly usage: PublicKeyAttributeUsage;\n  readonly data: PublicKey;\n}\n/**\n * `Attribute` whose data is an `Address`.\n */\nexport interface AddressAttribute extends AttributeBase {\n  readonly usage: AddressAttributeUsage;\n  readonly data: Address;\n}\n/**\n * `Attribute` whose data is a `Hash256`.\n */\nexport interface Hash256Attribute extends AttributeBase {\n  readonly usage: Hash256AttributeUsage;\n  readonly data: Hash256;\n}\n\n/**\n * `Attribute`s are used to store additional data on `Transaction`s. Most `Attribute`s are used to store arbitrary data, whereas some, like `AddressAttribute`, have specific uses in the NEO\n * protocol.\n */\nexport type Attribute = BufferAttribute | PublicKeyAttribute | AddressAttribute | Hash256Attribute;\n\n/**\n * `Output`s represent the destination `Address` and amount transferred of a given `Asset`.\n *\n * The sum of the unspent `Output`s of an `Address` represent the total balance of the `Address`.\n */\nexport const Output: OutputConstructor;\nexport interface Output {\n  /**\n   * Destination `Address`.\n   */\n  readonly address: Address;\n  /**\n   * `Hash256` of the `Asset` that was transferred.\n   */\n  readonly asset: Hash256;\n  /**\n   * Amount transferred.\n   */\n  readonly value: Fixed8;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface OutputConstructor {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * `Input`s are a reference to an `Output` of a `Transaction` that has been persisted to the blockchain. The sum of the `value`s of the referenced `Output`s is the total amount transferred in the `Transaction`.\n */\nexport const Input: InputConstructor;\nexport interface Input {\n  /**\n   * `Hash256` of the `Transaction` this input references.\n   */\n  readonly hash: Hash256;\n  /**\n   * `Output` index within the `Transaction` this input references.\n   */\n  readonly index: Integer;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface InputConstructor {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Constants that specify the type of a `Transaction`.\n */\nexport enum TransactionType {\n  /**\n   * First `Transaction` in each block which contains the `Block` rewards for the consensus node that produced the `Block`.\n   *\n   * @see MinerTransaction\n   */\n  Miner = 0x00,\n  /**\n   * Issues new currency of a first-class `Asset`.\n   *\n   * @see IssueTransaction\n   */\n  Issue = 0x01,\n  /**\n   * Claims GAS for a set of spent `Output`s.\n   *\n   * @see ClaimTransaction\n   */\n  Claim = 0x02,\n  /**\n   * Enrolls a new validator for a given `PublicKey`.\n   *\n   * @see EnrollmentTransaction\n   * @deprecated\n   */\n  Enrollment = 0x20,\n  /**\n   * Registers a new first class `Asset`\n   *\n   * @see RegisterTransaction\n   * @deprecated Replaced by `Client#registerAsset`\n   */\n  Register = 0x40,\n  /**\n   * Transfers first class `Asset`s\n   *\n   * @see ContractTransaction\n   */\n  Contract = 0x80,\n  State = 0x90,\n  /**\n   * Registers a new `Contract`\n   *\n   * @see PublishTransaction\n   * @deprecated Replaced by `Client#publish`\n   */\n  Publish = 0xd0,\n  /**\n   * Runs a script in the NEO VM.\n   *\n   * @see InvocationTransaction\n   */\n  Invocation = 0xd1,\n}\n\n/**\n * Base interface for all `Transaction`s.\n */\nexport const TransactionBase: TransactionBaseConstructor;\nexport interface TransactionBase {\n  /**\n   * `Hash256` of this `Transaction`.\n   */\n  readonly hash: Hash256;\n  /**\n   * Type of the `Transaction`.\n   *\n   * @see TransactionType\n   */\n  readonly type: TransactionType;\n  /**\n   * `Attribute`s attached to the `Transaction`.\n   *\n   * @see Attribute\n   */\n  readonly attributes: Attribute[];\n  /**\n   * `Output`s of the `Transaction`.\n   *\n   * @see Output\n   */\n  readonly outputs: Output[];\n  /**\n   * `Input`s of the `Transaction`.\n   *\n   * @see Input\n   */\n  readonly inputs: Input[];\n  /**\n   * Corresponding `Output`s for the `Input`s of the `Transaction`.\n   *\n   * @see Output\n   */\n  readonly references: Output[];\n  /**\n   * `Output`s which have not been spent.\n   *\n   * @see Output\n   */\n  readonly unspentOutputs: Output[];\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface TransactionBaseConstructor {}\n\n/**\n * First `Transaction` in each `Block` which contains the `Block` rewards for the consensus node that produced the `Block`.\n */\nexport interface MinerTransaction extends TransactionBase {\n  readonly type: TransactionType.Miner;\n}\n/**\n * Issues new currency of a first-class `Asset`.\n */\nexport interface IssueTransaction extends TransactionBase {\n  readonly type: TransactionType.Issue;\n}\n/**\n * Claims GAS for a set of spent `Output`s.\n */\nexport interface ClaimTransaction extends TransactionBase {\n  readonly type: TransactionType.Claim;\n}\n/**\n * Enrolls a new validator for a given `PublicKey`.\n *\n * @deprecated\n */\nexport interface EnrollmentTransaction extends TransactionBase {\n  readonly type: TransactionType.Enrollment;\n}\n/**\n * Registers a new first class `Asset`.\n *\n * @deprecated Replaced by `Client#registerAsset`\n */\nexport interface RegisterTransaction extends TransactionBase {\n  readonly type: TransactionType.Register;\n}\n/**\n * `Transaction` that transfers first class `Asset`s.\n */\nexport interface ContractTransaction extends TransactionBase {\n  readonly type: TransactionType.Contract;\n}\n/**\n * Contains the state of votes.\n */\nexport interface StateTransaction extends TransactionBase {\n  readonly type: TransactionType.State;\n}\n/**\n * Registers a new `Contract`\n *\n * @deprecated Replaced by `Client#publish`\n */\nexport interface PublishTransaction extends TransactionBase {\n  readonly type: TransactionType.Publish;\n}\n/**\n * `Transaction` which runs a script in the NEO VM.\n */\nexport interface InvocationTransaction extends TransactionBase {\n  readonly type: TransactionType.Invocation;\n  /**\n   * Code that was executed in NEO VM.\n   */\n  readonly script: Buffer;\n}\n/**\n * `Transaction`s are persisted to the blockchain and represent various functionality like transferring first class `Asset`s or executing smart contracts.\n *\n * Smart contracts are executed within an `InvocationTransaction`.\n *\n * @example\n *\n * const transactionHash = Hash256.from('0xd6572a459b95d9136b7a713c5485ca709f9efa4f08f1c25dd792672d2bd75bfb');\n * const transaction = Transaction.for(transactionHash);\n * const transactionOutputs = transaction.outputs;\n *\n */\nexport const Transaction: TransactionConstructor;\nexport type Transaction =\n  | MinerTransaction\n  | IssueTransaction\n  | ClaimTransaction\n  | EnrollmentTransaction\n  | RegisterTransaction\n  | ContractTransaction\n  | StateTransaction\n  | PublishTransaction\n  | InvocationTransaction;\nexport interface TransactionConstructor {\n  /**\n   * @returns `Transaction` for the specified `hash`.\n   */\n  readonly for: (hash: Hash256) => Transaction;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Balance and vote information for an `Address`.\n *\n * @example\n *\n * const address = Address.from('ALq7AWrhAueN6mJNqk6FHJjnsEoPRytLdW');\n * const account = Account.for(address);\n * const neoBalance = account.getBalance(Hash256.NEO);\n *\n */\nexport const Account: AccountConstructor;\nexport interface Account {\n  /**\n   * `Address` of this `Account`.\n   */\n  readonly address: Address;\n  /**\n   * Retrieve the balance for a first class `Asset` based on its `Hash256`.\n   */\n  readonly getBalance: (asset: Hash256) => Fixed8;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface AccountConstructor {\n  /**\n   * @returns `Account` for the specified `address`.\n   */\n  readonly for: (address: Address) => Account;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Constants that specify the type of the `Asset`.\n */\nexport enum AssetType {\n  Credit = 0x40,\n  Duty = 0x80,\n  /**\n   * Reserved for the NEO `Asset`.\n   */\n  Governing = 0x00,\n  /**\n   * Reserved for the GAS `Asset`.\n   */\n  Utility = 0x01,\n  Currency = 0x08,\n  Share = 0x90,\n  Invoice = 0x98,\n  Token = 0x60,\n}\n\n/**\n * Attributes of a first class asset.\n *\n * Smart contract authors will typically only interact with the NEO and GAS `Asset`s.\n *\n * @example\n *\n * const asset = Asset.for(Hash256.NEO);\n * const neoAmount = asset.amount;\n *\n */\nexport const Asset: AssetConstructor;\nexport interface Asset {\n  /**\n   * `Hash256` of this `Asset`.\n   */\n  readonly hash: Hash256;\n  /**\n   * `AssetType` of the `Asset`\n   *\n   * @see AssetType\n   */\n  readonly type: AssetType;\n  /**\n   * Total possible supply of the `Asset`\n   */\n  readonly amount: Fixed8;\n  /**\n   * Amount currently available of the `Asset`\n   */\n  readonly available: Fixed8;\n  /**\n   * Precision (number of decimal places) of the `Asset`\n   */\n  readonly precision: Integer;\n  /**\n   * Owner of the `Asset`.\n   */\n  readonly owner: PublicKey;\n  /**\n   * Admin of the `Asset`.\n   */\n  readonly admin: Address;\n  /**\n   * Issuer of the `Asset`.\n   */\n  readonly issuer: Address;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface AssetConstructor {\n  /**\n   * @returns `Asset` for the specified `hash`.\n   */\n  readonly for: (hash: Hash256) => Asset;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Attributes of a smart contract deployed to the blockchain.\n *\n * @example\n *\n * const contractAddress = Address.from('0xcef0c0fdcfe7838eff6ff104f9cdec2922297537');\n * const contract = Contract.for(contractAddress);\n * const contractScript = contract.script;\n *\n */\nexport const Contract: ContractConstructor;\nexport interface Contract {\n  /**\n   * `Contract` code.\n   */\n  readonly script: Buffer;\n  /**\n   * Flag that indicates if the `Contract` supports receiving `Asset`s.\n   */\n  readonly payable: boolean;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface ContractConstructor {\n  /**\n   * Returns `undefined` if a `Contract` does not exist at `address`.\n   *\n   * @returns `Contract` for the specified `address`.\n   */\n  readonly for: (address: Address) => Contract | undefined;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Attributes of a `Block` persisted to the blockchain. `Header` includes all information except the list of `Transaction`s.\n *\n * @example\n *\n * const blockHash = Hash256.from('0xd6572a459b95d9136b7a713c5485ca709f9efa4f08f1c25dd792672d2bd75bfb');\n * const header = Header.for(blockHash);\n *\n */\nexport const Header: HeaderConstructor;\nexport interface Header {\n  /**\n   * `Block` hash.\n   */\n  readonly hash: Hash256;\n  /**\n   * NEO blockchain version.\n   */\n  readonly version: Integer;\n  /**\n   * Previous `Block` hash.\n   */\n  readonly previousHash: Hash256;\n  /**\n   * `Block` index.\n   */\n  readonly index: Integer;\n  /**\n   * Root of the `Transaction` hash Merkle Tree.\n   */\n  readonly merkleRoot: Hash256;\n  /**\n   * `Block` time persisted.\n   */\n  readonly time: Integer;\n  /**\n   * Next consensus address.\n   */\n  readonly nextConsensus: Address;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface HeaderConstructor {\n  /**\n   * Accepts either the `Hash256` or the index of the `Block`.\n   *\n   * @returns `Header` for the specified `hashOrIndex`.\n   */\n  readonly for: (hashOrIndex: Hash256 | Integer) => Header;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Attributes of a `Block` persisted to the blockchain.\n *\n * @example\n *\n * const genesisBlock = Block.for(0);\n *\n */\nexport const Block: BlockConstructor;\nexport interface Block extends Header {\n  /**\n   * `Transaction`s contained in the `Block`.\n   */\n  readonly transactions: Transaction[];\n}\nexport interface BlockConstructor {\n  /**\n   * Accepts either the `Hash256` or the index of the `Block`.\n   *\n   * @returns `Block` for the specified `hashOrIndex`.\n   */\n  readonly for: (hashOrIndex: Hash256 | Integer) => Block;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Value that can be used as a key in `MapStorage` and a value for `SetStorage`.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage) chapter of the main guide for more information.\n */\nexport type SerializableKeySingle = number | string | boolean | Buffer;\ntype SK = SerializableKeySingle;\nexport type SerializableKey = SK | [SK, SK] | [SK, SK, SK] | [SK, SK, SK, SK];\nexport interface SerializableValueArray extends ReadonlyArray<SerializableValue> {}\nexport interface SerializableValueMap extends ReadonlyMap<SerializableKeySingle, SerializableValue> {}\nexport interface SerializableValueSet extends ReadonlySet<SerializableValue> {}\nexport interface SerializableValueObject {\n  readonly [key: string]: SerializableValue;\n}\n/**\n * Value that can be serialized for storage.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage) chapter of the main guide for more information.\n */\nexport type SerializableValue =\n  | undefined\n  | null\n  | number\n  | string\n  | boolean\n  | Buffer\n  | SerializableValueArray\n  | SerializableValueMap\n  | SerializableValueSet\n  | SerializableValueObject;\n\n/**\n * Persistent smart contract array storage. Only usable as a `SmartContract` property.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage#Structured-Storage) chapter of the main guide for more information.\n *\n * @example\n *\n * class MySmartContract extends SmartContract {\n *  private readonly pendingAddresses =\n *    ArrayStorage.for<Address>();\n *\n *  public addPendingAddress(address: Address): void {\n *    this.pendingAddresses.push(address);\n *  }\n * }\n *\n */\nexport const ArrayStorage: ArrayStorageConstructor;\nexport interface ArrayStorage<T extends SerializableValue> extends Iterable<T> {\n  readonly [Symbol.iterator]: () => IterableIterator<T>;\n  /**\n   * Gets the length of the array. This is a number one higher than the highest element defined in an array.\n   */\n  readonly length: number;\n  /**\n   * Executes a provided function once per each value in storage.\n   * @param callback function to execute for each element.\n   * @returns `undefined`\n   */\n  readonly forEach: (callback: (value: T, idx: number) => void) => void;\n  /**\n   * Appends new elements to storage, and returns the new length of the array.\n   * @param items New elements to add.\n   */\n  readonly push: (...items: T[]) => number;\n  /**\n   * Removes the last element from an array and returns it.\n   */\n  readonly pop: () => T | undefined;\n  /**\n   * Access the value at index `n`.\n   */\n  [n: number]: T;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface ArrayStorageConstructor {\n  /**\n   * Constructs a new `ArrayStorage` instance. Only usable as a `SmartContract` property.\n   */\n  for<T extends SerializableValue>(): ArrayStorage<T>;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\ntype SKMapAtTwo<K extends [SK, SK], V extends SerializableValue> = {\n  (prefix: K[0]): MapStorage<K[1], V>;\n};\ntype SKMapAtThree<K extends [SK, SK, SK], V extends SerializableValue> = {\n  (prefix: K[0]): MapStorage<[K[1], K[2]], V>;\n  (prefix: [K[0], K[1]]): MapStorage<K[2], V>;\n};\ntype SKMapAtFour<K extends [SK, SK, SK, SK], V extends SerializableValue> = {\n  (prefix: K[0]): MapStorage<[K[1], K[2], K[3]], V>;\n  (prefix: [K[0], K[1]]): MapStorage<[K[2], K[3]], V>;\n  (prefix: [K[0], K[1], K[2]]): MapStorage<K[3], V>;\n};\n\n/**\n * Persistent smart contract storage. Only usable as a `SmartContract` property.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage#Structured-Storage) chapter of the main guide for more information.\n *\n * @example\n *\n * class Token extends SmartContract {\n *  private readonly balances =\n *    MapStorage.for<Address, Fixed<8>>();\n *\n *  public transfer(\n *    from: Address,\n *    to: Address,\n *    amount: Fixed<8>,\n *  ): boolean {\n *    const fromBalance = this.balances.get(from);\n *    const toBalance = this.balances.get(to);\n *    this.balances.set(from, fromBalance - amount);\n *    this.balances.set(to, toBalance + amount);\n *    return true;\n *  }\n * }\n *\n */\nexport const MapStorage: MapStorageConstructor;\nexport interface MapStorage<K extends SerializableKey, V extends SerializableValue> extends Iterable<[K, V]> {\n  readonly [Symbol.iterator]: () => IterableIterator<[K, V]>;\n  /**\n   * Executes a provided function once per each key/value pair in storage.\n   * @param callback function to execute for each element.\n   * @returns `undefined`\n   */\n  readonly forEach: (callback: (value: V, key: K) => void) => void;\n  /**\n   * Returns a specified element from storage.\n   * @param key the key of the element to return from storage.\n   * @returns the element associated with the specified key or undefined if the key can't be found in storage.\n   */\n  readonly get: (key: K) => V | undefined;\n  /**\n   * Returns a boolean indicating whether an element with the specified key exists or not.\n   * @param key the key of the element to test for presence in storage.\n   * @returns `true` if an element with the specified key exists in storage; otherwise `false`.\n   */\n  readonly has: (key: K) => boolean;\n  /**\n   * Removes the specified element from storage.\n   * @returns `true` if an element in storage existed and has been removed, or `false` if the element does not exist.\n   */\n  readonly delete: (key: K) => boolean;\n  /**\n   * Adds or updates an element with a specified key and value in storage.\n   * @param key The key of the element to add to storage.\n   * @param value The value of the element to add to storage.\n   * @returns the `MapStorage` object.\n   */\n  readonly set: (key: K, value: V) => MapStorage<K, V>;\n  /**\n   * Returns the elements from storage with the specified prefix.\n   * @param key The prefix key of desired elements from storage.\n   * @returns a `MapStorage` object representing the elements associated with the specified prefix.\n   */\n  readonly at: K extends [SK, SK]\n    ? SKMapAtTwo<K, V>\n    : K extends [SK, SK, SK]\n    ? SKMapAtThree<K, V>\n    : K extends [SK, SK, SK, SK]\n    ? SKMapAtFour<K, V>\n    : never;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface MapStorageConstructor {\n  /**\n   * Constructs a new `MapStorage` instance. Only usable as a `SmartContract` property.\n   */\n  for<K extends SerializableKey, V extends SerializableValue>(): MapStorage<K, V>;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\ntype SKSetAtTwo<V extends [SK, SK]> = {\n  (prefix: V[0]): SetStorage<V[1]>;\n};\ntype SKSetAtThree<V extends [SK, SK, SK]> = {\n  (prefix: V[0]): SetStorage<[V[1], V[2]]>;\n  (prefix: [V[0], V[1]]): SetStorage<V[2]>;\n};\ntype SKSetAtFour<V extends [SK, SK, SK, SK]> = {\n  (prefix: V[0]): SetStorage<[V[1], V[2], V[3]]>;\n  (prefix: [V[0], V[1]]): SetStorage<[V[2], V[3]]>;\n  (prefix: [V[0], V[1], V[2]]): SetStorage<V[3]>;\n};\n\n/**\n * Persistent smart contract set storage. Only usable as a `SmartContract` property.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage#Structured-Storage) chapter of the main guide for more information.\n *\n * @example\n *\n * class ICO extends SmartContract {\n *  private readonly whitelistedAddresses =\n *    SetStorage.for<Address>();\n *\n *  public isWhitelisted(address: Address): boolean {\n *    return this.whitelistedAddresses.has(address);\n *  }\n * }\n *\n */\nexport const SetStorage: SetStorageConstructor;\nexport interface SetStorage<V extends SerializableKey> extends Iterable<V> {\n  readonly [Symbol.iterator]: () => IterableIterator<V>;\n  /**\n   * Executes a provided function once per each value in storage.\n   * @param callback function to execute for each element.\n   * @returns `undefined`\n   */\n  readonly forEach: (callback: (value: V) => void) => void;\n  /**\n   * Returns a boolean indicating whether an element with the specified value exists or not.\n   * @param value the value to test for presence in storage.\n   * @returns `true` if an element with the specified value exists in storage; otherwise `false`.\n   */\n  readonly has: (value: V) => boolean;\n  /**\n   * Removes the specified element from storage.\n   * @returns `true` if an element in storage existed and has been removed, or `false` if the element does not exist.\n   */\n  readonly delete: (value: V) => boolean;\n  /**\n   * Adds an element with the specified value in storage.\n   * @param value The value of the element to add to storage.\n   * @returns the `SetStorage` object.\n   */\n  readonly add: (value: V) => SetStorage<V>;\n  /**\n   * Returns the elements from storage with the specified prefix.\n   * @param key The prefix key of desired elements from storage.\n   * @returns a `SetStorage` object representing the elements associated with the specified prefix.\n   */\n  readonly at: V extends [SK, SK]\n    ? SKSetAtTwo<V>\n    : V extends [SK, SK, SK]\n    ? SKSetAtThree<V>\n    : V extends [SK, SK, SK, SK]\n    ? SKSetAtFour<V>\n    : never;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface SetStorageConstructor {\n  /**\n   * Constructs a new `SetStorage` instance. Only usable as a `SmartContract` property.\n   */\n  for<K extends SerializableKey>(): SetStorage<K>;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Holds properties about the current state of the blockchain, the current `Transaction` and the current caller `Contract`.\n *\n * See the [Standard Library](https://neo-one.io/docs/standard-library#Blockchain-and-Transaction-Information) chapter of the main guide for more information.\n */\nexport interface BlockchainConstructor {\n  /**\n   * Time of the current `Block`.\n   *\n   * During execution, this is the timestamp of the `Block` that this `Transaction` will be included in.\n   * During verification, this is the timestamp of the latest `Block` + 15 seconds which represents the earliest possible timestamp of the `Block` that this `Transaction` will be included in.\n   */\n  readonly currentBlockTime: number;\n  /**\n   * Index of the latest `Block` persisted to the blockchain.\n   */\n  readonly currentHeight: number;\n  /**\n   * `InvocationTransaction` this smart contract is executed in.\n   */\n  readonly currentTransaction: InvocationTransaction;\n  /**\n   * The `Address` of the smart contract that directly invoked the contract.\n   *\n   * Will be `undefined` if the smart contract method was not invoked by another smart contract, but instead was invoked by a user directly.\n   */\n  readonly currentCallerContract: Address | undefined;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n/**\n * Information about the current state of the blockchain and the current execution.\n */\nexport const Blockchain: BlockchainConstructor;\n\n/**\n * Injects values at deployment time. Can only be used for default constructor parameters.\n */\nexport const Deploy: DeployConstructor;\nexport interface DeployConstructor {\n  /**\n   * Use the sender `Address` for the constructor parameter.\n   *\n   * @example\n   * import { Address, Deploy, SmartContract } from '@neo-one/smart-contract';\n   *\n   * class Token extends SmartContract {\n   *  public constructor(public readonly owner: Address = Deploy.senderAddress) {\n   *    super();\n   *  }\n   * }\n   */\n  readonly senderAddress: Address;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Creates an event notifier for `SmartContract` notifications.\n *\n * Must be explicitly typed and contain string literals for the event name and argument names.\n *\n * See the [Events and Logs](https://neo-one.io/docs/events-and-logs) chapter of the main guide for more information.\n *\n * @example\n *\n * const notifyTransfer = createEventNotifier<Address, Address, Fixed<8>>('transfer', 'from', 'to', 'amount');\n *\n * const from = Address.from('ALq7AWrhAueN6mJNqk6FHJjnsEoPRytLdW');\n * const to = Address.from('AVf4UGKevVrMR1j3UkPsuoYKSC4ocoAkKx');\n * notifyTransfer(from, to, 200);\n *\n * @param name Event name\n * @param argName Event argument name\n */\nexport function createEventNotifier<A0, A1, A2, A3, A4, A5, A6, A7, A8>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n  arg6Name: string,\n  arg7Name: string,\n  arg8Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8) => void;\nexport function createEventNotifier<A0, A1, A2, A3, A4, A5, A6, A7>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n  arg6Name: string,\n  arg7Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7) => void;\nexport function createEventNotifier<A0, A1, A2, A3, A4, A5, A6>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n  arg6Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6) => void;\nexport function createEventNotifier<A0, A1, A2, A3, A4, A5>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5) => void;\nexport function createEventNotifier(name: string): () => void;\nexport function createEventNotifier<A0>(name: string, arg0Name: string): (arg0: A0) => void;\nexport function createEventNotifier<A0, A1>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n): (arg0: A0, arg1: A1) => void;\nexport function createEventNotifier<A0, A1, A2>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n): (arg0: A0, arg1: A1, arg2: A2) => void;\nexport function createEventNotifier<A0, A1, A2, A3>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3) => void;\nexport function createEventNotifier<A0, A1, A2, A3, A4>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4) => void;\n\n/**\n * Declares an event for `SmartContract` notifications.\n *\n * Must be explicitly typed and contain string literals for the event name and argument names.\n *\n * See the [Events and Logs](https://neo-one.io/docs/events-and-logs) chapter of the main guide for more information.\n *\n * @example\n *\n * declareEvent<Address, Address, Fixed<8>>('transfer', 'from', 'to', 'amount');\n *\n * @param name Event name\n * @param argName Event argument name\n */\nexport function declareEvent<A0, A1, A2, A3, A4, A5>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n): void;\nexport function declareEvent(name: string): void;\nexport function declareEvent<A0>(name: string, arg0Name: string): void;\nexport function declareEvent<A0, A1>(name: string, arg0Name: string, arg1Name: string): void;\nexport function declareEvent<A0, A1, A2>(name: string, arg0Name: string, arg1Name: string, arg2Name: string): void;\nexport function declareEvent<A0, A1, A2, A3>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n): void;\nexport function declareEvent<A0, A1, A2, A3, A4>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n): void;\n\n/**\n * An opaque type that represents a method parameter which is typically forwarded as an argument to another smart contract.\n *\n * See the [Forward Values](https://neo-one.io/docs/forward-values) chapter of the advanced guide for more information.\n */\nexport const ForwardValue: ForwardValueConstructor;\nexport interface ForwardValue {\n  readonly asString: () => string;\n  readonly asStringNullable: () => string | undefined;\n  readonly asNumber: () => number;\n  readonly asNumberNullable: () => number | undefined;\n  readonly asBoolean: () => boolean;\n  readonly asBuffer: () => Buffer;\n  readonly asBufferNullable: () => Buffer | undefined;\n  readonly asAddress: () => Address;\n  readonly asAddressNullable: () => Address | undefined;\n  readonly asHash256: () => Hash256;\n  readonly asHash256Nullable: () => Hash256 | undefined;\n  readonly asPublicKey: () => PublicKey;\n  readonly asPublicKeyNullable: () => PublicKey | undefined;\n  readonly asArray: () => Array<ForwardValue>;\n  readonly asArrayNullable: () => Array<ForwardValue> | undefined;\n  readonly asMap: () => Map<ForwardValue, ForwardValue>;\n  readonly asMapNullable: () => Map<ForwardValue, ForwardValue> | undefined;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface ForwardValueConstructor {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\ninterface ForwardedValueTag<T extends SmartContractArg> {}\n/**\n * Marks a parameter or return type of a public `SmartContract` method as expecting a forwarded value.\n *\n * See the [Forward Values](https://neo-one.io/docs/forward-values) chapter of the advanced guide for more information.\n */\nexport type ForwardedValue<T extends SmartContractArg> = T | (T & ForwardedValueTag<T>);\n\ninterface SmartContractValueArray extends Array<SmartContractValue> {}\ninterface SmartContractValueReadonlyArray extends ReadonlyArray<SmartContractValue> {}\ninterface SmartContractValueMap extends Map<SmartContractValue, SmartContractValue> {}\ninterface SmartContractValueReadonlyMap extends ReadonlyMap<SmartContractValue, SmartContractValue> {}\ninterface SmartContractValueObject {\n  readonly [key: string]: SmartContractValue;\n}\ntype SmartContractValue =\n  | void\n  | null\n  | undefined\n  | number\n  | Fixed<any>\n  | string\n  | boolean\n  | Buffer\n  | Address\n  | Hash256\n  | PublicKey\n  | SmartContractValueArray\n  | SmartContractValueReadonlyArray\n  | SmartContractValueMap\n  | SmartContractValueReadonlyMap\n  | SmartContractValueObject;\ntype SmartContractArg = SmartContractValue | ForwardValue;\ntype IsValidSmartContract<T> = {\n  [K in keyof T]: T[K] extends Function\n    ? Parameters<T[K]> extends SmartContractArg[]\n      ? ReturnType<T[K]> extends SmartContractArg\n        ? T[K]\n        : never\n      : never\n    : T[K] extends SmartContractValue\n    ? T[K]\n    : never;\n};\n\n/**\n * Object with string literals for the contract properties to be used in deployment.\n *\n * See the [Deployment](https://neo-one.io/docs/deployment#Properties) chapter of the main guide for more information.\n */\nexport interface ContractProperties {\n  readonly codeVersion: string;\n  readonly author: string;\n  readonly email: string;\n  readonly description: string;\n}\n\n/**\n * Marks a class as a `SmartContract`.\n */\nexport class SmartContract {\n  /**\n   * Properties used for deployment of the `SmartContract`\n   *\n   * See the [Deployment](https://neo-one.io/docs/deployment#Properties) chapter of the main guide for more information.\n   */\n  public readonly properties: ContractProperties;\n  /**\n   * `Address` of the `SmartContract`.\n   */\n  public readonly address: Address;\n  /**\n   * Stores `Transaction` hashes that have been processed by a method marked with `@receive`, `@send`, or `@sendUnsafe`.\n   *\n   * Used to enforce that a `Transaction` with native `Asset`s is only ever processed once by an appropriate `@receive`, `@send`, or `@sendUnsafe` method.\n   *\n   * Unprocessed transactions that sent assets to the smart contract can be refunded by using `refundAssets`.\n   *\n   * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n   */\n  protected readonly processedTransactions: SetStorage<Hash256>;\n  /**\n   * Stores `Transaction` hashes that have been claimed by an address with a method marked with `@send`.\n   *\n   * The first contract output of a claimed transaction may be sent to the receiver by using `completeSend`.\n   *\n   * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n   */\n  protected readonly claimedTransactions: MapStorage<Hash256, Address>;\n  /**\n   * Property primarily used internally to validate that the smart contract is deployed only once.\n   */\n  protected readonly deployed: true;\n  /**\n   * Override to validate a contract upgrade invocation. Returns `false` by default. Return `true` to indicate the upgrade may proceed.\n   *\n   * See the [Deployment](https://neo-one.io/docs/deployment#Upgrade) chapter of the main guide for more information.\n   *\n   * @example\n   *\n   * export class Contract extends SmartContract {\n   *  public constructor(private readonly owner = Deploy.senderAddress) {\n   *    super();\n   *  }\n   *\n   *  protected approveUpgrade(): boolean {\n   *    return Address.isCaller(this.owner);\n   *  }\n   * }\n   */\n  protected approveUpgrade(): boolean;\n  /**\n   * Permanently deletes the contract.\n   *\n   * See the [Deployment](https://neo-one.io/docs/deployment#Destroy) chapter of the main guide for more information.\n   */\n  protected readonly destroy: () => void;\n  /**\n   * Method automatically added for refunding native `Asset`s.\n   *\n   * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n   */\n  public readonly refundAssets: () => boolean;\n  /**\n   * Method automatically added for sending native `Asset`s that have been claimed by a `@send` method.\n   *\n   * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n   */\n  public readonly completeSend: () => boolean;\n  /**\n   * Used internally by client APIs to upgrade the contract. Control whether an invocation is allowed to upgrade the contract by overriding `approveUpgrade`.\n   *\n   * See the [Deployment](https://neo-one.io/docs/deployment#Upgrade) chapter of the main guide for more information.\n   */\n  public readonly upgrade: (\n    script: Buffer,\n    parameterList: Buffer,\n    returnType: number,\n    properties: number,\n    contractName: string,\n    codeVersion: string,\n    author: string,\n    email: string,\n    description: string,\n  ) => boolean;\n  /**\n   * Returns the singleton instance of the `SmartContract` defined by the interface `T` at `address`.\n   *\n   * `T` is checked for validity and `SmartContract.for` will report an error during compilation if the interface is invalid.\n   *\n   * See the [Calling Smart Contracts](https://neo-one.io/docs/calling-smart-contracts) chapter of the main guide for more information.\n   *\n   * @example\n   *\n   * interface Token {\n   *  readonly transfer: (from: Address, to: Address, amount: Fixed<8>) => boolean;\n   * }\n   *\n   * const address = Address.from('ALfnhLg7rUyL6Jr98bzzoxz5J7m64fbR4s');\n   * const contract = SmartContract.for<Token>(address);\n   *\n   */\n  public static readonly for: <T>(address: T extends IsValidSmartContract<T> ? Address : never) => T;\n}\n\nexport interface LinkedSmartContractConstructor {\n  /**\n   * Returns the singleton instance of the statically linked contract `T`.\n   *\n   * `T` is checked for validity and `LinkedSmartContract.for` will report an error during compilation if the interface is invalid.\n   *\n   * See the [Calling Smart Contracts](https://neo-one.io/docs/calling-smart-contracts) chapter of the main guide for more information.\n   *\n   * @example\n   *\n   * import { Token } from './Token';\n   *\n   * const contract = LinkedSmartContract.for<Token>();\n   * const from = Address.from('ALfnhLg7rUyL6Jr98bzzoxz5J7m64fbR4s');\n   * const to = Address.from('AVf4UGKevVrMR1j3UkPsuoYKSC4ocoAkKx');\n   * contract.transfer(from, to, 10);\n   *\n   * @returns an object representing the underlying smart contract\n   */\n  readonly for: <T extends SmartContract>() => T extends IsValidSmartContract<T> ? T : never;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport const LinkedSmartContract: LinkedSmartContractConstructor;\n\n/**\n * Types that can be hashed the various `crypto` functions.\n *\n * @see crypto\n */\nexport type Hashable = number | string | boolean | Buffer;\n/**\n * Contains various cryptography functions.\n */\nexport interface CryptoConstructor {\n  /**\n   * Returns a `Buffer` of the SHA1 hash of the input\n   */\n  readonly sha1: (value: Hashable) => Buffer;\n  /**\n   * Returns a `Buffer` of the SHA256 hash of the input\n   */\n  readonly sha256: (value: Hashable) => Buffer;\n  /**\n   * Returns a `Buffer` of the RMD160 hash of the SHA256 hash of the input.\n   */\n  readonly hash160: (value: Hashable) => Address;\n  /**\n   * Returns a `Buffer` of the SHA256 hash of the SHA256 hash of the input.\n   */\n  readonly hash256: (value: Hashable) => Hash256;\n}\n/**\n * Contains various cryptography functions.\n */\nexport const crypto: CryptoConstructor;\n\n/**\n * Represents a native `Asset` transfer.\n */\nexport interface Transfer {\n  /**\n   * The amount transferred.\n   */\n  readonly amount: Fixed<8>;\n  /**\n   * The `Hash256` of the `Asset` transferred.\n   */\n  readonly asset: Hash256;\n  /**\n   * The desination `Address` of the transfer.\n   */\n  readonly to: Address;\n}\n\n/**\n * Marks a `SmartContract` method that verifies `Asset` transfers from the `SmartContract`.\n *\n * Method must return a boolean indicating whether the `SmartContract` wishes to approve sending the transferred `Asset`s.\n *\n * Method can take the `Transfer` as the final argument.\n *\n * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n *\n * @example\n *\n * export class Contract extends SmartContract {\n *  `@send`\n *  public withdraw(arg0: Address, arg1: Fixed<8>, transfer: Transfer): boolean {\n *    // Don't allow sending anything but NEO\n *    if (!transfer.asset.equals(Hash256.NEO)) {\n *      return false;\n *    }\n *    // Do some additional checks on the transfer.to and transfer.amount being sent and other arguments.\n *    return true;\n *  }\n * }\n *\n */\nexport function send(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n/**\n * Marks a `SmartContract` method that verifies `Asset` transfers from the `SmartContract`.\n *\n * Method must return a boolean indicating whether the `SmartContract` wishes to approve sending the transferred `Asset`s.\n *\n * Note that unlike `@send`, `@sendUnsafe` does not use a two-phase send. Smart contract authors must implement their own logic for safely sending assets from the contract.\n *\n * May be used in combination with `@receive`.\n *\n * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n */\nexport function sendUnsafe(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n/**\n * Marks a `SmartContract` method that verifies receiving `Asset`s to the `SmartContract`.\n *\n * Method must return a boolean indicating whether the `SmartContract` wishes to receive the transferred `Asset`s.\n *\n * May be used in combination with `@sendUnsafe`.\n *\n * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n */\nexport function receive(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n/**\n * Marks a `SmartContract` method that verifies GAS claims from the `SmartContract`.\n *\n * Method must return a boolean indicating whether the `SmartContract` wishes to allow GAS to be claimed.\n *\n * May optionally take the `ClaimTransaction` this `SmartContract` is executed in as the last argument. Accessing `Blockchain.currentTransaction` will result in an error.\n *\n * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n */\nexport function claim(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n/**\n * Marks a `SmartContract` method as not modifying storage.\n *\n * See the [Methods](https://neo-one.io/docs/methods) chapter of the main guide for more information.\n */\nexport function constant(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n",
        ],
        version: 3,
      },
      AVtU2izPDU8HPiw4ZCuyqAsxg6WjUa7w29: {
        mappings:
          'AAAA;AAe+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACwnC3B;AAAA;AAAA;ADxnC2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACwnCjB;AAAA;AAAA;ADxnCiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACwnCP;AAAA;AAAA;ADxnCO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACwnCG;AAAA;AAAA;ADxnCH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACgnCzB;AAAA;AAAA;ADhnCyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACgnCf;AAAA;AAAA;ADhnCe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACgnCL;AAAA;AAAA;ADhnCK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACgnCK;AAAA;AAAA;ADhnCL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACwmC1B;AAAA;AAAA;ADxmC0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACwmChB;AAAA;AAAA;ADxmCgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACwmCN;AAAA;AAAA;ADxmCM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACwmCI;AAAA;AAAA;ADxmCJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmB5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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AAAA;AAAA;AAAA;AADvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAZnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYqE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAd;AAAA;AAAA;AAAA;AAAA;AAAlB;AAAA;AAAA;AAAA;AAAS;AAAT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAxFF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAe+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASE;AAAA;AAAA;AATF;AASE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AATF;AAgBE;AAAA;AAAA;AAhBF;AAgBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAhBF;AA2BE;AAAA;AAAA;AA3BF;AA2BE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA3BF;AA+BE;AAAA;AAAA;AA/BF;AA+BE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA/BF;AA+CE;AAAA;AAAA;AA/CF;AA+CE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA/CF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASE;AAAA;AAAA;AATF;AASE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AATF;AAgBE;AAAA;AAAA;AAhBF;AAgBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAhBF;AA2BE;AAAA;AAAA;AA3BF;AA2BE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA3BF;AA+BE;AAAA;AAAA;AA/BF;AA+BE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA/BF;AA+CE;AAAA;AAAA;AA/CF;AA+CE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA/CF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAzCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA',
        names: [],
        sources: ['../neo-one/contracts/Escrow.ts', '../../../../../../neo-one-smart-contract/src/index.d.ts'],
        sourcesContent: [
          "import {\n  Address,\n  constant,\n  createEventNotifier,\n  declareEvent,\n  Fixed,\n  ForwardedValue,\n  MapStorage,\n  SmartContract,\n} from '@neo-one/smart-contract';\n\ninterface Token {\n  readonly transfer: (from: Address, to: Address, amount: Fixed<8>) => boolean;\n}\n\nconst notifyBalanceAvailable = createEventNotifier<Address, Address, Address, Fixed<8>>(\n  'balanceAvailable',\n  'from',\n  'to',\n  'asset',\n  'amount',\n);\n\nconst notifyBalanceClaimed = createEventNotifier<Address, Address, Address, Fixed<8>>(\n  'balanceClaimed',\n  'from',\n  'to',\n  'asset',\n  'amount',\n);\n\nconst notifyBalanceRefunded = createEventNotifier<Address, Address, Address, Fixed<8>>(\n  'balanceRefunded',\n  'from',\n  'to',\n  'asset',\n  'amount',\n);\n\ndeclareEvent<Address | undefined, Address | undefined, Fixed<8>>('transfer', 'from', 'to', 'amount');\n\nexport class Escrow extends SmartContract {\n  public readonly properties = {\n    codeVersion: '1.0',\n    author: 'dicarlo2',\n    email: 'alex.dicarlo@neotracker.io',\n    description: 'Escrow',\n  };\n  private readonly balances = MapStorage.for<[Address, Address, Address], Fixed<8>>();\n\n  @constant\n  public balanceOf(from: Address, to: Address, asset: Address): Fixed<8> {\n    const balance = this.balances.get([to, asset, from]);\n\n    return balance === undefined ? 0 : balance;\n  }\n\n  public approveReceiveTransfer(from: Address, amount: Fixed<8>, asset: Address, to: ForwardedValue<Address>): boolean {\n    if (!Address.isCaller(asset)) {\n      return false;\n    }\n\n    this.setBalance(from, to, asset, this.balanceOf(from, to, asset) + amount);\n    notifyBalanceAvailable(from, to, asset, amount);\n\n    return true;\n  }\n\n  public onRevokeSendTransfer(_from: Address, _amount: Fixed<0>, _asset: Address): void {\n    // do nothing\n  }\n\n  public claim(from: Address, to: Address, asset: Address, amount: Fixed<8>): boolean {\n    if (!Address.isCaller(to)) {\n      return false;\n    }\n\n    const contract = SmartContract.for<Token>(asset);\n    if (contract.transfer(this.address, to, amount)) {\n      this.setBalance(from, to, asset, this.balanceOf(from, to, asset) - amount);\n      notifyBalanceClaimed(from, to, asset, amount);\n\n      return true;\n    }\n\n    return false;\n  }\n\n  public refund(from: Address, to: Address, asset: Address, amount: Fixed<8>): boolean {\n    if (!Address.isCaller(from)) {\n      return false;\n    }\n\n    const contract = SmartContract.for<Token>(asset);\n    if (contract.transfer(this.address, from, amount)) {\n      this.setBalance(from, to, asset, this.balanceOf(from, to, asset) - amount);\n      notifyBalanceRefunded(from, to, asset, amount);\n\n      return true;\n    }\n\n    return false;\n  }\n\n  private setBalance(from: Address, to: Address, asset: Address, amount: Fixed<8>): void {\n    this.balances.set([to, asset, from], amount);\n  }\n}\n",
          "// tslint:disable\n/// <reference path=\"./global.d.ts\" />\n\n/**\n * Marks an interface or class as not implementable or extendable.\n *\n * Makes it an error to pass values that would otherwise match the shape of the interface.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Opaque-Tag-Symbol) chapter of the main guide for more information.\n */\ndeclare const OpaqueTagSymbol0: unique symbol;\n\n/**\n * `Buffer` that represents a NEO address.\n *\n * Stored as a script hash (Hash160) internally.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Value-Types) chapter of the main guide for more information.\n */\nexport const Address: AddressConstructor;\nexport interface Address extends Buffer {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface AddressConstructor {\n  /**\n   * Creates an `Address` from a literal string. Accepts either a NEO address or a script hash.\n   *\n   * @example\n   *\n   * const address = Address.from('ALq7AWrhAueN6mJNqk6FHJjnsEoPRytLdW');\n   *\n   * @example\n   *\n   * const address = Address.from('0xcef0c0fdcfe7838eff6ff104f9cdec2922297537');\n   *\n   * @param value Literal string for an `Address`.\n   * @returns `Address` for the specified `value`\n   */\n  readonly from: (value: string) => Address;\n  /**\n   * Verifies that the invocation was directly called AND approved by `Address`.\n   *\n   * Smart contracts should invoke this function before taking transferring items for `Address`es, like transferring tokens, that require the permission of the `Address`.\n   *\n   * @example\n   *\n   * if (!Address.isCaller(address)) {\n   *   return false;\n   * }\n   *\n   * @returns true if `Address` approves this invocation.\n   */\n  readonly isCaller: (address: Address) => boolean;\n  /**\n   * Verifies that the `Transaction` was signed by the `address`.\n   *\n   * In most cases, smart contracts should instead use `Address.isCaller`.\n   *\n   * @example\n   *\n   * if (!Address.isSender(address)) {\n   *   return false;\n   * }\n   *\n   * @returns true if `Address` signed this `Transaction`\n   */\n  readonly isSender: (address: Address) => boolean;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * `Buffer` that represents a NEO 256 bit hash.\n *\n * Examples of `Hash256` include `Block` hashes and `Transaction` hashes.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Value-Types) chapter of the main guide for more information.\n */\nexport const Hash256: Hash256Constructor;\nexport interface Hash256 extends Buffer {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface Hash256Constructor {\n  /**\n   * Creates a `Hash256` from a literal string.\n   *\n   * @example\n   *\n   * const hash = Hash256.from('0xd6572a459b95d9136b7a713c5485ca709f9efa4f08f1c25dd792672d2bd75bfb');\n   *\n   * @param value Literal string for a `Hash256`.\n   * @returns `Hash256` for the specified `value`\n   */\n  readonly from: (value: string) => Hash256;\n  /**\n   * `Hash256` of the NEO `Asset`.\n   */\n  readonly NEO: Hash256;\n  /**\n   * `Hash256` of the GAS `Asset`.\n   */\n  readonly GAS: Hash256;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * `Buffer` that represents a public key.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Value-Types) chapter of the main guide for more information.\n */\nexport const PublicKey: PublicKeyConstructor;\nexport interface PublicKey extends Buffer {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface PublicKeyConstructor {\n  /**\n   * Creates a `PublicKey` from a literal string.\n   *\n   * @example\n   *\n   * const publicKey = PublicKey.from('02028a99826edc0c97d18e22b6932373d908d323aa7f92656a77ec26e8861699ef');\n   *\n   * @param value Literal string for a `PublicKey`.\n   * @returns `PublicKey` for the specified `value`\n   */\n  readonly from: (value: string) => PublicKey;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\ninterface FixedTag<T extends number> {\n  readonly __decimals: T;\n}\n/**\n * Integer which represents a number with the specified decimals.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Tagged-Types) chapter of the main guide for more information.\n */\nexport type Fixed<Decimals extends number> = number | (number & FixedTag<Decimals>);\n/**\n * Integer that represents a number with 0 decimals.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Tagged-Types) chapter of the main guide for more information.\n */\nexport type Integer = Fixed<0>;\n/**\n * Integer that represents a number with 8 decimals.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Tagged-Types) chapter of the main guide for more information.\n */\nexport type Fixed8 = Fixed<8>;\n\n/**\n * `Attribute` usage flag indicates the type of the data.\n *\n * @see BufferAttributeUsage\n * @see PublicKeyAttributeUsage\n * @see AddressAttributeUsage\n * @see Hash256AttributeUsage\n */\nexport enum AttributeUsage {\n  ContractHash = 0x00,\n  ECDH02 = 0x02,\n  ECDH03 = 0x03,\n  Script = 0x20,\n  Vote = 0x30,\n  DescriptionUrl = 0x81,\n  Description = 0x90,\n  Hash1 = 0xa1,\n  Hash2 = 0xa2,\n  Hash3 = 0xa3,\n  Hash4 = 0xa4,\n  Hash5 = 0xa5,\n  Hash6 = 0xa6,\n  Hash7 = 0xa7,\n  Hash8 = 0xa8,\n  Hash9 = 0xa9,\n  Hash10 = 0xaa,\n  Hash11 = 0xab,\n  Hash12 = 0xac,\n  Hash13 = 0xad,\n  Hash14 = 0xae,\n  Hash15 = 0xaf,\n  Remark = 0xf0,\n  Remark1 = 0xf1,\n  Remark2 = 0xf2,\n  Remark3 = 0xf3,\n  Remark4 = 0xf4,\n  Remark5 = 0xf5,\n  Remark6 = 0xf6,\n  Remark7 = 0xf7,\n  Remark8 = 0xf8,\n  Remark9 = 0xf9,\n  Remark10 = 0xfa,\n  Remark11 = 0xfb,\n  Remark12 = 0xfc,\n  Remark13 = 0xfd,\n  Remark14 = 0xfe,\n  Remark15 = 0xff,\n}\n\n/**\n * `Attribute` usage flag indicating the data is an arbitrary `Buffer`\n *\n * @see BufferAttribute\n */\nexport type BufferAttributeUsage =\n  | AttributeUsage.DescriptionUrl\n  | AttributeUsage.Description\n  | AttributeUsage.Remark\n  | AttributeUsage.Remark1\n  | AttributeUsage.Remark2\n  | AttributeUsage.Remark3\n  | AttributeUsage.Remark4\n  | AttributeUsage.Remark5\n  | AttributeUsage.Remark6\n  | AttributeUsage.Remark7\n  | AttributeUsage.Remark8\n  | AttributeUsage.Remark9\n  | AttributeUsage.Remark10\n  | AttributeUsage.Remark11\n  | AttributeUsage.Remark12\n  | AttributeUsage.Remark13\n  | AttributeUsage.Remark14\n  | AttributeUsage.Remark15;\n/**\n * `Attribute` usage flag indicating the data is a `PublicKey`\n *\n * @see PublicKeyAttribute\n */\nexport type PublicKeyAttributeUsage = AttributeUsage.ECDH02 | AttributeUsage.ECDH03;\n/**\n * `Attribute` usage flag indicating the data is an `Address`\n *\n * @see AddressAttribute\n */\nexport type AddressAttributeUsage = AttributeUsage.Script;\n/**\n * `Attribute` usage flag indicating the data is a `Hash256`\n *\n * @see Hash256Attribute\n */\nexport type Hash256AttributeUsage =\n  | AttributeUsage.ContractHash\n  | AttributeUsage.Vote\n  | AttributeUsage.Hash1\n  | AttributeUsage.Hash2\n  | AttributeUsage.Hash3\n  | AttributeUsage.Hash4\n  | AttributeUsage.Hash5\n  | AttributeUsage.Hash6\n  | AttributeUsage.Hash7\n  | AttributeUsage.Hash8\n  | AttributeUsage.Hash9\n  | AttributeUsage.Hash10\n  | AttributeUsage.Hash11\n  | AttributeUsage.Hash12\n  | AttributeUsage.Hash13\n  | AttributeUsage.Hash14\n  | AttributeUsage.Hash15;\n\n/**\n * Base interface for `Attribute`s\n *\n * @see Attribute\n */\nexport const AttributeBase: AttributeBaseConstructor;\nexport interface AttributeBase {\n  readonly usage: AttributeUsage;\n  readonly data: Buffer;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface AttributeBaseConstructor {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * `Attribute` whose data is an arbitrary `Buffer`.\n */\nexport interface BufferAttribute extends AttributeBase {\n  readonly usage: BufferAttributeUsage;\n  readonly data: Buffer;\n}\n/**\n * `Attribute` whose data is a `PublicKey`.\n */\nexport interface PublicKeyAttribute extends AttributeBase {\n  readonly usage: PublicKeyAttributeUsage;\n  readonly data: PublicKey;\n}\n/**\n * `Attribute` whose data is an `Address`.\n */\nexport interface AddressAttribute extends AttributeBase {\n  readonly usage: AddressAttributeUsage;\n  readonly data: Address;\n}\n/**\n * `Attribute` whose data is a `Hash256`.\n */\nexport interface Hash256Attribute extends AttributeBase {\n  readonly usage: Hash256AttributeUsage;\n  readonly data: Hash256;\n}\n\n/**\n * `Attribute`s are used to store additional data on `Transaction`s. Most `Attribute`s are used to store arbitrary data, whereas some, like `AddressAttribute`, have specific uses in the NEO\n * protocol.\n */\nexport type Attribute = BufferAttribute | PublicKeyAttribute | AddressAttribute | Hash256Attribute;\n\n/**\n * `Output`s represent the destination `Address` and amount transferred of a given `Asset`.\n *\n * The sum of the unspent `Output`s of an `Address` represent the total balance of the `Address`.\n */\nexport const Output: OutputConstructor;\nexport interface Output {\n  /**\n   * Destination `Address`.\n   */\n  readonly address: Address;\n  /**\n   * `Hash256` of the `Asset` that was transferred.\n   */\n  readonly asset: Hash256;\n  /**\n   * Amount transferred.\n   */\n  readonly value: Fixed8;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface OutputConstructor {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * `Input`s are a reference to an `Output` of a `Transaction` that has been persisted to the blockchain. The sum of the `value`s of the referenced `Output`s is the total amount transferred in the `Transaction`.\n */\nexport const Input: InputConstructor;\nexport interface Input {\n  /**\n   * `Hash256` of the `Transaction` this input references.\n   */\n  readonly hash: Hash256;\n  /**\n   * `Output` index within the `Transaction` this input references.\n   */\n  readonly index: Integer;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface InputConstructor {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Constants that specify the type of a `Transaction`.\n */\nexport enum TransactionType {\n  /**\n   * First `Transaction` in each block which contains the `Block` rewards for the consensus node that produced the `Block`.\n   *\n   * @see MinerTransaction\n   */\n  Miner = 0x00,\n  /**\n   * Issues new currency of a first-class `Asset`.\n   *\n   * @see IssueTransaction\n   */\n  Issue = 0x01,\n  /**\n   * Claims GAS for a set of spent `Output`s.\n   *\n   * @see ClaimTransaction\n   */\n  Claim = 0x02,\n  /**\n   * Enrolls a new validator for a given `PublicKey`.\n   *\n   * @see EnrollmentTransaction\n   * @deprecated\n   */\n  Enrollment = 0x20,\n  /**\n   * Registers a new first class `Asset`\n   *\n   * @see RegisterTransaction\n   * @deprecated Replaced by `Client#registerAsset`\n   */\n  Register = 0x40,\n  /**\n   * Transfers first class `Asset`s\n   *\n   * @see ContractTransaction\n   */\n  Contract = 0x80,\n  State = 0x90,\n  /**\n   * Registers a new `Contract`\n   *\n   * @see PublishTransaction\n   * @deprecated Replaced by `Client#publish`\n   */\n  Publish = 0xd0,\n  /**\n   * Runs a script in the NEO VM.\n   *\n   * @see InvocationTransaction\n   */\n  Invocation = 0xd1,\n}\n\n/**\n * Base interface for all `Transaction`s.\n */\nexport const TransactionBase: TransactionBaseConstructor;\nexport interface TransactionBase {\n  /**\n   * `Hash256` of this `Transaction`.\n   */\n  readonly hash: Hash256;\n  /**\n   * Type of the `Transaction`.\n   *\n   * @see TransactionType\n   */\n  readonly type: TransactionType;\n  /**\n   * `Attribute`s attached to the `Transaction`.\n   *\n   * @see Attribute\n   */\n  readonly attributes: Attribute[];\n  /**\n   * `Output`s of the `Transaction`.\n   *\n   * @see Output\n   */\n  readonly outputs: Output[];\n  /**\n   * `Input`s of the `Transaction`.\n   *\n   * @see Input\n   */\n  readonly inputs: Input[];\n  /**\n   * Corresponding `Output`s for the `Input`s of the `Transaction`.\n   *\n   * @see Output\n   */\n  readonly references: Output[];\n  /**\n   * `Output`s which have not been spent.\n   *\n   * @see Output\n   */\n  readonly unspentOutputs: Output[];\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface TransactionBaseConstructor {}\n\n/**\n * First `Transaction` in each `Block` which contains the `Block` rewards for the consensus node that produced the `Block`.\n */\nexport interface MinerTransaction extends TransactionBase {\n  readonly type: TransactionType.Miner;\n}\n/**\n * Issues new currency of a first-class `Asset`.\n */\nexport interface IssueTransaction extends TransactionBase {\n  readonly type: TransactionType.Issue;\n}\n/**\n * Claims GAS for a set of spent `Output`s.\n */\nexport interface ClaimTransaction extends TransactionBase {\n  readonly type: TransactionType.Claim;\n}\n/**\n * Enrolls a new validator for a given `PublicKey`.\n *\n * @deprecated\n */\nexport interface EnrollmentTransaction extends TransactionBase {\n  readonly type: TransactionType.Enrollment;\n}\n/**\n * Registers a new first class `Asset`.\n *\n * @deprecated Replaced by `Client#registerAsset`\n */\nexport interface RegisterTransaction extends TransactionBase {\n  readonly type: TransactionType.Register;\n}\n/**\n * `Transaction` that transfers first class `Asset`s.\n */\nexport interface ContractTransaction extends TransactionBase {\n  readonly type: TransactionType.Contract;\n}\n/**\n * Contains the state of votes.\n */\nexport interface StateTransaction extends TransactionBase {\n  readonly type: TransactionType.State;\n}\n/**\n * Registers a new `Contract`\n *\n * @deprecated Replaced by `Client#publish`\n */\nexport interface PublishTransaction extends TransactionBase {\n  readonly type: TransactionType.Publish;\n}\n/**\n * `Transaction` which runs a script in the NEO VM.\n */\nexport interface InvocationTransaction extends TransactionBase {\n  readonly type: TransactionType.Invocation;\n  /**\n   * Code that was executed in NEO VM.\n   */\n  readonly script: Buffer;\n}\n/**\n * `Transaction`s are persisted to the blockchain and represent various functionality like transferring first class `Asset`s or executing smart contracts.\n *\n * Smart contracts are executed within an `InvocationTransaction`.\n *\n * @example\n *\n * const transactionHash = Hash256.from('0xd6572a459b95d9136b7a713c5485ca709f9efa4f08f1c25dd792672d2bd75bfb');\n * const transaction = Transaction.for(transactionHash);\n * const transactionOutputs = transaction.outputs;\n *\n */\nexport const Transaction: TransactionConstructor;\nexport type Transaction =\n  | MinerTransaction\n  | IssueTransaction\n  | ClaimTransaction\n  | EnrollmentTransaction\n  | RegisterTransaction\n  | ContractTransaction\n  | StateTransaction\n  | PublishTransaction\n  | InvocationTransaction;\nexport interface TransactionConstructor {\n  /**\n   * @returns `Transaction` for the specified `hash`.\n   */\n  readonly for: (hash: Hash256) => Transaction;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Balance and vote information for an `Address`.\n *\n * @example\n *\n * const address = Address.from('ALq7AWrhAueN6mJNqk6FHJjnsEoPRytLdW');\n * const account = Account.for(address);\n * const neoBalance = account.getBalance(Hash256.NEO);\n *\n */\nexport const Account: AccountConstructor;\nexport interface Account {\n  /**\n   * `Address` of this `Account`.\n   */\n  readonly address: Address;\n  /**\n   * Retrieve the balance for a first class `Asset` based on its `Hash256`.\n   */\n  readonly getBalance: (asset: Hash256) => Fixed8;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface AccountConstructor {\n  /**\n   * @returns `Account` for the specified `address`.\n   */\n  readonly for: (address: Address) => Account;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Constants that specify the type of the `Asset`.\n */\nexport enum AssetType {\n  Credit = 0x40,\n  Duty = 0x80,\n  /**\n   * Reserved for the NEO `Asset`.\n   */\n  Governing = 0x00,\n  /**\n   * Reserved for the GAS `Asset`.\n   */\n  Utility = 0x01,\n  Currency = 0x08,\n  Share = 0x90,\n  Invoice = 0x98,\n  Token = 0x60,\n}\n\n/**\n * Attributes of a first class asset.\n *\n * Smart contract authors will typically only interact with the NEO and GAS `Asset`s.\n *\n * @example\n *\n * const asset = Asset.for(Hash256.NEO);\n * const neoAmount = asset.amount;\n *\n */\nexport const Asset: AssetConstructor;\nexport interface Asset {\n  /**\n   * `Hash256` of this `Asset`.\n   */\n  readonly hash: Hash256;\n  /**\n   * `AssetType` of the `Asset`\n   *\n   * @see AssetType\n   */\n  readonly type: AssetType;\n  /**\n   * Total possible supply of the `Asset`\n   */\n  readonly amount: Fixed8;\n  /**\n   * Amount currently available of the `Asset`\n   */\n  readonly available: Fixed8;\n  /**\n   * Precision (number of decimal places) of the `Asset`\n   */\n  readonly precision: Integer;\n  /**\n   * Owner of the `Asset`.\n   */\n  readonly owner: PublicKey;\n  /**\n   * Admin of the `Asset`.\n   */\n  readonly admin: Address;\n  /**\n   * Issuer of the `Asset`.\n   */\n  readonly issuer: Address;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface AssetConstructor {\n  /**\n   * @returns `Asset` for the specified `hash`.\n   */\n  readonly for: (hash: Hash256) => Asset;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Attributes of a smart contract deployed to the blockchain.\n *\n * @example\n *\n * const contractAddress = Address.from('0xcef0c0fdcfe7838eff6ff104f9cdec2922297537');\n * const contract = Contract.for(contractAddress);\n * const contractScript = contract.script;\n *\n */\nexport const Contract: ContractConstructor;\nexport interface Contract {\n  /**\n   * `Contract` code.\n   */\n  readonly script: Buffer;\n  /**\n   * Flag that indicates if the `Contract` supports receiving `Asset`s.\n   */\n  readonly payable: boolean;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface ContractConstructor {\n  /**\n   * Returns `undefined` if a `Contract` does not exist at `address`.\n   *\n   * @returns `Contract` for the specified `address`.\n   */\n  readonly for: (address: Address) => Contract | undefined;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Attributes of a `Block` persisted to the blockchain. `Header` includes all information except the list of `Transaction`s.\n *\n * @example\n *\n * const blockHash = Hash256.from('0xd6572a459b95d9136b7a713c5485ca709f9efa4f08f1c25dd792672d2bd75bfb');\n * const header = Header.for(blockHash);\n *\n */\nexport const Header: HeaderConstructor;\nexport interface Header {\n  /**\n   * `Block` hash.\n   */\n  readonly hash: Hash256;\n  /**\n   * NEO blockchain version.\n   */\n  readonly version: Integer;\n  /**\n   * Previous `Block` hash.\n   */\n  readonly previousHash: Hash256;\n  /**\n   * `Block` index.\n   */\n  readonly index: Integer;\n  /**\n   * Root of the `Transaction` hash Merkle Tree.\n   */\n  readonly merkleRoot: Hash256;\n  /**\n   * `Block` time persisted.\n   */\n  readonly time: Integer;\n  /**\n   * Next consensus address.\n   */\n  readonly nextConsensus: Address;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface HeaderConstructor {\n  /**\n   * Accepts either the `Hash256` or the index of the `Block`.\n   *\n   * @returns `Header` for the specified `hashOrIndex`.\n   */\n  readonly for: (hashOrIndex: Hash256 | Integer) => Header;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Attributes of a `Block` persisted to the blockchain.\n *\n * @example\n *\n * const genesisBlock = Block.for(0);\n *\n */\nexport const Block: BlockConstructor;\nexport interface Block extends Header {\n  /**\n   * `Transaction`s contained in the `Block`.\n   */\n  readonly transactions: Transaction[];\n}\nexport interface BlockConstructor {\n  /**\n   * Accepts either the `Hash256` or the index of the `Block`.\n   *\n   * @returns `Block` for the specified `hashOrIndex`.\n   */\n  readonly for: (hashOrIndex: Hash256 | Integer) => Block;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Value that can be used as a key in `MapStorage` and a value for `SetStorage`.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage) chapter of the main guide for more information.\n */\nexport type SerializableKeySingle = number | string | boolean | Buffer;\ntype SK = SerializableKeySingle;\nexport type SerializableKey = SK | [SK, SK] | [SK, SK, SK] | [SK, SK, SK, SK];\nexport interface SerializableValueArray extends ReadonlyArray<SerializableValue> {}\nexport interface SerializableValueMap extends ReadonlyMap<SerializableKeySingle, SerializableValue> {}\nexport interface SerializableValueSet extends ReadonlySet<SerializableValue> {}\nexport interface SerializableValueObject {\n  readonly [key: string]: SerializableValue;\n}\n/**\n * Value that can be serialized for storage.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage) chapter of the main guide for more information.\n */\nexport type SerializableValue =\n  | undefined\n  | null\n  | number\n  | string\n  | boolean\n  | Buffer\n  | SerializableValueArray\n  | SerializableValueMap\n  | SerializableValueSet\n  | SerializableValueObject;\n\n/**\n * Persistent smart contract array storage. Only usable as a `SmartContract` property.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage#Structured-Storage) chapter of the main guide for more information.\n *\n * @example\n *\n * class MySmartContract extends SmartContract {\n *  private readonly pendingAddresses =\n *    ArrayStorage.for<Address>();\n *\n *  public addPendingAddress(address: Address): void {\n *    this.pendingAddresses.push(address);\n *  }\n * }\n *\n */\nexport const ArrayStorage: ArrayStorageConstructor;\nexport interface ArrayStorage<T extends SerializableValue> extends Iterable<T> {\n  readonly [Symbol.iterator]: () => IterableIterator<T>;\n  /**\n   * Gets the length of the array. This is a number one higher than the highest element defined in an array.\n   */\n  readonly length: number;\n  /**\n   * Executes a provided function once per each value in storage.\n   * @param callback function to execute for each element.\n   * @returns `undefined`\n   */\n  readonly forEach: (callback: (value: T, idx: number) => void) => void;\n  /**\n   * Appends new elements to storage, and returns the new length of the array.\n   * @param items New elements to add.\n   */\n  readonly push: (...items: T[]) => number;\n  /**\n   * Removes the last element from an array and returns it.\n   */\n  readonly pop: () => T | undefined;\n  /**\n   * Access the value at index `n`.\n   */\n  [n: number]: T;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface ArrayStorageConstructor {\n  /**\n   * Constructs a new `ArrayStorage` instance. Only usable as a `SmartContract` property.\n   */\n  for<T extends SerializableValue>(): ArrayStorage<T>;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\ntype SKMapAtTwo<K extends [SK, SK], V extends SerializableValue> = {\n  (prefix: K[0]): MapStorage<K[1], V>;\n};\ntype SKMapAtThree<K extends [SK, SK, SK], V extends SerializableValue> = {\n  (prefix: K[0]): MapStorage<[K[1], K[2]], V>;\n  (prefix: [K[0], K[1]]): MapStorage<K[2], V>;\n};\ntype SKMapAtFour<K extends [SK, SK, SK, SK], V extends SerializableValue> = {\n  (prefix: K[0]): MapStorage<[K[1], K[2], K[3]], V>;\n  (prefix: [K[0], K[1]]): MapStorage<[K[2], K[3]], V>;\n  (prefix: [K[0], K[1], K[2]]): MapStorage<K[3], V>;\n};\n\n/**\n * Persistent smart contract storage. Only usable as a `SmartContract` property.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage#Structured-Storage) chapter of the main guide for more information.\n *\n * @example\n *\n * class Token extends SmartContract {\n *  private readonly balances =\n *    MapStorage.for<Address, Fixed<8>>();\n *\n *  public transfer(\n *    from: Address,\n *    to: Address,\n *    amount: Fixed<8>,\n *  ): boolean {\n *    const fromBalance = this.balances.get(from);\n *    const toBalance = this.balances.get(to);\n *    this.balances.set(from, fromBalance - amount);\n *    this.balances.set(to, toBalance + amount);\n *    return true;\n *  }\n * }\n *\n */\nexport const MapStorage: MapStorageConstructor;\nexport interface MapStorage<K extends SerializableKey, V extends SerializableValue> extends Iterable<[K, V]> {\n  readonly [Symbol.iterator]: () => IterableIterator<[K, V]>;\n  /**\n   * Executes a provided function once per each key/value pair in storage.\n   * @param callback function to execute for each element.\n   * @returns `undefined`\n   */\n  readonly forEach: (callback: (value: V, key: K) => void) => void;\n  /**\n   * Returns a specified element from storage.\n   * @param key the key of the element to return from storage.\n   * @returns the element associated with the specified key or undefined if the key can't be found in storage.\n   */\n  readonly get: (key: K) => V | undefined;\n  /**\n   * Returns a boolean indicating whether an element with the specified key exists or not.\n   * @param key the key of the element to test for presence in storage.\n   * @returns `true` if an element with the specified key exists in storage; otherwise `false`.\n   */\n  readonly has: (key: K) => boolean;\n  /**\n   * Removes the specified element from storage.\n   * @returns `true` if an element in storage existed and has been removed, or `false` if the element does not exist.\n   */\n  readonly delete: (key: K) => boolean;\n  /**\n   * Adds or updates an element with a specified key and value in storage.\n   * @param key The key of the element to add to storage.\n   * @param value The value of the element to add to storage.\n   * @returns the `MapStorage` object.\n   */\n  readonly set: (key: K, value: V) => MapStorage<K, V>;\n  /**\n   * Returns the elements from storage with the specified prefix.\n   * @param key The prefix key of desired elements from storage.\n   * @returns a `MapStorage` object representing the elements associated with the specified prefix.\n   */\n  readonly at: K extends [SK, SK]\n    ? SKMapAtTwo<K, V>\n    : K extends [SK, SK, SK]\n    ? SKMapAtThree<K, V>\n    : K extends [SK, SK, SK, SK]\n    ? SKMapAtFour<K, V>\n    : never;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface MapStorageConstructor {\n  /**\n   * Constructs a new `MapStorage` instance. Only usable as a `SmartContract` property.\n   */\n  for<K extends SerializableKey, V extends SerializableValue>(): MapStorage<K, V>;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\ntype SKSetAtTwo<V extends [SK, SK]> = {\n  (prefix: V[0]): SetStorage<V[1]>;\n};\ntype SKSetAtThree<V extends [SK, SK, SK]> = {\n  (prefix: V[0]): SetStorage<[V[1], V[2]]>;\n  (prefix: [V[0], V[1]]): SetStorage<V[2]>;\n};\ntype SKSetAtFour<V extends [SK, SK, SK, SK]> = {\n  (prefix: V[0]): SetStorage<[V[1], V[2], V[3]]>;\n  (prefix: [V[0], V[1]]): SetStorage<[V[2], V[3]]>;\n  (prefix: [V[0], V[1], V[2]]): SetStorage<V[3]>;\n};\n\n/**\n * Persistent smart contract set storage. Only usable as a `SmartContract` property.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage#Structured-Storage) chapter of the main guide for more information.\n *\n * @example\n *\n * class ICO extends SmartContract {\n *  private readonly whitelistedAddresses =\n *    SetStorage.for<Address>();\n *\n *  public isWhitelisted(address: Address): boolean {\n *    return this.whitelistedAddresses.has(address);\n *  }\n * }\n *\n */\nexport const SetStorage: SetStorageConstructor;\nexport interface SetStorage<V extends SerializableKey> extends Iterable<V> {\n  readonly [Symbol.iterator]: () => IterableIterator<V>;\n  /**\n   * Executes a provided function once per each value in storage.\n   * @param callback function to execute for each element.\n   * @returns `undefined`\n   */\n  readonly forEach: (callback: (value: V) => void) => void;\n  /**\n   * Returns a boolean indicating whether an element with the specified value exists or not.\n   * @param value the value to test for presence in storage.\n   * @returns `true` if an element with the specified value exists in storage; otherwise `false`.\n   */\n  readonly has: (value: V) => boolean;\n  /**\n   * Removes the specified element from storage.\n   * @returns `true` if an element in storage existed and has been removed, or `false` if the element does not exist.\n   */\n  readonly delete: (value: V) => boolean;\n  /**\n   * Adds an element with the specified value in storage.\n   * @param value The value of the element to add to storage.\n   * @returns the `SetStorage` object.\n   */\n  readonly add: (value: V) => SetStorage<V>;\n  /**\n   * Returns the elements from storage with the specified prefix.\n   * @param key The prefix key of desired elements from storage.\n   * @returns a `SetStorage` object representing the elements associated with the specified prefix.\n   */\n  readonly at: V extends [SK, SK]\n    ? SKSetAtTwo<V>\n    : V extends [SK, SK, SK]\n    ? SKSetAtThree<V>\n    : V extends [SK, SK, SK, SK]\n    ? SKSetAtFour<V>\n    : never;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface SetStorageConstructor {\n  /**\n   * Constructs a new `SetStorage` instance. Only usable as a `SmartContract` property.\n   */\n  for<K extends SerializableKey>(): SetStorage<K>;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Holds properties about the current state of the blockchain, the current `Transaction` and the current caller `Contract`.\n *\n * See the [Standard Library](https://neo-one.io/docs/standard-library#Blockchain-and-Transaction-Information) chapter of the main guide for more information.\n */\nexport interface BlockchainConstructor {\n  /**\n   * Time of the current `Block`.\n   *\n   * During execution, this is the timestamp of the `Block` that this `Transaction` will be included in.\n   * During verification, this is the timestamp of the latest `Block` + 15 seconds which represents the earliest possible timestamp of the `Block` that this `Transaction` will be included in.\n   */\n  readonly currentBlockTime: number;\n  /**\n   * Index of the latest `Block` persisted to the blockchain.\n   */\n  readonly currentHeight: number;\n  /**\n   * `InvocationTransaction` this smart contract is executed in.\n   */\n  readonly currentTransaction: InvocationTransaction;\n  /**\n   * The `Address` of the smart contract that directly invoked the contract.\n   *\n   * Will be `undefined` if the smart contract method was not invoked by another smart contract, but instead was invoked by a user directly.\n   */\n  readonly currentCallerContract: Address | undefined;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n/**\n * Information about the current state of the blockchain and the current execution.\n */\nexport const Blockchain: BlockchainConstructor;\n\n/**\n * Injects values at deployment time. Can only be used for default constructor parameters.\n */\nexport const Deploy: DeployConstructor;\nexport interface DeployConstructor {\n  /**\n   * Use the sender `Address` for the constructor parameter.\n   *\n   * @example\n   * import { Address, Deploy, SmartContract } from '@neo-one/smart-contract';\n   *\n   * class Token extends SmartContract {\n   *  public constructor(public readonly owner: Address = Deploy.senderAddress) {\n   *    super();\n   *  }\n   * }\n   */\n  readonly senderAddress: Address;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Creates an event notifier for `SmartContract` notifications.\n *\n * Must be explicitly typed and contain string literals for the event name and argument names.\n *\n * See the [Events and Logs](https://neo-one.io/docs/events-and-logs) chapter of the main guide for more information.\n *\n * @example\n *\n * const notifyTransfer = createEventNotifier<Address, Address, Fixed<8>>('transfer', 'from', 'to', 'amount');\n *\n * const from = Address.from('ALq7AWrhAueN6mJNqk6FHJjnsEoPRytLdW');\n * const to = Address.from('AVf4UGKevVrMR1j3UkPsuoYKSC4ocoAkKx');\n * notifyTransfer(from, to, 200);\n *\n * @param name Event name\n * @param argName Event argument name\n */\nexport function createEventNotifier<A0, A1, A2, A3, A4, A5, A6, A7, A8>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n  arg6Name: string,\n  arg7Name: string,\n  arg8Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8) => void;\nexport function createEventNotifier<A0, A1, A2, A3, A4, A5, A6, A7>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n  arg6Name: string,\n  arg7Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7) => void;\nexport function createEventNotifier<A0, A1, A2, A3, A4, A5, A6>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n  arg6Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6) => void;\nexport function createEventNotifier<A0, A1, A2, A3, A4, A5>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5) => void;\nexport function createEventNotifier(name: string): () => void;\nexport function createEventNotifier<A0>(name: string, arg0Name: string): (arg0: A0) => void;\nexport function createEventNotifier<A0, A1>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n): (arg0: A0, arg1: A1) => void;\nexport function createEventNotifier<A0, A1, A2>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n): (arg0: A0, arg1: A1, arg2: A2) => void;\nexport function createEventNotifier<A0, A1, A2, A3>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3) => void;\nexport function createEventNotifier<A0, A1, A2, A3, A4>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4) => void;\n\n/**\n * Declares an event for `SmartContract` notifications.\n *\n * Must be explicitly typed and contain string literals for the event name and argument names.\n *\n * See the [Events and Logs](https://neo-one.io/docs/events-and-logs) chapter of the main guide for more information.\n *\n * @example\n *\n * declareEvent<Address, Address, Fixed<8>>('transfer', 'from', 'to', 'amount');\n *\n * @param name Event name\n * @param argName Event argument name\n */\nexport function declareEvent<A0, A1, A2, A3, A4, A5>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n): void;\nexport function declareEvent(name: string): void;\nexport function declareEvent<A0>(name: string, arg0Name: string): void;\nexport function declareEvent<A0, A1>(name: string, arg0Name: string, arg1Name: string): void;\nexport function declareEvent<A0, A1, A2>(name: string, arg0Name: string, arg1Name: string, arg2Name: string): void;\nexport function declareEvent<A0, A1, A2, A3>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n): void;\nexport function declareEvent<A0, A1, A2, A3, A4>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n): void;\n\n/**\n * An opaque type that represents a method parameter which is typically forwarded as an argument to another smart contract.\n *\n * See the [Forward Values](https://neo-one.io/docs/forward-values) chapter of the advanced guide for more information.\n */\nexport const ForwardValue: ForwardValueConstructor;\nexport interface ForwardValue {\n  readonly asString: () => string;\n  readonly asStringNullable: () => string | undefined;\n  readonly asNumber: () => number;\n  readonly asNumberNullable: () => number | undefined;\n  readonly asBoolean: () => boolean;\n  readonly asBuffer: () => Buffer;\n  readonly asBufferNullable: () => Buffer | undefined;\n  readonly asAddress: () => Address;\n  readonly asAddressNullable: () => Address | undefined;\n  readonly asHash256: () => Hash256;\n  readonly asHash256Nullable: () => Hash256 | undefined;\n  readonly asPublicKey: () => PublicKey;\n  readonly asPublicKeyNullable: () => PublicKey | undefined;\n  readonly asArray: () => Array<ForwardValue>;\n  readonly asArrayNullable: () => Array<ForwardValue> | undefined;\n  readonly asMap: () => Map<ForwardValue, ForwardValue>;\n  readonly asMapNullable: () => Map<ForwardValue, ForwardValue> | undefined;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface ForwardValueConstructor {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\ninterface ForwardedValueTag<T extends SmartContractArg> {}\n/**\n * Marks a parameter or return type of a public `SmartContract` method as expecting a forwarded value.\n *\n * See the [Forward Values](https://neo-one.io/docs/forward-values) chapter of the advanced guide for more information.\n */\nexport type ForwardedValue<T extends SmartContractArg> = T | (T & ForwardedValueTag<T>);\n\ninterface SmartContractValueArray extends Array<SmartContractValue> {}\ninterface SmartContractValueReadonlyArray extends ReadonlyArray<SmartContractValue> {}\ninterface SmartContractValueMap extends Map<SmartContractValue, SmartContractValue> {}\ninterface SmartContractValueReadonlyMap extends ReadonlyMap<SmartContractValue, SmartContractValue> {}\ninterface SmartContractValueObject {\n  readonly [key: string]: SmartContractValue;\n}\ntype SmartContractValue =\n  | void\n  | null\n  | undefined\n  | number\n  | Fixed<any>\n  | string\n  | boolean\n  | Buffer\n  | Address\n  | Hash256\n  | PublicKey\n  | SmartContractValueArray\n  | SmartContractValueReadonlyArray\n  | SmartContractValueMap\n  | SmartContractValueReadonlyMap\n  | SmartContractValueObject;\ntype SmartContractArg = SmartContractValue | ForwardValue;\ntype IsValidSmartContract<T> = {\n  [K in keyof T]: T[K] extends Function\n    ? Parameters<T[K]> extends SmartContractArg[]\n      ? ReturnType<T[K]> extends SmartContractArg\n        ? T[K]\n        : never\n      : never\n    : T[K] extends SmartContractValue\n    ? T[K]\n    : never;\n};\n\n/**\n * Object with string literals for the contract properties to be used in deployment.\n *\n * See the [Deployment](https://neo-one.io/docs/deployment#Properties) chapter of the main guide for more information.\n */\nexport interface ContractProperties {\n  readonly codeVersion: string;\n  readonly author: string;\n  readonly email: string;\n  readonly description: string;\n}\n\n/**\n * Marks a class as a `SmartContract`.\n */\nexport class SmartContract {\n  /**\n   * Properties used for deployment of the `SmartContract`\n   *\n   * See the [Deployment](https://neo-one.io/docs/deployment#Properties) chapter of the main guide for more information.\n   */\n  public readonly properties: ContractProperties;\n  /**\n   * `Address` of the `SmartContract`.\n   */\n  public readonly address: Address;\n  /**\n   * Stores `Transaction` hashes that have been processed by a method marked with `@receive`, `@send`, or `@sendUnsafe`.\n   *\n   * Used to enforce that a `Transaction` with native `Asset`s is only ever processed once by an appropriate `@receive`, `@send`, or `@sendUnsafe` method.\n   *\n   * Unprocessed transactions that sent assets to the smart contract can be refunded by using `refundAssets`.\n   *\n   * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n   */\n  protected readonly processedTransactions: SetStorage<Hash256>;\n  /**\n   * Stores `Transaction` hashes that have been claimed by an address with a method marked with `@send`.\n   *\n   * The first contract output of a claimed transaction may be sent to the receiver by using `completeSend`.\n   *\n   * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n   */\n  protected readonly claimedTransactions: MapStorage<Hash256, Address>;\n  /**\n   * Property primarily used internally to validate that the smart contract is deployed only once.\n   */\n  protected readonly deployed: true;\n  /**\n   * Override to validate a contract upgrade invocation. Returns `false` by default. Return `true` to indicate the upgrade may proceed.\n   *\n   * See the [Deployment](https://neo-one.io/docs/deployment#Upgrade) chapter of the main guide for more information.\n   *\n   * @example\n   *\n   * export class Contract extends SmartContract {\n   *  public constructor(private readonly owner = Deploy.senderAddress) {\n   *    super();\n   *  }\n   *\n   *  protected approveUpgrade(): boolean {\n   *    return Address.isCaller(this.owner);\n   *  }\n   * }\n   */\n  protected approveUpgrade(): boolean;\n  /**\n   * Permanently deletes the contract.\n   *\n   * See the [Deployment](https://neo-one.io/docs/deployment#Destroy) chapter of the main guide for more information.\n   */\n  protected readonly destroy: () => void;\n  /**\n   * Method automatically added for refunding native `Asset`s.\n   *\n   * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n   */\n  public readonly refundAssets: () => boolean;\n  /**\n   * Method automatically added for sending native `Asset`s that have been claimed by a `@send` method.\n   *\n   * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n   */\n  public readonly completeSend: () => boolean;\n  /**\n   * Used internally by client APIs to upgrade the contract. Control whether an invocation is allowed to upgrade the contract by overriding `approveUpgrade`.\n   *\n   * See the [Deployment](https://neo-one.io/docs/deployment#Upgrade) chapter of the main guide for more information.\n   */\n  public readonly upgrade: (\n    script: Buffer,\n    parameterList: Buffer,\n    returnType: number,\n    properties: number,\n    contractName: string,\n    codeVersion: string,\n    author: string,\n    email: string,\n    description: string,\n  ) => boolean;\n  /**\n   * Returns the singleton instance of the `SmartContract` defined by the interface `T` at `address`.\n   *\n   * `T` is checked for validity and `SmartContract.for` will report an error during compilation if the interface is invalid.\n   *\n   * See the [Calling Smart Contracts](https://neo-one.io/docs/calling-smart-contracts) chapter of the main guide for more information.\n   *\n   * @example\n   *\n   * interface Token {\n   *  readonly transfer: (from: Address, to: Address, amount: Fixed<8>) => boolean;\n   * }\n   *\n   * const address = Address.from('ALfnhLg7rUyL6Jr98bzzoxz5J7m64fbR4s');\n   * const contract = SmartContract.for<Token>(address);\n   *\n   */\n  public static readonly for: <T>(address: T extends IsValidSmartContract<T> ? Address : never) => T;\n}\n\nexport interface LinkedSmartContractConstructor {\n  /**\n   * Returns the singleton instance of the statically linked contract `T`.\n   *\n   * `T` is checked for validity and `LinkedSmartContract.for` will report an error during compilation if the interface is invalid.\n   *\n   * See the [Calling Smart Contracts](https://neo-one.io/docs/calling-smart-contracts) chapter of the main guide for more information.\n   *\n   * @example\n   *\n   * import { Token } from './Token';\n   *\n   * const contract = LinkedSmartContract.for<Token>();\n   * const from = Address.from('ALfnhLg7rUyL6Jr98bzzoxz5J7m64fbR4s');\n   * const to = Address.from('AVf4UGKevVrMR1j3UkPsuoYKSC4ocoAkKx');\n   * contract.transfer(from, to, 10);\n   *\n   * @returns an object representing the underlying smart contract\n   */\n  readonly for: <T extends SmartContract>() => T extends IsValidSmartContract<T> ? T : never;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport const LinkedSmartContract: LinkedSmartContractConstructor;\n\n/**\n * Types that can be hashed the various `crypto` functions.\n *\n * @see crypto\n */\nexport type Hashable = number | string | boolean | Buffer;\n/**\n * Contains various cryptography functions.\n */\nexport interface CryptoConstructor {\n  /**\n   * Returns a `Buffer` of the SHA1 hash of the input\n   */\n  readonly sha1: (value: Hashable) => Buffer;\n  /**\n   * Returns a `Buffer` of the SHA256 hash of the input\n   */\n  readonly sha256: (value: Hashable) => Buffer;\n  /**\n   * Returns a `Buffer` of the RMD160 hash of the SHA256 hash of the input.\n   */\n  readonly hash160: (value: Hashable) => Address;\n  /**\n   * Returns a `Buffer` of the SHA256 hash of the SHA256 hash of the input.\n   */\n  readonly hash256: (value: Hashable) => Hash256;\n}\n/**\n * Contains various cryptography functions.\n */\nexport const crypto: CryptoConstructor;\n\n/**\n * Represents a native `Asset` transfer.\n */\nexport interface Transfer {\n  /**\n   * The amount transferred.\n   */\n  readonly amount: Fixed<8>;\n  /**\n   * The `Hash256` of the `Asset` transferred.\n   */\n  readonly asset: Hash256;\n  /**\n   * The desination `Address` of the transfer.\n   */\n  readonly to: Address;\n}\n\n/**\n * Marks a `SmartContract` method that verifies `Asset` transfers from the `SmartContract`.\n *\n * Method must return a boolean indicating whether the `SmartContract` wishes to approve sending the transferred `Asset`s.\n *\n * Method can take the `Transfer` as the final argument.\n *\n * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n *\n * @example\n *\n * export class Contract extends SmartContract {\n *  `@send`\n *  public withdraw(arg0: Address, arg1: Fixed<8>, transfer: Transfer): boolean {\n *    // Don't allow sending anything but NEO\n *    if (!transfer.asset.equals(Hash256.NEO)) {\n *      return false;\n *    }\n *    // Do some additional checks on the transfer.to and transfer.amount being sent and other arguments.\n *    return true;\n *  }\n * }\n *\n */\nexport function send(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n/**\n * Marks a `SmartContract` method that verifies `Asset` transfers from the `SmartContract`.\n *\n * Method must return a boolean indicating whether the `SmartContract` wishes to approve sending the transferred `Asset`s.\n *\n * Note that unlike `@send`, `@sendUnsafe` does not use a two-phase send. Smart contract authors must implement their own logic for safely sending assets from the contract.\n *\n * May be used in combination with `@receive`.\n *\n * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n */\nexport function sendUnsafe(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n/**\n * Marks a `SmartContract` method that verifies receiving `Asset`s to the `SmartContract`.\n *\n * Method must return a boolean indicating whether the `SmartContract` wishes to receive the transferred `Asset`s.\n *\n * May be used in combination with `@sendUnsafe`.\n *\n * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n */\nexport function receive(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n/**\n * Marks a `SmartContract` method that verifies GAS claims from the `SmartContract`.\n *\n * Method must return a boolean indicating whether the `SmartContract` wishes to allow GAS to be claimed.\n *\n * May optionally take the `ClaimTransaction` this `SmartContract` is executed in as the last argument. Accessing `Blockchain.currentTransaction` will result in an error.\n *\n * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n */\nexport function claim(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n/**\n * Marks a `SmartContract` method as not modifying storage.\n *\n * See the [Methods](https://neo-one.io/docs/methods) chapter of the main guide for more information.\n */\nexport function constant(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n",
        ],
        version: 3,
      },
      AWFQ5usn6UPEQo85pNxLyNuuGnSvC9uckv: {
        mappings:
          'AAAA;AAWuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACqnCnB;AAAA;AAAA;ADrnCmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACqnCT;AAAA;AAAA;ADrnCS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACqnCC;AAAA;AAAA;ADrnCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC+mC9B;AAAA;AAAA;AD/mC8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC+mCpB;AAAA;AAAA;AD/mCoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC+mCV;AAAA;AAAA;AD/mCU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACymC7B;AAAA;AAAA;ADzmC6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACymCnB;AAAA;AAAA;ADzmCmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACymCT;AAAA;AAAA;ADzmCS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyB/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AALF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA8DkE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA9DlE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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AA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAD;AAAC;AAAA;AAAA;AAAA;AAAD;AAAA;AAAJ;AACS;AAAA;AAAA;AAAA;AAAA;AAAP;AAAA;AAAA;AAHiD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOpB;AAAA;AAAA;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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACoC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAH0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMrB;AAAA;AAAA;AAAA;AAAA;AAAP;AAAA;AAAA;AAxB+E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAjF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAC8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAX;AAAA;AAAA;AAAA;AAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOE;AAAA;AAAA;AAPF;AAOE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAPF;AAQE;AAAA;AAAA;AARF;AAQE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AARF;AASE;AAAA;AAAA;AATF;AASE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AATF;AAcE;AAAA;AAAA;AAdF;AAcE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAdF;AAmBE;AAAA;AAAA;AAnBF;AAmBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAnBF;AA0BE;AAAA;AAAA;AA1BF;AA0BE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA1BF;AAkCE;AAAA;AAAA;AAlCF;AAkCE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAlCF;AAsEE;AAAA;AAAA;AAtEF;AAsEE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAtEF;AAqFE;AAAA;AAAA;AArFF;AAqFE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AArFF;AAyFE;AAAA;AAAA;AAzFF;AAyFE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAzFF;AAoHE;AAAA;AAAA;AApHF;AAoHE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AApHF;AAwHE;AAAA;AAAA;AAxHF;AAwHE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAxHF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAzCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA',
        names: [],
        sources: ['../neo-one/contracts/Token.ts', '../../../../../../neo-one-smart-contract/src/index.d.ts'],
        sourcesContent: [
          "import {\n  Address,\n  constant,\n  Contract,\n  createEventNotifier,\n  Fixed,\n  ForwardValue,\n  MapStorage,\n  SmartContract,\n} from '@neo-one/smart-contract';\n\nconst notifyTransfer = createEventNotifier<Address | undefined, Address | undefined, Fixed<8>>(\n  'transfer',\n  'from',\n  'to',\n  'amount',\n);\nconst notifyApproveSendTransfer = createEventNotifier<Address, Address, Fixed<8>>(\n  'approveSendTransfer',\n  'from',\n  'to',\n  'amount',\n);\nconst notifyRevokeSendTransfer = createEventNotifier<Address, Address, Fixed<8>>(\n  'revokeSendTransfer',\n  'from',\n  'to',\n  'amount',\n);\n\ninterface TokenPayableContract {\n  readonly approveReceiveTransfer: (\n    from: Address,\n    amount: Fixed<8>,\n    asset: Address,\n    // tslint:disable-next-line readonly-array\n    ...args: ForwardValue[]\n  ) => boolean;\n  readonly onRevokeSendTransfer: (from: Address, amount: Fixed<8>, asset: Address) => void;\n}\n\nexport class Token extends SmartContract {\n  public readonly properties = {\n    codeVersion: '1.0',\n    author: 'dicarlo2',\n    email: 'alex.dicarlo@neotracker.io',\n    description: 'NEO•ONE Token',\n  };\n  public readonly name = 'One';\n  public readonly symbol = 'ONE';\n  public readonly decimals = 8;\n  private readonly balances = MapStorage.for<Address, Fixed<8>>();\n  private readonly approvedTransfers = MapStorage.for<[Address, Address], Fixed<8>>();\n  private mutableSupply: Fixed<8> = 0;\n\n  @constant\n  public get totalSupply(): Fixed<8> {\n    return this.mutableSupply;\n  }\n\n  @constant\n  public balanceOf(address: Address): Fixed<8> {\n    const balance = this.balances.get(address);\n\n    return balance === undefined ? 0 : balance;\n  }\n\n  @constant\n  public approvedTransfer(from: Address, to: Address): Fixed<8> {\n    const approved = this.approvedTransfers.get([from, to]);\n\n    return approved === undefined ? 0 : approved;\n  }\n\n  // tslint:disable-next-line readonly-array\n  public transfer(from: Address, to: Address, amount: Fixed<8>, ...approveArgs: ForwardValue[]): boolean {\n    if (amount < 0) {\n      throw new Error(`Amount must be greater than 0: ${amount}`);\n    }\n\n    const fromBalance = this.balanceOf(from);\n    if (fromBalance < amount) {\n      return false;\n    }\n\n    const approved = this.approvedTransfer(from, to);\n    const reduceApproved = approved >= amount && Address.isCaller(to);\n    if (!reduceApproved && !Address.isCaller(from)) {\n      return false;\n    }\n\n    const contract = Contract.for(to);\n    if (contract !== undefined && !Address.isCaller(to)) {\n      const smartContract = SmartContract.for<TokenPayableContract>(to);\n      if (!smartContract.approveReceiveTransfer(from, amount, this.address, ...approveArgs)) {\n        return false;\n      }\n    }\n\n    const toBalance = this.balanceOf(to);\n    this.balances.set(from, fromBalance - amount);\n    this.balances.set(to, toBalance + amount);\n    notifyTransfer(from, to, amount);\n\n    if (reduceApproved) {\n      this.approvedTransfers.set([from, to], approved - amount);\n    }\n\n    return true;\n  }\n\n  public approveSendTransfer(from: Address, to: Address, amount: Fixed<0>): boolean {\n    if (amount < 0) {\n      throw new Error(`Amount must be greater than 0: ${amount}`);\n    }\n\n    if (!Address.isCaller(from)) {\n      return false;\n    }\n\n    this.approvedTransfers.set([from, to], this.approvedTransfer(from, to) + amount);\n    notifyApproveSendTransfer(from, to, amount);\n\n    return true;\n  }\n\n  public approveReceiveTransfer(_from: Address, _amount: Fixed<8>, _asset: Address): boolean {\n    return false;\n  }\n\n  public revokeSendTransfer(from: Address, to: Address, amount: Fixed<8>): boolean {\n    if (amount < 0) {\n      throw new Error(`Amount must be greater than 0: ${amount}`);\n    }\n\n    if (!Address.isCaller(from)) {\n      return false;\n    }\n\n    const approved = this.approvedTransfer(from, to);\n    if (approved < amount) {\n      return false;\n    }\n\n    this.approvedTransfers.set([from, to], approved - amount);\n    notifyRevokeSendTransfer(from, to, amount);\n\n    const contract = Contract.for(to);\n    if (contract !== undefined) {\n      const smartContract = SmartContract.for<TokenPayableContract>(to);\n      // NOTE: This should catch errors once we have stack isolation\n      smartContract.onRevokeSendTransfer(from, amount, this.address);\n    }\n\n    return true;\n  }\n\n  public onRevokeSendTransfer(_from: Address, _amount: Fixed<8>, _asset: Address): void {\n    // do nothing\n  }\n\n  public issue(to: Address, amount: Fixed<8>): boolean {\n    if (amount < 0) {\n      throw new Error(`Amount must be greater than 0: ${amount}`);\n    }\n\n    const toBalance = this.balanceOf(to);\n    this.balances.set(to, toBalance + amount);\n    notifyTransfer(undefined, to, amount);\n    this.mutableSupply += amount;\n\n    return true;\n  }\n}\n",
          "// tslint:disable\n/// <reference path=\"./global.d.ts\" />\n\n/**\n * Marks an interface or class as not implementable or extendable.\n *\n * Makes it an error to pass values that would otherwise match the shape of the interface.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Opaque-Tag-Symbol) chapter of the main guide for more information.\n */\ndeclare const OpaqueTagSymbol0: unique symbol;\n\n/**\n * `Buffer` that represents a NEO address.\n *\n * Stored as a script hash (Hash160) internally.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Value-Types) chapter of the main guide for more information.\n */\nexport const Address: AddressConstructor;\nexport interface Address extends Buffer {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface AddressConstructor {\n  /**\n   * Creates an `Address` from a literal string. Accepts either a NEO address or a script hash.\n   *\n   * @example\n   *\n   * const address = Address.from('ALq7AWrhAueN6mJNqk6FHJjnsEoPRytLdW');\n   *\n   * @example\n   *\n   * const address = Address.from('0xcef0c0fdcfe7838eff6ff104f9cdec2922297537');\n   *\n   * @param value Literal string for an `Address`.\n   * @returns `Address` for the specified `value`\n   */\n  readonly from: (value: string) => Address;\n  /**\n   * Verifies that the invocation was directly called AND approved by `Address`.\n   *\n   * Smart contracts should invoke this function before taking transferring items for `Address`es, like transferring tokens, that require the permission of the `Address`.\n   *\n   * @example\n   *\n   * if (!Address.isCaller(address)) {\n   *   return false;\n   * }\n   *\n   * @returns true if `Address` approves this invocation.\n   */\n  readonly isCaller: (address: Address) => boolean;\n  /**\n   * Verifies that the `Transaction` was signed by the `address`.\n   *\n   * In most cases, smart contracts should instead use `Address.isCaller`.\n   *\n   * @example\n   *\n   * if (!Address.isSender(address)) {\n   *   return false;\n   * }\n   *\n   * @returns true if `Address` signed this `Transaction`\n   */\n  readonly isSender: (address: Address) => boolean;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * `Buffer` that represents a NEO 256 bit hash.\n *\n * Examples of `Hash256` include `Block` hashes and `Transaction` hashes.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Value-Types) chapter of the main guide for more information.\n */\nexport const Hash256: Hash256Constructor;\nexport interface Hash256 extends Buffer {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface Hash256Constructor {\n  /**\n   * Creates a `Hash256` from a literal string.\n   *\n   * @example\n   *\n   * const hash = Hash256.from('0xd6572a459b95d9136b7a713c5485ca709f9efa4f08f1c25dd792672d2bd75bfb');\n   *\n   * @param value Literal string for a `Hash256`.\n   * @returns `Hash256` for the specified `value`\n   */\n  readonly from: (value: string) => Hash256;\n  /**\n   * `Hash256` of the NEO `Asset`.\n   */\n  readonly NEO: Hash256;\n  /**\n   * `Hash256` of the GAS `Asset`.\n   */\n  readonly GAS: Hash256;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * `Buffer` that represents a public key.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Value-Types) chapter of the main guide for more information.\n */\nexport const PublicKey: PublicKeyConstructor;\nexport interface PublicKey extends Buffer {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface PublicKeyConstructor {\n  /**\n   * Creates a `PublicKey` from a literal string.\n   *\n   * @example\n   *\n   * const publicKey = PublicKey.from('02028a99826edc0c97d18e22b6932373d908d323aa7f92656a77ec26e8861699ef');\n   *\n   * @param value Literal string for a `PublicKey`.\n   * @returns `PublicKey` for the specified `value`\n   */\n  readonly from: (value: string) => PublicKey;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\ninterface FixedTag<T extends number> {\n  readonly __decimals: T;\n}\n/**\n * Integer which represents a number with the specified decimals.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Tagged-Types) chapter of the main guide for more information.\n */\nexport type Fixed<Decimals extends number> = number | (number & FixedTag<Decimals>);\n/**\n * Integer that represents a number with 0 decimals.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Tagged-Types) chapter of the main guide for more information.\n */\nexport type Integer = Fixed<0>;\n/**\n * Integer that represents a number with 8 decimals.\n *\n * See the [Standard Library](https://neo-one.io/docs/smart-contract-basics#Tagged-Types) chapter of the main guide for more information.\n */\nexport type Fixed8 = Fixed<8>;\n\n/**\n * `Attribute` usage flag indicates the type of the data.\n *\n * @see BufferAttributeUsage\n * @see PublicKeyAttributeUsage\n * @see AddressAttributeUsage\n * @see Hash256AttributeUsage\n */\nexport enum AttributeUsage {\n  ContractHash = 0x00,\n  ECDH02 = 0x02,\n  ECDH03 = 0x03,\n  Script = 0x20,\n  Vote = 0x30,\n  DescriptionUrl = 0x81,\n  Description = 0x90,\n  Hash1 = 0xa1,\n  Hash2 = 0xa2,\n  Hash3 = 0xa3,\n  Hash4 = 0xa4,\n  Hash5 = 0xa5,\n  Hash6 = 0xa6,\n  Hash7 = 0xa7,\n  Hash8 = 0xa8,\n  Hash9 = 0xa9,\n  Hash10 = 0xaa,\n  Hash11 = 0xab,\n  Hash12 = 0xac,\n  Hash13 = 0xad,\n  Hash14 = 0xae,\n  Hash15 = 0xaf,\n  Remark = 0xf0,\n  Remark1 = 0xf1,\n  Remark2 = 0xf2,\n  Remark3 = 0xf3,\n  Remark4 = 0xf4,\n  Remark5 = 0xf5,\n  Remark6 = 0xf6,\n  Remark7 = 0xf7,\n  Remark8 = 0xf8,\n  Remark9 = 0xf9,\n  Remark10 = 0xfa,\n  Remark11 = 0xfb,\n  Remark12 = 0xfc,\n  Remark13 = 0xfd,\n  Remark14 = 0xfe,\n  Remark15 = 0xff,\n}\n\n/**\n * `Attribute` usage flag indicating the data is an arbitrary `Buffer`\n *\n * @see BufferAttribute\n */\nexport type BufferAttributeUsage =\n  | AttributeUsage.DescriptionUrl\n  | AttributeUsage.Description\n  | AttributeUsage.Remark\n  | AttributeUsage.Remark1\n  | AttributeUsage.Remark2\n  | AttributeUsage.Remark3\n  | AttributeUsage.Remark4\n  | AttributeUsage.Remark5\n  | AttributeUsage.Remark6\n  | AttributeUsage.Remark7\n  | AttributeUsage.Remark8\n  | AttributeUsage.Remark9\n  | AttributeUsage.Remark10\n  | AttributeUsage.Remark11\n  | AttributeUsage.Remark12\n  | AttributeUsage.Remark13\n  | AttributeUsage.Remark14\n  | AttributeUsage.Remark15;\n/**\n * `Attribute` usage flag indicating the data is a `PublicKey`\n *\n * @see PublicKeyAttribute\n */\nexport type PublicKeyAttributeUsage = AttributeUsage.ECDH02 | AttributeUsage.ECDH03;\n/**\n * `Attribute` usage flag indicating the data is an `Address`\n *\n * @see AddressAttribute\n */\nexport type AddressAttributeUsage = AttributeUsage.Script;\n/**\n * `Attribute` usage flag indicating the data is a `Hash256`\n *\n * @see Hash256Attribute\n */\nexport type Hash256AttributeUsage =\n  | AttributeUsage.ContractHash\n  | AttributeUsage.Vote\n  | AttributeUsage.Hash1\n  | AttributeUsage.Hash2\n  | AttributeUsage.Hash3\n  | AttributeUsage.Hash4\n  | AttributeUsage.Hash5\n  | AttributeUsage.Hash6\n  | AttributeUsage.Hash7\n  | AttributeUsage.Hash8\n  | AttributeUsage.Hash9\n  | AttributeUsage.Hash10\n  | AttributeUsage.Hash11\n  | AttributeUsage.Hash12\n  | AttributeUsage.Hash13\n  | AttributeUsage.Hash14\n  | AttributeUsage.Hash15;\n\n/**\n * Base interface for `Attribute`s\n *\n * @see Attribute\n */\nexport const AttributeBase: AttributeBaseConstructor;\nexport interface AttributeBase {\n  readonly usage: AttributeUsage;\n  readonly data: Buffer;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface AttributeBaseConstructor {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * `Attribute` whose data is an arbitrary `Buffer`.\n */\nexport interface BufferAttribute extends AttributeBase {\n  readonly usage: BufferAttributeUsage;\n  readonly data: Buffer;\n}\n/**\n * `Attribute` whose data is a `PublicKey`.\n */\nexport interface PublicKeyAttribute extends AttributeBase {\n  readonly usage: PublicKeyAttributeUsage;\n  readonly data: PublicKey;\n}\n/**\n * `Attribute` whose data is an `Address`.\n */\nexport interface AddressAttribute extends AttributeBase {\n  readonly usage: AddressAttributeUsage;\n  readonly data: Address;\n}\n/**\n * `Attribute` whose data is a `Hash256`.\n */\nexport interface Hash256Attribute extends AttributeBase {\n  readonly usage: Hash256AttributeUsage;\n  readonly data: Hash256;\n}\n\n/**\n * `Attribute`s are used to store additional data on `Transaction`s. Most `Attribute`s are used to store arbitrary data, whereas some, like `AddressAttribute`, have specific uses in the NEO\n * protocol.\n */\nexport type Attribute = BufferAttribute | PublicKeyAttribute | AddressAttribute | Hash256Attribute;\n\n/**\n * `Output`s represent the destination `Address` and amount transferred of a given `Asset`.\n *\n * The sum of the unspent `Output`s of an `Address` represent the total balance of the `Address`.\n */\nexport const Output: OutputConstructor;\nexport interface Output {\n  /**\n   * Destination `Address`.\n   */\n  readonly address: Address;\n  /**\n   * `Hash256` of the `Asset` that was transferred.\n   */\n  readonly asset: Hash256;\n  /**\n   * Amount transferred.\n   */\n  readonly value: Fixed8;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface OutputConstructor {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * `Input`s are a reference to an `Output` of a `Transaction` that has been persisted to the blockchain. The sum of the `value`s of the referenced `Output`s is the total amount transferred in the `Transaction`.\n */\nexport const Input: InputConstructor;\nexport interface Input {\n  /**\n   * `Hash256` of the `Transaction` this input references.\n   */\n  readonly hash: Hash256;\n  /**\n   * `Output` index within the `Transaction` this input references.\n   */\n  readonly index: Integer;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface InputConstructor {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Constants that specify the type of a `Transaction`.\n */\nexport enum TransactionType {\n  /**\n   * First `Transaction` in each block which contains the `Block` rewards for the consensus node that produced the `Block`.\n   *\n   * @see MinerTransaction\n   */\n  Miner = 0x00,\n  /**\n   * Issues new currency of a first-class `Asset`.\n   *\n   * @see IssueTransaction\n   */\n  Issue = 0x01,\n  /**\n   * Claims GAS for a set of spent `Output`s.\n   *\n   * @see ClaimTransaction\n   */\n  Claim = 0x02,\n  /**\n   * Enrolls a new validator for a given `PublicKey`.\n   *\n   * @see EnrollmentTransaction\n   * @deprecated\n   */\n  Enrollment = 0x20,\n  /**\n   * Registers a new first class `Asset`\n   *\n   * @see RegisterTransaction\n   * @deprecated Replaced by `Client#registerAsset`\n   */\n  Register = 0x40,\n  /**\n   * Transfers first class `Asset`s\n   *\n   * @see ContractTransaction\n   */\n  Contract = 0x80,\n  State = 0x90,\n  /**\n   * Registers a new `Contract`\n   *\n   * @see PublishTransaction\n   * @deprecated Replaced by `Client#publish`\n   */\n  Publish = 0xd0,\n  /**\n   * Runs a script in the NEO VM.\n   *\n   * @see InvocationTransaction\n   */\n  Invocation = 0xd1,\n}\n\n/**\n * Base interface for all `Transaction`s.\n */\nexport const TransactionBase: TransactionBaseConstructor;\nexport interface TransactionBase {\n  /**\n   * `Hash256` of this `Transaction`.\n   */\n  readonly hash: Hash256;\n  /**\n   * Type of the `Transaction`.\n   *\n   * @see TransactionType\n   */\n  readonly type: TransactionType;\n  /**\n   * `Attribute`s attached to the `Transaction`.\n   *\n   * @see Attribute\n   */\n  readonly attributes: Attribute[];\n  /**\n   * `Output`s of the `Transaction`.\n   *\n   * @see Output\n   */\n  readonly outputs: Output[];\n  /**\n   * `Input`s of the `Transaction`.\n   *\n   * @see Input\n   */\n  readonly inputs: Input[];\n  /**\n   * Corresponding `Output`s for the `Input`s of the `Transaction`.\n   *\n   * @see Output\n   */\n  readonly references: Output[];\n  /**\n   * `Output`s which have not been spent.\n   *\n   * @see Output\n   */\n  readonly unspentOutputs: Output[];\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface TransactionBaseConstructor {}\n\n/**\n * First `Transaction` in each `Block` which contains the `Block` rewards for the consensus node that produced the `Block`.\n */\nexport interface MinerTransaction extends TransactionBase {\n  readonly type: TransactionType.Miner;\n}\n/**\n * Issues new currency of a first-class `Asset`.\n */\nexport interface IssueTransaction extends TransactionBase {\n  readonly type: TransactionType.Issue;\n}\n/**\n * Claims GAS for a set of spent `Output`s.\n */\nexport interface ClaimTransaction extends TransactionBase {\n  readonly type: TransactionType.Claim;\n}\n/**\n * Enrolls a new validator for a given `PublicKey`.\n *\n * @deprecated\n */\nexport interface EnrollmentTransaction extends TransactionBase {\n  readonly type: TransactionType.Enrollment;\n}\n/**\n * Registers a new first class `Asset`.\n *\n * @deprecated Replaced by `Client#registerAsset`\n */\nexport interface RegisterTransaction extends TransactionBase {\n  readonly type: TransactionType.Register;\n}\n/**\n * `Transaction` that transfers first class `Asset`s.\n */\nexport interface ContractTransaction extends TransactionBase {\n  readonly type: TransactionType.Contract;\n}\n/**\n * Contains the state of votes.\n */\nexport interface StateTransaction extends TransactionBase {\n  readonly type: TransactionType.State;\n}\n/**\n * Registers a new `Contract`\n *\n * @deprecated Replaced by `Client#publish`\n */\nexport interface PublishTransaction extends TransactionBase {\n  readonly type: TransactionType.Publish;\n}\n/**\n * `Transaction` which runs a script in the NEO VM.\n */\nexport interface InvocationTransaction extends TransactionBase {\n  readonly type: TransactionType.Invocation;\n  /**\n   * Code that was executed in NEO VM.\n   */\n  readonly script: Buffer;\n}\n/**\n * `Transaction`s are persisted to the blockchain and represent various functionality like transferring first class `Asset`s or executing smart contracts.\n *\n * Smart contracts are executed within an `InvocationTransaction`.\n *\n * @example\n *\n * const transactionHash = Hash256.from('0xd6572a459b95d9136b7a713c5485ca709f9efa4f08f1c25dd792672d2bd75bfb');\n * const transaction = Transaction.for(transactionHash);\n * const transactionOutputs = transaction.outputs;\n *\n */\nexport const Transaction: TransactionConstructor;\nexport type Transaction =\n  | MinerTransaction\n  | IssueTransaction\n  | ClaimTransaction\n  | EnrollmentTransaction\n  | RegisterTransaction\n  | ContractTransaction\n  | StateTransaction\n  | PublishTransaction\n  | InvocationTransaction;\nexport interface TransactionConstructor {\n  /**\n   * @returns `Transaction` for the specified `hash`.\n   */\n  readonly for: (hash: Hash256) => Transaction;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Balance and vote information for an `Address`.\n *\n * @example\n *\n * const address = Address.from('ALq7AWrhAueN6mJNqk6FHJjnsEoPRytLdW');\n * const account = Account.for(address);\n * const neoBalance = account.getBalance(Hash256.NEO);\n *\n */\nexport const Account: AccountConstructor;\nexport interface Account {\n  /**\n   * `Address` of this `Account`.\n   */\n  readonly address: Address;\n  /**\n   * Retrieve the balance for a first class `Asset` based on its `Hash256`.\n   */\n  readonly getBalance: (asset: Hash256) => Fixed8;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface AccountConstructor {\n  /**\n   * @returns `Account` for the specified `address`.\n   */\n  readonly for: (address: Address) => Account;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Constants that specify the type of the `Asset`.\n */\nexport enum AssetType {\n  Credit = 0x40,\n  Duty = 0x80,\n  /**\n   * Reserved for the NEO `Asset`.\n   */\n  Governing = 0x00,\n  /**\n   * Reserved for the GAS `Asset`.\n   */\n  Utility = 0x01,\n  Currency = 0x08,\n  Share = 0x90,\n  Invoice = 0x98,\n  Token = 0x60,\n}\n\n/**\n * Attributes of a first class asset.\n *\n * Smart contract authors will typically only interact with the NEO and GAS `Asset`s.\n *\n * @example\n *\n * const asset = Asset.for(Hash256.NEO);\n * const neoAmount = asset.amount;\n *\n */\nexport const Asset: AssetConstructor;\nexport interface Asset {\n  /**\n   * `Hash256` of this `Asset`.\n   */\n  readonly hash: Hash256;\n  /**\n   * `AssetType` of the `Asset`\n   *\n   * @see AssetType\n   */\n  readonly type: AssetType;\n  /**\n   * Total possible supply of the `Asset`\n   */\n  readonly amount: Fixed8;\n  /**\n   * Amount currently available of the `Asset`\n   */\n  readonly available: Fixed8;\n  /**\n   * Precision (number of decimal places) of the `Asset`\n   */\n  readonly precision: Integer;\n  /**\n   * Owner of the `Asset`.\n   */\n  readonly owner: PublicKey;\n  /**\n   * Admin of the `Asset`.\n   */\n  readonly admin: Address;\n  /**\n   * Issuer of the `Asset`.\n   */\n  readonly issuer: Address;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface AssetConstructor {\n  /**\n   * @returns `Asset` for the specified `hash`.\n   */\n  readonly for: (hash: Hash256) => Asset;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Attributes of a smart contract deployed to the blockchain.\n *\n * @example\n *\n * const contractAddress = Address.from('0xcef0c0fdcfe7838eff6ff104f9cdec2922297537');\n * const contract = Contract.for(contractAddress);\n * const contractScript = contract.script;\n *\n */\nexport const Contract: ContractConstructor;\nexport interface Contract {\n  /**\n   * `Contract` code.\n   */\n  readonly script: Buffer;\n  /**\n   * Flag that indicates if the `Contract` supports receiving `Asset`s.\n   */\n  readonly payable: boolean;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface ContractConstructor {\n  /**\n   * Returns `undefined` if a `Contract` does not exist at `address`.\n   *\n   * @returns `Contract` for the specified `address`.\n   */\n  readonly for: (address: Address) => Contract | undefined;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Attributes of a `Block` persisted to the blockchain. `Header` includes all information except the list of `Transaction`s.\n *\n * @example\n *\n * const blockHash = Hash256.from('0xd6572a459b95d9136b7a713c5485ca709f9efa4f08f1c25dd792672d2bd75bfb');\n * const header = Header.for(blockHash);\n *\n */\nexport const Header: HeaderConstructor;\nexport interface Header {\n  /**\n   * `Block` hash.\n   */\n  readonly hash: Hash256;\n  /**\n   * NEO blockchain version.\n   */\n  readonly version: Integer;\n  /**\n   * Previous `Block` hash.\n   */\n  readonly previousHash: Hash256;\n  /**\n   * `Block` index.\n   */\n  readonly index: Integer;\n  /**\n   * Root of the `Transaction` hash Merkle Tree.\n   */\n  readonly merkleRoot: Hash256;\n  /**\n   * `Block` time persisted.\n   */\n  readonly time: Integer;\n  /**\n   * Next consensus address.\n   */\n  readonly nextConsensus: Address;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface HeaderConstructor {\n  /**\n   * Accepts either the `Hash256` or the index of the `Block`.\n   *\n   * @returns `Header` for the specified `hashOrIndex`.\n   */\n  readonly for: (hashOrIndex: Hash256 | Integer) => Header;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Attributes of a `Block` persisted to the blockchain.\n *\n * @example\n *\n * const genesisBlock = Block.for(0);\n *\n */\nexport const Block: BlockConstructor;\nexport interface Block extends Header {\n  /**\n   * `Transaction`s contained in the `Block`.\n   */\n  readonly transactions: Transaction[];\n}\nexport interface BlockConstructor {\n  /**\n   * Accepts either the `Hash256` or the index of the `Block`.\n   *\n   * @returns `Block` for the specified `hashOrIndex`.\n   */\n  readonly for: (hashOrIndex: Hash256 | Integer) => Block;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Value that can be used as a key in `MapStorage` and a value for `SetStorage`.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage) chapter of the main guide for more information.\n */\nexport type SerializableKeySingle = number | string | boolean | Buffer;\ntype SK = SerializableKeySingle;\nexport type SerializableKey = SK | [SK, SK] | [SK, SK, SK] | [SK, SK, SK, SK];\nexport interface SerializableValueArray extends ReadonlyArray<SerializableValue> {}\nexport interface SerializableValueMap extends ReadonlyMap<SerializableKeySingle, SerializableValue> {}\nexport interface SerializableValueSet extends ReadonlySet<SerializableValue> {}\nexport interface SerializableValueObject {\n  readonly [key: string]: SerializableValue;\n}\n/**\n * Value that can be serialized for storage.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage) chapter of the main guide for more information.\n */\nexport type SerializableValue =\n  | undefined\n  | null\n  | number\n  | string\n  | boolean\n  | Buffer\n  | SerializableValueArray\n  | SerializableValueMap\n  | SerializableValueSet\n  | SerializableValueObject;\n\n/**\n * Persistent smart contract array storage. Only usable as a `SmartContract` property.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage#Structured-Storage) chapter of the main guide for more information.\n *\n * @example\n *\n * class MySmartContract extends SmartContract {\n *  private readonly pendingAddresses =\n *    ArrayStorage.for<Address>();\n *\n *  public addPendingAddress(address: Address): void {\n *    this.pendingAddresses.push(address);\n *  }\n * }\n *\n */\nexport const ArrayStorage: ArrayStorageConstructor;\nexport interface ArrayStorage<T extends SerializableValue> extends Iterable<T> {\n  readonly [Symbol.iterator]: () => IterableIterator<T>;\n  /**\n   * Gets the length of the array. This is a number one higher than the highest element defined in an array.\n   */\n  readonly length: number;\n  /**\n   * Executes a provided function once per each value in storage.\n   * @param callback function to execute for each element.\n   * @returns `undefined`\n   */\n  readonly forEach: (callback: (value: T, idx: number) => void) => void;\n  /**\n   * Appends new elements to storage, and returns the new length of the array.\n   * @param items New elements to add.\n   */\n  readonly push: (...items: T[]) => number;\n  /**\n   * Removes the last element from an array and returns it.\n   */\n  readonly pop: () => T | undefined;\n  /**\n   * Access the value at index `n`.\n   */\n  [n: number]: T;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface ArrayStorageConstructor {\n  /**\n   * Constructs a new `ArrayStorage` instance. Only usable as a `SmartContract` property.\n   */\n  for<T extends SerializableValue>(): ArrayStorage<T>;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\ntype SKMapAtTwo<K extends [SK, SK], V extends SerializableValue> = {\n  (prefix: K[0]): MapStorage<K[1], V>;\n};\ntype SKMapAtThree<K extends [SK, SK, SK], V extends SerializableValue> = {\n  (prefix: K[0]): MapStorage<[K[1], K[2]], V>;\n  (prefix: [K[0], K[1]]): MapStorage<K[2], V>;\n};\ntype SKMapAtFour<K extends [SK, SK, SK, SK], V extends SerializableValue> = {\n  (prefix: K[0]): MapStorage<[K[1], K[2], K[3]], V>;\n  (prefix: [K[0], K[1]]): MapStorage<[K[2], K[3]], V>;\n  (prefix: [K[0], K[1], K[2]]): MapStorage<K[3], V>;\n};\n\n/**\n * Persistent smart contract storage. Only usable as a `SmartContract` property.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage#Structured-Storage) chapter of the main guide for more information.\n *\n * @example\n *\n * class Token extends SmartContract {\n *  private readonly balances =\n *    MapStorage.for<Address, Fixed<8>>();\n *\n *  public transfer(\n *    from: Address,\n *    to: Address,\n *    amount: Fixed<8>,\n *  ): boolean {\n *    const fromBalance = this.balances.get(from);\n *    const toBalance = this.balances.get(to);\n *    this.balances.set(from, fromBalance - amount);\n *    this.balances.set(to, toBalance + amount);\n *    return true;\n *  }\n * }\n *\n */\nexport const MapStorage: MapStorageConstructor;\nexport interface MapStorage<K extends SerializableKey, V extends SerializableValue> extends Iterable<[K, V]> {\n  readonly [Symbol.iterator]: () => IterableIterator<[K, V]>;\n  /**\n   * Executes a provided function once per each key/value pair in storage.\n   * @param callback function to execute for each element.\n   * @returns `undefined`\n   */\n  readonly forEach: (callback: (value: V, key: K) => void) => void;\n  /**\n   * Returns a specified element from storage.\n   * @param key the key of the element to return from storage.\n   * @returns the element associated with the specified key or undefined if the key can't be found in storage.\n   */\n  readonly get: (key: K) => V | undefined;\n  /**\n   * Returns a boolean indicating whether an element with the specified key exists or not.\n   * @param key the key of the element to test for presence in storage.\n   * @returns `true` if an element with the specified key exists in storage; otherwise `false`.\n   */\n  readonly has: (key: K) => boolean;\n  /**\n   * Removes the specified element from storage.\n   * @returns `true` if an element in storage existed and has been removed, or `false` if the element does not exist.\n   */\n  readonly delete: (key: K) => boolean;\n  /**\n   * Adds or updates an element with a specified key and value in storage.\n   * @param key The key of the element to add to storage.\n   * @param value The value of the element to add to storage.\n   * @returns the `MapStorage` object.\n   */\n  readonly set: (key: K, value: V) => MapStorage<K, V>;\n  /**\n   * Returns the elements from storage with the specified prefix.\n   * @param key The prefix key of desired elements from storage.\n   * @returns a `MapStorage` object representing the elements associated with the specified prefix.\n   */\n  readonly at: K extends [SK, SK]\n    ? SKMapAtTwo<K, V>\n    : K extends [SK, SK, SK]\n    ? SKMapAtThree<K, V>\n    : K extends [SK, SK, SK, SK]\n    ? SKMapAtFour<K, V>\n    : never;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface MapStorageConstructor {\n  /**\n   * Constructs a new `MapStorage` instance. Only usable as a `SmartContract` property.\n   */\n  for<K extends SerializableKey, V extends SerializableValue>(): MapStorage<K, V>;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\ntype SKSetAtTwo<V extends [SK, SK]> = {\n  (prefix: V[0]): SetStorage<V[1]>;\n};\ntype SKSetAtThree<V extends [SK, SK, SK]> = {\n  (prefix: V[0]): SetStorage<[V[1], V[2]]>;\n  (prefix: [V[0], V[1]]): SetStorage<V[2]>;\n};\ntype SKSetAtFour<V extends [SK, SK, SK, SK]> = {\n  (prefix: V[0]): SetStorage<[V[1], V[2], V[3]]>;\n  (prefix: [V[0], V[1]]): SetStorage<[V[2], V[3]]>;\n  (prefix: [V[0], V[1], V[2]]): SetStorage<V[3]>;\n};\n\n/**\n * Persistent smart contract set storage. Only usable as a `SmartContract` property.\n *\n * See the [Properties and Storage](https://neo-one.io/docs/properties-and-storage#Structured-Storage) chapter of the main guide for more information.\n *\n * @example\n *\n * class ICO extends SmartContract {\n *  private readonly whitelistedAddresses =\n *    SetStorage.for<Address>();\n *\n *  public isWhitelisted(address: Address): boolean {\n *    return this.whitelistedAddresses.has(address);\n *  }\n * }\n *\n */\nexport const SetStorage: SetStorageConstructor;\nexport interface SetStorage<V extends SerializableKey> extends Iterable<V> {\n  readonly [Symbol.iterator]: () => IterableIterator<V>;\n  /**\n   * Executes a provided function once per each value in storage.\n   * @param callback function to execute for each element.\n   * @returns `undefined`\n   */\n  readonly forEach: (callback: (value: V) => void) => void;\n  /**\n   * Returns a boolean indicating whether an element with the specified value exists or not.\n   * @param value the value to test for presence in storage.\n   * @returns `true` if an element with the specified value exists in storage; otherwise `false`.\n   */\n  readonly has: (value: V) => boolean;\n  /**\n   * Removes the specified element from storage.\n   * @returns `true` if an element in storage existed and has been removed, or `false` if the element does not exist.\n   */\n  readonly delete: (value: V) => boolean;\n  /**\n   * Adds an element with the specified value in storage.\n   * @param value The value of the element to add to storage.\n   * @returns the `SetStorage` object.\n   */\n  readonly add: (value: V) => SetStorage<V>;\n  /**\n   * Returns the elements from storage with the specified prefix.\n   * @param key The prefix key of desired elements from storage.\n   * @returns a `SetStorage` object representing the elements associated with the specified prefix.\n   */\n  readonly at: V extends [SK, SK]\n    ? SKSetAtTwo<V>\n    : V extends [SK, SK, SK]\n    ? SKSetAtThree<V>\n    : V extends [SK, SK, SK, SK]\n    ? SKSetAtFour<V>\n    : never;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface SetStorageConstructor {\n  /**\n   * Constructs a new `SetStorage` instance. Only usable as a `SmartContract` property.\n   */\n  for<K extends SerializableKey>(): SetStorage<K>;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Holds properties about the current state of the blockchain, the current `Transaction` and the current caller `Contract`.\n *\n * See the [Standard Library](https://neo-one.io/docs/standard-library#Blockchain-and-Transaction-Information) chapter of the main guide for more information.\n */\nexport interface BlockchainConstructor {\n  /**\n   * Time of the current `Block`.\n   *\n   * During execution, this is the timestamp of the `Block` that this `Transaction` will be included in.\n   * During verification, this is the timestamp of the latest `Block` + 15 seconds which represents the earliest possible timestamp of the `Block` that this `Transaction` will be included in.\n   */\n  readonly currentBlockTime: number;\n  /**\n   * Index of the latest `Block` persisted to the blockchain.\n   */\n  readonly currentHeight: number;\n  /**\n   * `InvocationTransaction` this smart contract is executed in.\n   */\n  readonly currentTransaction: InvocationTransaction;\n  /**\n   * The `Address` of the smart contract that directly invoked the contract.\n   *\n   * Will be `undefined` if the smart contract method was not invoked by another smart contract, but instead was invoked by a user directly.\n   */\n  readonly currentCallerContract: Address | undefined;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n/**\n * Information about the current state of the blockchain and the current execution.\n */\nexport const Blockchain: BlockchainConstructor;\n\n/**\n * Injects values at deployment time. Can only be used for default constructor parameters.\n */\nexport const Deploy: DeployConstructor;\nexport interface DeployConstructor {\n  /**\n   * Use the sender `Address` for the constructor parameter.\n   *\n   * @example\n   * import { Address, Deploy, SmartContract } from '@neo-one/smart-contract';\n   *\n   * class Token extends SmartContract {\n   *  public constructor(public readonly owner: Address = Deploy.senderAddress) {\n   *    super();\n   *  }\n   * }\n   */\n  readonly senderAddress: Address;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\n/**\n * Creates an event notifier for `SmartContract` notifications.\n *\n * Must be explicitly typed and contain string literals for the event name and argument names.\n *\n * See the [Events and Logs](https://neo-one.io/docs/events-and-logs) chapter of the main guide for more information.\n *\n * @example\n *\n * const notifyTransfer = createEventNotifier<Address, Address, Fixed<8>>('transfer', 'from', 'to', 'amount');\n *\n * const from = Address.from('ALq7AWrhAueN6mJNqk6FHJjnsEoPRytLdW');\n * const to = Address.from('AVf4UGKevVrMR1j3UkPsuoYKSC4ocoAkKx');\n * notifyTransfer(from, to, 200);\n *\n * @param name Event name\n * @param argName Event argument name\n */\nexport function createEventNotifier<A0, A1, A2, A3, A4, A5, A6, A7, A8>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n  arg6Name: string,\n  arg7Name: string,\n  arg8Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8) => void;\nexport function createEventNotifier<A0, A1, A2, A3, A4, A5, A6, A7>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n  arg6Name: string,\n  arg7Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7) => void;\nexport function createEventNotifier<A0, A1, A2, A3, A4, A5, A6>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n  arg6Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6) => void;\nexport function createEventNotifier<A0, A1, A2, A3, A4, A5>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5) => void;\nexport function createEventNotifier(name: string): () => void;\nexport function createEventNotifier<A0>(name: string, arg0Name: string): (arg0: A0) => void;\nexport function createEventNotifier<A0, A1>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n): (arg0: A0, arg1: A1) => void;\nexport function createEventNotifier<A0, A1, A2>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n): (arg0: A0, arg1: A1, arg2: A2) => void;\nexport function createEventNotifier<A0, A1, A2, A3>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3) => void;\nexport function createEventNotifier<A0, A1, A2, A3, A4>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n): (arg0: A0, arg1: A1, arg2: A2, arg3: A3, arg4: A4) => void;\n\n/**\n * Declares an event for `SmartContract` notifications.\n *\n * Must be explicitly typed and contain string literals for the event name and argument names.\n *\n * See the [Events and Logs](https://neo-one.io/docs/events-and-logs) chapter of the main guide for more information.\n *\n * @example\n *\n * declareEvent<Address, Address, Fixed<8>>('transfer', 'from', 'to', 'amount');\n *\n * @param name Event name\n * @param argName Event argument name\n */\nexport function declareEvent<A0, A1, A2, A3, A4, A5>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n  arg5Name: string,\n): void;\nexport function declareEvent(name: string): void;\nexport function declareEvent<A0>(name: string, arg0Name: string): void;\nexport function declareEvent<A0, A1>(name: string, arg0Name: string, arg1Name: string): void;\nexport function declareEvent<A0, A1, A2>(name: string, arg0Name: string, arg1Name: string, arg2Name: string): void;\nexport function declareEvent<A0, A1, A2, A3>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n): void;\nexport function declareEvent<A0, A1, A2, A3, A4>(\n  name: string,\n  arg0Name: string,\n  arg1Name: string,\n  arg2Name: string,\n  arg3Name: string,\n  arg4Name: string,\n): void;\n\n/**\n * An opaque type that represents a method parameter which is typically forwarded as an argument to another smart contract.\n *\n * See the [Forward Values](https://neo-one.io/docs/forward-values) chapter of the advanced guide for more information.\n */\nexport const ForwardValue: ForwardValueConstructor;\nexport interface ForwardValue {\n  readonly asString: () => string;\n  readonly asStringNullable: () => string | undefined;\n  readonly asNumber: () => number;\n  readonly asNumberNullable: () => number | undefined;\n  readonly asBoolean: () => boolean;\n  readonly asBuffer: () => Buffer;\n  readonly asBufferNullable: () => Buffer | undefined;\n  readonly asAddress: () => Address;\n  readonly asAddressNullable: () => Address | undefined;\n  readonly asHash256: () => Hash256;\n  readonly asHash256Nullable: () => Hash256 | undefined;\n  readonly asPublicKey: () => PublicKey;\n  readonly asPublicKeyNullable: () => PublicKey | undefined;\n  readonly asArray: () => Array<ForwardValue>;\n  readonly asArrayNullable: () => Array<ForwardValue> | undefined;\n  readonly asMap: () => Map<ForwardValue, ForwardValue>;\n  readonly asMapNullable: () => Map<ForwardValue, ForwardValue> | undefined;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport interface ForwardValueConstructor {\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\n\ninterface ForwardedValueTag<T extends SmartContractArg> {}\n/**\n * Marks a parameter or return type of a public `SmartContract` method as expecting a forwarded value.\n *\n * See the [Forward Values](https://neo-one.io/docs/forward-values) chapter of the advanced guide for more information.\n */\nexport type ForwardedValue<T extends SmartContractArg> = T | (T & ForwardedValueTag<T>);\n\ninterface SmartContractValueArray extends Array<SmartContractValue> {}\ninterface SmartContractValueReadonlyArray extends ReadonlyArray<SmartContractValue> {}\ninterface SmartContractValueMap extends Map<SmartContractValue, SmartContractValue> {}\ninterface SmartContractValueReadonlyMap extends ReadonlyMap<SmartContractValue, SmartContractValue> {}\ninterface SmartContractValueObject {\n  readonly [key: string]: SmartContractValue;\n}\ntype SmartContractValue =\n  | void\n  | null\n  | undefined\n  | number\n  | Fixed<any>\n  | string\n  | boolean\n  | Buffer\n  | Address\n  | Hash256\n  | PublicKey\n  | SmartContractValueArray\n  | SmartContractValueReadonlyArray\n  | SmartContractValueMap\n  | SmartContractValueReadonlyMap\n  | SmartContractValueObject;\ntype SmartContractArg = SmartContractValue | ForwardValue;\ntype IsValidSmartContract<T> = {\n  [K in keyof T]: T[K] extends Function\n    ? Parameters<T[K]> extends SmartContractArg[]\n      ? ReturnType<T[K]> extends SmartContractArg\n        ? T[K]\n        : never\n      : never\n    : T[K] extends SmartContractValue\n    ? T[K]\n    : never;\n};\n\n/**\n * Object with string literals for the contract properties to be used in deployment.\n *\n * See the [Deployment](https://neo-one.io/docs/deployment#Properties) chapter of the main guide for more information.\n */\nexport interface ContractProperties {\n  readonly codeVersion: string;\n  readonly author: string;\n  readonly email: string;\n  readonly description: string;\n}\n\n/**\n * Marks a class as a `SmartContract`.\n */\nexport class SmartContract {\n  /**\n   * Properties used for deployment of the `SmartContract`\n   *\n   * See the [Deployment](https://neo-one.io/docs/deployment#Properties) chapter of the main guide for more information.\n   */\n  public readonly properties: ContractProperties;\n  /**\n   * `Address` of the `SmartContract`.\n   */\n  public readonly address: Address;\n  /**\n   * Stores `Transaction` hashes that have been processed by a method marked with `@receive`, `@send`, or `@sendUnsafe`.\n   *\n   * Used to enforce that a `Transaction` with native `Asset`s is only ever processed once by an appropriate `@receive`, `@send`, or `@sendUnsafe` method.\n   *\n   * Unprocessed transactions that sent assets to the smart contract can be refunded by using `refundAssets`.\n   *\n   * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n   */\n  protected readonly processedTransactions: SetStorage<Hash256>;\n  /**\n   * Stores `Transaction` hashes that have been claimed by an address with a method marked with `@send`.\n   *\n   * The first contract output of a claimed transaction may be sent to the receiver by using `completeSend`.\n   *\n   * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n   */\n  protected readonly claimedTransactions: MapStorage<Hash256, Address>;\n  /**\n   * Property primarily used internally to validate that the smart contract is deployed only once.\n   */\n  protected readonly deployed: true;\n  /**\n   * Override to validate a contract upgrade invocation. Returns `false` by default. Return `true` to indicate the upgrade may proceed.\n   *\n   * See the [Deployment](https://neo-one.io/docs/deployment#Upgrade) chapter of the main guide for more information.\n   *\n   * @example\n   *\n   * export class Contract extends SmartContract {\n   *  public constructor(private readonly owner = Deploy.senderAddress) {\n   *    super();\n   *  }\n   *\n   *  protected approveUpgrade(): boolean {\n   *    return Address.isCaller(this.owner);\n   *  }\n   * }\n   */\n  protected approveUpgrade(): boolean;\n  /**\n   * Permanently deletes the contract.\n   *\n   * See the [Deployment](https://neo-one.io/docs/deployment#Destroy) chapter of the main guide for more information.\n   */\n  protected readonly destroy: () => void;\n  /**\n   * Method automatically added for refunding native `Asset`s.\n   *\n   * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n   */\n  public readonly refundAssets: () => boolean;\n  /**\n   * Method automatically added for sending native `Asset`s that have been claimed by a `@send` method.\n   *\n   * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n   */\n  public readonly completeSend: () => boolean;\n  /**\n   * Used internally by client APIs to upgrade the contract. Control whether an invocation is allowed to upgrade the contract by overriding `approveUpgrade`.\n   *\n   * See the [Deployment](https://neo-one.io/docs/deployment#Upgrade) chapter of the main guide for more information.\n   */\n  public readonly upgrade: (\n    script: Buffer,\n    parameterList: Buffer,\n    returnType: number,\n    properties: number,\n    contractName: string,\n    codeVersion: string,\n    author: string,\n    email: string,\n    description: string,\n  ) => boolean;\n  /**\n   * Returns the singleton instance of the `SmartContract` defined by the interface `T` at `address`.\n   *\n   * `T` is checked for validity and `SmartContract.for` will report an error during compilation if the interface is invalid.\n   *\n   * See the [Calling Smart Contracts](https://neo-one.io/docs/calling-smart-contracts) chapter of the main guide for more information.\n   *\n   * @example\n   *\n   * interface Token {\n   *  readonly transfer: (from: Address, to: Address, amount: Fixed<8>) => boolean;\n   * }\n   *\n   * const address = Address.from('ALfnhLg7rUyL6Jr98bzzoxz5J7m64fbR4s');\n   * const contract = SmartContract.for<Token>(address);\n   *\n   */\n  public static readonly for: <T>(address: T extends IsValidSmartContract<T> ? Address : never) => T;\n}\n\nexport interface LinkedSmartContractConstructor {\n  /**\n   * Returns the singleton instance of the statically linked contract `T`.\n   *\n   * `T` is checked for validity and `LinkedSmartContract.for` will report an error during compilation if the interface is invalid.\n   *\n   * See the [Calling Smart Contracts](https://neo-one.io/docs/calling-smart-contracts) chapter of the main guide for more information.\n   *\n   * @example\n   *\n   * import { Token } from './Token';\n   *\n   * const contract = LinkedSmartContract.for<Token>();\n   * const from = Address.from('ALfnhLg7rUyL6Jr98bzzoxz5J7m64fbR4s');\n   * const to = Address.from('AVf4UGKevVrMR1j3UkPsuoYKSC4ocoAkKx');\n   * contract.transfer(from, to, 10);\n   *\n   * @returns an object representing the underlying smart contract\n   */\n  readonly for: <T extends SmartContract>() => T extends IsValidSmartContract<T> ? T : never;\n  readonly [OpaqueTagSymbol0]: unique symbol;\n}\nexport const LinkedSmartContract: LinkedSmartContractConstructor;\n\n/**\n * Types that can be hashed the various `crypto` functions.\n *\n * @see crypto\n */\nexport type Hashable = number | string | boolean | Buffer;\n/**\n * Contains various cryptography functions.\n */\nexport interface CryptoConstructor {\n  /**\n   * Returns a `Buffer` of the SHA1 hash of the input\n   */\n  readonly sha1: (value: Hashable) => Buffer;\n  /**\n   * Returns a `Buffer` of the SHA256 hash of the input\n   */\n  readonly sha256: (value: Hashable) => Buffer;\n  /**\n   * Returns a `Buffer` of the RMD160 hash of the SHA256 hash of the input.\n   */\n  readonly hash160: (value: Hashable) => Address;\n  /**\n   * Returns a `Buffer` of the SHA256 hash of the SHA256 hash of the input.\n   */\n  readonly hash256: (value: Hashable) => Hash256;\n}\n/**\n * Contains various cryptography functions.\n */\nexport const crypto: CryptoConstructor;\n\n/**\n * Represents a native `Asset` transfer.\n */\nexport interface Transfer {\n  /**\n   * The amount transferred.\n   */\n  readonly amount: Fixed<8>;\n  /**\n   * The `Hash256` of the `Asset` transferred.\n   */\n  readonly asset: Hash256;\n  /**\n   * The desination `Address` of the transfer.\n   */\n  readonly to: Address;\n}\n\n/**\n * Marks a `SmartContract` method that verifies `Asset` transfers from the `SmartContract`.\n *\n * Method must return a boolean indicating whether the `SmartContract` wishes to approve sending the transferred `Asset`s.\n *\n * Method can take the `Transfer` as the final argument.\n *\n * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n *\n * @example\n *\n * export class Contract extends SmartContract {\n *  `@send`\n *  public withdraw(arg0: Address, arg1: Fixed<8>, transfer: Transfer): boolean {\n *    // Don't allow sending anything but NEO\n *    if (!transfer.asset.equals(Hash256.NEO)) {\n *      return false;\n *    }\n *    // Do some additional checks on the transfer.to and transfer.amount being sent and other arguments.\n *    return true;\n *  }\n * }\n *\n */\nexport function send(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n/**\n * Marks a `SmartContract` method that verifies `Asset` transfers from the `SmartContract`.\n *\n * Method must return a boolean indicating whether the `SmartContract` wishes to approve sending the transferred `Asset`s.\n *\n * Note that unlike `@send`, `@sendUnsafe` does not use a two-phase send. Smart contract authors must implement their own logic for safely sending assets from the contract.\n *\n * May be used in combination with `@receive`.\n *\n * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n */\nexport function sendUnsafe(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n/**\n * Marks a `SmartContract` method that verifies receiving `Asset`s to the `SmartContract`.\n *\n * Method must return a boolean indicating whether the `SmartContract` wishes to receive the transferred `Asset`s.\n *\n * May be used in combination with `@sendUnsafe`.\n *\n * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n */\nexport function receive(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n/**\n * Marks a `SmartContract` method that verifies GAS claims from the `SmartContract`.\n *\n * Method must return a boolean indicating whether the `SmartContract` wishes to allow GAS to be claimed.\n *\n * May optionally take the `ClaimTransaction` this `SmartContract` is executed in as the last argument. Accessing `Blockchain.currentTransaction` will result in an error.\n *\n * See the [Native Assets](https://neo-one.io/docs/native-assets) chapter of the advanced guide for more information.\n */\nexport function claim(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n/**\n * Marks a `SmartContract` method as not modifying storage.\n *\n * See the [Methods](https://neo-one.io/docs/methods) chapter of the main guide for more information.\n */\nexport function constant(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;\n",
        ],
        version: 3,
      },
    };
  }
  
  export const sourceMaps = sourceMapsIn;
  