diff --git a/packages/rpc-core/package.json b/packages/rpc-core/package.json index 34b20483af..4991243c64 100644 --- a/packages/rpc-core/package.json +++ b/packages/rpc-core/package.json @@ -33,6 +33,6 @@ "@polkadot/jsonrpc": "^0.34.10", "@polkadot/rpc-provider": "^0.34.10", "@polkadot/types": "^0.34.10", - "@polkadot/util": "^0.33.21" + "@polkadot/util": "^0.33.22" } } diff --git a/packages/rpc-provider/package.json b/packages/rpc-provider/package.json index 4c5850fefa..3f713d9e3d 100644 --- a/packages/rpc-provider/package.json +++ b/packages/rpc-provider/package.json @@ -30,10 +30,10 @@ "homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-provider#readme", "dependencies": { "@babel/runtime": "^7.2.0", - "@polkadot/keyring": "^0.33.21", + "@polkadot/keyring": "^0.33.22", "@polkadot/storage": "^0.34.10", - "@polkadot/util": "^0.33.21", - "@polkadot/util-crypto": "^0.33.21", + "@polkadot/util": "^0.33.22", + "@polkadot/util-crypto": "^0.33.22", "@types/nock": "^9.3.0", "eventemitter3": "^3.1.0", "isomorphic-fetch": "^2.2.1", diff --git a/packages/type-extrinsics/package.json b/packages/type-extrinsics/package.json index e82792f256..db9dcbdd61 100644 --- a/packages/type-extrinsics/package.json +++ b/packages/type-extrinsics/package.json @@ -12,6 +12,6 @@ "dependencies": { "@babel/runtime": "^7.2.0", "@polkadot/types": "^0.34.10", - "@polkadot/util": "^0.33.21" + "@polkadot/util": "^0.33.22" } } diff --git a/packages/type-storage/package.json b/packages/type-storage/package.json index 10d3599f71..f70049231f 100644 --- a/packages/type-storage/package.json +++ b/packages/type-storage/package.json @@ -30,9 +30,9 @@ "homepage": "https://github.com/polkadot-js/api/tree/master/packages/type-storage#readme", "dependencies": { "@babel/runtime": "^7.2.0", - "@polkadot/keyring": "^0.33.21", + "@polkadot/keyring": "^0.33.22", "@polkadot/types": "^0.34.10", - "@polkadot/util": "^0.33.21", - "@polkadot/util-crypto": "^0.33.21" + "@polkadot/util": "^0.33.22", + "@polkadot/util-crypto": "^0.33.22" } } diff --git a/packages/types/package.json b/packages/types/package.json index d34598d2e2..2f018aadb5 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -30,8 +30,8 @@ "homepage": "https://github.com/polkadot-js/api/tree/master/packages/types#readme", "dependencies": { "@babel/runtime": "^7.2.0", - "@polkadot/keyring": "^0.33.21", - "@polkadot/util": "^0.33.21", + "@polkadot/keyring": "^0.33.22", + "@polkadot/util": "^0.33.22", "core-js": "^2.6.1" } } diff --git a/packages/types/src/I128.ts b/packages/types/src/I128.ts new file mode 100644 index 0000000000..ef38b55ff4 --- /dev/null +++ b/packages/types/src/I128.ts @@ -0,0 +1,18 @@ +// Copyright 2017-2018 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { AnyNumber } from './types'; + +import Int from './codec/Int'; + +/** + * @name I128 + * @description + * An 128-bit signed integer + */ +export default class I128 extends Int { + constructor (value?: AnyNumber) { + super(value, 128, false); + } +} diff --git a/packages/types/src/I16.ts b/packages/types/src/I16.ts new file mode 100644 index 0000000000..6446200f40 --- /dev/null +++ b/packages/types/src/I16.ts @@ -0,0 +1,18 @@ +// Copyright 2017-2018 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { AnyNumber } from './types'; + +import Int from './codec/Int'; + +/** + * @name I16 + * @description + * An 16-bit signed integer + */ +export default class I16 extends Int { + constructor (value?: AnyNumber) { + super(value, 16, false); + } +} diff --git a/packages/types/src/I256.ts b/packages/types/src/I256.ts new file mode 100644 index 0000000000..16648dadae --- /dev/null +++ b/packages/types/src/I256.ts @@ -0,0 +1,18 @@ +// Copyright 2017-2018 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { AnyNumber } from './types'; + +import Int from './codec/Int'; + +/** + * @name I256 + * @description + * An 256-bit signed integer + */ +export default class I256 extends Int { + constructor (value?: AnyNumber) { + super(value, 256, false); + } +} diff --git a/packages/types/src/I32.ts b/packages/types/src/I32.ts new file mode 100644 index 0000000000..aec81267a8 --- /dev/null +++ b/packages/types/src/I32.ts @@ -0,0 +1,18 @@ +// Copyright 2017-2018 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { AnyNumber } from './types'; + +import Int from './codec/Int'; + +/** + * @name I32 + * @description + * An 32-bit signed integer + */ +export default class I32 extends Int { + constructor (value?: AnyNumber) { + super(value, 32, false); + } +} diff --git a/packages/types/src/I64.ts b/packages/types/src/I64.ts new file mode 100644 index 0000000000..2c21f55d5f --- /dev/null +++ b/packages/types/src/I64.ts @@ -0,0 +1,18 @@ +// Copyright 2017-2018 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { AnyNumber } from './types'; + +import Int from './codec/Int'; + +/** + * @name I64 + * @description + * An 64-bit signed integer + */ +export default class I64 extends Int { + constructor (value?: AnyNumber) { + super(value, 64, false); + } +} diff --git a/packages/types/src/I8.ts b/packages/types/src/I8.ts new file mode 100644 index 0000000000..706a45e109 --- /dev/null +++ b/packages/types/src/I8.ts @@ -0,0 +1,18 @@ +// Copyright 2017-2018 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { AnyNumber } from './types'; + +import Int from './codec/Int'; + +/** + * @name I8 + * @description + * An 8-bit signed integer + */ +export default class I8 extends Int { + constructor (value?: AnyNumber) { + super(value, 8, false); + } +} diff --git a/packages/types/src/LockPeriods.ts b/packages/types/src/LockPeriods.ts new file mode 100644 index 0000000000..3b9b41ba0a --- /dev/null +++ b/packages/types/src/LockPeriods.ts @@ -0,0 +1,13 @@ +// Copyright 2017-2018 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import I8 from './I8'; + +/** + * @name LocKPeriods + * @description + * A number of lock periods. + */ +export default class LocKPeriods extends I8 { +} diff --git a/packages/types/src/Metadata/latest.substrate.json b/packages/types/src/Metadata/latest.substrate.json index 32f399fc33..b5f5613b4e 100644 --- a/packages/types/src/Metadata/latest.substrate.json +++ b/packages/types/src/Metadata/latest.substrate.json @@ -1290,7 +1290,7 @@ { "name": "ForcingNewEra", "modifier": 0, - "type": "()", + "type": "Null", "documentation": [ " We are forcing a new era." ] @@ -1344,13 +1344,13 @@ "type": "Compact" }, { - "name": "approve_proposal", - "type": "bool" + "name": "vote", + "type": "Vote" } ], "documentation": [ - " Vote in a referendum. If `approve_proposal` is true, the vote is to enact the proposal;", - " false would be a vote to keep the status quo." + " Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;", + " otherwise it is a vote to keep the status quo." ] }, { @@ -1461,6 +1461,14 @@ " The delay before enactment for all public referenda." ] }, + { + "name": "MaxLockPeriods", + "modifier": 1, + "type": "LockPeriods", + "documentation": [ + " The maximum number of additional lock periods a voter may offer to strengthen their vote. Multiples of `PublicDelay`." + ] + }, { "name": "VotingPeriod", "modifier": 1, @@ -1531,13 +1539,15 @@ }, { "name": "VoteOf", - "modifier": 0, + "modifier": 1, "type": { "key": "(ReferendumIndex,AccountId)", - "value": "bool" + "value": "Vote" }, "documentation": [ - " Get the vote, if Some, of `who`." + " Get the vote in a given referendum of a particular voter. The result is meaningful only if `voters_for` includes the", + " voter when called with the referendum (you'll get the default `Vote` value otherwise). If you don't want to check", + " `voters_for`, then you can also check for simple existence with `VoteOf::exists` first." ] } ] diff --git a/packages/types/src/Moment.ts b/packages/types/src/Moment.ts index a330f67623..e221fe4bc7 100644 --- a/packages/types/src/Moment.ts +++ b/packages/types/src/Moment.ts @@ -5,7 +5,7 @@ import BN from 'bn.js'; import { bnToBn, bnToHex, bnToU8a, isString, isU8a, u8aToBn } from '@polkadot/util'; -import { UIntBitLength } from './codec/UInt'; +import { UIntBitLength } from './codec/AbstractInt'; import { AnyNumber, Codec } from './types'; const BITLENGTH: UIntBitLength = 64; diff --git a/packages/types/src/Type.ts b/packages/types/src/Type.ts index 7ab1f4530e..03cdbe58ab 100644 --- a/packages/types/src/Type.ts +++ b/packages/types/src/Type.ts @@ -2,7 +2,6 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import Compact from './codec/Compact'; import Text from './Text'; type Mapper = (value: string) => string; @@ -21,17 +20,17 @@ export default class Type extends Text { constructor (value: Text | Uint8Array | string = '') { // First decode it with Text - const textValue = new Text(value).toString(); + const textValue = new Text(value); + // Then cleanup the textValue to get the @polkadot/types type, and pass the // sanitized value to constructor super( Type.decodeType( - textValue + textValue.toString() ) ); - this._originalLength = textValue.length; - + this._originalLength = textValue.encodedLength; } private static decodeType (value: string): string { @@ -50,6 +49,8 @@ export default class Type extends Text { Type._removeGenerics(), // alias String -> Text (compat with jsonrpc methods) Type._alias('String', 'Text'), + // alias () -> Null + Type._alias('\\\(\\\)', 'Null'), // alias Vec -> Bytes Type._alias('Vec', 'Bytes'), // alias RawAddress -> Address @@ -70,7 +71,7 @@ export default class Type extends Text { // NOTE Length is used in the decoding calculations, so return the original (pre-cleanup) // length of the data. Since toU8a is disabled, this does not affect encoding, but rather // only the decoding leg, allowing the decoders to work with original pointers - return this._originalLength + Compact.encodeU8a(this._originalLength).length; + return this._originalLength; } /** diff --git a/packages/types/src/U128.ts b/packages/types/src/U128.ts index 0a92b5c972..a83c3955f2 100644 --- a/packages/types/src/U128.ts +++ b/packages/types/src/U128.ts @@ -9,7 +9,7 @@ import UInt from './codec/UInt'; /** * @name U128 * @description - * An 128-bit number + * An 128-bit unsigned integer */ export default class U128 extends UInt { constructor (value?: AnyNumber) { diff --git a/packages/types/src/U16.ts b/packages/types/src/U16.ts index c2fc552f00..5587902fa2 100644 --- a/packages/types/src/U16.ts +++ b/packages/types/src/U16.ts @@ -9,7 +9,7 @@ import UInt from './codec/UInt'; /** * @name U16 * @description - * An 16-bit number + * An 16-bit unsigned integer */ export default class U16 extends UInt { constructor (value?: AnyNumber) { diff --git a/packages/types/src/U256.ts b/packages/types/src/U256.ts index a99de41fbd..c8125a6104 100644 --- a/packages/types/src/U256.ts +++ b/packages/types/src/U256.ts @@ -9,7 +9,7 @@ import UInt from './codec/UInt'; /** * @name U256 * @description - * An 256-bit number + * An 256-bit unsigned integer */ export default class U256 extends UInt { constructor (value?: AnyNumber) { diff --git a/packages/types/src/U32.ts b/packages/types/src/U32.ts index 398206881a..921953a4ac 100644 --- a/packages/types/src/U32.ts +++ b/packages/types/src/U32.ts @@ -9,7 +9,7 @@ import UInt from './codec/UInt'; /** * @name U32 * @description - * An 32-bit number + * An 32-bit unsigned integer */ export default class U32 extends UInt { constructor (value?: AnyNumber) { diff --git a/packages/types/src/U64.ts b/packages/types/src/U64.ts index 089296160e..249d4d411c 100644 --- a/packages/types/src/U64.ts +++ b/packages/types/src/U64.ts @@ -9,7 +9,7 @@ import UInt from './codec/UInt'; /** * @name U64 * @description - * An 64-bit number + * An 64-bit unsigned integer */ export default class U64 extends UInt { constructor (value?: AnyNumber) { diff --git a/packages/types/src/U8.ts b/packages/types/src/U8.ts index c37db94a9d..da1b06fd9f 100644 --- a/packages/types/src/U8.ts +++ b/packages/types/src/U8.ts @@ -9,7 +9,7 @@ import UInt from './codec/UInt'; /** * @name U8 * @description - * An 8-bit number + * An 8-bit unsigned integer */ export default class U8 extends UInt { constructor (value?: AnyNumber) { diff --git a/packages/types/src/Vote.ts b/packages/types/src/Vote.ts new file mode 100644 index 0000000000..db4fbb8ff7 --- /dev/null +++ b/packages/types/src/Vote.ts @@ -0,0 +1,13 @@ +// Copyright 2017-2018 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import I8 from './I8'; + +/** + * @name Vote + * @description + * A number of lock periods, plus a vote, one way or the other. + */ +export default class Vote extends I8 { +} diff --git a/packages/types/src/codec/AbstractInt.ts b/packages/types/src/codec/AbstractInt.ts new file mode 100644 index 0000000000..5d4e39c401 --- /dev/null +++ b/packages/types/src/codec/AbstractInt.ts @@ -0,0 +1,102 @@ +// Copyright 2017-2018 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { AnyNumber, Codec } from '../types'; + +import BN from 'bn.js'; +import { bnToBn, hexToBn, isHex, isString, isU8a, u8aToBn } from '@polkadot/util'; + +export type UIntBitLength = 8 | 16 | 32 | 64 | 128 | 256; + +export const DEFAULT_UINT_BITS = 64; + +/** + * @name AbstractInt + * @ignore + * @noInheritDoc + */ +// TODO: +// - Apart from encoding/decoding we don't actually keep check on the sizes, is this good enough? +export default abstract class AbstractInt extends BN implements Codec { + protected _bitLength: UIntBitLength; + private _isHexJson: boolean; + + constructor ( + isNegative: boolean, + value: AnyNumber = 0, + bitLength: UIntBitLength = DEFAULT_UINT_BITS, isHexJson: boolean = true) { + super( + AbstractInt.decodeAbstracInt(value, bitLength, isNegative) + ); + + this._bitLength = bitLength; + this._isHexJson = isHexJson; + } + + static decodeAbstracInt (value: AnyNumber, bitLength: UIntBitLength, isNegative: boolean): string { + // This function returns a string, which will be passed in the BN + // constructor. It would be ideal to actually return a BN, but there's a + // bug: https://github.com/indutny/bn.js/issues/206. + if (isHex(value)) { + return hexToBn(value, { isLe: true, isNegative }).toString(); + } else if (isU8a(value)) { + // NOTE When passing u8a in (typically from decoded data), it is always LE + return u8aToBn(value.subarray(0, bitLength / 8), { isLe: true, isNegative }).toString(); + } else if (isString(value)) { + return new BN(value, 10).toString(); + } + + return bnToBn(value).toString(); + } + + /** + * @description The length of the value when encoded as a Uint8Array + */ + get encodedLength (): number { + return this._bitLength / 8; + } + + /** + * @description Returns the number of bits in the value + */ + bitLength (): UIntBitLength { + return this._bitLength; + } + + /** + * @description Returns the BN representation of the number. (Compatibility) + */ + toBn (): BN { + return this; + } + + /** + * @description Returns a hex string representation of the value + */ + abstract toHex (): string; + + /** + * @description Converts the Object to JSON, typically used for RPC transfers + */ + toJSON (): any { + return this._isHexJson + ? this.toHex() + : this.toNumber(); + } + + /** + * @description Returns the string representation of the value + * @param base The base to use for the conversion + */ + toString (base?: number): string { + // only included here since we do not inherit docs + return super.toString(base); + } + + /** + * @description Encodes the value as a Uint8Array as per the parity-codec specifications + * @param isBare true when the value has none of the type-specific prefixes (internal) + */ + abstract toU8a (isBare?: boolean): Uint8Array; +} diff --git a/packages/types/src/codec/Compact.ts b/packages/types/src/codec/Compact.ts index c48c985d2c..a45e9eecd9 100644 --- a/packages/types/src/codec/Compact.ts +++ b/packages/types/src/codec/Compact.ts @@ -7,8 +7,9 @@ import { bnToBn, compactAddLength, compactFromU8a, compactStripLength, compactTo import { DEFAULT_BITLENGTH } from '@polkadot/util/compact/defaults'; import { AnyNumber, Codec, Constructor } from '../types'; +import { UIntBitLength } from './AbstractInt'; import Base from './Base'; -import UInt, { UIntBitLength } from './UInt'; +import UInt from './UInt'; import Moment from '../Moment'; /** diff --git a/packages/types/src/codec/Int.spec.ts b/packages/types/src/codec/Int.spec.ts new file mode 100644 index 0000000000..7c9d16c067 --- /dev/null +++ b/packages/types/src/codec/Int.spec.ts @@ -0,0 +1,51 @@ +// Copyright 2017-2018 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import Int from './Int'; + +describe('Int', () => { + it('provides a toBn interface', () => { + expect( + new Int(-1234).toBn().toNumber() + ).toEqual(-1234); + }); + + it('provides a toNumber interface', () => { + expect( + new Int(-1234).toNumber() + ).toEqual(-1234); + }); + + it('converts to LE from the provided value', () => { + expect( + new Int(-1234).toU8a() + ).toEqual(new Uint8Array([46, 251, 255, 255, 255, 255, 255, 255])); + }); + + it('converts to LE from the provided value (bitLength)', () => { + expect( + new Int(-1234, 32).toU8a() + ).toEqual(new Uint8Array([46, 251, 255, 255])); + }); + + it('converts to hex/string', () => { + const i = new Int('0x12', 16); + + expect(i.toHex()).toEqual('0x0012'); + expect(i.toString()).toEqual('18'); + }); + + it('converts to equivalents', () => { + const a = new Int('-123'); + + expect( + new Int(a).toNumber() + ).toEqual(-123); + }); + + it('converts to JSON depending on flags', () => { + expect(new Int(0x12, 16).toJSON()).toEqual('0x0012'); + expect(new Int(0x12, 16, false).toJSON()).toEqual(0x12); + }); +}); diff --git a/packages/types/src/codec/Int.ts b/packages/types/src/codec/Int.ts new file mode 100644 index 0000000000..3f42662363 --- /dev/null +++ b/packages/types/src/codec/Int.ts @@ -0,0 +1,55 @@ +// Copyright 2017-2018 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { AnyNumber } from '../types'; + +import { bnToHex, bnToU8a } from '@polkadot/util'; + +import AbstractInt, { DEFAULT_UINT_BITS, UIntBitLength } from './AbstractInt'; + +/** + * @name Int + * @description + * A generic signed integer codec. For Substrate all numbers are LE encoded, + * this handles the encoding and decoding of those numbers. Upon construction + * the bitLength is provided and any additional use keeps the number to this + * length. This extends `BN`, so all methods available on a normal `BN` object + * is available here. + * @noInheritDoc + */ +export default class Int extends AbstractInt { + constructor ( + value: AnyNumber = 0, + bitLength: UIntBitLength = DEFAULT_UINT_BITS, isHexJson: boolean = true) { + super( + true, + value, + bitLength, + isHexJson + ); + } + + /** + * @description Returns a hex string representation of the value + */ + toHex (): string { + return bnToHex(this, { + bitLength: this._bitLength, + isLe: false, + isNegative: true + }); + } + + /** + * @description Encodes the value as a Uint8Array as per the parity-codec specifications + * @param isBare true when the value has none of the type-specific prefixes (internal) + */ + toU8a (isBare?: boolean): Uint8Array { + return bnToU8a(this, { + bitLength: this._bitLength, + isLe: true, + isNegative: true + }); + } +} diff --git a/packages/types/src/codec/UInt.ts b/packages/types/src/codec/UInt.ts index 739e083833..15faa71268 100644 --- a/packages/types/src/codec/UInt.ts +++ b/packages/types/src/codec/UInt.ts @@ -2,99 +2,43 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { AnyNumber, Codec } from '../types'; +import { AnyNumber } from '../types'; -import BN from 'bn.js'; -import { bnToBn, bnToHex, bnToU8a, hexToBn, isHex, isString, isU8a, u8aToBn } from '@polkadot/util'; +import { bnToHex, bnToU8a } from '@polkadot/util'; -export type UIntBitLength = 8 | 16 | 32 | 64 | 128 | 256; - -export const DEFAULT_UINT_BITS = 64; +import AbstractInt, { DEFAULT_UINT_BITS, UIntBitLength } from './AbstractInt'; /** * @name UInt * @description - * A generic number codec. For Substrate all numbers are LE encoded, this handles the encoding - * and decoding of those numbers. Upon construction the bitLength is provided and any additional - * use keeps the number to this length. This extends `BN`, so all methods available on a normal - * `BN` object is available here. + * A generic unsigned integer codec. For Substrate all numbers are LE encoded, + * this handles the encoding and decoding of those numbers. Upon construction + * the bitLength is provided and any additional use keeps the number to this + * length. This extends `BN`, so all methods available on a normal `BN` object + * is available here. * @noInheritDoc */ -// TODO: -// - Apart from encoding/decoding we don't actually keep check on the sizes, is this good enough? -export default class UInt extends BN implements Codec { - protected _bitLength: UIntBitLength; - private _isHexJson: boolean; - - constructor (value: AnyNumber = 0, bitLength: UIntBitLength = DEFAULT_UINT_BITS, isHexJson: boolean = true) { +export default class UInt extends AbstractInt { + constructor ( + value: AnyNumber = 0, + bitLength: UIntBitLength = DEFAULT_UINT_BITS, isHexJson: boolean = true) { super( - UInt.decodeUInt(value, bitLength) + false, + value, + bitLength, + isHexJson ); - - this._bitLength = bitLength; - this._isHexJson = isHexJson; - } - - static decodeUInt (value: AnyNumber, bitLength: UIntBitLength): string { - // This function returns a string, which will be passed in the BN - // constructor. It would be ideal to actually return a BN, but there's a - // bug: https://github.com/indutny/bn.js/issues/206. - if (isHex(value)) { - return hexToBn(value).toString(); - } else if (isU8a(value)) { - // NOTE When passing u8a in (typically from decoded data), it is always LE - return u8aToBn(value.subarray(0, bitLength / 8), true).toString(); - } else if (isString(value)) { - return new BN(value, 10).toString(); - } - - return bnToBn(value).toString(); - } - - /** - * @description The length of the value when encoded as a Uint8Array - */ - get encodedLength (): number { - return this._bitLength / 8; - } - - /** - * @description Returns the number of bits in the value - */ - bitLength (): UIntBitLength { - return this._bitLength; - } - - /** - * @description Returns the BN representation of the number. (Compatibility) - */ - toBn (): BN { - return this; } /** * @description Returns a hex string representation of the value */ toHex (): string { - return bnToHex(this, this._bitLength); - } - - /** - * @description Converts the Object to JSON, typically used for RPC transfers - */ - toJSON (): any { - return this._isHexJson - ? this.toHex() - : this.toNumber(); - } - - /** - * @description Returns the string representation of the value - * @param base The base to use for the conversion - */ - toString (base?: number): string { - // only included here since we do not inherit docs - return super.toString(base); + return bnToHex(this, { + bitLength: this._bitLength, + isLe: false, + isNegative: false + }); } /** @@ -102,6 +46,10 @@ export default class UInt extends BN implements Codec { * @param isBare true when the value has none of the type-specific prefixes (internal) */ toU8a (isBare?: boolean): Uint8Array { - return bnToU8a(this, this._bitLength, true); + return bnToU8a(this, { + bitLength: this._bitLength, + isLe: true, + isNegative: false + }); } } diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 27d1eb82f1..dfe7201be3 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -43,8 +43,15 @@ export { default as Gas } from './Gas'; // export { default as H512 } from './H512'; export { default as Hash } from './Hash'; export { default as Header } from './Header'; +export { default as i8 } from './I8'; +export { default as i16 } from './I16'; +export { default as i32 } from './I32'; +export { default as i64 } from './I64'; +export { default as i128 } from './I128'; +export { default as i256 } from './I256'; export { default as InherentOfflineReport } from './InherentOfflineReport'; export { default as KeyValue } from './KeyValue'; +export { default as LockPeriods } from './LockPeriods'; export { default as Metadata } from './Metadata'; export { default as Method } from './Method'; export { default as MisbehaviorReport } from './MisbehaviorReport'; @@ -82,5 +89,6 @@ export { default as u64 } from './U64'; export { default as u128 } from './U128'; export { default as u256 } from './U256'; export { default as ValidatorPrefs } from './ValidatorPrefs'; +export { default as Vote } from './Vote'; export { default as VoteThreshold } from './VoteThreshold'; export { default as VoteIndex } from './VoteIndex'; diff --git a/packages/types/src/json/Metadata.latest.json b/packages/types/src/json/Metadata.latest.json index 11c861471b..b567acea60 100644 --- a/packages/types/src/json/Metadata.latest.json +++ b/packages/types/src/json/Metadata.latest.json @@ -1,5 +1,5 @@ { "jsonrpc": "2.0", - "result": "0x144576656e74301873797374656d084045787472696e7369635375636365737300049420416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656400045420416e2065787472696e736963206661696c65642e2062616c616e6365730c284e65774163636f756e740c244163636f756e744964304163636f756e74496e646578444e65774163636f756e744f7574636f6d65046c2041206e6577206163636f756e742077617320637265617465642e345265617065644163636f756e7404244163636f756e744964045c20416e206163636f756e7420776173207265617065642e205472616e7366657210244163636f756e744964244163636f756e7449641c42616c616e63651c42616c616e636504b0205472616e7366657220737563636565646564202866726f6d2c20746f2c2076616c75652c2066656573292e1c73657373696f6e04284e657753657373696f6e042c426c6f636b4e756d626572085501204e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f742074686520626c6f636b88206e756d626572206173207468652074797065206d6967687420737567676573742e1c7374616b696e670c18526577617264041c42616c616e636504e020416c6c2076616c696461746f72732068617665206265656e2072657761726465642062792074686520676976656e2062616c616e63652e384f66666c696e655761726e696e6708244163636f756e7449640c753332085501204f6e652076616c696461746f722028616e64207468656972206e6f6d696e61746f72732920686173206265656e20676976656e2061206f66666c696e652d7761726e696e67202874686579277265207374696c6c15012077697468696e207468656972206772616365292e205468652061636372756564206e756d626572206f6620736c6173686573206973207265636f726465642c20746f6f2e304f66666c696e65536c61736808244163636f756e7449641c42616c616e6365042d01204f6e652076616c696461746f722028616e64207468656972206e6f6d696e61746f72732920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e2464656d6f637261637918185461626c65640c2450726f70496e6465781c42616c616e6365385665633c4163636f756e7449643e001c53746172746564083c5265666572656e64756d496e64657834566f74655468726573686f6c640018506173736564043c5265666572656e64756d496e64657800244e6f74506173736564043c5265666572656e64756d496e646578002443616e63656c6c6564043c5265666572656e64756d496e64657800204578656375746564083c5265666572656e64756d496e64657810626f6f6c001c636f756e63696c102c566f74657252656170656408244163636f756e744964244163636f756e74496404542072656170656420766f7465722c2072656170657240426164526561706572536c617368656404244163636f756e744964043c20736c6173686564207265617065723054616c6c7953746172746564040c75333204f420412074616c6c792028666f7220617070726f76616c20766f746573206f6620636f756e63696c2073656174287329292068617320737461727465642e3854616c6c7946696e616c6973656408385665633c4163636f756e7449643e385665633c4163636f756e7449643e04690120412074616c6c792028666f7220617070726f76616c20766f746573206f6620636f756e63696c2073656174287329292068617320656e646564202877697468206f6e65206f72206d6f7265206e6577206d656d62657273292e38636f756e63696c5f766f74696e67084054616c6c7943616e63656c6174696f6e1010486173680c7533320c7533320c753332080101204120766f74696e672074616c6c79206861732068617070656e656420666f722061207265666572656e64756d2063616e63656c6c6174696f6e20766f74652ea0204c61737420746872656520617265207965732c206e6f2c206162737461696e20636f756e74732e3c54616c6c795265666572656e64756d1010486173680c7533320c7533320c75333208cc204120766f74696e672074616c6c79206861732068617070656e656420666f722061207265666572656e64756d20766f74652ea0204c61737420746872656520617265207965732c206e6f2c206162737461696e20636f756e74732e3c636f756e63696c5f6d6f74696f6e73142050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173680c7533320465012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e20753332292e14566f74656414244163636f756e744964104861736810626f6f6c0c7533320c7533320809012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67f420612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e206173207533327320726573706563746976656c79292e20417070726f76656404104861736804c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404104861736804d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408104861736810626f6f6c0405012041206d6f74696f6e207761732065786563757465643b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e1c6772616e64706104384e6577417574686f72697469657304585665633c2853657373696f6e4b65792c20753634293e0490204e657720617574686f726974792073657420686173206265656e206170706c6965642e207472656173757279142050726f706f736564043450726f706f73616c496e6465780438204e65772070726f706f73616c2e205370656e64696e67041c42616c616e636504e8205765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c3450726f706f73616c496e6465781c42616c616e6365244163636f756e744964048020536f6d652066756e64732068617665206265656e20616c6c6f63617465642e144275726e74041c42616c616e6365048c20536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572041c42616c616e6365043101205370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e20636f6e747261637408205472616e736665720c244163636f756e744964244163636f756e7449641c42616c616e6365047501205472616e736665722068617070656e6564206066726f6d60202d3e2060746f60207769746820676976656e206076616c7565602061732070617274206f66206120606d6573736167652d63616c6c60206f722060637265617465602e1c4372656174656408244163636f756e744964244163636f756e74496404dc20436f6e7472616374206465706c6f7965642062792061646472657373206174207468652073706563696669656420616464726573732e2c757067726164655f6b65790820557067726164656400046820416e2075706772616465206a7573742068617070656e65642e284b65794368616e67656404244163636f756e74496404f820416e2075706772616465206a7573742068617070656e65643b206f6c64206b657920697320737570706c69656420617320616e20617267756d656e742e3c1873797374656d184d6f64756c651043616c6c00011853797374656d28304163636f756e744e6f6e636501013854203a3a204163636f756e7449642854203a3a20496e646578003845787472696e736963436f756e7400000c7533320024426c6f636b4861736801014054203a3a20426c6f636b4e756d6265722454203a3a2048617368003445787472696e7369634461746101010c75333228566563203c207538203e002852616e646f6d5365656401002454203a3a204861736800184e756d62657201004054203a3a20426c6f636b4e756d626572040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801002454203a3a2048617368003845787472696e73696373526f6f7401002454203a3a2048617368001844696765737401002c54203a3a2044696765737400184576656e7473010088566563203c204576656e745265636f7264203c2054203a3a204576656e74203e203e001061757261184d6f64756c651043616c6c00002474696d657374616d70184d6f64756c651043616c6c0400000c736574040c6e6f777c3c543a3a4d6f6d656e7420617320486173436f6d706163743e3a3a54797065205820536574207468652063757272656e742074696d652e0055012045787472696e736963207769746820746869732063616c6c2073686f756c6420626520706c616365642061742074686520737065636966696320706f736974696f6e20696e20746865206561636820626c6f636b6d012028737065636966696564206279207468652054726169743a3a54494d455354414d505f5345545f504f534954494f4e29207479706963616c6c7920617420746865207374617274206f6620746865206561636820626c6f636b2e750120546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e2070686173652cbc20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e008501205468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062792060626c6f636b5f706572696f64602e012454696d657374616d700c0c4e6f7701002c54203a3a204d6f6d656e7404902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e2c426c6f636b506572696f6401002c54203a3a204d6f6d656e7404c420546865206d696e696d756d2028616e6420616476697365642920706572696f64206265747765656e20626c6f636b732e24446964557064617465010010626f6f6c04b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f24636f6e73656e737573184d6f64756c651043616c6c180000487265706f72745f6d69736265686176696f72041c5f7265706f72741c5665633c75383e0468205265706f727420736f6d65206d69736265686176696f75722e0100306e6f74655f6f66666c696e65041c6f66666c696e65f43c543a3a496e686572656e744f66666c696e655265706f727420617320496e686572656e744f66666c696e655265706f72743e3a3a496e686572656e74044501204e6f7465207468652070726576696f757320626c6f636b27732076616c696461746f72206d6973736564207468656972206f70706f7274756e69747920746f2070726f706f7365206120626c6f636b2e02001872656d61726b041c5f72656d61726b1c5665633c75383e046c204d616b6520736f6d65206f6e2d636861696e2072656d61726b2e0300387365745f686561705f7061676573041470616765730c75363404fc2053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e0400207365745f636f6465040c6e65771c5665633c75383e04482053657420746865206e657720636f64652e05002c7365745f73746f7261676504146974656d73345665633c4b657956616c75653e046c2053657420736f6d65206974656d73206f662073746f726167652e0124436f6e73656e737573044c4f726967696e616c417574686f72697469657300005c566563203c2054203a3a2053657373696f6e4b6579203e002062616c616e636573184d6f64756c651043616c6c080000207472616e73666572081064657374a4526177416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e1476616c7565803c543a3a42616c616e636520617320486173436f6d706163743e3a3a5479706504d4205472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572207374616b65722e01002c7365745f62616c616e63650c0c77686fa4526177416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e1066726565803c543a3a42616c616e636520617320486173436f6d706163743e3a3a54797065207265736572766564803c543a3a42616c616e636520617320486173436f6d706163743e3a3a54797065049420536574207468652062616c616e636573206f66206120676976656e206163636f756e742e012042616c616e6365732c34546f74616c49737375616e636501003054203a3a2042616c616e636504a42054686520746f74616c20616d6f756e74206f66207374616b65206f6e207468652073797374656d2e484578697374656e7469616c4465706f73697401003054203a3a2042616c616e636504d020546865206d696e696d756d20616d6f756e7420616c6c6f77656420746f206b65657020616e206163636f756e74206f70656e2e345265636c61696d52656261746501003054203a3a2042616c616e63650429012054686520616d6f756e7420637265646974656420746f20612064657374696e6174696f6e2773206163636f756e742077686f736520696e64657820776173207265636c61696d65642e2c5472616e7366657246656501003054203a3a2042616c616e63650494205468652066656520726571756972656420746f206d616b652061207472616e736665722e2c4372656174696f6e46656501003054203a3a2042616c616e6365042501205468652066656520726571756972656420746f2063726561746520616e206163636f756e742e204174206c6561737420617320626967206173205265636c61696d5265626174652e2c4e657874456e756d53657401004454203a3a204163636f756e74496e646578047c20546865206e657874206672656520656e756d65726174696f6e207365742e1c456e756d53657401014454203a3a204163636f756e74496e64657858566563203c2054203a3a204163636f756e744964203e04582054686520656e756d65726174696f6e20736574732e2c4672656542616c616e636501013854203a3a204163636f756e7449643054203a3a2042616c616e63652c9c20546865202766726565272062616c616e6365206f66206120676976656e206163636f756e742e004d01205468697320697320746865206f6e6c792062616c616e63652074686174206d61747465727320696e207465726d73206f66206d6f7374206f7065726174696f6e73206f6e20746f6b656e732e204974206973690120616c6f6e65207573656420746f2064657465726d696e65207468652062616c616e6365207768656e20696e2074686520636f6e747261637420657865637574696f6e20656e7669726f6e6d656e742e205768656e207468697355012062616c616e63652066616c6c732062656c6f77207468652076616c7565206f6620604578697374656e7469616c4465706f736974602c207468656e20746865202763757272656e74206163636f756e74272069733d012064656c657465643a207370656369666963616c6c7920604672656542616c616e6365602e20467572746865726d6f72652c20604f6e4672656542616c616e63655a65726f602063616c6c6261636b410120697320696e766f6b65642c20676976696e672061206368616e636520746f2065787465726e616c206d6f64756c657320746f20636c65616e75702064617461206173736f636961746564207769746854207468652064656c65746564206163636f756e742e005d01206073797374656d3a3a4163636f756e744e6f6e63656020697320616c736f2064656c657465642069662060526573657276656442616c616e63656020697320616c736f207a65726f2028697420616c736f2067657473150120636f6c6c617073656420746f207a65726f2069662069742065766572206265636f6d6573206c657373207468616e20604578697374656e7469616c4465706f736974602e3c526573657276656442616c616e636501013854203a3a204163636f756e7449643054203a3a2042616c616e63653075012054686520616d6f756e74206f66207468652062616c616e6365206f66206120676976656e206163636f756e7420746861742069732065787465726e616c6c792072657365727665643b20746869732063616e207374696c6c206765749c20736c61736865642c20627574206765747320736c6173686564206c617374206f6620616c6c2e006d0120546869732062616c616e63652069732061202772657365727665272062616c616e63652074686174206f746865722073756273797374656d732075736520696e206f7264657220746f2073657420617369646520746f6b656e737101207468617420617265207374696c6c20276f776e65642720627920746865206163636f756e7420686f6c6465722c20627574207768696368206172652073757370656e6461626c652e20285468697320697320646966666572656e74290120616e642077686f6c6c7920756e72656c6174656420746f207468652060426f6e64616765602073797374656d207573656420696e20746865207374616b696e67206d6f64756c652e29007501205768656e20746869732062616c616e63652066616c6c732062656c6f77207468652076616c7565206f6620604578697374656e7469616c4465706f736974602c207468656e2074686973202772657365727665206163636f756e7427b42069732064656c657465643a207370656369666963616c6c792c2060526573657276656442616c616e6365602e004d01206073797374656d3a3a4163636f756e744e6f6e63656020697320616c736f2064656c6574656420696620604672656542616c616e63656020697320616c736f207a65726f2028697420616c736f2067657473150120636f6c6c617073656420746f207a65726f2069662069742065766572206265636f6d6573206c657373207468616e20604578697374656e7469616c4465706f736974602e485472616e73616374696f6e4261736546656501003054203a3a2042616c616e636504dc205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b2074686520626173652e485472616e73616374696f6e4279746546656501003054203a3a2042616c616e6365040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e1c73657373696f6e184d6f64756c651043616c6c0c00001c7365745f6b6579040c6b657934543a3a53657373696f6e4b65790861012053657473207468652073657373696f6e206b6579206f6620605f76616c696461746f726020746f20605f6b6579602e205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e657874242073657373696f6e2e0100287365745f6c656e677468040c6e6577903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a54797065046d01205365742061206e65772073657373696f6e206c656e6774682e20576f6e2774206b69636b20696e20756e74696c20746865206e6578742073657373696f6e206368616e6765202861742063757272656e74206c656e677468292e020044666f7263655f6e65775f73657373696f6e04346170706c795f7265776172647310626f6f6c045820466f726365732061206e65772073657373696f6e2e011c53657373696f6e202856616c696461746f7273010058566563203c2054203a3a204163636f756e744964203e047c205468652063757272656e7420736574206f662076616c696461746f72732e3453657373696f6e4c656e67746801004054203a3a20426c6f636b4e756d626572047c2043757272656e74206c656e677468206f66207468652073657373696f6e2e3043757272656e74496e64657801004054203a3a20426c6f636b4e756d62657204782043757272656e7420696e646578206f66207468652073657373696f6e2e3043757272656e74537461727401002c54203a3a204d6f6d656e7404a02054696d657374616d70207768656e2063757272656e742073657373696f6e20737461727465642e44466f7263696e674e657753657373696f6e000010626f6f6c087901204e65772073657373696f6e206973206265696e6720666f72636564206973207468697320656e747279206578697374733b20696e20776869636820636173652c2074686520626f6f6c65616e2076616c75652069732077686574686572810120746865206e65772073657373696f6e2073686f756c6420626520636f6e736964657265642061206e6f726d616c20726f746174696f6e202872657761726461626c6529206f7220657863657074696f6e616c2028736c61736861626c65292e404c6173744c656e6774684368616e676500004054203a3a20426c6f636b4e756d62657204c020426c6f636b206174207768696368207468652073657373696f6e206c656e677468206c617374206368616e6765642e284e6578744b6579466f7200013854203a3a204163636f756e7449643c54203a3a2053657373696f6e4b6579049020546865206e657874206b657920666f72206120676976656e2076616c696461746f722e444e65787453657373696f6e4c656e67746800004054203a3a20426c6f636b4e756d626572046420546865206e6578742073657373696f6e206c656e6774682e1c7374616b696e67184d6f64756c651043616c6c280000147374616b65000cc0204465636c617265207468652064657369726520746f207374616b6520666f7220746865207472616e736163746f722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e01001c756e7374616b650440696e74656e74696f6e735f696e64657830436f6d706163743c7533323e0cc02052657472616374207468652064657369726520746f207374616b6520666f7220746865207472616e736163746f722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e0200206e6f6d696e617465041874617267657498416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e00030028756e6e6f6d696e61746504307461726765745f696e64657830436f6d706163743c7533323e0811012057696c6c2070616e69632069662063616c6c6564207768656e20736f757263652069736e27742063757272656e746c79206e6f6d696e6174696e67207461726765742ee42055706461746573204e6f6d696e6174696e672c204e6f6d696e61746f7273466f7220616e64204e6f6d696e6174696f6e42616c616e63652e04005072656769737465725f707265666572656e6365730840696e74656e74696f6e735f696e64657830436f6d706163743c7533323e1470726566736856616c696461746f7250726566733c543a3a42616c616e63653e0c5901205365742074686520676976656e206163636f756e74277320707265666572656e636520666f7220736c617368696e67206265686176696f75722073686f756c64207468657920626520612076616c696461746f722e00190120416e206572726f7220286e6f2d6f7029206966206053656c663a3a696e74656e74696f6e7328295b696e74656e74696f6e735f696e6465785d20213d206f726967696e602e0500507365745f73657373696f6e735f7065725f657261040c6e6577903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a5479706504982053657420746865206e756d626572206f662073657373696f6e7320696e20616e206572612e0600507365745f626f6e64696e675f6475726174696f6e040c6e6577903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a5479706504b020546865206c656e677468206f662074686520626f6e64696e67206475726174696f6e20696e20657261732e07004c7365745f76616c696461746f725f636f756e74040c6e657730436f6d706163743c7533323e04802054686520696465616c206e756d626572206f662076616c696461746f72732e080034666f7263655f6e65775f65726104346170706c795f7265776172647310626f6f6c083d0120466f72636520746865726520746f2062652061206e6577206572612e205468697320616c736f20666f726365732061206e65772073657373696f6e20696d6d6564696174656c792061667465722e250120606170706c795f72657761726473602073686f756c64206265207472756520666f722076616c696461746f727320746f20676574207468652073657373696f6e207265776172642e09005c7365745f6f66666c696e655f736c6173685f6772616365040c6e657730436f6d706163743c7533323e04902053657420746865206f66666c696e6520736c61736820677261636520706572696f642e011c5374616b696e67543856616c696461746f72436f756e7401000c75333204a82054686520696465616c206e756d626572206f66207374616b696e67207061727469636970616e74732e544d696e696d756d56616c696461746f72436f756e7401000c753332044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e3853657373696f6e7350657245726101004054203a3a20426c6f636b4e756d62657204a420546865206c656e677468206f662061207374616b696e672065726120696e2073657373696f6e732e3453657373696f6e52657761726401001c50657262696c6c042101204d6178696d756d207265776172642c207065722076616c696461746f722c20746861742069732070726f7669646564207065722061636365707461626c652073657373696f6e2e304f66666c696e65536c61736801001c50657262696c6c04510120536c6173682c207065722076616c696461746f7220746861742069732074616b656e20666f72207468652066697273742074696d6520746865792061726520666f756e6420746f206265206f66666c696e652e444f66666c696e65536c617368477261636501000c753332043901204e756d626572206f6620696e7374616e636573206f66206f66666c696e65207265706f727473206265666f726520736c617368696e6720626567696e7320666f722076616c696461746f72732e3c426f6e64696e674475726174696f6e01004054203a3a20426c6f636b4e756d62657204b820546865206c656e677468206f662074686520626f6e64696e67206475726174696f6e20696e20626c6f636b732e2843757272656e7445726101004054203a3a20426c6f636b4e756d626572045c205468652063757272656e742065726120696e6465782e5056616c696461746f72507265666572656e63657301013854203a3a204163636f756e7449647c56616c696461746f725072656673203c2054203a3a2042616c616e6365203e048820507265666572656e636573207468617420612076616c696461746f72206861732e28496e74656e74696f6e73010058566563203c2054203a3a204163636f756e744964203e04a420416c6c20746865206163636f756e7473207769746820612064657369726520746f207374616b652e284e6f6d696e6174696e6700013854203a3a204163636f756e7449643854203a3a204163636f756e74496404a020416c6c206e6f6d696e61746f72202d3e206e6f6d696e65652072656c6174696f6e73686970732e344e6f6d696e61746f7273466f7201013854203a3a204163636f756e74496458566563203c2054203a3a204163636f756e744964203e0494204e6f6d696e61746f727320666f72206120706172746963756c6172206163636f756e742e5043757272656e744e6f6d696e61746f7273466f7201013854203a3a204163636f756e74496458566563203c2054203a3a204163636f756e744964203e040501204e6f6d696e61746f727320666f72206120706172746963756c6172206163636f756e74207468617420697320696e20616374696f6e207269676874206e6f772e5043757272656e7453657373696f6e52657761726401003054203a3a2042616c616e6365042101204d6178696d756d207265776172642c207065722076616c696461746f722c20746861742069732070726f7669646564207065722061636365707461626c652073657373696f6e2e4c43757272656e744f66666c696e65536c61736801003054203a3a2042616c616e636504510120536c6173682c207065722076616c696461746f7220746861742069732074616b656e20666f72207468652066697273742074696d6520746865792061726520666f756e6420746f206265206f66666c696e652e484e65787453657373696f6e7350657245726100004054203a3a20426c6f636b4e756d626572049020546865206e6578742076616c7565206f662073657373696f6e7320706572206572612e4c4c6173744572614c656e6774684368616e676501004054203a3a20426c6f636b4e756d62657204e0205468652073657373696f6e20696e6465782061742077686963682074686520657261206c656e677468206c617374206368616e6765642e285374616b6552616e676501005c506169724f66203c2054203a3a2042616c616e6365203e04f020546865206869676865737420616e64206c6f77657374207374616b65642076616c696461746f7220736c61736861626c652062616c616e6365732e1c426f6e6461676501013854203a3a204163636f756e7449644054203a3a20426c6f636b4e756d62657204f42054686520626c6f636b20617420776869636820746865206077686f6027732066756e6473206265636f6d6520656e746972656c79206c69717569642e28536c617368436f756e7401013854203a3a204163636f756e7449640c75333204d10120546865206e756d626572206f662074696d6573206120676976656e2076616c696461746f7220686173206265656e207265706f72746564206f66666c696e652e205468697320676574732064656372656d656e746564206279206f6e652065616368206572612074686174207061737365732e34466f7263696e674e65774572610000102820202904682057652061726520666f7263696e672061206e6577206572612e2464656d6f6372616379184d6f64756c651043616c6c1800001c70726f706f7365082070726f706f73616c40426f783c543a3a50726f706f73616c3e1476616c7565803c543a3a42616c616e636520617320486173436f6d706163743e3a3a5479706504a02050726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e0100187365636f6e64042070726f706f73616c48436f6d706163743c50726f70496e6465783e04a02050726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e020010766f746508247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e40617070726f76655f70726f706f73616c10626f6f6c08610120566f746520696e2061207265666572656e64756d2e2049662060617070726f76655f70726f706f73616c6020697320747275652c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bb82066616c736520776f756c64206265206120766f746520746f206b65657020746865207374617475732071756f2e03004073746172745f7265666572656e64756d0c2070726f706f73616c40426f783c543a3a50726f706f73616c3e247468726573686f6c6434566f74655468726573686f6c641464656c617938543a3a426c6f636b4e756d62657204502053746172742061207265666572656e64756d2e04004463616e63656c5f7265666572656e64756d04247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e04542052656d6f76652061207265666572656e64756d2e05003463616e63656c5f71756575656408107768656e38543a3a426c6f636b4e756d6265721477686963680c75333204a02043616e63656c20612070726f706f73616c2071756575656420666f7220656e6163746d656e742e012444656d6f6372616379383c5075626c696350726f70436f756e7401002450726f70496e64657804f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f70730100d8566563203c20282050726f70496e646578202c2054203a3a2050726f706f73616c202c2054203a3a204163636f756e7449642029203e048020546865207075626c69632070726f706f73616c732e20556e736f727465642e244465706f7369744f6600012450726f70496e646578a4282054203a3a2042616c616e6365202c20566563203c2054203a3a204163636f756e744964203e202904842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e304c61756e6368506572696f6401004054203a3a20426c6f636b4e756d62657204e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e384d696e696d756d4465706f73697401003054203a3a2042616c616e636504350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e2c5075626c696344656c617901004054203a3a20426c6f636b4e756d62657204d4205468652064656c6179206265666f726520656e6163746d656e7420666f7220616c6c207075626c6963207265666572656e64612e30566f74696e67506572696f6401004054203a3a20426c6f636b4e756d62657204b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e3c5265666572656e64756d436f756e7401003c5265666572656e64756d496e64657804390120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e64756d73207374617274656420736f206661722e244e65787454616c6c7901003c5265666572656e64756d496e64657804c820546865206e657874207265666572656e64756d20696e64657820746861742073686f756c642062652074616c6c6965642e405265666572656e64756d496e666f4f6600013c5265666572656e64756d496e646578dc28205265666572656e64756d496e666f203c2054203a3a20426c6f636b4e756d626572202c2054203a3a2050726f706f73616c203e202904b420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e344469737061746368517565756501014054203a3a20426c6f636b4e756d626572d8566563203c204f7074696f6e203c20282054203a3a2050726f706f73616c202c205265666572656e64756d496e6465782029203e203e04c0205175657565206f66207375636365737366756c207265666572656e646120746f20626520646973706174636865642e1c426f6e6461676501013854203a3a204163636f756e7449644054203a3a20426c6f636b4e756d62657204d02054686520626c6f636b20617420776869636820746865206077686f6027732066756e6473206265636f6d65206c69717569642e24566f74657273466f7201013c5265666572656e64756d496e64657858566563203c2054203a3a204163636f756e744964203e04a4204765742074686520766f7465727320666f72207468652063757272656e742070726f706f73616c2e18566f74654f6600019028205265666572656e64756d496e646578202c2054203a3a204163636f756e744964202910626f6f6c0484204765742074686520766f74652c20696620536f6d652c206f66206077686f602e1c636f756e63696c184d6f64756c651043616c6c240000347365745f617070726f76616c730814766f746573245665633c626f6f6c3e14696e64657848436f6d706163743c566f7465496e6465783e086101205365742063616e64696461746520617070726f76616c732e20417070726f76616c20736c6f747320737461792076616c6964206173206c6f6e672061732063616e6469646174657320696e2074686f736520736c6f7473402061726520726567697374657265642e01004c726561705f696e6163746976655f766f74657210387265706f727465725f696e64657830436f6d706163743c7533323e0c77686f98416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e2477686f5f696e64657830436f6d706163743c7533323e48617373756d65645f766f74655f696e64657848436f6d706163743c566f7465496e6465783e1461012052656d6f7665206120766f7465722e20466f72206974206e6f7420746f206265206120626f6e642d636f6e73756d696e67206e6f2d6f702c20616c6c20617070726f7665642063616e64696461746520696e64696365737101206d757374206e6f772062652065697468657220756e72656769737465726564206f72207265676973746572656420746f20612063616e646964617465207468617420726567697374657265642074686520736c6f74206166746572a02074686520766f7465722067617665207468656972206c61737420617070726f76616c207365742e000101204d61792062652063616c6c656420627920616e796f6e652e2052657475726e732074686520766f746572206465706f73697420746f20607369676e6564602e020034726574726163745f766f7465720414696e64657830436f6d706163743c7533323e042d012052656d6f7665206120766f7465722e20416c6c20766f746573206172652063616e63656c6c656420616e642074686520766f746572206465706f7369742069732072657475726e65642e0300407375626d69745f63616e6469646163790410736c6f7430436f6d706163743c7533323e0c78205375626d6974206f6e6573656c6620666f722063616e6469646163792e001101204163636f756e74206d757374206861766520656e6f756768207472616e736665727261626c652066756e647320696e20697420746f207061792074686520626f6e642e04003870726573656e745f77696e6e65720c2463616e64696461746598416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e14746f74616c803c543a3a42616c616e636520617320486173436f6d706163743e3a3a5479706514696e64657848436f6d706163743c566f7465496e6465783e0c650120436c61696d207468617420607369676e656460206973206f6e65206f662074686520746f702053656c663a3a63617272795f636f756e742829202b2063757272656e745f766f746528292e312063616e646964617465732ea501204f6e6c7920776f726b73206966207468652060626c6f636b5f6e756d626572203e3d2063757272656e745f766f746528292e306020616e6420603c2063757272656e745f766f746528292e30202b2070726573656e746174696f6e5f6475726174696f6e282960607820607369676e6564602073686f756c642068617665206174206c656173740500447365745f646573697265645f73656174730414636f756e7430436f6d706163743c7533323e0c650120536574207468652064657369726564206d656d62657220636f756e743b206966206c6f776572207468616e207468652063757272656e7420636f756e742c207468656e2073656174732077696c6c206e6f74206265207570690120656c656374696f6e207768656e2074686579206578706972652e204966206d6f72652c207468656e2061206e657720766f74652077696c6c2062652073746172746564206966206f6e65206973206e6f7420616c72656164793420696e2070726f67726573732e06003472656d6f76655f6d656d626572040c77686f98416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e0c71012052656d6f7665206120706172746963756c6172206d656d6265722e20412074616c6c792077696c6c2068617070656e20696e7374616e746c7920286966206e6f7420616c726561647920696e20612070726573656e746174696f6e410120706572696f642920746f2066696c6c2074686520736561742069662072656d6f76616c206d65616e732074686174207468652064657369726564206d656d6265727320617265206e6f74206d65742e7c20546869732069732065666665637469766520696d6d6564696174656c792e0700647365745f70726573656e746174696f6e5f6475726174696f6e0414636f756e74903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a5479706508590120536574207468652070726573656e746174696f6e206475726174696f6e2e2049662074686572652069732063757272656e746c79206120766f7465206265696e672070726573656e74656420666f722c2077696c6c6020696e766f6b65206066696e616c6973655f766f7465602e0800447365745f7465726d5f6475726174696f6e0414636f756e74903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a5479706508510120536574207468652070726573656e746174696f6e206475726174696f6e2e2049662074686572652069732063757272656e74206120766f7465206265696e672070726573656e74656420666f722c2077696c6c6020696e766f6b65206066696e616c6973655f766f7465602e011c436f756e63696c503443616e646964616379426f6e6401003054203a3a2042616c616e636504050120486f77206d7563682073686f756c64206265206c6f636b656420757020696e206f7264657220746f207375626d6974206f6e6527732063616e6469646163792e28566f74696e67426f6e6401003054203a3a2042616c616e636504090120486f77206d7563682073686f756c64206265206c6f636b656420757020696e206f7264657220746f2062652061626c6520746f207375626d697420766f7465732e5050726573656e74536c617368506572566f74657201003054203a3a2042616c616e6365040d01205468652070756e6973686d656e742c2070657220766f7465722c20696620796f752070726f7669646520616e20696e76616c69642070726573656e746174696f6e2e284361727279436f756e7401000c75333204350120486f77206d616e792072756e6e6572732d75702073686f756c64206861766520746865697220617070726f76616c73207065727369737420756e74696c20746865206e65787420766f74652e5050726573656e746174696f6e4475726174696f6e01004054203a3a20426c6f636b4e756d626572043d0120486f77206c6f6e6720746f2067697665206561636820746f702063616e64696461746520746f2070726573656e74207468656d73656c7665732061667465722074686520766f746520656e64732e4c496e6163746976654772616365506572696f64010024566f7465496e64657808690120486f77206d616e7920766f746573206e65656420746f20676f206279206166746572206120766f7465722773206c61737420766f7465206265666f726520746865792063616e206265207265617065642069662074686569725020617070726f76616c7320617265206d6f6f742e30566f74696e67506572696f6401004054203a3a20426c6f636b4e756d62657204b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e305465726d4475726174696f6e01004054203a3a20426c6f636b4e756d626572049820486f77206c6f6e67206561636820706f736974696f6e2069732061637469766520666f722e3044657369726564536561747301000c75333204e8204e756d626572206f66206163636f756e747320746861742073686f756c642062652073697474696e67206f6e2074686520636f756e63696c2e34416374697665436f756e63696c0100b4566563203c20282054203a3a204163636f756e744964202c2054203a3a20426c6f636b4e756d6265722029203e086d01205468652063757272656e7420636f756e63696c2e205768656e2074686572652773206120766f746520676f696e67206f6e2c20746869732073686f756c64207374696c6c206265207573656420666f722065786563757469766524206d6174746572732e24566f7465436f756e74010024566f7465496e6465780405012054686520746f74616c206e756d626572206f6620766f746573207468617420686176652068617070656e6564206f722061726520696e2070726f67726573732e2c417070726f76616c734f6601013854203a3a204163636f756e74496430566563203c20626f6f6c203e04010120546865206c61737420636c656172656420766f746520696e6465782074686174207468697320766f74657220776173206c617374206163746976652061742e385265676973746572496e666f4f6600013854203a3a204163636f756e7449644c2820566f7465496e646578202c207533322029087d012054686520766f746520696e64657820616e64206c69737420736c6f742074686174207468652063616e646964617465206077686f60207761732072656769737465726564206f7220604e6f6e6560206966207468657920617265206e6f74582063757272656e746c7920726567697374657265642e304c6173744163746976654f6600013854203a3a204163636f756e74496424566f7465496e64657804010120546865206c61737420636c656172656420766f746520696e6465782074686174207468697320766f74657220776173206c617374206163746976652061742e18566f74657273010058566563203c2054203a3a204163636f756e744964203e0460205468652070726573656e7420766f746572206c6973742e2843616e64696461746573010058566563203c2054203a3a204163636f756e744964203e0470205468652070726573656e742063616e646964617465206c6973742e3843616e646964617465436f756e7401000c75333200304e65787446696e616c6973650000cc282054203a3a20426c6f636b4e756d626572202c20753332202c20566563203c2054203a3a204163636f756e744964203e202904210120546865206163636f756e747320686f6c64696e672074686520736561747320746861742077696c6c206265636f6d652066726565206f6e20746865206e6578742074616c6c792e40536e617073686f7465645374616b6573010050566563203c2054203a3a2042616c616e6365203e04e820546865207374616b6573206173207468657920776572652061742074686520706f696e7420746861742074686520766f746520656e6465642e2c4c6561646572626f6172640000a4566563203c20282054203a3a2042616c616e6365202c2054203a3a204163636f756e7449642029203e04e02047657420746865206c6561646572626f6172642069662077653b726520696e207468652070726573656e746174696f6e2070686173652e38636f756e63696c5f766f74696e67184d6f64756c651043616c6c1400001c70726f706f7365042070726f706f73616c40426f783c543a3a50726f706f73616c3e00010010766f7465082070726f706f73616c1c543a3a486173681c617070726f766510626f6f6c000200107665746f043470726f706f73616c5f686173681c543a3a48617368000300487365745f636f6f6c6f66665f706572696f640418626c6f636b73903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a54797065000400447365745f766f74696e675f706572696f640418626c6f636b73903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a54797065000134436f756e63696c566f74696e672034436f6f6c6f6666506572696f6401004054203a3a20426c6f636b4e756d6265720030566f74696e67506572696f6401004054203a3a20426c6f636b4e756d6265720040456e61637444656c6179506572696f6401004054203a3a20426c6f636b4e756d62657204cd01204e756d626572206f6620626c6f636b7320627920776869636820746f2064656c617920656e6163746d656e74206f66207375636365737366756c2c206e6f6e2d756e616e696d6f75732d636f756e63696c2d696e7374696761746564207265666572656e64756d2070726f706f73616c732e2450726f706f73616c730100a0566563203c20282054203a3a20426c6f636b4e756d626572202c2054203a3a20486173682029203e002850726f706f73616c4f6600012454203a3a20486173683454203a3a2050726f706f73616c003850726f706f73616c566f7465727301012454203a3a204861736858566563203c2054203a3a204163636f756e744964203e0034436f756e63696c566f74654f66000178282054203a3a2048617368202c2054203a3a204163636f756e744964202910626f6f6c00385665746f656450726f706f73616c00012454203a3a2048617368b4282054203a3a20426c6f636b4e756d626572202c20566563203c2054203a3a204163636f756e744964203e2029003c636f756e63696c5f6d6f74696f6e73184d6f64756c651043616c6c0800001c70726f706f736508247468726573686f6c6430436f6d706163743c7533323e2070726f706f73616c6c426f783c3c542061732054726169743e3a3a50726f706f73616c3e00010010766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c000138436f756e63696c4d6f74696f6e73102450726f706f73616c73010044566563203c2054203a3a2048617368203e0498205468652028686173686573206f662920746865206163746976652070726f706f73616c732e2850726f706f73616c4f6600012454203a3a2048617368683c2054206173205472616974203e203a3a2050726f706f73616c04cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e6700012454203a3a20486173682501282050726f706f73616c496e646578202c20753332202c20566563203c2054203a3a204163636f756e744964203e202c20566563203c2054203a3a204163636f756e744964203e202904250120566f74657320666f72206120676976656e2070726f706f73616c3a202872657175697265645f7965735f766f7465732c207965735f766f746572732c206e6f5f766f74657273292e3450726f706f73616c436f756e7401000c75333204482050726f706f73616c7320736f206661722e1c6772616e647061184d6f64756c651043616c6c040000487265706f72745f6d69736265686176696f72041c5f7265706f72741c5665633c75383e0468205265706f727420736f6d65206d69736265686176696f75722e013c4772616e64706146696e616c697479043450656e64696e674368616e67650000e853746f72656450656e64696e674368616e6765203c2054203a3a20426c6f636b4e756d626572202c2054203a3a2053657373696f6e4b6579203e00207472656173757279184d6f64756c651043616c6c1400003470726f706f73655f7370656e64081476616c7565803c543a3a42616c616e636520617320486173436f6d706163743e3a3a547970652c62656e656669636961727998416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e0c2d012050757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c7565350120697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e636520746865542070726f706f73616c20697320617761726465642e01001c7365745f706f74041c6e65775f706f74803c543a3a42616c616e636520617320486173436f6d706163743e3a3a5479706504b420536574207468652062616c616e6365206f662066756e647320617661696c61626c6520746f207370656e642e020024636f6e666967757265103470726f706f73616c5f626f6e641c5065726d696c6c5470726f706f73616c5f626f6e645f6d696e696d756d803c543a3a42616c616e636520617320486173436f6d706163743e3a3a54797065307370656e645f706572696f64903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a54797065106275726e1c5065726d696c6c0470202852652d29636f6e6669677572652074686973206d6f64756c652e03003c72656a6563745f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e04fc2052656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e040040617070726f76655f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e085d0120417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e01205472656173757279203050726f706f73616c426f6e6401001c5065726d696c6c0851012050726f706f7274696f6e206f662066756e647320746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c61636520612070726f706f73616c2e20416e206163636570746564dc2070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f65736e27742e4c50726f706f73616c426f6e644d696e696d756d01003054203a3a2042616c616e6365044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f6401004054203a3a20426c6f636b4e756d626572048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e01001c5065726d696c6c0411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e0c506f7401003054203a3a2042616c616e636504cc20546f74616c2066756e647320617661696c61626c6520746f2074686973206d6f64756c6520666f72207370656e64696e672e3450726f706f73616c436f756e7401003450726f706f73616c496e64657804a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c7300013450726f706f73616c496e646578a850726f706f73616c203c2054203a3a204163636f756e744964202c2054203a3a2042616c616e6365203e047c2050726f706f73616c7320746861742068617665206265656e206d6164652e24417070726f76616c73010054566563203c2050726f706f73616c496e646578203e04f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e20636f6e7472616374184d6f64756c651043616c6c0800001063616c6c10106465737430543a3a4163636f756e7449641476616c7565803c543a3a42616c616e636520617320486173436f6d706163743e3a3a54797065246761735f6c696d6974703c543a3a47617320617320486173436f6d706163743e3a3a5479706510646174611c5665633c75383e082901204d616b6520612063616c6c20746f206120737065636966696564206163636f756e742c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e2901204d616b6520612063616c6c20746f206120737065636966696564206163636f756e742c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e0100186372656174651024656e646f776d656e74803c543a3a42616c616e636520617320486173436f6d706163743e3a3a54797065246761735f6c696d6974703c543a3a47617320617320486173436f6d706163743e3a3a547970652463746f725f636f64651c5665633c75383e10646174611c5665633c75383e244d01204372656174652061206e657720636f6e74726163742c206f7074696f6e616c6c79207472616e73666572696e6720736f6d652062616c616e636520746f207468652063726561746564206163636f756e742e0084204372656174696f6e20697320657865637574656420617320666f6c6c6f77733a004101202d207468652064657374696e6174696f6e206164647265737320697320636f6d7075746564206261736564206f6e207468652073656e64657220616e642068617368206f662074686520636f64652eb8202d206163636f756e7420697320637265617465642061742074686520636f6d707574656420616464726573732e6d01202d20746865206063746f725f636f64656020697320657865637574656420696e2074686520636f6e74657874206f6620746865206e65776c792063726561746564206163636f756e742e204275666665722072657475726e65645d0120202061667465722074686520657865637574696f6e206973207361766564206173207468652060636f646560206f6620746865206163636f756e742e205468617420636f64652077696c6c20626520696e766f6b6564b420202075706f6e20616e79206d6573736167652072656365697665642062792074686973206163636f756e742e002c757067726164655f6b6579184d6f64756c651043616c6c0800001c75706772616465040c6e65771c5665633c75383e0001001c7365745f6b6579040c6e657730543a3a4163636f756e744964000128557067726164654b6579040c4b657901003854203a3a204163636f756e744964001043616c6c342454696d657374616d702474696d657374616d70000024436f6e73656e73757324636f6e73656e73757301002042616c616e6365732062616c616e63657302001c53657373696f6e1c73657373696f6e03001c5374616b696e671c7374616b696e6704002444656d6f63726163792464656d6f637261637905001c436f756e63696c1c636f756e63696c060034436f756e63696c566f74696e6738636f756e63696c5f766f74696e67070038436f756e63696c4d6f74696f6e733c636f756e63696c5f6d6f74696f6e7308001c4772616e6470611c6772616e64706109002054726561737572792074726561737572790a0020436f6e747261637420636f6e74726163740b0028557067726164654b65792c757067726164655f6b65790c00", + "result": "0x144576656e74301873797374656d084045787472696e7369635375636365737300049420416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656400045420416e2065787472696e736963206661696c65642e2062616c616e6365730c284e65774163636f756e740c244163636f756e744964304163636f756e74496e646578444e65774163636f756e744f7574636f6d65046c2041206e6577206163636f756e742077617320637265617465642e345265617065644163636f756e7404244163636f756e744964045c20416e206163636f756e7420776173207265617065642e205472616e7366657210244163636f756e744964244163636f756e7449641c42616c616e63651c42616c616e636504b0205472616e7366657220737563636565646564202866726f6d2c20746f2c2076616c75652c2066656573292e1c73657373696f6e04284e657753657373696f6e042c426c6f636b4e756d626572085501204e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f742074686520626c6f636b88206e756d626572206173207468652074797065206d6967687420737567676573742e1c7374616b696e670c18526577617264041c42616c616e636504e020416c6c2076616c696461746f72732068617665206265656e2072657761726465642062792074686520676976656e2062616c616e63652e384f66666c696e655761726e696e6708244163636f756e7449640c753332085501204f6e652076616c696461746f722028616e64207468656972206e6f6d696e61746f72732920686173206265656e20676976656e2061206f66666c696e652d7761726e696e67202874686579277265207374696c6c15012077697468696e207468656972206772616365292e205468652061636372756564206e756d626572206f6620736c6173686573206973207265636f726465642c20746f6f2e304f66666c696e65536c61736808244163636f756e7449641c42616c616e6365042d01204f6e652076616c696461746f722028616e64207468656972206e6f6d696e61746f72732920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e2464656d6f637261637918185461626c65640c2450726f70496e6465781c42616c616e6365385665633c4163636f756e7449643e001c53746172746564083c5265666572656e64756d496e64657834566f74655468726573686f6c640018506173736564043c5265666572656e64756d496e64657800244e6f74506173736564043c5265666572656e64756d496e646578002443616e63656c6c6564043c5265666572656e64756d496e64657800204578656375746564083c5265666572656e64756d496e64657810626f6f6c001c636f756e63696c102c566f74657252656170656408244163636f756e744964244163636f756e74496404542072656170656420766f7465722c2072656170657240426164526561706572536c617368656404244163636f756e744964043c20736c6173686564207265617065723054616c6c7953746172746564040c75333204f420412074616c6c792028666f7220617070726f76616c20766f746573206f6620636f756e63696c2073656174287329292068617320737461727465642e3854616c6c7946696e616c6973656408385665633c4163636f756e7449643e385665633c4163636f756e7449643e04690120412074616c6c792028666f7220617070726f76616c20766f746573206f6620636f756e63696c2073656174287329292068617320656e646564202877697468206f6e65206f72206d6f7265206e6577206d656d62657273292e38636f756e63696c5f766f74696e67084054616c6c7943616e63656c6174696f6e1010486173680c7533320c7533320c753332080101204120766f74696e672074616c6c79206861732068617070656e656420666f722061207265666572656e64756d2063616e63656c6c6174696f6e20766f74652ea0204c61737420746872656520617265207965732c206e6f2c206162737461696e20636f756e74732e3c54616c6c795265666572656e64756d1010486173680c7533320c7533320c75333208cc204120766f74696e672074616c6c79206861732068617070656e656420666f722061207265666572656e64756d20766f74652ea0204c61737420746872656520617265207965732c206e6f2c206162737461696e20636f756e74732e3c636f756e63696c5f6d6f74696f6e73142050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173680c7533320465012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e20753332292e14566f74656414244163636f756e744964104861736810626f6f6c0c7533320c7533320809012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67f420612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e206173207533327320726573706563746976656c79292e20417070726f76656404104861736804c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404104861736804d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408104861736810626f6f6c0405012041206d6f74696f6e207761732065786563757465643b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e1c6772616e64706104384e6577417574686f72697469657304585665633c2853657373696f6e4b65792c20753634293e0490204e657720617574686f726974792073657420686173206265656e206170706c6965642e207472656173757279142050726f706f736564043450726f706f73616c496e6465780438204e65772070726f706f73616c2e205370656e64696e67041c42616c616e636504e8205765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c3450726f706f73616c496e6465781c42616c616e6365244163636f756e744964048020536f6d652066756e64732068617665206265656e20616c6c6f63617465642e144275726e74041c42616c616e6365048c20536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572041c42616c616e6365043101205370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e20636f6e747261637408205472616e736665720c244163636f756e744964244163636f756e7449641c42616c616e6365047501205472616e736665722068617070656e6564206066726f6d60202d3e2060746f60207769746820676976656e206076616c7565602061732070617274206f66206120606d6573736167652d63616c6c60206f722060637265617465602e1c4372656174656408244163636f756e744964244163636f756e74496404dc20436f6e7472616374206465706c6f7965642062792061646472657373206174207468652073706563696669656420616464726573732e2c757067726164655f6b65790820557067726164656400046820416e2075706772616465206a7573742068617070656e65642e284b65794368616e67656404244163636f756e74496404f820416e2075706772616465206a7573742068617070656e65643b206f6c64206b657920697320737570706c69656420617320616e20617267756d656e742e3c1873797374656d184d6f64756c651043616c6c00011853797374656d28304163636f756e744e6f6e636501013854203a3a204163636f756e7449642854203a3a20496e646578003845787472696e736963436f756e7400000c7533320024426c6f636b4861736801014054203a3a20426c6f636b4e756d6265722454203a3a2048617368003445787472696e7369634461746101010c75333228566563203c207538203e002852616e646f6d5365656401002454203a3a204861736800184e756d62657201004054203a3a20426c6f636b4e756d626572040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801002454203a3a2048617368003845787472696e73696373526f6f7401002454203a3a2048617368001844696765737401002c54203a3a2044696765737400184576656e7473010088566563203c204576656e745265636f7264203c2054203a3a204576656e74203e203e001061757261184d6f64756c651043616c6c00002474696d657374616d70184d6f64756c651043616c6c0400000c736574040c6e6f777c3c543a3a4d6f6d656e7420617320486173436f6d706163743e3a3a54797065205820536574207468652063757272656e742074696d652e0055012045787472696e736963207769746820746869732063616c6c2073686f756c6420626520706c616365642061742074686520737065636966696320706f736974696f6e20696e20746865206561636820626c6f636b6d012028737065636966696564206279207468652054726169743a3a54494d455354414d505f5345545f504f534954494f4e29207479706963616c6c7920617420746865207374617274206f6620746865206561636820626c6f636b2e750120546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e2070686173652cbc20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e008501205468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062792060626c6f636b5f706572696f64602e012454696d657374616d700c0c4e6f7701002c54203a3a204d6f6d656e7404902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e2c426c6f636b506572696f6401002c54203a3a204d6f6d656e7404c420546865206d696e696d756d2028616e6420616476697365642920706572696f64206265747765656e20626c6f636b732e24446964557064617465010010626f6f6c04b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f24636f6e73656e737573184d6f64756c651043616c6c180000487265706f72745f6d69736265686176696f72041c5f7265706f72741c5665633c75383e0468205265706f727420736f6d65206d69736265686176696f75722e0100306e6f74655f6f66666c696e65041c6f66666c696e65f43c543a3a496e686572656e744f66666c696e655265706f727420617320496e686572656e744f66666c696e655265706f72743e3a3a496e686572656e74044501204e6f7465207468652070726576696f757320626c6f636b27732076616c696461746f72206d6973736564207468656972206f70706f7274756e69747920746f2070726f706f7365206120626c6f636b2e02001872656d61726b041c5f72656d61726b1c5665633c75383e046c204d616b6520736f6d65206f6e2d636861696e2072656d61726b2e0300387365745f686561705f7061676573041470616765730c75363404fc2053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e0400207365745f636f6465040c6e65771c5665633c75383e04482053657420746865206e657720636f64652e05002c7365745f73746f7261676504146974656d73345665633c4b657956616c75653e046c2053657420736f6d65206974656d73206f662073746f726167652e0124436f6e73656e737573044c4f726967696e616c417574686f72697469657300005c566563203c2054203a3a2053657373696f6e4b6579203e002062616c616e636573184d6f64756c651043616c6c080000207472616e73666572081064657374a4526177416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e1476616c7565803c543a3a42616c616e636520617320486173436f6d706163743e3a3a5479706504d4205472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572207374616b65722e01002c7365745f62616c616e63650c0c77686fa4526177416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e1066726565803c543a3a42616c616e636520617320486173436f6d706163743e3a3a54797065207265736572766564803c543a3a42616c616e636520617320486173436f6d706163743e3a3a54797065049420536574207468652062616c616e636573206f66206120676976656e206163636f756e742e012042616c616e6365732c34546f74616c49737375616e636501003054203a3a2042616c616e636504a42054686520746f74616c20616d6f756e74206f66207374616b65206f6e207468652073797374656d2e484578697374656e7469616c4465706f73697401003054203a3a2042616c616e636504d020546865206d696e696d756d20616d6f756e7420616c6c6f77656420746f206b65657020616e206163636f756e74206f70656e2e345265636c61696d52656261746501003054203a3a2042616c616e63650429012054686520616d6f756e7420637265646974656420746f20612064657374696e6174696f6e2773206163636f756e742077686f736520696e64657820776173207265636c61696d65642e2c5472616e7366657246656501003054203a3a2042616c616e63650494205468652066656520726571756972656420746f206d616b652061207472616e736665722e2c4372656174696f6e46656501003054203a3a2042616c616e6365042501205468652066656520726571756972656420746f2063726561746520616e206163636f756e742e204174206c6561737420617320626967206173205265636c61696d5265626174652e2c4e657874456e756d53657401004454203a3a204163636f756e74496e646578047c20546865206e657874206672656520656e756d65726174696f6e207365742e1c456e756d53657401014454203a3a204163636f756e74496e64657858566563203c2054203a3a204163636f756e744964203e04582054686520656e756d65726174696f6e20736574732e2c4672656542616c616e636501013854203a3a204163636f756e7449643054203a3a2042616c616e63652c9c20546865202766726565272062616c616e6365206f66206120676976656e206163636f756e742e004d01205468697320697320746865206f6e6c792062616c616e63652074686174206d61747465727320696e207465726d73206f66206d6f7374206f7065726174696f6e73206f6e20746f6b656e732e204974206973690120616c6f6e65207573656420746f2064657465726d696e65207468652062616c616e6365207768656e20696e2074686520636f6e747261637420657865637574696f6e20656e7669726f6e6d656e742e205768656e207468697355012062616c616e63652066616c6c732062656c6f77207468652076616c7565206f6620604578697374656e7469616c4465706f736974602c207468656e20746865202763757272656e74206163636f756e74272069733d012064656c657465643a207370656369666963616c6c7920604672656542616c616e6365602e20467572746865726d6f72652c20604f6e4672656542616c616e63655a65726f602063616c6c6261636b410120697320696e766f6b65642c20676976696e672061206368616e636520746f2065787465726e616c206d6f64756c657320746f20636c65616e75702064617461206173736f636961746564207769746854207468652064656c65746564206163636f756e742e005d01206073797374656d3a3a4163636f756e744e6f6e63656020697320616c736f2064656c657465642069662060526573657276656442616c616e63656020697320616c736f207a65726f2028697420616c736f2067657473150120636f6c6c617073656420746f207a65726f2069662069742065766572206265636f6d6573206c657373207468616e20604578697374656e7469616c4465706f736974602e3c526573657276656442616c616e636501013854203a3a204163636f756e7449643054203a3a2042616c616e63653075012054686520616d6f756e74206f66207468652062616c616e6365206f66206120676976656e206163636f756e7420746861742069732065787465726e616c6c792072657365727665643b20746869732063616e207374696c6c206765749c20736c61736865642c20627574206765747320736c6173686564206c617374206f6620616c6c2e006d0120546869732062616c616e63652069732061202772657365727665272062616c616e63652074686174206f746865722073756273797374656d732075736520696e206f7264657220746f2073657420617369646520746f6b656e737101207468617420617265207374696c6c20276f776e65642720627920746865206163636f756e7420686f6c6465722c20627574207768696368206172652073757370656e6461626c652e20285468697320697320646966666572656e74290120616e642077686f6c6c7920756e72656c6174656420746f207468652060426f6e64616765602073797374656d207573656420696e20746865207374616b696e67206d6f64756c652e29007501205768656e20746869732062616c616e63652066616c6c732062656c6f77207468652076616c7565206f6620604578697374656e7469616c4465706f736974602c207468656e2074686973202772657365727665206163636f756e7427b42069732064656c657465643a207370656369666963616c6c792c2060526573657276656442616c616e6365602e004d01206073797374656d3a3a4163636f756e744e6f6e63656020697320616c736f2064656c6574656420696620604672656542616c616e63656020697320616c736f207a65726f2028697420616c736f2067657473150120636f6c6c617073656420746f207a65726f2069662069742065766572206265636f6d6573206c657373207468616e20604578697374656e7469616c4465706f736974602e485472616e73616374696f6e4261736546656501003054203a3a2042616c616e636504dc205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b2074686520626173652e485472616e73616374696f6e4279746546656501003054203a3a2042616c616e6365040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e1c73657373696f6e184d6f64756c651043616c6c0c00001c7365745f6b6579040c6b657934543a3a53657373696f6e4b65790861012053657473207468652073657373696f6e206b6579206f6620605f76616c696461746f726020746f20605f6b6579602e205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e657874242073657373696f6e2e0100287365745f6c656e677468040c6e6577903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a54797065046d01205365742061206e65772073657373696f6e206c656e6774682e20576f6e2774206b69636b20696e20756e74696c20746865206e6578742073657373696f6e206368616e6765202861742063757272656e74206c656e677468292e020044666f7263655f6e65775f73657373696f6e04346170706c795f7265776172647310626f6f6c045820466f726365732061206e65772073657373696f6e2e011c53657373696f6e202856616c696461746f7273010058566563203c2054203a3a204163636f756e744964203e047c205468652063757272656e7420736574206f662076616c696461746f72732e3453657373696f6e4c656e67746801004054203a3a20426c6f636b4e756d626572047c2043757272656e74206c656e677468206f66207468652073657373696f6e2e3043757272656e74496e64657801004054203a3a20426c6f636b4e756d62657204782043757272656e7420696e646578206f66207468652073657373696f6e2e3043757272656e74537461727401002c54203a3a204d6f6d656e7404a02054696d657374616d70207768656e2063757272656e742073657373696f6e20737461727465642e44466f7263696e674e657753657373696f6e000010626f6f6c087901204e65772073657373696f6e206973206265696e6720666f72636564206973207468697320656e747279206578697374733b20696e20776869636820636173652c2074686520626f6f6c65616e2076616c75652069732077686574686572810120746865206e65772073657373696f6e2073686f756c6420626520636f6e736964657265642061206e6f726d616c20726f746174696f6e202872657761726461626c6529206f7220657863657074696f6e616c2028736c61736861626c65292e404c6173744c656e6774684368616e676500004054203a3a20426c6f636b4e756d62657204c020426c6f636b206174207768696368207468652073657373696f6e206c656e677468206c617374206368616e6765642e284e6578744b6579466f7200013854203a3a204163636f756e7449643c54203a3a2053657373696f6e4b6579049020546865206e657874206b657920666f72206120676976656e2076616c696461746f722e444e65787453657373696f6e4c656e67746800004054203a3a20426c6f636b4e756d626572046420546865206e6578742073657373696f6e206c656e6774682e1c7374616b696e67184d6f64756c651043616c6c280000147374616b65000cc0204465636c617265207468652064657369726520746f207374616b6520666f7220746865207472616e736163746f722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e01001c756e7374616b650440696e74656e74696f6e735f696e64657830436f6d706163743c7533323e0cc02052657472616374207468652064657369726520746f207374616b6520666f7220746865207472616e736163746f722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e0200206e6f6d696e617465041874617267657498416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e00030028756e6e6f6d696e61746504307461726765745f696e64657830436f6d706163743c7533323e0811012057696c6c2070616e69632069662063616c6c6564207768656e20736f757263652069736e27742063757272656e746c79206e6f6d696e6174696e67207461726765742ee42055706461746573204e6f6d696e6174696e672c204e6f6d696e61746f7273466f7220616e64204e6f6d696e6174696f6e42616c616e63652e04005072656769737465725f707265666572656e6365730840696e74656e74696f6e735f696e64657830436f6d706163743c7533323e1470726566736856616c696461746f7250726566733c543a3a42616c616e63653e0c5901205365742074686520676976656e206163636f756e74277320707265666572656e636520666f7220736c617368696e67206265686176696f75722073686f756c64207468657920626520612076616c696461746f722e00190120416e206572726f7220286e6f2d6f7029206966206053656c663a3a696e74656e74696f6e7328295b696e74656e74696f6e735f696e6465785d20213d206f726967696e602e0500507365745f73657373696f6e735f7065725f657261040c6e6577903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a5479706504982053657420746865206e756d626572206f662073657373696f6e7320696e20616e206572612e0600507365745f626f6e64696e675f6475726174696f6e040c6e6577903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a5479706504b020546865206c656e677468206f662074686520626f6e64696e67206475726174696f6e20696e20657261732e07004c7365745f76616c696461746f725f636f756e74040c6e657730436f6d706163743c7533323e04802054686520696465616c206e756d626572206f662076616c696461746f72732e080034666f7263655f6e65775f65726104346170706c795f7265776172647310626f6f6c083d0120466f72636520746865726520746f2062652061206e6577206572612e205468697320616c736f20666f726365732061206e65772073657373696f6e20696d6d6564696174656c792061667465722e250120606170706c795f72657761726473602073686f756c64206265207472756520666f722076616c696461746f727320746f20676574207468652073657373696f6e207265776172642e09005c7365745f6f66666c696e655f736c6173685f6772616365040c6e657730436f6d706163743c7533323e04902053657420746865206f66666c696e6520736c61736820677261636520706572696f642e011c5374616b696e67543856616c696461746f72436f756e7401000c75333204a82054686520696465616c206e756d626572206f66207374616b696e67207061727469636970616e74732e544d696e696d756d56616c696461746f72436f756e7401000c753332044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e3853657373696f6e7350657245726101004054203a3a20426c6f636b4e756d62657204a420546865206c656e677468206f662061207374616b696e672065726120696e2073657373696f6e732e3453657373696f6e52657761726401001c50657262696c6c042101204d6178696d756d207265776172642c207065722076616c696461746f722c20746861742069732070726f7669646564207065722061636365707461626c652073657373696f6e2e304f66666c696e65536c61736801001c50657262696c6c04510120536c6173682c207065722076616c696461746f7220746861742069732074616b656e20666f72207468652066697273742074696d6520746865792061726520666f756e6420746f206265206f66666c696e652e444f66666c696e65536c617368477261636501000c753332043901204e756d626572206f6620696e7374616e636573206f66206f66666c696e65207265706f727473206265666f726520736c617368696e6720626567696e7320666f722076616c696461746f72732e3c426f6e64696e674475726174696f6e01004054203a3a20426c6f636b4e756d62657204b820546865206c656e677468206f662074686520626f6e64696e67206475726174696f6e20696e20626c6f636b732e2843757272656e7445726101004054203a3a20426c6f636b4e756d626572045c205468652063757272656e742065726120696e6465782e5056616c696461746f72507265666572656e63657301013854203a3a204163636f756e7449647c56616c696461746f725072656673203c2054203a3a2042616c616e6365203e048820507265666572656e636573207468617420612076616c696461746f72206861732e28496e74656e74696f6e73010058566563203c2054203a3a204163636f756e744964203e04a420416c6c20746865206163636f756e7473207769746820612064657369726520746f207374616b652e284e6f6d696e6174696e6700013854203a3a204163636f756e7449643854203a3a204163636f756e74496404a020416c6c206e6f6d696e61746f72202d3e206e6f6d696e65652072656c6174696f6e73686970732e344e6f6d696e61746f7273466f7201013854203a3a204163636f756e74496458566563203c2054203a3a204163636f756e744964203e0494204e6f6d696e61746f727320666f72206120706172746963756c6172206163636f756e742e5043757272656e744e6f6d696e61746f7273466f7201013854203a3a204163636f756e74496458566563203c2054203a3a204163636f756e744964203e040501204e6f6d696e61746f727320666f72206120706172746963756c6172206163636f756e74207468617420697320696e20616374696f6e207269676874206e6f772e5043757272656e7453657373696f6e52657761726401003054203a3a2042616c616e6365042101204d6178696d756d207265776172642c207065722076616c696461746f722c20746861742069732070726f7669646564207065722061636365707461626c652073657373696f6e2e4c43757272656e744f66666c696e65536c61736801003054203a3a2042616c616e636504510120536c6173682c207065722076616c696461746f7220746861742069732074616b656e20666f72207468652066697273742074696d6520746865792061726520666f756e6420746f206265206f66666c696e652e484e65787453657373696f6e7350657245726100004054203a3a20426c6f636b4e756d626572049020546865206e6578742076616c7565206f662073657373696f6e7320706572206572612e4c4c6173744572614c656e6774684368616e676501004054203a3a20426c6f636b4e756d62657204e0205468652073657373696f6e20696e6465782061742077686963682074686520657261206c656e677468206c617374206368616e6765642e285374616b6552616e676501005c506169724f66203c2054203a3a2042616c616e6365203e04f020546865206869676865737420616e64206c6f77657374207374616b65642076616c696461746f7220736c61736861626c652062616c616e6365732e1c426f6e6461676501013854203a3a204163636f756e7449644054203a3a20426c6f636b4e756d62657204f42054686520626c6f636b20617420776869636820746865206077686f6027732066756e6473206265636f6d6520656e746972656c79206c69717569642e28536c617368436f756e7401013854203a3a204163636f756e7449640c75333204d10120546865206e756d626572206f662074696d6573206120676976656e2076616c696461746f7220686173206265656e207265706f72746564206f66666c696e652e205468697320676574732064656372656d656e746564206279206f6e652065616368206572612074686174207061737365732e34466f7263696e674e65774572610000102820202904682057652061726520666f7263696e672061206e6577206572612e2464656d6f6372616379184d6f64756c651043616c6c1800001c70726f706f7365082070726f706f73616c40426f783c543a3a50726f706f73616c3e1476616c7565803c543a3a42616c616e636520617320486173436f6d706163743e3a3a5479706504a02050726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e0100187365636f6e64042070726f706f73616c48436f6d706163743c50726f70496e6465783e04a02050726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e020010766f746508247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e10766f746510566f746508350120566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bbc206f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e03004073746172745f7265666572656e64756d0c2070726f706f73616c40426f783c543a3a50726f706f73616c3e247468726573686f6c6434566f74655468726573686f6c641464656c617938543a3a426c6f636b4e756d62657204502053746172742061207265666572656e64756d2e04004463616e63656c5f7265666572656e64756d04247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e04542052656d6f76652061207265666572656e64756d2e05003463616e63656c5f71756575656408107768656e38543a3a426c6f636b4e756d6265721477686963680c75333204a02043616e63656c20612070726f706f73616c2071756575656420666f7220656e6163746d656e742e012444656d6f63726163793c3c5075626c696350726f70436f756e7401002450726f70496e64657804f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f70730100d8566563203c20282050726f70496e646578202c2054203a3a2050726f706f73616c202c2054203a3a204163636f756e7449642029203e048020546865207075626c69632070726f706f73616c732e20556e736f727465642e244465706f7369744f6600012450726f70496e646578a4282054203a3a2042616c616e6365202c20566563203c2054203a3a204163636f756e744964203e202904842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e304c61756e6368506572696f6401004054203a3a20426c6f636b4e756d62657204e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e384d696e696d756d4465706f73697401003054203a3a2042616c616e636504350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e2c5075626c696344656c617901004054203a3a20426c6f636b4e756d62657204d4205468652064656c6179206265666f726520656e6163746d656e7420666f7220616c6c207075626c6963207265666572656e64612e384d61784c6f636b506572696f647301002c4c6f636b506572696f647304d90120546865206d6178696d756d206e756d626572206f66206164646974696f6e616c206c6f636b20706572696f6473206120766f746572206d6179206f6666657220746f20737472656e677468656e20746865697220766f74652e204d756c7469706c6573206f6620605075626c696344656c6179602e30566f74696e67506572696f6401004054203a3a20426c6f636b4e756d62657204b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e3c5265666572656e64756d436f756e7401003c5265666572656e64756d496e64657804390120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e64756d73207374617274656420736f206661722e244e65787454616c6c7901003c5265666572656e64756d496e64657804c820546865206e657874207265666572656e64756d20696e64657820746861742073686f756c642062652074616c6c6965642e405265666572656e64756d496e666f4f6600013c5265666572656e64756d496e646578dc28205265666572656e64756d496e666f203c2054203a3a20426c6f636b4e756d626572202c2054203a3a2050726f706f73616c203e202904b420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e344469737061746368517565756501014054203a3a20426c6f636b4e756d626572d8566563203c204f7074696f6e203c20282054203a3a2050726f706f73616c202c205265666572656e64756d496e6465782029203e203e04c0205175657565206f66207375636365737366756c207265666572656e646120746f20626520646973706174636865642e1c426f6e6461676501013854203a3a204163636f756e7449644054203a3a20426c6f636b4e756d62657204d02054686520626c6f636b20617420776869636820746865206077686f6027732066756e6473206265636f6d65206c69717569642e24566f74657273466f7201013c5265666572656e64756d496e64657858566563203c2054203a3a204163636f756e744964203e04a4204765742074686520766f7465727320666f72207468652063757272656e742070726f706f73616c2e18566f74654f6601019028205265666572656e64756d496e646578202c2054203a3a204163636f756e744964202910566f74650cd501204765742074686520766f746520696e206120676976656e207265666572656e64756d206f66206120706172746963756c617220766f7465722e2054686520726573756c74206973206d65616e696e6766756c206f6e6c792069662060766f746572735f666f726020696e636c7564657320746865c90120766f746572207768656e2063616c6c6564207769746820746865207265666572656e64756d2028796f75276c6c20676574207468652064656661756c742060566f7465602076616c7565206f7468657277697365292e20496620796f7520646f6e27742077616e7420746f20636865636b61012060766f746572735f666f72602c207468656e20796f752063616e20616c736f20636865636b20666f722073696d706c65206578697374656e636520776974682060566f74654f663a3a657869737473602066697273742e1c636f756e63696c184d6f64756c651043616c6c240000347365745f617070726f76616c730814766f746573245665633c626f6f6c3e14696e64657848436f6d706163743c566f7465496e6465783e086101205365742063616e64696461746520617070726f76616c732e20417070726f76616c20736c6f747320737461792076616c6964206173206c6f6e672061732063616e6469646174657320696e2074686f736520736c6f7473402061726520726567697374657265642e01004c726561705f696e6163746976655f766f74657210387265706f727465725f696e64657830436f6d706163743c7533323e0c77686f98416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e2477686f5f696e64657830436f6d706163743c7533323e48617373756d65645f766f74655f696e64657848436f6d706163743c566f7465496e6465783e1461012052656d6f7665206120766f7465722e20466f72206974206e6f7420746f206265206120626f6e642d636f6e73756d696e67206e6f2d6f702c20616c6c20617070726f7665642063616e64696461746520696e64696365737101206d757374206e6f772062652065697468657220756e72656769737465726564206f72207265676973746572656420746f20612063616e646964617465207468617420726567697374657265642074686520736c6f74206166746572a02074686520766f7465722067617665207468656972206c61737420617070726f76616c207365742e000101204d61792062652063616c6c656420627920616e796f6e652e2052657475726e732074686520766f746572206465706f73697420746f20607369676e6564602e020034726574726163745f766f7465720414696e64657830436f6d706163743c7533323e042d012052656d6f7665206120766f7465722e20416c6c20766f746573206172652063616e63656c6c656420616e642074686520766f746572206465706f7369742069732072657475726e65642e0300407375626d69745f63616e6469646163790410736c6f7430436f6d706163743c7533323e0c78205375626d6974206f6e6573656c6620666f722063616e6469646163792e001101204163636f756e74206d757374206861766520656e6f756768207472616e736665727261626c652066756e647320696e20697420746f207061792074686520626f6e642e04003870726573656e745f77696e6e65720c2463616e64696461746598416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e14746f74616c803c543a3a42616c616e636520617320486173436f6d706163743e3a3a5479706514696e64657848436f6d706163743c566f7465496e6465783e0c650120436c61696d207468617420607369676e656460206973206f6e65206f662074686520746f702053656c663a3a63617272795f636f756e742829202b2063757272656e745f766f746528292e312063616e646964617465732ea501204f6e6c7920776f726b73206966207468652060626c6f636b5f6e756d626572203e3d2063757272656e745f766f746528292e306020616e6420603c2063757272656e745f766f746528292e30202b2070726573656e746174696f6e5f6475726174696f6e282960607820607369676e6564602073686f756c642068617665206174206c656173740500447365745f646573697265645f73656174730414636f756e7430436f6d706163743c7533323e0c650120536574207468652064657369726564206d656d62657220636f756e743b206966206c6f776572207468616e207468652063757272656e7420636f756e742c207468656e2073656174732077696c6c206e6f74206265207570690120656c656374696f6e207768656e2074686579206578706972652e204966206d6f72652c207468656e2061206e657720766f74652077696c6c2062652073746172746564206966206f6e65206973206e6f7420616c72656164793420696e2070726f67726573732e06003472656d6f76655f6d656d626572040c77686f98416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e0c71012052656d6f7665206120706172746963756c6172206d656d6265722e20412074616c6c792077696c6c2068617070656e20696e7374616e746c7920286966206e6f7420616c726561647920696e20612070726573656e746174696f6e410120706572696f642920746f2066696c6c2074686520736561742069662072656d6f76616c206d65616e732074686174207468652064657369726564206d656d6265727320617265206e6f74206d65742e7c20546869732069732065666665637469766520696d6d6564696174656c792e0700647365745f70726573656e746174696f6e5f6475726174696f6e0414636f756e74903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a5479706508590120536574207468652070726573656e746174696f6e206475726174696f6e2e2049662074686572652069732063757272656e746c79206120766f7465206265696e672070726573656e74656420666f722c2077696c6c6020696e766f6b65206066696e616c6973655f766f7465602e0800447365745f7465726d5f6475726174696f6e0414636f756e74903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a5479706508510120536574207468652070726573656e746174696f6e206475726174696f6e2e2049662074686572652069732063757272656e74206120766f7465206265696e672070726573656e74656420666f722c2077696c6c6020696e766f6b65206066696e616c6973655f766f7465602e011c436f756e63696c503443616e646964616379426f6e6401003054203a3a2042616c616e636504050120486f77206d7563682073686f756c64206265206c6f636b656420757020696e206f7264657220746f207375626d6974206f6e6527732063616e6469646163792e28566f74696e67426f6e6401003054203a3a2042616c616e636504090120486f77206d7563682073686f756c64206265206c6f636b656420757020696e206f7264657220746f2062652061626c6520746f207375626d697420766f7465732e5050726573656e74536c617368506572566f74657201003054203a3a2042616c616e6365040d01205468652070756e6973686d656e742c2070657220766f7465722c20696620796f752070726f7669646520616e20696e76616c69642070726573656e746174696f6e2e284361727279436f756e7401000c75333204350120486f77206d616e792072756e6e6572732d75702073686f756c64206861766520746865697220617070726f76616c73207065727369737420756e74696c20746865206e65787420766f74652e5050726573656e746174696f6e4475726174696f6e01004054203a3a20426c6f636b4e756d626572043d0120486f77206c6f6e6720746f2067697665206561636820746f702063616e64696461746520746f2070726573656e74207468656d73656c7665732061667465722074686520766f746520656e64732e4c496e6163746976654772616365506572696f64010024566f7465496e64657808690120486f77206d616e7920766f746573206e65656420746f20676f206279206166746572206120766f7465722773206c61737420766f7465206265666f726520746865792063616e206265207265617065642069662074686569725020617070726f76616c7320617265206d6f6f742e30566f74696e67506572696f6401004054203a3a20426c6f636b4e756d62657204b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e305465726d4475726174696f6e01004054203a3a20426c6f636b4e756d626572049820486f77206c6f6e67206561636820706f736974696f6e2069732061637469766520666f722e3044657369726564536561747301000c75333204e8204e756d626572206f66206163636f756e747320746861742073686f756c642062652073697474696e67206f6e2074686520636f756e63696c2e34416374697665436f756e63696c0100b4566563203c20282054203a3a204163636f756e744964202c2054203a3a20426c6f636b4e756d6265722029203e086d01205468652063757272656e7420636f756e63696c2e205768656e2074686572652773206120766f746520676f696e67206f6e2c20746869732073686f756c64207374696c6c206265207573656420666f722065786563757469766524206d6174746572732e24566f7465436f756e74010024566f7465496e6465780405012054686520746f74616c206e756d626572206f6620766f746573207468617420686176652068617070656e6564206f722061726520696e2070726f67726573732e2c417070726f76616c734f6601013854203a3a204163636f756e74496430566563203c20626f6f6c203e04010120546865206c61737420636c656172656420766f746520696e6465782074686174207468697320766f74657220776173206c617374206163746976652061742e385265676973746572496e666f4f6600013854203a3a204163636f756e7449644c2820566f7465496e646578202c207533322029087d012054686520766f746520696e64657820616e64206c69737420736c6f742074686174207468652063616e646964617465206077686f60207761732072656769737465726564206f7220604e6f6e6560206966207468657920617265206e6f74582063757272656e746c7920726567697374657265642e304c6173744163746976654f6600013854203a3a204163636f756e74496424566f7465496e64657804010120546865206c61737420636c656172656420766f746520696e6465782074686174207468697320766f74657220776173206c617374206163746976652061742e18566f74657273010058566563203c2054203a3a204163636f756e744964203e0460205468652070726573656e7420766f746572206c6973742e2843616e64696461746573010058566563203c2054203a3a204163636f756e744964203e0470205468652070726573656e742063616e646964617465206c6973742e3843616e646964617465436f756e7401000c75333200304e65787446696e616c6973650000cc282054203a3a20426c6f636b4e756d626572202c20753332202c20566563203c2054203a3a204163636f756e744964203e202904210120546865206163636f756e747320686f6c64696e672074686520736561747320746861742077696c6c206265636f6d652066726565206f6e20746865206e6578742074616c6c792e40536e617073686f7465645374616b6573010050566563203c2054203a3a2042616c616e6365203e04e820546865207374616b6573206173207468657920776572652061742074686520706f696e7420746861742074686520766f746520656e6465642e2c4c6561646572626f6172640000a4566563203c20282054203a3a2042616c616e6365202c2054203a3a204163636f756e7449642029203e04e02047657420746865206c6561646572626f6172642069662077653b726520696e207468652070726573656e746174696f6e2070686173652e38636f756e63696c5f766f74696e67184d6f64756c651043616c6c1400001c70726f706f7365042070726f706f73616c40426f783c543a3a50726f706f73616c3e00010010766f7465082070726f706f73616c1c543a3a486173681c617070726f766510626f6f6c000200107665746f043470726f706f73616c5f686173681c543a3a48617368000300487365745f636f6f6c6f66665f706572696f640418626c6f636b73903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a54797065000400447365745f766f74696e675f706572696f640418626c6f636b73903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a54797065000134436f756e63696c566f74696e672034436f6f6c6f6666506572696f6401004054203a3a20426c6f636b4e756d6265720030566f74696e67506572696f6401004054203a3a20426c6f636b4e756d6265720040456e61637444656c6179506572696f6401004054203a3a20426c6f636b4e756d62657204cd01204e756d626572206f6620626c6f636b7320627920776869636820746f2064656c617920656e6163746d656e74206f66207375636365737366756c2c206e6f6e2d756e616e696d6f75732d636f756e63696c2d696e7374696761746564207265666572656e64756d2070726f706f73616c732e2450726f706f73616c730100a0566563203c20282054203a3a20426c6f636b4e756d626572202c2054203a3a20486173682029203e002850726f706f73616c4f6600012454203a3a20486173683454203a3a2050726f706f73616c003850726f706f73616c566f7465727301012454203a3a204861736858566563203c2054203a3a204163636f756e744964203e0034436f756e63696c566f74654f66000178282054203a3a2048617368202c2054203a3a204163636f756e744964202910626f6f6c00385665746f656450726f706f73616c00012454203a3a2048617368b4282054203a3a20426c6f636b4e756d626572202c20566563203c2054203a3a204163636f756e744964203e2029003c636f756e63696c5f6d6f74696f6e73184d6f64756c651043616c6c0800001c70726f706f736508247468726573686f6c6430436f6d706163743c7533323e2070726f706f73616c6c426f783c3c542061732054726169743e3a3a50726f706f73616c3e00010010766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c000138436f756e63696c4d6f74696f6e73102450726f706f73616c73010044566563203c2054203a3a2048617368203e0498205468652028686173686573206f662920746865206163746976652070726f706f73616c732e2850726f706f73616c4f6600012454203a3a2048617368683c2054206173205472616974203e203a3a2050726f706f73616c04cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e6700012454203a3a20486173682501282050726f706f73616c496e646578202c20753332202c20566563203c2054203a3a204163636f756e744964203e202c20566563203c2054203a3a204163636f756e744964203e202904250120566f74657320666f72206120676976656e2070726f706f73616c3a202872657175697265645f7965735f766f7465732c207965735f766f746572732c206e6f5f766f74657273292e3450726f706f73616c436f756e7401000c75333204482050726f706f73616c7320736f206661722e1c6772616e647061184d6f64756c651043616c6c040000487265706f72745f6d69736265686176696f72041c5f7265706f72741c5665633c75383e0468205265706f727420736f6d65206d69736265686176696f75722e013c4772616e64706146696e616c697479043450656e64696e674368616e67650000e853746f72656450656e64696e674368616e6765203c2054203a3a20426c6f636b4e756d626572202c2054203a3a2053657373696f6e4b6579203e00207472656173757279184d6f64756c651043616c6c1400003470726f706f73655f7370656e64081476616c7565803c543a3a42616c616e636520617320486173436f6d706163743e3a3a547970652c62656e656669636961727998416464726573733c543a3a4163636f756e7449642c20543a3a4163636f756e74496e6465783e0c2d012050757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c7565350120697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e636520746865542070726f706f73616c20697320617761726465642e01001c7365745f706f74041c6e65775f706f74803c543a3a42616c616e636520617320486173436f6d706163743e3a3a5479706504b420536574207468652062616c616e6365206f662066756e647320617661696c61626c6520746f207370656e642e020024636f6e666967757265103470726f706f73616c5f626f6e641c5065726d696c6c5470726f706f73616c5f626f6e645f6d696e696d756d803c543a3a42616c616e636520617320486173436f6d706163743e3a3a54797065307370656e645f706572696f64903c543a3a426c6f636b4e756d62657220617320486173436f6d706163743e3a3a54797065106275726e1c5065726d696c6c0470202852652d29636f6e6669677572652074686973206d6f64756c652e03003c72656a6563745f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e04fc2052656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e040040617070726f76655f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e085d0120417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e01205472656173757279203050726f706f73616c426f6e6401001c5065726d696c6c0851012050726f706f7274696f6e206f662066756e647320746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c61636520612070726f706f73616c2e20416e206163636570746564dc2070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f65736e27742e4c50726f706f73616c426f6e644d696e696d756d01003054203a3a2042616c616e6365044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f6401004054203a3a20426c6f636b4e756d626572048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e01001c5065726d696c6c0411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e0c506f7401003054203a3a2042616c616e636504cc20546f74616c2066756e647320617661696c61626c6520746f2074686973206d6f64756c6520666f72207370656e64696e672e3450726f706f73616c436f756e7401003450726f706f73616c496e64657804a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c7300013450726f706f73616c496e646578a850726f706f73616c203c2054203a3a204163636f756e744964202c2054203a3a2042616c616e6365203e047c2050726f706f73616c7320746861742068617665206265656e206d6164652e24417070726f76616c73010054566563203c2050726f706f73616c496e646578203e04f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e20636f6e7472616374184d6f64756c651043616c6c0800001063616c6c10106465737430543a3a4163636f756e7449641476616c7565803c543a3a42616c616e636520617320486173436f6d706163743e3a3a54797065246761735f6c696d6974703c543a3a47617320617320486173436f6d706163743e3a3a5479706510646174611c5665633c75383e082901204d616b6520612063616c6c20746f206120737065636966696564206163636f756e742c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e2901204d616b6520612063616c6c20746f206120737065636966696564206163636f756e742c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e0100186372656174651024656e646f776d656e74803c543a3a42616c616e636520617320486173436f6d706163743e3a3a54797065246761735f6c696d6974703c543a3a47617320617320486173436f6d706163743e3a3a547970652463746f725f636f64651c5665633c75383e10646174611c5665633c75383e244d01204372656174652061206e657720636f6e74726163742c206f7074696f6e616c6c79207472616e73666572696e6720736f6d652062616c616e636520746f207468652063726561746564206163636f756e742e0084204372656174696f6e20697320657865637574656420617320666f6c6c6f77733a004101202d207468652064657374696e6174696f6e206164647265737320697320636f6d7075746564206261736564206f6e207468652073656e64657220616e642068617368206f662074686520636f64652eb8202d206163636f756e7420697320637265617465642061742074686520636f6d707574656420616464726573732e6d01202d20746865206063746f725f636f64656020697320657865637574656420696e2074686520636f6e74657874206f6620746865206e65776c792063726561746564206163636f756e742e204275666665722072657475726e65645d0120202061667465722074686520657865637574696f6e206973207361766564206173207468652060636f646560206f6620746865206163636f756e742e205468617420636f64652077696c6c20626520696e766f6b6564b420202075706f6e20616e79206d6573736167652072656365697665642062792074686973206163636f756e742e002c757067726164655f6b6579184d6f64756c651043616c6c0800001c75706772616465040c6e65771c5665633c75383e0001001c7365745f6b6579040c6e657730543a3a4163636f756e744964000128557067726164654b6579040c4b657901003854203a3a204163636f756e744964001043616c6c342454696d657374616d702474696d657374616d70000024436f6e73656e73757324636f6e73656e73757301002042616c616e6365732062616c616e63657302001c53657373696f6e1c73657373696f6e03001c5374616b696e671c7374616b696e6704002444656d6f63726163792464656d6f637261637905001c436f756e63696c1c636f756e63696c060034436f756e63696c566f74696e6738636f756e63696c5f766f74696e67070038436f756e63696c4d6f74696f6e733c636f756e63696c5f6d6f74696f6e7308001c4772616e6470611c6772616e64706109002054726561737572792074726561737572790a0020436f6e747261637420636f6e74726163740b0028557067726164654b65792c757067726164655f6b65790c00", "id": 1 } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index c856b83d53..4f3ed3009a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1445,14 +1445,14 @@ typedoc-plugin-no-inherit "^1.0.2" typescript "^3.2.2" -"@polkadot/keyring@^0.33.21": - version "0.33.21" - resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-0.33.21.tgz#5d3caccb567126fd56939c0c2f75e37ccde1cabd" - integrity sha512-XpWJJfLYRsstlkbTZnnPWQ2Qhnw/XOFHfzSWdt+qzWkwqaR5tFuetP8IW36Qyc5d/M/7df9aPlcfYVCNAhUoCw== +"@polkadot/keyring@^0.33.22": + version "0.33.22" + resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-0.33.22.tgz#04a3be5c2b7db0bcb1828b303f1eca732d25e009" + integrity sha512-cevRwrnIoU7p5Jt5sqYDPu1sC9JirX2lYFeagZG7L5Xa8E7VjlmlXfOERurZ6Odf8uzPE2JpOUiJRqlV6Bc8XQ== dependencies: "@babel/runtime" "^7.2.0" - "@polkadot/util" "^0.33.21" - "@polkadot/util-crypto" "^0.33.21" + "@polkadot/util" "^0.33.22" + "@polkadot/util-crypto" "^0.33.22" "@types/bs58" "^3.0.30" bs58 "^4.0.1" @@ -1461,13 +1461,13 @@ resolved "https://registry.yarnpkg.com/@polkadot/ts/-/ts-0.1.44.tgz#2fb28215f10b869bfa544fd8df8fccb4932d64f2" integrity sha512-tor7vSd3ZsRBO9FIuKZQ9hfqEGkNZnanAFVGmoL1iSmdhcoKtYTlQe0BQafjIynqIMOfXdJ7Zes9PlorPtw6yw== -"@polkadot/util-crypto@^0.33.21": - version "0.33.21" - resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-0.33.21.tgz#09f06854faa86971a9166cb5681ed445f5020c49" - integrity sha512-JwD+KpPYRMFXmRtu2QmFm6Eqge5QDM32CFp72F8AJm7l8cWHr00SzEjjZHkUM0yYgOQG/nEEhL1KBk5aB2xWoQ== +"@polkadot/util-crypto@^0.33.22": + version "0.33.22" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-0.33.22.tgz#1cc4f76b0254418fcf61af2ad7936b2a0a9ec0e7" + integrity sha512-CnHDNZrOSzubBCOPlHO9E6OicWxksq20T7Yaj/Kq0F+iGwNu9EgVzYGF/DLMK+rubWPhsk74LFbuQyH/VlXAlQ== dependencies: "@babel/runtime" "^7.2.0" - "@polkadot/util" "^0.33.21" + "@polkadot/util" "^0.33.22" "@types/bip39" "^2.4.1" bip39 "^2.5.0" blakejs "^1.1.0" @@ -1475,10 +1475,10 @@ tweetnacl "^1.0.0" xxhashjs "^0.2.2" -"@polkadot/util@^0.33.21": - version "0.33.21" - resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-0.33.21.tgz#e8ae1790dc576271831b08ec25845190ab28e8da" - integrity sha512-z9izrNzdLs/dMe6T58IN+a53aoXH5/H3wsQEV5Dr5sBd7uybXbEsAQ+6jIOJd5mqucMXEdqfvkOydMmHkyXvDw== +"@polkadot/util@^0.33.22": + version "0.33.22" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-0.33.22.tgz#5cf61320a465fca8b48cef0279e1dcd8fec72faa" + integrity sha512-79HQG5K0SzjTbWQGx4Wj2UjVd0S4sfB4praxV835x7aY4c/GfrdKyf/W5+DUnk+KsjupKcyB/oxEIUNCHywJFQ== dependencies: "@babel/runtime" "^7.2.0" "@types/bn.js" "^4.11.3"