From 1b9a1edc3eafbcad297a826746a1d7ad358df59d Mon Sep 17 00:00:00 2001 From: Ravi Hegde Date: Sat, 8 Nov 2025 12:31:45 +0530 Subject: [PATCH] feat: transfer builder added Ticket: COIN-6381 --- modules/sdk-coin-canton/src/canton.ts | 19 +- modules/sdk-coin-canton/src/lib/iface.ts | 16 ++ modules/sdk-coin-canton/src/lib/index.ts | 1 + .../src/lib/transaction/transaction.ts | 38 +++- .../src/lib/transferBuilder.ts | 166 +++++++++++++++++- modules/sdk-coin-canton/test/resources.ts | 17 ++ .../oneStepEnablementBuilder.ts | 1 + .../unit/builder/transfer/transferBuilder.ts | 64 +++++++ 8 files changed, 314 insertions(+), 8 deletions(-) create mode 100644 modules/sdk-coin-canton/test/unit/builder/transfer/transferBuilder.ts diff --git a/modules/sdk-coin-canton/src/canton.ts b/modules/sdk-coin-canton/src/canton.ts index 22c9ecbc1d..4a10fe55a6 100644 --- a/modules/sdk-coin-canton/src/canton.ts +++ b/modules/sdk-coin-canton/src/canton.ts @@ -98,14 +98,14 @@ export class Canton extends BaseCoin { /** @inheritDoc */ async verifyTransaction(params: VerifyTransactionOptions): Promise { const coinConfig = coins.get(this.getChain()); - // extract `txParams` when verifying other transaction types - const { txPrebuild: txPrebuild } = params; + const { txPrebuild: txPrebuild, txParams } = params; const rawTx = txPrebuild.txHex; if (!rawTx) { throw new Error('missing required tx prebuild property txHex'); } const txBuilder = new TransactionBuilderFactory(coinConfig).from(rawTx); const transaction = txBuilder.transaction; + const explainedTx = transaction.explainTransaction(); switch (transaction.type) { case TransactionType.WalletInitialization: case TransactionType.TransferAccept: @@ -113,6 +113,21 @@ export class Canton extends BaseCoin { case TransactionType.TransferAcknowledge: // There is no input for these type of transactions, so always return true. return true; + case TransactionType.Send: + if (txParams.recipients !== undefined) { + const filteredRecipients = txParams.recipients?.map((recipient) => { + const { address, amount } = recipient; + return { address, amount }; + }); + const filteredOutputs = explainedTx.outputs?.map((output) => { + const { address, amount } = output; + return { address, amount }; + }); + if (JSON.stringify(filteredRecipients) !== JSON.stringify(filteredOutputs)) { + throw new Error('Tx outputs do not match with expected txParams recipients'); + } + } + return true; default: { throw new Error(`unknown transaction type, ${transaction.type}`); } diff --git a/modules/sdk-coin-canton/src/lib/iface.ts b/modules/sdk-coin-canton/src/lib/iface.ts index 5483694ec6..a8ad9bb71c 100644 --- a/modules/sdk-coin-canton/src/lib/iface.ts +++ b/modules/sdk-coin-canton/src/lib/iface.ts @@ -35,11 +35,17 @@ export interface WalletInitTxData { preparedParty: PreparedParty; } +export interface UTXOInfo { + contractId: string; + value: string; +} + export interface CantonPrepareCommandResponse { preparedTransaction?: string; preparedTransactionHash: string; hashingSchemeVersion: string; hashingDetails?: string | null; + utxoInfo?: UTXOInfo[]; } export interface PreparedParty { @@ -133,3 +139,13 @@ export interface TransferAcknowledge { expiryEpoch: number; updateId: string; } + +export interface CantonTransferRequest { + commandId: string; + senderPartyId: string; + receiverPartyId: string; + amount: number; + expiryEpoch: number; + sendViaOneStep: boolean; + memoId?: string; +} diff --git a/modules/sdk-coin-canton/src/lib/index.ts b/modules/sdk-coin-canton/src/lib/index.ts index d02de4c9e3..a19edc0f74 100644 --- a/modules/sdk-coin-canton/src/lib/index.ts +++ b/modules/sdk-coin-canton/src/lib/index.ts @@ -6,6 +6,7 @@ export { OneStepPreApprovalBuilder } from './oneStepPreApprovalBuilder'; export { Transaction } from './transaction/transaction'; export { TransferAcceptanceBuilder } from './transferAcceptanceBuilder'; export { TransferAcknowledgeBuilder } from './transferAcknowledgeBuilder'; +export { TransferBuilder } from './transferBuilder'; export { TransactionBuilder } from './transactionBuilder'; export { TransactionBuilderFactory } from './transactionBuilderFactory'; export { TransferRejectionBuilder } from './transferRejectionBuilder'; diff --git a/modules/sdk-coin-canton/src/lib/transaction/transaction.ts b/modules/sdk-coin-canton/src/lib/transaction/transaction.ts index a65551f5cd..384cbc889b 100644 --- a/modules/sdk-coin-canton/src/lib/transaction/transaction.ts +++ b/modules/sdk-coin-canton/src/lib/transaction/transaction.ts @@ -1,6 +1,7 @@ import { BaseKey, BaseTransaction, + Entry, InvalidTransactionError, ITransactionRecipient, TransactionType, @@ -177,6 +178,7 @@ export class Transaction extends BaseTransaction { if (this.type !== TransactionType.TransferAcknowledge) { if (decoded.prepareCommandResponse) { this.prepareCommand = decoded.prepareCommandResponse; + this.loadInputsAndOutputs(); } if (decoded.partySignatures && decoded.partySignatures.signatures.length > 0) { this.signerFingerprint = decoded.partySignatures.signatures[0].party.split('::')[1]; @@ -192,6 +194,30 @@ export class Transaction extends BaseTransaction { } } + /** + * Loads the input & output fields for the transaction + * + */ + loadInputsAndOutputs(): void { + const outputs: Entry[] = []; + const inputs: Entry[] = []; + const txData = this.toJson(); + const input: Entry = { + address: txData.sender, + value: txData.amount, + coin: this._coinConfig.name, + }; + const output: Entry = { + address: txData.receiver, + value: txData.amount, + coin: this._coinConfig.name, + }; + inputs.push(input); + outputs.push(output); + this._inputs = inputs; + this._outputs = outputs; + } + explainTransaction(): TransactionExplanation { const displayOrder = [ 'id', @@ -205,7 +231,9 @@ export class Transaction extends BaseTransaction { 'type', ]; const inputs: ITransactionRecipient[] = []; + const outputs: ITransactionRecipient[] = []; let inputAmount = '0'; + let outputAmount = '0'; switch (this.type) { case TransactionType.TransferAccept: case TransactionType.TransferReject: { @@ -214,12 +242,18 @@ export class Transaction extends BaseTransaction { inputAmount = txData.amount; break; } + case TransactionType.Send: { + const txData = this.toJson(); + outputs.push({ address: txData.sender, amount: txData.amount }); + outputAmount = txData.amount; + break; + } } return { id: this.id, displayOrder, - outputs: [], - outputAmount: '0', + outputs: outputs, + outputAmount: outputAmount, inputs: inputs, inputAmount: inputAmount, changeOutputs: [], diff --git a/modules/sdk-coin-canton/src/lib/transferBuilder.ts b/modules/sdk-coin-canton/src/lib/transferBuilder.ts index b79ab750ac..744875f697 100644 --- a/modules/sdk-coin-canton/src/lib/transferBuilder.ts +++ b/modules/sdk-coin-canton/src/lib/transferBuilder.ts @@ -1,23 +1,181 @@ -import { PublicKey, TransactionType } from '@bitgo/sdk-core'; +import { InvalidTransactionError, PublicKey, TransactionType } from '@bitgo/sdk-core'; import { BaseCoin as CoinConfig } from '@bitgo/statics'; import { TransactionBuilder } from './transactionBuilder'; -import { CantonPrepareCommandResponse } from './iface'; +import { Transaction } from './transaction/transaction'; +import { CantonPrepareCommandResponse, CantonTransferRequest } from './iface'; +import utils from './utils'; export class TransferBuilder extends TransactionBuilder { + private _commandId: string; + private _senderId: string; + private _receiverId: string; + private _amount: number; + private _sendOneStep = false; + private _expiryEpoch: number; + private _memoId: string; constructor(_coinConfig: Readonly) { super(_coinConfig); } - protected get transactionType(): TransactionType { + initBuilder(tx: Transaction): void { + super.initBuilder(tx); + this.setTransactionType(); + } + + get transactionType(): TransactionType { return TransactionType.Send; } + setTransactionType(): void { + this.transaction.transactionType = TransactionType.Send; + } + setTransaction(transaction: CantonPrepareCommandResponse): void { this.transaction.prepareCommand = transaction; } /** @inheritDoc */ addSignature(publicKey: PublicKey, signature: Buffer): void { - throw new Error('Not implemented'); + if (!this.transaction) { + throw new InvalidTransactionError('transaction is empty!'); + } + this._signatures.push({ publicKey, signature }); + const pubKeyBase64 = utils.getBase64FromHex(publicKey.pub); + this.transaction.signerFingerprint = utils.getAddressFromPublicKey(pubKeyBase64); + this.transaction.signatures = signature.toString('base64'); + } + + /** + * Sets the unique id for the transfer + * Also sets the _id of the transaction + * + * @param id - A uuid + * @returns The current builder instance for chaining. + * @throws Error if id is empty. + */ + commandId(id: string): this { + if (!id || !id.trim()) { + throw new Error('commandId must be a non-empty string'); + } + this._commandId = id.trim(); + // also set the transaction _id + this.transaction.id = id.trim(); + return this; + } + + /** + * Sets the sender party id for the transfer + * @param id - sender address (party id) + * @returns The current builder instance for chaining. + * @throws Error if id is empty. + */ + senderId(id: string): this { + if (!id || !id.trim()) { + throw new Error('senderId must be a non-empty string'); + } + this._senderId = id.trim(); + return this; + } + + /** + * Sets the receiver party id for the transfer + * @param id - receiver address (party id) + * @returns The current builder instance for chaining. + * @throws Error if id is empty. + */ + receiverId(id: string): this { + if (!id || !id.trim()) { + throw new Error('receiverId must be a non-empty string'); + } + this._receiverId = id.trim(); + return this; + } + + /** + * Sets the transfer amount + * @param amount - transfer amount + * @returns The current builder instance for chaining. + * @throws Error if amount not present or negative + */ + amount(amount: number): this { + if (!amount || amount < 0) { + throw new Error('amount must be a positive number'); + } + this._amount = amount; + return this; + } + + /** + * Sets the 1-step enablement flag to send via 1-step, works only if recipient + * enabled the 1-step, defaults to `false` + * @param flag boolean value + * @returns The current builder for chaining + */ + sendOneStep(flag: boolean): this { + this._sendOneStep = flag; + return this; + } + + /** + * Sets the transfer expiry + * @param epoch - the expiry for 2-step transfer, defaults to 90 days and + * not applicable if sending via 1-step + * @returns The current builder for chaining + * @throws Error if the expiry value is invalid + */ + expiryEpoch(epoch: number): this { + if (!epoch || epoch < 0) { + throw new Error('epoch must be a positive number'); + } + this._expiryEpoch = epoch; + return this; + } + + /** + * Sets the optional memoId if present + * @param id - memoId of the recipient + * @returns The current builder for chaining + * @throws Error if the memoId value is invalid + */ + memoId(id: string): this { + if (!id || !id.trim()) { + throw new Error('memoId must be a non-empty string'); + } + this._memoId = id.trim(); + return this; + } + + /** + * Get the canton transfer request object + * @returns CantonTransferRequest + * @throws Error if any required params are missing + */ + toRequestObject(): CantonTransferRequest { + this.validate(); + const data: CantonTransferRequest = { + commandId: this._commandId, + senderPartyId: this._senderId, + receiverPartyId: this._receiverId, + amount: this._amount, + expiryEpoch: this._expiryEpoch, + sendViaOneStep: this._sendOneStep, + }; + if (this._memoId) { + data.memoId = this._memoId; + } + return data; + } + + /** + * Method to validate the required fields + * @throws Error if required fields are not set + * @private + */ + private validate(): void { + if (!this._commandId) throw new Error('commandId is missing'); + if (!this._senderId) throw new Error('senderId is missing'); + if (!this._receiverId) throw new Error('receiverId is missing'); + if (!this._amount) throw new Error('amount is missing'); + if (!this._expiryEpoch) throw new Error('expiryEpoch is missing'); } } diff --git a/modules/sdk-coin-canton/test/resources.ts b/modules/sdk-coin-canton/test/resources.ts index ad38802111..5a884eee29 100644 --- a/modules/sdk-coin-canton/test/resources.ts +++ b/modules/sdk-coin-canton/test/resources.ts @@ -127,3 +127,20 @@ export const TransferRejectionPrepareResponse = { export const TransferRejectRawTransaction = 'eyJwcmVwYXJlQ29tbWFuZFJlc3BvbnNlIjp7InByZXBhcmVkVHJhbnNhY3Rpb24iOiJDcHMxQ2dNeUxqRVNBVEFhN3dNS0FUUENQdWdERXVVRENnTXlMakVTaWdFd01HUXdNakkxWTJGaVpHSmpORGN6T0RGbE56UmhNell6Wm1FNU1qY3paR1V4T1RFM016aGlZbU5qT0dSbU5UQXpaREkyWVdVNFlqUmtOR0V5T0dGaU5UVmpZVEV4TVRJeU1EaGpZekJrTVRRMU56SmhaV0l3TURabE1qWXpOemM1TTJVNU5XUTRZMk14WldReFpUVmpPVGhsTldJM1l6WTBNV1E0TldOallqbGhaVE14Tm1ZNE5EY2FEWE53YkdsalpTMWhiWFZzWlhRaVlRcEFNMk5oTVRNME0yRmlNalppTkRVelpETTRZemhoWkdJM01HUmpZVFZtTVdWaFpEZzBOREJqTkRKaU5UbGlOamhtTURjd056ZzJPVFUxWTJKbU9XVmpNUklNVTNCc2FXTmxMbEp2ZFc1a0dnOVBjR1Z1VFdsdWFXNW5VbTkxYm1RcVNVUlRUem82TVRJeU1HSmxOVGhqTWpsbE5qVmtaVFF3WW1ZeU56TmlaVEZrWXpKaU1qWTJaRFF6WVRsaE1EQXlaV0UxWWpFNE9UVTFZV1ZsWmpkaFlXTTRPREZpWWpRM01XRXlTVVJUVHpvNk1USXlNR0psTlRoak1qbGxOalZrWlRRd1ltWXlOek5pWlRGa1l6SmlNalkyWkRRellUbGhNREF5WldFMVlqRTRPVFUxWVdWbFpqZGhZV000T0RGaVlqUTNNV0U2U1VSVFR6bzZNVEl5TUdKbE5UaGpNamxsTmpWa1pUUXdZbVl5TnpOaVpURmtZekppTWpZMlpEUXpZVGxoTURBeVpXRTFZakU0T1RVMVlXVmxaamRoWVdNNE9ERmlZalEzTVdFYTd3TUtBVEhDUHVnREV1VURDZ015TGpFU2lnRXdNR1F3TWpJMVkyRmlaR0pqTkRjek9ERmxOelJoTXpZelptRTVNamN6WkdVeE9URTNNemhpWW1Oak9HUm1OVEF6WkRJMllXVTRZalJrTkdFeU9HRmlOVFZqWVRFeE1USXlNRGhqWXpCa01UUTFOekpoWldJd01EWmxNall6TnpjNU0yVTVOV1E0WTJNeFpXUXhaVFZqT1RobE5XSTNZelkwTVdRNE5XTmpZamxoWlRNeE5tWTRORGNhRFhOd2JHbGpaUzFoYlhWc1pYUWlZUXBBTTJOaE1UTTBNMkZpTWpaaU5EVXpaRE00WXpoaFpHSTNNR1JqWVRWbU1XVmhaRGcwTkRCak5ESmlOVGxpTmpobU1EY3dOemcyT1RVMVkySm1PV1ZqTVJJTVUzQnNhV05sTGxKdmRXNWtHZzlQY0dWdVRXbHVhVzVuVW05MWJtUXFTVVJUVHpvNk1USXlNR0psTlRoak1qbGxOalZrWlRRd1ltWXlOek5pWlRGa1l6SmlNalkyWkRRellUbGhNREF5WldFMVlqRTRPVFUxWVdWbFpqZGhZV000T0RGaVlqUTNNV0V5U1VSVFR6bzZNVEl5TUdKbE5UaGpNamxsTmpWa1pUUXdZbVl5TnpOaVpURmtZekppTWpZMlpEUXpZVGxoTURBeVpXRTFZakU0T1RVMVlXVmxaamRoWVdNNE9ERmlZalEzTVdFNlNVUlRUem82TVRJeU1HSmxOVGhqTWpsbE5qVmtaVFF3WW1ZeU56TmlaVEZrWXpKaU1qWTJaRFF6WVRsaE1EQXlaV0UxWWpFNE9UVTFZV1ZsWmpkaFlXTTRPREZpWWpRM01XRWFrd2tLQVRUQ1Bvd0pDb2tKQ2dNeUxqRVNRakF3WTJaaE1EWmlPVGsxTXpnMk4yTTFZekl6T0RFNU5XTXlOalUxTkRaaE9EYzJaREJtTURnek1UQmtZMk5tTURreFl6WTVOREUwWmpjeU9EbGtZVFk0WlJvTmMzQnNhV05sTFdGdGRXeGxkQ0paQ2tBelkyRXhNelF6WVdJeU5tSTBOVE5rTXpoak9HRmtZamN3WkdOaE5XWXhaV0ZrT0RRME1HTTBNbUkxT1dJMk9HWXdOekEzT0RZNU5UVmpZbVk1WldNeEVnMVRjR3hwWTJVdVFXMTFiR1YwR2daQmJYVnNaWFFxb3dWeW9BVUtXUXBBTTJOaE1UTTBNMkZpTWpaaU5EVXpaRE00WXpoaFpHSTNNR1JqWVRWbU1XVmhaRGcwTkRCak5ESmlOVGxpTmpobU1EY3dOemcyT1RVMVkySm1PV1ZqTVJJTlUzQnNhV05sTGtGdGRXeGxkQm9HUVcxMWJHVjBFbElLQTJSemJ4SkxPa2xFVTA4Nk9qRXlNakJpWlRVNFl6STVaVFkxWkdVME1HSm1NamN6WW1VeFpHTXlZakkyTm1RME0yRTVZVEF3TW1WaE5XSXhPRGsxTldGbFpXWTNZV0ZqT0RneFltSTBOekZoRWxZS0JXOTNibVZ5RWswNlN6RXlNakF4T2pveE1qSXdNemcwTURKalpqRTJOVEE0Tnpaa01qa3lNR1EyTURRM1lqRXhZVFJoWVdZd1pHVTNZalF5T0dVNU9URTJNREE1WTJKaE1tRXlNbUl4WVdVeU1tTXhZUktXQXdvR1lXMXZkVzUwRW9zRGNvZ0RDbDhLUUROallURXpORE5oWWpJMllqUTFNMlF6T0dNNFlXUmlOekJrWTJFMVpqRmxZV1E0TkRRd1l6UXlZalU1WWpZNFpqQTNNRGM0TmprMU5XTmlaamxsWXpFU0MxTndiR2xqWlM1R1pXVnpHZzVGZUhCcGNtbHVaMEZ0YjNWdWRCSWZDZzFwYm1sMGFXRnNRVzF2ZFc1MEVnNHlERFV1TURBd01EQXdNREF3TUJKNENnbGpjbVZoZEdWa1FYUVNhM0pwQ2xjS1FETmpZVEV6TkROaFlqSTJZalExTTJRek9HTTRZV1JpTnpCa1kyRTFaakZsWVdRNE5EUXdZelF5WWpVNVlqWTRaakEzTURjNE5qazFOV05pWmpsbFl6RVNERk53YkdsalpTNVVlWEJsY3hvRlVtOTFibVFTRGdvR2JuVnRZbVZ5RWdRWTlJQUNFb2tCQ2d4eVlYUmxVR1Z5VW05MWJtUVNlWEozQ2wwS1FETmpZVEV6TkROaFlqSTJZalExTTJRek9HTTRZV1JpTnpCa1kyRTFaakZsWVdRNE5EUXdZelF5WWpVNVlqWTRaakEzTURjNE5qazFOV05pWmpsbFl6RVNDMU53YkdsalpTNUdaV1Z6R2d4U1lYUmxVR1Z5VW05MWJtUVNGZ29FY21GMFpSSU9NZ3d3TGpBd01ERTJPVEV4T1RFeVN6RXlNakF4T2pveE1qSXdNemcwTURKalpqRTJOVEE0Tnpaa01qa3lNR1EyTURRM1lqRXhZVFJoWVdZd1pHVTNZalF5T0dVNU9URTJNREE1WTJKaE1tRXlNbUl4WVdVeU1tTXhZVEpKUkZOUE9qb3hNakl3WW1VMU9HTXlPV1UyTldSbE5EQmlaakkzTTJKbE1XUmpNbUl5Tmpaa05ETmhPV0V3TURKbFlUVmlNVGc1TlRWaFpXVm1OMkZoWXpnNE1XSmlORGN4WVRwTE1USXlNREU2T2pFeU1qQXpPRFF3TW1ObU1UWTFNRGczTm1ReU9USXdaRFl3TkRkaU1URmhOR0ZoWmpCa1pUZGlOREk0WlRrNU1UWXdNRGxqWW1FeVlUSXlZakZoWlRJeVl6RmhPa2xFVTA4Nk9qRXlNakJpWlRVNFl6STVaVFkxWkdVME1HSm1NamN6WW1VeFpHTXlZakkyTm1RME0yRTVZVEF3TW1WaE5XSXhPRGsxTldGbFpXWTNZV0ZqT0RneFltSTBOekZoR3R3TkNnRXl3ajdWRFJyU0RRb0RNaTR4RW9vQk1EQXdZalZpWkRVMk4yWmpZVEExTlRsaFlXSTBOR1prWm1Fd05qazBORFprTVRWak4yRTBZalF3TVdObVl6YzVZemt4TldNMU16VTBaR0UxTXpSaU5qVTRZMkV4TVRFeU1qQTROVEF6WVdRd1lUbG1ORGczWWpNek4ySTVaV0V4WmpkaE5tUmlaRFJpT1RKaE5tWmpZbU5oWmpCaVlUVmxPV0ZtWTJNNE5qSXpaak0wTXpKallXVTRHZzF6Y0d4cFkyVXRZVzExYkdWMElsOEtRRE5qWVRFek5ETmhZakkyWWpRMU0yUXpPR000WVdSaU56QmtZMkUxWmpGbFlXUTRORFF3WXpReVlqVTVZalk0WmpBM01EYzROamsxTldOaVpqbGxZekVTRFZOd2JHbGpaUzVCYlhWc1pYUWFERXh2WTJ0bFpFRnRkV3hsZENwTE1USXlNREU2T2pFeU1qQXpPRFF3TW1ObU1UWTFNRGczTm1ReU9USXdaRFl3TkRkaU1URmhOR0ZoWmpCa1pUZGlOREk0WlRrNU1UWXdNRGxqWW1FeVlUSXlZakZoWlRJeVl6RmhLa2xFVTA4Nk9qRXlNakJpWlRVNFl6STVaVFkxWkdVME1HSm1NamN6WW1VeFpHTXlZakkyTm1RME0yRTVZVEF3TW1WaE5XSXhPRGsxTldGbFpXWTNZV0ZqT0RneFltSTBOekZoTWtzeE1qSXdNVG82TVRJeU1ETTROREF5WTJZeE5qVXdPRGMyWkRJNU1qQmtOakEwTjJJeE1XRTBZV0ZtTUdSbE4ySTBNamhsT1RreE5qQXdPV05pWVRKaE1qSmlNV0ZsTWpKak1XRXlTVVJUVHpvNk1USXlNR0psTlRoak1qbGxOalZrWlRRd1ltWXlOek5pWlRGa1l6SmlNalkyWkRRellUbGhNREF5WldFMVlqRTRPVFUxWVdWbFpqZGhZV000T0RGaVlqUTNNV0U2U3pFeU1qQXhPam94TWpJd016ZzBNREpqWmpFMk5UQTROelprTWpreU1HUTJNRFEzWWpFeFlUUmhZV1l3WkdVM1lqUXlPR1U1T1RFMk1EQTVZMkpoTW1FeU1tSXhZV1V5TW1NeFlUcEpSRk5QT2pveE1qSXdZbVUxT0dNeU9XVTJOV1JsTkRCaVpqSTNNMkpsTVdSak1tSXlOalprTkROaE9XRXdNREpsWVRWaU1UZzVOVFZoWldWbU4yRmhZemc0TVdKaU5EY3hZVW9UVEc5amEyVmtRVzExYkdWMFgxVnViRzlqYTFLTUFuS0pBZ3BtQ2tBelkyRXhNelF6WVdJeU5tSTBOVE5rTXpoak9HRmtZamN3WkdOaE5XWXhaV0ZrT0RRME1HTTBNbUkxT1dJMk9HWXdOekEzT0RZNU5UVmpZbVk1WldNeEVnMVRjR3hwWTJVdVFXMTFiR1YwR2hOTWIyTnJaV1JCYlhWc1pYUmZWVzVzYjJOckVwNEJDZ3h2Y0dWdVVtOTFibVJEYVdRU2pRRktpZ0V3TUdRd01qSTFZMkZpWkdKak5EY3pPREZsTnpSaE16WXpabUU1TWpjelpHVXhPVEUzTXpoaVltTmpPR1JtTlRBelpESTJZV1U0WWpSa05HRXlPR0ZpTlRWallURXhNVEl5TURoall6QmtNVFExTnpKaFpXSXdNRFpsTWpZek56YzVNMlU1TldRNFkyTXhaV1F4WlRWak9UaGxOV0kzWXpZME1XUTROV05qWWpsaFpUTXhObVk0TkRkWUFXSUJNMklCTkdyWkJYTFdCUXBzQ2tBelkyRXhNelF6WVdJeU5tSTBOVE5rTXpoak9HRmtZamN3WkdOaE5XWXhaV0ZrT0RRME1HTTBNbUkxT1dJMk9HWXdOekEzT0RZNU5UVmpZbVk1WldNeEVnMVRjR3hwWTJVdVFXMTFiR1YwR2hsTWIyTnJaV1JCYlhWc1pYUmZWVzVzYjJOclVtVnpkV3gwRXQ0Q0NnbGhiWFZzWlhSVGRXMFMwQUp5elFJS1pncEFNMk5oTVRNME0yRmlNalppTkRVelpETTRZemhoWkdJM01HUmpZVFZtTVdWaFpEZzBOREJqTkRKaU5UbGlOamhtTURjd056ZzJPVFUxWTJKbU9XVmpNUklOVTNCc2FXTmxMa0Z0ZFd4bGRCb1RRVzExYkdWMFEzSmxZWFJsVTNWdGJXRnllUkpPQ2daaGJYVnNaWFFTUkVwQ01EQmpabUV3Tm1JNU9UVXpPRFkzWXpWak1qTTRNVGsxWXpJMk5UVTBObUU0Tnpaa01HWXdPRE14TUdSalkyWXdPVEZqTmprME1UUm1Oekk0T1dSaE5qaGxFaDBLQzJGdGRXeGxkRkJ5YVdObEVnNHlEREF1TVRFeU5UQXdNREF3TUJKMENnVnliM1Z1WkJKcmNta0tWd3BBTTJOaE1UTTBNMkZpTWpaaU5EVXpaRE00WXpoaFpHSTNNR1JqWVRWbU1XVmhaRGcwTkRCak5ESmlOVGxpTmpobU1EY3dOemcyT1RVMVkySm1PV1ZqTVJJTVUzQnNhV05sTGxSNWNHVnpHZ1ZTYjNWdVpCSU9DZ1p1ZFcxaVpYSVNCQmo0Z0FJU2hBSUtCRzFsZEdFUyt3RlMrQUVLOVFGeThnRUthUXBBTkdSbFpEWmlOalk0WTJJellqWTBaamRoT0RoaE16QTROelJqWkRReFl6YzFPREk1WmpWbE1EWTBZak5tWW1KaFpHWTBNV1ZqTjJVNE16WXpNelUwWmhJYlUzQnNhV05sTGtGd2FTNVViMnRsYmk1TlpYUmhaR0YwWVZZeEdnaE5aWFJoWkdGMFlSS0VBUW9HZG1Gc2RXVnpFbnBpZUFwQkNpWnpjR3hwWTJVdWJHWmtaV05sYm5SeVlXeHBlbVZrZEhKMWMzUXViM0puTDNKbFlYTnZiaElYUWhWb2IyeGtaWEp6SUhKbGJHVmhjMlZrSUd4dlkyc0tNd29uYzNCc2FXTmxMbXhtWkdWalpXNTBjbUZzYVhwbFpIUnlkWE4wTG05eVp5OTBlQzFyYVc1a0VnaENCblZ1Ykc5amF4ckhGUW9CTU1JK3dCVWF2UlVLQXpJdU1SS0tBVEF3Tm1ReVkyUmlPVFV5WWpSa05UVXdPVFV4WVRRNE5qRTNaVFEwWkRrek5UVXpNVFJpTUdJNU1HRXdaVEl3WlRoaU0yWXpaalJoWkRBNVptSXdNakJqTkdOaE1URXhNakl3WmpZeU0ySXlNak5rT1RsbVpURm1ZbU16Wm1Nek5UQXpaVEEwTkdZeFpHVTFOelprT1ROaU1qWm1aR1l4TW1Zd1pUUTVNVEF6TVdRM01tTm1ORGMyTlJvTmMzQnNhV05sTFdGdGRXeGxkQ0ovQ2tBelkyRXhNelF6WVdJeU5tSTBOVE5rTXpoak9HRmtZamN3WkdOaE5XWXhaV0ZrT0RRME1HTTBNbUkxT1dJMk9HWXdOekEzT0RZNU5UVmpZbVk1WldNeEVpQlRjR3hwWTJVdVFXMTFiR1YwVkhKaGJuTm1aWEpKYm5OMGNuVmpkR2x2YmhvWlFXMTFiR1YwVkhKaGJuTm1aWEpKYm5OMGNuVmpkR2x2YmlwTE1USXlNREU2T2pFeU1qQXpPRFF3TW1ObU1UWTFNRGczTm1ReU9USXdaRFl3TkRkaU1URmhOR0ZoWmpCa1pUZGlOREk0WlRrNU1UWXdNRGxqWW1FeVlUSXlZakZoWlRJeVl6RmhLa2xFVTA4Nk9qRXlNakJpWlRVNFl6STVaVFkxWkdVME1HSm1NamN6WW1VeFpHTXlZakkyTm1RME0yRTVZVEF3TW1WaE5XSXhPRGsxTldGbFpXWTNZV0ZqT0RneFltSTBOekZoTWtzeE1qSXdNVG82TVRJeU1ETTROREF5WTJZeE5qVXdPRGMyWkRJNU1qQmtOakEwTjJJeE1XRTBZV0ZtTUdSbE4ySTBNamhsT1RreE5qQXdPV05pWVRKaE1qSmlNV0ZsTWpKak1XRXlTVVJUVHpvNk1USXlNR0psTlRoak1qbGxOalZrWlRRd1ltWXlOek5pWlRGa1l6SmlNalkyWkRRellUbGhNREF5WldFMVlqRTRPVFUxWVdWbFpqZGhZV000T0RGaVlqUTNNV0V5UzJGaVkyUmxPam94TWpJd05XSTBaVE0xTXpkaE9UVXhNalprT1RBMk1EUTFPVEl6TkRSa09HRmtNMk16WkdSalkyUmhOR1kzT1Rrd01UazFOREk0TUdWbE1UbGpOVGMyTnpFMFpEcExZV0pqWkdVNk9qRXlNakExWWpSbE16VXpOMkU1TlRFeU5tUTVNRFl3TkRVNU1qTTBOR1E0WVdRell6TmtaR05qWkdFMFpqYzVPVEF4T1RVME1qZ3daV1V4T1dNMU56WTNNVFJrUW44S1FEVTFZbUUwWkdWaU1HRmtORFkyTW1NME1UWTRZak01T0RVNU56TTRZVEJsT1RFek9EaGtNalV5TWpnMk5EZ3dZemN6TXpGaU0yWTNNV0UxTVRjeU9ERVNKbE53YkdsalpTNUJjR2t1Vkc5clpXNHVWSEpoYm5ObVpYSkpibk4wY25WamRHbHZibFl4R2hOVWNtRnVjMlpsY2tsdWMzUnlkV04wYVc5dVNocFVjbUZ1YzJabGNrbHVjM1J5ZFdOMGFXOXVYMUpsYW1WamRGTHhDWEx1Q1FxR0FRcEFOVFZpWVRSa1pXSXdZV1EwTmpZeVl6UXhOamhpTXprNE5UazNNemhoTUdVNU1UTTRPR1F5TlRJeU9EWTBPREJqTnpNek1XSXpaamN4WVRVeE56STRNUkltVTNCc2FXTmxMa0Z3YVM1VWIydGxiaTVVY21GdWMyWmxja2x1YzNSeWRXTjBhVzl1VmpFYUdsUnlZVzV6Wm1WeVNXNXpkSEoxWTNScGIyNWZVbVZxWldOMEV1SUlDZ2xsZUhSeVlVRnlaM01TMUFoeTBRZ0thZ3BBTkdSbFpEWmlOalk0WTJJellqWTBaamRoT0RoaE16QTROelJqWkRReFl6YzFPREk1WmpWbE1EWTBZak5tWW1KaFpHWTBNV1ZqTjJVNE16WXpNelUwWmhJYlUzQnNhV05sTGtGd2FTNVViMnRsYmk1TlpYUmhaR0YwWVZZeEdnbEZlSFJ5WVVGeVozTVMzQVlLQjJOdmJuUmxlSFFTMEFaeXpRWUtiZ3BBTkdSbFpEWmlOalk0WTJJellqWTBaamRoT0RoaE16QTROelJqWkRReFl6YzFPREk1WmpWbE1EWTBZak5tWW1KaFpHWTBNV1ZqTjJVNE16WXpNelUwWmhJYlUzQnNhV05sTGtGd2FTNVViMnRsYmk1TlpYUmhaR0YwWVZZeEdnMURhRzlwWTJWRGIyNTBaWGgwRXRvRkNnWjJZV3gxWlhNU3p3Vml6QVVLbmdJS0RHRnRkV3hsZEMxeWRXeGxjeEtOQW5xS0FncHBDa0EwWkdWa05tSTJOamhqWWpOaU5qUm1OMkU0T0dFek1EZzNOR05rTkRGak56VTRNamxtTldVd05qUmlNMlppWW1Ga1pqUXhaV00zWlRnek5qTXpOVFJtRWh0VGNHeHBZMlV1UVhCcExsUnZhMlZ1TGsxbGRHRmtZWFJoVmpFYUNFRnVlVlpoYkhWbEVnMUJWbDlEYjI1MGNtRmpkRWxrR28wQlNvb0JNREExTlRSa1pEUXhaRFF6TkRNNFpEaGxaVGc0TXpFeU1EZzFZemM1TkRRM1lURTJaV1psTlRWaE4yWmpPVFF4WTJNMFpqWTNZV1l5Wm1VeU5qaGxaRGN6WTJFeE1URXlNakF4Tm1ZM1pqbGxNV0l3TlRRNU1USXdaamswTW1ZMk0yTXlORGxqTlRWak1qZG1OMkprTkdWaVpHVXhZemcyT1dOaU9XUTNZakJsWkdVMU1EZzBaalpoQ29rQkNndGxlSEJwY21VdGJHOWpheEo2ZW5nS2FRcEFOR1JsWkRaaU5qWTRZMkl6WWpZMFpqZGhPRGhoTXpBNE56UmpaRFF4WXpjMU9ESTVaalZsTURZMFlqTm1ZbUpoWkdZME1XVmpOMlU0TXpZek16VTBaaEliVTNCc2FXTmxMa0Z3YVM1VWIydGxiaTVOWlhSaFpHRjBZVll4R2doQmJubFdZV3gxWlJJSFFWWmZRbTl2YkJvQ0VBRUtuQUlLQ205d1pXNHRjbTkxYm1RU2pRSjZpZ0lLYVFwQU5HUmxaRFppTmpZNFkySXpZalkwWmpkaE9EaGhNekE0TnpSalpEUXhZemMxT0RJNVpqVmxNRFkwWWpObVltSmhaR1kwTVdWak4yVTRNell6TXpVMFpoSWJVM0JzYVdObExrRndhUzVVYjJ0bGJpNU5aWFJoWkdGMFlWWXhHZ2hCYm5sV1lXeDFaUklOUVZaZlEyOXVkSEpoWTNSSlpCcU5BVXFLQVRBd1pEQXlNalZqWVdKa1ltTTBOek00TVdVM05HRXpOak5tWVRreU56TmtaVEU1TVRjek9HSmlZMk00WkdZMU1ETmtNalpoWlRoaU5HUTBZVEk0WVdJMU5XTmhNVEV4TWpJd09HTmpNR1F4TkRVM01tRmxZakF3Tm1VeU5qTTNOemt6WlRrMVpEaGpZekZsWkRGbE5XTTVPR1UxWWpkak5qUXhaRGcxWTJOaU9XRmxNekUyWmpnME54S0RBUW9FYldWMFlSSjdjbmtLYVFwQU5HUmxaRFppTmpZNFkySXpZalkwWmpkaE9EaGhNekE0TnpSalpEUXhZemMxT0RJNVpqVmxNRFkwWWpObVltSmhaR1kwTVdWak4yVTRNell6TXpVMFpoSWJVM0JzYVdObExrRndhUzVVYjJ0bGJpNU5aWFJoWkdGMFlWWXhHZ2hOWlhSaFpHRjBZUklNQ2daMllXeDFaWE1TQW1JQVdBRmlBVEZpQVRKcXRRUnlzZ1FLaFFFS1FEVTFZbUUwWkdWaU1HRmtORFkyTW1NME1UWTRZak01T0RVNU56TTRZVEJsT1RFek9EaGtNalV5TWpnMk5EZ3dZemN6TXpGaU0yWTNNV0UxTVRjeU9ERVNKbE53YkdsalpTNUJjR2t1Vkc5clpXNHVWSEpoYm5ObVpYSkpibk4wY25WamRHbHZibFl4R2hsVWNtRnVjMlpsY2tsdWMzUnlkV04wYVc5dVVtVnpkV3gwRXNNQkNnWnZkWFJ3ZFhRU3VBRjZ0UUVLakFFS1FEVTFZbUUwWkdWaU1HRmtORFkyTW1NME1UWTRZak01T0RVNU56TTRZVEJsT1RFek9EaGtNalV5TWpnMk5EZ3dZemN6TXpGaU0yWTNNV0UxTVRjeU9ERVNKbE53YkdsalpTNUJjR2t1Vkc5clpXNHVWSEpoYm5ObVpYSkpibk4wY25WamRHbHZibFl4R2lCVWNtRnVjMlpsY2tsdWMzUnlkV04wYVc5dVVtVnpkV3gwWDA5MWRIQjFkQklnVkhKaGJuTm1aWEpKYm5OMGNuVmpkR2x2YmxKbGMzVnNkRjlHWVdsc1pXUWFBZ29BRWx3S0VITmxibVJsY2tOb1lXNW5aVU5wWkhNU1NGcEdDa1JLUWpBd1kyWmhNRFppT1RrMU16ZzJOMk0xWXpJek9ERTVOV015TmpVMU5EWmhPRGMyWkRCbU1EZ3pNVEJrWTJObU1Ea3hZelk1TkRFMFpqY3lPRGxrWVRZNFpSS0RBUW9FYldWMFlSSjdjbmtLYVFwQU5HUmxaRFppTmpZNFkySXpZalkwWmpkaE9EaGhNekE0TnpSalpEUXhZemMxT0RJNVpqVmxNRFkwWWpObVltSmhaR1kwTVdWak4yVTRNell6TXpVMFpoSWJVM0JzYVdObExrRndhUzVVYjJ0bGJpNU5aWFJoWkdGMFlWWXhHZ2hOWlhSaFpHRjBZUklNQ2daMllXeDFaWE1TQW1JQUlpSVNJQ3d0bnVXQzJnNkpkV2VBY1pSNmVuWVdtZXdsWklaZU5kZXE3c2ExcTRIR0lpUUlBaElnNTRKa1hLNVNLWWFVUVRWeVRna3JYODl5M2Q2aXdFcHV3eERjWUNWaWFjUWlKQWdFRWlBNUpkRDF2L2JzVTlEeUVNamxiQzVrVFgvak5IN2dybzZTeXI4Zi9HT0xoaExGU1JKekNrdGhZbU5rWlRvNk1USXlNRFZpTkdVek5UTTNZVGsxTVRJMlpEa3dOakEwTlRreU16UTBaRGhoWkROak0yUmtZMk5rWVRSbU56azVNREU1TlRReU9EQmxaVEU1WXpVM05qY3hOR1FTSkRFeVpXRmlOekZtTFRrMU1XWXROR1ZsTWkwNFptSTBMVFE1TldJd05HRTJPREJsTkJwVFoyeHZZbUZzTFdSdmJXRnBiam82TVRJeU1HSmxOVGhqTWpsbE5qVmtaVFF3WW1ZeU56TmlaVEZrWXpKaU1qWTJaRFF6WVRsaE1EQXlaV0UxWWpFNE9UVTFZV1ZsWmpkaFlXTTRPREZpWWpRM01XRXFKR1V3WXpNMU1UUTJMV1UwTVRjdE5EVTNZUzFoT1dNMExUaGxaalpoT1RsaE9HWTRZakNtNnB1YWhzV1FBenJ3RXdxWkRRb0RNaTR4RW9vQk1EQXdZalZpWkRVMk4yWmpZVEExTlRsaFlXSTBOR1prWm1Fd05qazBORFprTVRWak4yRTBZalF3TVdObVl6YzVZemt4TldNMU16VTBaR0UxTXpSaU5qVTRZMkV4TVRFeU1qQTROVEF6WVdRd1lUbG1ORGczWWpNek4ySTVaV0V4WmpkaE5tUmlaRFJpT1RKaE5tWmpZbU5oWmpCaVlUVmxPV0ZtWTJNNE5qSXpaak0wTXpKallXVTRHZzF6Y0d4cFkyVXRZVzExYkdWMElsOEtRRE5qWVRFek5ETmhZakkyWWpRMU0yUXpPR000WVdSaU56QmtZMkUxWmpGbFlXUTRORFF3WXpReVlqVTVZalk0WmpBM01EYzROamsxTldOaVpqbGxZekVTRFZOd2JHbGpaUzVCYlhWc1pYUWFERXh2WTJ0bFpFRnRkV3hsZENya0NITGhDQXBmQ2tBelkyRXhNelF6WVdJeU5tSTBOVE5rTXpoak9HRmtZamN3WkdOaE5XWXhaV0ZrT0RRME1HTTBNbUkxT1dJMk9HWXdOekEzT0RZNU5UVmpZbVk1WldNeEVnMVRjR3hwWTJVdVFXMTFiR1YwR2d4TWIyTnJaV1JCYlhWc1pYUVNyZ1VLQm1GdGRXeGxkQktqQlhLZ0JRcFpDa0F6WTJFeE16UXpZV0l5Tm1JME5UTmtNemhqT0dGa1lqY3daR05oTldZeFpXRmtPRFEwTUdNME1tSTFPV0kyT0dZd056QTNPRFk1TlRWalltWTVaV014RWcxVGNHeHBZMlV1UVcxMWJHVjBHZ1pCYlhWc1pYUVNVZ29EWkhOdkVrczZTVVJUVHpvNk1USXlNR0psTlRoak1qbGxOalZrWlRRd1ltWXlOek5pWlRGa1l6SmlNalkyWkRRellUbGhNREF5WldFMVlqRTRPVFUxWVdWbFpqZGhZV000T0RGaVlqUTNNV0VTVmdvRmIzZHVaWElTVFRwTE1USXlNREU2T2pFeU1qQXpPRFF3TW1ObU1UWTFNRGczTm1ReU9USXdaRFl3TkRkaU1URmhOR0ZoWmpCa1pUZGlOREk0WlRrNU1UWXdNRGxqWW1FeVlUSXlZakZoWlRJeVl6RmhFcFlEQ2daaGJXOTFiblFTaXdOeWlBTUtYd3BBTTJOaE1UTTBNMkZpTWpaaU5EVXpaRE00WXpoaFpHSTNNR1JqWVRWbU1XVmhaRGcwTkRCak5ESmlOVGxpTmpobU1EY3dOemcyT1RVMVkySm1PV1ZqTVJJTFUzQnNhV05sTGtabFpYTWFEa1Y0Y0dseWFXNW5RVzF2ZFc1MEVoOEtEV2x1YVhScFlXeEJiVzkxYm5RU0RqSU1OUzR3TURBd01EQXdNREF3RW5nS0NXTnlaV0YwWldSQmRCSnJjbWtLVndwQU0yTmhNVE0wTTJGaU1qWmlORFV6WkRNNFl6aGhaR0kzTUdSallUVm1NV1ZoWkRnME5EQmpOREppTlRsaU5qaG1NRGN3TnpnMk9UVTFZMkptT1dWak1SSU1VM0JzYVdObExsUjVjR1Z6R2dWU2IzVnVaQklPQ2dadWRXMWlaWElTQkJqMGdBSVNpUUVLREhKaGRHVlFaWEpTYjNWdVpCSjVjbmNLWFFwQU0yTmhNVE0wTTJGaU1qWmlORFV6WkRNNFl6aGhaR0kzTUdSallUVm1NV1ZoWkRnME5EQmpOREppTlRsaU5qaG1NRGN3TnpnMk9UVTFZMkptT1dWak1SSUxVM0JzYVdObExrWmxaWE1hREZKaGRHVlFaWEpTYjNWdVpCSVdDZ1J5WVhSbEVnNHlEREF1TURBd01UWTVNVEU1TVJMTUFnb0ViRzlqYXhMREFuTEFBZ3BiQ2tBelkyRXhNelF6WVdJeU5tSTBOVE5rTXpoak9HRmtZamN3WkdOaE5XWXhaV0ZrT0RRME1HTTBNbUkxT1dJMk9HWXdOekEzT0RZNU5UVmpZbVk1WldNeEVnMVRjR3hwWTJVdVJYaHdhWEo1R2doVWFXMWxURzlqYXhKYUNnZG9iMnhrWlhKekVrOWFUUXBMT2tsRVUwODZPakV5TWpCaVpUVTRZekk1WlRZMVpHVTBNR0ptTWpjelltVXhaR015WWpJMk5tUTBNMkU1WVRBd01tVmhOV0l4T0RrMU5XRmxaV1kzWVdGak9EZ3hZbUkwTnpGaEVoWUtDV1Y0Y0dseVpYTkJkQklKS1NBblBKK0RSQVlBRW0wS0NtOXdkRU52Ym5SbGVIUVNYMUpkQ2x0Q1dYUnlZVzV6Wm1WeUlIUnZJQ2RoWW1Oa1pUbzZNVEl5TURWaU5HVXpOVE0zWVRrMU1USTJaRGt3TmpBME5Ua3lNelEwWkRoaFpETmpNMlJrWTJOa1lUUm1Oems1TURFNU5UUXlPREJsWlRFNVl6VTNOamN4TkdRbk1rc3hNakl3TVRvNk1USXlNRE00TkRBeVkyWXhOalV3T0RjMlpESTVNakJrTmpBME4ySXhNV0UwWVdGbU1HUmxOMkkwTWpobE9Ua3hOakF3T1dOaVlUSmhNakppTVdGbE1qSmpNV0V5U1VSVFR6bzZNVEl5TUdKbE5UaGpNamxsTmpWa1pUUXdZbVl5TnpOaVpURmtZekppTWpZMlpEUXpZVGxoTURBeVpXRTFZakU0T1RVMVlXVmxaamRoWVdNNE9ERmlZalEzTVdFNlN6RXlNakF4T2pveE1qSXdNemcwTURKalpqRTJOVEE0Tnpaa01qa3lNR1EyTURRM1lqRXhZVFJoWVdZd1pHVTNZalF5T0dVNU9URTJNREE1WTJKaE1tRXlNbUl4WVdVeU1tTXhZVHBKUkZOUE9qb3hNakl3WW1VMU9HTXlPV1UyTldSbE5EQmlaakkzTTJKbE1XUmpNbUl5Tmpaa05ETmhPV0V3TURKbFlUVmlNVGc1TlRWaFpXVm1OMkZoWXpnNE1XSmlORGN4WWNBKzdwdUhnb0xGa0FQU1BzWUdDZ015TGpFU3ZnWUtSUUFMVzlWbi9LQlZtcXRFL2ZvR2xFYlJYSHBMUUJ6OGVja1Z4VFZOcFRTMldNb1JFaUNGQTYwS24waDdNM3Vlb2ZlbTI5UzVLbS9MeXZDNlhwcjh5R0kvTkRMSzZCSU5jM0JzYVdObExXRnRkV3hsZEJwZ0NrQXpZMkV4TXpRellXSXlObUkwTlROa016aGpPR0ZrWWpjd1pHTmhOV1l4WldGa09EUTBNR00wTW1JMU9XSTJPR1l3TnpBM09EWTVOVFZqWW1ZNVpXTXhFZ1pUY0d4cFkyVVNCa0Z0ZFd4bGRCb01URzlqYTJWa1FXMTFiR1YwSXJZRGFyTURDdVFCQ3VFQmF0NEJDazBLU3pwSlJGTlBPam94TWpJd1ltVTFPR015T1dVMk5XUmxOREJpWmpJM00ySmxNV1JqTW1JeU5qWmtORE5oT1dFd01ESmxZVFZpTVRnNU5UVmhaV1ZtTjJGaFl6ZzRNV0ppTkRjeFlRcFBDazA2U3pFeU1qQXhPam94TWpJd016ZzBNREpqWmpFMk5UQTROelprTWpreU1HUTJNRFEzWWpFeFlUUmhZV1l3WkdVM1lqUXlPR1U1T1RFMk1EQTVZMkpoTW1FeU1tSXhZV1V5TW1NeFlRbzhDanBxT0FvUUNnNHlERFV1TURBd01EQXdNREF3TUFvTUNncHFDQW9HQ2dRWTlJQUNDaFlLRkdvU0NoQUtEaklNTUM0d01EQXhOamt4TVRreENza0JDc1lCYXNNQkNsRUtUMXBOQ2tzNlNVUlRUem82TVRJeU1HSmxOVGhqTWpsbE5qVmtaVFF3WW1ZeU56TmlaVEZrWXpKaU1qWTJaRFF6WVRsaE1EQXlaV0UxWWpFNE9UVTFZV1ZsWmpkaFlXTTRPREZpWWpRM01XRUtDd29KS1NBblBKK0RSQVlBQ21FS1gxSmRDbHRDV1hSeVlXNXpabVZ5SUhSdklDZGhZbU5rWlRvNk1USXlNRFZpTkdVek5UTTNZVGsxTVRJMlpEa3dOakEwTlRreU16UTBaRGhoWkROak0yUmtZMk5rWVRSbU56azVNREU1TlRReU9EQmxaVEU1WXpVM05qY3hOR1FuS2tzeE1qSXdNVG82TVRJeU1ETTROREF5WTJZeE5qVXdPRGMyWkRJNU1qQmtOakEwTjJJeE1XRTBZV0ZtTUdSbE4ySTBNamhsT1RreE5qQXdPV05pWVRKaE1qSmlNV0ZsTWpKak1XRXFTVVJUVHpvNk1USXlNR0psTlRoak1qbGxOalZrWlRRd1ltWXlOek5pWlRGa1l6SmlNalkyWkRRellUbGhNREF5WldFMVlqRTRPVFUxWVdWbFpqZGhZV000T0RGaVlqUTNNV0U1N3MxQklDaENCZ0JDS2dvbUNpUUlBUklnUU1RamhwMEdlQmhLMVV0dFlOSTQ4TGtpNm1xWjkxR1Vya05JZ2FrWGR1SVFIanJoRmdyd0Rnb0RNaTR4RW9vQk1EQTJaREpqWkdJNU5USmlOR1ExTlRBNU5URmhORGcyTVRkbE5EUmtPVE0xTlRNeE5HSXdZamt3WVRCbE1qQmxPR0l6WmpObU5HRmtNRGxtWWpBeU1HTTBZMkV4TVRFeU1qQm1Oakl6WWpJeU0yUTVPV1psTVdaaVl6Tm1Zek0xTURObE1EUTBaakZrWlRVM05tUTVNMkl5Tm1aa1pqRXlaakJsTkRreE1ETXhaRGN5WTJZME56WTFHZzF6Y0d4cFkyVXRZVzExYkdWMEluOEtRRE5qWVRFek5ETmhZakkyWWpRMU0yUXpPR000WVdSaU56QmtZMkUxWmpGbFlXUTRORFF3WXpReVlqVTVZalk0WmpBM01EYzROamsxTldOaVpqbGxZekVTSUZOd2JHbGpaUzVCYlhWc1pYUlVjbUZ1YzJabGNrbHVjM1J5ZFdOMGFXOXVHaGxCYlhWc1pYUlVjbUZ1YzJabGNrbHVjM1J5ZFdOMGFXOXVLczRKY3NzSkNuOEtRRE5qWVRFek5ETmhZakkyWWpRMU0yUXpPR000WVdSaU56QmtZMkUxWmpGbFlXUTRORFF3WXpReVlqVTVZalk0WmpBM01EYzROamsxTldOaVpqbGxZekVTSUZOd2JHbGpaUzVCYlhWc1pYUlVjbUZ1YzJabGNrbHVjM1J5ZFdOMGFXOXVHaGxCYlhWc1pYUlVjbUZ1YzJabGNrbHVjM1J5ZFdOMGFXOXVFcDRCQ2d4c2IyTnJaV1JCYlhWc1pYUVNqUUZLaWdFd01EQmlOV0prTlRZM1ptTmhNRFUxT1dGaFlqUTBabVJtWVRBMk9UUTBObVF4TldNM1lUUmlOREF4WTJaak56bGpPVEUxWXpVek5UUmtZVFV6TkdJMk5UaGpZVEV4TVRJeU1EZzFNRE5oWkRCaE9XWTBPRGRpTXpNM1lqbGxZVEZtTjJFMlpHSmtOR0k1TW1FMlptTmlZMkZtTUdKaE5XVTVZV1pqWXpnMk1qTm1NelF6TW1OaFpUZ1NwZ2NLQ0hSeVlXNXpabVZ5RXBrSGNwWUhDblFLUURVMVltRTBaR1ZpTUdGa05EWTJNbU0wTVRZNFlqTTVPRFU1TnpNNFlUQmxPVEV6T0Roa01qVXlNamcyTkRnd1l6Y3pNekZpTTJZM01XRTFNVGN5T0RFU0psTndiR2xqWlM1QmNHa3VWRzlyWlc0dVZISmhibk5tWlhKSmJuTjBjblZqZEdsdmJsWXhHZ2hVY21GdWMyWmxjaEpYQ2daelpXNWtaWElTVFRwTE1USXlNREU2T2pFeU1qQXpPRFF3TW1ObU1UWTFNRGczTm1ReU9USXdaRFl3TkRkaU1URmhOR0ZoWmpCa1pUZGlOREk0WlRrNU1UWXdNRGxqWW1FeVlUSXlZakZoWlRJeVl6RmhFbGtLQ0hKbFkyVnBkbVZ5RWswNlMyRmlZMlJsT2pveE1qSXdOV0kwWlRNMU16ZGhPVFV4TWpaa09UQTJNRFExT1RJek5EUmtPR0ZrTTJNelpHUmpZMlJoTkdZM09Ua3dNVGsxTkRJNE1HVmxNVGxqTlRjMk56RTBaQklZQ2daaGJXOTFiblFTRGpJTU5TNHdNREF3TURBd01EQXdFdWdCQ2d4cGJuTjBjblZ0Wlc1MFNXUVMxd0Z5MUFFS2JBcEFOekU0WVRCbU56ZGxOVEExWVRoa1pUSXlaakU0T0dKa05HTTROMlpsTnpReE1ERXlOelJsT1dRMFkySXhZbVpoWXpka01EbGhaV00zTVRVNFpETTFZaElhVTNCc2FXTmxMa0Z3YVM1VWIydGxiaTVJYjJ4a2FXNW5WakVhREVsdWMzUnlkVzFsYm5SSlpCSlVDZ1ZoWkcxcGJoSkxPa2xFVTA4Nk9qRXlNakJpWlRVNFl6STVaVFkxWkdVME1HSm1NamN6WW1VeFpHTXlZakkyTm1RME0yRTVZVEF3TW1WaE5XSXhPRGsxTldGbFpXWTNZV0ZqT0RneFltSTBOekZoRWc0S0FtbGtFZ2hDQmtGdGRXeGxkQklZQ2d0eVpYRjFaWE4wWldSQmRCSUpLU0RuL2g4b1FnWUFFaG9LRFdWNFpXTjFkR1ZDWldadmNtVVNDU2tnSnp5ZmcwUUdBQktvQVFvUWFXNXdkWFJJYjJ4a2FXNW5RMmxrY3hLVEFWcVFBUXFOQVVxS0FUQXdNR0kxWW1RMU5qZG1ZMkV3TlRVNVlXRmlORFJtWkdaaE1EWTVORFEyWkRFMVl6ZGhOR0kwTURGalptTTNPV001TVRWak5UTTFOR1JoTlRNMFlqWTFPR05oTVRFeE1qSXdPRFV3TTJGa01HRTVaalE0TjJJek16ZGlPV1ZoTVdZM1lUWmtZbVEwWWpreVlUWm1ZMkpqWVdZd1ltRTFaVGxoWm1Oak9EWXlNMll6TkRNeVkyRmxPQktEQVFvRWJXVjBZUko3Y25rS2FRcEFOR1JsWkRaaU5qWTRZMkl6WWpZMFpqZGhPRGhoTXpBNE56UmpaRFF4WXpjMU9ESTVaalZsTURZMFlqTm1ZbUpoWkdZME1XVmpOMlU0TXpZek16VTBaaEliVTNCc2FXTmxMa0Z3YVM1VWIydGxiaTVOWlhSaFpHRjBZVll4R2doTlpYUmhaR0YwWVJJTUNnWjJZV3gxWlhNU0FtSUFNa3N4TWpJd01UbzZNVEl5TURNNE5EQXlZMll4TmpVd09EYzJaREk1TWpCa05qQTBOMkl4TVdFMFlXRm1NR1JsTjJJME1qaGxPVGt4TmpBd09XTmlZVEpoTWpKaU1XRmxNakpqTVdFeVNVUlRUem82TVRJeU1HSmxOVGhqTWpsbE5qVmtaVFF3WW1ZeU56TmlaVEZrWXpKaU1qWTJaRFF6WVRsaE1EQXlaV0UxWWpFNE9UVTFZV1ZsWmpkaFlXTTRPREZpWWpRM01XRTZTekV5TWpBeE9qb3hNakl3TXpnME1ESmpaakUyTlRBNE56WmtNamt5TUdRMk1EUTNZakV4WVRSaFlXWXdaR1UzWWpReU9HVTVPVEUyTURBNVkySmhNbUV5TW1JeFlXVXlNbU14WVRwSlJGTlBPam94TWpJd1ltVTFPR015T1dVMk5XUmxOREJpWmpJM00ySmxNV1JqTW1JeU5qWmtORE5oT1dFd01ESmxZVFZpTVRnNU5UVmhaV1ZtTjJGaFl6ZzRNV0ppTkRjeFlUcExZV0pqWkdVNk9qRXlNakExWWpSbE16VXpOMkU1TlRFeU5tUTVNRFl3TkRVNU1qTTBOR1E0WVdRell6TmtaR05qWkdFMFpqYzVPVEF4T1RVME1qZ3daV1V4T1dNMU56WTNNVFJrd0Q3dW00ZUNnc1dRQTlJKzRBY0tBekl1TVJMWUJ3cEZBRzBzMjVVclRWVUpVYVNHRitSTmsxVXhTd3VRb09JT2l6OC9TdENmc0NERXloRVNJUFlqc2lQWm4rSDd3L3cxQStCRThkNVhiWk95Yjk4UzhPU1JBeDF5ejBkbEVnMXpjR3hwWTJVdFlXMTFiR1YwR29BQkNrQXpZMkV4TXpRellXSXlObUkwTlROa016aGpPR0ZrWWpjd1pHTmhOV1l4WldGa09EUTBNR00wTW1JMU9XSTJPR1l3TnpBM09EWTVOVFZqWW1ZNVpXTXhFZ1pUY0d4cFkyVVNHVUZ0ZFd4bGRGUnlZVzV6Wm1WeVNXNXpkSEoxWTNScGIyNGFHVUZ0ZFd4bGRGUnlZVzV6Wm1WeVNXNXpkSEoxWTNScGIyNGk0Z05xM3dNS1NRcEhTa1VBQzF2VloveWdWWnFyUlAzNkJwUkcwVng2UzBBYy9IbkpGY1UxVGFVMHRsaktFUklnaFFPdENwOUllek43bnFIM3B0dlV1U3B2eThyd3VsNmEvTWhpUHpReXl1Z0trUU1LamdOcWl3TUtUd3BOT2tzeE1qSXdNVG82TVRJeU1ETTROREF5WTJZeE5qVXdPRGMyWkRJNU1qQmtOakEwTjJJeE1XRTBZV0ZtTUdSbE4ySTBNamhsT1RreE5qQXdPV05pWVRKaE1qSmlNV0ZsTWpKak1XRUtUd3BOT2t0aFltTmtaVG82TVRJeU1EVmlOR1V6TlRNM1lUazFNVEkyWkRrd05qQTBOVGt5TXpRMFpEaGhaRE5qTTJSa1kyTmtZVFJtTnprNU1ERTVOVFF5T0RCbFpURTVZelUzTmpjeE5HUUtFQW9PTWd3MUxqQXdNREF3TURBd01EQUtYd3BkYWxzS1RRcExPa2xFVTA4Nk9qRXlNakJpWlRVNFl6STVaVFkxWkdVME1HSm1NamN6WW1VeFpHTXlZakkyTm1RME0yRTVZVEF3TW1WaE5XSXhPRGsxTldGbFpXWTNZV0ZqT0RneFltSTBOekZoQ2dvS0NFSUdRVzExYkdWMENnc0tDU2tnNS80ZktFSUdBQW9MQ2drcElDYzhuNE5FQmdBS1RRcExXa2tLUjBwRkFBdGIxV2Y4b0ZXYXEwVDkrZ2FVUnRGY2VrdEFIUHg1eVJYRk5VMmxOTFpZeWhFU0lJVURyUXFmU0hzemU1Nmg5NmJiMUxrcWI4dks4THBlbXZ6SVlqODBNc3JvQ2dzS0NXb0hDZ1VLQTRJQkFDcExNVEl5TURFNk9qRXlNakF6T0RRd01tTm1NVFkxTURnM05tUXlPVEl3WkRZd05EZGlNVEZoTkdGaFpqQmtaVGRpTkRJNFpUazVNVFl3TURsalltRXlZVEl5WWpGaFpUSXlZekZoS2tsRVUwODZPakV5TWpCaVpUVTRZekk1WlRZMVpHVTBNR0ptTWpjelltVXhaR015WWpJMk5tUTBNMkU1WVRBd01tVmhOV0l4T0RrMU5XRmxaV1kzWVdGak9EZ3hZbUkwTnpGaE1rdGhZbU5rWlRvNk1USXlNRFZpTkdVek5UTTNZVGsxTVRJMlpEa3dOakEwTlRreU16UTBaRGhoWkROak0yUmtZMk5rWVRSbU56azVNREU1TlRReU9EQmxaVEU1WXpVM05qY3hOR1E1N3MxQklDaENCZ0JDS2dvbUNpUUlBUklnQmpwdHI4elZiSEhaTk9qb05oV2tNUUlNVFlpZGx3blRHY0l4blRkS0s5Y1FIanJ5SEFxMUZRb0RNaTR4RW9vQk1EQmtNREl5TldOaFltUmlZelEzTXpneFpUYzBZVE0yTTJaaE9USTNNMlJsTVRreE56TTRZbUpqWXpoa1pqVXdNMlF5Tm1GbE9HSTBaRFJoTWpoaFlqVTFZMkV4TVRFeU1qQTRZMk13WkRFME5UY3lZV1ZpTURBMlpUSTJNemMzT1RObE9UVmtPR05qTVdWa01XVTFZems0WlRWaU4yTTJOREZrT0RWalkySTVZV1V6TVRabU9EUTNHZzF6Y0d4cFkyVXRZVzExYkdWMEltRUtRRE5qWVRFek5ETmhZakkyWWpRMU0yUXpPR000WVdSaU56QmtZMkUxWmpGbFlXUTRORFF3WXpReVlqVTVZalk0WmpBM01EYzROamsxTldOaVpqbGxZekVTREZOd2JHbGpaUzVTYjNWdVpCb1BUM0JsYmsxcGJtbHVaMUp2ZFc1a0twZ1NjcFVTQ21FS1FETmpZVEV6TkROaFlqSTJZalExTTJRek9HTTRZV1JpTnpCa1kyRTFaakZsWVdRNE5EUXdZelF5WWpVNVlqWTRaakEzTURjNE5qazFOV05pWmpsbFl6RVNERk53YkdsalpTNVNiM1Z1WkJvUFQzQmxiazFwYm1sdVoxSnZkVzVrRWxJS0EyUnpieEpMT2tsRVUwODZPakV5TWpCaVpUVTRZekk1WlRZMVpHVTBNR0ptTWpjelltVXhaR015WWpJMk5tUTBNMkU1WVRBd01tVmhOV0l4T0RrMU5XRmxaV1kzWVdGak9EZ3hZbUkwTnpGaEVuUUtCWEp2ZFc1a0VtdHlhUXBYQ2tBelkyRXhNelF6WVdJeU5tSTBOVE5rTXpoak9HRmtZamN3WkdOaE5XWXhaV0ZrT0RRME1HTTBNbUkxT1dJMk9HWXdOekEzT0RZNU5UVmpZbVk1WldNeEVneFRjR3hwWTJVdVZIbHdaWE1hQlZKdmRXNWtFZzRLQm01MWJXSmxjaElFR1BpQUFoSWRDZ3RoYlhWc1pYUlFjbWxqWlJJT01nd3dMakV4TWpVd01EQXdNREFTRkFvSGIzQmxibk5CZEJJSktWWjhsMDBvUWdZQUVoc0tEblJoY21kbGRFTnNiM05sYzBGMEVna3BWZ2dlbFNoQ0JnQVNoZ0VLQ21semMzVnBibWRHYjNJU2VISjJDbG9LUUdJM01HUmlPRE0yT1dVeFl6UTJNV1ExWXpjd1pqRmpPRFptTlRJMllUSTVaVGszTnpaak5qVTFaVFptWm1NeU5UWXdaamsxWWpBMVkyTmlPR0k1TkRZU0RVUkJMbFJwYldVdVZIbHdaWE1hQjFKbGJGUnBiV1VTR0FvTWJXbGpjbTl6WldOdmJtUnpFZ2dZZ0tDanRLYStCQkxTQ1FvUmRISmhibk5tWlhKRGIyNW1hV2RWYzJRU3ZBbHl1UWtLWndwQU0yTmhNVE0wTTJGaU1qWmlORFV6WkRNNFl6aGhaR0kzTUdSallUVm1NV1ZoWkRnME5EQmpOREppTlRsaU5qaG1NRGN3TnpnMk9UVTFZMkptT1dWak1SSVRVM0JzYVdObExrRnRkV3hsZEVOdmJtWnBaeG9PVkhKaGJuTm1aWEpEYjI1bWFXY1NnUUVLQ1dOeVpXRjBaVVpsWlJKMGNuSUtXUXBBTTJOaE1UTTBNMkZpTWpaaU5EVXpaRE00WXpoaFpHSTNNR1JqWVRWbU1XVmhaRGcwTkRCak5ESmlOVGxpTmpobU1EY3dOemcyT1RVMVkySm1PV1ZqTVJJTFUzQnNhV05sTGtabFpYTWFDRVpwZUdWa1JtVmxFaFVLQTJabFpSSU9NZ3d3TGpBd01EQXdNREF3TURBU2h3RUtDbWh2YkdScGJtZEdaV1VTZVhKM0NsMEtRRE5qWVRFek5ETmhZakkyWWpRMU0yUXpPR000WVdSaU56QmtZMkUxWmpGbFlXUTRORFF3WXpReVlqVTVZalk0WmpBM01EYzROamsxTldOaVpqbGxZekVTQzFOd2JHbGpaUzVHWldWekdneFNZWFJsVUdWeVVtOTFibVFTRmdvRWNtRjBaUklPTWd3d0xqQXdNREF4T1RBeU5Ua1N3d1FLQzNSeVlXNXpabVZ5Um1WbEVyTUVjckFFQ2x3S1FETmpZVEV6TkROaFlqSTJZalExTTJRek9HTTRZV1JpTnpCa1kyRTFaakZsWVdRNE5EUXdZelF5WWpVNVlqWTRaakEzTURjNE5qazFOV05pWmpsbFl6RVNDMU53YkdsalpTNUdaV1Z6R2d0VGRHVndjR1ZrVW1GMFpSSWRDZ3RwYm1sMGFXRnNVbUYwWlJJT01nd3dMakF3TURBd01EQXdNREFTc0FNS0JYTjBaWEJ6RXFZRFdxTURDb2NCY29RQkNsUUtRRFZoWldVNVlqSXhZamhsT1dFMFl6UTVOelZpTldZMFl6UXhPVGhsTm1VMlpUZzBOamxrWmpRNVpUSXdNVEE0TWpCbE56a3laak01TTJSaU9EY3daalFTQ0VSQkxsUjVjR1Z6R2daVWRYQnNaVElTRmdvQ1h6RVNFRElPTVRBd0xqQXdNREF3TURBd01EQVNGQW9DWHpJU0RqSU1NQzR3TURBd01EQXdNREF3Q29nQmNvVUJDbFFLUURWaFpXVTVZakl4WWpobE9XRTBZelE1TnpWaU5XWTBZelF4T1RobE5tVTJaVGcwTmpsa1pqUTVaVEl3TVRBNE1qQmxOemt5WmpNNU0yUmlPRGN3WmpRU0NFUkJMbFI1Y0dWekdnWlVkWEJzWlRJU0Z3b0NYekVTRVRJUE1UQXdNQzR3TURBd01EQXdNREF3RWhRS0FsOHlFZzR5RERBdU1EQXdNREF3TURBd01BcUxBWEtJQVFwVUNrQTFZV1ZsT1dJeU1XSTRaVGxoTkdNME9UYzFZalZtTkdNME1UazRaVFpsTm1VNE5EWTVaR1kwT1dVeU1ERXdPREl3WlRjNU1tWXpPVE5rWWpnM01HWTBFZ2hFUVM1VWVYQmxjeG9HVkhWd2JHVXlFaG9LQWw4eEVoUXlFakV3TURBd01EQXVNREF3TURBd01EQXdNQklVQ2dKZk1oSU9NZ3d3TGpBd01EQXdNREF3TURBU2hRRUtEV3h2WTJ0SWIyeGtaWEpHWldVU2RISnlDbGtLUUROallURXpORE5oWWpJMllqUTFNMlF6T0dNNFlXUmlOekJrWTJFMVpqRmxZV1E0TkRRd1l6UXlZalU1WWpZNFpqQTNNRGM0TmprMU5XTmlaamxsWXpFU0MxTndiR2xqWlM1R1pXVnpHZ2hHYVhobFpFWmxaUklWQ2dObVpXVVNEaklNTUM0d01EQXdNREF3TURBd0VpNEtIR1Y0ZEhKaFJtVmhkSFZ5WldSQmNIQlNaWGRoY21SQmJXOTFiblFTRGpJTU1TNHdNREF3TURBd01EQXdFaE1LREcxaGVFNTFiVWx1Y0hWMGN4SURHTWdCRWhRS0RXMWhlRTUxYlU5MWRIQjFkSE1TQXhqSUFSSVhDaEZ0WVhoT2RXMU1iMk5yU0c5c1pHVnljeElDR0dRU3JBTUtEbWx6YzNWaGJtTmxRMjl1Wm1sbkVwa0RjcFlEQ21NS1FETmpZVEV6TkROaFlqSTJZalExTTJRek9HTTRZV1JpTnpCa1kyRTFaakZsWVdRNE5EUXdZelF5WWpVNVlqWTRaakEzTURjNE5qazFOV05pWmpsbFl6RVNEMU53YkdsalpTNUpjM04xWVc1alpSb09TWE56ZFdGdVkyVkRiMjVtYVdjU01Bb1VZVzExYkdWMFZHOUpjM04xWlZCbGNsbGxZWElTR0RJV05EQXdNREF3TURBd01EQXVNREF3TURBd01EQXdNQklyQ2hsMllXeHBaR0YwYjNKU1pYZGhjbVJRWlhKalpXNTBZV2RsRWc0eUREQXVNRFV3TURBd01EQXdNQklsQ2hOaGNIQlNaWGRoY21SUVpYSmpaVzUwWVdkbEVnNHlEREF1TVRVd01EQXdNREF3TUJJa0NoSjJZV3hwWkdGMGIzSlNaWGRoY21SRFlYQVNEaklNTUM0eU1EQXdNREF3TURBd0Vpb0tGR1psWVhSMWNtVmtRWEJ3VW1WM1lYSmtRMkZ3RWhJeUVESXdNREF3TGpBd01EQXdNREF3TURBU0tBb1dkVzVtWldGMGRYSmxaRUZ3Y0ZKbGQyRnlaRU5oY0JJT01nd3dMall3TURBd01EQXdNREFTTFFvVmIzQjBWbUZzYVdSaGRHOXlSbUYxWTJWMFEyRndFaFJTRWdvUU1nNDFOekF1TURBd01EQXdNREF3TUJLR0FRb01kR2xqYTBSMWNtRjBhVzl1RW5aeWRBcGFDa0JpTnpCa1lqZ3pOamxsTVdNME5qRmtOV00zTUdZeFl6ZzJaalV5Tm1FeU9XVTVOemMyWXpZMU5XVTJabVpqTWpVMk1HWTVOV0l3TldOallqaGlPVFEyRWcxRVFTNVVhVzFsTGxSNWNHVnpHZ2RTWld4VWFXMWxFaFlLREcxcFkzSnZjMlZqYjI1a2N4SUdHSUNZbXJ3RU1rbEVVMDg2T2pFeU1qQmlaVFU0WXpJNVpUWTFaR1UwTUdKbU1qY3pZbVV4WkdNeVlqSTJObVEwTTJFNVlUQXdNbVZoTldJeE9EazFOV0ZsWldZM1lXRmpPRGd4WW1JME56RmhPa2xFVTA4Nk9qRXlNakJpWlRVNFl6STVaVFkxWkdVME1HSm1NamN6WW1VeFpHTXlZakkyTm1RME0yRTVZVEF3TW1WaE5XSXhPRGsxTldGbFpXWTNZV0ZqT0RneFltSTBOekZod0Q3VzdORE9nc1dRQTlJK3JBY0tBekl1TVJLa0J3cEZBTkFpWEt2YnhIT0I1MG8yUDZrblBlR1JjNHU4eU45UVBTYXVpMDFLS0t0VnloRVNJSXpBMFVWeXJyQUc0bU4zaytsZGpNSHRIbHlZNWJmR1FkaGN5NXJqRnZoSEVnMXpjR3hwWTJVdFlXMTFiR1YwR21JS1FETmpZVEV6TkROaFlqSTJZalExTTJRek9HTTRZV1JpTnpCa1kyRTFaakZsWVdRNE5EUXdZelF5WWpVNVlqWTRaakEzTURjNE5qazFOV05pWmpsbFl6RVNCbE53YkdsalpSSUZVbTkxYm1RYUQwOXdaVzVOYVc1cGJtZFNiM1Z1WkNMbkJHcmtCQXBOQ2tzNlNVUlRUem82TVRJeU1HSmxOVGhqTWpsbE5qVmtaVFF3WW1ZeU56TmlaVEZrWXpKaU1qWTJaRFF6WVRsaE1EQXlaV0UxWWpFNE9UVTFZV1ZsWmpkaFlXTTRPREZpWWpRM01XRUtEQW9LYWdnS0Jnb0VHUGlBQWdvUUNnNHlEREF1TVRFeU5UQXdNREF3TUFvTENna3BWbnlYVFNoQ0JnQUtDd29KS1ZZSUhwVW9RZ1lBQ2hBS0Rtb01DZ29LQ0JpQW9LTzBwcjRFQ3BzQ0NwZ0NhcFVDQ2hZS0ZHb1NDaEFLRGpJTU1DNHdNREF3TURBd01EQXdDaFlLRkdvU0NoQUtEaklNTUM0d01EQXdNVGt3TWpVNUNxUUJDcUVCYXA0QkNoQUtEaklNTUM0d01EQXdNREF3TURBd0Nva0JDb1lCV29NQkNpaHFKZ29TQ2hBeURqRXdNQzR3TURBd01EQXdNREF3Q2hBS0RqSU1NQzR3TURBd01EQXdNREF3Q2lscUp3b1RDaEV5RHpFd01EQXVNREF3TURBd01EQXdNQW9RQ2c0eUREQXVNREF3TURBd01EQXdNQW9zYWlvS0Znb1VNaEl4TURBd01EQXdMakF3TURBd01EQXdNREFLRUFvT01nd3dMakF3TURBd01EQXdNREFLRmdvVWFoSUtFQW9PTWd3d0xqQXdNREF3TURBd01EQUtFQW9PTWd3eExqQXdNREF3TURBd01EQUtCUW9ER01nQkNnVUtBeGpJQVFvRUNnSVlaQXFZQVFxVkFXcVNBUW9hQ2hneUZqUXdNREF3TURBd01EQXdMakF3TURBd01EQXdNREFLRUFvT01nd3dMakExTURBd01EQXdNREFLRUFvT01nd3dMakUxTURBd01EQXdNREFLRUFvT01nd3dMakl3TURBd01EQXdNREFLRkFvU01oQXlNREF3TUM0d01EQXdNREF3TURBd0NoQUtEaklNTUM0Mk1EQXdNREF3TURBd0NoWUtGRklTQ2hBeURqVTNNQzR3TURBd01EQXdNREF3Q2c0S0RHb0tDZ2dLQmhpQW1KcThCQ3BKUkZOUE9qb3hNakl3WW1VMU9HTXlPV1UyTldSbE5EQmlaakkzTTJKbE1XUmpNbUl5Tmpaa05ETmhPV0V3TURKbFlUVmlNVGc1TlRWaFpXVm1OMkZoWXpnNE1XSmlORGN4WVRsV050UXBLRUlHQUVJcUNpWUtKQWdCRWlCNzBWanFOYm5MN2dMY2lrRGZxaVFaSDNHTXZTZ0ZXRzhIQ1VzOXN6TG1pUkFlIiwicHJlcGFyZWRUcmFuc2FjdGlvbkhhc2giOiJRRnhYMVdCZHE3bFpiU2M0NWlLQTNKL29PRjltclZMYzNEZUtwaEFqYjE0PSIsImhhc2hpbmdTY2hlbWVWZXJzaW9uIjoiSEFTSElOR19TQ0hFTUVfVkVSU0lPTl9WMiIsImhhc2hpbmdEZXRhaWxzIjpudWxsfSwidHhUeXBlIjoiVHJhbnNmZXJSZWplY3QiLCJwcmVwYXJlZFRyYW5zYWN0aW9uIjoiIiwicGFydHlTaWduYXR1cmVzIjp7InNpZ25hdHVyZXMiOltdfSwiZGVkdXBsaWNhdGlvblBlcmlvZCI6eyJFbXB0eSI6e319LCJzdWJtaXNzaW9uSWQiOiIxMmVhYjcxZi05NTFmLTRlZTItOGZiNC00OTViMDRhNjgwZTQiLCJoYXNoaW5nU2NoZW1lVmVyc2lvbiI6IkhBU0hJTkdfU0NIRU1FX1ZFUlNJT05fVjIiLCJtaW5MZWRnZXJUaW1lIjp7InRpbWUiOnsiRW1wdHkiOnt9fX19'; + +export const TrasferPrepareResponse = { + preparedTransaction: + 'CtqnAQoDMi4xEgEwGoANCgIxMsI++AwK9QwKAzIuMRJCMDBhYTI3NTQ0NDg1NzFjMDllNTAzYjIwMTk3ZWI1NjcyMWFiOWNlNGJjNWY2OGUzOTEzMGIzNTk5ZWU4N2JhZDEyGg1zcGxpY2UtYW11bGV0Il8KQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESDVNwbGljZS5BbXVsZXQaDExvY2tlZEFtdWxldCrxCHLuCApfCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEg1TcGxpY2UuQW11bGV0GgxMb2NrZWRBbXVsZXQSuwUKBmFtdWxldBKwBXKtBQpZCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEg1TcGxpY2UuQW11bGV0GgZBbXVsZXQSUgoDZHNvEks6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWESYgoFb3duZXISWTpXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQyEpcDCgZhbW91bnQSjANyiQMKXwpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRILU3BsaWNlLkZlZXMaDkV4cGlyaW5nQW1vdW50EiAKDWluaXRpYWxBbW91bnQSDzINMTUuMDAwMDAwMDAwMBJ4CgljcmVhdGVkQXQSa3JpClcKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESDFNwbGljZS5UeXBlcxoFUm91bmQSDgoGbnVtYmVyEgQYsJgCEokBCgxyYXRlUGVyUm91bmQSeXJ3Cl0KQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESC1NwbGljZS5GZWVzGgxSYXRlUGVyUm91bmQSFgoEcmF0ZRIOMgwwLjAwMDEyNjgzOTMSzAIKBGxvY2sSwwJywAIKWwpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRINU3BsaWNlLkV4cGlyeRoIVGltZUxvY2sSWgoHaG9sZGVycxJPWk0KSzpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYRIWCglleHBpcmVzQXQSCSmIUCqTWkUGABJtCgpvcHRDb250ZXh0El9SXQpbQll0cmFuc2ZlciB0byAnMTIyMGE6OjEyMjBhZGU2MDMwMGNmN2QwYjE4ZmZhYTJmZmU0ZjQ5MmFkMWFkNjAxY2ZjMTYyYjIwZjc3ZWM5OWQxNmMyYzJmMTU4JzJJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYTJXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQyOklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhOldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDIa7wMKATPCPugDEuUDCgMyLjESigEwMDc4NjUyMjg2ZDAwMTAzOWQ2MzZlMWMwNDFiY2Q3OGY0ZTEzNzk5M2U4YjEzZjU3NDJmMWE5NWY3ZTM2NjQxNDVjYTExMTIyMGNhNTIzMGZiZDJlMDhhNjA4ZGZlZDIxZTBjNWYxODMyNTQ2MDYzMGY3MTdlZjU4MjhkYTQyNWIyMjY5ZjBkZjgaDXNwbGljZS1hbXVsZXQiYQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRIMU3BsaWNlLlJvdW5kGg9PcGVuTWluaW5nUm91bmQqSURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWEySURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWE6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWEauAkKAjEzwj6wCQqtCQoDMi4xEkIwMDcwM2U0MzE2Y2M4ZDBiYzMwYjk5N2E1OWE3MDMwY2Y3NTQ3OWJlNmUxYzQyNWEzN2E5MzQwYTllYzI4NzJjNTcaDXNwbGljZS1hbXVsZXQiWQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRINU3BsaWNlLkFtdWxldBoGQW11bGV0Kq8FcqwFClkKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESDVNwbGljZS5BbXVsZXQaBkFtdWxldBJSCgNkc28SSzpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYRJiCgVvd25lchJZOldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDISlgMKBmFtb3VudBKLA3KIAwpfCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgtTcGxpY2UuRmVlcxoORXhwaXJpbmdBbW91bnQSHwoNaW5pdGlhbEFtb3VudBIOMgw1LjAwMDAwMDAwMDASeAoJY3JlYXRlZEF0EmtyaQpXCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgxTcGxpY2UuVHlwZXMaBVJvdW5kEg4KBm51bWJlchIEGLCYAhKJAQoMcmF0ZVBlclJvdW5kEnlydwpdCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgtTcGxpY2UuRmVlcxoMUmF0ZVBlclJvdW5kEhYKBHJhdGUSDjIMMC4wMDAxMjY4MzkzMklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhMldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDI6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWE6V3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMhrpBgoCMTHCPuEGGt4GCgMyLjESigEwMDkyNzkwYjA4ZjdjNDY4MzBlNjliNGI1MmVmNzZjNWFkYWZmMGVhYzQzZjAwZDc2MzlmNWRkOGJiYjUwMzdhNTNjYTExMTIyMDAzMzgwMjYwYzZiMmNmNWE1NDg2ZTkxNTE4MjZkNWRjMDNhMTU2YjgyYjdmOGZmMTM5ZmJjYmE3NzhlOTRmNjYaDXNwbGljZS1hbXVsZXQiWQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRINU3BsaWNlLkFtdWxldBoGQW11bGV0KklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhKldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDIySURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWEyV3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMjpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYTpXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQySgdBcmNoaXZlUmVyYwphCkA5ZTcwYThiMzUxMGQ2MTdmOGExMzYyMTNmMzNkNmE5MDNhMTBjYTBlZWVjNzZiYjA2YmE1NWQxZWQ5NjgwZjY5EhREQS5JbnRlcm5hbC5UZW1wbGF0ZRoHQXJjaGl2ZVgBagIKABrxAwoBMcI+6gMS5wMKAzIuMRKKATAwNTU0ZGQ0MWQ0MzQzOGQ4ZWU4ODMxMjA4NWM3OTQ0N2ExNmVmZTU1YTdmYzk0MWNjNGY2N2FmMmZlMjY4ZWQ3M2NhMTExMjIwMTZmN2Y5ZTFiMDU0OTEyMGY5NDJmNjNjMjQ5YzU1YzI3ZjdiZDRlYmRlMWM4NjljYjlkN2IwZWRlNTA4NGY2YRoNc3BsaWNlLWFtdWxldCJjCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEhJTcGxpY2UuQW11bGV0UnVsZXMaC0FtdWxldFJ1bGVzKklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhMklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhOklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhGtsGCgE0wj7UBhLRBgoDMi4xEooBMDBhNGNmMTk1ZDQ2OGVhMzMzMjAzNTNmZTU0MGNkYmVmNTQ0Nzc1MTBmNjZiY2VhMDc4ZWU2YTk0NDhkNmIzMjE4Y2ExMTEyMjA5ZmIyNmNlZTZkN2RmYWJhNzNmYzU2YmIwOTZlNzBkNTRhZjY0YjQ4N2Q3YjJkOWE3NjM4ZjhkMThmY2JkMDEyGg1zcGxpY2UtYW11bGV0IlkKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESDVNwbGljZS5BbXVsZXQaBkFtdWxldCpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYSpXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQyMklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhMldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDI6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWE6V3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMkJnCkA3MThhMGY3N2U1MDVhOGRlMjJmMTg4YmQ0Yzg3ZmU3NDEwMTI3NGU5ZDRjYjFiZmFjN2QwOWFlYzcxNThkMzViEhpTcGxpY2UuQXBpLlRva2VuLkhvbGRpbmdWMRoHSG9sZGluZxryBQoBOMI+6wUS6AUKAzIuMRKKATAwYTRjZjE5NWQ0NjhlYTMzMzIwMzUzZmU1NDBjZGJlZjU0NDc3NTEwZjY2YmNlYTA3OGVlNmE5NDQ4ZDZiMzIxOGNhMTExMjIwOWZiMjZjZWU2ZDdkZmFiYTczZmM1NmJiMDk2ZTcwZDU0YWY2NGI0ODdkN2IyZDlhNzYzOGY4ZDE4ZmNiZDAxMhoNc3BsaWNlLWFtdWxldCJZCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEg1TcGxpY2UuQW11bGV0GgZBbXVsZXQqSURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWEqV3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMjJJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYTJXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQyOklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhOldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDIa8wUKAjEwwj7rBRLoBQoDMi4xEooBMDA5Mjc5MGIwOGY3YzQ2ODMwZTY5YjRiNTJlZjc2YzVhZGFmZjBlYWM0M2YwMGQ3NjM5ZjVkZDhiYmI1MDM3YTUzY2ExMTEyMjAwMzM4MDI2MGM2YjJjZjVhNTQ4NmU5MTUxODI2ZDVkYzAzYTE1NmI4MmI3ZjhmZjEzOWZiY2JhNzc4ZTk0ZjY2Gg1zcGxpY2UtYW11bGV0IlkKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESDVNwbGljZS5BbXVsZXQaBkFtdWxldCpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYSpXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQyMklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhMldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDI6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWE6V3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMhrvDQoCMTTCPucNCuQNCgMyLjESQjAwNTg3NGFiNDE5NTljMjdmNmFjYzBlNmZjNDJiZDQ4MTZjZmQxMDI2YmZlOWZkNWExODljZmM1NTk5Mzg3MGE5NBoNc3BsaWNlLWFtdWxldCJ/CkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEiBTcGxpY2UuQW11bGV0VHJhbnNmZXJJbnN0cnVjdGlvbhoZQW11bGV0VHJhbnNmZXJJbnN0cnVjdGlvbirzCHLwCAp/CkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEiBTcGxpY2UuQW11bGV0VHJhbnNmZXJJbnN0cnVjdGlvbhoZQW11bGV0VHJhbnNmZXJJbnN0cnVjdGlvbhJUCgxsb2NrZWRBbXVsZXQSREpCMDBhYTI3NTQ0NDg1NzFjMDllNTAzYjIwMTk3ZWI1NjcyMWFiOWNlNGJjNWY2OGUzOTEzMGIzNTk5ZWU4N2JhZDEyEpYHCgh0cmFuc2ZlchKJB3KGBwp0CkA1NWJhNGRlYjBhZDQ2NjJjNDE2OGIzOTg1OTczOGEwZTkxMzg4ZDI1MjI4NjQ4MGM3MzMxYjNmNzFhNTE3MjgxEiZTcGxpY2UuQXBpLlRva2VuLlRyYW5zZmVySW5zdHJ1Y3Rpb25WMRoIVHJhbnNmZXISYwoGc2VuZGVyElk6V3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMhJZCghyZWNlaXZlchJNOksxMjIwYTo6MTIyMGFkZTYwMzAwY2Y3ZDBiMThmZmFhMmZmZTRmNDkyYWQxYWQ2MDFjZmMxNjJiMjBmNzdlYzk5ZDE2YzJjMmYxNTgSGQoGYW1vdW50Eg8yDTE1LjAwMDAwMDAwMDAS6AEKDGluc3RydW1lbnRJZBLXAXLUAQpsCkA3MThhMGY3N2U1MDVhOGRlMjJmMTg4YmQ0Yzg3ZmU3NDEwMTI3NGU5ZDRjYjFiZmFjN2QwOWFlYzcxNThkMzViEhpTcGxpY2UuQXBpLlRva2VuLkhvbGRpbmdWMRoMSW5zdHJ1bWVudElkElQKBWFkbWluEks6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWESDgoCaWQSCEIGQW11bGV0EhgKC3JlcXVlc3RlZEF0EgkpiBDtE/9CBgASGgoNZXhlY3V0ZUJlZm9yZRIJKYhQKpNaRQYAElwKEGlucHV0SG9sZGluZ0NpZHMSSFpGCkRKQjAwYWEyNzU0NDQ4NTcxYzA5ZTUwM2IyMDE5N2ViNTY3MjFhYjljZTRiYzVmNjhlMzkxMzBiMzU5OWVlODdiYWQxMhKzAQoEbWV0YRKqAXKnAQppCkA0ZGVkNmI2NjhjYjNiNjRmN2E4OGEzMDg3NGNkNDFjNzU4MjlmNWUwNjRiM2ZiYmFkZjQxZWM3ZTgzNjMzNTRmEhtTcGxpY2UuQXBpLlRva2VuLk1ldGFkYXRhVjEaCE1ldGFkYXRhEjoKBnZhbHVlcxIwYi4KLAomc3BsaWNlLmxmZGVjZW50cmFsaXplZHRydXN0Lm9yZy9yZWFzb24SAkIAMklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhMldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDI6SzEyMjBhOjoxMjIwYWRlNjAzMDBjZjdkMGIxOGZmYWEyZmZlNGY0OTJhZDFhZDYwMWNmYzE2MmIyMGY3N2VjOTlkMTZjMmMyZjE1ODpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYTpXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQyGvEiCgE2wj7qIhrnIgoDMi4xEooBMDA1NTRkZDQxZDQzNDM4ZDhlZTg4MzEyMDg1Yzc5NDQ3YTE2ZWZlNTVhN2ZjOTQxY2M0ZjY3YWYyZmUyNjhlZDczY2ExMTEyMjAxNmY3ZjllMWIwNTQ5MTIwZjk0MmY2M2MyNDljNTVjMjdmN2JkNGViZGUxYzg2OWNiOWQ3YjBlZGU1MDg0ZjZhGg1zcGxpY2UtYW11bGV0ImMKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESElNwbGljZS5BbXVsZXRSdWxlcxoLQW11bGV0UnVsZXMqSURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWEySURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWE6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWE6V3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMkoUQW11bGV0UnVsZXNfVHJhbnNmZXJSgxBygBAKbApAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRISU3BsaWNlLkFtdWxldFJ1bGVzGhRBbXVsZXRSdWxlc19UcmFuc2ZlchLeCwoIdHJhbnNmZXIS0QtyzgsKYApAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRISU3BsaWNlLkFtdWxldFJ1bGVzGghUcmFuc2ZlchJjCgZzZW5kZXISWTpXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQyEmUKCHByb3ZpZGVyElk6V3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMhKiBAoGaW5wdXRzEpcEWpQECocCeoQCCmUKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESElNwbGljZS5BbXVsZXRSdWxlcxoNVHJhbnNmZXJJbnB1dBILSW5wdXRBbXVsZXQajQFKigEwMGE0Y2YxOTVkNDY4ZWEzMzMyMDM1M2ZlNTQwY2RiZWY1NDQ3NzUxMGY2NmJjZWEwNzhlZTZhOTQ0OGQ2YjMyMThjYTExMTIyMDlmYjI2Y2VlNmQ3ZGZhYmE3M2ZjNTZiYjA5NmU3MGQ1NGFmNjRiNDg3ZDdiMmQ5YTc2MzhmOGQxOGZjYmQwMTIKhwJ6hAIKZQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRISU3BsaWNlLkFtdWxldFJ1bGVzGg1UcmFuc2ZlcklucHV0EgtJbnB1dEFtdWxldBqNAUqKATAwOTI3OTBiMDhmN2M0NjgzMGU2OWI0YjUyZWY3NmM1YWRhZmYwZWFjNDNmMDBkNzYzOWY1ZGQ4YmJiNTAzN2E1M2NhMTExMjIwMDMzODAyNjBjNmIyY2Y1YTU0ODZlOTE1MTgyNmQ1ZGMwM2ExNTZiODJiN2Y4ZmYxMzlmYmNiYTc3OGU5NGY2NhL4BAoHb3V0cHV0cxLsBFrpBArmBHLjBApmCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEhJTcGxpY2UuQW11bGV0UnVsZXMaDlRyYW5zZmVyT3V0cHV0EmUKCHJlY2VpdmVyElk6V3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMhIiChByZWNlaXZlckZlZVJhdGlvEg4yDDAuMDAwMDAwMDAwMBIZCgZhbW91bnQSDzINMTUuMDAwMDAwMDAwMBLSAgoEbG9jaxLJAlLGAgrDAnLAAgpbCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEg1TcGxpY2UuRXhwaXJ5GghUaW1lTG9jaxJaCgdob2xkZXJzEk9aTQpLOklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhEhYKCWV4cGlyZXNBdBIJKYhQKpNaRQYAEm0KCm9wdENvbnRleHQSX1JdCltCWXRyYW5zZmVyIHRvICcxMjIwYTo6MTIyMGFkZTYwMzAwY2Y3ZDBiMThmZmFhMmZmZTRmNDkyYWQxYWQ2MDFjZmMxNjJiMjBmNzdlYzk5ZDE2YzJjMmYxNTgnEs4CCgdjb250ZXh0EsICcr8CCmcKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESElNwbGljZS5BbXVsZXRSdWxlcxoPVHJhbnNmZXJDb250ZXh0EqEBCg9vcGVuTWluaW5nUm91bmQSjQFKigEwMDc4NjUyMjg2ZDAwMTAzOWQ2MzZlMWMwNDFiY2Q3OGY0ZTEzNzk5M2U4YjEzZjU3NDJmMWE5NWY3ZTM2NjQxNDVjYTExMTIyMGNhNTIzMGZiZDJlMDhhNjA4ZGZlZDIxZTBjNWYxODMyNTQ2MDYzMGY3MTdlZjU4MjhkYTQyNWIyMjY5ZjBkZjgSGQoTaXNzdWluZ01pbmluZ1JvdW5kcxICagASFQoPdmFsaWRhdG9yUmlnaHRzEgJqABJeCgtleHBlY3RlZERzbxJPUk0KSzpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYWIBN2IBOGIBOWICMTBiAjExYgIxMmICMTNq7w1y7A0KZgpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRISU3BsaWNlLkFtdWxldFJ1bGVzGg5UcmFuc2ZlclJlc3VsdBJ0CgVyb3VuZBJrcmkKVwpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRIMU3BsaWNlLlR5cGVzGgVSb3VuZBIOCgZudW1iZXISBBiwmAIS9QYKB3N1bW1hcnkS6QZy5gYKZwpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRISU3BsaWNlLkFtdWxldFJ1bGVzGg9UcmFuc2ZlclN1bW1hcnkSJgoUaW5wdXRBcHBSZXdhcmRBbW91bnQSDjIMMC4wMDAwMDAwMDAwEiwKGmlucHV0VmFsaWRhdG9yUmV3YXJkQW1vdW50Eg4yDDAuMDAwMDAwMDAwMBIlChNpbnB1dFN2UmV3YXJkQW1vdW50Eg4yDDAuMDAwMDAwMDAwMBIkChFpbnB1dEFtdWxldEFtb3VudBIPMg0yMC4wMDAwMDAwMDAwEsICCg5iYWxhbmNlQ2hhbmdlcxKvAmqsAgqpAgpZOldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDISywFyyAEKZQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRISU3BsaWNlLkFtdWxldFJ1bGVzGg1CYWxhbmNlQ2hhbmdlEjQKImNoYW5nZVRvSW5pdGlhbEFtb3VudEFzT2ZSb3VuZFplcm8SDjIMMC4wMDIxNTYyNjgxEikKF2NoYW5nZVRvSG9sZGluZ0ZlZXNSYXRlEg4yDDAuMDAwMDAwMDAwMBIdCgtob2xkaW5nRmVlcxIOMgwwLjAwMDAwMDAwMDASIAoKb3V0cHV0RmVlcxISWhAKDjIMMC4wMDAwMDAwMDAwEiEKD3NlbmRlckNoYW5nZUZlZRIOMgwwLjAwMDAwMDAwMDASJAoSc2VuZGVyQ2hhbmdlQW1vdW50Eg4yDDUuMDAwMDAwMDAwMBIdCgthbXVsZXRQcmljZRIOMgwwLjE1MDAwMDAwMDASMAoaaW5wdXRWYWxpZGF0b3JGYXVjZXRBbW91bnQSElIQCg4yDDAuMDAwMDAwMDAwMBI4CiJpbnB1dFVuY2xhaW1lZEFjdGl2aXR5UmVjb3JkQW1vdW50EhJSEAoOMgwwLjAwMDAwMDAwMDAS5QEKDmNyZWF0ZWRBbXVsZXRzEtIBWs8BCswBeskBCmUKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESElNwbGljZS5BbXVsZXRSdWxlcxoNQ3JlYXRlZEFtdWxldBIaVHJhbnNmZXJSZXN1bHRMb2NrZWRBbXVsZXQaREpCMDBhYTI3NTQ0NDg1NzFjMDllNTAzYjIwMTk3ZWI1NjcyMWFiOWNlNGJjNWY2OGUzOTEzMGIzNTk5ZWU4N2JhZDEyEl4KEnNlbmRlckNoYW5nZUFtdWxldBJIUkYKREpCMDA3MDNlNDMxNmNjOGQwYmMzMGI5OTdhNTlhNzAzMGNmNzU0NzliZTZlMWM0MjVhMzdhOTM0MGE5ZWMyODcyYzU3EssCCgRtZXRhEsICUr8CCrwCcrkCCmkKQDRkZWQ2YjY2OGNiM2I2NGY3YTg4YTMwODc0Y2Q0MWM3NTgyOWY1ZTA2NGIzZmJiYWRmNDFlYzdlODM2MzM1NGYSG1NwbGljZS5BcGkuVG9rZW4uTWV0YWRhdGFWMRoITWV0YWRhdGESywEKBnZhbHVlcxLAAWK9AQqDAQomc3BsaWNlLmxmZGVjZW50cmFsaXplZHRydXN0Lm9yZy9zZW5kZXISWUJXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQyCjUKJ3NwbGljZS5sZmRlY2VudHJhbGl6ZWR0cnVzdC5vcmcvdHgta2luZBIKQgh0cmFuc2ZlchrbDAoBMsI+1Awa0QwKAzIuMRKKATAwNTU0ZGQ0MWQ0MzQzOGQ4ZWU4ODMxMjA4NWM3OTQ0N2ExNmVmZTU1YTdmYzk0MWNjNGY2N2FmMmZlMjY4ZWQ3M2NhMTExMjIwMTZmN2Y5ZTFiMDU0OTEyMGY5NDJmNjNjMjQ5YzU1YzI3ZjdiZDRlYmRlMWM4NjljYjlkN2IwZWRlNTA4NGY2YRoNc3BsaWNlLWFtdWxldCJjCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEhJTcGxpY2UuQW11bGV0UnVsZXMaC0FtdWxldFJ1bGVzKklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhMklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhOldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDJKF0FtdWxldFJ1bGVzX0NvbXB1dGVGZWVzUqQHcqEHCm8KQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESElNwbGljZS5BbXVsZXRSdWxlcxoXQW11bGV0UnVsZXNfQ29tcHV0ZUZlZXMSzgIKB2NvbnRleHQSwgJyvwIKZwpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRISU3BsaWNlLkFtdWxldFJ1bGVzGg9UcmFuc2ZlckNvbnRleHQSoQEKD29wZW5NaW5pbmdSb3VuZBKNAUqKATAwNzg2NTIyODZkMDAxMDM5ZDYzNmUxYzA0MWJjZDc4ZjRlMTM3OTkzZThiMTNmNTc0MmYxYTk1ZjdlMzY2NDE0NWNhMTExMjIwY2E1MjMwZmJkMmUwOGE2MDhkZmVkMjFlMGM1ZjE4MzI1NDYwNjMwZjcxN2VmNTgyOGRhNDI1YjIyNjlmMGRmOBIZChNpc3N1aW5nTWluaW5nUm91bmRzEgJqABIVCg92YWxpZGF0b3JSaWdodHMSAmoAEmMKBnNlbmRlchJZOldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDISlwIKB291dHB1dHMSiwJaiAIKhQJyggIKZgpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRISU3BsaWNlLkFtdWxldFJ1bGVzGg5UcmFuc2Zlck91dHB1dBJZCghyZWNlaXZlchJNOksxMjIwYTo6MTIyMGFkZTYwMzAwY2Y3ZDBiMThmZmFhMmZmZTRmNDkyYWQxYWQ2MDFjZmMxNjJiMjBmNzdlYzk5ZDE2YzJjMmYxNTgSIgoQcmVjZWl2ZXJGZWVSYXRpbxIOMgwwLjAwMDAwMDAwMDASGQoGYW1vdW50Eg8yDTE1LjAwMDAwMDAwMDASXgoLZXhwZWN0ZWREc28ST1JNCks6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWFiATNqlgFykwEKdQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRISU3BsaWNlLkFtdWxldFJ1bGVzGh1BbXVsZXRSdWxlc19Db21wdXRlRmVlc1Jlc3VsdBIaCgRmZWVzEhJaEAoOMgwwLjAwMDAwMDAwMDAa7wMKATfCPugDEuUDCgMyLjESigEwMDc4NjUyMjg2ZDAwMTAzOWQ2MzZlMWMwNDFiY2Q3OGY0ZTEzNzk5M2U4YjEzZjU3NDJmMWE5NWY3ZTM2NjQxNDVjYTExMTIyMGNhNTIzMGZiZDJlMDhhNjA4ZGZlZDIxZTBjNWYxODMyNTQ2MDYzMGY3MTdlZjU4MjhkYTQyNWIyMjY5ZjBkZjgaDXNwbGljZS1hbXVsZXQiYQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRIMU3BsaWNlLlJvdW5kGg9PcGVuTWluaW5nUm91bmQqSURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWEySURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWE6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWEayR4KATDCPsIeGr8eCgMyLjESigEwMDlmMDBlNWJmMDA2NDAxMThkODQ5MDgwYWFmMjJiYzk2M2E4NDU4ZDMyMjU4NWNlYmYxMTE5Y2I3YmYzN2E5NTVjYTExMTIyMDY1Yjc3NWZiOGE0MTk5OTA0ZWQzMmZhOTI3N2ZkOWMwZTgyYmI4MjMxOWE3MTUxMjQ5ZGYxMjQxODIwNzIzODEaDXNwbGljZS1hbXVsZXQifQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRIfU3BsaWNlLkV4dGVybmFsUGFydHlBbXVsZXRSdWxlcxoYRXh0ZXJuYWxQYXJ0eUFtdWxldFJ1bGVzKklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhMklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhOldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDJCewpANTViYTRkZWIwYWQ0NjYyYzQxNjhiMzk4NTk3MzhhMGU5MTM4OGQyNTIyODY0ODBjNzMzMWIzZjcxYTUxNzI4MRImU3BsaWNlLkFwaS5Ub2tlbi5UcmFuc2Zlckluc3RydWN0aW9uVjEaD1RyYW5zZmVyRmFjdG9yeUoYVHJhbnNmZXJGYWN0b3J5X1RyYW5zZmVyUrcScrQSCoQBCkA1NWJhNGRlYjBhZDQ2NjJjNDE2OGIzOTg1OTczOGEwZTkxMzg4ZDI1MjI4NjQ4MGM3MzMxYjNmNzFhNTE3MjgxEiZTcGxpY2UuQXBpLlRva2VuLlRyYW5zZmVySW5zdHJ1Y3Rpb25WMRoYVHJhbnNmZXJGYWN0b3J5X1RyYW5zZmVyElwKDWV4cGVjdGVkQWRtaW4SSzpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYRLzCAoIdHJhbnNmZXIS5ghy4wgKdApANTViYTRkZWIwYWQ0NjYyYzQxNjhiMzk4NTk3MzhhMGU5MTM4OGQyNTIyODY0ODBjNzMzMWIzZjcxYTUxNzI4MRImU3BsaWNlLkFwaS5Ub2tlbi5UcmFuc2Zlckluc3RydWN0aW9uVjEaCFRyYW5zZmVyEmMKBnNlbmRlchJZOldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDISWQoIcmVjZWl2ZXISTTpLMTIyMGE6OjEyMjBhZGU2MDMwMGNmN2QwYjE4ZmZhYTJmZmU0ZjQ5MmFkMWFkNjAxY2ZjMTYyYjIwZjc3ZWM5OWQxNmMyYzJmMTU4EhkKBmFtb3VudBIPMg0xNS4wMDAwMDAwMDAwEugBCgxpbnN0cnVtZW50SWQS1wFy1AEKbApANzE4YTBmNzdlNTA1YThkZTIyZjE4OGJkNGM4N2ZlNzQxMDEyNzRlOWQ0Y2IxYmZhYzdkMDlhZWM3MTU4ZDM1YhIaU3BsaWNlLkFwaS5Ub2tlbi5Ib2xkaW5nVjEaDEluc3RydW1lbnRJZBJUCgVhZG1pbhJLOklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhEg4KAmlkEghCBkFtdWxldBIYCgtyZXF1ZXN0ZWRBdBIJKYgQ7RP/QgYAEhoKDWV4ZWN1dGVCZWZvcmUSCSmIUCqTWkUGABK4AgoQaW5wdXRIb2xkaW5nQ2lkcxKjAlqgAgqNAUqKATAwYTRjZjE5NWQ0NjhlYTMzMzIwMzUzZmU1NDBjZGJlZjU0NDc3NTEwZjY2YmNlYTA3OGVlNmE5NDQ4ZDZiMzIxOGNhMTExMjIwOWZiMjZjZWU2ZDdkZmFiYTczZmM1NmJiMDk2ZTcwZDU0YWY2NGI0ODdkN2IyZDlhNzYzOGY4ZDE4ZmNiZDAxMgqNAUqKATAwOTI3OTBiMDhmN2M0NjgzMGU2OWI0YjUyZWY3NmM1YWRhZmYwZWFjNDNmMDBkNzYzOWY1ZGQ4YmJiNTAzN2E1M2NhMTExMjIwMDMzODAyNjBjNmIyY2Y1YTU0ODZlOTE1MTgyNmQ1ZGMwM2ExNTZiODJiN2Y4ZmYxMzlmYmNiYTc3OGU5NGY2NhKzAQoEbWV0YRKqAXKnAQppCkA0ZGVkNmI2NjhjYjNiNjRmN2E4OGEzMDg3NGNkNDFjNzU4MjlmNWUwNjRiM2ZiYmFkZjQxZWM3ZTgzNjMzNTRmEhtTcGxpY2UuQXBpLlRva2VuLk1ldGFkYXRhVjEaCE1ldGFkYXRhEjoKBnZhbHVlcxIwYi4KLAomc3BsaWNlLmxmZGVjZW50cmFsaXplZHRydXN0Lm9yZy9yZWFzb24SAkIAEtYHCglleHRyYUFyZ3MSyAdyxQcKagpANGRlZDZiNjY4Y2IzYjY0ZjdhODhhMzA4NzRjZDQxYzc1ODI5ZjVlMDY0YjNmYmJhZGY0MWVjN2U4MzYzMzU0ZhIbU3BsaWNlLkFwaS5Ub2tlbi5NZXRhZGF0YVYxGglFeHRyYUFyZ3MS0AUKB2NvbnRleHQSxAVywQUKbgpANGRlZDZiNjY4Y2IzYjY0ZjdhODhhMzA4NzRjZDQxYzc1ODI5ZjVlMDY0YjNmYmJhZGY0MWVjN2U4MzYzMzU0ZhIbU3BsaWNlLkFwaS5Ub2tlbi5NZXRhZGF0YVYxGg1DaG9pY2VDb250ZXh0Es4ECgZ2YWx1ZXMSwwRiwAQKngIKDGFtdWxldC1ydWxlcxKNAnqKAgppCkA0ZGVkNmI2NjhjYjNiNjRmN2E4OGEzMDg3NGNkNDFjNzU4MjlmNWUwNjRiM2ZiYmFkZjQxZWM3ZTgzNjMzNTRmEhtTcGxpY2UuQXBpLlRva2VuLk1ldGFkYXRhVjEaCEFueVZhbHVlEg1BVl9Db250cmFjdElkGo0BSooBMDA1NTRkZDQxZDQzNDM4ZDhlZTg4MzEyMDg1Yzc5NDQ3YTE2ZWZlNTVhN2ZjOTQxY2M0ZjY3YWYyZmUyNjhlZDczY2ExMTEyMjAxNmY3ZjllMWIwNTQ5MTIwZjk0MmY2M2MyNDljNTVjMjdmN2JkNGViZGUxYzg2OWNiOWQ3YjBlZGU1MDg0ZjZhCpwCCgpvcGVuLXJvdW5kEo0CeooCCmkKQDRkZWQ2YjY2OGNiM2I2NGY3YTg4YTMwODc0Y2Q0MWM3NTgyOWY1ZTA2NGIzZmJiYWRmNDFlYzdlODM2MzM1NGYSG1NwbGljZS5BcGkuVG9rZW4uTWV0YWRhdGFWMRoIQW55VmFsdWUSDUFWX0NvbnRyYWN0SWQajQFKigEwMDc4NjUyMjg2ZDAwMTAzOWQ2MzZlMWMwNDFiY2Q3OGY0ZTEzNzk5M2U4YjEzZjU3NDJmMWE5NWY3ZTM2NjQxNDVjYTExMTIyMGNhNTIzMGZiZDJlMDhhNjA4ZGZlZDIxZTBjNWYxODMyNTQ2MDYzMGY3MTdlZjU4MjhkYTQyNWIyMjY5ZjBkZjgSgwEKBG1ldGESe3J5CmkKQDRkZWQ2YjY2OGNiM2I2NGY3YTg4YTMwODc0Y2Q0MWM3NTgyOWY1ZTA2NGIzZmJiYWRmNDFlYzdlODM2MzM1NGYSG1NwbGljZS5BcGkuVG9rZW4uTWV0YWRhdGFWMRoITWV0YWRhdGESDAoGdmFsdWVzEgJiAGIBMWIBMmIBNGIBNWIBNmICMTRqyQZyxgYKhQEKQDU1YmE0ZGViMGFkNDY2MmM0MTY4YjM5ODU5NzM4YTBlOTEzODhkMjUyMjg2NDgwYzczMzFiM2Y3MWE1MTcyODESJlNwbGljZS5BcGkuVG9rZW4uVHJhbnNmZXJJbnN0cnVjdGlvblYxGhlUcmFuc2Zlckluc3RydWN0aW9uUmVzdWx0EtcDCgZvdXRwdXQSzAN6yQMKjAEKQDU1YmE0ZGViMGFkNDY2MmM0MTY4YjM5ODU5NzM4YTBlOTEzODhkMjUyMjg2NDgwYzczMzFiM2Y3MWE1MTcyODESJlNwbGljZS5BcGkuVG9rZW4uVHJhbnNmZXJJbnN0cnVjdGlvblYxGiBUcmFuc2Zlckluc3RydWN0aW9uUmVzdWx0X091dHB1dBIhVHJhbnNmZXJJbnN0cnVjdGlvblJlc3VsdF9QZW5kaW5nGpQCcpECCq4BCkA1NWJhNGRlYjBhZDQ2NjJjNDE2OGIzOTg1OTczOGEwZTkxMzg4ZDI1MjI4NjQ4MGM3MzMxYjNmNzFhNTE3MjgxEiZTcGxpY2UuQXBpLlRva2VuLlRyYW5zZmVySW5zdHJ1Y3Rpb25WMRpCVHJhbnNmZXJJbnN0cnVjdGlvblJlc3VsdF9PdXRwdXQuVHJhbnNmZXJJbnN0cnVjdGlvblJlc3VsdF9QZW5kaW5nEl4KFnRyYW5zZmVySW5zdHJ1Y3Rpb25DaWQSREpCMDA1ODc0YWI0MTk1OWMyN2Y2YWNjMGU2ZmM0MmJkNDgxNmNmZDEwMjZiZmU5ZmQ1YTE4OWNmYzU1OTkzODcwYTk0ElwKEHNlbmRlckNoYW5nZUNpZHMSSFpGCkRKQjAwNzAzZTQzMTZjYzhkMGJjMzBiOTk3YTU5YTcwMzBjZjc1NDc5YmU2ZTFjNDI1YTM3YTkzNDBhOWVjMjg3MmM1NxKDAQoEbWV0YRJ7cnkKaQpANGRlZDZiNjY4Y2IzYjY0ZjdhODhhMzA4NzRjZDQxYzc1ODI5ZjVlMDY0YjNmYmJhZGY0MWVjN2U4MzYzMzU0ZhIbU3BsaWNlLkFwaS5Ub2tlbi5NZXRhZGF0YVYxGghNZXRhZGF0YRIMCgZ2YWx1ZXMSAmIAGugGCgE5wj7hBhreBgoDMi4xEooBMDBhNGNmMTk1ZDQ2OGVhMzMzMjAzNTNmZTU0MGNkYmVmNTQ0Nzc1MTBmNjZiY2VhMDc4ZWU2YTk0NDhkNmIzMjE4Y2ExMTEyMjA5ZmIyNmNlZTZkN2RmYWJhNzNmYzU2YmIwOTZlNzBkNTRhZjY0YjQ4N2Q3YjJkOWE3NjM4ZjhkMThmY2JkMDEyGg1zcGxpY2UtYW11bGV0IlkKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESDVNwbGljZS5BbXVsZXQaBkFtdWxldCpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYSpXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQyMklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhMldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDI6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWE6V3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMkoHQXJjaGl2ZVJlcmMKYQpAOWU3MGE4YjM1MTBkNjE3ZjhhMTM2MjEzZjMzZDZhOTAzYTEwY2EwZWVlYzc2YmIwNmJhNTVkMWVkOTY4MGY2ORIUREEuSW50ZXJuYWwuVGVtcGxhdGUaB0FyY2hpdmVYAWoCCgAa2wYKATXCPtQGEtEGCgMyLjESigEwMDkyNzkwYjA4ZjdjNDY4MzBlNjliNGI1MmVmNzZjNWFkYWZmMGVhYzQzZjAwZDc2MzlmNWRkOGJiYjUwMzdhNTNjYTExMTIyMDAzMzgwMjYwYzZiMmNmNWE1NDg2ZTkxNTE4MjZkNWRjMDNhMTU2YjgyYjdmOGZmMTM5ZmJjYmE3NzhlOTRmNjYaDXNwbGljZS1hbXVsZXQiWQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRINU3BsaWNlLkFtdWxldBoGQW11bGV0KklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhKldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDIySURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWEyV3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMjpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYTpXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQyQmcKQDcxOGEwZjc3ZTUwNWE4ZGUyMmYxODhiZDRjODdmZTc0MTAxMjc0ZTlkNGNiMWJmYWM3ZDA5YWVjNzE1OGQzNWISGlNwbGljZS5BcGkuVG9rZW4uSG9sZGluZ1YxGgdIb2xkaW5nIiISIOoybm0aG3FZH7rqwq1zWSUy0x/SPS8R/BKH7Zhc83EsIiQIAhIguPbzunO/0S3WukhhYioKUf8kdy1NbFGkKq9dtEcadIEiJAgGEiC1XASym/6eMILTkeJ66IYx0BeNdDu+6/hrgz3aR2hTASIkCAkSIP2sQwTofLkgVmM1g8EoMH3m9kvKoTVt2/gm5ZJI10HVIiQICxIgiHtYUb8jJLDTl263Lja83A6QWJZMBoegFcH2i2zN0qciJAgMEiAIPr/GK2w2THI3M7TpD1XjKoe2XBtE7mpXa0W7sh5gpiIkCA0SINvzpXGYngnEtfduM/PXK3vXRUSWCSG9rXUZCP3Zq/nXIiQIDhIg9cYuEjdzNpniyVPU3o+kU3kobiI+Jk2oFmLs4k253BISg4sBEn8KV3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMhIkYTdiMzI3MjQtNWExMS00OWEyLWEyOWUtNjg4MmM5MWZmNWU0GlNnbG9iYWwtZG9tYWluOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYSokOTBkY2YwZTctOGVjMC00ZjU2LTliNjgtMWFjNGRhNDExOGE4ML2f6p/x35ADOoJFCps1CgMyLjESigEwMDU1NGRkNDFkNDM0MzhkOGVlODgzMTIwODVjNzk0NDdhMTZlZmU1NWE3ZmM5NDFjYzRmNjdhZjJmZTI2OGVkNzNjYTExMTIyMDE2ZjdmOWUxYjA1NDkxMjBmOTQyZjYzYzI0OWM1NWMyN2Y3YmQ0ZWJkZTFjODY5Y2I5ZDdiMGVkZTUwODRmNmEaDXNwbGljZS1hbXVsZXQiYwpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRISU3BsaWNlLkFtdWxldFJ1bGVzGgtBbXVsZXRSdWxlcyr8MXL5MQpjCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEhJTcGxpY2UuQW11bGV0UnVsZXMaC0FtdWxldFJ1bGVzElIKA2RzbxJLOklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhEq0wCg5jb25maWdTY2hlZHVsZRKaMHKXMApdCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEg9TcGxpY2UuU2NoZWR1bGUaCFNjaGVkdWxlEqEvCgxpbml0aWFsVmFsdWUSkC9yjS8KZQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRITU3BsaWNlLkFtdWxldENvbmZpZxoMQW11bGV0Q29uZmlnEs8JCg50cmFuc2ZlckNvbmZpZxK8CXK5CQpnCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEhNTcGxpY2UuQW11bGV0Q29uZmlnGg5UcmFuc2ZlckNvbmZpZxKBAQoJY3JlYXRlRmVlEnRycgpZCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgtTcGxpY2UuRmVlcxoIRml4ZWRGZWUSFQoDZmVlEg4yDDAuMDAwMDAwMDAwMBKHAQoKaG9sZGluZ0ZlZRJ5cncKXQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRILU3BsaWNlLkZlZXMaDFJhdGVQZXJSb3VuZBIWCgRyYXRlEg4yDDAuMDAwMDE5MDI1ORLDBAoLdHJhbnNmZXJGZWUSswRysAQKXApAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRILU3BsaWNlLkZlZXMaC1N0ZXBwZWRSYXRlEh0KC2luaXRpYWxSYXRlEg4yDDAuMDAwMDAwMDAwMBKwAwoFc3RlcHMSpgNaowMKhwFyhAEKVApANWFlZTliMjFiOGU5YTRjNDk3NWI1ZjRjNDE5OGU2ZTZlODQ2OWRmNDllMjAxMDgyMGU3OTJmMzkzZGI4NzBmNBIIREEuVHlwZXMaBlR1cGxlMhIWCgJfMRIQMg4xMDAuMDAwMDAwMDAwMBIUCgJfMhIOMgwwLjAwMDAwMDAwMDAKiAFyhQEKVApANWFlZTliMjFiOGU5YTRjNDk3NWI1ZjRjNDE5OGU2ZTZlODQ2OWRmNDllMjAxMDgyMGU3OTJmMzkzZGI4NzBmNBIIREEuVHlwZXMaBlR1cGxlMhIXCgJfMRIRMg8xMDAwLjAwMDAwMDAwMDASFAoCXzISDjIMMC4wMDAwMDAwMDAwCosBcogBClQKQDVhZWU5YjIxYjhlOWE0YzQ5NzViNWY0YzQxOThlNmU2ZTg0NjlkZjQ5ZTIwMTA4MjBlNzkyZjM5M2RiODcwZjQSCERBLlR5cGVzGgZUdXBsZTISGgoCXzESFDISMTAwMDAwMC4wMDAwMDAwMDAwEhQKAl8yEg4yDDAuMDAwMDAwMDAwMBKFAQoNbG9ja0hvbGRlckZlZRJ0cnIKWQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRILU3BsaWNlLkZlZXMaCEZpeGVkRmVlEhUKA2ZlZRIOMgwwLjAwMDAwMDAwMDASLgocZXh0cmFGZWF0dXJlZEFwcFJld2FyZEFtb3VudBIOMgwxLjAwMDAwMDAwMDASEwoMbWF4TnVtSW5wdXRzEgMYyAESFAoNbWF4TnVtT3V0cHV0cxIDGMgBEhcKEW1heE51bUxvY2tIb2xkZXJzEgIYZBKzGAoNaXNzdWFuY2VDdXJ2ZRKhGHKeGApdCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEg9TcGxpY2UuU2NoZWR1bGUaCFNjaGVkdWxlEqoDCgxpbml0aWFsVmFsdWUSmQNylgMKYwpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRIPU3BsaWNlLklzc3VhbmNlGg5Jc3N1YW5jZUNvbmZpZxIwChRhbXVsZXRUb0lzc3VlUGVyWWVhchIYMhY0MDAwMDAwMDAwMC4wMDAwMDAwMDAwEisKGXZhbGlkYXRvclJld2FyZFBlcmNlbnRhZ2USDjIMMC4wNTAwMDAwMDAwEiUKE2FwcFJld2FyZFBlcmNlbnRhZ2USDjIMMC4xNTAwMDAwMDAwEiQKEnZhbGlkYXRvclJld2FyZENhcBIOMgwwLjIwMDAwMDAwMDASKgoUZmVhdHVyZWRBcHBSZXdhcmRDYXASEjIQMjAwMDAuMDAwMDAwMDAwMBIoChZ1bmZlYXR1cmVkQXBwUmV3YXJkQ2FwEg4yDDAuNjAwMDAwMDAwMBItChVvcHRWYWxpZGF0b3JGYXVjZXRDYXASFFISChAyDjU3MC4wMDAwMDAwMDAwEo8UCgxmdXR1cmVWYWx1ZXMS/hNa+xMK/ARy+QQKVApANWFlZTliMjFiOGU5YTRjNDk3NWI1ZjRjNDE5OGU2ZTZlODQ2OWRmNDllMjAxMDgyMGU3OTJmMzkzZGI4NzBmNBIIREEuVHlwZXMaBlR1cGxlMhJ+CgJfMRJ4cnYKWgpAYjcwZGI4MzY5ZTFjNDYxZDVjNzBmMWM4NmY1MjZhMjllOTc3NmM2NTVlNmZmYzI1NjBmOTViMDVjY2I4Yjk0NhINREEuVGltZS5UeXBlcxoHUmVsVGltZRIYCgxtaWNyb3NlY29uZHMSCBiAwM/g6JUHEqADCgJfMhKZA3KWAwpjCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEg9TcGxpY2UuSXNzdWFuY2UaDklzc3VhbmNlQ29uZmlnEjAKFGFtdWxldFRvSXNzdWVQZXJZZWFyEhgyFjIwMDAwMDAwMDAwLjAwMDAwMDAwMDASKwoZdmFsaWRhdG9yUmV3YXJkUGVyY2VudGFnZRIOMgwwLjEyMDAwMDAwMDASJQoTYXBwUmV3YXJkUGVyY2VudGFnZRIOMgwwLjQwMDAwMDAwMDASJAoSdmFsaWRhdG9yUmV3YXJkQ2FwEg4yDDAuMjAwMDAwMDAwMBIqChRmZWF0dXJlZEFwcFJld2FyZENhcBISMhAyMDAwMC4wMDAwMDAwMDAwEigKFnVuZmVhdHVyZWRBcHBSZXdhcmRDYXASDjIMMC42MDAwMDAwMDAwEi0KFW9wdFZhbGlkYXRvckZhdWNldENhcBIUUhIKEDIONTcwLjAwMDAwMDAwMDAK/ARy+QQKVApANWFlZTliMjFiOGU5YTRjNDk3NWI1ZjRjNDE5OGU2ZTZlODQ2OWRmNDllMjAxMDgyMGU3OTJmMzkzZGI4NzBmNBIIREEuVHlwZXMaBlR1cGxlMhJ+CgJfMRJ4cnYKWgpAYjcwZGI4MzY5ZTFjNDYxZDVjNzBmMWM4NmY1MjZhMjllOTc3NmM2NTVlNmZmYzI1NjBmOTViMDVjY2I4Yjk0NhINREEuVGltZS5UeXBlcxoHUmVsVGltZRIYCgxtaWNyb3NlY29uZHMSCBiAwO6husEVEqADCgJfMhKZA3KWAwpjCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEg9TcGxpY2UuSXNzdWFuY2UaDklzc3VhbmNlQ29uZmlnEjAKFGFtdWxldFRvSXNzdWVQZXJZZWFyEhgyFjEwMDAwMDAwMDAwLjAwMDAwMDAwMDASKwoZdmFsaWRhdG9yUmV3YXJkUGVyY2VudGFnZRIOMgwwLjE4MDAwMDAwMDASJQoTYXBwUmV3YXJkUGVyY2VudGFnZRIOMgwwLjYyMDAwMDAwMDASJAoSdmFsaWRhdG9yUmV3YXJkQ2FwEg4yDDAuMjAwMDAwMDAwMBIqChRmZWF0dXJlZEFwcFJld2FyZENhcBISMhAyMDAwMC4wMDAwMDAwMDAwEigKFnVuZmVhdHVyZWRBcHBSZXdhcmRDYXASDjIMMC42MDAwMDAwMDAwEi0KFW9wdFZhbGlkYXRvckZhdWNldENhcBIUUhIKEDIONTcwLjAwMDAwMDAwMDAK+wRy+AQKVApANWFlZTliMjFiOGU5YTRjNDk3NWI1ZjRjNDE5OGU2ZTZlODQ2OWRmNDllMjAxMDgyMGU3OTJmMzkzZGI4NzBmNBIIREEuVHlwZXMaBlR1cGxlMhJ+CgJfMRJ4cnYKWgpAYjcwZGI4MzY5ZTFjNDYxZDVjNzBmMWM4NmY1MjZhMjllOTc3NmM2NTVlNmZmYzI1NjBmOTViMDVjY2I4Yjk0NhINREEuVGltZS5UeXBlcxoHUmVsVGltZRIYCgxtaWNyb3NlY29uZHMSCBiAgJvGl9pHEp8DCgJfMhKYA3KVAwpjCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEg9TcGxpY2UuSXNzdWFuY2UaDklzc3VhbmNlQ29uZmlnEi8KFGFtdWxldFRvSXNzdWVQZXJZZWFyEhcyFTUwMDAwMDAwMDAuMDAwMDAwMDAwMBIrChl2YWxpZGF0b3JSZXdhcmRQZXJjZW50YWdlEg4yDDAuMjEwMDAwMDAwMBIlChNhcHBSZXdhcmRQZXJjZW50YWdlEg4yDDAuNjkwMDAwMDAwMBIkChJ2YWxpZGF0b3JSZXdhcmRDYXASDjIMMC4yMDAwMDAwMDAwEioKFGZlYXR1cmVkQXBwUmV3YXJkQ2FwEhIyEDIwMDAwLjAwMDAwMDAwMDASKAoWdW5mZWF0dXJlZEFwcFJld2FyZENhcBIOMgwwLjYwMDAwMDAwMDASLQoVb3B0VmFsaWRhdG9yRmF1Y2V0Q2FwEhRSEgoQMg41NzAuMDAwMDAwMDAwMAr8BHL5BApUCkA1YWVlOWIyMWI4ZTlhNGM0OTc1YjVmNGM0MTk4ZTZlNmU4NDY5ZGY0OWUyMDEwODIwZTc5MmYzOTNkYjg3MGY0EghEQS5UeXBlcxoGVHVwbGUyEn8KAl8xEnlydwpaCkBiNzBkYjgzNjllMWM0NjFkNWM3MGYxYzg2ZjUyNmEyOWU5Nzc2YzY1NWU2ZmZjMjU2MGY5NWIwNWNjYjhiOTQ2Eg1EQS5UaW1lLlR5cGVzGgdSZWxUaW1lEhkKDG1pY3Jvc2Vjb25kcxIJGICAtoyvtI8BEp8DCgJfMhKYA3KVAwpjCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEg9TcGxpY2UuSXNzdWFuY2UaDklzc3VhbmNlQ29uZmlnEi8KFGFtdWxldFRvSXNzdWVQZXJZZWFyEhcyFTI1MDAwMDAwMDAuMDAwMDAwMDAwMBIrChl2YWxpZGF0b3JSZXdhcmRQZXJjZW50YWdlEg4yDDAuMjAwMDAwMDAwMBIlChNhcHBSZXdhcmRQZXJjZW50YWdlEg4yDDAuNzUwMDAwMDAwMBIkChJ2YWxpZGF0b3JSZXdhcmRDYXASDjIMMC4yMDAwMDAwMDAwEioKFGZlYXR1cmVkQXBwUmV3YXJkQ2FwEhIyEDIwMDAwLjAwMDAwMDAwMDASKAoWdW5mZWF0dXJlZEFwcFJld2FyZENhcBIOMgwwLjYwMDAwMDAwMDASLQoVb3B0VmFsaWRhdG9yRmF1Y2V0Q2FwEhRSEgoQMg41NzAuMDAwMDAwMDAwMBKgCAoZZGVjZW50cmFsaXplZFN5bmNocm9uaXplchKCCHL/BwqLAQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRIgU3BsaWNlLkRlY2VudHJhbGl6ZWRTeW5jaHJvbml6ZXIaJUFtdWxldERlY2VudHJhbGl6ZWRTeW5jaHJvbml6ZXJDb25maWcS3AEKFXJlcXVpcmVkU3luY2hyb25pemVycxLCAXK/AQpVCkBjM2JiMGM1ZDA0Nzk5YjNmMTFiYWQ3YzNjMTAyOTYzZTExNWNmNTNkYTNlNGFmY2JjZmQ5ZjA2ZWJkODJiNGZmEgxEQS5TZXQuVHlwZXMaA1NldBJmCgNtYXASX2pdClsKVUJTZ2xvYmFsLWRvbWFpbjo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWESAgoAEmsKEmFjdGl2ZVN5bmNocm9uaXplchJVQlNnbG9iYWwtZG9tYWluOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYRKiBAoEZmVlcxKZBHKWBAp8CkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEiBTcGxpY2UuRGVjZW50cmFsaXplZFN5bmNocm9uaXplchoWU3luY2hyb25pemVyRmVlc0NvbmZpZxK3AgoVYmFzZVJhdGVUcmFmZmljTGltaXRzEp0CcpoCCnsKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESIFNwbGljZS5EZWNlbnRyYWxpemVkU3luY2hyb25pemVyGhVCYXNlUmF0ZVRyYWZmaWNMaW1pdHMSEwoLYnVyc3RBbW91bnQSBBiA6jAShQEKC2J1cnN0V2luZG93EnZydApaCkBiNzBkYjgzNjllMWM0NjFkNWM3MGYxYzg2ZjUyNmEyOWU5Nzc2YzY1NWU2ZmZjMjU2MGY5NWIwNWNjYjhiOTQ2Eg1EQS5UaW1lLlR5cGVzGgdSZWxUaW1lEhYKDG1pY3Jvc2Vjb25kcxIGGICwtPgIEiQKEWV4dHJhVHJhZmZpY1ByaWNlEg8yDTYwLjAwMDAwMDAwMDASHgoYcmVhZFZzV3JpdGVTY2FsaW5nRmFjdG9yEgIYCBIWCg5taW5Ub3B1cEFtb3VudBIEGIC1GBKGAQoMdGlja0R1cmF0aW9uEnZydApaCkBiNzBkYjgzNjllMWM0NjFkNWM3MGYxYzg2ZjUyNmEyOWU5Nzc2YzY1NWU2ZmZjMjU2MGY5NWIwNWNjYjhiOTQ2Eg1EQS5UaW1lLlR5cGVzGgdSZWxUaW1lEhYKDG1pY3Jvc2Vjb25kcxIGGICYmrwEEpoCCg1wYWNrYWdlQ29uZmlnEogCcoUCCmYKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESE1NwbGljZS5BbXVsZXRDb25maWcaDVBhY2thZ2VDb25maWcSEgoGYW11bGV0EghCBjAuMS4xNBIdChFhbXVsZXROYW1lU2VydmljZRIIQgYwLjEuMTUSGQoNZHNvR292ZXJuYW5jZRIIQgYwLjEuMjASHQoSdmFsaWRhdG9yTGlmZWN5Y2xlEgdCBTAuMS41EhIKBndhbGxldBIIQgYwLjEuMTQSGgoOd2FsbGV0UGF5bWVudHMSCEIGMC4xLjE0EhwKFnRyYW5zZmVyUHJlYXBwcm92YWxGZWUSAlIAEjUKH2ZlYXR1cmVkQXBwQWN0aXZpdHlNYXJrZXJBbW91bnQSElIQCg4yDDEuMDAwMDAwMDAwMBISCgxmdXR1cmVWYWx1ZXMSAloAEg4KCGlzRGV2TmV0EgIQATJJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYTpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYcA+zoqrwKKZkAPSPtYPCgMyLjESzg8KRQBVTdQdQ0ONjuiDEghceUR6Fu/lWn/JQcxPZ68v4mjtc8oREiAW9/nhsFSRIPlC9jwknFXCf3vU694chpy517Dt5QhPahINc3BsaWNlLWFtdWxldBpkCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgZTcGxpY2USC0FtdWxldFJ1bGVzGgtBbXVsZXRSdWxlcyKPDWqMDQpNCks6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWEKtAwKsQxqrgwKpQwKogxqnwwKmwIKmAJqlQIKFgoUahIKEAoOMgwwLjAwMDAwMDAwMDAKFgoUahIKEAoOMgwwLjAwMDAxOTAyNTkKpAEKoQFqngEKEAoOMgwwLjAwMDAwMDAwMDAKiQEKhgFagwEKKGomChIKEDIOMTAwLjAwMDAwMDAwMDAKEAoOMgwwLjAwMDAwMDAwMDAKKWonChMKETIPMTAwMC4wMDAwMDAwMDAwChAKDjIMMC4wMDAwMDAwMDAwCixqKgoWChQyEjEwMDAwMDAuMDAwMDAwMDAwMAoQCg4yDDAuMDAwMDAwMDAwMAoWChRqEgoQCg4yDDAuMDAwMDAwMDAwMAoQCg4yDDEuMDAwMDAwMDAwMAoFCgMYyAEKBQoDGMgBCgQKAhhkCvUGCvIGau8GCpgBCpUBapIBChoKGDIWNDAwMDAwMDAwMDAuMDAwMDAwMDAwMAoQCg4yDDAuMDUwMDAwMDAwMAoQCg4yDDAuMTUwMDAwMDAwMAoQCg4yDDAuMjAwMDAwMDAwMAoUChIyEDIwMDAwLjAwMDAwMDAwMDAKEAoOMgwwLjYwMDAwMDAwMDAKFgoUUhIKEDIONTcwLjAwMDAwMDAwMDAK0QUKzgVaywUKsAFqrQEKEAoOagwKCgoIGIDAz+DolQcKmAEKlQFqkgEKGgoYMhYyMDAwMDAwMDAwMC4wMDAwMDAwMDAwChAKDjIMMC4xMjAwMDAwMDAwChAKDjIMMC40MDAwMDAwMDAwChAKDjIMMC4yMDAwMDAwMDAwChQKEjIQMjAwMDAuMDAwMDAwMDAwMAoQCg4yDDAuNjAwMDAwMDAwMAoWChRSEgoQMg41NzAuMDAwMDAwMDAwMAqwAWqtAQoQCg5qDAoKCggYgMDuobrBFQqYAQqVAWqSAQoaChgyFjEwMDAwMDAwMDAwLjAwMDAwMDAwMDAKEAoOMgwwLjE4MDAwMDAwMDAKEAoOMgwwLjYyMDAwMDAwMDAKEAoOMgwwLjIwMDAwMDAwMDAKFAoSMhAyMDAwMC4wMDAwMDAwMDAwChAKDjIMMC42MDAwMDAwMDAwChYKFFISChAyDjU3MC4wMDAwMDAwMDAwCq8BaqwBChAKDmoMCgoKCBiAgJvGl9pHCpcBCpQBapEBChkKFzIVNTAwMDAwMDAwMC4wMDAwMDAwMDAwChAKDjIMMC4yMTAwMDAwMDAwChAKDjIMMC42OTAwMDAwMDAwChAKDjIMMC4yMDAwMDAwMDAwChQKEjIQMjAwMDAuMDAwMDAwMDAwMAoQCg4yDDAuNjAwMDAwMDAwMAoWChRSEgoQMg41NzAuMDAwMDAwMDAwMAqwAWqtAQoRCg9qDQoLCgkYgIC2jK+0jwEKlwEKlAFqkQEKGQoXMhUyNTAwMDAwMDAwLjAwMDAwMDAwMDAKEAoOMgwwLjIwMDAwMDAwMDAKEAoOMgwwLjc1MDAwMDAwMDAKEAoOMgwwLjIwMDAwMDAwMDAKFAoSMhAyMDAwMC4wMDAwMDAwMDAwChAKDjIMMC42MDAwMDAwMDAwChYKFFISChAyDjU3MC4wMDAwMDAwMDAwCo0CCooCaocCCmcKZWpjCmEKX2JdClsKVUJTZ2xvYmFsLWRvbWFpbjo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWESAgoAClcKVUJTZ2xvYmFsLWRvbWFpbjo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWEKQwpBaj8KHAoaahgKBgoEGIDqMAoOCgxqCgoICgYYgLC0+AgKEQoPMg02MC4wMDAwMDAwMDAwCgQKAhgICgYKBBiAtRgKDgoMagoKCAoGGICYmrwECksKSWpHCgoKCEIGMC4xLjE0CgoKCEIGMC4xLjE1CgoKCEIGMC4xLjIwCgkKB0IFMC4xLjUKCgoIQgYwLjEuMTQKCgoIQgYwLjEuMTQKBAoCUgAKFAoSUhAKDjIMMS4wMDAwMDAwMDAwCgQKAloACgQKAhABKklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhOU7FCijKQAYAQioKJgokCAESIHzbHbzodniEyCuqfU5TPDeLmgP3rNiJUFKME5VqVoolEB468hwKtRUKAzIuMRKKATAwNzg2NTIyODZkMDAxMDM5ZDYzNmUxYzA0MWJjZDc4ZjRlMTM3OTkzZThiMTNmNTc0MmYxYTk1ZjdlMzY2NDE0NWNhMTExMjIwY2E1MjMwZmJkMmUwOGE2MDhkZmVkMjFlMGM1ZjE4MzI1NDYwNjMwZjcxN2VmNTgyOGRhNDI1YjIyNjlmMGRmOBoNc3BsaWNlLWFtdWxldCJhCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgxTcGxpY2UuUm91bmQaD09wZW5NaW5pbmdSb3VuZCqYEnKVEgphCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgxTcGxpY2UuUm91bmQaD09wZW5NaW5pbmdSb3VuZBJSCgNkc28SSzpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYRJ0CgVyb3VuZBJrcmkKVwpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRIMU3BsaWNlLlR5cGVzGgVSb3VuZBIOCgZudW1iZXISBBiwmAISHQoLYW11bGV0UHJpY2USDjIMMC4xNTAwMDAwMDAwEhQKB29wZW5zQXQSCSk9bUnw/kIGABIbCg50YXJnZXRDbG9zZXNBdBIJKT35zzf/QgYAEoYBCgppc3N1aW5nRm9yEnhydgpaCkBiNzBkYjgzNjllMWM0NjFkNWM3MGYxYzg2ZjUyNmEyOWU5Nzc2YzY1NWU2ZmZjMjU2MGY5NWIwNWNjYjhiOTQ2Eg1EQS5UaW1lLlR5cGVzGgdSZWxUaW1lEhgKDG1pY3Jvc2Vjb25kcxIIGIDAlPfX8gQS0gkKEXRyYW5zZmVyQ29uZmlnVXNkErwJcrkJCmcKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESE1NwbGljZS5BbXVsZXRDb25maWcaDlRyYW5zZmVyQ29uZmlnEoEBCgljcmVhdGVGZWUSdHJyClkKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESC1NwbGljZS5GZWVzGghGaXhlZEZlZRIVCgNmZWUSDjIMMC4wMDAwMDAwMDAwEocBCgpob2xkaW5nRmVlEnlydwpdCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgtTcGxpY2UuRmVlcxoMUmF0ZVBlclJvdW5kEhYKBHJhdGUSDjIMMC4wMDAwMTkwMjU5EsMECgt0cmFuc2ZlckZlZRKzBHKwBApcCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgtTcGxpY2UuRmVlcxoLU3RlcHBlZFJhdGUSHQoLaW5pdGlhbFJhdGUSDjIMMC4wMDAwMDAwMDAwErADCgVzdGVwcxKmA1qjAwqHAXKEAQpUCkA1YWVlOWIyMWI4ZTlhNGM0OTc1YjVmNGM0MTk4ZTZlNmU4NDY5ZGY0OWUyMDEwODIwZTc5MmYzOTNkYjg3MGY0EghEQS5UeXBlcxoGVHVwbGUyEhYKAl8xEhAyDjEwMC4wMDAwMDAwMDAwEhQKAl8yEg4yDDAuMDAwMDAwMDAwMAqIAXKFAQpUCkA1YWVlOWIyMWI4ZTlhNGM0OTc1YjVmNGM0MTk4ZTZlNmU4NDY5ZGY0OWUyMDEwODIwZTc5MmYzOTNkYjg3MGY0EghEQS5UeXBlcxoGVHVwbGUyEhcKAl8xEhEyDzEwMDAuMDAwMDAwMDAwMBIUCgJfMhIOMgwwLjAwMDAwMDAwMDAKiwFyiAEKVApANWFlZTliMjFiOGU5YTRjNDk3NWI1ZjRjNDE5OGU2ZTZlODQ2OWRmNDllMjAxMDgyMGU3OTJmMzkzZGI4NzBmNBIIREEuVHlwZXMaBlR1cGxlMhIaCgJfMRIUMhIxMDAwMDAwLjAwMDAwMDAwMDASFAoCXzISDjIMMC4wMDAwMDAwMDAwEoUBCg1sb2NrSG9sZGVyRmVlEnRycgpZCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgtTcGxpY2UuRmVlcxoIRml4ZWRGZWUSFQoDZmVlEg4yDDAuMDAwMDAwMDAwMBIuChxleHRyYUZlYXR1cmVkQXBwUmV3YXJkQW1vdW50Eg4yDDEuMDAwMDAwMDAwMBITCgxtYXhOdW1JbnB1dHMSAxjIARIUCg1tYXhOdW1PdXRwdXRzEgMYyAESFwoRbWF4TnVtTG9ja0hvbGRlcnMSAhhkEqwDCg5pc3N1YW5jZUNvbmZpZxKZA3KWAwpjCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEg9TcGxpY2UuSXNzdWFuY2UaDklzc3VhbmNlQ29uZmlnEjAKFGFtdWxldFRvSXNzdWVQZXJZZWFyEhgyFjQwMDAwMDAwMDAwLjAwMDAwMDAwMDASKwoZdmFsaWRhdG9yUmV3YXJkUGVyY2VudGFnZRIOMgwwLjA1MDAwMDAwMDASJQoTYXBwUmV3YXJkUGVyY2VudGFnZRIOMgwwLjE1MDAwMDAwMDASJAoSdmFsaWRhdG9yUmV3YXJkQ2FwEg4yDDAuMjAwMDAwMDAwMBIqChRmZWF0dXJlZEFwcFJld2FyZENhcBISMhAyMDAwMC4wMDAwMDAwMDAwEigKFnVuZmVhdHVyZWRBcHBSZXdhcmRDYXASDjIMMC42MDAwMDAwMDAwEi0KFW9wdFZhbGlkYXRvckZhdWNldENhcBIUUhIKEDIONTcwLjAwMDAwMDAwMDAShgEKDHRpY2tEdXJhdGlvbhJ2cnQKWgpAYjcwZGI4MzY5ZTFjNDYxZDVjNzBmMWM4NmY1MjZhMjllOTc3NmM2NTVlNmZmYzI1NjBmOTViMDVjY2I4Yjk0NhINREEuVGltZS5UeXBlcxoHUmVsVGltZRIWCgxtaWNyb3NlY29uZHMSBhiAmJq8BDJJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYTpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYcA+vc6Y5OzfkAPSPqwHCgMyLjESpAcKRQB4ZSKG0AEDnWNuHAQbzXj04TeZPosT9XQvGpX342ZBRcoREiDKUjD70uCKYI3+0h4MXxgyVGBjD3F+9YKNpCWyJp8N+BINc3BsaWNlLWFtdWxldBpiCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgZTcGxpY2USBVJvdW5kGg9PcGVuTWluaW5nUm91bmQi5wRq5AQKTQpLOklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhCgwKCmoICgYKBBiwmAIKEAoOMgwwLjE1MDAwMDAwMDAKCwoJKT1tSfD+QgYACgsKCSk9+c83/0IGAAoQCg5qDAoKCggYgMCU99fyBAqbAgqYAmqVAgoWChRqEgoQCg4yDDAuMDAwMDAwMDAwMAoWChRqEgoQCg4yDDAuMDAwMDE5MDI1OQqkAQqhAWqeAQoQCg4yDDAuMDAwMDAwMDAwMAqJAQqGAVqDAQooaiYKEgoQMg4xMDAuMDAwMDAwMDAwMAoQCg4yDDAuMDAwMDAwMDAwMAopaicKEwoRMg8xMDAwLjAwMDAwMDAwMDAKEAoOMgwwLjAwMDAwMDAwMDAKLGoqChYKFDISMTAwMDAwMC4wMDAwMDAwMDAwChAKDjIMMC4wMDAwMDAwMDAwChYKFGoSChAKDjIMMC4wMDAwMDAwMDAwChAKDjIMMS4wMDAwMDAwMDAwCgUKAxjIAQoFCgMYyAEKBAoCGGQKmAEKlQFqkgEKGgoYMhY0MDAwMDAwMDAwMC4wMDAwMDAwMDAwChAKDjIMMC4wNTAwMDAwMDAwChAKDjIMMC4xNTAwMDAwMDAwChAKDjIMMC4yMDAwMDAwMDAwChQKEjIQMjAwMDAuMDAwMDAwMDAwMAoQCg4yDDAuNjAwMDAwMDAwMAoWChRSEgoQMg41NzAuMDAwMDAwMDAwMAoOCgxqCgoICgYYgJiavAQqSURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWE5PSeGzP5CBgBCKgomCiQIARIggmzQZmeCQaNOjk88Ct0+eN0fZFQADfqmjRD0qa38wk4QHjqMDwr3CQoDMi4xEooBMDA5Mjc5MGIwOGY3YzQ2ODMwZTY5YjRiNTJlZjc2YzVhZGFmZjBlYWM0M2YwMGQ3NjM5ZjVkZDhiYmI1MDM3YTUzY2ExMTEyMjAwMzM4MDI2MGM2YjJjZjVhNTQ4NmU5MTUxODI2ZDVkYzAzYTE1NmI4MmI3ZjhmZjEzOWZiY2JhNzc4ZTk0ZjY2Gg1zcGxpY2UtYW11bGV0IlkKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESDVNwbGljZS5BbXVsZXQaBkFtdWxldCqwBXKtBQpZCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEg1TcGxpY2UuQW11bGV0GgZBbXVsZXQSUgoDZHNvEks6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWESYgoFb3duZXISWTpXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQyEpcDCgZhbW91bnQSjANyiQMKXwpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRILU3BsaWNlLkZlZXMaDkV4cGlyaW5nQW1vdW50EiAKDWluaXRpYWxBbW91bnQSDzINMTAuMDAwMDAwMDAwMBJ4CgljcmVhdGVkQXQSa3JpClcKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESDFNwbGljZS5UeXBlcxoFUm91bmQSDgoGbnVtYmVyEgQYrJgCEokBCgxyYXRlUGVyUm91bmQSeXJ3Cl0KQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESC1NwbGljZS5GZWVzGgxSYXRlUGVyUm91bmQSFgoEcmF0ZRIOMgwwLjAwMDEyNjgzOTMySURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWEyV3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMjpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYTpXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQywD6uiuS97N+QA9I+hAUKAzIuMRL8BApFAJJ5Cwj3xGgw5ptLUu92xa2v8OrEPwDXY59d2Lu1A3pTyhESIAM4AmDGss9aVIbpFRgm1dwDoVa4K3+P8Tn7y6d46U9mEg1zcGxpY2UtYW11bGV0GloKQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESBlNwbGljZRIGQW11bGV0GgZBbXVsZXQi7gFq6wEKTQpLOklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhClsKWTpXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQyCj0KO2o5ChEKDzINMTAuMDAwMDAwMDAwMAoMCgpqCAoGCgQYrJgCChYKFGoSChAKDjIMMC4wMDAxMjY4MzkzKklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhKldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDI5LgW5x/5CBgBCKgomCiQIARIgFyj7BL/xLiFSDg49A7GU42B8ypHIN04gcIhMsdcZ0hgQHjrRCAqPBQoDMi4xEooBMDA5ZjAwZTViZjAwNjQwMTE4ZDg0OTA4MGFhZjIyYmM5NjNhODQ1OGQzMjI1ODVjZWJmMTExOWNiN2JmMzdhOTU1Y2ExMTEyMjA2NWI3NzVmYjhhNDE5OTkwNGVkMzJmYTkyNzdmZDljMGU4MmJiODIzMTlhNzE1MTI0OWRmMTI0MTgyMDcyMzgxGg1zcGxpY2UtYW11bGV0In0KQGE1YjA1NTQ5MmZiOGYwOGIyZTdiYzBmYzk0ZGE2ZGE1MGMzOWMyZTFkN2YyNGNkNWVhOGRiMTJmYzg3YzEzMzISH1NwbGljZS5FeHRlcm5hbFBhcnR5QW11bGV0UnVsZXMaGEV4dGVybmFsUGFydHlBbXVsZXRSdWxlcyrWAXLTAQp9CkBhNWIwNTU0OTJmYjhmMDhiMmU3YmMwZmM5NGRhNmRhNTBjMzljMmUxZDdmMjRjZDVlYThkYjEyZmM4N2MxMzMyEh9TcGxpY2UuRXh0ZXJuYWxQYXJ0eUFtdWxldFJ1bGVzGhhFeHRlcm5hbFBhcnR5QW11bGV0UnVsZXMSUgoDZHNvEks6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWEySURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWE6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWHAPris7+Cfno4D0j6xAwoDMi4xEqkDCkUAnwDlvwBkARjYSQgKryK8ljqEWNMiWFzr8RGct783qVXKERIgZbd1+4pBmZBO0y+pJ3/ZwOgruCMZpxUSSd8SQYIHI4ESDXNwbGljZS1hbXVsZXQafgpAYTViMDU1NDkyZmI4ZjA4YjJlN2JjMGZjOTRkYTZkYTUwYzM5YzJlMWQ3ZjI0Y2Q1ZWE4ZGIxMmZjODdjMTMzMhIGU3BsaWNlEhhFeHRlcm5hbFBhcnR5QW11bGV0UnVsZXMaGEV4dGVybmFsUGFydHlBbXVsZXRSdWxlcyJRak8KTQpLOklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhKklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhOTjWG/zxOAYAQioKJgokCAESIIOl2kG+jr3tmXhBE3xmWQkAWQv/rjtLwNVa5tZ5Dne6EB46jA8K9wkKAzIuMRKKATAwYTRjZjE5NWQ0NjhlYTMzMzIwMzUzZmU1NDBjZGJlZjU0NDc3NTEwZjY2YmNlYTA3OGVlNmE5NDQ4ZDZiMzIxOGNhMTExMjIwOWZiMjZjZWU2ZDdkZmFiYTczZmM1NmJiMDk2ZTcwZDU0YWY2NGI0ODdkN2IyZDlhNzYzOGY4ZDE4ZmNiZDAxMhoNc3BsaWNlLWFtdWxldCJZCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEg1TcGxpY2UuQW11bGV0GgZBbXVsZXQqsAVyrQUKWQpAM2NhMTM0M2FiMjZiNDUzZDM4YzhhZGI3MGRjYTVmMWVhZDg0NDBjNDJiNTliNjhmMDcwNzg2OTU1Y2JmOWVjMRINU3BsaWNlLkFtdWxldBoGQW11bGV0ElIKA2RzbxJLOklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhEmIKBW93bmVyElk6V3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMhKXAwoGYW1vdW50EowDcokDCl8KQDNjYTEzNDNhYjI2YjQ1M2QzOGM4YWRiNzBkY2E1ZjFlYWQ4NDQwYzQyYjU5YjY4ZjA3MDc4Njk1NWNiZjllYzESC1NwbGljZS5GZWVzGg5FeHBpcmluZ0Ftb3VudBIgCg1pbml0aWFsQW1vdW50Eg8yDTEwLjAwMDAwMDAwMDASeAoJY3JlYXRlZEF0EmtyaQpXCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgxTcGxpY2UuVHlwZXMaBVJvdW5kEg4KBm51bWJlchIEGJKYAhKJAQoMcmF0ZVBlclJvdW5kEnlydwpdCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgtTcGxpY2UuRmVlcxoMUmF0ZVBlclJvdW5kEhYKBHJhdGUSDjIMMC4wMDAxMjY4MzkzMklEU086OjEyMjBiZTU4YzI5ZTY1ZGU0MGJmMjczYmUxZGMyYjI2NmQ0M2E5YTAwMmVhNWIxODk1NWFlZWY3YWFjODgxYmI0NzFhMldyYXZpLXRlc3QtcGFydHktMTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDI6SURTTzo6MTIyMGJlNThjMjllNjVkZTQwYmYyNzNiZTFkYzJiMjY2ZDQzYTlhMDAyZWE1YjE4OTU1YWVlZjdhYWM4ODFiYjQ3MWE6V3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMsA+wv//xc/fkAPSPoQFCgMyLjES/AQKRQCkzxldRo6jMyA1P+VAzb71RHdRD2a86geO5qlEjWsyGMoREiCfsmzubX36unP8VrsJbnDVSvZLSH17LZp2OPjRj8vQEhINc3BsaWNlLWFtdWxldBpaCkAzY2ExMzQzYWIyNmI0NTNkMzhjOGFkYjcwZGNhNWYxZWFkODQ0MGM0MmI1OWI2OGYwNzA3ODY5NTVjYmY5ZWMxEgZTcGxpY2USBkFtdWxldBoGQW11bGV0Iu4BausBCk0KSzpJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYQpbClk6V3JhdmktdGVzdC1wYXJ0eS0xOjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMgo9CjtqOQoRCg8yDTEwLjAwMDAwMDAwMDAKDAoKaggKBgoEGJKYAgoWChRqEgoQCg4yDDAuMDAwMTI2ODM5MypJRFNPOjoxMjIwYmU1OGMyOWU2NWRlNDBiZjI3M2JlMWRjMmIyNjZkNDNhOWEwMDJlYTViMTg5NTVhZWVmN2FhYzg4MWJiNDcxYSpXcmF2aS10ZXN0LXBhcnR5LTE6OjEyMjA5MmU3ZDMzYWMxMGMwZjNkNTU5NzYzNDJmMzc1NTVkZjA1ZGE1Yjc0Mjk1NmQ1NmE2MmFlMjM2Nzc2OTA3OWQyOcL/v/j8QgYAQioKJgokCAESIEpfUgwBkrmJv2pyQbBxFNNHOAB9hcaAEvcL0360d3YJEB5IiKG0n/HfkANQh6GpmamrkQM=', + preparedTransactionHash: 'y12u05viQ8euhNh9c21KK8lbn/7wM4aeG5U4ouanTWY=', + hashingSchemeVersion: 'HASHING_SCHEME_VERSION_V2', + hashingDetails: null, +}; + +export const TransferObj = { + commandId: '9d4fbb39-9bf0-4864-a209-66c53b429828', + senderPartyId: 'ravi-test-party-1::122092e7d33ac10c0f3d55976342f37555df05da5b742956d56a62ae2367769079d2', + receiverPartyId: '1220a::1220ade60300cf7d0b18ffaa2ffe4f492ad1ad601cfc162b20f77ec99d16c2c2f158', + amount: 15, + sendOneStep: false, + expiryEpoch: 1770289758686, +}; diff --git a/modules/sdk-coin-canton/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.ts b/modules/sdk-coin-canton/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.ts index f3875f58ab..6ef3c3f056 100644 --- a/modules/sdk-coin-canton/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.ts +++ b/modules/sdk-coin-canton/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.ts @@ -17,6 +17,7 @@ describe('Wallet Pre-approval Enablement Builder', () => { const txBuilder = new OneStepPreApprovalBuilder(coins.get('tcanton')); const oneStepEnablementTx = new Transaction(coins.get('tcanton')); txBuilder.initBuilder(oneStepEnablementTx); + txBuilder.setTransaction(OneStepPreApprovalPrepareResponse); const { commandId, partyId } = OneStepEnablement; txBuilder.commandId(commandId).receiverPartyId(partyId); const requestObj: CantonOneStepEnablementRequest = txBuilder.toRequestObject(); diff --git a/modules/sdk-coin-canton/test/unit/builder/transfer/transferBuilder.ts b/modules/sdk-coin-canton/test/unit/builder/transfer/transferBuilder.ts new file mode 100644 index 0000000000..e966709b36 --- /dev/null +++ b/modules/sdk-coin-canton/test/unit/builder/transfer/transferBuilder.ts @@ -0,0 +1,64 @@ +import assert from 'assert'; +import should from 'should'; + +import { coins } from '@bitgo/statics'; + +import { TransferBuilder, Transaction } from '../../../../src'; +import { CantonTransferRequest } from '../../../../src/lib/iface'; + +import { TransferObj, TrasferPrepareResponse } from '../../../resources'; + +describe('Transfer Builder', () => { + it('should get the transfer request object', function () { + const txBuilder = new TransferBuilder(coins.get('tcanton')); + const transferTx = new Transaction(coins.get('tcanton')); + txBuilder.initBuilder(transferTx); + txBuilder.setTransaction(TrasferPrepareResponse); + const { commandId, senderPartyId, receiverPartyId, amount, sendOneStep, expiryEpoch } = TransferObj; + txBuilder + .commandId(commandId) + .senderId(senderPartyId) + .receiverId(receiverPartyId) + .amount(amount) + .sendOneStep(sendOneStep) + .expiryEpoch(expiryEpoch); + const requestObj: CantonTransferRequest = txBuilder.toRequestObject(); + should.exist(requestObj); + assert.equal(requestObj.commandId, commandId); + assert.equal(requestObj.senderPartyId, senderPartyId); + assert.equal(requestObj.receiverPartyId, receiverPartyId); + assert.equal(requestObj.amount, amount); + assert.equal(requestObj.expiryEpoch, expiryEpoch); + }); + + it('should validate raw transaction', function () { + const txBuilder = new TransferBuilder(coins.get('tcanton')); + const transferTx = new Transaction(coins.get('tcanton')); + txBuilder.initBuilder(transferTx); + txBuilder.setTransaction(TrasferPrepareResponse); + txBuilder.validateRawTransaction(TrasferPrepareResponse.preparedTransaction); + }); + + it('should validate the transaction', function () { + const txBuilder = new TransferBuilder(coins.get('tcanton')); + const transferTx = new Transaction(coins.get('tcanton')); + transferTx.prepareCommand = TrasferPrepareResponse; + txBuilder.initBuilder(transferTx); + txBuilder.setTransaction(TrasferPrepareResponse); + txBuilder.validateTransaction(transferTx); + }); + + it('should throw error in validating raw transaction', function () { + const txBuilder = new TransferBuilder(coins.get('tcanton')); + const transferAcceptanceTx = new Transaction(coins.get('tcanton')); + txBuilder.initBuilder(transferAcceptanceTx); + const invalidPrepareResponse = TrasferPrepareResponse; + invalidPrepareResponse.preparedTransactionHash = 'y12u05viQ8euhNh9c21KK8lbn/7wM4aeG5U4ouanTWZ='; + txBuilder.setTransaction(invalidPrepareResponse); + try { + txBuilder.validateRawTransaction(invalidPrepareResponse.preparedTransaction); + } catch (e) { + assert.equal(e.message, 'invalid raw transaction, hash not matching'); + } + }); +});