@galacticcouncil/descriptors 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.js CHANGED
@@ -29,7 +29,7 @@ var minified, commonTrees, tokens, replaceTokens, tokenizedCommonTrees, unwrap,
29
29
  var init_descriptors = __esm({
30
30
  ".papi/descriptors/src/descriptors.ts"() {
31
31
  "use strict";
32
- [minified, commonTrees, tokens] = JSON.parse(`[{"hydration":{"storage":{"2":{"0":0,"1":4,"ExtrinsicCount":1,"InherentsApplied":2,"BlockWeight":3,"AllExtrinsicsLen":1,"ExtrinsicData":5,"Number":1,"ParentHash":6,"Digest":7,"Events":8,"EventCount":1,"EventTopics":9,"LastRuntimeUpgrade":10,"UpgradedToU32RefCount":2,"UpgradedToTripleRefCount":2,"ExecutionPhase":11,"AuthorizedUpgrade":12},"3":{"Now":31,"DidUpdate":2},"7":{"0":33,"4":31,"5":34,"6":35,"InactiveIssuance":31,"Holds":36,"Freezes":37},"8":{"NextFeeMultiplier":31,"StorageVersion":55},"9":{"AccountCurrencyMap":57,"AcceptedCurrencies":58,"AcceptedCurrencyPrice":58,"TransactionCurrencyOverride":57},"12":{"10":1,"11":66,"Deactivated":31,"Approvals":67,"SpendCount":1,"Spends":68},"13":0,"14":{"StatusFor":90,"RequestStatusFor":91,"PreimageFor":92},"15":{"IdentityOf":97,"SuperOf":98,"SubsOf":99,"Registrars":100,"UsernameAuthorities":101,"AccountOfUsername":102,"PendingUsernames":103},"18":{"16":1,"17":137,"PublicPropCount":1,"PublicProps":130,"DepositOf":131,"LowestUnbaked":1,"ReferendumInfoOf":132,"VotingOf":133,"LastTabledWasExternal":2,"NextExternal":134,"Blacklist":135,"Cancellations":136},"19":{"10":1,"11":161,"ProposalOf":162,"Voting":163,"Members":164,"Prime":165},"20":{"Proxies":176,"Announcements":177},"21":{"Multisigs":188},"22":{"0":199,"Class":197,"OwnershipAcceptance":198,"ClassAccount":200,"Asset":201,"ClassMetadataOf":202,"InstanceMetadataOf":203,"Attribute":204,"ItemPriceOf":205,"CollectionMaxSupply":206},"23":{"MigrationProcess":247,"AutoLimits":248,"SignedMigrationMaxLimits":249},"24":{"VotingFor":258,"ClassLocksFor":259},"25":{"16":1,"17":4,"ReferendumInfoFor":269,"TrackQueue":270,"DecidingCount":271},"26":0,"27":{"WhitelistedCall":281},"28":{"AaveManagerAccount":165,"ExtraGas":31},"30":{"29":288,"NextAssetId":1,"AssetIds":289,"AssetLocations":290,"BannedAssets":291,"LocationAssets":292,"ExistentialDepositCounter":31},"31":{"31":300},"32":{"PreviousChain":303},"33":{"Collators":304},"36":{"29":306,"34":307,"35":31,"HubAssetTradability":1},"37":{"PausedTransactions":332},"38":{"AccountBlacklist":335,"RewardAccount":165,"DustAccount":165},"45":{"39":1,"40":31,"41":337,"42":338,"43":339,"44":340},"46":{"OmniPositionId":345},"47":{"NextOrderId":1,"Orders":373},"48":{"TradeVolumeLimitPerAsset":380,"AllowedTradeVolumeLimitPerAsset":381,"LiquidityAddLimitPerAsset":382,"AllowedAddLiquidityAmountPerAsset":383,"AssetLockdownState":384,"LiquidityRemoveLimitPerAsset":382,"AllowedRemoveLiquidityAmountPerAsset":383},"49":{"Routes":395},"50":{"AssetFee":402,"AssetFeeConfiguration":403},"51":{"34":408,"35":31,"51":407,"Votes":409,"VotesRewarded":410,"PositionVotes":409,"ProcessedVotes":410,"SixSecBlocksSince":1},"52":{"Pools":419,"PoolPegs":420,"AssetTradability":340,"PoolSnapshots":421},"53":{"53":449,"BondIds":448},"54":0,"55":{"PoolData":457,"FeeCollectorWithAsset":458},"56":{"ShareToken":57,"TotalLiquidity":198,"PoolAssets":468},"57":{"ReferralCodes":102,"ReferralAccounts":480,"LinkedAccounts":481,"ReferrerShares":198,"TraderShares":198,"TotalShares":31,"Referrer":482,"AssetRewards":483,"PendingConversions":291,"CounterForPendingConversions":1},"58":{"BorrowingContract":492},"59":{"Collaterals":496,"HollarAmountReceived":58,"FlashMinter":492},"60":{"IsTestnet":2},"61":{"4":58,"5":508,"6":508,"Accounts":509},"62":0,"63":{"VestingSchedules":524},"64":{"AccountCodes":529,"AccountCodesMetadata":530,"AccountStorages":531,"Suicided":532},"65":{"ChainId":31},"66":{"1":543,"Pending":539,"CounterForPending":1,"CurrentBlock":540,"CurrentReceipts":541,"CurrentTransactionStatuses":542},"67":{"AccountExtension":546,"ContractDeployer":532,"ApprovedContract":532},"68":{"BaseFeePerGas":550},"69":0,"70":{"39":1,"40":31,"41":337,"42":570,"43":571,"44":572},"71":0,"72":{"ScheduleIdSequencer":1,"Schedules":574,"ScheduleOwnership":575,"RemainingAmounts":58,"RetriesOnError":271,"ScheduleExecutionBlock":271,"ScheduleIdsPerBlock":576},"73":{"IncompleteSince":1,"Agenda":586,"Retries":587,"Lookup":588},"74":{"UnincludedSegment":602,"AggregatedUnincludedSegment":603,"PendingValidationCode":604,"NewValidationCode":604,"ValidationData":605,"DidSetValidationCode":2,"LastRelayChainBlockNumber":1,"UpgradeRestrictionSignal":606,"UpgradeGoAhead":607,"RelayStateProof":608,"RelevantMessagingState":609,"HostConfiguration":610,"LastDmqMqcHead":6,"LastHrmpMqcHeads":611,"ProcessedDownwardMessages":1,"HrmpWatermark":1,"HrmpOutboundMessages":612,"UpwardMessages":608,"PendingUpwardMessages":608,"UpwardDeliveryFeeFactor":31,"AnnouncedHrmpMessagesPerCandidate":1,"ReservedXcmpWeightOverride":166,"ReservedDmpWeightOverride":166,"CustomValidationHeadData":604},"75":{"ParachainId":1},"76":{"QueryCounter":31,"Queries":619,"AssetTraps":620,"SafeXcmVersion":1,"SupportedVersion":621,"VersionNotifiers":622,"VersionNotifyTargets":623,"VersionDiscoveryQueue":624,"CurrentMigration":625,"RemoteLockedFungibles":626,"LockedFungibles":627,"XcmExecutionSuspended":2,"ShouldRecordXcm":2,"RecordedXcm":628},"77":0,"78":{"InboundXcmpSuspended":67,"OutboundXcmpStatus":658,"OutboundXcmpMessages":659,"SignalMessages":5,"QueueConfig":660,"QueueSuspended":2,"DeliveryFeeFactor":58},"79":{"BookStateFor":662,"ServiceHead":663,"Pages":664},"80":0,"81":0,"82":{"ConcreteFungibleBalances":682,"AbstractFungibleBalances":683},"83":{"Author":165},"84":{"Invulnerables":164,"CandidateList":685,"LastAuthoredBlock":57,"DesiredCandidates":1,"CandidacyBond":31},"85":{"Validators":164,"CurrentIndex":1,"QueuedChanged":2,"QueuedKeys":698,"DisabledValidators":67,"NextKeys":699,"KeyOwner":700},"87":{"86":161,"CurrentSlot":31},"88":{"86":161,"SlotInfo":703},"89":{"Accumulator":704,"Oracles":705,"WhitelistedAssets":706},"90":{"IncrementalId":1,"ExecutionContext":710,"Swapper":165}},"tx":{"2":{"remark":17,"set_heap_pages":18,"set_code":19,"set_code_without_checks":19,"set_storage":20,"kill_storage":21,"kill_prefix":22,"remark_with_event":17,"authorize_upgrade":23,"authorize_upgrade_without_checks":23,"apply_authorized_upgrade":19},"3":{"set":32},"7":{"91":39,"92":38,"93":40,"94":45,"transfer_allow_death":38,"force_unreserve":41,"upgrade_accounts":42,"force_set_balance":43,"force_adjust_total_issuance":44},"8":0,"9":{"set_currency":59,"add_currency":60,"remove_currency":59,"reset_payment_currency":61,"dispatch_permit":62},"12":{"spend_local":70,"remove_approval":71,"spend":72,"payout":73,"check_status":73,"void_spend":73},"13":{"batch":83,"as_derivative":84,"batch_all":83,"dispatch_as":85,"force_batch":83,"with_weight":86},"14":{"note_preimage":93,"unnote_preimage":94,"request_preimage":94,"unrequest_preimage":94,"ensure_updated":95},"15":{"add_registrar":104,"set_identity":105,"set_subs":106,"clear_identity":107,"request_judgement":108,"cancel_request":109,"set_fee":110,"set_account_id":111,"set_fields":112,"provide_judgement":113,"kill_identity":114,"add_sub":115,"rename_sub":115,"remove_sub":116,"quit_sub":107,"add_username_authority":117,"remove_username_authority":118,"set_username_for":119,"accept_username":120,"remove_expired_approval":120,"set_primary_username":120,"remove_dangling_username":120},"18":{"95":138,"96":140,"97":145,"98":107,"99":114,"100":73,"101":146,"102":149,"103":146,"second":139,"emergency_cancel":141,"external_propose":142,"external_propose_majority":142,"external_propose_default":142,"fast_track":143,"veto_external":144,"cancel_referendum":141,"clear_public_proposals":107,"blacklist":147,"cancel_proposal":148},"19":{"95":169,"96":170,"104":168,"set_members":167,"disapprove_proposal":144,"close":171},"20":{"proxy":178,"add_proxy":179,"remove_proxy":179,"remove_proxies":107,"create_pure":180,"kill_pure":181,"announce":182,"remove_announcement":182,"reject_announcement":183,"proxy_announced":184},"21":{"as_multi_threshold_1":189,"as_multi":190,"approve_as_multi":191,"cancel_as_multi":192},"22":{"94":211,"102":223,"105":207,"106":212,"force_create":208,"destroy":209,"mint":210,"redeposit":213,"freeze":214,"thaw":214,"freeze_collection":215,"thaw_collection":215,"transfer_ownership":216,"set_team":217,"approve_transfer":218,"cancel_approval":219,"force_item_status":220,"set_attribute":221,"clear_attribute":222,"clear_metadata":214,"set_collection_metadata":224,"clear_collection_metadata":215,"set_accept_ownership":225,"set_collection_max_supply":226,"set_price":227,"buy_item":228},"23":{"control_auto_migration":250,"continue_migrate":251,"migrate_custom_top":252,"migrate_custom_child":253,"set_signed_max_limits":254,"force_set_progress":255},"24":{"96":260,"97":261,"98":262,"99":263,"100":264,"101":265,"103":265},"25":{"102":275,"107":73,"submit":273,"place_decision_deposit":73,"refund_decision_deposit":73,"kill":73,"nudge_referendum":73,"one_fewer_deciding":274,"refund_submission_deposit":73},"26":0,"27":{"whitelist_call":282,"remove_whitelisted_call":282,"dispatch_whitelisted_call":283,"dispatch_whitelisted_call_with_preimage":284},"28":{"dispatch_as_treasury":284,"dispatch_as_aave_manager":284,"note_aave_manager":104,"dispatch_with_extra_gas":287},"30":{"register":293,"update":294,"register_external":295,"ban_asset":296,"unban_asset":296},"31":{"108":301},"32":0,"33":0,"36":{"109":309,"110":311,"111":314,"112":315,"113":316,"add_token":308,"add_liquidity_with_limit":310,"remove_liquidity_with_limit":312,"sacrifice_position":313,"refund_refused_asset":317,"set_asset_weight_cap":318,"withdraw_protocol_liquidity":319,"remove_token":320},"37":{"pause_transaction":333,"unpause_transaction":333},"38":{"dust_account":336,"add_nondustable_account":104,"remove_nondustable_account":104},"45":0,"46":{"114":347,"115":348,"116":349,"117":350,"118":351,"119":352,"120":353,"121":354,"122":355,"123":356,"124":356,"125":357,"126":358,"127":359,"128":360,"add_liquidity_stableswap_omnipool_and_join_farms":361},"47":{"place_order":374,"partial_fill_order":375,"fill_order":376,"cancel_order":376},"48":{"set_trade_volume_limit":387,"set_add_liquidity_limit":388,"set_remove_liquidity_limit":388,"lockdown_asset":389,"force_lift_lockdown":296,"release_deposit":390},"49":{"111":396,"112":397,"set_route":398,"force_insert_route":398,"sell_all":399},"50":{"set_asset_fee":405,"remove_asset_fee":296},"51":{"108":313,"initialize_staking":107,"stake":411,"increase_stake":311,"unstake":313},"52":{"109":426,"110":433,"111":430,"112":431,"113":432,"129":423,"update_pool_fee":424,"update_amplification":425,"add_liquidity_shares":427,"remove_liquidity_one_asset":428,"withdraw_asset_amount":429,"create_pool_with_pegs":434,"add_assets_liquidity":435,"update_asset_peg_source":436,"update_pool_max_peg_update":437},"53":{"issue":450,"redeem":451},"54":{"settle_otc_order":455},"55":{"109":461,"110":462,"111":463,"112":463,"129":459,"update_pool_data":460},"56":{"109":470,"110":472,"111":474,"112":474,"129":469,"add_liquidity_with_limits":471,"remove_liquidity_with_limits":473},"57":{"123":107,"register_code":19,"link_code":19,"convert":296,"set_reward_percentage":485},"58":{"liquidate":493,"set_borrowing_contract":494},"59":{"111":499,"112":500,"add_collateral_asset":497,"remove_collateral_asset":296,"update_collateral_asset":498,"execute_arbitrage":501,"set_flash_minter":502},"60":0,"61":{"91":512,"92":510,"93":511,"106":510,"set_balance":513},"62":{"106":510,"transfer_native_currency":522,"update_balance":523},"63":{"108":107,"vested_transfer":525,"update_vesting_schedules":526,"claim_for":527},"64":{"105":535,"130":534,"withdraw":533,"create2":536},"65":0,"66":{"transact":544},"67":{"bind_evm_address":107,"add_contract_deployer":547,"remove_contract_deployer":547,"renounce_contract_deployer":107,"approve_contract":547,"disapprove_contract":547},"68":0,"69":{"114":551,"115":348,"116":553,"117":554,"118":555,"119":556,"120":557,"121":558,"122":561,"123":356,"124":562,"125":552,"126":559,"127":560,"128":563},"70":0,"71":0,"72":{"131":577,"terminate":578,"unlock_reserves":390},"73":{"107":590,"131":589,"schedule_named":591,"cancel_named":592,"schedule_after":593,"schedule_named_after":594,"set_retry":595,"set_retry_named":596,"cancel_retry":597,"cancel_retry_named":592},"74":{"set_validation_data":613,"sudo_send_upward_message":614},"75":0,"76":{"104":631,"send":629,"teleport_assets":630,"reserve_transfer_assets":630,"force_xcm_version":632,"force_default_xcm_version":633,"force_subscribe_version_notify":634,"force_unsubscribe_version_notify":634,"limited_reserve_transfer_assets":635,"limited_teleport_assets":635,"force_suspension":636,"transfer_assets":635,"claim_assets":637,"transfer_assets_using_type_and_then":638},"77":0,"78":0,"79":{"reap_page":666,"execute_overweight":667},"80":{"send_as_sovereign":629},"81":{"106":675,"transfer_multiasset":676,"transfer_with_fee":677,"transfer_multiasset_with_fee":678,"transfer_multicurrencies":679,"transfer_multiassets":680},"82":0,"83":0,"84":{"set_invulnerables":686,"set_desired_candidates":687,"set_candidacy_bond":688,"register_as_candidate":107,"leave_intent":107,"add_invulnerable":689,"remove_invulnerable":689,"update_bond":690,"take_candidate_slot":691},"85":{"set_keys":701,"purge_keys":107},"87":0,"88":0,"89":{"add_oracle":707,"remove_oracle":707,"update_bifrost_oracle":708},"90":0},"events":{"2":{"ExtrinsicSuccess":24,"ExtrinsicFailed":25,"CodeUpdated":26,"NewAccount":27,"KilledAccount":27,"Remarked":28,"UpgradeAuthorized":29},"3":0,"7":{"43":50,"132":46,"133":47,"134":48,"135":49,"136":50,"137":50,"138":51,"139":50,"140":50,"141":53,"142":53,"143":50,"144":50,"145":50,"146":50,"Withdraw":50,"Minted":50,"Suspended":50,"Restored":50,"Upgraded":52,"TotalIssuanceForced":54},"8":{"TransactionFeePaid":56},"9":{"CurrencySet":63,"CurrencyAdded":64,"CurrencyRemoved":64,"FeeWithdrawn":65},"12":{"43":78,"Spending":74,"Awarded":75,"Burnt":76,"Rollover":77,"SpendApproved":79,"UpdatedInactive":80,"AssetSpendApproved":81,"AssetSpendVoided":82,"Paid":82,"PaymentFailed":82,"SpendProcessed":82},"13":{"BatchInterrupted":87,"BatchCompleted":26,"BatchCompletedWithErrors":26,"ItemCompleted":26,"ItemFailed":88,"DispatchedAs":89},"14":{"Noted":96,"Requested":96,"Cleared":96},"15":{"IdentitySet":52,"IdentityCleared":121,"IdentityKilled":121,"JudgementRequested":122,"JudgementUnrequested":122,"JudgementGiven":123,"RegistrarAdded":124,"SubIdentityAdded":125,"SubIdentityRemoved":125,"SubIdentityRevoked":125,"AuthorityAdded":126,"AuthorityRemoved":126,"UsernameSet":127,"UsernameQueued":128,"PreapprovalExpired":129,"PrimaryUsernameSet":127,"DanglingUsernameRemoved":127},"18":{"147":150,"148":152,"149":153,"150":27,"151":156,"152":159,"153":159,"Tabled":150,"ExternalTabled":26,"Started":151,"Passed":152,"NotPassed":152,"Vetoed":154,"Blacklisted":155,"Seconded":157,"ProposalCanceled":158,"MetadataTransferred":160},"19":{"147":172,"151":173,"154":155,"155":174,"Disapproved":155,"MemberExecuted":174,"Closed":175},"20":{"ProxyExecuted":89,"PureCreated":185,"Announced":186,"ProxyAdded":187,"ProxyRemoved":187},"21":{"NewMultisig":193,"MultisigApproval":194,"MultisigExecuted":195,"MultisigCancelled":196},"22":{"140":232,"141":232,"145":234,"146":234,"152":239,"153":234,"156":229,"157":233,"ForceCreated":230,"Destroyed":231,"CollectionFrozen":231,"CollectionThawed":231,"OwnerChanged":235,"TeamChanged":236,"ApprovedTransfer":237,"ApprovalCancelled":237,"ItemStatusChanged":231,"CollectionMetadataSet":238,"CollectionMetadataCleared":231,"Redeposited":240,"AttributeSet":241,"AttributeCleared":242,"OwnershipAcceptanceChanged":243,"CollectionMaxSupplySet":244,"ItemPriceSet":245,"ItemPriceRemoved":234,"ItemBought":246},"23":{"139":50,"Migrated":256,"AutoMigrationFinished":26,"Halted":257},"24":{"149":266,"150":267,"151":268,"VoteRemoved":268},"25":{"148":279,"152":280,"153":280,"154":82,"Submitted":276,"DecisionDepositPlaced":277,"DecisionDepositRefunded":277,"DepositSlashed":50,"DecisionStarted":278,"ConfirmStarted":82,"ConfirmAborted":82,"Confirmed":279,"Rejected":279,"TimedOut":279,"Killed":279,"SubmissionDepositRefunded":277},"26":0,"27":{"CallWhitelisted":285,"WhitelistedCallRemoved":285,"WhitelistedCallDispatched":286},"28":{"TreasuryManagerCallDispatched":286,"AaveManagerCallDispatched":286},"30":{"ExistentialDepositPaid":297,"Registered":298,"Updated":298,"LocationSet":299,"AssetBanned":64,"AssetUnbanned":64},"31":{"Claim":302},"32":0,"33":{"CollatorRewarded":305},"36":{"158":323,"159":324,"160":326,"161":326,"162":327,"163":329,"TokenAdded":321,"TokenRemoved":322,"ProtocolLiquidityRemoved":325,"PositionDestroyed":328,"PositionUpdated":327,"AssetRefunded":330,"AssetWeightCapUpdated":331},"37":{"TransactionPaused":334,"TransactionUnpaused":334},"38":{"Dusted":50,"Added":52,"Removed":52},"45":1,"46":{"167":362,"168":363,"169":364,"170":365,"171":366,"172":367,"173":366,"174":367,"175":368,"176":368,"177":369,"178":370,"179":371},"47":{"148":377,"Filled":378,"PartiallyFilled":378,"Placed":379},"48":{"TradeVolumeLimitChanged":391,"AddLiquidityLimitChanged":392,"RemoveLiquidityLimitChanged":392,"AssetLockdown":393,"AssetLockdownRemoved":64,"DepositReleased":394},"49":{"155":400,"RouteUpdated":401},"50":{"AssetFeeConfigSet":406,"AssetFeeConfigRemoved":64},"51":{"162":412,"StakeAdded":413,"RewardsClaimed":414,"Unstaked":415,"StakingInitialized":416,"AccumulatedRpsUpdated":417},"52":{"158":440,"159":441,"160":442,"161":442,"163":443,"180":438,"181":445,"FeeUpdated":439,"AmplificationChanging":444,"PoolPegSourceUpdated":446,"PoolMaxPegUpdateUpdated":447},"53":{"141":453,"TokenCreated":452,"Redeemed":454},"54":{"155":456},"55":{"158":465,"159":465,"160":466,"161":467,"180":464,"PoolUpdated":464},"56":{"158":465,"159":475,"160":478,"161":479,"180":476,"181":477},"57":{"182":489,"CodeRegistered":486,"CodeLinked":487,"Converted":488,"AssetRewardsUpdated":490,"LevelUp":491},"58":{"Liquidated":495},"59":{"CollateralAdded":503,"CollateralRemoved":504,"CollateralUpdated":505,"ArbitrageExecuted":506,"FlashMinterSet":507},"60":0,"61":{"132":514,"133":514,"134":515,"135":517,"136":514,"137":514,"138":516,"139":519,"141":518,"142":518,"143":514,"144":514,"183":514,"184":514,"TotalIssuanceSet":518,"LockSet":520,"LockRemoved":521},"62":{"157":515,"183":514,"184":514,"BalanceUpdated":514},"63":{"182":50,"VestingScheduleAdded":528,"VestingSchedulesUpdated":52},"64":{"155":538,"156":538,"Log":537,"CreatedFailed":538,"ExecutedFailed":538},"65":0,"66":{"155":545},"67":{"Bound":548,"DeployerAdded":549,"DeployerRemoved":549,"ContractApproved":538,"ContractDisapproved":538},"68":0,"69":{"167":564,"168":565,"169":364,"170":566,"171":569,"172":568,"173":569,"174":568,"175":567,"176":567,"177":369,"178":567,"179":371},"70":1,"71":{"CurrentBlockNumbers":573},"72":{"185":580,"ExecutionStarted":579,"ExecutionPlanned":581,"TradeExecuted":582,"TradeFailed":583,"Terminated":583,"Completed":584,"RandomnessGenerationFailed":585,"ReserveUnlocked":394},"73":{"185":598,"Canceled":598,"Dispatched":599,"RetrySet":600,"RetryCancelled":601,"CallUnavailable":601,"PeriodicFailed":601,"RetryFailed":601,"PermanentlyOverweight":601},"74":{"ValidationFunctionStored":26,"ValidationFunctionApplied":615,"ValidationFunctionDiscarded":26,"DownwardMessagesReceived":616,"DownwardMessagesProcessed":617,"UpwardMessageSent":618},"75":0,"76":{"186":640,"Attempted":639,"UnexpectedResponse":641,"ResponseReady":642,"Notified":643,"NotifyOverweight":644,"NotifyDispatchError":643,"NotifyDecodeFailed":643,"InvalidResponder":645,"InvalidResponderVersion":641,"ResponseTaken":646,"AssetsTrapped":647,"VersionChangeNotified":648,"SupportedVersionChanged":649,"NotifyTargetSendFail":650,"NotifyTargetMigrationFail":651,"InvalidQuerierVersion":641,"InvalidQuerier":652,"VersionNotifyStarted":653,"VersionNotifyRequested":653,"VersionNotifyUnrequested":653,"FeesPaid":654,"AssetsClaimed":647,"VersionMigrationFinished":655},"77":{"InvalidFormat":656,"UnsupportedVersion":656,"ExecutedDownward":657},"78":{"XcmpMessageSent":661},"79":{"ProcessingFailed":668,"Processed":669,"OverweightEnqueued":670,"PageReaped":671},"80":{"186":672},"81":{"TransferredAssets":681},"82":{"183":684,"184":684},"83":0,"84":{"NewInvulnerables":692,"InvulnerableAdded":693,"InvulnerableRemoved":693,"NewDesiredCandidates":694,"NewCandidacyBond":695,"CandidateAdded":696,"CandidateBondUpdated":696,"CandidateRemoved":693,"CandidateReplaced":697,"InvalidInvulnerableSkipped":693},"85":{"NewSession":702},"87":0,"88":0,"89":{"AddedToWhitelist":709,"RemovedFromWhitelist":709},"90":{"Swapped3":711}},"constants":{"2":{"BlockWeights":13,"BlockLength":14,"BlockHashCount":1,"DbWeight":15,"Version":16,"SS58Prefix":1},"3":{"MinimumPeriod":31},"7":{"187":1,"188":1,"ExistentialDeposit":31,"MaxFreezes":1},"8":{"OperationalFeeMultiplier":1},"9":{"189":1,"190":1,"EvmAssetId":1},"12":{"191":69,"SpendPeriod":1,"Burn":1,"MaxApprovals":1,"PayoutPeriod":1},"13":{"batched_calls_limit":1},"14":0,"15":{"BasicDeposit":31,"ByteDeposit":31,"SubAccountDeposit":31,"MaxSubAccounts":1,"MaxRegistrars":1,"PendingUsernameExpiration":1,"MaxSuffixLength":1,"MaxUsernameLength":1},"18":{"192":1,"193":1,"EnactmentPeriod":1,"LaunchPeriod":1,"VotingPeriod":1,"MinimumDeposit":31,"InstantAllowed":2,"FastTrackVotingPeriod":1,"CooloffPeriod":1,"MaxProposals":1,"MaxDeposits":1,"MaxBlacklisted":1},"19":{"MaxProposalWeight":166},"20":{"ProxyDepositBase":31,"ProxyDepositFactor":31,"MaxProxies":1,"MaxPending":1,"AnnouncementDepositBase":31,"AnnouncementDepositFactor":31},"21":{"DepositBase":31,"DepositFactor":31,"MaxSignatories":1},"22":{"194":1,"CollectionDeposit":31,"ItemDeposit":31,"MetadataDepositBase":31,"AttributeDepositBase":31,"DepositPerByte":31,"KeyLimit":1,"ValueLimit":1},"23":{"MaxKeyLen":1},"24":{"192":1,"193":1},"25":{"SubmissionDeposit":31,"MaxQueued":1,"UndecidingTimeout":1,"AlarmInterval":1,"Tracks":272},"26":0,"27":0,"28":0,"30":{"194":1,"SequentialIdStartAt":1,"MinStringLimit":1,"RegExternalWeightMultiplier":31},"31":0,"32":0,"33":{"RewardPerCollator":31,"RewardCurrencyId":1,"RewardsBag":165},"36":{"195":31,"196":31,"197":31,"198":31,"HdxAssetId":1,"HubAssetId":1,"MinWithdrawalFee":1,"MinimumPoolLiquidity":31,"BurnProtocolFee":1},"37":0,"38":{"199":165,"Reward":31,"NativeCurrencyId":1},"45":2,"46":3,"47":{"206":165,"ExistentialDepositMultiplier":1,"Fee":1},"48":{"DefaultMaxNetTradeVolumeLimitPerBlock":385,"DefaultMaxAddLiquidityLimitPerBlock":386,"DefaultMaxRemoveLiquidityLimitPerBlock":386},"49":{"189":1,"205":346},"50":{"AssetFeeParameters":404,"ProtocolFeeParameters":404},"51":{"189":1,"191":69,"193":1,"198":31,"PeriodLength":1,"MinStake":31,"TimePointsWeight":1,"ActionPointsWeight":1,"TimePointsPerPeriod":1,"UnclaimablePeriods":31,"CurrentStakeWeight":1},"52":{"207":31,"208":31,"AmplificationRange":422},"53":{"191":69,"206":165,"ProtocolFee":1},"54":{"208":31,"209":165,"MinProfitPercentage":1,"PricePrecision":31,"MaxIterations":1},"55":{"196":31,"197":31,"207":31,"208":31,"repay_fee":385},"56":{"189":1,"196":31,"197":31,"204":69,"207":31,"208":31,"GetExchangeFee":385},"57":{"191":69,"RewardAsset":1,"RegistrationFee":484,"CodeLength":1,"MinCodeLength":1,"SeedNativeAmount":31},"58":{"209":165,"210":31,"211":1},"59":{"191":69,"210":31,"211":1},"60":0,"61":{"187":1,"188":1},"62":{"ReserveAccount":165,"GetNativeCurrencyId":1},"63":{"MinVestedTransfer":31},"64":0,"65":0,"66":0,"67":{"FeeMultiplier":1},"68":{"WethAssetId":1},"69":3,"70":2,"71":0,"72":{"189":1,"190":1,"195":31,"206":165,"MaxPriceDifferenceBetweenBlocks":1,"MaxConfigurablePriceDifferenceBetweenBlocks":1,"MaxSchedulePerBlock":1,"MaxNumberOfRetriesOnError":1,"MinimalPeriod":1,"BumpChance":1,"MinBudgetInNativeCurrency":31,"NamedReserveId":69},"73":{"MaximumWeight":166,"MaxScheduledPerBlock":1},"74":{"SelfParaId":1},"75":0,"76":0,"77":0,"78":{"MaxInboundSuspended":1,"MaxActiveOutboundChannels":1,"MaxPageSize":1},"79":{"HeapSize":1,"MaxStale":1,"ServiceWeight":665,"IdleMaxServiceWeight":665},"80":0,"81":{"SelfLocation":673,"BaseXcmWeight":166,"RateLimiterId":674},"82":0,"83":0,"84":0,"85":0,"87":{"SlotDuration":31},"88":0,"89":{"MaxAllowedPriceDifference":1,"MaxUniqueEntries":1},"90":0},"viewFns":{"2":0,"3":0,"7":0,"8":0,"9":0,"12":0,"13":0,"14":0,"15":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"30":0,"31":0,"32":0,"33":0,"36":0,"37":0,"38":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"87":0,"88":0,"89":0,"90":0},"apis":{"Core":{"version":712,"execute_block":713,"initialize_block":714},"Metadata":{"metadata":715,"metadata_at_version":716,"metadata_versions":717},"BlockBuilder":{"apply_extrinsic":718,"finalize_block":719,"inherent_extrinsics":720,"check_inherents":721},"TaggedTransactionQueue":{"validate_transaction":722},"OffchainWorkerApi":{"offchain_worker":723},"SessionKeys":{"generate_session_keys":724,"decode_session_keys":725},"AuraApi":{"slot_duration":726,"authorities":727},"CollectCollationInfo":{"collect_collation_info":728},"CurrenciesApi":{"account":729,"accounts":730,"free_balance":731},"AccountNonceApi":{"account_nonce":732},"TransactionPaymentApi":{"query_info":733,"query_fee_details":734,"query_weight_to_fee":735,"query_length_to_fee":736},"EthereumRuntimeRPCApi":{"105":743,"130":742,"chain_id":726,"account_basic":737,"gas_price":738,"account_code_at":739,"author":740,"storage_at":741,"current_block":744,"current_receipts":745,"current_transaction_statuses":746,"current_all":747,"extrinsic_filter":748,"elasticity":749,"gas_limit_multiplier_support":750,"pending_block":751,"initialize_pending_block":723},"ConvertTransactionRuntimeApi":{"convert_transaction":752},"EvmAccountsApi":{"evm_address":753,"bound_account_id":754,"account_id":755},"Erc20MappingApi":{"asset_address":756,"address_to_asset":757},"XcmPaymentApi":{"query_acceptable_payment_assets":758,"query_xcm_weight":759,"query_weight_to_asset_fee":760,"query_delivery_fees":761},"AuraUnincludedSegmentApi":{"can_build_upon":762},"DryRunApi":{"dry_run_call":763,"dry_run_xcm":764},"LocationToAccountApi":{"convert_location":765},"ChainlinkAdapterApi":{"encode_oracle_address":766,"decode_oracle_address":767},"AaveTradeExecutor":{"pairs":768,"liquidity_depth":769,"pool":770,"pools":771},"GenesisBuilder":{"build_state":772,"get_preset":773,"preset_names":774}}}},[{},{"164":341,"165":342,"166":343},{"191":69,"199":165,"200":31,"201":1,"202":1,"203":1},{"198":31,"204":69,"205":346}],["Account","BlockHash","System","Timestamp","TotalIssuance","Locks","Reserves","Balances","TransactionPayment","MultiTransactionPayment","ProposalCount","Proposals","Treasury","Utility","Preimage","Identity","ReferendumCount","MetadataOf","Democracy","TechnicalCommittee","Proxy","Multisig","Uniques","StateTrieMigration","ConvictionVoting","Referenda","Origins","Whitelist","Dispatcher","Assets","AssetRegistry","Claims","GenesisHistory","CollatorRewards","Positions","NextPositionId","Omnipool","TransactionPause","Duster","FarmSequencer","DepositSequencer","GlobalFarm","YieldFarm","Deposit","ActiveYieldFarm","OmnipoolWarehouseLM","OmnipoolLiquidityMining","OTC","CircuitBreaker","Router","DynamicFees","Staking","Stableswap","Bonds","OtcSettlements","LBP","XYK","Referrals","Liquidation","HSM","Parameters","Tokens","Currencies","Vesting","EVM","EVMChainId","Ethereum","EVMAccounts","DynamicEvmFee","XYKLiquidityMining","XYKWarehouseLM","RelayChainInfo","DCA","Scheduler","ParachainSystem","ParachainInfo","PolkadotXcm","CumulusXcm","XcmpQueue","MessageQueue","OrmlXcm","XTokens","UnknownTokens","Authorship","CollatorSelection","Session","Authorities","Aura","AuraExt","EmaOracle","Broadcast","force_transfer","transfer_keep_alive","transfer_all","burn","propose","vote","delegate","undelegate","unlock","remove_vote","remove_other_vote","set_metadata","force_remove_vote","execute","create","transfer","cancel","claim","add_liquidity","remove_liquidity","sell","buy","set_asset_tradable_state","create_global_farm","terminate_global_farm","create_yield_farm","update_yield_farm","stop_yield_farm","resume_yield_farm","terminate_yield_farm","deposit_shares","redeposit_shares","claim_rewards","withdraw_shares","update_global_farm","join_farms","add_liquidity_and_join_farms","exit_farms","create_pool","call","schedule","Endowed","DustLost","Transfer","BalanceSet","Reserved","Unreserved","ReserveRepatriated","Slashed","Burned","Issued","Rescinded","Locked","Unlocked","Frozen","Thawed","Proposed","Cancelled","Delegated","Undelegated","Voted","MetadataSet","MetadataCleared","Approved","Executed","Created","Transferred","LiquidityAdded","LiquidityRemoved","SellExecuted","BuyExecuted","PositionCreated","TradableStateUpdated","GlobalFarmAccRPZUpdated","YieldFarmAccRPVSUpdated","AllRewardsDistributed","GlobalFarmCreated","GlobalFarmUpdated","GlobalFarmTerminated","YieldFarmCreated","YieldFarmUpdated","YieldFarmStopped","YieldFarmResumed","YieldFarmTerminated","SharesDeposited","SharesRedeposited","RewardClaimed","SharesWithdrawn","DepositDestroyed","PoolCreated","PoolDestroyed","Claimed","Withdrawn","Deposited","Scheduled","Sent","MaxLocks","MaxReserves","NativeAssetId","PolkadotNativeAssetId","PalletId","VoteLockingPeriod","MaxVotes","StringLimit","MinimumTradingLimit","MaxInRatio","MaxOutRatio","NFTCollectionId","TreasuryAccountId","MinTotalFarmRewards","MinPlannedYieldingPeriods","MaxFarmEntriesPerDeposit","MaxYieldFarmsPerGlobalFarm","OracleSource","OraclePeriod","FeeReceiver","MinPoolLiquidity","MinTradingLimit","ProfitReceiver","GasLimit","HollarId"]]`);
32
+ [minified, commonTrees, tokens] = JSON.parse(`[{"hydration":{"storage":{"2":{"0":0,"1":4,"ExtrinsicCount":1,"InherentsApplied":2,"BlockWeight":3,"AllExtrinsicsLen":1,"ExtrinsicData":5,"Number":1,"ParentHash":6,"Digest":7,"Events":8,"EventCount":1,"EventTopics":9,"LastRuntimeUpgrade":10,"UpgradedToU32RefCount":2,"UpgradedToTripleRefCount":2,"ExecutionPhase":11,"AuthorizedUpgrade":12},"3":{"Now":31,"DidUpdate":2},"7":{"0":33,"4":31,"5":34,"6":35,"InactiveIssuance":31,"Holds":36,"Freezes":37},"8":{"NextFeeMultiplier":31,"StorageVersion":55},"9":{"AccountCurrencyMap":57,"AcceptedCurrencies":58,"AcceptedCurrencyPrice":58,"TransactionCurrencyOverride":57},"12":{"10":1,"11":66,"Deactivated":31,"Approvals":67,"SpendCount":1,"Spends":68},"13":0,"14":{"StatusFor":90,"RequestStatusFor":91,"PreimageFor":92},"15":{"IdentityOf":97,"SuperOf":98,"SubsOf":99,"Registrars":100,"UsernameAuthorities":101,"AccountOfUsername":102,"PendingUsernames":103},"18":{"16":1,"17":137,"PublicPropCount":1,"PublicProps":130,"DepositOf":131,"LowestUnbaked":1,"ReferendumInfoOf":132,"VotingOf":133,"LastTabledWasExternal":2,"NextExternal":134,"Blacklist":135,"Cancellations":136},"19":{"10":1,"11":161,"ProposalOf":162,"Voting":163,"Members":164,"Prime":165},"20":{"Proxies":176,"Announcements":177},"21":{"Multisigs":188},"22":{"0":199,"Class":197,"OwnershipAcceptance":198,"ClassAccount":200,"Asset":201,"ClassMetadataOf":202,"InstanceMetadataOf":203,"Attribute":204,"ItemPriceOf":205,"CollectionMaxSupply":206},"23":{"MigrationProcess":247,"AutoLimits":248,"SignedMigrationMaxLimits":249},"24":{"VotingFor":258,"ClassLocksFor":259},"25":{"16":1,"17":4,"ReferendumInfoFor":269,"TrackQueue":270,"DecidingCount":271},"26":0,"27":{"WhitelistedCall":281},"28":{"AaveManagerAccount":165,"ExtraGas":31,"LastEvmCallExitReason":287},"30":{"29":289,"NextAssetId":1,"AssetIds":290,"AssetLocations":291,"BannedAssets":292,"LocationAssets":293,"ExistentialDepositCounter":31},"31":{"31":301},"32":{"PreviousChain":304},"33":{"Collators":305},"36":{"29":307,"34":308,"35":31,"HubAssetTradability":1},"37":{"PausedTransactions":333},"38":{"AccountBlacklist":336,"RewardAccount":165,"DustAccount":165},"45":{"39":1,"40":31,"41":338,"42":339,"43":340,"44":341},"46":{"OmniPositionId":346},"47":{"NextOrderId":1,"Orders":374},"48":{"TradeVolumeLimitPerAsset":381,"AllowedTradeVolumeLimitPerAsset":382,"LiquidityAddLimitPerAsset":383,"AllowedAddLiquidityAmountPerAsset":384,"AssetLockdownState":385,"LiquidityRemoveLimitPerAsset":383,"AllowedRemoveLiquidityAmountPerAsset":384},"49":{"Routes":396},"50":{"AssetFee":403,"AssetFeeConfiguration":404},"51":{"34":409,"35":31,"51":408,"Votes":410,"VotesRewarded":411,"PositionVotes":410,"ProcessedVotes":411,"SixSecBlocksSince":1},"52":{"Pools":420,"PoolPegs":421,"AssetTradability":341,"PoolSnapshots":422},"53":{"53":450,"BondIds":449},"54":0,"55":{"PoolData":458,"FeeCollectorWithAsset":459},"56":{"ShareToken":57,"TotalLiquidity":198,"PoolAssets":469},"57":{"ReferralCodes":102,"ReferralAccounts":481,"LinkedAccounts":482,"ReferrerShares":198,"TraderShares":198,"TotalShares":31,"Referrer":483,"AssetRewards":484,"PendingConversions":292,"CounterForPendingConversions":1},"58":{"BorrowingContract":493},"59":{"Collaterals":497,"HollarAmountReceived":58,"FlashMinter":493},"60":{"IsTestnet":2},"61":{"4":58,"5":508,"6":508,"Accounts":509},"62":0,"63":{"VestingSchedules":524},"64":{"AccountCodes":529,"AccountCodesMetadata":530,"AccountStorages":531,"Suicided":532},"65":{"ChainId":31},"66":{"1":543,"Pending":539,"CounterForPending":1,"CurrentBlock":540,"CurrentReceipts":541,"CurrentTransactionStatuses":542},"67":{"AccountExtension":546,"ContractDeployer":532,"ApprovedContract":532},"68":{"BaseFeePerGas":550},"69":0,"70":{"39":1,"40":31,"41":338,"42":570,"43":571,"44":572},"71":0,"72":{"ScheduleIdSequencer":1,"Schedules":574,"ScheduleOwnership":575,"RemainingAmounts":58,"RetriesOnError":271,"ScheduleExecutionBlock":271,"ScheduleIdsPerBlock":576},"73":{"IncompleteSince":1,"Agenda":586,"Retries":587,"Lookup":588},"74":{"UnincludedSegment":602,"AggregatedUnincludedSegment":603,"PendingValidationCode":604,"NewValidationCode":604,"ValidationData":605,"DidSetValidationCode":2,"LastRelayChainBlockNumber":1,"UpgradeRestrictionSignal":606,"UpgradeGoAhead":607,"RelayStateProof":608,"RelevantMessagingState":609,"HostConfiguration":610,"LastDmqMqcHead":6,"LastHrmpMqcHeads":611,"ProcessedDownwardMessages":1,"HrmpWatermark":1,"HrmpOutboundMessages":612,"UpwardMessages":608,"PendingUpwardMessages":608,"UpwardDeliveryFeeFactor":31,"AnnouncedHrmpMessagesPerCandidate":1,"ReservedXcmpWeightOverride":166,"ReservedDmpWeightOverride":166,"CustomValidationHeadData":604},"75":{"ParachainId":1},"76":{"QueryCounter":31,"Queries":619,"AssetTraps":620,"SafeXcmVersion":1,"SupportedVersion":621,"VersionNotifiers":622,"VersionNotifyTargets":623,"VersionDiscoveryQueue":624,"CurrentMigration":625,"RemoteLockedFungibles":626,"LockedFungibles":627,"XcmExecutionSuspended":2,"ShouldRecordXcm":2,"RecordedXcm":628},"77":0,"78":{"InboundXcmpSuspended":67,"OutboundXcmpStatus":658,"OutboundXcmpMessages":659,"SignalMessages":5,"QueueConfig":660,"QueueSuspended":2,"DeliveryFeeFactor":58},"79":{"BookStateFor":662,"ServiceHead":663,"Pages":664},"80":0,"81":0,"82":{"ConcreteFungibleBalances":682,"AbstractFungibleBalances":683},"83":{"Author":165},"84":{"Invulnerables":164,"CandidateList":685,"LastAuthoredBlock":57,"DesiredCandidates":1,"CandidacyBond":31},"85":{"Validators":164,"CurrentIndex":1,"QueuedChanged":2,"QueuedKeys":698,"DisabledValidators":67,"NextKeys":699,"KeyOwner":700},"87":{"86":161,"CurrentSlot":31},"88":{"86":161,"SlotInfo":703},"89":{"Accumulator":704,"Oracles":705,"WhitelistedAssets":706},"90":{"IncrementalId":1,"ExecutionContext":710,"Swapper":165}},"tx":{"2":{"remark":17,"set_heap_pages":18,"set_code":19,"set_code_without_checks":19,"set_storage":20,"kill_storage":21,"kill_prefix":22,"remark_with_event":17,"authorize_upgrade":23,"authorize_upgrade_without_checks":23,"apply_authorized_upgrade":19},"3":{"set":32},"7":{"91":39,"92":38,"93":40,"94":45,"transfer_allow_death":38,"force_unreserve":41,"upgrade_accounts":42,"force_set_balance":43,"force_adjust_total_issuance":44},"8":0,"9":{"set_currency":59,"add_currency":60,"remove_currency":59,"reset_payment_currency":61,"dispatch_permit":62},"12":{"spend_local":70,"remove_approval":71,"spend":72,"payout":73,"check_status":73,"void_spend":73},"13":{"batch":83,"as_derivative":84,"batch_all":83,"dispatch_as":85,"force_batch":83,"with_weight":86},"14":{"note_preimage":93,"unnote_preimage":94,"request_preimage":94,"unrequest_preimage":94,"ensure_updated":95},"15":{"add_registrar":104,"set_identity":105,"set_subs":106,"clear_identity":107,"request_judgement":108,"cancel_request":109,"set_fee":110,"set_account_id":111,"set_fields":112,"provide_judgement":113,"kill_identity":114,"add_sub":115,"rename_sub":115,"remove_sub":116,"quit_sub":107,"add_username_authority":117,"remove_username_authority":118,"set_username_for":119,"accept_username":120,"remove_expired_approval":120,"set_primary_username":120,"remove_dangling_username":120},"18":{"95":138,"96":140,"97":145,"98":107,"99":114,"100":73,"101":146,"102":149,"103":146,"second":139,"emergency_cancel":141,"external_propose":142,"external_propose_majority":142,"external_propose_default":142,"fast_track":143,"veto_external":144,"cancel_referendum":141,"clear_public_proposals":107,"blacklist":147,"cancel_proposal":148},"19":{"95":169,"96":170,"104":168,"set_members":167,"disapprove_proposal":144,"close":171},"20":{"proxy":178,"add_proxy":179,"remove_proxy":179,"remove_proxies":107,"create_pure":180,"kill_pure":181,"announce":182,"remove_announcement":182,"reject_announcement":183,"proxy_announced":184},"21":{"as_multi_threshold_1":189,"as_multi":190,"approve_as_multi":191,"cancel_as_multi":192},"22":{"94":211,"102":223,"105":207,"106":212,"force_create":208,"destroy":209,"mint":210,"redeposit":213,"freeze":214,"thaw":214,"freeze_collection":215,"thaw_collection":215,"transfer_ownership":216,"set_team":217,"approve_transfer":218,"cancel_approval":219,"force_item_status":220,"set_attribute":221,"clear_attribute":222,"clear_metadata":214,"set_collection_metadata":224,"clear_collection_metadata":215,"set_accept_ownership":225,"set_collection_max_supply":226,"set_price":227,"buy_item":228},"23":{"control_auto_migration":250,"continue_migrate":251,"migrate_custom_top":252,"migrate_custom_child":253,"set_signed_max_limits":254,"force_set_progress":255},"24":{"96":260,"97":261,"98":262,"99":263,"100":264,"101":265,"103":265},"25":{"102":275,"107":73,"submit":273,"place_decision_deposit":73,"refund_decision_deposit":73,"kill":73,"nudge_referendum":73,"one_fewer_deciding":274,"refund_submission_deposit":73},"26":0,"27":{"whitelist_call":282,"remove_whitelisted_call":282,"dispatch_whitelisted_call":283,"dispatch_whitelisted_call_with_preimage":284},"28":{"dispatch_as_treasury":284,"dispatch_as_aave_manager":284,"note_aave_manager":104,"dispatch_with_extra_gas":288,"dispatch_evm_call":284},"30":{"register":294,"update":295,"register_external":296,"ban_asset":297,"unban_asset":297},"31":{"108":302},"32":0,"33":0,"36":{"109":310,"110":312,"111":315,"112":316,"113":317,"add_token":309,"add_liquidity_with_limit":311,"remove_liquidity_with_limit":313,"sacrifice_position":314,"refund_refused_asset":318,"set_asset_weight_cap":319,"withdraw_protocol_liquidity":320,"remove_token":321},"37":{"pause_transaction":334,"unpause_transaction":334},"38":{"dust_account":337,"add_nondustable_account":104,"remove_nondustable_account":104},"45":0,"46":{"114":348,"115":349,"116":350,"117":351,"118":352,"119":353,"120":354,"121":355,"122":356,"123":357,"124":357,"125":358,"126":359,"127":360,"128":361,"add_liquidity_stableswap_omnipool_and_join_farms":362},"47":{"place_order":375,"partial_fill_order":376,"fill_order":377,"cancel_order":377},"48":{"set_trade_volume_limit":388,"set_add_liquidity_limit":389,"set_remove_liquidity_limit":389,"lockdown_asset":390,"force_lift_lockdown":297,"release_deposit":391},"49":{"111":397,"112":398,"set_route":399,"force_insert_route":399,"sell_all":400},"50":{"set_asset_fee":406,"remove_asset_fee":297},"51":{"108":314,"initialize_staking":107,"stake":412,"increase_stake":312,"unstake":314},"52":{"109":427,"110":434,"111":431,"112":432,"113":433,"129":424,"update_pool_fee":425,"update_amplification":426,"add_liquidity_shares":428,"remove_liquidity_one_asset":429,"withdraw_asset_amount":430,"create_pool_with_pegs":435,"add_assets_liquidity":436,"update_asset_peg_source":437,"update_pool_max_peg_update":438},"53":{"issue":451,"redeem":452},"54":{"settle_otc_order":456},"55":{"109":462,"110":463,"111":464,"112":464,"129":460,"update_pool_data":461},"56":{"109":471,"110":473,"111":475,"112":475,"129":470,"add_liquidity_with_limits":472,"remove_liquidity_with_limits":474},"57":{"123":107,"register_code":19,"link_code":19,"convert":297,"set_reward_percentage":486},"58":{"liquidate":494,"set_borrowing_contract":495},"59":{"111":500,"112":501,"add_collateral_asset":498,"remove_collateral_asset":297,"update_collateral_asset":499,"execute_arbitrage":502,"set_flash_minter":503},"60":0,"61":{"91":512,"92":510,"93":511,"106":510,"set_balance":513},"62":{"106":510,"transfer_native_currency":522,"update_balance":523},"63":{"108":107,"vested_transfer":525,"update_vesting_schedules":526,"claim_for":527},"64":{"105":535,"130":534,"withdraw":533,"create2":536},"65":0,"66":{"transact":544},"67":{"bind_evm_address":107,"add_contract_deployer":547,"remove_contract_deployer":547,"renounce_contract_deployer":107,"approve_contract":547,"disapprove_contract":547},"68":0,"69":{"114":551,"115":349,"116":553,"117":554,"118":555,"119":556,"120":557,"121":558,"122":561,"123":357,"124":562,"125":552,"126":559,"127":560,"128":563},"70":0,"71":0,"72":{"131":577,"terminate":578,"unlock_reserves":391},"73":{"107":590,"131":589,"schedule_named":591,"cancel_named":592,"schedule_after":593,"schedule_named_after":594,"set_retry":595,"set_retry_named":596,"cancel_retry":597,"cancel_retry_named":592},"74":{"set_validation_data":613,"sudo_send_upward_message":614},"75":0,"76":{"104":631,"send":629,"teleport_assets":630,"reserve_transfer_assets":630,"force_xcm_version":632,"force_default_xcm_version":633,"force_subscribe_version_notify":634,"force_unsubscribe_version_notify":634,"limited_reserve_transfer_assets":635,"limited_teleport_assets":635,"force_suspension":636,"transfer_assets":635,"claim_assets":637,"transfer_assets_using_type_and_then":638},"77":0,"78":0,"79":{"reap_page":666,"execute_overweight":667},"80":{"send_as_sovereign":629},"81":{"106":675,"transfer_multiasset":676,"transfer_with_fee":677,"transfer_multiasset_with_fee":678,"transfer_multicurrencies":679,"transfer_multiassets":680},"82":0,"83":0,"84":{"set_invulnerables":686,"set_desired_candidates":687,"set_candidacy_bond":688,"register_as_candidate":107,"leave_intent":107,"add_invulnerable":689,"remove_invulnerable":689,"update_bond":690,"take_candidate_slot":691},"85":{"set_keys":701,"purge_keys":107},"87":0,"88":0,"89":{"add_oracle":707,"remove_oracle":707,"update_bifrost_oracle":708},"90":0},"events":{"2":{"ExtrinsicSuccess":24,"ExtrinsicFailed":25,"CodeUpdated":26,"NewAccount":27,"KilledAccount":27,"Remarked":28,"UpgradeAuthorized":29},"3":0,"7":{"43":50,"132":46,"133":47,"134":48,"135":49,"136":50,"137":50,"138":51,"139":50,"140":50,"141":53,"142":53,"143":50,"144":50,"145":50,"146":50,"Withdraw":50,"Minted":50,"Suspended":50,"Restored":50,"Upgraded":52,"TotalIssuanceForced":54},"8":{"TransactionFeePaid":56},"9":{"CurrencySet":63,"CurrencyAdded":64,"CurrencyRemoved":64,"FeeWithdrawn":65},"12":{"43":78,"Spending":74,"Awarded":75,"Burnt":76,"Rollover":77,"SpendApproved":79,"UpdatedInactive":80,"AssetSpendApproved":81,"AssetSpendVoided":82,"Paid":82,"PaymentFailed":82,"SpendProcessed":82},"13":{"BatchInterrupted":87,"BatchCompleted":26,"BatchCompletedWithErrors":26,"ItemCompleted":26,"ItemFailed":88,"DispatchedAs":89},"14":{"Noted":96,"Requested":96,"Cleared":96},"15":{"IdentitySet":52,"IdentityCleared":121,"IdentityKilled":121,"JudgementRequested":122,"JudgementUnrequested":122,"JudgementGiven":123,"RegistrarAdded":124,"SubIdentityAdded":125,"SubIdentityRemoved":125,"SubIdentityRevoked":125,"AuthorityAdded":126,"AuthorityRemoved":126,"UsernameSet":127,"UsernameQueued":128,"PreapprovalExpired":129,"PrimaryUsernameSet":127,"DanglingUsernameRemoved":127},"18":{"147":150,"148":152,"149":153,"150":27,"151":156,"152":159,"153":159,"Tabled":150,"ExternalTabled":26,"Started":151,"Passed":152,"NotPassed":152,"Vetoed":154,"Blacklisted":155,"Seconded":157,"ProposalCanceled":158,"MetadataTransferred":160},"19":{"147":172,"151":173,"154":155,"155":174,"Disapproved":155,"MemberExecuted":174,"Closed":175},"20":{"ProxyExecuted":89,"PureCreated":185,"Announced":186,"ProxyAdded":187,"ProxyRemoved":187},"21":{"NewMultisig":193,"MultisigApproval":194,"MultisigExecuted":195,"MultisigCancelled":196},"22":{"140":232,"141":232,"145":234,"146":234,"152":239,"153":234,"156":229,"157":233,"ForceCreated":230,"Destroyed":231,"CollectionFrozen":231,"CollectionThawed":231,"OwnerChanged":235,"TeamChanged":236,"ApprovedTransfer":237,"ApprovalCancelled":237,"ItemStatusChanged":231,"CollectionMetadataSet":238,"CollectionMetadataCleared":231,"Redeposited":240,"AttributeSet":241,"AttributeCleared":242,"OwnershipAcceptanceChanged":243,"CollectionMaxSupplySet":244,"ItemPriceSet":245,"ItemPriceRemoved":234,"ItemBought":246},"23":{"139":50,"Migrated":256,"AutoMigrationFinished":26,"Halted":257},"24":{"149":266,"150":267,"151":268,"VoteRemoved":268},"25":{"148":279,"152":280,"153":280,"154":82,"Submitted":276,"DecisionDepositPlaced":277,"DecisionDepositRefunded":277,"DepositSlashed":50,"DecisionStarted":278,"ConfirmStarted":82,"ConfirmAborted":82,"Confirmed":279,"Rejected":279,"TimedOut":279,"Killed":279,"SubmissionDepositRefunded":277},"26":0,"27":{"CallWhitelisted":285,"WhitelistedCallRemoved":285,"WhitelistedCallDispatched":286},"28":{"TreasuryManagerCallDispatched":286,"AaveManagerCallDispatched":286},"30":{"ExistentialDepositPaid":298,"Registered":299,"Updated":299,"LocationSet":300,"AssetBanned":64,"AssetUnbanned":64},"31":{"Claim":303},"32":0,"33":{"CollatorRewarded":306},"36":{"158":324,"159":325,"160":327,"161":327,"162":328,"163":330,"TokenAdded":322,"TokenRemoved":323,"ProtocolLiquidityRemoved":326,"PositionDestroyed":329,"PositionUpdated":328,"AssetRefunded":331,"AssetWeightCapUpdated":332},"37":{"TransactionPaused":335,"TransactionUnpaused":335},"38":{"Dusted":50,"Added":52,"Removed":52},"45":1,"46":{"167":363,"168":364,"169":365,"170":366,"171":367,"172":368,"173":367,"174":368,"175":369,"176":369,"177":370,"178":371,"179":372},"47":{"148":378,"Filled":379,"PartiallyFilled":379,"Placed":380},"48":{"TradeVolumeLimitChanged":392,"AddLiquidityLimitChanged":393,"RemoveLiquidityLimitChanged":393,"AssetLockdown":394,"AssetLockdownRemoved":64,"DepositReleased":395},"49":{"155":401,"RouteUpdated":402},"50":{"AssetFeeConfigSet":407,"AssetFeeConfigRemoved":64},"51":{"162":413,"StakeAdded":414,"RewardsClaimed":415,"Unstaked":416,"StakingInitialized":417,"AccumulatedRpsUpdated":418},"52":{"158":441,"159":442,"160":443,"161":443,"163":444,"180":439,"181":446,"FeeUpdated":440,"AmplificationChanging":445,"PoolPegSourceUpdated":447,"PoolMaxPegUpdateUpdated":448},"53":{"141":454,"TokenCreated":453,"Redeemed":455},"54":{"155":457},"55":{"158":466,"159":466,"160":467,"161":468,"180":465,"PoolUpdated":465},"56":{"158":466,"159":476,"160":479,"161":480,"180":477,"181":478},"57":{"182":490,"CodeRegistered":487,"CodeLinked":488,"Converted":489,"AssetRewardsUpdated":491,"LevelUp":492},"58":{"Liquidated":496},"59":{"CollateralAdded":504,"CollateralRemoved":64,"CollateralUpdated":505,"ArbitrageExecuted":506,"FlashMinterSet":507},"60":0,"61":{"132":514,"133":514,"134":515,"135":517,"136":514,"137":514,"138":516,"139":519,"141":518,"142":518,"143":514,"144":514,"183":514,"184":514,"TotalIssuanceSet":518,"LockSet":520,"LockRemoved":521},"62":{"157":515,"183":514,"184":514,"BalanceUpdated":514},"63":{"182":50,"VestingScheduleAdded":528,"VestingSchedulesUpdated":52},"64":{"155":538,"156":538,"Log":537,"CreatedFailed":538,"ExecutedFailed":538},"65":0,"66":{"155":545},"67":{"Bound":548,"DeployerAdded":549,"DeployerRemoved":549,"ContractApproved":538,"ContractDisapproved":538},"68":0,"69":{"167":564,"168":565,"169":365,"170":566,"171":569,"172":568,"173":569,"174":568,"175":567,"176":567,"177":370,"178":567,"179":372},"70":1,"71":{"CurrentBlockNumbers":573},"72":{"185":580,"ExecutionStarted":579,"ExecutionPlanned":581,"TradeExecuted":582,"TradeFailed":583,"Terminated":583,"Completed":584,"RandomnessGenerationFailed":585,"ReserveUnlocked":395},"73":{"185":598,"Canceled":598,"Dispatched":599,"RetrySet":600,"RetryCancelled":601,"CallUnavailable":601,"PeriodicFailed":601,"RetryFailed":601,"PermanentlyOverweight":601},"74":{"ValidationFunctionStored":26,"ValidationFunctionApplied":615,"ValidationFunctionDiscarded":26,"DownwardMessagesReceived":616,"DownwardMessagesProcessed":617,"UpwardMessageSent":618},"75":0,"76":{"186":640,"Attempted":639,"UnexpectedResponse":641,"ResponseReady":642,"Notified":643,"NotifyOverweight":644,"NotifyDispatchError":643,"NotifyDecodeFailed":643,"InvalidResponder":645,"InvalidResponderVersion":641,"ResponseTaken":646,"AssetsTrapped":647,"VersionChangeNotified":648,"SupportedVersionChanged":649,"NotifyTargetSendFail":650,"NotifyTargetMigrationFail":651,"InvalidQuerierVersion":641,"InvalidQuerier":652,"VersionNotifyStarted":653,"VersionNotifyRequested":653,"VersionNotifyUnrequested":653,"FeesPaid":654,"AssetsClaimed":647,"VersionMigrationFinished":655},"77":{"InvalidFormat":656,"UnsupportedVersion":656,"ExecutedDownward":657},"78":{"XcmpMessageSent":661},"79":{"ProcessingFailed":668,"Processed":669,"OverweightEnqueued":670,"PageReaped":671},"80":{"186":672},"81":{"TransferredAssets":681},"82":{"183":684,"184":684},"83":0,"84":{"NewInvulnerables":692,"InvulnerableAdded":693,"InvulnerableRemoved":693,"NewDesiredCandidates":694,"NewCandidacyBond":695,"CandidateAdded":696,"CandidateBondUpdated":696,"CandidateRemoved":693,"CandidateReplaced":697,"InvalidInvulnerableSkipped":693},"85":{"NewSession":702},"87":0,"88":0,"89":{"AddedToWhitelist":709,"RemovedFromWhitelist":709},"90":{"Swapped3":711}},"constants":{"2":{"BlockWeights":13,"BlockLength":14,"BlockHashCount":1,"DbWeight":15,"Version":16,"SS58Prefix":1},"3":{"MinimumPeriod":31},"7":{"187":1,"188":1,"ExistentialDeposit":31,"MaxFreezes":1},"8":{"OperationalFeeMultiplier":1},"9":{"189":1,"190":1,"EvmAssetId":1},"12":{"191":69,"SpendPeriod":1,"Burn":1,"MaxApprovals":1,"PayoutPeriod":1},"13":{"batched_calls_limit":1},"14":0,"15":{"BasicDeposit":31,"ByteDeposit":31,"SubAccountDeposit":31,"MaxSubAccounts":1,"MaxRegistrars":1,"PendingUsernameExpiration":1,"MaxSuffixLength":1,"MaxUsernameLength":1},"18":{"192":1,"193":1,"EnactmentPeriod":1,"LaunchPeriod":1,"VotingPeriod":1,"MinimumDeposit":31,"InstantAllowed":2,"FastTrackVotingPeriod":1,"CooloffPeriod":1,"MaxProposals":1,"MaxDeposits":1,"MaxBlacklisted":1},"19":{"MaxProposalWeight":166},"20":{"ProxyDepositBase":31,"ProxyDepositFactor":31,"MaxProxies":1,"MaxPending":1,"AnnouncementDepositBase":31,"AnnouncementDepositFactor":31},"21":{"DepositBase":31,"DepositFactor":31,"MaxSignatories":1},"22":{"194":1,"CollectionDeposit":31,"ItemDeposit":31,"MetadataDepositBase":31,"AttributeDepositBase":31,"DepositPerByte":31,"KeyLimit":1,"ValueLimit":1},"23":{"MaxKeyLen":1},"24":{"192":1,"193":1},"25":{"SubmissionDeposit":31,"MaxQueued":1,"UndecidingTimeout":1,"AlarmInterval":1,"Tracks":272},"26":0,"27":0,"28":0,"30":{"194":1,"SequentialIdStartAt":1,"MinStringLimit":1,"RegExternalWeightMultiplier":31},"31":0,"32":0,"33":{"RewardPerCollator":31,"RewardCurrencyId":1,"RewardsBag":165},"36":{"195":31,"196":31,"197":31,"198":31,"HdxAssetId":1,"HubAssetId":1,"MinWithdrawalFee":1,"MinimumPoolLiquidity":31,"BurnProtocolFee":1},"37":0,"38":{"199":165,"Reward":31,"NativeCurrencyId":1},"45":2,"46":3,"47":{"206":165,"ExistentialDepositMultiplier":1,"Fee":1},"48":{"DefaultMaxNetTradeVolumeLimitPerBlock":386,"DefaultMaxAddLiquidityLimitPerBlock":387,"DefaultMaxRemoveLiquidityLimitPerBlock":387},"49":{"189":1,"205":347},"50":{"AssetFeeParameters":405,"ProtocolFeeParameters":405},"51":{"189":1,"191":69,"193":1,"198":31,"PeriodLength":1,"MinStake":31,"TimePointsWeight":1,"ActionPointsWeight":1,"TimePointsPerPeriod":1,"UnclaimablePeriods":31,"CurrentStakeWeight":1},"52":{"207":31,"208":31,"AmplificationRange":423},"53":{"191":69,"206":165,"ProtocolFee":1},"54":{"208":31,"209":165,"MinProfitPercentage":1,"PricePrecision":31,"MaxIterations":1},"55":{"196":31,"197":31,"207":31,"208":31,"repay_fee":386},"56":{"189":1,"196":31,"197":31,"204":69,"207":31,"208":31,"GetExchangeFee":386},"57":{"191":69,"RewardAsset":1,"RegistrationFee":485,"CodeLength":1,"MinCodeLength":1,"SeedNativeAmount":31},"58":{"209":165,"210":31,"211":1},"59":{"191":69,"210":31,"211":1},"60":0,"61":{"187":1,"188":1},"62":{"ReserveAccount":165,"GetNativeCurrencyId":1},"63":{"MinVestedTransfer":31},"64":0,"65":0,"66":0,"67":{"FeeMultiplier":1},"68":{"WethAssetId":1},"69":3,"70":2,"71":0,"72":{"189":1,"190":1,"195":31,"206":165,"MaxPriceDifferenceBetweenBlocks":1,"MaxConfigurablePriceDifferenceBetweenBlocks":1,"MaxSchedulePerBlock":1,"MaxNumberOfRetriesOnError":1,"MinimalPeriod":1,"BumpChance":1,"MinBudgetInNativeCurrency":31,"NamedReserveId":69},"73":{"MaximumWeight":166,"MaxScheduledPerBlock":1},"74":{"SelfParaId":1},"75":0,"76":0,"77":0,"78":{"MaxInboundSuspended":1,"MaxActiveOutboundChannels":1,"MaxPageSize":1},"79":{"HeapSize":1,"MaxStale":1,"ServiceWeight":665,"IdleMaxServiceWeight":665},"80":0,"81":{"SelfLocation":673,"BaseXcmWeight":166,"RateLimiterId":674},"82":0,"83":0,"84":0,"85":0,"87":{"SlotDuration":31},"88":0,"89":{"MaxAllowedPriceDifference":1,"MaxUniqueEntries":1},"90":0},"viewFns":{"2":0,"3":0,"7":0,"8":0,"9":0,"12":0,"13":0,"14":0,"15":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"30":0,"31":0,"32":0,"33":0,"36":0,"37":0,"38":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"87":0,"88":0,"89":0,"90":0},"apis":{"Core":{"version":712,"execute_block":713,"initialize_block":714},"Metadata":{"metadata":715,"metadata_at_version":716,"metadata_versions":717},"BlockBuilder":{"apply_extrinsic":718,"finalize_block":719,"inherent_extrinsics":720,"check_inherents":721},"TaggedTransactionQueue":{"validate_transaction":722},"OffchainWorkerApi":{"offchain_worker":723},"SessionKeys":{"generate_session_keys":724,"decode_session_keys":725},"AuraApi":{"slot_duration":726,"authorities":727},"CollectCollationInfo":{"collect_collation_info":728},"CurrenciesApi":{"account":729,"accounts":730,"free_balance":731},"AccountNonceApi":{"account_nonce":732},"TransactionPaymentApi":{"query_info":733,"query_fee_details":734,"query_weight_to_fee":735,"query_length_to_fee":736},"EthereumRuntimeRPCApi":{"105":743,"130":742,"chain_id":726,"account_basic":737,"gas_price":738,"account_code_at":739,"author":740,"storage_at":741,"current_block":744,"current_receipts":745,"current_transaction_statuses":746,"current_all":747,"extrinsic_filter":748,"elasticity":749,"gas_limit_multiplier_support":750,"pending_block":751,"initialize_pending_block":723},"ConvertTransactionRuntimeApi":{"convert_transaction":752},"EvmAccountsApi":{"evm_address":753,"bound_account_id":754,"account_id":755},"Erc20MappingApi":{"asset_address":756,"address_to_asset":757},"XcmPaymentApi":{"query_acceptable_payment_assets":758,"query_xcm_weight":759,"query_weight_to_asset_fee":760,"query_delivery_fees":761},"AuraUnincludedSegmentApi":{"can_build_upon":762},"DryRunApi":{"dry_run_call":763,"dry_run_xcm":764},"LocationToAccountApi":{"convert_location":765},"ChainlinkAdapterApi":{"encode_oracle_address":766,"decode_oracle_address":767},"AaveTradeExecutor":{"pairs":768,"liquidity_depth":769,"pool":770,"pools":771},"GenesisBuilder":{"build_state":772,"get_preset":773,"preset_names":774}}}},[{},{"164":342,"165":343,"166":344},{"191":69,"199":165,"200":31,"201":1,"202":1,"203":1},{"198":31,"204":69,"205":347}],["Account","BlockHash","System","Timestamp","TotalIssuance","Locks","Reserves","Balances","TransactionPayment","MultiTransactionPayment","ProposalCount","Proposals","Treasury","Utility","Preimage","Identity","ReferendumCount","MetadataOf","Democracy","TechnicalCommittee","Proxy","Multisig","Uniques","StateTrieMigration","ConvictionVoting","Referenda","Origins","Whitelist","Dispatcher","Assets","AssetRegistry","Claims","GenesisHistory","CollatorRewards","Positions","NextPositionId","Omnipool","TransactionPause","Duster","FarmSequencer","DepositSequencer","GlobalFarm","YieldFarm","Deposit","ActiveYieldFarm","OmnipoolWarehouseLM","OmnipoolLiquidityMining","OTC","CircuitBreaker","Router","DynamicFees","Staking","Stableswap","Bonds","OtcSettlements","LBP","XYK","Referrals","Liquidation","HSM","Parameters","Tokens","Currencies","Vesting","EVM","EVMChainId","Ethereum","EVMAccounts","DynamicEvmFee","XYKLiquidityMining","XYKWarehouseLM","RelayChainInfo","DCA","Scheduler","ParachainSystem","ParachainInfo","PolkadotXcm","CumulusXcm","XcmpQueue","MessageQueue","OrmlXcm","XTokens","UnknownTokens","Authorship","CollatorSelection","Session","Authorities","Aura","AuraExt","EmaOracle","Broadcast","force_transfer","transfer_keep_alive","transfer_all","burn","propose","vote","delegate","undelegate","unlock","remove_vote","remove_other_vote","set_metadata","force_remove_vote","execute","create","transfer","cancel","claim","add_liquidity","remove_liquidity","sell","buy","set_asset_tradable_state","create_global_farm","terminate_global_farm","create_yield_farm","update_yield_farm","stop_yield_farm","resume_yield_farm","terminate_yield_farm","deposit_shares","redeposit_shares","claim_rewards","withdraw_shares","update_global_farm","join_farms","add_liquidity_and_join_farms","exit_farms","create_pool","call","schedule","Endowed","DustLost","Transfer","BalanceSet","Reserved","Unreserved","ReserveRepatriated","Slashed","Burned","Issued","Rescinded","Locked","Unlocked","Frozen","Thawed","Proposed","Cancelled","Delegated","Undelegated","Voted","MetadataSet","MetadataCleared","Approved","Executed","Created","Transferred","LiquidityAdded","LiquidityRemoved","SellExecuted","BuyExecuted","PositionCreated","TradableStateUpdated","GlobalFarmAccRPZUpdated","YieldFarmAccRPVSUpdated","AllRewardsDistributed","GlobalFarmCreated","GlobalFarmUpdated","GlobalFarmTerminated","YieldFarmCreated","YieldFarmUpdated","YieldFarmStopped","YieldFarmResumed","YieldFarmTerminated","SharesDeposited","SharesRedeposited","RewardClaimed","SharesWithdrawn","DepositDestroyed","PoolCreated","PoolDestroyed","Claimed","Withdrawn","Deposited","Scheduled","Sent","MaxLocks","MaxReserves","NativeAssetId","PolkadotNativeAssetId","PalletId","VoteLockingPeriod","MaxVotes","StringLimit","MinimumTradingLimit","MaxInRatio","MaxOutRatio","NFTCollectionId","TreasuryAccountId","MinTotalFarmRewards","MinPlannedYieldingPeriods","MaxFarmEntriesPerDeposit","MaxYieldFarmsPerGlobalFarm","OracleSource","OraclePeriod","FeeReceiver","MinPoolLiquidity","MinTradingLimit","ProfitReceiver","GasLimit","HollarId"]]`);
33
33
  replaceTokens = (obj) => Object.fromEntries(
34
34
  Object.entries(obj).map(([key, value]) => {
35
35
  const unwrappedValue = typeof value === "object" ? replaceTokens(value) : value;
@@ -64,7 +64,7 @@ var content, metadataTypes_default;
64
64
  var init_metadataTypes = __esm({
65
65
  ".papi/descriptors/src/metadataTypes.ts"() {
66
66
  "use strict";
67
- content = "HQwAAAAQAQEFAAQBAQUAFAEBBQAcAAQAIAAEACQBAQUAIAEBBQAwAQEFABEEACAAFQQBAQUAGQQBAQUANAEBBQAdBAEBBQApBAEBBQAtBAEBBQAxBAEBBQA9BAEABBhyZW1hcmskAQEFAQAEFHBhZ2VzCAEBBQEABBBjb2RlJAEBBQEABBRpdGVtc0UEAQEFAQAEEGtleXNJBAEBBQEACBhwcmVmaXgkHHN1YmtleXMEAQEFAQAEJGNvZGVfaGFzaCABAQUBAQUBAAQ0ZGlzcGF0Y2hfaW5mb0ABAQUBAAg4ZGlzcGF0Y2hfZXJyb3JFATRkaXNwYXRjaF9pbmZvQAEBBQEBBQEBBQEABBxhY2NvdW50AAEBBQEACBhzZW5kZXIAEGhhc2ggAQEFAQAIJGNvZGVfaGFzaCA0Y2hlY2tfdmVyc2lvbhQBAQUBAQUBAQUACAEABAxub3cIAQEFAAAADAAAAFUEAAAAXQQAAABxBAAAAHkEAQAIEGRlc3QAFHZhbHVlCAEBBQEADBhzb3VyY2UAEGRlc3QAFHZhbHVlCAEBBQEACBBkZXN0AChrZWVwX2FsaXZlFAEBBQEACAx3aG8AGGFtb3VudAgBAQUBAAQMd2hv0QMBAQUBAAgMd2hvACBuZXdfZnJlZQgBAQUBAAgkZGlyZWN0aW9ufQQUZGVsdGEIAQEFAQAIFHZhbHVlCChrZWVwX2FsaXZlFAEBBQEBBQEACBxhY2NvdW50ADBmcmVlX2JhbGFuY2UIAQEFAQAIHGFjY291bnQAGGFtb3VudAgBAQUBAAwQZnJvbQAIdG8AGGFtb3VudAgBAQUBAAgMd2hvABBmcmVlCAEBBQEACAx3aG8AGGFtb3VudAgBAQUBABAQZnJvbQAIdG8AGGFtb3VudAhIZGVzdGluYXRpb25fc3RhdHVzTQEBAQUBAAQMd2hvAAEBBQEABBhhbW91bnQIAQEFAQAIDG9sZAgMbmV3CAEBBQCBBAEBBQEADAx3aG8AKGFjdHVhbF9mZWUIDHRpcAgAAAAEAAQACAEABCBjdXJyZW5jeQQBAQUBAAggY3VycmVuY3kEFHByaWNlCAEBBQEABChhY2NvdW50X2lkAAEBBQEAJBBmcm9t7QEIdG/tARR2YWx1ZYUEEGRhdGEkJGdhc19saW1pdAggZGVhZGxpbmWFBAR2BARyIARzIAEBBQEBBQEACChhY2NvdW50X2lkACBhc3NldF9pZAQBAQUBAAQgYXNzZXRfaWQEAQEFAQAUKGFjY291bnRfaWQAIGFzc2V0X2lkBERuYXRpdmVfZmVlX2Ftb3VudAhUbm9uX25hdGl2ZV9mZWVfYW1vdW50CFhkZXN0aW5hdGlvbl9hY2NvdW50X2lkAAAEAIkEAQEFAD0CAAQAkQQBAQUAWQIBAAgYYW1vdW50CCxiZW5lZmljaWFyeQABAQUBAAQscHJvcG9zYWxfaWQEAQEFAQAMGGFtb3VudAgsYmVuZWZpY2lhcnkAKHZhbGlkX2Zyb23hAQEBBQEABBRpbmRleAQBAQUBAQUBAARAYnVkZ2V0X3JlbWFpbmluZwgBAQUBAAw4cHJvcG9zYWxfaW5kZXgEFGF3YXJkCBxhY2NvdW50AAEBBQEABCxidXJudF9mdW5kcwgBAQUBAARAcm9sbG92ZXJfYmFsYW5jZQgBAQUBAAQUdmFsdWUIAQEFAQAMOHByb3Bvc2FsX2luZGV4BBhhbW91bnQILGJlbmVmaWNpYXJ5AAEBBQEACCxyZWFjdGl2YXRlZAgsZGVhY3RpdmF0ZWQIAQEFAQAUFGluZGV4BBhhbW91bnQILGJlbmVmaWNpYXJ5ACh2YWxpZF9mcm9tBCRleHBpcmVfYXQEAQEFAQAEFGluZGV4BAEABBRjYWxsc/0GAQEFAQAIFGluZGV4BBBjYWxs+QYBAQUBAAgkYXNfb3JpZ2luwQQQY2FsbPkGAQEFAQAIEGNhbGz5Bhh3ZWlnaHQYAQEFAQEFAQAIFGluZGV4BBRlcnJvckUBAQEFAQAEFGVycm9yRQEBAQUBAAQYcmVzdWx0YQEAIAAJBwAgAA0HABEHACQBAAQUYnl0ZXMkAQEFAQAEEGhhc2ggAQEFAQAEGGhhc2hlc8ECAQEFAQEFAQAEEGhhc2ggAAAAIQcAAABJBQAAACUHAQEFADEHAAAANQcAJAAAACQAOQcBAAQcYWNjb3VudAABAQUBAAQQaW5mb0UFAQEFAQAEEHN1YnNNBQEBBQEBBQEBBQEACCRyZWdfaW5kZXgEHG1heF9mZWUIAQEFAQAEJHJlZ19pbmRleAQBAQUBAAgUaW5kZXgEDGZlZQgBAQUBAAgUaW5kZXgEDG5ldwABAQUBAAgUaW5kZXgEGGZpZWxkcwgBAQUBABAkcmVnX2luZGV4BBh0YXJnZXQAJGp1ZGdlbWVudFEFIGlkZW50aXR5IAEBBQEABBh0YXJnZXQAAQEFAQAIDHN1YgAQZGF0YTUFAQEFAQAEDHN1YgABAQUBAAwkYXV0aG9yaXR5ABhzdWZmaXgkKGFsbG9jYXRpb24EAQEFAQAEJGF1dGhvcml0eQABAQUBAAwMd2hvACB1c2VybmFtZSQkc2lnbmF0dXJlYQUBAQUBAAQgdXNlcm5hbWUkAQEFAQEFAQAIDHdobwAcZGVwb3NpdAgBAQUBAAgMd2hvADxyZWdpc3RyYXJfaW5kZXgEAQEFAQAIGHRhcmdldAA8cmVnaXN0cmFyX2luZGV4BAEBBQEABDxyZWdpc3RyYXJfaW5kZXgEAQEFAQAMDHN1YgAQbWFpbgAcZGVwb3NpdAgBAQUBAAQkYXV0aG9yaXR5AAEBBQEACAx3aG8AIHVzZXJuYW1lJAEBBQEADAx3aG8AIHVzZXJuYW1lJChleHBpcmF0aW9uBAEBBQEABBR3aG9zZQABAQUAQQcABABFBwAEAFEHAAAAYQcBAQUAZQcAIABpBwAgABQAeQEAIAEACCBwcm9wb3NhbLUBFHZhbHVlCAEBBQEABCBwcm9wb3NhbAQBAQUBAAgkcmVmX2luZGV4BBB2b3RldQEBAQUBAAQkcmVmX2luZGV4BAEBBQEABCBwcm9wb3NhbLUBAQEFAQAMNHByb3Bvc2FsX2hhc2ggNHZvdGluZ19wZXJpb2QEFGRlbGF5BAEBBQEABDRwcm9wb3NhbF9oYXNoIAEBBQEADAh0bwAoY29udmljdGlvbmkFHGJhbGFuY2UIAQEFAQAIGHRhcmdldAAUaW5kZXgEAQEFAQAINHByb3Bvc2FsX2hhc2ggPG1heWJlX3JlZl9pbmRleOEBAQEFAQAEKHByb3BfaW5kZXgEAQEFAQAIFG93bmVyeQEobWF5YmVfaGFzaA0DAQEFAQEFAQAIOHByb3Bvc2FsX2luZGV4BBxkZXBvc2l0CAEBBQEACCRyZWZfaW5kZXgEJHRocmVzaG9sZHEBAQEFAQAEJHJlZl9pbmRleAQBAQUBAAgMd2hvABh0YXJnZXQAAQEFAQAMDHdobwA0cHJvcG9zYWxfaGFzaCAUdW50aWwEAQEFAQAENHByb3Bvc2FsX2hhc2ggAQEFAQAMFHZvdGVyACRyZWZfaW5kZXgEEHZvdGV1AQEBBQEACCBzZWNvbmRlcgAocHJvcF9pbmRleAQBAQUBAAQocHJvcF9pbmRleAQBAQUBAAgUb3duZXJ5ARBoYXNoIAEBBQEADChwcmV2X293bmVyeQEUb3duZXJ5ARBoYXNoIAEBBQDBAgAgAPkGACAAbQcBAQUA0QMBAQUAAAEBBQAYAQAMLG5ld19tZW1iZXJz0QMUcHJpbWWdASRvbGRfY291bnQEAQEFAQAIIHByb3Bvc2Fs+QYwbGVuZ3RoX2JvdW5kBAEBBQEADCR0aHJlc2hvbGQEIHByb3Bvc2Fs+QYwbGVuZ3RoX2JvdW5kBAEBBQEADCBwcm9wb3NhbCAUaW5kZXgEHGFwcHJvdmUUAQEFAQAQNHByb3Bvc2FsX2hhc2ggFGluZGV4BFRwcm9wb3NhbF93ZWlnaHRfYm91bmQYMGxlbmd0aF9ib3VuZAQBAQUBAQUBABAcYWNjb3VudAA4cHJvcG9zYWxfaW5kZXgENHByb3Bvc2FsX2hhc2ggJHRocmVzaG9sZAQBAQUBABQcYWNjb3VudAA0cHJvcG9zYWxfaGFzaCAUdm90ZWQUDHllcwQIbm8EAQEFAQAINHByb3Bvc2FsX2hhc2ggGHJlc3VsdGEBAQEFAQAMNHByb3Bvc2FsX2hhc2ggDHllcwQIbm8EAAAAeQcAAACFBwEADBByZWFsAEBmb3JjZV9wcm94eV90eXBldQUQY2FsbPkGAQEFAQAMIGRlbGVnYXRlAChwcm94eV90eXBlhQEUZGVsYXkEAQEFAQAMKHByb3h5X3R5cGWFARRkZWxheQQUaW5kZXgEAQEFAQAUHHNwYXduZXIAKHByb3h5X3R5cGWFARRpbmRleAQYaGVpZ2h0BCRleHRfaW5kZXgEAQEFAQAIEHJlYWwAJGNhbGxfaGFzaCABAQUBAAggZGVsZWdhdGUAJGNhbGxfaGFzaCABAQUBABAgZGVsZWdhdGUAEHJlYWwAQGZvcmNlX3Byb3h5X3R5cGV1BRBjYWxs+QYBAQUBAQUBABAQcHVyZQAMd2hvAChwcm94eV90eXBlhQFQZGlzYW1iaWd1YXRpb25faW5kZXgEAQEFAQAMEHJlYWwAFHByb3h5ACRjYWxsX2hhc2ggAQEFAQAQJGRlbGVnYXRvcgAkZGVsZWdhdGVlAChwcm94eV90eXBlhQEUZGVsYXkEAIkHAI0HAQAIRG90aGVyX3NpZ25hdG9yaWVz0QMQY2FsbPkGAQEFAQAUJHRocmVzaG9sZAREb3RoZXJfc2lnbmF0b3JpZXPRAzxtYXliZV90aW1lcG9pbnR9BRBjYWxs+QYobWF4X3dlaWdodBgBAQUBABQkdGhyZXNob2xkBERvdGhlcl9zaWduYXRvcmllc9EDPG1heWJlX3RpbWVwb2ludH0FJGNhbGxfaGFzaCAobWF4X3dlaWdodBgBAQUBABAkdGhyZXNob2xkBERvdGhlcl9zaWduYXRvcmllc9EDJHRpbWVwb2ludI0BJGNhbGxfaGFzaCABAQUBAQUBAAwkYXBwcm92aW5nACBtdWx0aXNpZwAkY2FsbF9oYXNoIAEBBQEAECRhcHByb3ZpbmcAJHRpbWVwb2ludI0BIG11bHRpc2lnACRjYWxsX2hhc2ggAQEFAQAUJGFwcHJvdmluZwAkdGltZXBvaW50jQEgbXVsdGlzaWcAJGNhbGxfaGFzaCAYcmVzdWx0YQEBAQUBABAoY2FuY2VsbGluZwAkdGltZXBvaW50jQEgbXVsdGlzaWcAJGNhbGxfaGFzaCAACACRBwAAAAgAlQcAjAABBwCMAFUCAJkHAAgAnQcAVQIAnQcAoQcApQcAVQIAqQcACAAEAQAIKGNvbGxlY3Rpb24IFGFkbWluAAEBBQEADChjb2xsZWN0aW9uCBRvd25lcgAwZnJlZV9ob2xkaW5nFAEBBQEACChjb2xsZWN0aW9uCBx3aXRuZXNzhQUBAQUBAAwoY29sbGVjdGlvbggQaXRlbQgUb3duZXIAAQEFAQAMKGNvbGxlY3Rpb24IEGl0ZW0ILGNoZWNrX293bmVynQEBAQUBAAwoY29sbGVjdGlvbggQaXRlbQgQZGVzdAABAQUBAAgoY29sbGVjdGlvbggUaXRlbXOVAQEBBQEACChjb2xsZWN0aW9uCBBpdGVtCAEBBQEABChjb2xsZWN0aW9uCAEBBQEACChjb2xsZWN0aW9uCCRuZXdfb3duZXIAAQEFAQAQKGNvbGxlY3Rpb24IGGlzc3VlcgAUYWRtaW4AHGZyZWV6ZXIAAQEFAQAMKGNvbGxlY3Rpb24IEGl0ZW0IIGRlbGVnYXRlAAEBBQEADChjb2xsZWN0aW9uCBBpdGVtCFBtYXliZV9jaGVja19kZWxlZ2F0ZZ0BAQEFAQAcKGNvbGxlY3Rpb24IFG93bmVyABhpc3N1ZXIAFGFkbWluABxmcmVlemVyADBmcmVlX2hvbGRpbmcUJGlzX2Zyb3plbhQBAQUBABAoY29sbGVjdGlvbggobWF5YmVfaXRlbZkBDGtleSQUdmFsdWUkAQEFAQAMKGNvbGxlY3Rpb24IKG1heWJlX2l0ZW2ZAQxrZXkkAQEFAQAQKGNvbGxlY3Rpb24IEGl0ZW0IEGRhdGEkJGlzX2Zyb3plbhQBAQUBAAwoY29sbGVjdGlvbggQZGF0YSQkaXNfZnJvemVuFAEBBQEABEBtYXliZV9jb2xsZWN0aW9umQEBAQUBAAgoY29sbGVjdGlvbggobWF4X3N1cHBseQQBAQUBABAoY29sbGVjdGlvbggQaXRlbQgUcHJpY2WZAUR3aGl0ZWxpc3RlZF9idXllcp0BAQEFAQAMKGNvbGxlY3Rpb24IEGl0ZW0IJGJpZF9wcmljZQgBAQUBAQUBAAwoY29sbGVjdGlvbggcY3JlYXRvcgAUb3duZXIAAQEFAQAIKGNvbGxlY3Rpb24IFG93bmVyAAEBBQEABChjb2xsZWN0aW9uCAEBBQEADChjb2xsZWN0aW9uCBBpdGVtCBRvd25lcgABAQUBABAoY29sbGVjdGlvbggQaXRlbQgQZnJvbQAIdG8AAQEFAQAIKGNvbGxlY3Rpb24IEGl0ZW0IAQEFAQAIKGNvbGxlY3Rpb24IJG5ld19vd25lcgABAQUBABAoY29sbGVjdGlvbggYaXNzdWVyABRhZG1pbgAcZnJlZXplcgABAQUBABAoY29sbGVjdGlvbggQaXRlbQgUb3duZXIAIGRlbGVnYXRlAAEBBQEADChjb2xsZWN0aW9uCBBkYXRhJCRpc19mcm96ZW4UAQEFAQAQKGNvbGxlY3Rpb24IEGl0ZW0IEGRhdGEkJGlzX2Zyb3plbhQBAQUBAAgoY29sbGVjdGlvbghAc3VjY2Vzc2Z1bF9pdGVtc5UBAQEFAQAQKGNvbGxlY3Rpb24IKG1heWJlX2l0ZW2ZAQxrZXkkFHZhbHVlJAEBBQEADChjb2xsZWN0aW9uCChtYXliZV9pdGVtmQEMa2V5JAEBBQEACAx3aG8AQG1heWJlX2NvbGxlY3Rpb26ZAQEBBQEACChjb2xsZWN0aW9uCChtYXhfc3VwcGx5BAEBBQEAEChjb2xsZWN0aW9uCBBpdGVtCBRwcmljZQhEd2hpdGVsaXN0ZWRfYnV5ZXKdAQEBBQEAFChjb2xsZWN0aW9uCBBpdGVtCBRwcmljZQgYc2VsbGVyABRidXllcgABAQUAmQUBAQUAkQUBAQUAjQUBAAQwbWF5YmVfY29uZmlnkQUBAQUBAAwYbGltaXRzjQU8cmVhbF9zaXplX3VwcGVyBDB3aXRuZXNzX3Rhc2uZBQEBBQEACBBrZXlzSQQwd2l0bmVzc19zaXplBAEBBQEADBByb290JChjaGlsZF9rZXlzSQQodG90YWxfc2l6ZQQBAQUBAAQYbGltaXRzjQUBAQUBAAgwcHJvZ3Jlc3NfdG9wlQU4cHJvZ3Jlc3NfY2hpbGSVBQEBBQEBBQEADAx0b3AEFGNoaWxkBBxjb21wdXRlpQEBAQUBAAQUZXJyb3J0ADkHAL0HAAAA5QYBAAgocG9sbF9pbmRleAQQdm90Za0BAQEFAQAQFGNsYXNzBAh0bwAoY29udmljdGlvbmkFHGJhbGFuY2UIAQEFAQAEFGNsYXNzBAEBBQEACBRjbGFzcwQYdGFyZ2V0AAEBBQEACBRjbGFzc+EBFGluZGV4BAEBBQEADBh0YXJnZXQAFGNsYXNzBBRpbmRleAQBAQUBAQUBBAABCAEBBQAAAQEFAQAIDHdobwAQdm90Za0BAAQA3QcABADlBgAEAAQBAQUA7QcBAAw8cHJvcG9zYWxfb3JpZ2luwQQgcHJvcG9zYWy1AUBlbmFjdG1lbnRfbW9tZW50pQUBAQUBAAQUdHJhY2sEAQEFAQAIFGluZGV4BChtYXliZV9oYXNoDQMBAQUBAQUBAAwUaW5kZXgEFHRyYWNrBCBwcm9wb3NhbLUBAQEFAQAMFGluZGV4BAx3aG8AGGFtb3VudAgBAQUBABAUaW5kZXgEFHRyYWNrBCBwcm9wb3NhbLUBFHRhbGx5uQEBAQUBAAgUaW5kZXgEFHRhbGx5uQEBAQUBAAgUaW5kZXgEEGhhc2ggACAAjAEABCRjYWxsX2hhc2ggAQEFAQAMJGNhbGxfaGFzaCBAY2FsbF9lbmNvZGVkX2xlbgRMY2FsbF93ZWlnaHRfd2l0bmVzcxgBAQUBAAQQY2FsbPkGAQEFAQEFAQAEJGNhbGxfaGFzaCABAQUBAAgkY2FsbF9oYXNoIBhyZXN1bHTNAQEACBBjYWxs+QYkZXh0cmFfZ2FzCAEBBQAEAPEHACQABAAEAAECAAQAjAABAgAEAQAkIGFzc2V0X2lk4QEQbmFtZdkBKGFzc2V0X3R5cGXdAUxleGlzdGVudGlhbF9kZXBvc2l0mQEYc3ltYm9s2QEgZGVjaW1hbHPhASBsb2NhdGlvbk0DOHhjbV9yYXRlX2xpbWl0mQE0aXNfc3VmZmljaWVudBQBAQUBACQgYXNzZXRfaWQEEG5hbWXZAShhc3NldF90eXBltQVMZXhpc3RlbnRpYWxfZGVwb3NpdJkBOHhjbV9yYXRlX2xpbWl0mQE0aXNfc3VmZmljaWVudLkFGHN5bWJvbNkBIGRlY2ltYWxz4QEgbG9jYXRpb25NAwEBBQEABCBsb2NhdGlvbgECAQEFAQAEIGFzc2V0X2lkBAEBBQEBBQEADAx3aG8AJGZlZV9hc3NldAQYYW1vdW50CAEBBQEAICBhc3NldF9pZAQoYXNzZXRfbmFtZdkBKGFzc2V0X3R5cGXdAUxleGlzdGVudGlhbF9kZXBvc2l0CDh4Y21fcmF0ZV9saW1pdJkBGHN5bWJvbNkBIGRlY2ltYWxz4QE0aXNfc3VmZmljaWVudBQBAQUBAAggYXNzZXRfaWQEIGxvY2F0aW9uAQIA7QEACAEABEhldGhlcmV1bV9zaWduYXR1cmVZBQEBBQEBBQEDDADtAQgBAQUA9QcABADRAwEBBQEADAx3aG8AGGFtb3VudAggY3VycmVuY3kEAAQA+QcACAD9BwEAEBRhc3NldAQ0aW5pdGlhbF9wcmljZQgod2VpZ2h0X2NhcAQ4cG9zaXRpb25fb3duZXIAAQEFAQAIFGFzc2V0BBhhbW91bnQIAQEFAQAMFGFzc2V0BBhhbW91bnQIQG1pbl9zaGFyZXNfbGltaXQIAQEFAQAILHBvc2l0aW9uX2lkCBhhbW91bnQIAQEFAQAMLHBvc2l0aW9uX2lkCBhhbW91bnQIJG1pbl9saW1pdAgBAQUBAAQscG9zaXRpb25faWQIAQEFAQAQIGFzc2V0X2luBCRhc3NldF9vdXQEGGFtb3VudAg4bWluX2J1eV9hbW91bnQIAQEFAQAQJGFzc2V0X291dAQgYXNzZXRfaW4EGGFtb3VudAg8bWF4X3NlbGxfYW1vdW50CAEBBQEACCBhc3NldF9pZAQUc3RhdGUEAQEFAQAMIGFzc2V0X2lkBBhhbW91bnQIJHJlY2lwaWVudAABAQUBAAggYXNzZXRfaWQEDGNhcAQBAQUBABAgYXNzZXRfaWQEGGFtb3VudAgUcHJpY2VVAhBkZXN0AAEBBQEACCBhc3NldF9pZAQsYmVuZWZpY2lhcnkAAQEFAQEFAQAMIGFzc2V0X2lkBDhpbml0aWFsX2Ftb3VudAg0aW5pdGlhbF9wcmljZQgBAQUBAAwgYXNzZXRfaWQEGGFtb3VudAg0aHViX3dpdGhkcmF3bggBAQUBABAMd2hvACBhc3NldF9pZAQYYW1vdW50CCxwb3NpdGlvbl9pZAgBAQUBABQMd2hvACxwb3NpdGlvbl9pZAggYXNzZXRfaWQEOHNoYXJlc19yZW1vdmVkCAxmZWUIAQEFAQAUDHdobwAgYXNzZXRfaWQEGGFtb3VudAgoaHViX2Ftb3VudAg4c2hhcmVzX3JlbW92ZWQIAQEFAQAkDHdobwAgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CDRodWJfYW1vdW50X2luCDhodWJfYW1vdW50X291dAhAYXNzZXRfZmVlX2Ftb3VudAhMcHJvdG9jb2xfZmVlX2Ftb3VudAgBAQUBABgscG9zaXRpb25faWQIFG93bmVyABRhc3NldAQYYW1vdW50CBhzaGFyZXMIFHByaWNlCAEBBQEACCxwb3NpdGlvbl9pZAgUb3duZXIAAQEFAQAIIGFzc2V0X2lkBBRzdGF0ZQQBAQUBAAwgYXNzZXRfaWQEGGFtb3VudAgkcmVjaXBpZW50AAEBBQEACCBhc3NldF9pZAQMY2FwBABBBACMAQAILHBhbGxldF9uYW1lJDRmdW5jdGlvbl9uYW1lJAEBBQEBBQEACERwYWxsZXRfbmFtZV9ieXRlcyRMZnVuY3Rpb25fbmFtZV9ieXRlcyQAAACMAQAIHGFjY291bnQALGN1cnJlbmN5X2lkBAEBBQAEAAUIAAkIAA0IAAgAGQgAMQIABAEBBQEADDhnbG9iYWxfZmFybV9pZAQ8YWNjdW11bGF0ZWRfcnB6CDh0b3RhbF9zaGFyZXNfeggBAQUBABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEQGFjY3VtdWxhdGVkX3JwdnMITHRvdGFsX3ZhbHVlZF9zaGFyZXMIAQEFAQAEOGdsb2JhbF9mYXJtX2lkBAEBBQCcAAgACAEBBQBdAgEAIDR0b3RhbF9yZXdhcmRzCGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMERGJsb2Nrc19wZXJfcGVyaW9kBDxyZXdhcmRfY3VycmVuY3kEFG93bmVyAEB5aWVsZF9wZXJfcGVyaW9kCCxtaW5fZGVwb3NpdAhUbHJuYV9wcmljZV9hZGp1c3RtZW50CAEBBQEABDhnbG9iYWxfZmFybV9pZAQBAQUBABA4Z2xvYmFsX2Zhcm1faWQEIGFzc2V0X2lkBChtdWx0aXBsaWVyCDRsb3lhbHR5X2N1cnZlJQIBAQUBAAw4Z2xvYmFsX2Zhcm1faWQEIGFzc2V0X2lkBChtdWx0aXBsaWVyCAEBBQEACDhnbG9iYWxfZmFybV9pZAQgYXNzZXRfaWQEAQEFAQAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQobXVsdGlwbGllcggBAQUBAAw4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBAEBBQEADDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQscG9zaXRpb25faWQIAQEFAQAMOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChkZXBvc2l0X2lkCAEBBQEACChkZXBvc2l0X2lkCDR5aWVsZF9mYXJtX2lkBAEBBQEAEDhnbG9iYWxfZmFybV9pZARgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzBEB5aWVsZF9wZXJfcGVyaW9kCCxtaW5fZGVwb3NpdAgBAQUBAAgwZmFybV9lbnRyaWVzFQQscG9zaXRpb25faWQIAQEFAQAQMGZhcm1fZW50cmllcxUEFGFzc2V0BBhhbW91bnQIQG1pbl9zaGFyZXNfbGltaXSZAQEBBQEACChkZXBvc2l0X2lkCDh5aWVsZF9mYXJtX2lkcz0CAQEFAQAMOHN0YWJsZV9wb29sX2lkBFBzdGFibGVfYXNzZXRfYW1vdW50c30CMGZhcm1fZW50cmllc9EFAQEFAQEFAQAoCGlkBBRvd25lcgA0dG90YWxfcmV3YXJkcwg8cmV3YXJkX2N1cnJlbmN5BEB5aWVsZF9wZXJfcGVyaW9kCGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMERGJsb2Nrc19wZXJfcGVyaW9kBFRtYXhfcmV3YXJkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CFRscm5hX3ByaWNlX2FkanVzdG1lbnQIAQEFAQAQCGlkBGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMEQHlpZWxkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CAEBBQEAEDhnbG9iYWxfZmFybV9pZAQMd2hvADxyZXdhcmRfY3VycmVuY3kEVHVuZGlzdHJpYnV0ZWRfcmV3YXJkcwgBAQUBABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBChtdWx0aXBsaWVyCDRsb3lhbHR5X2N1cnZlJQIBAQUBABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBAx3aG8AKG11bHRpcGxpZXIIAQEFAQAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQMd2hvAAEBBQEAHDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoZGVwb3NpdF9pZAggYXNzZXRfaWQEDHdobwA0c2hhcmVzX2Ftb3VudAgscG9zaXRpb25faWQIAQEFAQAYOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AHGNsYWltZWQIPHJld2FyZF9jdXJyZW5jeQQoZGVwb3NpdF9pZAgBAQUBABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAYYW1vdW50CChkZXBvc2l0X2lkCAEBBQEACAx3aG8AKGRlcG9zaXRfaWQIAQEFAKQABAAdCAEAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQISHBhcnRpYWxseV9maWxsYWJsZRQBAQUBAAggb3JkZXJfaWQEJGFtb3VudF9pbggBAQUBAAQgb3JkZXJfaWQEAQEFAQEFAQAEIG9yZGVyX2lkBAEBBQEAFCBvcmRlcl9pZAQMd2hvACRhbW91bnRfaW4IKGFtb3VudF9vdXQIDGZlZQgBAQUBABggb3JkZXJfaWQEIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbggoYW1vdW50X291dAhIcGFydGlhbGx5X2ZpbGxhYmxlFAAEADECAAQAIQgABAA1AgAEACUIAAQAKQgBAQUAMQIBAQUANQIBAAggYXNzZXRfaWQESHRyYWRlX3ZvbHVtZV9saW1pdDECAQEFAQAIIGFzc2V0X2lkBDxsaXF1aWRpdHlfbGltaXQ1AgEBBQEACCBhc3NldF9pZAQUdW50aWwEAQEFAQAIDHdobwAgYXNzZXRfaWQEAQEFAQEFAQAIIGFzc2V0X2lkBEh0cmFkZV92b2x1bWVfbGltaXQxAgEBBQEACCBhc3NldF9pZAQ8bGlxdWlkaXR5X2xpbWl0NQIBAQUBAAggYXNzZXRfaWQEFHVudGlsBAEBBQEACAx3aG8AIGFzc2V0X2lkBADtAgABAwEAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IOG1pbl9hbW91bnRfb3V0CBRyb3V0ZQEDAQEFAQAUIGFzc2V0X2luBCRhc3NldF9vdXQEKGFtb3VudF9vdXQING1heF9hbW91bnRfaW4IFHJvdXRlAQMBAQUBAAgoYXNzZXRfcGFpcu0CJG5ld19yb3V0ZQEDAQEFAQAQIGFzc2V0X2luBCRhc3NldF9vdXQEOG1pbl9hbW91bnRfb3V0CBRyb3V0ZQEDAQEFAQEFAQAUIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbggoYW1vdW50X291dAggZXZlbnRfaWQEAQEFAQAEJGFzc2V0X2lkcz0CAAQALQgABABJAgEBBQBFAgEACCBhc3NldF9pZAQYY29uZmlnSQIBAQUBAQUBAAggYXNzZXRfaWQEGHBhcmFtc0kCAQEFADEIAAgANQgACABBCAA5BwA5CAEABBhhbW91bnQIAQEFAQEFAQAMDHdobwAscG9zaXRpb25faWQIFHN0YWtlCAEBBQEAHAx3aG8ALHBvc2l0aW9uX2lkCBRzdGFrZQgsdG90YWxfc3Rha2UIOGxvY2tlZF9yZXdhcmRzCDhzbGFzaGVkX3BvaW50cwhIcGF5YWJsZV9wZXJjZW50YWdlCAEBBQEAHAx3aG8ALHBvc2l0aW9uX2lkCDBwYWlkX3Jld2FyZHMIQHVubG9ja2VkX3Jld2FyZHMIOHNsYXNoZWRfcG9pbnRzCFhzbGFzaGVkX3VucGFpZF9yZXdhcmRzCEhwYXlhYmxlX3BlcmNlbnRhZ2UIAQEFAQAMDHdobwAscG9zaXRpb25faWQIOHVubG9ja2VkX3N0YWtlCAEBBQEABFBub25fZHVzdGFibGVfYmFsYW5jZQgBAQUBAAg8YWNjdW11bGF0ZWRfcnBzCCx0b3RhbF9zdGFrZQgBAQUAvAAEAEUIAAQAcQIABABRCAEBBQBVCAEAECxzaGFyZV9hc3NldAQYYXNzZXRzPQI0YW1wbGlmaWNhdGlvbgQMZmVlBAEBBQEACBxwb29sX2lkBAxmZWUEAQEFAQAQHHBvb2xfaWQETGZpbmFsX2FtcGxpZmljYXRpb24ELHN0YXJ0X2Jsb2NrBCRlbmRfYmxvY2sEAQEFAQAIHHBvb2xfaWQEGGFzc2V0c30CAQEFAQAQHHBvb2xfaWQEGHNoYXJlcwggYXNzZXRfaWQEQG1heF9hc3NldF9hbW91bnQIAQEFAQAQHHBvb2xfaWQEIGFzc2V0X2lkBDBzaGFyZV9hbW91bnQIOG1pbl9hbW91bnRfb3V0CAEBBQEAEBxwb29sX2lkBCBhc3NldF9pZAQYYW1vdW50CEBtYXhfc2hhcmVfYW1vdW50CAEBBQEAFBxwb29sX2lkBCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IOG1pbl9idXlfYW1vdW50CAEBBQEAFBxwb29sX2lkBCRhc3NldF9vdXQEIGFzc2V0X2luBChhbW91bnRfb3V0CDxtYXhfc2VsbF9hbW91bnQIAQEFAQAMHHBvb2xfaWQEIGFzc2V0X2lkBBRzdGF0ZQQBAQUBAAwccG9vbF9pZAQwc2hhcmVfYW1vdW50CDxtaW5fYW1vdW50c19vdXR9AgEBBQEAGCxzaGFyZV9hc3NldAQYYXNzZXRzPQI0YW1wbGlmaWNhdGlvbgQMZmVlBChwZWdfc291cmNlaQI4bWF4X3BlZ191cGRhdGUEAQEFAQAMHHBvb2xfaWQEGGFzc2V0c30CKG1pbl9zaGFyZXMIAQEFAQAMHHBvb2xfaWQEIGFzc2V0X2lkBChwZWdfc291cmNlZQIBAQUBAAgccG9vbF9pZAQ4bWF4X3BlZ191cGRhdGUEAQEFAQEFAQAUHHBvb2xfaWQEGGFzc2V0cz0CNGFtcGxpZmljYXRpb24EDGZlZQQMcGVndQIBAQUBAAgccG9vbF9pZAQMZmVlBAEBBQEAEBxwb29sX2lkBAx3aG8AGHNoYXJlcwgYYXNzZXRzfQIBAQUBABQccG9vbF9pZAQMd2hvABhzaGFyZXMIHGFtb3VudHN9AgxmZWUIAQEFAQAcDHdobwAccG9vbF9pZAQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CAxmZWUIAQEFAQAMHHBvb2xfaWQEIGFzc2V0X2lkBBRzdGF0ZQQBAQUBABQccG9vbF9pZARUY3VycmVudF9hbXBsaWZpY2F0aW9uBExmaW5hbF9hbXBsaWZpY2F0aW9uBCxzdGFydF9ibG9jawQkZW5kX2Jsb2NrBAEBBQEABBxwb29sX2lkBAEBBQEADBxwb29sX2lkBCBhc3NldF9pZAQocGVnX3NvdXJjZWUCAQEFAQAIHHBvb2xfaWQEOG1heF9wZWdfdXBkYXRlBAD5BQAEAAQA+QUBAAwgYXNzZXRfaWQEGGFtb3VudAggbWF0dXJpdHkIAQEFAQAIHGJvbmRfaWQEGGFtb3VudAgBAQUBAQUBABAYaXNzdWVyACBhc3NldF9pZAQcYm9uZF9pZAQgbWF0dXJpdHkIAQEFAQAQGGlzc3VlcgAcYm9uZF9pZAQYYW1vdW50CAxmZWUIAQEFAQAMDHdobwAcYm9uZF9pZAQYYW1vdW50CAEADBhvdGNfaWQEGGFtb3VudAgUcm91dGUBAwEBBQEBBQEACCBhc3NldF9pZAQYcHJvZml0CAAAAJECADkHABQBACwocG9vbF9vd25lcgAcYXNzZXRfYQQ4YXNzZXRfYV9hbW91bnQIHGFzc2V0X2IEOGFzc2V0X2JfYW1vdW50CDhpbml0aWFsX3dlaWdodAQwZmluYWxfd2VpZ2h0BDB3ZWlnaHRfY3VydmWNAgxmZWUxAjRmZWVfY29sbGVjdG9yADByZXBheV90YXJnZXQIAQEFAQAkHHBvb2xfaWQAKHBvb2xfb3duZXKdARRzdGFydOEBDGVuZOEBOGluaXRpYWxfd2VpZ2h04QEwZmluYWxfd2VpZ2h04QEMZmVlNQI0ZmVlX2NvbGxlY3Rvcp0BMHJlcGF5X3RhcmdldJkBAQEFAQAIIGFtb3VudF9h+QUgYW1vdW50X2L5BQEBBQEABBxwb29sX2lkAAEBBQEAECRhc3NldF9vdXQEIGFzc2V0X2luBBhhbW91bnQIJG1heF9saW1pdAgBAQUBAQUBAAgQcG9vbAAQZGF0YZECAQEFAQAUDHdobwAcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EIIGFtb3VudF9iCAEBBQEAHAx3aG8AIGFzc2V0X2luBCRhc3NldF9vdXQEGGFtb3VudAgoc2FsZV9wcmljZQgkZmVlX2Fzc2V0BChmZWVfYW1vdW50CAEBBQEAHAx3aG8AJGFzc2V0X291dAQgYXNzZXRfaW4EGGFtb3VudAgkYnV5X3ByaWNlCCRmZWVfYXNzZXQEKGZlZV9hbW91bnQIAAAAMQIBABAcYXNzZXRfYQQgYW1vdW50X2EIHGFzc2V0X2IEIGFtb3VudF9iCAEBBQEAEBxhc3NldF9hBBxhc3NldF9iBCBhbW91bnRfYQhIYW1vdW50X2JfbWF4X2xpbWl0CAEBBQEAFBxhc3NldF9hBBxhc3NldF9iBCBhbW91bnRfYQhIYW1vdW50X2JfbWF4X2xpbWl0CChtaW5fc2hhcmVzCAEBBQEADBxhc3NldF9hBBxhc3NldF9iBDBzaGFyZV9hbW91bnQIAQEFAQAUHGFzc2V0X2EEHGFzc2V0X2IEMHNoYXJlX2Ftb3VudAgwbWluX2Ftb3VudF9hCDBtaW5fYW1vdW50X2IIAQEFAQAUJGFzc2V0X291dAQgYXNzZXRfaW4EGGFtb3VudAgkbWF4X2xpbWl0CCBkaXNjb3VudBQBAQUBAQUBABAMd2hvABxhc3NldF9hBBxhc3NldF9iBBhzaGFyZXMIAQEFAQAYDHdobwAcYXNzZXRfYQQcYXNzZXRfYgRUaW5pdGlhbF9zaGFyZXNfYW1vdW50CCxzaGFyZV90b2tlbgQQcG9vbAABAQUBABQMd2hvABxhc3NldF9hBBxhc3NldF9iBCxzaGFyZV90b2tlbgQQcG9vbAABAQUBACAMd2hvACBhc3NldF9pbgQkYXNzZXRfb3V0BBhhbW91bnQIKHNhbGVfcHJpY2UIJGZlZV9hc3NldAQoZmVlX2Ftb3VudAgQcG9vbAABAQUBACAMd2hvACRhc3NldF9vdXQEIGFzc2V0X2luBBhhbW91bnQIJGJ1eV9wcmljZQgkZmVlX2Fzc2V0BChmZWVfYW1vdW50CBBwb29sAAAAACQAAAAAAAAAWQgAXQgAoQIBAQUAYQgBAAwgYXNzZXRfaWQEFGxldmVsnQIccmV3YXJkc6ECAQEFAQEFAQAIEGNvZGUkHGFjY291bnQAAQEFAQAMHGFjY291bnQAEGNvZGUkQHJlZmVycmFsX2FjY291bnQAAQEFAQAIEGZyb215Agh0b3kCAQEFAQAMDHdobwBAcmVmZXJyZXJfcmV3YXJkcwg0dHJhZGVfcmV3YXJkcwgBAQUBAAwgYXNzZXRfaWQEFGxldmVsnQIccmV3YXJkc6ECAQEFAQAIDHdobwAUbGV2ZWydAgEBBQDtAQEAFEBjb2xsYXRlcmFsX2Fzc2V0BChkZWJ0X2Fzc2V0BBB1c2Vy7QE0ZGVidF90b19jb3ZlcggUcm91dGUBAwEBBQEABCBjb250cmFjdO0BAQEFAQEFAQAUEHVzZXLtAUBjb2xsYXRlcmFsX2Fzc2V0BChkZWJ0X2Fzc2V0BDRkZWJ0X3RvX2NvdmVyCBhwcm9maXQIAAQAZQgBABwgYXNzZXRfaWQEHHBvb2xfaWQEMHB1cmNoYXNlX2ZlZQRkbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudAgwYnV5X2JhY2tfZmVlBDBidXliYWNrX3JhdGUEOG1heF9pbl9ob2xkaW5nmQEBAQUBABggYXNzZXRfaWQEMHB1cmNoYXNlX2ZlZeEBZG1heF9idXlfcHJpY2VfY29lZmZpY2llbnSZATBidXlfYmFja19mZWXhATBidXliYWNrX3JhdGXhAThtYXhfaW5faG9sZGluZw0GAQEFAQAQIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbgg4c2xpcHBhZ2VfbGltaXQIAQEFAQAQIGFzc2V0X2luBCRhc3NldF9vdXQEKGFtb3VudF9vdXQIOHNsaXBwYWdlX2xpbWl0CAEBBQEABExjb2xsYXRlcmFsX2Fzc2V0X2lkBAEBBQEABERmbGFzaF9taW50ZXJfYWRkcu0BAQEFAQEFAQAYIGFzc2V0X2lkBBxwb29sX2lkBDBwdXJjaGFzZV9mZWUEZG1heF9idXlfcHJpY2VfY29lZmZpY2llbnQIMGJ1eV9iYWNrX2ZlZQQwYnV5YmFja19yYXRlBAEBBQEACCBhc3NldF9pZAQYYW1vdW50CAEBBQEAFCBhc3NldF9pZAQwcHVyY2hhc2VfZmVl4QFkbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudJkBMGJ1eV9iYWNrX2ZlZeEBMGJ1eWJhY2tfcmF0ZeEBAQEFAQAIIGFzc2V0X2lkBDRob2xsYXJfYW1vdW50CAEBBQEABDBmbGFzaF9taW50ZXLtAQA5BwBdBAA5BwBpCAEADBBkZXN0ACxjdXJyZW5jeV9pZAQYYW1vdW50CAEBBQEADBBkZXN0ACxjdXJyZW5jeV9pZAQoa2VlcF9hbGl2ZRQBAQUBABAYc291cmNlABBkZXN0ACxjdXJyZW5jeV9pZAQYYW1vdW50CAEBBQEAEAx3aG8ALGN1cnJlbmN5X2lkBCBuZXdfZnJlZQgwbmV3X3Jlc2VydmVkCAEBBQEBBQEADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIAQEFAQAQLGN1cnJlbmN5X2lkBBBmcm9tAAh0bwAYYW1vdW50CAEBBQEAFCxjdXJyZW5jeV9pZAQQZnJvbQAIdG8AGGFtb3VudAgYc3RhdHVzTQEBAQUBABAsY3VycmVuY3lfaWQEDHdobwAQZnJlZQggcmVzZXJ2ZWQIAQEFAQAILGN1cnJlbmN5X2lkBBhhbW91bnQIAQEFAQAQLGN1cnJlbmN5X2lkBAx3aG8ALGZyZWVfYW1vdW50CDxyZXNlcnZlZF9hbW91bnQIAQEFAQAQHGxvY2tfaWRZAixjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIAQEFAQAMHGxvY2tfaWRZAixjdXJyZW5jeV9pZAQMd2hvAAEACBBkZXN0ABhhbW91bnQIAQEFAQAMDHdobwAsY3VycmVuY3lfaWQEGGFtb3VudAgBAQUAAAAdBgEACBBkZXN0ACBzY2hlZHVsZbkCAQEFAQAIDHdobwBEdmVzdGluZ19zY2hlZHVsZXMdBgEBBQEABBBkZXN0AAEBBQEBBQEADBBmcm9tAAh0bwBAdmVzdGluZ19zY2hlZHVsZbkCAO0BACQA7QEAbQgAcQgAIADtAQCMAQAIHGFkZHJlc3PtARR2YWx1ZQgBAQUBACQYc291cmNl7QEYdGFyZ2V07QEUaW5wdXQkFHZhbHVlhQQkZ2FzX2xpbWl0CDxtYXhfZmVlX3Blcl9nYXOFBGBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXMlBhRub25jZSUGLGFjY2Vzc19saXN0LQYBAQUBACAYc291cmNl7QEQaW5pdCQUdmFsdWWFBCRnYXNfbGltaXQIPG1heF9mZWVfcGVyX2dhc4UEYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhcyUGFG5vbmNlJQYsYWNjZXNzX2xpc3QtBgEBBQEAJBhzb3VyY2XtARBpbml0JBBzYWx0IBR2YWx1ZYUEJGdhc19saW1pdAg8bWF4X2ZlZV9wZXJfZ2FzhQRgbWF4X3ByaW9yaXR5X2ZlZV9wZXJfZ2FzJQYUbm9uY2UlBixhY2Nlc3NfbGlzdC0GAQEFAQEFAQAEDGxvZ8UCAQEFAQAEHGFkZHJlc3PtAQAEAIkIAQEFAJkIAQEFAJ0IAQEFAKEIAIUEACABAAQsdHJhbnNhY3Rpb25RBgEBBQEBBQEAFBBmcm9t7QEIdG/tAUB0cmFuc2FjdGlvbl9oYXNoICxleGl0X3JlYXNvbuECKGV4dHJhX2RhdGEkAO0BAO0EAQAEHGFkZHJlc3PtAQEBBQEBBQEACBxhY2NvdW50ABxhZGRyZXNz7QEBAQUBAAQMd2hv7QEBAQUAhQQBACQ0dG90YWxfcmV3YXJkcwhgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzBERibG9ja3NfcGVyX3BlcmlvZARIaW5jZW50aXZpemVkX2Fzc2V0BDxyZXdhcmRfY3VycmVuY3kEFG93bmVyAEB5aWVsZF9wZXJfcGVyaW9kCCxtaW5fZGVwb3NpdAhAcHJpY2VfYWRqdXN0bWVudAgBAQUBAAg4Z2xvYmFsX2Zhcm1faWQEQHByaWNlX2FkanVzdG1lbnQIAQEFAQAQOGdsb2JhbF9mYXJtX2lkBChhc3NldF9wYWly7QIobXVsdGlwbGllcgg0bG95YWx0eV9jdXJ2ZSUCAQEFAQAMOGdsb2JhbF9mYXJtX2lkBChhc3NldF9wYWly7QIobXVsdGlwbGllcggBAQUBAAg4Z2xvYmFsX2Zhcm1faWQEKGFzc2V0X3BhaXLtAgEBBQEAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoYXNzZXRfcGFpcu0CKG11bHRpcGxpZXIIAQEFAQAMOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChhc3NldF9wYWly7QIBAQUBABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGFzc2V0X3BhaXLtAjRzaGFyZXNfYW1vdW50CAEBBQEADDBmYXJtX2VudHJpZXMVBChhc3NldF9wYWly7QI0c2hhcmVzX2Ftb3VudAgBAQUBABQcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EISGFtb3VudF9iX21heF9saW1pdAgwZmFybV9lbnRyaWVzFQQBAQUBABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGFzc2V0X3BhaXLtAihkZXBvc2l0X2lkCAEBBQEADChkZXBvc2l0X2lkCDR5aWVsZF9mYXJtX2lkBChhc3NldF9wYWly7QIBAQUBAAwoZGVwb3NpdF9pZAgoYXNzZXRfcGFpcu0CMGZhcm1fZW50cmllcz0CAQEFAQEFAQAsCGlkBBRvd25lcgA0dG90YWxfcmV3YXJkcwg8cmV3YXJkX2N1cnJlbmN5BEB5aWVsZF9wZXJfcGVyaW9kCGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMERGJsb2Nrc19wZXJfcGVyaW9kBEhpbmNlbnRpdml6ZWRfYXNzZXQEVG1heF9yZXdhcmRfcGVyX3BlcmlvZAgsbWluX2RlcG9zaXQIQHByaWNlX2FkanVzdG1lbnQIAQEFAQAICGlkBEBwcmljZV9hZGp1c3RtZW50CAEBBQEAFDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQobXVsdGlwbGllcggoYXNzZXRfcGFpcu0CNGxveWFsdHlfY3VydmUlAgEBBQEAGDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvACBscF90b2tlbgQYYW1vdW50CChkZXBvc2l0X2lkCAEBBQEAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvAChhc3NldF9wYWly7QIBAQUBABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAoYXNzZXRfcGFpcu0CKG11bHRpcGxpZXIIAKUIAA0IAAgAqQgAOQcABAEBBQEACFhwYXJhY2hhaW5fYmxvY2tfbnVtYmVyBFxyZWxheWNoYWluX2Jsb2NrX251bWJlcgQABABhBgA5BwCMAAQAPQIBAAggc2NoZWR1bGVhBlRzdGFydF9leGVjdXRpb25fYmxvY2vhAQEBBQEACCxzY2hlZHVsZV9pZARQbmV4dF9leGVjdXRpb25fYmxvY2vhAQEBBQEBBQEACAhpZAQUYmxvY2sEAQEFAQAUCGlkBAx3aG8AGHBlcmlvZAQwdG90YWxfYW1vdW50CBRvcmRlcgUDAQEFAQAMCGlkBAx3aG8AFGJsb2NrBAEBBQEAEAhpZAQMd2hvACRhbW91bnRfaW4IKGFtb3VudF9vdXQIAQEFAQAMCGlkBAx3aG8AFGVycm9yRQEBAQUBAAgIaWQEDHdobwABAQUBAAgUYmxvY2sEFGVycm9yRQEABAC1CAAxAgC5CAAgADECAQAQEHdoZW4EOG1heWJlX3BlcmlvZGljNQIgcHJpb3JpdHkEEGNhbGz5BgEBBQEACBB3aGVuBBRpbmRleAQBAQUBABQIaWQgEHdoZW4EOG1heWJlX3BlcmlvZGljNQIgcHJpb3JpdHkEEGNhbGz5BgEBBQEABAhpZCABAQUBABAUYWZ0ZXIEOG1heWJlX3BlcmlvZGljNQIgcHJpb3JpdHkEEGNhbGz5BgEBBQEAFAhpZCAUYWZ0ZXIEOG1heWJlX3BlcmlvZGljNQIgcHJpb3JpdHkEEGNhbGz5BgEBBQEADBB0YXNrMQIccmV0cmllcwQYcGVyaW9kBAEBBQEADAhpZCAccmV0cmllcwQYcGVyaW9kBAEBBQEABBB0YXNrMQIBAQUBAQUBAAgQd2hlbgQUaW5kZXgEAQEFAQAMEHRhc2sxAghpZA0DGHJlc3VsdGEBAQEFAQAQEHRhc2sxAghpZA0DGHBlcmlvZAQccmV0cmllcwQBAQUBAAgQdGFzazECCGlkDQMBAQUA2QgBAQUA3QgBAQUAJAEBBQBtBgEBBQDlCAEBBQDRCAEBBQBJBAEBBQD5CAEBBQABCQEBBQAJCQEBBQARCQEABBBkYXRhiQYBAQUBAAQcbWVzc2FnZSQBAQUBAQUBAARUcmVsYXlfY2hhaW5fYmxvY2tfbnVtBAEBBQEABBRjb3VudAQBAQUBAAgsd2VpZ2h0X3VzZWQYIGRtcV9oZWFkIAEBBQEABDBtZXNzYWdlX2hhc2gNAwAIACEJACAABAAlCQAEACUJAAgAJQkAKQkBAQUAMQkBAQUANQkAOQkARQkAAABNCQEBBQBtAwEACBBkZXN0qQMcbWVzc2FnZckGAQEFAQAQEGRlc3SpAyxiZW5lZmljaWFyeakDGGFzc2V0c6UDOGZlZV9hc3NldF9pdGVtBAEBBQEACBxtZXNzYWdlyQYobWF4X3dlaWdodBgBAQUBAAggbG9jYXRpb24BAhx2ZXJzaW9uBAEBBQEABERtYXliZV94Y21fdmVyc2lvbuEBAQEFAQAEIGxvY2F0aW9uqQMBAQUBABQQZGVzdKkDLGJlbmVmaWNpYXJ5qQMYYXNzZXRzpQM4ZmVlX2Fzc2V0X2l0ZW0EMHdlaWdodF9saW1pdGUDAQEFAQAEJHN1c3BlbmRlZBQBAQUBAAgYYXNzZXRzpQMsYmVuZWZpY2lhcnmpAwEBBQEAHBBkZXN0qQMYYXNzZXRzpQNQYXNzZXRzX3RyYW5zZmVyX3R5cGXNBjhyZW1vdGVfZmVlc19pZNEGSGZlZXNfdHJhbnNmZXJfdHlwZc0GSGN1c3RvbV94Y21fb25fZGVzdMkGMHdlaWdodF9saW1pdGUDAQEFAQEFAQAEHG91dGNvbWUdAwEBBQEAEBhvcmlnaW4BAixkZXN0aW5hdGlvbgECHG1lc3NhZ2VtAyhtZXNzYWdlX2lkIAEBBQEACBhvcmlnaW4BAiBxdWVyeV9pZAgBAQUBAAggcXVlcnlfaWQIIHJlc3BvbnNlSQMBAQUBAAwgcXVlcnlfaWQIMHBhbGxldF9pbmRleAQoY2FsbF9pbmRleAQBAQUBABQgcXVlcnlfaWQIMHBhbGxldF9pbmRleAQoY2FsbF9pbmRleAQ0YWN0dWFsX3dlaWdodBhMbWF4X2J1ZGdldGVkX3dlaWdodBgBAQUBAAwYb3JpZ2luAQIgcXVlcnlfaWQIRGV4cGVjdGVkX2xvY2F0aW9uTQMBAQUBAAQgcXVlcnlfaWQIAQEFAQAMEGhhc2ggGG9yaWdpbgECGGFzc2V0c6UDAQEFAQAQLGRlc3RpbmF0aW9uAQIYcmVzdWx0BBBjb3N0MQMobWVzc2FnZV9pZCABAQUBAAggbG9jYXRpb24BAhx2ZXJzaW9uBAEBBQEADCBsb2NhdGlvbgECIHF1ZXJ5X2lkCBRlcnJvchkDAQEFAQAIIGxvY2F0aW9uqQMgcXVlcnlfaWQIAQEFAQAQGG9yaWdpbgECIHF1ZXJ5X2lkCEBleHBlY3RlZF9xdWVyaWVyAQJQbWF5YmVfYWN0dWFsX3F1ZXJpZXJNAwEBBQEADCxkZXN0aW5hdGlvbgECEGNvc3QxAyhtZXNzYWdlX2lkIAEBBQEACBhwYXlpbmcBAhBmZWVzMQMBAQUBAAQcdmVyc2lvbgQBAQUAIAEBBQEDCCAdAwEBBQBZCQBdCQAkAQEFAGEJAQEFAQAEMG1lc3NhZ2VfaGFzaCAAuQMAbQkBAQUAuQMAcQkAdQkBAQUAwQEBAAg4bWVzc2FnZV9vcmlnaW65AyhwYWdlX2luZGV4BAEBBQEAEDhtZXNzYWdlX29yaWdpbrkDEHBhZ2UEFGluZGV4BDB3ZWlnaHRfbGltaXQYAQEFAQEFAQAMCGlkIBhvcmlnaW65AxRlcnJvcr0DAQEFAQAQCGlkIBhvcmlnaW65Ayx3ZWlnaHRfdXNlZBgcc3VjY2VzcxQBAQUBABAIaWQgGG9yaWdpbrkDKHBhZ2VfaW5kZXgENG1lc3NhZ2VfaW5kZXgEAQEFAQAIGG9yaWdpbrkDFGluZGV4BAEBBQEACAh0bwECHG1lc3NhZ2VtAwEBBQABAgEBBQCMAQAQLGN1cnJlbmN5X2lkBBhhbW91bnQIEGRlc3SpA0RkZXN0X3dlaWdodF9saW1pdGUDAQEFAQAMFGFzc2V04QYQZGVzdKkDRGRlc3Rfd2VpZ2h0X2xpbWl0ZQMBAQUBABQsY3VycmVuY3lfaWQEGGFtb3VudAgMZmVlCBBkZXN0qQNEZGVzdF93ZWlnaHRfbGltaXRlAwEBBQEAEBRhc3NldOEGDGZlZeEGEGRlc3SpA0RkZXN0X3dlaWdodF9saW1pdGUDAQEFAQAQKGN1cnJlbmNpZXPlBiBmZWVfaXRlbQQQZGVzdKkDRGRlc3Rfd2VpZ2h0X2xpbWl0ZQMBAQUBABAYYXNzZXRzpQMgZmVlX2l0ZW0EEGRlc3SpA0RkZXN0X3dlaWdodF9saW1pdGUDAQEFAQEFAQAQGHNlbmRlcgAYYXNzZXRzMQMMZmVlLQMQZGVzdAECAHkJAAgAfQkACAEBBQEACBRhc3NldC0DDHdobwECAQEFAIUJAQAEDG5ld9EDAQEFAQAEDG1heAQBAQUBAAQQYm9uZAgBAQUBAAQMd2hvAAEBBQEABCxuZXdfZGVwb3NpdAgBAQUBAAgcZGVwb3NpdAgYdGFyZ2V0AAEBBQEBBQEABDRpbnZ1bG5lcmFibGVz0QMBAQUBAAQoYWNjb3VudF9pZAABAQUBAARIZGVzaXJlZF9jYW5kaWRhdGVzBAEBBQEABCxib25kX2Ftb3VudAgBAQUBAAgoYWNjb3VudF9pZAAcZGVwb3NpdAgBAQUBAAwMb2xkAAxuZXcAHGRlcG9zaXQIAQEFAIkJAAAAIACNCQAAAQAIEGtleXMgFHByb29mJAEBBQEBBQEABDRzZXNzaW9uX2luZGV4BAEBBQCRCQEBBQCtCQCxCQC1CQEBBQC5CQEACBhzb3VyY2VZAhhhc3NldHMxAgEBBQEADBxhc3NldF9hqQMcYXNzZXRfYqkDFHByaWNlVQIBAQUBAQUBAAgYc291cmNlWQIYYXNzZXRzMQIBAQUAAQQBAQUBACAcc3dhcHBlcgAYZmlsbGVyACxmaWxsZXJfdHlwZeEDJG9wZXJhdGlvbuUDGGlucHV0c+0DHG91dHB1dHPtAxBmZWVz+QM8b3BlcmF0aW9uX3N0YWNrAQQBAwAAPQQBAwTBCQCMAQMEvQkAxQkBAwAAJAEDBAQA2QEBAwAAPQIBAwQkANUJAQMAAL0JAQME3QkASQQBAwjBCd0JAOEJAQMM5QkkIADtCQEDBL0JAIwBAwTZAQAkAQMEJAD5CQEDAAAIAQMAAMECAQMEvQkA/QkBAwgEAABpCAEDBAAABQoBAwgEAAAIAQMEAAAEAQMIJAQACQoBAwgkBAAVCgEDBBgACAEDBAQACAEDBO0BABkKAQMAAIUEAQME7QEAJAEDAADtAQEDCO0BhQQAIAEDKO0B7QEkhQSFBCUGJQYlBhQdCgAxCgEDJO0BJIUEhQQlBiUGJQYUHQoAOQoBAwAAPQoBAwAAQQoBAwAARQoBAwAASQoBAwRJBACRCAEDAADhAQEDAACMAQMESQQATQoBAwRRBgAkAQMEAADtAQEDBO0BAJ0BAQME7QEAAAEDBAQA7QEBAwTtAQDhAQEDBAQAWQoBAwTJBgBdCgEDCBjRBgBhCgEDCKkDyQYAZQoBAwggCAAUAQMIwQT5BgCFCgEDCKkDyQYAjQoBAwSpAwCVCgEDEAQEXQJZAgDtAQEDBO0BAJ0KAQMAABUEAQMIBAQAmQEBAwgEBAChCgEDAAClCgEDBCQAqQoBAwStCgDZAQEDAACxCrUKAQEBAgEDABAQZnJlZQggcmVzZXJ2ZWQIGGZyb3plbggUZmxhZ3MIABQUbm9uY2UEJGNvbnN1bWVycwQkcHJvdmlkZXJzBCxzdWZmaWNpZW50cwQQZGF0YQwBAAAIIHJlZl90aW1lCChwcm9vZl9zaXplCAAMGG5vcm1hbBgsb3BlcmF0aW9uYWwYJG1hbmRhdG9yeRgFAYAFAAUBEAIUKFByZVJ1bnRpbWUAAwgoJCRDb25zZW5zdXMAAwgoJBBTZWFsAAMIKCQUT3RoZXIBJGRSdW50aW1lRW52aXJvbm1lbnRVcGRhdGVkAAEFBCwAAgw4QXBwbHlFeHRyaW5zaWMBBDBGaW5hbGl6YXRpb24AAQU4SW5pdGlhbGl6YXRpb24AAQUCDBhOb3JtYWwAAQUsT3BlcmF0aW9uYWwAAQUkTWFuZGF0b3J5AAEFAggMWWVzAAEFCE5vAAEFAAwYd2VpZ2h0GBRjbGFzczggcGF5c19mZWU8AiQ8SW52YWxpZFNwZWNOYW1lAAEFaFNwZWNWZXJzaW9uTmVlZHNUb0luY3JlYXNlAAEFdEZhaWxlZFRvRXh0cmFjdFJ1bnRpbWVWZXJzaW9uAAEFTE5vbkRlZmF1bHRDb21wb3NpdGUAAQU8Tm9uWmVyb1JlZkNvdW50AAEFMENhbGxGaWx0ZXJlZAABBWxNdWx0aUJsb2NrTWlncmF0aW9uc09uZ29pbmcAAQVETm90aGluZ0F1dGhvcml6ZWQAAQUwVW5hdXRob3JpemVkAAEFAjA4VmVzdGluZ0JhbGFuY2UAAQVUTGlxdWlkaXR5UmVzdHJpY3Rpb25zAAEFTEluc3VmZmljaWVudEJhbGFuY2UAAQVIRXhpc3RlbnRpYWxEZXBvc2l0AAEFNEV4cGVuZGFiaWxpdHkAAQVcRXhpc3RpbmdWZXN0aW5nU2NoZWR1bGUAAQUsRGVhZEFjY291bnQAAQU8VG9vTWFueVJlc2VydmVzAAEFMFRvb01hbnlIb2xkcwABBThUb29NYW55RnJlZXplcwABBUxJc3N1YW5jZURlYWN0aXZhdGVkAAEFJERlbHRhWmVybwABBQIwTFVuc3VwcG9ydGVkQ3VycmVuY3kAAQUsWmVyb0JhbGFuY2UAAQU8QWxyZWFkeUFjY2VwdGVkAAEFTENvcmVBc3NldE5vdEFsbG93ZWQAAQUkWmVyb1ByaWNlAAEFVEZhbGxiYWNrUHJpY2VOb3RGb3VuZAABBSBPdmVyZmxvdwABBVBFdm1BY2NvdW50Tm90QWxsb3dlZAABBUBFdm1QZXJtaXRFeHBpcmVkAAEFQEV2bVBlcm1pdEludmFsaWQAAQVsRXZtUGVybWl0Q2FsbEV4ZWN1dGlvbkVycm9yAAEFUEV2bVBlcm1pdFJ1bm5lckVycm9yAAEFAiwwSW52YWxpZEluZGV4AAEFQFRvb01hbnlBcHByb3ZhbHMAAQVYSW5zdWZmaWNpZW50UGVybWlzc2lvbgABBUxQcm9wb3NhbE5vdEFwcHJvdmVkAAEFWEZhaWxlZFRvQ29udmVydEJhbGFuY2UAAQUwU3BlbmRFeHBpcmVkAAEFLEVhcmx5UGF5b3V0AAEFQEFscmVhZHlBdHRlbXB0ZWQAAQUsUGF5b3V0RXJyb3IAAQUwTm90QXR0ZW1wdGVkAAEFMEluY29uY2x1c2l2ZQABBQIEMFRvb01hbnlDYWxscwABBQIgGFRvb0JpZwABBTBBbHJlYWR5Tm90ZWQAAQU0Tm90QXV0aG9yaXplZAABBSBOb3ROb3RlZAABBSRSZXF1ZXN0ZWQAAQUwTm90UmVxdWVzdGVkAAEFHFRvb01hbnkAAQUYVG9vRmV3AAEFAmhIVG9vTWFueVN1YkFjY291bnRzAAEFIE5vdEZvdW5kAAEFIE5vdE5hbWVkAAEFKEVtcHR5SW5kZXgAAQUoRmVlQ2hhbmdlZAABBShOb0lkZW50aXR5AAEFPFN0aWNreUp1ZGdlbWVudAABBThKdWRnZW1lbnRHaXZlbgABBUBJbnZhbGlkSnVkZ2VtZW50AAEFMEludmFsaWRJbmRleAABBTRJbnZhbGlkVGFyZ2V0AAEFRFRvb01hbnlSZWdpc3RyYXJzAAEFOEFscmVhZHlDbGFpbWVkAAEFGE5vdFN1YgABBSBOb3RPd25lZAABBXRKdWRnZW1lbnRGb3JEaWZmZXJlbnRJZGVudGl0eQABBVhKdWRnZW1lbnRQYXltZW50RmFpbGVkAAEFNEludmFsaWRTdWZmaXgAAQVQTm90VXNlcm5hbWVBdXRob3JpdHkAAQUwTm9BbGxvY2F0aW9uAAEFQEludmFsaWRTaWduYXR1cmUAAQVEUmVxdWlyZXNTaWduYXR1cmUAAQU8SW52YWxpZFVzZXJuYW1lAAEFNFVzZXJuYW1lVGFrZW4AAQUoTm9Vc2VybmFtZQABBShOb3RFeHBpcmVkAAEFAmAgVmFsdWVMb3cAAQU8UHJvcG9zYWxNaXNzaW5nAAEFPEFscmVhZHlDYW5jZWxlZAABBUREdXBsaWNhdGVQcm9wb3NhbAABBUxQcm9wb3NhbEJsYWNrbGlzdGVkAAEFRE5vdFNpbXBsZU1ham9yaXR5AAEFLEludmFsaWRIYXNoAAEFKE5vUHJvcG9zYWwAAQU0QWxyZWFkeVZldG9lZAABBURSZWZlcmVuZHVtSW52YWxpZAABBSxOb25lV2FpdGluZwABBSBOb3RWb3RlcgABBTBOb1Blcm1pc3Npb24AAQVEQWxyZWFkeURlbGVnYXRpbmcAAQVESW5zdWZmaWNpZW50RnVuZHMAAQU0Tm90RGVsZWdhdGluZwABBShWb3Rlc0V4aXN0AAEFREluc3RhbnROb3RBbGxvd2VkAAEFIE5vbnNlbnNlAAEFPFdyb25nVXBwZXJCb3VuZAABBTxNYXhWb3Rlc1JlYWNoZWQAAQUcVG9vTWFueQABBTxWb3RpbmdQZXJpb2RMb3cAAQVAUHJlaW1hZ2VOb3RFeGlzdAABBQIsJE5vdE1lbWJlcgABBUREdXBsaWNhdGVQcm9wb3NhbAABBTxQcm9wb3NhbE1pc3NpbmcAAQUoV3JvbmdJbmRleAABBTREdXBsaWNhdGVWb3RlAAEFSEFscmVhZHlJbml0aWFsaXplZAABBSBUb29FYXJseQABBUBUb29NYW55UHJvcG9zYWxzAAEFTFdyb25nUHJvcG9zYWxXZWlnaHQAAQVMV3JvbmdQcm9wb3NhbExlbmd0aAABBVRQcmltZUFjY291bnROb3RNZW1iZXIAAQUCIBxUb29NYW55AAEFIE5vdEZvdW5kAAEFIE5vdFByb3h5AAEFLFVucHJveHlhYmxlAAEFJER1cGxpY2F0ZQABBTBOb1Blcm1pc3Npb24AAQUsVW5hbm5vdW5jZWQAAQUsTm9TZWxmUHJveHkAAQUCOEBNaW5pbXVtVGhyZXNob2xkAAEFPEFscmVhZHlBcHByb3ZlZAABBUROb0FwcHJvdmFsc05lZWRlZAABBURUb29GZXdTaWduYXRvcmllcwABBUhUb29NYW55U2lnbmF0b3JpZXMAAQVUU2lnbmF0b3JpZXNPdXRPZk9yZGVyAAEFTFNlbmRlckluU2lnbmF0b3JpZXMAAQUgTm90Rm91bmQAAQUgTm90T3duZXIAAQUsTm9UaW1lcG9pbnQAAQU4V3JvbmdUaW1lcG9pbnQAAQVMVW5leHBlY3RlZFRpbWVwb2ludAABBTxNYXhXZWlnaHRUb29Mb3cAAQU0QWxyZWFkeVN0b3JlZAABBQJIME5vUGVybWlzc2lvbgABBURVbmtub3duQ29sbGVjdGlvbgABBTRBbHJlYWR5RXhpc3RzAAEFKFdyb25nT3duZXIAAQUoQmFkV2l0bmVzcwABBRRJblVzZQABBRhGcm96ZW4AAQU0V3JvbmdEZWxlZ2F0ZQABBShOb0RlbGVnYXRlAAEFKFVuYXBwcm92ZWQAAQUoVW5hY2NlcHRlZAABBRhMb2NrZWQAAQVATWF4U3VwcGx5UmVhY2hlZAABBUxNYXhTdXBwbHlBbHJlYWR5U2V0AAEFRE1heFN1cHBseVRvb1NtYWxsAAEFLFVua25vd25JdGVtAAEFKE5vdEZvclNhbGUAAQUkQmlkVG9vTG93AAEFAhg8TWF4U2lnbmVkTGltaXRzAAEFKEtleVRvb0xvbmcAAQU4Tm90RW5vdWdoRnVuZHMAAQUoQmFkV2l0bmVzcwABBWRTaWduZWRNaWdyYXRpb25Ob3RBbGxvd2VkAAEFMEJhZENoaWxkUm9vdAABBQIwKE5vdE9uZ29pbmcAAQUgTm90Vm90ZXIAAQUwTm9QZXJtaXNzaW9uAAEFPE5vUGVybWlzc2lvbllldAABBURBbHJlYWR5RGVsZWdhdGluZwABBTRBbHJlYWR5Vm90aW5nAAEFREluc3VmZmljaWVudEZ1bmRzAAEFNE5vdERlbGVnYXRpbmcAAQUgTm9uc2Vuc2UAAQU8TWF4Vm90ZXNSZWFjaGVkAAEFLENsYXNzTmVlZGVkAAEFIEJhZENsYXNzAAEFAjgoTm90T25nb2luZwABBShIYXNEZXBvc2l0AAEFIEJhZFRyYWNrAAEFEEZ1bGwAAQUoUXVldWVFbXB0eQABBTRCYWRSZWZlcmVuZHVtAAEFLE5vdGhpbmdUb0RvAAEFHE5vVHJhY2sAAQUoVW5maW5pc2hlZAABBTBOb1Blcm1pc3Npb24AAQUkTm9EZXBvc2l0AAEFJEJhZFN0YXR1cwABBUBQcmVpbWFnZU5vdEV4aXN0AAEFhFByZWltYWdlU3RvcmVkV2l0aERpZmZlcmVudExlbmd0aAABBQIUTFVuYXZhaWxhYmxlUHJlSW1hZ2UAAQU8VW5kZWNvZGFibGVDYWxsAAEFYEludmFsaWRDYWxsV2VpZ2h0V2l0bmVzcwABBVBDYWxsSXNOb3RXaGl0ZWxpc3RlZAABBVhDYWxsQWxyZWFkeVdoaXRlbGlzdGVkAAEFAjw0Tm9JZEF2YWlsYWJsZQABBTRBc3NldE5vdEZvdW5kAAEFIFRvb1Nob3J0AAEFNEludmFsaWRTeW1ib2wAAQVIQXNzZXROb3RSZWdpc3RlcmVkAAEFWEFzc2V0QWxyZWFkeVJlZ2lzdGVyZWQAAQVUSW52YWxpZFNoYXJlZEFzc2V0TGVuAAEFUENhbm5vdFVwZGF0ZUxvY2F0aW9uAAEFSE5vdEluUmVzZXJ2ZWRSYW5nZQABBWRMb2NhdGlvbkFscmVhZHlSZWdpc3RlcmVkAAEFJEZvcmJpZGRlbgABBUxJbnN1ZmZpY2llbnRCYWxhbmNlAAEFaEZvcmJpZGRlblN1ZmZpY2llbmN5Q2hhbmdlAAEFSEFzc2V0QWxyZWFkeUJhbm5lZAABBThBc3NldE5vdEJhbm5lZAABBQIMYEludmFsaWRFdGhlcmV1bVNpZ25hdHVyZQABBVxOb0NsYWltT3JBbHJlYWR5Q2xhaW1lZAABBTxCYWxhbmNlT3ZlcmZsb3cAAQUBBQKATEluc3VmZmljaWVudEJhbGFuY2UAAQVEQXNzZXRBbHJlYWR5QWRkZWQAAQU0QXNzZXROb3RGb3VuZAABBThNaXNzaW5nQmFsYW5jZQABBWBJbnZhbGlkSW5pdGlhbEFzc2V0UHJpY2UAAQVIQnV5TGltaXROb3RSZWFjaGVkAAEFRFNlbGxMaW1pdEV4Y2VlZGVkAAEFQFBvc2l0aW9uTm90Rm91bmQAAQVISW5zdWZmaWNpZW50U2hhcmVzAAEFKE5vdEFsbG93ZWQAAQUkRm9yYmlkZGVuAAEFWEFzc2V0V2VpZ2h0Q2FwRXhjZWVkZWQAAQVIQXNzZXROb3RSZWdpc3RlcmVkAAEFVEluc3VmZmljaWVudExpcXVpZGl0eQABBWRJbnN1ZmZpY2llbnRUcmFkaW5nQW1vdW50AAEFYFNhbWVBc3NldFRyYWRlTm90QWxsb3dlZAABBUxIdWJBc3NldFVwZGF0ZUVycm9yAAEFTEludmFsaWRTaGFyZXNBbW91bnQAAQVwSW52YWxpZEh1YkFzc2V0VHJhZGFibGVTdGF0ZQABBVRBc3NldFJlZnVuZE5vdEFsbG93ZWQAAQVMTWF4T3V0UmF0aW9FeGNlZWRlZAABBUhNYXhJblJhdGlvRXhjZWVkZWQAAQVYUHJpY2VEaWZmZXJlbmNlVG9vSGlnaAABBUhJbnZhbGlkT3JhY2xlUHJpY2UAAQVQSW52YWxpZFdpdGhkcmF3YWxGZWUAAQUwRmVlT3ZlcmRyYWZ0AAEFPFNoYXJlc1JlbWFpbmluZwABBThBc3NldE5vdEZyb3plbgABBTRaZXJvQW1vdW50T3V0AAEFeEV4aXN0ZW50aWFsRGVwb3NpdE5vdEF2YWlsYWJsZQABBTRTbGlwcGFnZUxpbWl0AAEFWFByb3RvY29sRmVlTm90Q29uc3VtZWQAAQUCDCxDYW5ub3RQYXVzZQABBUBJbnZhbGlkQ2hhcmFjdGVyAAEFLE5hbWVUb29Mb25nAAEFAhhIQWNjb3VudEJsYWNrbGlzdGVkAAEFVEFjY291bnROb3RCbGFja2xpc3RlZAABBSxaZXJvQmFsYW5jZQABBURCYWxhbmNlU3VmZmljaWVudAABBUREdXN0QWNjb3VudE5vdFNldAABBVBSZXNlcnZlQWNjb3VudE5vdFNldAABBQJERFlpZWxkRmFybU5vdEZvdW5kAAEFSEdsb2JhbEZhcm1Ob3RGb3VuZAABBVBMaXF1aWRpdHlJc05vdEFjdGl2ZQABBVRHbG9iYWxGYXJtSXNOb3RBY3RpdmUAAQU8RGVwb3NpdE5vdEZvdW5kAAEFNEludmFsaWRQZXJpb2QAAQVsTm90RW5vdWdoUmV3YXJkc0luWWllbGRGYXJtAAEFZEludmFsaWRMaXZlWWllbEZhcm1zQ291bnQAAQVsSW52YWxpZFRvdGFsWWllbGRGYXJtc0NvdW50AAEFcEludmFsaWRZaWVsZEZhcm1FbnRyaWVzQ291bnQAAQVISW52YWxpZFRvdGFsU2hhcmVzAAEFTEludmFsaWRWYWx1ZWRTaGFyZXMAAQVMSW52YWxpZFRvdGFsU2hhcmVzWgABBXRJbnZhbGlkUGFpZEFjY3VtdWxhdGVkUmV3YXJkcwABBTRJbnZhbGlkRmFybUlkAAEFYEludmFsaWRMb3lhbHR5TXVsdGlwbGllcgABBXBOb0V4aXN0ZW50aWFsRGVwb3NpdEZvckFzc2V0AAEFAnRIR2xvYmFsRmFybU5vdEZvdW5kAAEFRFlpZWxkRmFybU5vdEZvdW5kAAEFTERvdWJsZUNsYWltSW5QZXJpb2QAAQVcTGlxdWlkaXR5TWluaW5nQ2FuY2VsZWQAAQVcTGlxdWlkaXR5TWluaW5nSXNBY3RpdmUAAQVsTGlxdWlkaXR5TWluaW5nSXNOb3RTdG9wcGVkAAEFJEZvcmJpZGRlbgABBURJbnZhbGlkTXVsdGlwbGllcgABBVhZaWVsZEZhcm1BbHJlYWR5RXhpc3RzAAEFeEludmFsaWRJbml0aWFsUmV3YXJkUGVyY2VudGFnZQABBVBHbG9iYWxGYXJtSXNOb3RFbXB0eQABBWBNaXNzaW5nSW5jZW50aXZpemVkQXNzZXQAAQWESW5zdWZmaWNpZW50UmV3YXJkQ3VycmVuY3lCYWxhbmNlAAEFWEludmFsaWRCbG9ja3NQZXJQZXJpb2QAAQVUSW52YWxpZFlpZWxkUGVyUGVyaW9kAAEFTEludmFsaWRUb3RhbFJld2FyZHMAAQV0SW52YWxpZFBsYW5uZWRZaWVsZGluZ1BlcmlvZHMAAQVQTWF4RW50cmllc1BlckRlcG9zaXQAAQUoRG91YmxlTG9jawABBVhZaWVsZEZhcm1FbnRyeU5vdEZvdW5kAAEFQEdsb2JhbEZhcm1Jc0Z1bGwAAQVESW52YWxpZE1pbkRlcG9zaXQAAQVYSW52YWxpZFByaWNlQWRqdXN0bWVudAABBURFcnJvckdldEFjY291bnRJZAABBVRJbmNvcnJlY3RWYWx1ZWRTaGFyZXMAAQVsUmV3YXJkQ3VycmVuY3lOb3RSZWdpc3RlcmVkAAEFeEluY2VudGl2aXplZEFzc2V0Tm90UmVnaXN0ZXJlZAABBURBbW1Qb29sSWRNaXNtYXRjaAABBURJbmNvbnNpc3RlbnRTdGF0ZQGcAghETWlzc2luZ0xwUG9zaXRpb24AAQVMRGVwb3NpdERhdGFOb3RGb3VuZAABBQIcNEFzc2V0Tm90Rm91bmQAAQUkRm9yYmlkZGVuAAEFSFplcm9DbGFpbWVkUmV3YXJkcwABBURJbmNvbnNpc3RlbnRTdGF0ZQGkSE9yYWNsZU5vdEF2YWlsYWJsZQABBWxQcmljZUFkanVzdG1lbnROb3RBdmFpbGFibGUAAQVYTm9GYXJtRW50cmllc1NwZWNpZmllZAABBQIgSEFzc2V0Tm90UmVnaXN0ZXJlZAABBTRPcmRlck5vdEZvdW5kAAEFRE9yZGVySWRPdXRPZkJvdW5kAAEFZE9yZGVyTm90UGFydGlhbGx5RmlsbGFibGUAAQVMT3JkZXJBbW91bnRUb29TbWFsbAABBSRNYXRoRXJyb3IAAQUkRm9yYmlkZGVuAAEFaEluc3VmZmljaWVudFJlc2VydmVkQW1vdW50AAEFAiRESW52YWxpZExpbWl0VmFsdWUAAQV8TGlxdWlkaXR5TGltaXROb3RTdG9yZWRGb3JBc3NldAABBWBUb2tlbk91dGZsb3dMaW1pdFJlYWNoZWQAAQVcVG9rZW5JbmZsdXhMaW1pdFJlYWNoZWQAAQWATWF4TGlxdWlkaXR5TGltaXRQZXJCbG9ja1JlYWNoZWQAAQUoTm90QWxsb3dlZAABBTxBc3NldEluTG9ja2Rvd24AAQVIQXNzZXROb3RJbkxvY2tkb3duAAEFNEludmFsaWRBbW91bnQAAQUCKExUcmFkaW5nTGltaXRSZWFjaGVkAAEFRE1heFRyYWRlc0V4Y2VlZGVkAAEFQFBvb2xOb3RTdXBwb3J0ZWQAAQVMSW5zdWZmaWNpZW50QmFsYW5jZQABBVhSb3V0ZUNhbGN1bGF0aW9uRmFpbGVkAAEFMEludmFsaWRSb3V0ZQABBWhSb3V0ZVVwZGF0ZUlzTm90U3VjY2Vzc2Z1bAABBUBSb3V0ZUhhc05vT3JhY2xlAAEFVEludmFsaWRSb3V0ZUV4ZWN1dGlvbgABBShOb3RBbGxvd2VkAAEFAgRQSW52YWxpZEZlZVBhcmFtZXRlcnMAAQUCFEBQb3NpdGlvbk5vdEZvdW5kAAEFWE5lZ2F0aXZlUGVuZGluZ1Jld2FyZHMAAQVUTmVnYXRpdmVVbnBhaWRSZXdhcmRzAAEFQFRvb01hbnlQb3NpdGlvbnMAAQUoQXJpdGhtZXRpYwABBQI0TEluc3VmZmljaWVudEJhbGFuY2UAAQVESW5zdWZmaWNpZW50U3Rha2UAAQVAUG9zaXRpb25Ob3RGb3VuZAABBTxNYXhWb3Rlc1JlYWNoZWQAAQU4Tm90SW5pdGlhbGl6ZWQAAQVIQWxyZWFkeUluaXRpYWxpemVkAAEFKEFyaXRobWV0aWMAAQVETWlzc2luZ1BvdEJhbGFuY2UAAQVUUG9zaXRpb25BbHJlYWR5RXhpc3RzAAEFJEZvcmJpZGRlbgABBTRFeGlzdGluZ1ZvdGVzAAEFWEV4aXN0aW5nUHJvY2Vzc2VkVm90ZXMAAQVESW5jb25zaXN0ZW50U3RhdGUBvAJwPEluY29ycmVjdEFzc2V0cwABBURNYXhBc3NldHNFeGNlZWRlZAABBTBQb29sTm90Rm91bmQAAQUoUG9vbEV4aXN0cwABBThBc3NldE5vdEluUG9vbAABBVxTaGFyZUFzc2V0Tm90UmVnaXN0ZXJlZAABBVhTaGFyZUFzc2V0SW5Qb29sQXNzZXRzAAEFSEFzc2V0Tm90UmVnaXN0ZXJlZAABBUhJbnZhbGlkQXNzZXRBbW91bnQAAQVMSW5zdWZmaWNpZW50QmFsYW5jZQABBUhJbnN1ZmZpY2llbnRTaGFyZXMAAQVUSW5zdWZmaWNpZW50TGlxdWlkaXR5AAEFeEluc3VmZmljaWVudExpcXVpZGl0eVJlbWFpbmluZwABBWRJbnN1ZmZpY2llbnRUcmFkaW5nQW1vdW50AAEFSEJ1eUxpbWl0Tm90UmVhY2hlZAABBURTZWxsTGltaXRFeGNlZWRlZAABBVxJbnZhbGlkSW5pdGlhbExpcXVpZGl0eQABBVBJbnZhbGlkQW1wbGlmaWNhdGlvbgABBWBJbnN1ZmZpY2llbnRTaGFyZUJhbGFuY2UAAQUoTm90QWxsb3dlZAABBSRQYXN0QmxvY2sAAQVEU2FtZUFtcGxpZmljYXRpb24AAQU0U2xpcHBhZ2VMaW1pdAABBTxVbmtub3duRGVjaW1hbHMAAQVQSW5jb3JyZWN0SW5pdGlhbFBlZ3MAAQVYTWlzc2luZ1RhcmdldFBlZ09yYWNsZQABBVhJbmNvcnJlY3RBc3NldERlY2ltYWxzAAEFLE5vUGVnU291cmNlAAEFAhw0Tm90UmVnaXN0ZXJlZAABBSROb3RNYXR1cmUAAQU8SW52YWxpZE1hdHVyaXR5AAEFPERpc2FsbG93ZWRBc3NldAABBTRBc3NldE5vdEZvdW5kAAEFPEludmFsaWRCb25kTmFtZQABBTxGYWlsVG9QYXJzZU5hbWUAAQUCHDRPcmRlck5vdEZvdW5kAAEFUE5vdFBhcnRpYWxseUZpbGxhYmxlAAEFMEludmFsaWRSb3V0ZQABBVBCYWxhbmNlSW5jb25zaXN0ZW5jeQABBUhUcmFkZUFtb3VudFRvb0hpZ2gAAQVEVHJhZGVBbW91bnRUb29Mb3cAAQVEUHJpY2VOb3RBdmFpbGFibGUAAQUCXHhDYW5ub3RDcmVhdGVQb29sV2l0aFNhbWVBc3NldHMAAQUgTm90T3duZXIAAQUsU2FsZVN0YXJ0ZWQAAQUwU2FsZU5vdEVuZGVkAAEFQFNhbGVJc05vdFJ1bm5pbmcAAQVcTWF4U2FsZUR1cmF0aW9uRXhjZWVkZWQAAQVYQ2Fubm90QWRkWmVyb0xpcXVpZGl0eQABBWBJbnN1ZmZpY2llbnRBc3NldEJhbGFuY2UAAQUwUG9vbE5vdEZvdW5kAAEFRFBvb2xBbHJlYWR5RXhpc3RzAAEFREludmFsaWRCbG9ja1JhbmdlAAEFWFdlaWdodENhbGN1bGF0aW9uRXJyb3IAAQU0SW52YWxpZFdlaWdodAABBShaZXJvQW1vdW50AAEFSE1heEluUmF0aW9FeGNlZWRlZAABBUxNYXhPdXRSYXRpb0V4Y2VlZGVkAAEFQEZlZUFtb3VudEludmFsaWQAAQVMVHJhZGluZ0xpbWl0UmVhY2hlZAABBSBPdmVyZmxvdwABBTxOb3RoaW5nVG9VcGRhdGUAAQVUSW5zdWZmaWNpZW50TGlxdWlkaXR5AAEFZEluc3VmZmljaWVudFRyYWRpbmdBbW91bnQAAQWARmVlQ29sbGVjdG9yV2l0aEFzc2V0QWxyZWFkeVVzZWQAAQUCaHhDYW5ub3RDcmVhdGVQb29sV2l0aFNhbWVBc3NldHMAAQVUSW5zdWZmaWNpZW50TGlxdWlkaXR5AAEFZEluc3VmZmljaWVudFRyYWRpbmdBbW91bnQAAQU0WmVyb0xpcXVpZGl0eQABBUBaZXJvSW5pdGlhbFByaWNlAAEFcENyZWF0ZVBvb2xBc3NldEFtb3VudEludmFsaWQAAQVYSW52YWxpZE1pbnRlZExpcXVpZGl0eQABBVhJbnZhbGlkTGlxdWlkaXR5QW1vdW50AAEFYEFzc2V0QW1vdW50RXhjZWVkZWRMaW1pdAABBWhBc3NldEFtb3VudE5vdFJlYWNoZWRMaW1pdAABBWBJbnN1ZmZpY2llbnRBc3NldEJhbGFuY2UAAQVwSW5zdWZmaWNpZW50UG9vbEFzc2V0QmFsYW5jZQABBYRJbnN1ZmZpY2llbnROYXRpdmVDdXJyZW5jeUJhbGFuY2UAAQVEVG9rZW5Qb29sTm90Rm91bmQAAQVYVG9rZW5Qb29sQWxyZWFkeUV4aXN0cwABBVRBZGRBc3NldEFtb3VudEludmFsaWQAAQVgUmVtb3ZlQXNzZXRBbW91bnRJbnZhbGlkAAEFWFNlbGxBc3NldEFtb3VudEludmFsaWQAAQVUQnV5QXNzZXRBbW91bnRJbnZhbGlkAAEFQEZlZUFtb3VudEludmFsaWQAAQVMQ2Fubm90QXBwbHlEaXNjb3VudAABBUxNYXhPdXRSYXRpb0V4Y2VlZGVkAAEFSE1heEluUmF0aW9FeGNlZWRlZAABBSBPdmVyZmxvdwABBUBDYW5ub3RDcmVhdGVQb29sAAEFNFNsaXBwYWdlTGltaXQAAQUCOBxUb29Mb25nAAEFIFRvb1Nob3J0AAEFQEludmFsaWRDaGFyYWN0ZXIAAQU0QWxyZWFkeUV4aXN0cwABBSxJbnZhbGlkQ29kZQABBTRBbHJlYWR5TGlua2VkAAEFKFplcm9BbW91bnQAAQU4TGlua05vdEFsbG93ZWQAAQVoSW5jb3JyZWN0UmV3YXJkQ2FsY3VsYXRpb24AAQVkSW5jb3JyZWN0UmV3YXJkUGVyY2VudGFnZQABBURBbHJlYWR5UmVnaXN0ZXJlZAABBTRQcmljZU5vdEZvdW5kAAEFkENvbnZlcnNpb25NaW5UcmFkaW5nQW1vdW50Tm90UmVhY2hlZAABBXBDb252ZXJzaW9uWmVyb0Ftb3VudFJlY2VpdmVkAAEFAhhUQXNzZXRDb252ZXJzaW9uRmFpbGVkAAEFVExpcXVpZGF0aW9uQ2FsbEZhaWxlZAABBTBJbnZhbGlkUm91dGUAAQU0Tm90UHJvZml0YWJsZQABBURGbGFzaE1pbnRlck5vdFNldAABBVhJbnZhbGlkTGlxdWlkYXRpb25EYXRhAAEFAlhAQXNzZXROb3RBcHByb3ZlZAABBVBBc3NldEFscmVhZHlBcHByb3ZlZAABBWBQb29sQWxyZWFkeUhhc0NvbGxhdGVyYWwAAQVASW52YWxpZEFzc2V0UGFpcgABBUxNYXhCdXlQcmljZUV4Y2VlZGVkAAEFSE1heEJ1eUJhY2tFeGNlZWRlZAABBUhNYXhIb2xkaW5nRXhjZWVkZWQAAQVUU2xpcHBhZ2VMaW1pdEV4Y2VlZGVkAAEFVEludmFsaWRFVk1JbnRlcmFjdGlvbgABBVhEZWNpbWFsUmV0cmlldmFsRmFpbGVkAAEFWE5vQXJiaXRyYWdlT3Bwb3J0dW5pdHkAAQVET2ZmY2hhaW5Mb2NrRXJyb3IAAQU0QXNzZXROb3RGb3VuZAABBUBJbnZhbGlkUG9vbFN0YXRlAAEFSENvbGxhdGVyYWxOb3RFbXB0eQABBThBc3NldE5vdEluUG9vbAABBTxIb2xsYXJOb3RJblBvb2wAAQV0SW5zdWZmaWNpZW50Q29sbGF0ZXJhbEJhbGFuY2UAAQV0SG9sbGFyQ29udHJhY3RBZGRyZXNzTm90Rm91bmQAAQV0TWF4TnVtYmVyT2ZDb2xsYXRlcmFsc1JlYWNoZWQAAQVERmxhc2hNaW50ZXJOb3RTZXQAAQVQSW52YWxpZEFyYml0cmFnZURhdGEAAQUCIDRCYWxhbmNlVG9vTG93AAEFXEFtb3VudEludG9CYWxhbmNlRmFpbGVkAAEFVExpcXVpZGl0eVJlc3RyaWN0aW9ucwABBUBNYXhMb2Nrc0V4Y2VlZGVkAAEFJEtlZXBBbGl2ZQABBUhFeGlzdGVudGlhbERlcG9zaXQAAQUsRGVhZEFjY291bnQAAQU8VG9vTWFueVJlc2VydmVzAAEFAhBcQW1vdW50SW50b0JhbGFuY2VGYWlsZWQAAQU0QmFsYW5jZVRvb0xvdwABBTREZXBvc2l0RmFpbGVkAAEFME5vdFN1cHBvcnRlZAABBQIYRFplcm9WZXN0aW5nUGVyaW9kAAEFWFplcm9WZXN0aW5nUGVyaW9kQ291bnQAAQVkSW5zdWZmaWNpZW50QmFsYW5jZVRvTG9jawABBVxUb29NYW55VmVzdGluZ1NjaGVkdWxlcwABBSRBbW91bnRMb3cAAQVsTWF4VmVzdGluZ1NjaGVkdWxlc0V4Y2VlZGVkAAEFAjQoQmFsYW5jZUxvdwABBSxGZWVPdmVyZmxvdwABBTxQYXltZW50T3ZlcmZsb3cAAQU4V2l0aGRyYXdGYWlsZWQAAQU4R2FzUHJpY2VUb29Mb3cAAQUwSW52YWxpZE5vbmNlAAEFOEdhc0xpbWl0VG9vTG93AAEFPEdhc0xpbWl0VG9vSGlnaAABBThJbnZhbGlkQ2hhaW5JZAABBUBJbnZhbGlkU2lnbmF0dXJlAAEFKFJlZW50cmFuY3kAAQVoVHJhbnNhY3Rpb25NdXN0Q29tZUZyb21FT0EAAQUkVW5kZWZpbmVkAAEFAghASW52YWxpZFNpZ25hdHVyZQABBTBQcmVMb2dFeGlzdHMAAQUCEGxUcnVuY2F0ZWRBY2NvdW50QWxyZWFkeVVzZWQAAQVMQWRkcmVzc0FscmVhZHlCb3VuZAABBWBCb3VuZEFkZHJlc3NDYW5ub3RCZVVzZWQAAQVUQWRkcmVzc05vdFdoaXRlbGlzdGVkAAEFAjRQQ2FudEZpbmREZXBvc2l0T3duZXIAAQVwSW5zdWZmaWNpZW50WHlrU2hhcmVzQmFsYW5jZQABBUhYeWtQb29sRG9lc250RXhpc3QAAQU8Tm90RGVwb3NpdE93bmVyAAEFQENhbnRHZXRYeWtBc3NldHMAAQVMRGVwb3NpdERhdGFOb3RGb3VuZAABBUhaZXJvQ2xhaW1lZFJld2FyZHMAAQVMQXNzZXROb3RJbkFzc2V0UGFpcgABBUBJbnZhbGlkQXNzZXRQYWlyAAEFSEFzc2V0Tm90UmVnaXN0ZXJlZAABBThGYWlsVG9HZXRQb3RJZAABBUBOb0Zhcm1zU3BlY2lmaWVkAAEFTEZhaWxlZFRvVmFsdWVTaGFyZXMAAQUCUEBTY2hlZHVsZU5vdEZvdW5kAAEFYE1pblRyYWRlQW1vdW50Tm90UmVhY2hlZAABBSRGb3JiaWRkZW4AAQVgQmxvY2tOdW1iZXJJc05vdEluRnV0dXJlAAEFNFByaWNlVW5zdGFibGUAAQUYQnVtcGVkAAEFVENhbGN1bGF0aW5nUHJpY2VFcnJvcgABBYRUb3RhbEFtb3VudElzU21hbGxlclRoYW5NaW5CdWRnZXQAAQUwQnVkZ2V0VG9vTG93AAEFQE5vRnJlZUJsb2NrRm91bmQAAQVITWFudWFsbHlUZXJtaW5hdGVkAAEFPE1heFJldHJ5UmVhY2hlZAABBURUcmFkZUxpbWl0UmVhY2hlZAABBVBTbGlwcGFnZUxpbWl0UmVhY2hlZAABBUROb1BhcmVudEhhc2hGb3VuZAABBTBJbnZhbGlkU3RhdGUAAQU4UGVyaW9kVG9vU2hvcnQAAQVkU3RhYmlsaXR5VGhyZXNob2xkVG9vSGlnaAABBUhIYXNBY3RpdmVTY2hlZHVsZXMAAQVATm9SZXNlcnZlc0xvY2tlZAABBQIUQEZhaWxlZFRvU2NoZWR1bGUAAQUgTm90Rm91bmQAAQVcVGFyZ2V0QmxvY2tOdW1iZXJJblBhc3QAAQVIUmVzY2hlZHVsZU5vQ2hhbmdlAAEFFE5hbWVkAAEFAiBMT3ZlcmxhcHBpbmdVcGdyYWRlcwABBVBQcm9oaWJpdGVkQnlQb2xrYWRvdAABBRhUb29CaWcAAQVoVmFsaWRhdGlvbkRhdGFOb3RBdmFpbGFibGUAAQV0SG9zdENvbmZpZ3VyYXRpb25Ob3RBdmFpbGFibGUAAQUwTm90U2NoZWR1bGVkAAEFRE5vdGhpbmdBdXRob3JpemVkAAEFMFVuYXV0aG9yaXplZAABBQJgLFVucmVhY2hhYmxlAAEFLFNlbmRGYWlsdXJlAAEFIEZpbHRlcmVkAAEFSFVud2VpZ2hhYmxlTWVzc2FnZQABBWBEZXN0aW5hdGlvbk5vdEludmVydGlibGUAAQUURW1wdHkAAQU4Q2Fubm90UmVhbmNob3IAAQU0VG9vTWFueUFzc2V0cwABBTRJbnZhbGlkT3JpZ2luAAEFKEJhZFZlcnNpb24AAQUsQmFkTG9jYXRpb24AAQU4Tm9TdWJzY3JpcHRpb24AAQVEQWxyZWFkeVN1YnNjcmliZWQAAQVYQ2Fubm90Q2hlY2tPdXRUZWxlcG9ydAABBShMb3dCYWxhbmNlAAEFMFRvb01hbnlMb2NrcwABBUxBY2NvdW50Tm90U292ZXJlaWduAAEFKEZlZXNOb3RNZXQAAQUwTG9ja05vdEZvdW5kAAEFFEluVXNlAAEFaEludmFsaWRBc3NldFVua25vd25SZXNlcnZlAAEFeEludmFsaWRBc3NldFVuc3VwcG9ydGVkUmVzZXJ2ZQABBTxUb29NYW55UmVzZXJ2ZXMAAQVgTG9jYWxFeGVjdXRpb25JbmNvbXBsZXRlAAEFAhQ4QmFkUXVldWVDb25maWcAAQVAQWxyZWFkeVN1c3BlbmRlZAABBThBbHJlYWR5UmVzdW1lZAABBXRUb29NYW55QWN0aXZlT3V0Ym91bmRDaGFubmVscwABBRhUb29CaWcAAQUCJCxOb3RSZWFwYWJsZQABBRhOb1BhZ2UAAQUkTm9NZXNzYWdlAAEFQEFscmVhZHlQcm9jZXNzZWQAAQUYUXVldWVkAAEFSEluc3VmZmljaWVudFdlaWdodAABBWBUZW1wb3JhcmlseVVucHJvY2Vzc2FibGUAAQUsUXVldWVQYXVzZWQAAQVMUmVjdXJzaXZlRGlzYWxsb3dlZAABBQIMLFVucmVhY2hhYmxlAAEFLFNlbmRGYWlsdXJlAAEFKEJhZFZlcnNpb24AAQUCUERBc3NldEhhc05vUmVzZXJ2ZQABBVROb3RDcm9zc0NoYWluVHJhbnNmZXIAAQUsSW52YWxpZERlc3QAAQWETm90Q3Jvc3NDaGFpblRyYW5zZmVyYWJsZUN1cnJlbmN5AAEFSFVud2VpZ2hhYmxlTWVzc2FnZQABBUhYY21FeGVjdXRpb25GYWlsZWQAAQU4Q2Fubm90UmVhbmNob3IAAQU8SW52YWxpZEFuY2VzdHJ5AAEFMEludmFsaWRBc3NldAABBWBEZXN0aW5hdGlvbk5vdEludmVydGlibGUAAQUoQmFkVmVyc2lvbgABBXREaXN0aW5jdFJlc2VydmVGb3JBc3NldEFuZEZlZQABBRxaZXJvRmVlAAEFKFplcm9BbW91bnQAAQVYVG9vTWFueUFzc2V0c0JlaW5nU2VudAABBVRBc3NldEluZGV4Tm9uRXhpc3RlbnQAAQUwRmVlTm90RW5vdWdoAAEFUE5vdFN1cHBvcnRlZExvY2F0aW9uAAEFTE1pblhjbUZlZU5vdERlZmluZWQAAQUsUmF0ZUxpbWl0ZWQAAQUCDDRCYWxhbmNlVG9vTG93AAEFPEJhbGFuY2VPdmVyZmxvdwABBThVbmhhbmRsZWRBc3NldAABBQJERFRvb01hbnlDYW5kaWRhdGVzAAEFXFRvb0Zld0VsaWdpYmxlQ29sbGF0b3JzAAEFQEFscmVhZHlDYW5kaWRhdGUAAQUwTm90Q2FuZGlkYXRlAAEFUFRvb01hbnlJbnZ1bG5lcmFibGVzAAEFTEFscmVhZHlJbnZ1bG5lcmFibGUAAQU8Tm90SW52dWxuZXJhYmxlAAEFXE5vQXNzb2NpYXRlZFZhbGlkYXRvcklkAAEFWFZhbGlkYXRvck5vdFJlZ2lzdGVyZWQAAQVsSW5zZXJ0VG9DYW5kaWRhdGVMaXN0RmFpbGVkAAEFdFJlbW92ZUZyb21DYW5kaWRhdGVMaXN0RmFpbGVkAAEFNERlcG9zaXRUb29Mb3cAAQVkVXBkYXRlQ2FuZGlkYXRlTGlzdEZhaWxlZAABBUBJbnN1ZmZpY2llbnRCb25kAAEFUFRhcmdldElzTm90Q2FuZGlkYXRlAAEFQElkZW50aWNhbERlcG9zaXQAAQVASW52YWxpZFVucmVzZXJ2ZQABBQIUMEludmFsaWRQcm9vZgABBVxOb0Fzc29jaWF0ZWRWYWxpZGF0b3JJZAABBTREdXBsaWNhdGVkS2V5AAEFGE5vS2V5cwABBSROb0FjY291bnQAAQUCFFBUb29NYW55VW5pcXVlRW50cmllcwABBUBPblRyYWRlVmFsdWVaZXJvAAEFOE9yYWNsZU5vdEZvdW5kAAEFNEFzc2V0Tm90Rm91bmQAAQVgUHJpY2VPdXRzaWRlQWxsb3dlZFJhbmdlAAEFAghoRXhlY3V0aW9uQ2FsbFN0YWNrT3ZlcmZsb3cAAQVsRXhlY3V0aW9uQ2FsbFN0YWNrVW5kZXJmbG93AAEFAiEBGFN5c3RlbQFEJFRpbWVzdGFtcAABBSBCYWxhbmNlcwFISFRyYW5zYWN0aW9uUGF5bWVudAABBVxNdWx0aVRyYW5zYWN0aW9uUGF5bWVudAFMIFRyZWFzdXJ5AVAcVXRpbGl0eQFUIFByZWltYWdlAVggSWRlbnRpdHkBXCREZW1vY3JhY3kBYEhUZWNobmljYWxDb21taXR0ZWUBZBRQcm94eQFoIE11bHRpc2lnAWwcVW5pcXVlcwFwSFN0YXRlVHJpZU1pZ3JhdGlvbgF0QENvbnZpY3Rpb25Wb3RpbmcBeCRSZWZlcmVuZGEBfBxPcmlnaW5zAAEFJFdoaXRlbGlzdAGAKERpc3BhdGNoZXIAAQU0QXNzZXRSZWdpc3RyeQGEGENsYWltcwGIOEdlbmVzaXNIaXN0b3J5AAEFPENvbGxhdG9yUmV3YXJkcwGMIE9tbmlwb29sAZBAVHJhbnNhY3Rpb25QYXVzZQGUGER1c3RlcgGYTE9tbmlwb29sV2FyZWhvdXNlTE0BoFxPbW5pcG9vbExpcXVpZGl0eU1pbmluZwGoDE9UQwGsOENpcmN1aXRCcmVha2VyAbAYUm91dGVyAbQsRHluYW1pY0ZlZXMBuBxTdGFraW5nAcAoU3RhYmxlc3dhcAHEFEJvbmRzAcg4T3RjU2V0dGxlbWVudHMBzAxMQlAB0AxYWUsB1CRSZWZlcnJhbHMB2CxMaXF1aWRhdGlvbgHcDEhTTQHgKFBhcmFtZXRlcnMAAQUYVG9rZW5zAeQoQ3VycmVuY2llcwHoHFZlc3RpbmcB7AxFVk0B8ChFVk1DaGFpbklkAAEFIEV0aGVyZXVtAfQsRVZNQWNjb3VudHMB+DREeW5hbWljRXZtRmVlAAEFSFhZS0xpcXVpZGl0eU1pbmluZwH8OFhZS1dhcmVob3VzZUxNAaA4UmVsYXlDaGFpbkluZm8BjAxEQ0EBAQEkU2NoZWR1bGVyAQUBPFBhcmFjaGFpblN5c3RlbQEJATRQYXJhY2hhaW5JbmZvAAEFLFBvbGthZG90WGNtAQ0BKEN1bXVsdXNYY20AAQUkWGNtcFF1ZXVlAREBME1lc3NhZ2VRdWV1ZQEVARxPcm1sWGNtARkBHFhUb2tlbnMBHQE0VW5rbm93blRva2VucwEhAShBdXRob3JzaGlwAAEFRENvbGxhdG9yU2VsZWN0aW9uASUBHFNlc3Npb24BKQEQQXVyYQABBRxBdXJhRXh0AAEFJEVtYU9yYWNsZQEtASRCcm9hZGNhc3QBMQECKEBGdW5kc1VuYXZhaWxhYmxlAAEFME9ubHlQcm92aWRlcgABBTBCZWxvd01pbmltdW0AAQUwQ2Fubm90Q3JlYXRlAAEFMFVua25vd25Bc3NldAABBRhGcm96ZW4AAQUsVW5zdXBwb3J0ZWQAAQVAQ2Fubm90Q3JlYXRlSG9sZAABBTROb3RFeHBlbmRhYmxlAAEFHEJsb2NrZWQAAQUCDCRVbmRlcmZsb3cAAQUgT3ZlcmZsb3cAAQU4RGl2aXNpb25CeVplcm8AAQUCCDBMaW1pdFJlYWNoZWQAAQUcTm9MYXllcgABBQI4FE90aGVyAAEFMENhbm5vdExvb2t1cAABBSRCYWRPcmlnaW4AAQUYTW9kdWxlATUBRENvbnN1bWVyUmVtYWluaW5nAAEFLE5vUHJvdmlkZXJzAAEFQFRvb01hbnlDb25zdW1lcnMAAQUUVG9rZW4BOQEoQXJpdGhtZXRpYwE9ATRUcmFuc2FjdGlvbmFsAUEBJEV4aGF1c3RlZAABBShDb3JydXB0aW9uAAEFLFVuYXZhaWxhYmxlAAEFOFJvb3ROb3RBbGxvd2VkAAEFAhxARXh0cmluc2ljU3VjY2VzcwAABDRkaXNwYXRjaF9pbmZvQDxFeHRyaW5zaWNGYWlsZWQAAAg4ZGlzcGF0Y2hfZXJyb3JFATRkaXNwYXRjaF9pbmZvQCxDb2RlVXBkYXRlZAABBShOZXdBY2NvdW50AAAEHGFjY291bnQANEtpbGxlZEFjY291bnQAAAQcYWNjb3VudAAgUmVtYXJrZWQAAAgYc2VuZGVyABBoYXNoIERVcGdyYWRlQXV0aG9yaXplZAAACCRjb2RlX2hhc2ggNGNoZWNrX3ZlcnNpb24UAggQRnJlZQABBSBSZXNlcnZlZAABBQJYHEVuZG93ZWQAAAgcYWNjb3VudAAwZnJlZV9iYWxhbmNlCCBEdXN0TG9zdAAACBxhY2NvdW50ABhhbW91bnQIIFRyYW5zZmVyAAAMEGZyb20ACHRvABhhbW91bnQIKEJhbGFuY2VTZXQAAAgMd2hvABBmcmVlCCBSZXNlcnZlZAAACAx3aG8AGGFtb3VudAgoVW5yZXNlcnZlZAAACAx3aG8AGGFtb3VudAhIUmVzZXJ2ZVJlcGF0cmlhdGVkAAAQEGZyb20ACHRvABhhbW91bnQISGRlc3RpbmF0aW9uX3N0YXR1c00BHERlcG9zaXQAAAgMd2hvABhhbW91bnQIIFdpdGhkcmF3AAAIDHdobwAYYW1vdW50CBxTbGFzaGVkAAAIDHdobwAYYW1vdW50CBhNaW50ZWQAAAgMd2hvABhhbW91bnQIGEJ1cm5lZAAACAx3aG8AGGFtb3VudAgkU3VzcGVuZGVkAAAIDHdobwAYYW1vdW50CCBSZXN0b3JlZAAACAx3aG8AGGFtb3VudAggVXBncmFkZWQAAAQMd2hvABhJc3N1ZWQAAAQYYW1vdW50CCRSZXNjaW5kZWQAAAQYYW1vdW50CBhMb2NrZWQAAAgMd2hvABhhbW91bnQIIFVubG9ja2VkAAAIDHdobwAYYW1vdW50CBhGcm96ZW4AAAgMd2hvABhhbW91bnQIGFRoYXdlZAAACAx3aG8AGGFtb3VudAhMVG90YWxJc3N1YW5jZUZvcmNlZAAACAxvbGQIDG5ldwgCBEhUcmFuc2FjdGlvbkZlZVBhaWQAAAwMd2hvAChhY3R1YWxfZmVlCAx0aXAIAhAsQ3VycmVuY3lTZXQAAAgoYWNjb3VudF9pZAAgYXNzZXRfaWQENEN1cnJlbmN5QWRkZWQAAAQgYXNzZXRfaWQEPEN1cnJlbmN5UmVtb3ZlZAAABCBhc3NldF9pZAQwRmVlV2l0aGRyYXduAAAUKGFjY291bnRfaWQAIGFzc2V0X2lkBERuYXRpdmVfZmVlX2Ftb3VudAhUbm9uX25hdGl2ZV9mZWVfYW1vdW50CFhkZXN0aW5hdGlvbl9hY2NvdW50X2lkAAIwIFNwZW5kaW5nAAAEQGJ1ZGdldF9yZW1haW5pbmcIHEF3YXJkZWQAAAw4cHJvcG9zYWxfaW5kZXgEFGF3YXJkCBxhY2NvdW50ABRCdXJudAAABCxidXJudF9mdW5kcwggUm9sbG92ZXIAAARAcm9sbG92ZXJfYmFsYW5jZQgcRGVwb3NpdAAABBR2YWx1ZQg0U3BlbmRBcHByb3ZlZAAADDhwcm9wb3NhbF9pbmRleAQYYW1vdW50CCxiZW5lZmljaWFyeQA8VXBkYXRlZEluYWN0aXZlAAAILHJlYWN0aXZhdGVkCCxkZWFjdGl2YXRlZAhIQXNzZXRTcGVuZEFwcHJvdmVkAAAUFGluZGV4BBhhbW91bnQILGJlbmVmaWNpYXJ5ACh2YWxpZF9mcm9tBCRleHBpcmVfYXQEQEFzc2V0U3BlbmRWb2lkZWQAAAQUaW5kZXgEEFBhaWQAAAQUaW5kZXgENFBheW1lbnRGYWlsZWQAAAQUaW5kZXgEOFNwZW5kUHJvY2Vzc2VkAAAEFGluZGV4BAeMRQECGEBCYXRjaEludGVycnVwdGVkAAAIFGluZGV4BBRlcnJvckUBOEJhdGNoQ29tcGxldGVkAAEFYEJhdGNoQ29tcGxldGVkV2l0aEVycm9ycwABBTRJdGVtQ29tcGxldGVkAAEFKEl0ZW1GYWlsZWQAAAQUZXJyb3JFATBEaXNwYXRjaGVkQXMAAAQYcmVzdWx0YQECDBROb3RlZAAABBBoYXNoICRSZXF1ZXN0ZWQAAAQQaGFzaCAcQ2xlYXJlZAAABBBoYXNoIAJELElkZW50aXR5U2V0AAAEDHdobwA8SWRlbnRpdHlDbGVhcmVkAAAIDHdobwAcZGVwb3NpdAg4SWRlbnRpdHlLaWxsZWQAAAgMd2hvABxkZXBvc2l0CEhKdWRnZW1lbnRSZXF1ZXN0ZWQAAAgMd2hvADxyZWdpc3RyYXJfaW5kZXgEUEp1ZGdlbWVudFVucmVxdWVzdGVkAAAIDHdobwA8cmVnaXN0cmFyX2luZGV4BDhKdWRnZW1lbnRHaXZlbgAACBh0YXJnZXQAPHJlZ2lzdHJhcl9pbmRleAQ4UmVnaXN0cmFyQWRkZWQAAAQ8cmVnaXN0cmFyX2luZGV4BEBTdWJJZGVudGl0eUFkZGVkAAAMDHN1YgAQbWFpbgAcZGVwb3NpdAhIU3ViSWRlbnRpdHlSZW1vdmVkAAAMDHN1YgAQbWFpbgAcZGVwb3NpdAhIU3ViSWRlbnRpdHlSZXZva2VkAAAMDHN1YgAQbWFpbgAcZGVwb3NpdAg4QXV0aG9yaXR5QWRkZWQAAAQkYXV0aG9yaXR5AEBBdXRob3JpdHlSZW1vdmVkAAAEJGF1dGhvcml0eQAsVXNlcm5hbWVTZXQAAAgMd2hvACB1c2VybmFtZSQ4VXNlcm5hbWVRdWV1ZWQAAAwMd2hvACB1c2VybmFtZSQoZXhwaXJhdGlvbgRIUHJlYXBwcm92YWxFeHBpcmVkAAAEFHdob3NlAEhQcmltYXJ5VXNlcm5hbWVTZXQAAAgMd2hvACB1c2VybmFtZSRcRGFuZ2xpbmdVc2VybmFtZVJlbW92ZWQAAAgMd2hvACB1c2VybmFtZSQCDFBTdXBlck1ham9yaXR5QXBwcm92ZQABBVBTdXBlck1ham9yaXR5QWdhaW5zdAABBThTaW1wbGVNYWpvcml0eQABBQIIIFN0YW5kYXJkAAAIEHZvdGUEHGJhbGFuY2UIFFNwbGl0AAAIDGF5ZQgMbmF5CAIMIEV4dGVybmFsAAEFIFByb3Bvc2FsAQQoUmVmZXJlbmR1bQEEAkQgUHJvcG9zZWQAAAg4cHJvcG9zYWxfaW5kZXgEHGRlcG9zaXQIGFRhYmxlZAAACDhwcm9wb3NhbF9pbmRleAQcZGVwb3NpdAg4RXh0ZXJuYWxUYWJsZWQAAQUcU3RhcnRlZAAACCRyZWZfaW5kZXgEJHRocmVzaG9sZHEBGFBhc3NlZAAABCRyZWZfaW5kZXgEJE5vdFBhc3NlZAAABCRyZWZfaW5kZXgEJENhbmNlbGxlZAAABCRyZWZfaW5kZXgEJERlbGVnYXRlZAAACAx3aG8AGHRhcmdldAAsVW5kZWxlZ2F0ZWQAAAQcYWNjb3VudAAYVmV0b2VkAAAMDHdobwA0cHJvcG9zYWxfaGFzaCAUdW50aWwELEJsYWNrbGlzdGVkAAAENHByb3Bvc2FsX2hhc2ggFFZvdGVkAAAMFHZvdGVyACRyZWZfaW5kZXgEEHZvdGV1ASBTZWNvbmRlZAAACCBzZWNvbmRlcgAocHJvcF9pbmRleARAUHJvcG9zYWxDYW5jZWxlZAAABChwcm9wX2luZGV4BCxNZXRhZGF0YVNldAAACBRvd25lcnkBEGhhc2ggPE1ldGFkYXRhQ2xlYXJlZAAACBRvd25lcnkBEGhhc2ggTE1ldGFkYXRhVHJhbnNmZXJyZWQAAAwocHJldl9vd25lcnkBFG93bmVyeQEQaGFzaCACHCBQcm9wb3NlZAAAEBxhY2NvdW50ADhwcm9wb3NhbF9pbmRleAQ0cHJvcG9zYWxfaGFzaCAkdGhyZXNob2xkBBRWb3RlZAAAFBxhY2NvdW50ADRwcm9wb3NhbF9oYXNoIBR2b3RlZBQMeWVzBAhubwQgQXBwcm92ZWQAAAQ0cHJvcG9zYWxfaGFzaCAsRGlzYXBwcm92ZWQAAAQ0cHJvcG9zYWxfaGFzaCAgRXhlY3V0ZWQAAAg0cHJvcG9zYWxfaGFzaCAYcmVzdWx0YQE4TWVtYmVyRXhlY3V0ZWQAAAg0cHJvcG9zYWxfaGFzaCAYcmVzdWx0YQEYQ2xvc2VkAAAMNHByb3Bvc2FsX2hhc2ggDHllcwQIbm8EAhgMQW55AAEFLENhbmNlbFByb3h5AAEFKEdvdmVybmFuY2UAAQUgVHJhbnNmZXIAAQUkTGlxdWlkaXR5AAEFPExpcXVpZGl0eU1pbmluZwABBQIUNFByb3h5RXhlY3V0ZWQAAAQYcmVzdWx0YQEsUHVyZUNyZWF0ZWQAABAQcHVyZQAMd2hvAChwcm94eV90eXBlhQFQZGlzYW1iaWd1YXRpb25faW5kZXgEJEFubm91bmNlZAAADBByZWFsABRwcm94eQAkY2FsbF9oYXNoIChQcm94eUFkZGVkAAAQJGRlbGVnYXRvcgAkZGVsZWdhdGVlAChwcm94eV90eXBlhQEUZGVsYXkEMFByb3h5UmVtb3ZlZAAAECRkZWxlZ2F0b3IAJGRlbGVnYXRlZQAocHJveHlfdHlwZYUBFGRlbGF5BAAIGGhlaWdodAQUaW5kZXgEAhAsTmV3TXVsdGlzaWcAAAwkYXBwcm92aW5nACBtdWx0aXNpZwAkY2FsbF9oYXNoIEBNdWx0aXNpZ0FwcHJvdmFsAAAQJGFwcHJvdmluZwAkdGltZXBvaW50jQEgbXVsdGlzaWcAJGNhbGxfaGFzaCBATXVsdGlzaWdFeGVjdXRlZAAAFCRhcHByb3ZpbmcAJHRpbWVwb2ludI0BIG11bHRpc2lnACRjYWxsX2hhc2ggGHJlc3VsdGEBRE11bHRpc2lnQ2FuY2VsbGVkAAAQKGNhbmNlbGxpbmcAJHRpbWVwb2ludI0BIG11bHRpc2lnACRjYWxsX2hhc2ggBAgABggGAAJsHENyZWF0ZWQAAAwoY29sbGVjdGlvbggcY3JlYXRvcgAUb3duZXIAMEZvcmNlQ3JlYXRlZAAACChjb2xsZWN0aW9uCBRvd25lcgAkRGVzdHJveWVkAAAEKGNvbGxlY3Rpb24IGElzc3VlZAAADChjb2xsZWN0aW9uCBBpdGVtCBRvd25lcgAsVHJhbnNmZXJyZWQAABAoY29sbGVjdGlvbggQaXRlbQgQZnJvbQAIdG8AGEJ1cm5lZAAADChjb2xsZWN0aW9uCBBpdGVtCBRvd25lcgAYRnJvemVuAAAIKGNvbGxlY3Rpb24IEGl0ZW0IGFRoYXdlZAAACChjb2xsZWN0aW9uCBBpdGVtCEBDb2xsZWN0aW9uRnJvemVuAAAEKGNvbGxlY3Rpb24IQENvbGxlY3Rpb25UaGF3ZWQAAAQoY29sbGVjdGlvbggwT3duZXJDaGFuZ2VkAAAIKGNvbGxlY3Rpb24IJG5ld19vd25lcgAsVGVhbUNoYW5nZWQAABAoY29sbGVjdGlvbggYaXNzdWVyABRhZG1pbgAcZnJlZXplcgBAQXBwcm92ZWRUcmFuc2ZlcgAAEChjb2xsZWN0aW9uCBBpdGVtCBRvd25lcgAgZGVsZWdhdGUAREFwcHJvdmFsQ2FuY2VsbGVkAAAQKGNvbGxlY3Rpb24IEGl0ZW0IFG93bmVyACBkZWxlZ2F0ZQBESXRlbVN0YXR1c0NoYW5nZWQAAAQoY29sbGVjdGlvbghUQ29sbGVjdGlvbk1ldGFkYXRhU2V0AAAMKGNvbGxlY3Rpb24IEGRhdGEkJGlzX2Zyb3plbhRkQ29sbGVjdGlvbk1ldGFkYXRhQ2xlYXJlZAAABChjb2xsZWN0aW9uCCxNZXRhZGF0YVNldAAAEChjb2xsZWN0aW9uCBBpdGVtCBBkYXRhJCRpc19mcm96ZW4UPE1ldGFkYXRhQ2xlYXJlZAAACChjb2xsZWN0aW9uCBBpdGVtCCxSZWRlcG9zaXRlZAAACChjb2xsZWN0aW9uCEBzdWNjZXNzZnVsX2l0ZW1zlQEwQXR0cmlidXRlU2V0AAAQKGNvbGxlY3Rpb24IKG1heWJlX2l0ZW2ZAQxrZXkkFHZhbHVlJEBBdHRyaWJ1dGVDbGVhcmVkAAAMKGNvbGxlY3Rpb24IKG1heWJlX2l0ZW2ZAQxrZXkkaE93bmVyc2hpcEFjY2VwdGFuY2VDaGFuZ2VkAAAIDHdobwBAbWF5YmVfY29sbGVjdGlvbpkBWENvbGxlY3Rpb25NYXhTdXBwbHlTZXQAAAgoY29sbGVjdGlvbggobWF4X3N1cHBseQQwSXRlbVByaWNlU2V0AAAQKGNvbGxlY3Rpb24IEGl0ZW0IFHByaWNlCER3aGl0ZWxpc3RlZF9idXllcp0BQEl0ZW1QcmljZVJlbW92ZWQAAAgoY29sbGVjdGlvbggQaXRlbQgoSXRlbUJvdWdodAAAFChjb2xsZWN0aW9uCBBpdGVtCBRwcmljZQgYc2VsbGVyABRidXllcgACCBhTaWduZWQAAQUQQXV0bwABBQIQIE1pZ3JhdGVkAAAMDHRvcAQUY2hpbGQEHGNvbXB1dGWlARxTbGFzaGVkAAAIDHdobwAYYW1vdW50CFRBdXRvTWlncmF0aW9uRmluaXNoZWQAAQUYSGFsdGVkAAAEFGVycm9ydAIMIFN0YW5kYXJkAAAIEHZvdGUEHGJhbGFuY2UIFFNwbGl0AAAIDGF5ZQgMbmF5CDBTcGxpdEFic3RhaW4AAAwMYXllCAxuYXkIHGFic3RhaW4IAhAkRGVsZWdhdGVkAAQAAQgsVW5kZWxlZ2F0ZWQBABRWb3RlZAAACAx3aG8AEHZvdGWtASxWb3RlUmVtb3ZlZAAACAx3aG8AEHZvdGWtAQIMGExlZ2FjeQAABBBoYXNoIBhJbmxpbmUBJBhMb29rdXAAAAgQaGFzaCAMbGVuBAAMEGF5ZXMIEG5heXMIHHN1cHBvcnQIAkAkU3VibWl0dGVkAAAMFGluZGV4BBR0cmFjawQgcHJvcG9zYWy1AVREZWNpc2lvbkRlcG9zaXRQbGFjZWQAAAwUaW5kZXgEDHdobwAYYW1vdW50CFxEZWNpc2lvbkRlcG9zaXRSZWZ1bmRlZAAADBRpbmRleAQMd2hvABhhbW91bnQIOERlcG9zaXRTbGFzaGVkAAAIDHdobwAYYW1vdW50CDxEZWNpc2lvblN0YXJ0ZWQAABAUaW5kZXgEFHRyYWNrBCBwcm9wb3NhbLUBFHRhbGx5uQE4Q29uZmlybVN0YXJ0ZWQAAAQUaW5kZXgEOENvbmZpcm1BYm9ydGVkAAAEFGluZGV4BCRDb25maXJtZWQAAAgUaW5kZXgEFHRhbGx5uQEgQXBwcm92ZWQAAAQUaW5kZXgEIFJlamVjdGVkAAAIFGluZGV4BBR0YWxsebkBIFRpbWVkT3V0AAAIFGluZGV4BBR0YWxsebkBJENhbmNlbGxlZAAACBRpbmRleAQUdGFsbHm5ARhLaWxsZWQAAAgUaW5kZXgEFHRhbGx5uQFkU3VibWlzc2lvbkRlcG9zaXRSZWZ1bmRlZAAADBRpbmRleAQMd2hvABhhbW91bnQILE1ldGFkYXRhU2V0AAAIFGluZGV4BBBoYXNoIDxNZXRhZGF0YUNsZWFyZWQAAAgUaW5kZXgEEGhhc2ggBhgACDRhY3R1YWxfd2VpZ2h0wQEgcGF5c19mZWU8AAgkcG9zdF9pbmZvxQEUZXJyb3JFAQfFAckBAgw8Q2FsbFdoaXRlbGlzdGVkAAAEJGNhbGxfaGFzaCBYV2hpdGVsaXN0ZWRDYWxsUmVtb3ZlZAAABCRjYWxsX2hhc2ggZFdoaXRlbGlzdGVkQ2FsbERpc3BhdGNoZWQAAAgkY2FsbF9oYXNoIBhyZXN1bHTNAQIIdFRyZWFzdXJ5TWFuYWdlckNhbGxEaXNwYXRjaGVkAAAIJGNhbGxfaGFzaCAYcmVzdWx0zQFkQWF2ZU1hbmFnZXJDYWxsRGlzcGF0Y2hlZAAACCRjYWxsX2hhc2ggGHJlc3VsdM0BBiQCGBRUb2tlbgABBQxYWUsAAQUoU3RhYmxlU3dhcAABBRBCb25kAAEFIEV4dGVybmFsAAEFFEVyYzIwAAEFBgQCLCRCeUdlbmVzaXMBIBhCeUZvcmsAAAgwYmxvY2tfbnVtYmVyCChibG9ja19oYXNoICBQb2xrYWRvdAABBRhLdXNhbWEAAQUcV2VzdGVuZAABBRhSb2NvY28AAQUYV29jb2NvAAEFIEV0aGVyZXVtAAAEIGNoYWluX2lkCCxCaXRjb2luQ29yZQABBSxCaXRjb2luQ2FzaAABBUBQb2xrYWRvdEJ1bGxldGluAAEFBuUBBQFQAigQVW5pdAABBRxNb25pa2VyASgUSW5kZXgBBCRFeGVjdXRpdmUAAQUkVGVjaG5pY2FsAAEFLExlZ2lzbGF0aXZlAAEFIEp1ZGljaWFsAAEFHERlZmVuc2UAAQU4QWRtaW5pc3RyYXRpb24AAQUgVHJlYXN1cnkAAQUCFBRWb2ljZQABBRxNZW1iZXJzAAAEFGNvdW50BCBGcmFjdGlvbgAACAxub20EFGRlbm9tBERBdExlYXN0UHJvcG9ydGlvbgAACAxub20EFGRlbm9tBEhNb3JlVGhhblByb3BvcnRpb24AAAgMbm9tBBRkZW5vbQQCKCRQYXJhY2hhaW4BBCxBY2NvdW50SWQzMgAACBxuZXR3b3Jr6QEIaWQgOEFjY291bnRJbmRleDY0AAAIHG5ldHdvcmvpARRpbmRleAgwQWNjb3VudEtleTIwAAAIHG5ldHdvcmvpAQxrZXntAThQYWxsZXRJbnN0YW5jZQEEMEdlbmVyYWxJbmRleAEIKEdlbmVyYWxLZXkAAAgYbGVuZ3RoBBBkYXRhICRPbmx5Q2hpbGQAAQUkUGx1cmFsaXR5AAAICGlk8QEQcGFydPUBPEdsb2JhbENvbnNlbnN1cwHlAQIkEEhlcmUAAQUIWDEB+QEIWDIABPkBAQgIWDMABPkBAQwIWDQABPkBARAIWDUABPkBARQIWDYABPkBARgIWDcABPkBARwIWDgABPkBASAACBxwYXJlbnRzBCBpbnRlcmlvcv0BAhhYRXhpc3RlbnRpYWxEZXBvc2l0UGFpZAAADAx3aG8AJGZlZV9hc3NldAQYYW1vdW50CChSZWdpc3RlcmVkAAAgIGFzc2V0X2lkBChhc3NldF9uYW1l2QEoYXNzZXRfdHlwZd0BTGV4aXN0ZW50aWFsX2RlcG9zaXQIOHhjbV9yYXRlX2xpbWl0mQEYc3ltYm9s2QEgZGVjaW1hbHPhATRpc19zdWZmaWNpZW50FBxVcGRhdGVkAAAgIGFzc2V0X2lkBChhc3NldF9uYW1l2QEoYXNzZXRfdHlwZd0BTGV4aXN0ZW50aWFsX2RlcG9zaXQIOHhjbV9yYXRlX2xpbWl0mQEYc3ltYm9s2QEgZGVjaW1hbHPhATRpc19zdWZmaWNpZW50FCxMb2NhdGlvblNldAAACCBhc3NldF9pZAQgbG9jYXRpb24BAixBc3NldEJhbm5lZAAABCBhc3NldF9pZAQ0QXNzZXRVbmJhbm5lZAAABCBhc3NldF9pZAQCBBRDbGFpbQADDADtAQgCBEBDb2xsYXRvclJld2FyZGVkAAAMDHdobwAYYW1vdW50CCBjdXJyZW5jeQQCNChUb2tlbkFkZGVkAAAMIGFzc2V0X2lkBDhpbml0aWFsX2Ftb3VudAg0aW5pdGlhbF9wcmljZQgwVG9rZW5SZW1vdmVkAAAMIGFzc2V0X2lkBBhhbW91bnQINGh1Yl93aXRoZHJhd24IOExpcXVpZGl0eUFkZGVkAAAQDHdobwAgYXNzZXRfaWQEGGFtb3VudAgscG9zaXRpb25faWQIQExpcXVpZGl0eVJlbW92ZWQAABQMd2hvACxwb3NpdGlvbl9pZAggYXNzZXRfaWQEOHNoYXJlc19yZW1vdmVkCAxmZWUIYFByb3RvY29sTGlxdWlkaXR5UmVtb3ZlZAAAFAx3aG8AIGFzc2V0X2lkBBhhbW91bnQIKGh1Yl9hbW91bnQIOHNoYXJlc19yZW1vdmVkCDBTZWxsRXhlY3V0ZWQAACQMd2hvACBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQINGh1Yl9hbW91bnRfaW4IOGh1Yl9hbW91bnRfb3V0CEBhc3NldF9mZWVfYW1vdW50CExwcm90b2NvbF9mZWVfYW1vdW50CCxCdXlFeGVjdXRlZAAAJAx3aG8AIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbggoYW1vdW50X291dAg0aHViX2Ftb3VudF9pbgg4aHViX2Ftb3VudF9vdXQIQGFzc2V0X2ZlZV9hbW91bnQITHByb3RvY29sX2ZlZV9hbW91bnQIPFBvc2l0aW9uQ3JlYXRlZAAAGCxwb3NpdGlvbl9pZAgUb3duZXIAFGFzc2V0BBhhbW91bnQIGHNoYXJlcwgUcHJpY2UIRFBvc2l0aW9uRGVzdHJveWVkAAAILHBvc2l0aW9uX2lkCBRvd25lcgA8UG9zaXRpb25VcGRhdGVkAAAYLHBvc2l0aW9uX2lkCBRvd25lcgAUYXNzZXQEGGFtb3VudAgYc2hhcmVzCBRwcmljZQhQVHJhZGFibGVTdGF0ZVVwZGF0ZWQAAAggYXNzZXRfaWQEFHN0YXRlBDRBc3NldFJlZnVuZGVkAAAMIGFzc2V0X2lkBBhhbW91bnQIJHJlY2lwaWVudABUQXNzZXRXZWlnaHRDYXBVcGRhdGVkAAAIIGFzc2V0X2lkBAxjYXAEAghEVHJhbnNhY3Rpb25QYXVzZWQAAAhEcGFsbGV0X25hbWVfYnl0ZXMkTGZ1bmN0aW9uX25hbWVfYnl0ZXMkTFRyYW5zYWN0aW9uVW5wYXVzZWQAAAhEcGFsbGV0X25hbWVfYnl0ZXMkTGZ1bmN0aW9uX25hbWVfYnl0ZXMkAgwYRHVzdGVkAAAIDHdobwAYYW1vdW50CBRBZGRlZAAABAx3aG8AHFJlbW92ZWQAAAQMd2hvAAIMXEdsb2JhbEZhcm1BY2NSUFpVcGRhdGVkAAAMOGdsb2JhbF9mYXJtX2lkBDxhY2N1bXVsYXRlZF9ycHoIOHRvdGFsX3NoYXJlc196CFxZaWVsZEZhcm1BY2NSUFZTVXBkYXRlZAAAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZARAYWNjdW11bGF0ZWRfcnB2cwhMdG90YWxfdmFsdWVkX3NoYXJlcwhUQWxsUmV3YXJkc0Rpc3RyaWJ1dGVkAAAEOGdsb2JhbF9mYXJtX2lkBAAIZGluaXRpYWxfcmV3YXJkX3BlcmNlbnRhZ2UIKHNjYWxlX2NvZWYEBiECAjRER2xvYmFsRmFybUNyZWF0ZWQAACgIaWQEFG93bmVyADR0b3RhbF9yZXdhcmRzCDxyZXdhcmRfY3VycmVuY3kEQHlpZWxkX3Blcl9wZXJpb2QIYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcwREYmxvY2tzX3Blcl9wZXJpb2QEVG1heF9yZXdhcmRfcGVyX3BlcmlvZAgsbWluX2RlcG9zaXQIVGxybmFfcHJpY2VfYWRqdXN0bWVudAhER2xvYmFsRmFybVVwZGF0ZWQAABAIaWQEYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcwRAeWllbGRfcGVyX3BlcmlvZAgsbWluX2RlcG9zaXQIUEdsb2JhbEZhcm1UZXJtaW5hdGVkAAAQOGdsb2JhbF9mYXJtX2lkBAx3aG8APHJld2FyZF9jdXJyZW5jeQRUdW5kaXN0cmlidXRlZF9yZXdhcmRzCEBZaWVsZEZhcm1DcmVhdGVkAAAUOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQobXVsdGlwbGllcgg0bG95YWx0eV9jdXJ2ZSUCQFlpZWxkRmFybVVwZGF0ZWQAABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBAx3aG8AKG11bHRpcGxpZXIIQFlpZWxkRmFybVN0b3BwZWQAABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBAx3aG8AQFlpZWxkRmFybVJlc3VtZWQAABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBAx3aG8AKG11bHRpcGxpZXIITFlpZWxkRmFybVRlcm1pbmF0ZWQAABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBAx3aG8APFNoYXJlc0RlcG9zaXRlZAAAHDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoZGVwb3NpdF9pZAggYXNzZXRfaWQEDHdobwA0c2hhcmVzX2Ftb3VudAgscG9zaXRpb25faWQIRFNoYXJlc1JlZGVwb3NpdGVkAAAcOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChkZXBvc2l0X2lkCCBhc3NldF9pZAQMd2hvADRzaGFyZXNfYW1vdW50CCxwb3NpdGlvbl9pZAg0UmV3YXJkQ2xhaW1lZAAAGDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvABxjbGFpbWVkCDxyZXdhcmRfY3VycmVuY3kEKGRlcG9zaXRfaWQIPFNoYXJlc1dpdGhkcmF3bgAAFDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvABhhbW91bnQIKGRlcG9zaXRfaWQIQERlcG9zaXREZXN0cm95ZWQAAAgMd2hvAChkZXBvc2l0X2lkCAIQJENhbmNlbGxlZAAABCBvcmRlcl9pZAQYRmlsbGVkAAAUIG9yZGVyX2lkBAx3aG8AJGFtb3VudF9pbggoYW1vdW50X291dAgMZmVlCDxQYXJ0aWFsbHlGaWxsZWQAABQgb3JkZXJfaWQEDHdobwAkYW1vdW50X2luCChhbW91bnRfb3V0CAxmZWUIGFBsYWNlZAAAGCBvcmRlcl9pZAQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CEhwYXJ0aWFsbHlfZmlsbGFibGUUBAQBCAYxAgIYXFRyYWRlVm9sdW1lTGltaXRDaGFuZ2VkAAAIIGFzc2V0X2lkBEh0cmFkZV92b2x1bWVfbGltaXQxAmBBZGRMaXF1aWRpdHlMaW1pdENoYW5nZWQAAAggYXNzZXRfaWQEPGxpcXVpZGl0eV9saW1pdDUCbFJlbW92ZUxpcXVpZGl0eUxpbWl0Q2hhbmdlZAAACCBhc3NldF9pZAQ8bGlxdWlkaXR5X2xpbWl0NQI0QXNzZXRMb2NrZG93bgAACCBhc3NldF9pZAQUdW50aWwEUEFzc2V0TG9ja2Rvd25SZW1vdmVkAAAEIGFzc2V0X2lkBDxEZXBvc2l0UmVsZWFzZWQAAAgMd2hvACBhc3NldF9pZAQEBAACCCBFeGVjdXRlZAAAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQIIGV2ZW50X2lkBDBSb3V0ZVVwZGF0ZWQAAAQkYXNzZXRfaWRzPQIAEBxtaW5fZmVlBBxtYXhfZmVlBBRkZWNheQg0YW1wbGlmaWNhdGlvbggCCBRGaXhlZAAACCRhc3NldF9mZWUEMHByb3RvY29sX2ZlZQQcRHluYW1pYwAACEBhc3NldF9mZWVfcGFyYW1zRQJMcHJvdG9jb2xfZmVlX3BhcmFtc0UCAghEQXNzZXRGZWVDb25maWdTZXQAAAggYXNzZXRfaWQEGHBhcmFtc0kCVEFzc2V0RmVlQ29uZmlnUmVtb3ZlZAAABCBhc3NldF9pZAQCGDxQb3NpdGlvbkNyZWF0ZWQAAAwMd2hvACxwb3NpdGlvbl9pZAgUc3Rha2UIKFN0YWtlQWRkZWQAABwMd2hvACxwb3NpdGlvbl9pZAgUc3Rha2UILHRvdGFsX3N0YWtlCDhsb2NrZWRfcmV3YXJkcwg4c2xhc2hlZF9wb2ludHMISHBheWFibGVfcGVyY2VudGFnZQg4UmV3YXJkc0NsYWltZWQAABwMd2hvACxwb3NpdGlvbl9pZAgwcGFpZF9yZXdhcmRzCEB1bmxvY2tlZF9yZXdhcmRzCDhzbGFzaGVkX3BvaW50cwhYc2xhc2hlZF91bnBhaWRfcmV3YXJkcwhIcGF5YWJsZV9wZXJjZW50YWdlCCBVbnN0YWtlZAAADAx3aG8ALHBvc2l0aW9uX2lkCDh1bmxvY2tlZF9zdGFrZQhIU3Rha2luZ0luaXRpYWxpemVkAAAEUG5vbl9kdXN0YWJsZV9iYWxhbmNlCFRBY2N1bXVsYXRlZFJwc1VwZGF0ZWQAAAg8YWNjdW11bGF0ZWRfcnBzCCx0b3RhbF9zdGFrZQgECAEIBQEgAhgkTGFzdEJsb2NrAAEFFFNob3J0AAEFKFRlbk1pbnV0ZXMAAQUQSG91cgABBQxEYXkAAQUQV2VlawABBQMMWQJdAgQCDBRWYWx1ZQFVAhhPcmFjbGUBYQIgTU1PcmFjbGUB7QEEZQIABFUCAAAMGHNvdXJjZWkCOG1heF9wZWdfdXBkYXRlBBxjdXJyZW50bQIGcQIACCBhc3NldF9pZAQYYW1vdW50CAR5AgACLCxQb29sQ3JlYXRlZAAAFBxwb29sX2lkBBhhc3NldHM9AjRhbXBsaWZpY2F0aW9uBAxmZWUEDHBlZ3UCKEZlZVVwZGF0ZWQAAAgccG9vbF9pZAQMZmVlBDhMaXF1aWRpdHlBZGRlZAAAEBxwb29sX2lkBAx3aG8AGHNoYXJlcwgYYXNzZXRzfQJATGlxdWlkaXR5UmVtb3ZlZAAAFBxwb29sX2lkBAx3aG8AGHNoYXJlcwgcYW1vdW50c30CDGZlZQgwU2VsbEV4ZWN1dGVkAAAcDHdobwAccG9vbF9pZAQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CAxmZWUILEJ1eUV4ZWN1dGVkAAAcDHdobwAccG9vbF9pZAQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CAxmZWUIUFRyYWRhYmxlU3RhdGVVcGRhdGVkAAAMHHBvb2xfaWQEIGFzc2V0X2lkBBRzdGF0ZQRUQW1wbGlmaWNhdGlvbkNoYW5naW5nAAAUHHBvb2xfaWQEVGN1cnJlbnRfYW1wbGlmaWNhdGlvbgRMZmluYWxfYW1wbGlmaWNhdGlvbgQsc3RhcnRfYmxvY2sEJGVuZF9ibG9jawQ0UG9vbERlc3Ryb3llZAAABBxwb29sX2lkBFBQb29sUGVnU291cmNlVXBkYXRlZAAADBxwb29sX2lkBCBhc3NldF9pZAQocGVnX3NvdXJjZWUCXFBvb2xNYXhQZWdVcGRhdGVVcGRhdGVkAAAIHHBvb2xfaWQEOG1heF9wZWdfdXBkYXRlBAIMMFRva2VuQ3JlYXRlZAAAEBhpc3N1ZXIAIGFzc2V0X2lkBBxib25kX2lkBCBtYXR1cml0eQgYSXNzdWVkAAAQGGlzc3VlcgAcYm9uZF9pZAQYYW1vdW50CAxmZWUIIFJlZGVlbWVkAAAMDHdobwAcYm9uZF9pZAQYYW1vdW50CAIEIEV4ZWN1dGVkAAAIIGFzc2V0X2lkBBhwcm9maXQIAgQYTGluZWFyAAEFACgUb3duZXIAFHN0YXJ04QEMZW5k4QEYYXNzZXRzMQI4aW5pdGlhbF93ZWlnaHQEMGZpbmFsX3dlaWdodAQwd2VpZ2h0X2N1cnZljQIMZmVlMQI0ZmVlX2NvbGxlY3RvcgAwcmVwYXlfdGFyZ2V0CAIYLFBvb2xDcmVhdGVkAAAIEHBvb2wAEGRhdGGRAixQb29sVXBkYXRlZAAACBBwb29sABBkYXRhkQI4TGlxdWlkaXR5QWRkZWQAABQMd2hvABxhc3NldF9hBBxhc3NldF9iBCBhbW91bnRfYQggYW1vdW50X2IIQExpcXVpZGl0eVJlbW92ZWQAABQMd2hvABxhc3NldF9hBBxhc3NldF9iBCBhbW91bnRfYQggYW1vdW50X2IIMFNlbGxFeGVjdXRlZAAAHAx3aG8AIGFzc2V0X2luBCRhc3NldF9vdXQEGGFtb3VudAgoc2FsZV9wcmljZQgkZmVlX2Fzc2V0BChmZWVfYW1vdW50CCxCdXlFeGVjdXRlZAAAHAx3aG8AJGFzc2V0X291dAQgYXNzZXRfaW4EGGFtb3VudAgkYnV5X3ByaWNlCCRmZWVfYXNzZXQEKGZlZV9hbW91bnQIAhg4TGlxdWlkaXR5QWRkZWQAABQMd2hvABxhc3NldF9hBBxhc3NldF9iBCBhbW91bnRfYQggYW1vdW50X2IIQExpcXVpZGl0eVJlbW92ZWQAABAMd2hvABxhc3NldF9hBBxhc3NldF9iBBhzaGFyZXMILFBvb2xDcmVhdGVkAAAYDHdobwAcYXNzZXRfYQQcYXNzZXRfYgRUaW5pdGlhbF9zaGFyZXNfYW1vdW50CCxzaGFyZV90b2tlbgQQcG9vbAA0UG9vbERlc3Ryb3llZAAAFAx3aG8AHGFzc2V0X2EEHGFzc2V0X2IELHNoYXJlX3Rva2VuBBBwb29sADBTZWxsRXhlY3V0ZWQAACAMd2hvACBhc3NldF9pbgQkYXNzZXRfb3V0BBhhbW91bnQIKHNhbGVfcHJpY2UIJGZlZV9hc3NldAQoZmVlX2Ftb3VudAgQcG9vbAAsQnV5RXhlY3V0ZWQAACAMd2hvACRhc3NldF9vdXQEIGFzc2V0X2luBBhhbW91bnQIJGJ1eV9wcmljZQgkZmVlX2Fzc2V0BChmZWVfYW1vdW50CBBwb29sAAIYEE5vbmUAAQUUVGllcjAAAQUUVGllcjEAAQUUVGllcjIAAQUUVGllcjMAAQUUVGllcjQAAQUADCByZWZlcnJlcgQYdHJhZGVyBCBleHRlcm5hbAQCGDhDb2RlUmVnaXN0ZXJlZAAACBBjb2RlJBxhY2NvdW50AChDb2RlTGlua2VkAAAMHGFjY291bnQAEGNvZGUkQHJlZmVycmFsX2FjY291bnQAJENvbnZlcnRlZAAACBBmcm9teQIIdG95AhxDbGFpbWVkAAAMDHdobwBAcmVmZXJyZXJfcmV3YXJkcwg0dHJhZGVfcmV3YXJkcwhMQXNzZXRSZXdhcmRzVXBkYXRlZAAADCBhc3NldF9pZAQUbGV2ZWydAhxyZXdhcmRzoQIcTGV2ZWxVcAAACAx3aG8AFGxldmVsnQICBChMaXF1aWRhdGVkAAAUEHVzZXLtAUBjb2xsYXRlcmFsX2Fzc2V0BChkZWJ0X2Fzc2V0BDRkZWJ0X3RvX2NvdmVyCBhwcm9maXQIAhQ8Q29sbGF0ZXJhbEFkZGVkAAAYIGFzc2V0X2lkBBxwb29sX2lkBDBwdXJjaGFzZV9mZWUEZG1heF9idXlfcHJpY2VfY29lZmZpY2llbnQIMGJ1eV9iYWNrX2ZlZQQwYnV5YmFja19yYXRlBERDb2xsYXRlcmFsUmVtb3ZlZAAACCBhc3NldF9pZAQYYW1vdW50CERDb2xsYXRlcmFsVXBkYXRlZAAAFCBhc3NldF9pZAQwcHVyY2hhc2VfZmVl4QFkbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudJkBMGJ1eV9iYWNrX2ZlZeEBMGJ1eWJhY2tfcmF0ZeEBREFyYml0cmFnZUV4ZWN1dGVkAAAIIGFzc2V0X2lkBDRob2xsYXJfYW1vdW50CDhGbGFzaE1pbnRlclNldAAABDBmbGFzaF9taW50ZXLtAQJEHEVuZG93ZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CCBEdXN0TG9zdAAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIIFRyYW5zZmVyAAAQLGN1cnJlbmN5X2lkBBBmcm9tAAh0bwAYYW1vdW50CCBSZXNlcnZlZAAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIKFVucmVzZXJ2ZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CEhSZXNlcnZlUmVwYXRyaWF0ZWQAABQsY3VycmVuY3lfaWQEEGZyb20ACHRvABhhbW91bnQIGHN0YXR1c00BKEJhbGFuY2VTZXQAABAsY3VycmVuY3lfaWQEDHdobwAQZnJlZQggcmVzZXJ2ZWQIQFRvdGFsSXNzdWFuY2VTZXQAAAgsY3VycmVuY3lfaWQEGGFtb3VudAgkV2l0aGRyYXduAAAMLGN1cnJlbmN5X2lkBAx3aG8AGGFtb3VudAgcU2xhc2hlZAAAECxjdXJyZW5jeV9pZAQMd2hvACxmcmVlX2Ftb3VudAg8cmVzZXJ2ZWRfYW1vdW50CCREZXBvc2l0ZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CBxMb2NrU2V0AAAQHGxvY2tfaWRZAixjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQILExvY2tSZW1vdmVkAAAMHGxvY2tfaWRZAixjdXJyZW5jeV9pZAQMd2hvABhMb2NrZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CCBVbmxvY2tlZAAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIGElzc3VlZAAACCxjdXJyZW5jeV9pZAQYYW1vdW50CCRSZXNjaW5kZWQAAAgsY3VycmVuY3lfaWQEGGFtb3VudAgCECxUcmFuc2ZlcnJlZAAAECxjdXJyZW5jeV9pZAQQZnJvbQAIdG8AGGFtb3VudAg4QmFsYW5jZVVwZGF0ZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CCREZXBvc2l0ZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CCRXaXRoZHJhd24AAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CAAQFHN0YXJ0BBhwZXJpb2QEMHBlcmlvZF9jb3VudAQocGVyX3BlcmlvZAgCDFBWZXN0aW5nU2NoZWR1bGVBZGRlZAAADBBmcm9tAAh0bwBAdmVzdGluZ19zY2hlZHVsZbkCHENsYWltZWQAAAgMd2hvABhhbW91bnQIXFZlc3RpbmdTY2hlZHVsZXNVcGRhdGVkAAAEDHdobwAEIAAADBxhZGRyZXNz7QEYdG9waWNzwQIQZGF0YSQCFAxMb2cAAAQMbG9nxQIcQ3JlYXRlZAAABBxhZGRyZXNz7QE0Q3JlYXRlZEZhaWxlZAAABBxhZGRyZXNz7QEgRXhlY3V0ZWQAAAQcYWRkcmVzc+0BOEV4ZWN1dGVkRmFpbGVkAAAEHGFkZHJlc3PtAQIMHFN0b3BwZWQAAQUgUmV0dXJuZWQAAQUgU3VpY2lkZWQAAQUBAQJAOFN0YWNrVW5kZXJmbG93AAEFNFN0YWNrT3ZlcmZsb3cAAQUsSW52YWxpZEp1bXAAAQUwSW52YWxpZFJhbmdlAAEFRERlc2lnbmF0ZWRJbnZhbGlkAAEFLENhbGxUb29EZWVwAAEFPENyZWF0ZUNvbGxpc2lvbgABBUxDcmVhdGVDb250cmFjdExpbWl0AAEFLEludmFsaWRDb2RlAQQsT3V0T2ZPZmZzZXQAAQUgT3V0T2ZHYXMAAQUkT3V0T2ZGdW5kAAEFLFBDVW5kZXJmbG93AAEFLENyZWF0ZUVtcHR5AAEFFE90aGVyAdECIE1heE5vbmNlAAEFAgQgUmV2ZXJ0ZWQAAQUCEDBOb3RTdXBwb3J0ZWQAAQVIVW5oYW5kbGVkSW50ZXJydXB0AAEFQENhbGxFcnJvckFzRmF0YWwB1QIUT3RoZXIB0QICEBxTdWNjZWVkAc0CFEVycm9yAdUCGFJldmVydAHZAhRGYXRhbAHdAgIEIEV4ZWN1dGVkAAAUEGZyb23tAQh0b+0BQHRyYW5zYWN0aW9uX2hhc2ggLGV4aXRfcmVhc29u4QIoZXh0cmFfZGF0YSQCFBRCb3VuZAAACBxhY2NvdW50ABxhZGRyZXNz7QE0RGVwbG95ZXJBZGRlZAAABAx3aG/tATxEZXBsb3llclJlbW92ZWQAAAQMd2hv7QFAQ29udHJhY3RBcHByb3ZlZAAABBxhZGRyZXNz7QFMQ29udHJhY3REaXNhcHByb3ZlZAAABBxhZGRyZXNz7QEACCBhc3NldF9pbgQkYXNzZXRfb3V0BAI0REdsb2JhbEZhcm1DcmVhdGVkAAAsCGlkBBRvd25lcgA0dG90YWxfcmV3YXJkcwg8cmV3YXJkX2N1cnJlbmN5BEB5aWVsZF9wZXJfcGVyaW9kCGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMERGJsb2Nrc19wZXJfcGVyaW9kBEhpbmNlbnRpdml6ZWRfYXNzZXQEVG1heF9yZXdhcmRfcGVyX3BlcmlvZAgsbWluX2RlcG9zaXQIQHByaWNlX2FkanVzdG1lbnQIREdsb2JhbEZhcm1VcGRhdGVkAAAICGlkBEBwcmljZV9hZGp1c3RtZW50CEBZaWVsZEZhcm1DcmVhdGVkAAAUOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChtdWx0aXBsaWVyCChhc3NldF9wYWly7QI0bG95YWx0eV9jdXJ2ZSUCUEdsb2JhbEZhcm1UZXJtaW5hdGVkAAAQOGdsb2JhbF9mYXJtX2lkBAx3aG8APHJld2FyZF9jdXJyZW5jeQRUdW5kaXN0cmlidXRlZF9yZXdhcmRzCDxTaGFyZXNEZXBvc2l0ZWQAABg4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAYYW1vdW50CCBscF90b2tlbgQoZGVwb3NpdF9pZAhEU2hhcmVzUmVkZXBvc2l0ZWQAABg4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAYYW1vdW50CCBscF90b2tlbgQoZGVwb3NpdF9pZAg0UmV3YXJkQ2xhaW1lZAAAGDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvABxjbGFpbWVkCDxyZXdhcmRfY3VycmVuY3kEKGRlcG9zaXRfaWQIPFNoYXJlc1dpdGhkcmF3bgAAGDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvACBscF90b2tlbgQYYW1vdW50CChkZXBvc2l0X2lkCEBZaWVsZEZhcm1TdG9wcGVkAAAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AKGFzc2V0X3BhaXLtAkBZaWVsZEZhcm1SZXN1bWVkAAAUOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AKGFzc2V0X3BhaXLtAihtdWx0aXBsaWVyCExZaWVsZEZhcm1UZXJtaW5hdGVkAAAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AKGFzc2V0X3BhaXLtAkBZaWVsZEZhcm1VcGRhdGVkAAAUOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AKGFzc2V0X3BhaXLtAihtdWx0aXBsaWVyCEBEZXBvc2l0RGVzdHJveWVkAAAIDHdobwAoZGVwb3NpdF9pZAgCBExDdXJyZW50QmxvY2tOdW1iZXJzAAAIWHBhcmFjaGFpbl9ibG9ja19udW1iZXIEXHJlbGF5Y2hhaW5fYmxvY2tfbnVtYmVyBAIYDFhZSwABBQxMQlAAAQUoU3RhYmxlc3dhcAEEIE9tbmlwb29sAAEFEEFhdmUAAQUMSFNNAAEFAAwQcG9vbPkCIGFzc2V0X2luBCRhc3NldF9vdXQEBP0CAAIIEFNlbGwAABQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCDhtaW5fYW1vdW50X291dAgUcm91dGUBAwxCdXkAABQgYXNzZXRfaW4EJGFzc2V0X291dAQoYW1vdW50X291dAg0bWF4X2Ftb3VudF9pbggUcm91dGUBAwIkQEV4ZWN1dGlvblN0YXJ0ZWQAAAgIaWQEFGJsb2NrBCRTY2hlZHVsZWQAABQIaWQEDHdobwAYcGVyaW9kBDB0b3RhbF9hbW91bnQIFG9yZGVyBQNARXhlY3V0aW9uUGxhbm5lZAAADAhpZAQMd2hvABRibG9jawQ0VHJhZGVFeGVjdXRlZAAAEAhpZAQMd2hvACRhbW91bnRfaW4IKGFtb3VudF9vdXQILFRyYWRlRmFpbGVkAAAMCGlkBAx3aG8AFGVycm9yRQEoVGVybWluYXRlZAAADAhpZAQMd2hvABRlcnJvckUBJENvbXBsZXRlZAAACAhpZAQMd2hvAGhSYW5kb21uZXNzR2VuZXJhdGlvbkZhaWxlZAAACBRibG9jawQUZXJyb3JFATxSZXNlcnZlVW5sb2NrZWQAAAgMd2hvACBhc3NldF9pZAQGIAIkJFNjaGVkdWxlZAAACBB3aGVuBBRpbmRleAQgQ2FuY2VsZWQAAAgQd2hlbgQUaW5kZXgEKERpc3BhdGNoZWQAAAwQdGFzazECCGlkDQMYcmVzdWx0YQEgUmV0cnlTZXQAABAQdGFzazECCGlkDQMYcGVyaW9kBBxyZXRyaWVzBDhSZXRyeUNhbmNlbGxlZAAACBB0YXNrMQIIaWQNAzxDYWxsVW5hdmFpbGFibGUAAAgQdGFzazECCGlkDQM4UGVyaW9kaWNGYWlsZWQAAAgQdGFzazECCGlkDQMsUmV0cnlGYWlsZWQAAAgQdGFzazECCGlkDQNUUGVybWFuZW50bHlPdmVyd2VpZ2h0AAAIEHRhc2sxAghpZA0DAhhgVmFsaWRhdGlvbkZ1bmN0aW9uU3RvcmVkAAEFZFZhbGlkYXRpb25GdW5jdGlvbkFwcGxpZWQAAARUcmVsYXlfY2hhaW5fYmxvY2tfbnVtBGxWYWxpZGF0aW9uRnVuY3Rpb25EaXNjYXJkZWQAAQVgRG93bndhcmRNZXNzYWdlc1JlY2VpdmVkAAAEFGNvdW50BGREb3dud2FyZE1lc3NhZ2VzUHJvY2Vzc2VkAAAILHdlaWdodF91c2VkGCBkbXFfaGVhZCBEVXB3YXJkTWVzc2FnZVNlbnQAAAQwbWVzc2FnZV9oYXNoDQMCoCBPdmVyZmxvdwABBTRVbmltcGxlbWVudGVkAAEFYFVudHJ1c3RlZFJlc2VydmVMb2NhdGlvbgABBWRVbnRydXN0ZWRUZWxlcG9ydExvY2F0aW9uAAEFMExvY2F0aW9uRnVsbAABBVRMb2NhdGlvbk5vdEludmVydGlibGUAAQUkQmFkT3JpZ2luAAEFPEludmFsaWRMb2NhdGlvbgABBTRBc3NldE5vdEZvdW5kAAEFVEZhaWxlZFRvVHJhbnNhY3RBc3NldAABBTxOb3RXaXRoZHJhd2FibGUAAQVITG9jYXRpb25DYW5ub3RIb2xkAAEFVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQABBVhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAAEFJFRyYW5zcG9ydAABBShVbnJvdXRhYmxlAAEFMFVua25vd25DbGFpbQABBThGYWlsZWRUb0RlY29kZQABBUBNYXhXZWlnaHRJbnZhbGlkAAEFOE5vdEhvbGRpbmdGZWVzAAEFMFRvb0V4cGVuc2l2ZQABBRBUcmFwAQhARXhwZWN0YXRpb25GYWxzZQABBThQYWxsZXROb3RGb3VuZAABBTBOYW1lTWlzbWF0Y2gAAQVMVmVyc2lvbkluY29tcGF0aWJsZQABBVBIb2xkaW5nV291bGRPdmVyZmxvdwABBSxFeHBvcnRFcnJvcgABBThSZWFuY2hvckZhaWxlZAABBRhOb0RlYWwAAQUoRmVlc05vdE1ldAABBSRMb2NrRXJyb3IAAQUwTm9QZXJtaXNzaW9uAAEFKFVuYW5jaG9yZWQAAQU4Tm90RGVwb3NpdGFibGUAAQVMVW5oYW5kbGVkWGNtVmVyc2lvbgABBUhXZWlnaHRMaW1pdFJlYWNoZWQBGBxCYXJyaWVyAAEFTFdlaWdodE5vdENvbXB1dGFibGUAAQVERXhjZWVkc1N0YWNrTGltaXQAAQUCDCBDb21wbGV0ZQAABBB1c2VkGChJbmNvbXBsZXRlAAAIEHVzZWQYFGVycm9yGQMURXJyb3IAAAQUZXJyb3IZAwUBQAIYJFVuZGVmaW5lZAABBRRJbmRleAEIGEFycmF5NAEoGEFycmF5OAFZAhxBcnJheTE2ASEDHEFycmF5MzIBIAIIIEZ1bmdpYmxlAQgsTm9uRnVuZ2libGUBJQMACAhpZAECDGZ1bikDBC0DAAMIBBkDBjUDABgUaW5kZXgEEG5hbWUkLG1vZHVsZV9uYW1lJBRtYWpvcgQUbWlub3IEFHBhdGNoBAQ9AwACDBxTdWNjZXNzAAEFFEVycm9yASQ4VHJ1bmNhdGVkRXJyb3IBJAIYEE51bGwAAQUYQXNzZXRzATEDPEV4ZWN1dGlvblJlc3VsdAE5AxxWZXJzaW9uAQQsUGFsbGV0c0luZm8BQQM4RGlzcGF0Y2hSZXN1bHQBRQMGAQICEBhOYXRpdmUAAQVAU292ZXJlaWduQWNjb3VudAABBSRTdXBlcnVzZXIAAQUMWGNtAAEFAAwsZGVzdGluYXRpb24BAiBxdWVyeV9pZAgobWF4X3dlaWdodBgCCCBGdW5naWJsZQABBSxOb25GdW5naWJsZQABBQIQDEFsbAABBRRBbGxPZgAACAhpZAECDGZ1blkDKEFsbENvdW50ZWQBBDBBbGxPZkNvdW50ZWQAAAwIaWQBAgxmdW5ZAxRjb3VudAQCCCBEZWZpbml0ZQExAxBXaWxkAV0DAggkVW5saW1pdGVkAAEFHExpbWl0ZWQBGALANFdpdGhkcmF3QXNzZXQBMQNUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkATEDWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQBMQM0UXVlcnlSZXNwb25zZQAAECBxdWVyeV9pZAggcmVzcG9uc2VJAyhtYXhfd2VpZ2h0GBxxdWVyaWVyTQM0VHJhbnNmZXJBc3NldAAACBhhc3NldHMxAyxiZW5lZmljaWFyeQECUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0AAAMGGFzc2V0czEDEGRlc3QBAgx4Y21tAyBUcmFuc2FjdAAADCxvcmlnaW5fa2luZFEDWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3QYEGNhbGwkZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QAAAwYc2VuZGVyBEBtYXhfbWVzc2FnZV9zaXplBDBtYXhfY2FwYWNpdHkETEhybXBDaGFubmVsQWNjZXB0ZWQAAAQkcmVjaXBpZW50BEhIcm1wQ2hhbm5lbENsb3NpbmcAAAwkaW5pdGlhdG9yBBhzZW5kZXIEJHJlY2lwaWVudAQsQ2xlYXJPcmlnaW4AAQU0RGVzY2VuZE9yaWdpbgH9ASxSZXBvcnRFcnJvcgFVAzBEZXBvc2l0QXNzZXQAAAgYYXNzZXRzYQMsYmVuZWZpY2lhcnkBAkxEZXBvc2l0UmVzZXJ2ZUFzc2V0AAAMGGFzc2V0c2EDEGRlc3QBAgx4Y21tAzRFeGNoYW5nZUFzc2V0AAAMEGdpdmVhAxB3YW50MQMcbWF4aW1hbBRcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcAAAwYYXNzZXRzYQMccmVzZXJ2ZQECDHhjbW0DQEluaXRpYXRlVGVsZXBvcnQAAAwYYXNzZXRzYQMQZGVzdAECDHhjbW0DNFJlcG9ydEhvbGRpbmcAAAg0cmVzcG9uc2VfaW5mb1UDGGFzc2V0c2EDMEJ1eUV4ZWN1dGlvbgAACBBmZWVzLQMwd2VpZ2h0X2xpbWl0ZQM0UmVmdW5kU3VycGx1cwABBTxTZXRFcnJvckhhbmRsZXIBbQMsU2V0QXBwZW5kaXgBbQMoQ2xlYXJFcnJvcgABBShDbGFpbUFzc2V0AAAIGGFzc2V0czEDGHRpY2tldAECEFRyYXABCEBTdWJzY3JpYmVWZXJzaW9uAAAIIHF1ZXJ5X2lkCExtYXhfcmVzcG9uc2Vfd2VpZ2h0GEhVbnN1YnNjcmliZVZlcnNpb24AAQUkQnVybkFzc2V0ATEDLEV4cGVjdEFzc2V0ATEDMEV4cGVjdE9yaWdpbgFNAyxFeHBlY3RFcnJvcgE5A1BFeHBlY3RUcmFuc2FjdFN0YXR1cwFFAyxRdWVyeVBhbGxldAAACCxtb2R1bGVfbmFtZSQ0cmVzcG9uc2VfaW5mb1UDMEV4cGVjdFBhbGxldAAAFBRpbmRleAQQbmFtZSQsbW9kdWxlX25hbWUkLGNyYXRlX21ham9yBDxtaW5fY3JhdGVfbWlub3IEUFJlcG9ydFRyYW5zYWN0U3RhdHVzAVUDTENsZWFyVHJhbnNhY3RTdGF0dXMAAQU8VW5pdmVyc2FsT3JpZ2luAfkBNEV4cG9ydE1lc3NhZ2UAAAwcbmV0d29ya+UBLGRlc3RpbmF0aW9u/QEMeGNtbQMkTG9ja0Fzc2V0AAAIFGFzc2V0LQMgdW5sb2NrZXIBAixVbmxvY2tBc3NldAAACBRhc3NldC0DGHRhcmdldAECOE5vdGVVbmxvY2thYmxlAAAIFGFzc2V0LQMUb3duZXIBAjRSZXF1ZXN0VW5sb2NrAAAIFGFzc2V0LQMYbG9ja2VyAQIsU2V0RmVlc01vZGUAAAQwaml0X3dpdGhkcmF3FCBTZXRUb3BpYwEgKENsZWFyVG9waWMAAQUsQWxpYXNPcmlnaW4BAQI8VW5wYWlkRXhlY3V0aW9uAAAIMHdlaWdodF9saW1pdGUDMGNoZWNrX29yaWdpbk0DBGkDAAIQDEFueQABBRROYW1lZAEkIFBvbGthZG90AAEFGEt1c2FtYQABBQIoEFVuaXQAAQUUTmFtZWQBJBRJbmRleAEEJEV4ZWN1dGl2ZQABBSRUZWNobmljYWwAAQUsTGVnaXNsYXRpdmUAAQUgSnVkaWNpYWwAAQUcRGVmZW5zZQABBThBZG1pbmlzdHJhdGlvbgABBSBUcmVhc3VyeQABBQIkJFBhcmFjaGFpbgEELEFjY291bnRJZDMyAAAIHG5ldHdvcmtxAwhpZCA4QWNjb3VudEluZGV4NjQAAAgcbmV0d29ya3EDFGluZGV4CDBBY2NvdW50S2V5MjAAAAgcbmV0d29ya3EDDGtlee0BOFBhbGxldEluc3RhbmNlAQQwR2VuZXJhbEluZGV4AQgoR2VuZXJhbEtleQEkJE9ubHlDaGlsZAABBSRQbHVyYWxpdHkAAAgIaWR1AxBwYXJ09QECJBBIZXJlAAEFCFgxAXkDCFgyAAR5AwEICFgzAAR5AwEMCFg0AAR5AwEQCFg1AAR5AwEUCFg2AAR5AwEYCFg3AAR5AwEcCFg4AAR5AwEgAAgccGFyZW50cwQgaW50ZXJpb3J9AwIIIENvbmNyZXRlAYEDIEFic3RyYWN0ASQCHCRVbmRlZmluZWQAAQUUSW5kZXgBCBhBcnJheTQBKBhBcnJheTgBWQIcQXJyYXkxNgEhAxxBcnJheTMyASAQQmxvYgEkAgggRnVuZ2libGUBCCxOb25GdW5naWJsZQGJAwAICGlkhQMMZnVujQMEkQMAAgggQ29uY3JldGUBAQIgQWJzdHJhY3QBIAAICGlkmQMMZnVuKQMEnQMAAgwIVjIBlQMIVjMBoQMIVjQBMQMCDAhWMgGBAwhWMwEBAghWNAEBAgJgJEF0dGVtcHRlZAAABBxvdXRjb21lHQMQU2VudAAAEBhvcmlnaW4BAixkZXN0aW5hdGlvbgECHG1lc3NhZ2VtAyhtZXNzYWdlX2lkIEhVbmV4cGVjdGVkUmVzcG9uc2UAAAgYb3JpZ2luAQIgcXVlcnlfaWQINFJlc3BvbnNlUmVhZHkAAAggcXVlcnlfaWQIIHJlc3BvbnNlSQMgTm90aWZpZWQAAAwgcXVlcnlfaWQIMHBhbGxldF9pbmRleAQoY2FsbF9pbmRleARATm90aWZ5T3ZlcndlaWdodAAAFCBxdWVyeV9pZAgwcGFsbGV0X2luZGV4BChjYWxsX2luZGV4BDRhY3R1YWxfd2VpZ2h0GExtYXhfYnVkZ2V0ZWRfd2VpZ2h0GExOb3RpZnlEaXNwYXRjaEVycm9yAAAMIHF1ZXJ5X2lkCDBwYWxsZXRfaW5kZXgEKGNhbGxfaW5kZXgESE5vdGlmeURlY29kZUZhaWxlZAAADCBxdWVyeV9pZAgwcGFsbGV0X2luZGV4BChjYWxsX2luZGV4BEBJbnZhbGlkUmVzcG9uZGVyAAAMGG9yaWdpbgECIHF1ZXJ5X2lkCERleHBlY3RlZF9sb2NhdGlvbk0DXEludmFsaWRSZXNwb25kZXJWZXJzaW9uAAAIGG9yaWdpbgECIHF1ZXJ5X2lkCDRSZXNwb25zZVRha2VuAAAEIHF1ZXJ5X2lkCDRBc3NldHNUcmFwcGVkAAAMEGhhc2ggGG9yaWdpbgECGGFzc2V0c6UDVFZlcnNpb25DaGFuZ2VOb3RpZmllZAAAECxkZXN0aW5hdGlvbgECGHJlc3VsdAQQY29zdDEDKG1lc3NhZ2VfaWQgXFN1cHBvcnRlZFZlcnNpb25DaGFuZ2VkAAAIIGxvY2F0aW9uAQIcdmVyc2lvbgRQTm90aWZ5VGFyZ2V0U2VuZEZhaWwAAAwgbG9jYXRpb24BAiBxdWVyeV9pZAgUZXJyb3IZA2ROb3RpZnlUYXJnZXRNaWdyYXRpb25GYWlsAAAIIGxvY2F0aW9uqQMgcXVlcnlfaWQIVEludmFsaWRRdWVyaWVyVmVyc2lvbgAACBhvcmlnaW4BAiBxdWVyeV9pZAg4SW52YWxpZFF1ZXJpZXIAABAYb3JpZ2luAQIgcXVlcnlfaWQIQGV4cGVjdGVkX3F1ZXJpZXIBAlBtYXliZV9hY3R1YWxfcXVlcmllck0DUFZlcnNpb25Ob3RpZnlTdGFydGVkAAAMLGRlc3RpbmF0aW9uAQIQY29zdDEDKG1lc3NhZ2VfaWQgWFZlcnNpb25Ob3RpZnlSZXF1ZXN0ZWQAAAwsZGVzdGluYXRpb24BAhBjb3N0MQMobWVzc2FnZV9pZCBgVmVyc2lvbk5vdGlmeVVucmVxdWVzdGVkAAAMLGRlc3RpbmF0aW9uAQIQY29zdDEDKG1lc3NhZ2VfaWQgIEZlZXNQYWlkAAAIGHBheWluZwECEGZlZXMxAzRBc3NldHNDbGFpbWVkAAAMEGhhc2ggGG9yaWdpbgECGGFzc2V0c6UDYFZlcnNpb25NaWdyYXRpb25GaW5pc2hlZAAABBx2ZXJzaW9uBAIMNEludmFsaWRGb3JtYXQBIEhVbnN1cHBvcnRlZFZlcnNpb24BIEBFeGVjdXRlZERvd253YXJkAAMIIB0DAgQ8WGNtcE1lc3NhZ2VTZW50AAAEMG1lc3NhZ2VfaGFzaCACDBBIZXJlAAEFGFBhcmVudAABBRxTaWJsaW5nAQQCGCRCYWRGb3JtYXQAAQUcQ29ycnVwdAABBSxVbnN1cHBvcnRlZAABBShPdmVyd2VpZ2h0ARgUWWllbGQAAQVEU3RhY2tMaW1pdFJlYWNoZWQAAQUCEEBQcm9jZXNzaW5nRmFpbGVkAAAMCGlkIBhvcmlnaW65AxRlcnJvcr0DJFByb2Nlc3NlZAAAEAhpZCAYb3JpZ2luuQMsd2VpZ2h0X3VzZWQYHHN1Y2Nlc3MUSE92ZXJ3ZWlnaHRFbnF1ZXVlZAAAEAhpZCAYb3JpZ2luuQMocGFnZV9pbmRleAQ0bWVzc2FnZV9pbmRleAQoUGFnZVJlYXBlZAAACBhvcmlnaW65AxRpbmRleAQCBBBTZW50AAAICHRvAQIcbWVzc2FnZW0DAgREVHJhbnNmZXJyZWRBc3NldHMAABAYc2VuZGVyABhhc3NldHMxAwxmZWUtAxBkZXN0AQICCCREZXBvc2l0ZWQAAAgUYXNzZXQtAwx3aG8BAiRXaXRoZHJhd24AAAgUYXNzZXQtAwx3aG8BAgQAAAIoQE5ld0ludnVsbmVyYWJsZXMAAAQ0aW52dWxuZXJhYmxlc9EDREludnVsbmVyYWJsZUFkZGVkAAAEKGFjY291bnRfaWQATEludnVsbmVyYWJsZVJlbW92ZWQAAAQoYWNjb3VudF9pZABQTmV3RGVzaXJlZENhbmRpZGF0ZXMAAARIZGVzaXJlZF9jYW5kaWRhdGVzBEBOZXdDYW5kaWRhY3lCb25kAAAELGJvbmRfYW1vdW50CDhDYW5kaWRhdGVBZGRlZAAACChhY2NvdW50X2lkABxkZXBvc2l0CFBDYW5kaWRhdGVCb25kVXBkYXRlZAAACChhY2NvdW50X2lkABxkZXBvc2l0CEBDYW5kaWRhdGVSZW1vdmVkAAAEKGFjY291bnRfaWQARENhbmRpZGF0ZVJlcGxhY2VkAAAMDG9sZAAMbmV3ABxkZXBvc2l0CGhJbnZhbGlkSW52dWxuZXJhYmxlU2tpcHBlZAAABChhY2NvdW50X2lkAAIEKE5ld1Nlc3Npb24AAAQ0c2Vzc2lvbl9pbmRleAQCCEBBZGRlZFRvV2hpdGVsaXN0AAAIGHNvdXJjZVkCGGFzc2V0czECUFJlbW92ZWRGcm9tV2hpdGVsaXN0AAAIGHNvdXJjZVkCGGFzc2V0czECAhwgT21uaXBvb2wAAQUoU3RhYmxlc3dhcAEEDFhZSwEEDExCUAABBQxPVEMBBBBBQVZFAAEFDEhTTQABBQIUHEV4YWN0SW4AAQUgRXhhY3RPdXQAAQUUTGltaXQAAQUwTGlxdWlkaXR5QWRkAAEFPExpcXVpZGl0eVJlbW92ZQABBQAIFGFzc2V0BBhhbW91bnQIBOkDAAIIHEFjY291bnQBABhCdXJuZWQAAQUADBRhc3NldAQYYW1vdW50CCxkZXN0aW5hdGlvbvEDBPUDAAIYGFJvdXRlcgEEDERDQQAEBAEIFEJhdGNoAQQgT21uaXBvb2wBBCxYY21FeGNoYW5nZQEEDFhjbQADCCAEBP0DAAIEIFN3YXBwZWQzAAAgHHN3YXBwZXIAGGZpbGxlcgAsZmlsbGVyX3R5cGXhAyRvcGVyYXRpb27lAxhpbnB1dHPtAxxvdXRwdXRz7QMQZmVlc/kDPG9wZXJhdGlvbl9zdGFjawEEAvgYU3lzdGVtAUkBIEJhbGFuY2VzAVEBSFRyYW5zYWN0aW9uUGF5bWVudAFVAVxNdWx0aVRyYW5zYWN0aW9uUGF5bWVudAFZASBUcmVhc3VyeQFdARxVdGlsaXR5AWUBIFByZWltYWdlAWkBIElkZW50aXR5AW0BJERlbW9jcmFjeQF9AUhUZWNobmljYWxDb21taXR0ZWUBgQEUUHJveHkBiQEgTXVsdGlzaWcBkQEcVW5pcXVlcwGhAUhTdGF0ZVRyaWVNaWdyYXRpb24BqQFAQ29udmljdGlvblZvdGluZwGxASRSZWZlcmVuZGEBvQEkV2hpdGVsaXN0AdEBKERpc3BhdGNoZXIB1QE0QXNzZXRSZWdpc3RyeQEFAhhDbGFpbXMBCQI8Q29sbGF0b3JSZXdhcmRzAQ0CIE9tbmlwb29sARECQFRyYW5zYWN0aW9uUGF1c2UBFQIYRHVzdGVyARkCTE9tbmlwb29sV2FyZWhvdXNlTE0BHQJcT21uaXBvb2xMaXF1aWRpdHlNaW5pbmcBKQIMT1RDAS0COENpcmN1aXRCcmVha2VyATkCGFJvdXRlcgFBAixEeW5hbWljRmVlcwFNAhxTdGFraW5nAVECKFN0YWJsZXN3YXABgQIUQm9uZHMBhQI4T3RjU2V0dGxlbWVudHMBiQIMTEJQAZUCDFhZSwGZAiRSZWZlcnJhbHMBpQIsTGlxdWlkYXRpb24BqQIMSFNNAa0CGFRva2VucwGxAihDdXJyZW5jaWVzAbUCHFZlc3RpbmcBvQIMRVZNAckCIEV0aGVyZXVtAeUCLEVWTUFjY291bnRzAekCSFhZS0xpcXVpZGl0eU1pbmluZwHxAjhYWUtXYXJlaG91c2VMTQEdAjhSZWxheUNoYWluSW5mbwH1AgxEQ0EBCQMkU2NoZWR1bGVyAREDPFBhcmFjaGFpblN5c3RlbQEVAyxQb2xrYWRvdFhjbQGtAyhDdW11bHVzWGNtAbEDJFhjbXBRdWV1ZQG1AzBNZXNzYWdlUXVldWUBwQMcT3JtbFhjbQHFAxxYVG9rZW5zAckDNFVua25vd25Ub2tlbnMBzQNEQ29sbGF0b3JTZWxlY3Rpb24B1QMcU2Vzc2lvbgHZAyRFbWFPcmFjbGUB3QMkQnJvYWRjYXN0AQUEAAwUcGhhc2U0FGV2ZW50CQQYdG9waWNzwQIEDQQABDECAAAIMHNwZWNfdmVyc2lvbgQkc3BlY19uYW1l0QIACCRjb2RlX2hhc2ggNGNoZWNrX3ZlcnNpb24UABA4YmFzZV9leHRyaW5zaWMYNG1heF9leHRyaW5zaWPBASRtYXhfdG90YWzBASByZXNlcnZlZMEBAAwYbm9ybWFsIQQsb3BlcmF0aW9uYWwhBCRtYW5kYXRvcnkhBAAMKGJhc2VfYmxvY2sYJG1heF9ibG9jaxgkcGVyX2NsYXNzJQQADBhub3JtYWwELG9wZXJhdGlvbmFsBCRtYW5kYXRvcnkEAAgQcmVhZAgUd3JpdGUIAwhZAgQENQQAACAkc3BlY19uYW1l0QIkaW1wbF9uYW1l0QJEYXV0aG9yaW5nX3ZlcnNpb24EMHNwZWNfdmVyc2lvbgQwaW1wbF92ZXJzaW9uBBBhcGlzOQRMdHJhbnNhY3Rpb25fdmVyc2lvbgQ0c3RhdGVfdmVyc2lvbgQEJAEIBEEEAAQkAAIMDEZlZQABBRBNaXNjAAEFDEFsbAABBQAMCGlkWQIYYW1vdW50CBxyZWFzb25zTQQEUQQAAAgIaWRZAhhhbW91bnQIBFkEAAIEIFByZWltYWdlAAEFAgQ8U2xhc2hGb3JNaWdyYXRlAAEFAgggUHJlaW1hZ2UBYQRIU3RhdGVUcmllTWlncmF0aW9uAWUEAAgIaWRpBBhhbW91bnQIBG0EAAAEGGFtb3VudAgEdQQAAgggSW5jcmVhc2UAAQUgRGVjcmVhc2UAAQUCCCRWMUFuY2llbnQAAQUIVjIAAQUECAEQABAgcHJvcG9zZXIAFHZhbHVlCCxiZW5lZmljaWFyeQAQYm9uZAgCDBxQZW5kaW5nAAEFJEF0dGVtcHRlZAAAABhGYWlsZWQAAQUAFBhhbW91bnQILGJlbmVmaWNpYXJ5ACh2YWxpZF9mcm9tBCRleHBpcmVfYXQEGHN0YXR1c40EAiwYcmVtYXJrAAAEGHJlbWFyayQ4c2V0X2hlYXBfcGFnZXMAAAQUcGFnZXMIIHNldF9jb2RlAAAEEGNvZGUkXHNldF9jb2RlX3dpdGhvdXRfY2hlY2tzAAAEEGNvZGUkLHNldF9zdG9yYWdlAAAEFGl0ZW1zRQQwa2lsbF9zdG9yYWdlAAAEEGtleXNJBCxraWxsX3ByZWZpeAAACBhwcmVmaXgkHHN1YmtleXMERHJlbWFya193aXRoX2V2ZW50AAAEGHJlbWFyayREYXV0aG9yaXplX3VwZ3JhZGUAAAQkY29kZV9oYXNoIIBhdXRob3JpemVfdXBncmFkZV93aXRob3V0X2NoZWNrcwAABCRjb2RlX2hhc2ggYGFwcGx5X2F1dGhvcml6ZWRfdXBncmFkZQAABBBjb2RlJAIEDHNldAAABAxub3cIAiRQdHJhbnNmZXJfYWxsb3dfZGVhdGgAAAgQZGVzdAAUdmFsdWUIOGZvcmNlX3RyYW5zZmVyAAAMGHNvdXJjZQAQZGVzdAAUdmFsdWUITHRyYW5zZmVyX2tlZXBfYWxpdmUAAAgQZGVzdAAUdmFsdWUIMHRyYW5zZmVyX2FsbAAACBBkZXN0AChrZWVwX2FsaXZlFDxmb3JjZV91bnJlc2VydmUAAAgMd2hvABhhbW91bnQIQHVwZ3JhZGVfYWNjb3VudHMAAAQMd2hv0QNEZm9yY2Vfc2V0X2JhbGFuY2UAAAgMd2hvACBuZXdfZnJlZQhsZm9yY2VfYWRqdXN0X3RvdGFsX2lzc3VhbmNlAAAIJGRpcmVjdGlvbn0EFGRlbHRhCBBidXJuAAAIFHZhbHVlCChrZWVwX2FsaXZlFAIUMHNldF9jdXJyZW5jeQAABCBjdXJyZW5jeQQwYWRkX2N1cnJlbmN5AAAIIGN1cnJlbmN5BBRwcmljZQg8cmVtb3ZlX2N1cnJlbmN5AAAEIGN1cnJlbmN5BFhyZXNldF9wYXltZW50X2N1cnJlbmN5AAAEKGFjY291bnRfaWQAPGRpc3BhdGNoX3Blcm1pdAAAJBBmcm9t7QEIdG/tARR2YWx1ZYUEEGRhdGEkJGdhc19saW1pdAggZGVhZGxpbmWFBAR2BARyIARzIAIYLHNwZW5kX2xvY2FsAAAIGGFtb3VudAgsYmVuZWZpY2lhcnkAPHJlbW92ZV9hcHByb3ZhbAAABCxwcm9wb3NhbF9pZAQUc3BlbmQAAAwYYW1vdW50CCxiZW5lZmljaWFyeQAodmFsaWRfZnJvbeEBGHBheW91dAAABBRpbmRleAQwY2hlY2tfc3RhdHVzAAAEFGluZGV4BCh2b2lkX3NwZW5kAAAEFGluZGV4BAIMEFJvb3QAAQUYU2lnbmVkAQAQTm9uZQABBQIMHE1lbWJlcnMABAQBCBhNZW1iZXIBACBfUGhhbnRvbQABBQIkRFdoaXRlbGlzdGVkQ2FsbGVyAAEFTFJlZmVyZW5kdW1DYW5jZWxsZXIAAQVAUmVmZXJlbmR1bUtpbGxlcgABBTBHZW5lcmFsQWRtaW4AAQU0T21uaXBvb2xBZG1pbgABBSRUcmVhc3VyZXIAAQUcU3BlbmRlcgABBRhUaXBwZXIAAQVIRWNvbm9taWNQYXJhbWV0ZXJzAAEFAgRMRXRoZXJldW1UcmFuc2FjdGlvbgHtAQIIDFhjbQEBAiBSZXNwb25zZQEBAgIIFFJlbGF5AAEFQFNpYmxpbmdQYXJhY2hhaW4BBAIcGHN5c3RlbQGpBEhUZWNobmljYWxDb21taXR0ZWUBrQQcT3JpZ2lucwGxBCBFdGhlcmV1bQG1BCxQb2xrYWRvdFhjbQG5BChDdW11bHVzWGNtAb0EEFZvaWQBjAIYFGJhdGNoAAAEFGNhbGxz/QY0YXNfZGVyaXZhdGl2ZQAACBRpbmRleAQQY2FsbPkGJGJhdGNoX2FsbAAABBRjYWxsc/0GLGRpc3BhdGNoX2FzAAAIJGFzX29yaWdpbsEEEGNhbGz5Bixmb3JjZV9iYXRjaAAABBRjYWxsc/0GLHdpdGhfd2VpZ2h0AAAIEGNhbGz5Bhh3ZWlnaHQYAhQ0bm90ZV9wcmVpbWFnZQAABBRieXRlcyQ8dW5ub3RlX3ByZWltYWdlAAAEEGhhc2ggQHJlcXVlc3RfcHJlaW1hZ2UAAAQQaGFzaCBIdW5yZXF1ZXN0X3ByZWltYWdlAAAEEGhhc2ggOGVuc3VyZV91cGRhdGVkAAAEGGhhc2hlc8ECBQEIBQEMBQEUBQEYBQEcBQEkBQEoBQEsBQEwBQE0BQE4BQE8BQFEBQFIBQFMBQFUBQFYBQFcBQFgBQFkBQFoBQFsBQFwBQF0BQF4BQF8ApgQTm9uZQABBRBSYXcwAYwQUmF3MQEEEFJhdzIBzQQQUmF3MwHRBBBSYXc0ASgQUmF3NQHVBBBSYXc2AdkEEFJhdzcB3QQQUmF3OAFZAhBSYXc5AeEEFFJhdzEwAeUEFFJhdzExAekEFFJhdzEyAe0EFFJhdzEzAfEEFFJhdzE0AfUEFFJhdzE1AfkEFFJhdzE2ASEDFFJhdzE3Af0EFFJhdzE4AQEFFFJhdzE5AQUFFFJhdzIwAe0BFFJhdzIxAQkFFFJhdzIyAQ0FFFJhdzIzAREFFFJhdzI0ARUFFFJhdzI1ARkFFFJhdzI2AR0FFFJhdzI3ASEFFFJhdzI4ASUFFFJhdzI5ASkFFFJhdzMwAS0FFFJhdzMxATEFFFJhdzMyASAsQmxha2VUd28yNTYBIBhTaGEyNTYBICRLZWNjYWsyNTYBICxTaGFUaHJlZTI1NgEgBDUFAQgEOQUABu0BACQoYWRkaXRpb25hbD0FHGRpc3BsYXk1BRRsZWdhbDUFDHdlYjUFEHJpb3Q1BRRlbWFpbDUFPHBncF9maW5nZXJwcmludEEFFGltYWdlNQUcdHdpdHRlcjUFAwgANQUESQUAAhwcVW5rbm93bgABBRxGZWVQYWlkAQgoUmVhc29uYWJsZQABBSRLbm93bkdvb2QAAQUkT3V0T2ZEYXRlAAEFKExvd1F1YWxpdHkAAQUkRXJyb25lb3VzAAEFBQEBAQUBBQECDBxFZDI1NTE5AVUFHFNyMjU1MTkBVQUURWNkc2EBWQUGXQUCWDRhZGRfcmVnaXN0cmFyAAAEHGFjY291bnQAMHNldF9pZGVudGl0eQAABBBpbmZvRQUgc2V0X3N1YnMAAAQQc3Vic00FOGNsZWFyX2lkZW50aXR5AAEFRHJlcXVlc3RfanVkZ2VtZW50AAAIJHJlZ19pbmRleAQcbWF4X2ZlZQg4Y2FuY2VsX3JlcXVlc3QAAAQkcmVnX2luZGV4BBxzZXRfZmVlAAAIFGluZGV4BAxmZWUIOHNldF9hY2NvdW50X2lkAAAIFGluZGV4BAxuZXcAKHNldF9maWVsZHMAAAgUaW5kZXgEGGZpZWxkcwhEcHJvdmlkZV9qdWRnZW1lbnQAABAkcmVnX2luZGV4BBh0YXJnZXQAJGp1ZGdlbWVudFEFIGlkZW50aXR5IDRraWxsX2lkZW50aXR5AAAEGHRhcmdldAAcYWRkX3N1YgAACAxzdWIAEGRhdGE1BShyZW5hbWVfc3ViAAAIDHN1YgAQZGF0YTUFKHJlbW92ZV9zdWIAAAQMc3ViACBxdWl0X3N1YgABBVhhZGRfdXNlcm5hbWVfYXV0aG9yaXR5AAAMJGF1dGhvcml0eQAYc3VmZml4JChhbGxvY2F0aW9uBGRyZW1vdmVfdXNlcm5hbWVfYXV0aG9yaXR5AAAEJGF1dGhvcml0eQBAc2V0X3VzZXJuYW1lX2ZvcgAADAx3aG8AIHVzZXJuYW1lJCRzaWduYXR1cmVhBTxhY2NlcHRfdXNlcm5hbWUAAAQgdXNlcm5hbWUkXHJlbW92ZV9leHBpcmVkX2FwcHJvdmFsAAAEIHVzZXJuYW1lJFBzZXRfcHJpbWFyeV91c2VybmFtZQAABCB1c2VybmFtZSRgcmVtb3ZlX2RhbmdsaW5nX3VzZXJuYW1lAAAEIHVzZXJuYW1lJAIcEE5vbmUAAQUgTG9ja2VkMXgAAQUgTG9ja2VkMngAAQUgTG9ja2VkM3gAAQUgTG9ja2VkNHgAAQUgTG9ja2VkNXgAAQUgTG9ja2VkNngAAQUCUBxwcm9wb3NlAAAIIHByb3Bvc2FstQEUdmFsdWUIGHNlY29uZAAABCBwcm9wb3NhbAQQdm90ZQAACCRyZWZfaW5kZXgEEHZvdGV1AUBlbWVyZ2VuY3lfY2FuY2VsAAAEJHJlZl9pbmRleARAZXh0ZXJuYWxfcHJvcG9zZQAABCBwcm9wb3NhbLUBZGV4dGVybmFsX3Byb3Bvc2VfbWFqb3JpdHkAAAQgcHJvcG9zYWy1AWBleHRlcm5hbF9wcm9wb3NlX2RlZmF1bHQAAAQgcHJvcG9zYWy1AShmYXN0X3RyYWNrAAAMNHByb3Bvc2FsX2hhc2ggNHZvdGluZ19wZXJpb2QEFGRlbGF5BDR2ZXRvX2V4dGVybmFsAAAENHByb3Bvc2FsX2hhc2ggRGNhbmNlbF9yZWZlcmVuZHVtAAAEJHJlZl9pbmRleAQgZGVsZWdhdGUAAAwIdG8AKGNvbnZpY3Rpb25pBRxiYWxhbmNlCCh1bmRlbGVnYXRlAAEFWGNsZWFyX3B1YmxpY19wcm9wb3NhbHMAAQUYdW5sb2NrAAAEGHRhcmdldAAscmVtb3ZlX3ZvdGUAAAQUaW5kZXgERHJlbW92ZV9vdGhlcl92b3RlAAAIGHRhcmdldAAUaW5kZXgEJGJsYWNrbGlzdAAACDRwcm9wb3NhbF9oYXNoIDxtYXliZV9yZWZfaW5kZXjhATxjYW5jZWxfcHJvcG9zYWwAAAQocHJvcF9pbmRleAQwc2V0X21ldGFkYXRhAAAIFG93bmVyeQEobWF5YmVfaGFzaA0DRGZvcmNlX3JlbW92ZV92b3RlAAAIGHRhcmdldAAUaW5kZXgEAhgsc2V0X21lbWJlcnMAAAwsbmV3X21lbWJlcnPRAxRwcmltZZ0BJG9sZF9jb3VudAQcZXhlY3V0ZQAACCBwcm9wb3NhbPkGMGxlbmd0aF9ib3VuZAQccHJvcG9zZQAADCR0aHJlc2hvbGQEIHByb3Bvc2Fs+QYwbGVuZ3RoX2JvdW5kBBB2b3RlAAAMIHByb3Bvc2FsIBRpbmRleAQcYXBwcm92ZRRMZGlzYXBwcm92ZV9wcm9wb3NhbAAABDRwcm9wb3NhbF9oYXNoIBRjbG9zZQAAEDRwcm9wb3NhbF9oYXNoIBRpbmRleARUcHJvcG9zYWxfd2VpZ2h0X2JvdW5kGDBsZW5ndGhfYm91bmQEBoUBAigUcHJveHkAAAwQcmVhbABAZm9yY2VfcHJveHlfdHlwZXUFEGNhbGz5BiRhZGRfcHJveHkAAAwgZGVsZWdhdGUAKHByb3h5X3R5cGWFARRkZWxheQQwcmVtb3ZlX3Byb3h5AAAMIGRlbGVnYXRlAChwcm94eV90eXBlhQEUZGVsYXkEOHJlbW92ZV9wcm94aWVzAAEFLGNyZWF0ZV9wdXJlAAAMKHByb3h5X3R5cGWFARRkZWxheQQUaW5kZXgEJGtpbGxfcHVyZQAAFBxzcGF3bmVyAChwcm94eV90eXBlhQEUaW5kZXgEGGhlaWdodAQkZXh0X2luZGV4BCBhbm5vdW5jZQAACBByZWFsACRjYWxsX2hhc2ggTHJlbW92ZV9hbm5vdW5jZW1lbnQAAAgQcmVhbAAkY2FsbF9oYXNoIExyZWplY3RfYW5ub3VuY2VtZW50AAAIIGRlbGVnYXRlACRjYWxsX2hhc2ggPHByb3h5X2Fubm91bmNlZAAAECBkZWxlZ2F0ZQAQcmVhbABAZm9yY2VfcHJveHlfdHlwZXUFEGNhbGz5BgaNAQIQUGFzX211bHRpX3RocmVzaG9sZF8xAAAIRG90aGVyX3NpZ25hdG9yaWVz0QMQY2FsbPkGIGFzX211bHRpAAAUJHRocmVzaG9sZAREb3RoZXJfc2lnbmF0b3JpZXPRAzxtYXliZV90aW1lcG9pbnR9BRBjYWxs+QYobWF4X3dlaWdodBhAYXBwcm92ZV9hc19tdWx0aQAAFCR0aHJlc2hvbGQERG90aGVyX3NpZ25hdG9yaWVz0QM8bWF5YmVfdGltZXBvaW50fQUkY2FsbF9oYXNoIChtYXhfd2VpZ2h0GDxjYW5jZWxfYXNfbXVsdGkAABAkdGhyZXNob2xkBERvdGhlcl9zaWduYXRvcmllc9EDJHRpbWVwb2ludI0BJGNhbGxfaGFzaCAADBRpdGVtcwQ4aXRlbV9tZXRhZGF0YXMEKGF0dHJpYnV0ZXMEAmgYY3JlYXRlAAAIKGNvbGxlY3Rpb24IFGFkbWluADBmb3JjZV9jcmVhdGUAAAwoY29sbGVjdGlvbggUb3duZXIAMGZyZWVfaG9sZGluZxQcZGVzdHJveQAACChjb2xsZWN0aW9uCBx3aXRuZXNzhQUQbWludAAADChjb2xsZWN0aW9uCBBpdGVtCBRvd25lcgAQYnVybgAADChjb2xsZWN0aW9uCBBpdGVtCCxjaGVja19vd25lcp0BIHRyYW5zZmVyAAAMKGNvbGxlY3Rpb24IEGl0ZW0IEGRlc3QAJHJlZGVwb3NpdAAACChjb2xsZWN0aW9uCBRpdGVtc5UBGGZyZWV6ZQAACChjb2xsZWN0aW9uCBBpdGVtCBB0aGF3AAAIKGNvbGxlY3Rpb24IEGl0ZW0IRGZyZWV6ZV9jb2xsZWN0aW9uAAAEKGNvbGxlY3Rpb24IPHRoYXdfY29sbGVjdGlvbgAABChjb2xsZWN0aW9uCEh0cmFuc2Zlcl9vd25lcnNoaXAAAAgoY29sbGVjdGlvbggkbmV3X293bmVyACBzZXRfdGVhbQAAEChjb2xsZWN0aW9uCBhpc3N1ZXIAFGFkbWluABxmcmVlemVyAEBhcHByb3ZlX3RyYW5zZmVyAAAMKGNvbGxlY3Rpb24IEGl0ZW0IIGRlbGVnYXRlADxjYW5jZWxfYXBwcm92YWwAAAwoY29sbGVjdGlvbggQaXRlbQhQbWF5YmVfY2hlY2tfZGVsZWdhdGWdAURmb3JjZV9pdGVtX3N0YXR1cwAAHChjb2xsZWN0aW9uCBRvd25lcgAYaXNzdWVyABRhZG1pbgAcZnJlZXplcgAwZnJlZV9ob2xkaW5nFCRpc19mcm96ZW4UNHNldF9hdHRyaWJ1dGUAABAoY29sbGVjdGlvbggobWF5YmVfaXRlbZkBDGtleSQUdmFsdWUkPGNsZWFyX2F0dHJpYnV0ZQAADChjb2xsZWN0aW9uCChtYXliZV9pdGVtmQEMa2V5JDBzZXRfbWV0YWRhdGEAABAoY29sbGVjdGlvbggQaXRlbQgQZGF0YSQkaXNfZnJvemVuFDhjbGVhcl9tZXRhZGF0YQAACChjb2xsZWN0aW9uCBBpdGVtCFxzZXRfY29sbGVjdGlvbl9tZXRhZGF0YQAADChjb2xsZWN0aW9uCBBkYXRhJCRpc19mcm96ZW4UZGNsZWFyX2NvbGxlY3Rpb25fbWV0YWRhdGEAAAQoY29sbGVjdGlvbghQc2V0X2FjY2VwdF9vd25lcnNoaXAAAARAbWF5YmVfY29sbGVjdGlvbpkBZHNldF9jb2xsZWN0aW9uX21heF9zdXBwbHkAAAgoY29sbGVjdGlvbggobWF4X3N1cHBseQQkc2V0X3ByaWNlAAAQKGNvbGxlY3Rpb24IEGl0ZW0IFHByaWNlmQFEd2hpdGVsaXN0ZWRfYnV5ZXKdASBidXlfaXRlbQAADChjb2xsZWN0aW9uCBBpdGVtCCRiaWRfcHJpY2UIAAgQc2l6ZQQQaXRlbQQGjQUCDBxUb1N0YXJ0AAEFHExhc3RLZXkBJCBDb21wbGV0ZQABBQAUMHByb2dyZXNzX3RvcJUFOHByb2dyZXNzX2NoaWxklQUQc2l6ZQQkdG9wX2l0ZW1zBCxjaGlsZF9pdGVtcwQCGFhjb250cm9sX2F1dG9fbWlncmF0aW9uAAAEMG1heWJlX2NvbmZpZ5EFQGNvbnRpbnVlX21pZ3JhdGUAAAwYbGltaXRzjQU8cmVhbF9zaXplX3VwcGVyBDB3aXRuZXNzX3Rhc2uZBUhtaWdyYXRlX2N1c3RvbV90b3AAAAgQa2V5c0kEMHdpdG5lc3Nfc2l6ZQRQbWlncmF0ZV9jdXN0b21fY2hpbGQAAAwQcm9vdCQoY2hpbGRfa2V5c0kEKHRvdGFsX3NpemUEVHNldF9zaWduZWRfbWF4X2xpbWl0cwAABBhsaW1pdHONBUhmb3JjZV9zZXRfcHJvZ3Jlc3MAAAgwcHJvZ3Jlc3NfdG9wlQU4cHJvZ3Jlc3NfY2hpbGSVBQIcEHZvdGUAAAgocG9sbF9pbmRleAQQdm90Za0BIGRlbGVnYXRlAAAQFGNsYXNzBAh0bwAoY29udmljdGlvbmkFHGJhbGFuY2UIKHVuZGVsZWdhdGUAAAQUY2xhc3MEGHVubG9jawAACBRjbGFzcwQYdGFyZ2V0ACxyZW1vdmVfdm90ZQAACBRjbGFzc+EBFGluZGV4BERyZW1vdmVfb3RoZXJfdm90ZQAADBh0YXJnZXQAFGNsYXNzBBRpbmRleAREZm9yY2VfcmVtb3ZlX3ZvdGUAAAwYdGFyZ2V0ABRjbGFzcwQUaW5kZXgEAggIQXQBBBRBZnRlcgEEAiQYc3VibWl0AAAMPHByb3Bvc2FsX29yaWdpbsEEIHByb3Bvc2FstQFAZW5hY3RtZW50X21vbWVudKUFWHBsYWNlX2RlY2lzaW9uX2RlcG9zaXQAAAQUaW5kZXgEXHJlZnVuZF9kZWNpc2lvbl9kZXBvc2l0AAAEFGluZGV4BBhjYW5jZWwAAAQUaW5kZXgEEGtpbGwAAAQUaW5kZXgEQG51ZGdlX3JlZmVyZW5kdW0AAAQUaW5kZXgESG9uZV9mZXdlcl9kZWNpZGluZwAABBR0cmFjawRkcmVmdW5kX3N1Ym1pc3Npb25fZGVwb3NpdAAABBRpbmRleAQwc2V0X21ldGFkYXRhAAAIFGluZGV4BChtYXliZV9oYXNoDQMCEDh3aGl0ZWxpc3RfY2FsbAAABCRjYWxsX2hhc2ggXHJlbW92ZV93aGl0ZWxpc3RlZF9jYWxsAAAEJGNhbGxfaGFzaCBkZGlzcGF0Y2hfd2hpdGVsaXN0ZWRfY2FsbAAADCRjYWxsX2hhc2ggQGNhbGxfZW5jb2RlZF9sZW4ETGNhbGxfd2VpZ2h0X3dpdG5lc3MYnGRpc3BhdGNoX3doaXRlbGlzdGVkX2NhbGxfd2l0aF9wcmVpbWFnZQAABBBjYWxs+QYCEFBkaXNwYXRjaF9hc190cmVhc3VyeQAABBBjYWxs+QZgZGlzcGF0Y2hfYXNfYWF2ZV9tYW5hZ2VyAAAEEGNhbGz5BkRub3RlX2FhdmVfbWFuYWdlcgAABBxhY2NvdW50AFxkaXNwYXRjaF93aXRoX2V4dHJhX2dhcwAACBBjYWxs+QYkZXh0cmFfZ2FzCAbdAQYUAhQgcmVnaXN0ZXIAACQgYXNzZXRfaWThARBuYW1l2QEoYXNzZXRfdHlwZd0BTGV4aXN0ZW50aWFsX2RlcG9zaXSZARhzeW1ib2zZASBkZWNpbWFsc+EBIGxvY2F0aW9uTQM4eGNtX3JhdGVfbGltaXSZATRpc19zdWZmaWNpZW50FBh1cGRhdGUAACQgYXNzZXRfaWQEEG5hbWXZAShhc3NldF90eXBltQVMZXhpc3RlbnRpYWxfZGVwb3NpdJkBOHhjbV9yYXRlX2xpbWl0mQE0aXNfc3VmZmljaWVudLkFGHN5bWJvbNkBIGRlY2ltYWxz4QEgbG9jYXRpb25NA0RyZWdpc3Rlcl9leHRlcm5hbAAABCBsb2NhdGlvbgECJGJhbl9hc3NldAAABCBhc3NldF9pZAQsdW5iYW5fYXNzZXQAAAQgYXNzZXRfaWQEAgQUY2xhaW0AAARIZXRoZXJldW1fc2lnbmF0dXJlWQUCNCRhZGRfdG9rZW4AABAUYXNzZXQENGluaXRpYWxfcHJpY2UIKHdlaWdodF9jYXAEOHBvc2l0aW9uX293bmVyADRhZGRfbGlxdWlkaXR5AAAIFGFzc2V0BBhhbW91bnQIYGFkZF9saXF1aWRpdHlfd2l0aF9saW1pdAAADBRhc3NldAQYYW1vdW50CEBtaW5fc2hhcmVzX2xpbWl0CEByZW1vdmVfbGlxdWlkaXR5AAAILHBvc2l0aW9uX2lkCBhhbW91bnQIbHJlbW92ZV9saXF1aWRpdHlfd2l0aF9saW1pdAAADCxwb3NpdGlvbl9pZAgYYW1vdW50CCRtaW5fbGltaXQISHNhY3JpZmljZV9wb3NpdGlvbgAABCxwb3NpdGlvbl9pZAgQc2VsbAAAECBhc3NldF9pbgQkYXNzZXRfb3V0BBhhbW91bnQIOG1pbl9idXlfYW1vdW50CAxidXkAABAkYXNzZXRfb3V0BCBhc3NldF9pbgQYYW1vdW50CDxtYXhfc2VsbF9hbW91bnQIYHNldF9hc3NldF90cmFkYWJsZV9zdGF0ZQAACCBhc3NldF9pZAQUc3RhdGUEUHJlZnVuZF9yZWZ1c2VkX2Fzc2V0AAAMIGFzc2V0X2lkBBhhbW91bnQIJHJlY2lwaWVudABQc2V0X2Fzc2V0X3dlaWdodF9jYXAAAAggYXNzZXRfaWQEDGNhcARsd2l0aGRyYXdfcHJvdG9jb2xfbGlxdWlkaXR5AAAQIGFzc2V0X2lkBBhhbW91bnQIFHByaWNlVQIQZGVzdAAwcmVtb3ZlX3Rva2VuAAAIIGFzc2V0X2lkBCxiZW5lZmljaWFyeQACCERwYXVzZV90cmFuc2FjdGlvbgAACCxwYWxsZXRfbmFtZSQ0ZnVuY3Rpb25fbmFtZSRMdW5wYXVzZV90cmFuc2FjdGlvbgAACCxwYWxsZXRfbmFtZSQ0ZnVuY3Rpb25fbmFtZSQCDDBkdXN0X2FjY291bnQAAAgcYWNjb3VudAAsY3VycmVuY3lfaWQEXGFkZF9ub25kdXN0YWJsZV9hY2NvdW50AAAEHGFjY291bnQAaHJlbW92ZV9ub25kdXN0YWJsZV9hY2NvdW50AAAEHGFjY291bnQABhUEAkBIY3JlYXRlX2dsb2JhbF9mYXJtAAAgNHRvdGFsX3Jld2FyZHMIYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcwREYmxvY2tzX3Blcl9wZXJpb2QEPHJld2FyZF9jdXJyZW5jeQQUb3duZXIAQHlpZWxkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CFRscm5hX3ByaWNlX2FkanVzdG1lbnQIVHRlcm1pbmF0ZV9nbG9iYWxfZmFybQAABDhnbG9iYWxfZmFybV9pZAREY3JlYXRlX3lpZWxkX2Zhcm0AABA4Z2xvYmFsX2Zhcm1faWQEIGFzc2V0X2lkBChtdWx0aXBsaWVyCDRsb3lhbHR5X2N1cnZlJQJEdXBkYXRlX3lpZWxkX2Zhcm0AAAw4Z2xvYmFsX2Zhcm1faWQEIGFzc2V0X2lkBChtdWx0aXBsaWVyCDxzdG9wX3lpZWxkX2Zhcm0AAAg4Z2xvYmFsX2Zhcm1faWQEIGFzc2V0X2lkBERyZXN1bWVfeWllbGRfZmFybQAAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQgYXNzZXRfaWQEKG11bHRpcGxpZXIIUHRlcm1pbmF0ZV95aWVsZF9mYXJtAAAMOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQ4ZGVwb3NpdF9zaGFyZXMAAAw4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQELHBvc2l0aW9uX2lkCEByZWRlcG9zaXRfc2hhcmVzAAAMOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChkZXBvc2l0X2lkCDRjbGFpbV9yZXdhcmRzAAAIKGRlcG9zaXRfaWQINHlpZWxkX2Zhcm1faWQEPHdpdGhkcmF3X3NoYXJlcwAACChkZXBvc2l0X2lkCDR5aWVsZF9mYXJtX2lkBEh1cGRhdGVfZ2xvYmFsX2Zhcm0AABA4Z2xvYmFsX2Zhcm1faWQEYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcwRAeWllbGRfcGVyX3BlcmlvZAgsbWluX2RlcG9zaXQIKGpvaW5fZmFybXMAAAgwZmFybV9lbnRyaWVzFQQscG9zaXRpb25faWQIcGFkZF9saXF1aWRpdHlfYW5kX2pvaW5fZmFybXMAABAwZmFybV9lbnRyaWVzFQQUYXNzZXQEGGFtb3VudAhAbWluX3NoYXJlc19saW1pdJkBKGV4aXRfZmFybXMAAAgoZGVwb3NpdF9pZAg4eWllbGRfZmFybV9pZHM9AsBhZGRfbGlxdWlkaXR5X3N0YWJsZXN3YXBfb21uaXBvb2xfYW5kX2pvaW5fZmFybXMAAAw4c3RhYmxlX3Bvb2xfaWQEUHN0YWJsZV9hc3NldF9hbW91bnRzfQIwZmFybV9lbnRyaWVz0QUCECxwbGFjZV9vcmRlcgAAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQISHBhcnRpYWxseV9maWxsYWJsZRRIcGFydGlhbF9maWxsX29yZGVyAAAIIG9yZGVyX2lkBCRhbW91bnRfaW4IKGZpbGxfb3JkZXIAAAQgb3JkZXJfaWQEMGNhbmNlbF9vcmRlcgAABCBvcmRlcl9pZAQCGFhzZXRfdHJhZGVfdm9sdW1lX2xpbWl0AAAIIGFzc2V0X2lkBEh0cmFkZV92b2x1bWVfbGltaXQxAlxzZXRfYWRkX2xpcXVpZGl0eV9saW1pdAAACCBhc3NldF9pZAQ8bGlxdWlkaXR5X2xpbWl0NQJoc2V0X3JlbW92ZV9saXF1aWRpdHlfbGltaXQAAAggYXNzZXRfaWQEPGxpcXVpZGl0eV9saW1pdDUCOGxvY2tkb3duX2Fzc2V0AAAIIGFzc2V0X2lkBBR1bnRpbARMZm9yY2VfbGlmdF9sb2NrZG93bgAABCBhc3NldF9pZAQ8cmVsZWFzZV9kZXBvc2l0AAAIDHdobwAgYXNzZXRfaWQEAhQQc2VsbAAAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IOG1pbl9hbW91bnRfb3V0CBRyb3V0ZQEDDGJ1eQAAFCBhc3NldF9pbgQkYXNzZXRfb3V0BChhbW91bnRfb3V0CDRtYXhfYW1vdW50X2luCBRyb3V0ZQEDJHNldF9yb3V0ZQAACChhc3NldF9wYWly7QIkbmV3X3JvdXRlAQNIZm9yY2VfaW5zZXJ0X3JvdXRlAAAIKGFzc2V0X3BhaXLtAiRuZXdfcm91dGUBAyBzZWxsX2FsbAAAECBhc3NldF9pbgQkYXNzZXRfb3V0BDhtaW5fYW1vdW50X291dAgUcm91dGUBAwIINHNldF9hc3NldF9mZWUAAAggYXNzZXRfaWQEGGNvbmZpZ0kCQHJlbW92ZV9hc3NldF9mZWUAAAQgYXNzZXRfaWQEAhRIaW5pdGlhbGl6ZV9zdGFraW5nAAEFFHN0YWtlAAAEGGFtb3VudAg4aW5jcmVhc2Vfc3Rha2UAAAgscG9zaXRpb25faWQIGGFtb3VudAgUY2xhaW0AAAQscG9zaXRpb25faWQIHHVuc3Rha2UAAAQscG9zaXRpb25faWQIAjwsY3JlYXRlX3Bvb2wAABAsc2hhcmVfYXNzZXQEGGFzc2V0cz0CNGFtcGxpZmljYXRpb24EDGZlZQQ8dXBkYXRlX3Bvb2xfZmVlAAAIHHBvb2xfaWQEDGZlZQRQdXBkYXRlX2FtcGxpZmljYXRpb24AABAccG9vbF9pZARMZmluYWxfYW1wbGlmaWNhdGlvbgQsc3RhcnRfYmxvY2sEJGVuZF9ibG9jawQ0YWRkX2xpcXVpZGl0eQAACBxwb29sX2lkBBhhc3NldHN9AlBhZGRfbGlxdWlkaXR5X3NoYXJlcwAAEBxwb29sX2lkBBhzaGFyZXMIIGFzc2V0X2lkBEBtYXhfYXNzZXRfYW1vdW50CGhyZW1vdmVfbGlxdWlkaXR5X29uZV9hc3NldAAAEBxwb29sX2lkBCBhc3NldF9pZAQwc2hhcmVfYW1vdW50CDhtaW5fYW1vdW50X291dAhUd2l0aGRyYXdfYXNzZXRfYW1vdW50AAAQHHBvb2xfaWQEIGFzc2V0X2lkBBhhbW91bnQIQG1heF9zaGFyZV9hbW91bnQIEHNlbGwAABQccG9vbF9pZAQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCDhtaW5fYnV5X2Ftb3VudAgMYnV5AAAUHHBvb2xfaWQEJGFzc2V0X291dAQgYXNzZXRfaW4EKGFtb3VudF9vdXQIPG1heF9zZWxsX2Ftb3VudAhgc2V0X2Fzc2V0X3RyYWRhYmxlX3N0YXRlAAAMHHBvb2xfaWQEIGFzc2V0X2lkBBRzdGF0ZQRAcmVtb3ZlX2xpcXVpZGl0eQAADBxwb29sX2lkBDBzaGFyZV9hbW91bnQIPG1pbl9hbW91bnRzX291dH0CVGNyZWF0ZV9wb29sX3dpdGhfcGVncwAAGCxzaGFyZV9hc3NldAQYYXNzZXRzPQI0YW1wbGlmaWNhdGlvbgQMZmVlBChwZWdfc291cmNlaQI4bWF4X3BlZ191cGRhdGUEUGFkZF9hc3NldHNfbGlxdWlkaXR5AAAMHHBvb2xfaWQEGGFzc2V0c30CKG1pbl9zaGFyZXMIXHVwZGF0ZV9hc3NldF9wZWdfc291cmNlAAAMHHBvb2xfaWQEIGFzc2V0X2lkBChwZWdfc291cmNlZQJodXBkYXRlX3Bvb2xfbWF4X3BlZ191cGRhdGUAAAgccG9vbF9pZAQ4bWF4X3BlZ191cGRhdGUEAggUaXNzdWUAAAwgYXNzZXRfaWQEGGFtb3VudAggbWF0dXJpdHkIGHJlZGVlbQAACBxib25kX2lkBBhhbW91bnQIAgRAc2V0dGxlX290Y19vcmRlcgAADBhvdGNfaWQEGGFtb3VudAgUcm91dGUBAwMIBAgCGCxjcmVhdGVfcG9vbAAALChwb29sX293bmVyABxhc3NldF9hBDhhc3NldF9hX2Ftb3VudAgcYXNzZXRfYgQ4YXNzZXRfYl9hbW91bnQIOGluaXRpYWxfd2VpZ2h0BDBmaW5hbF93ZWlnaHQEMHdlaWdodF9jdXJ2ZY0CDGZlZTECNGZlZV9jb2xsZWN0b3IAMHJlcGF5X3RhcmdldAhAdXBkYXRlX3Bvb2xfZGF0YQAAJBxwb29sX2lkAChwb29sX293bmVynQEUc3RhcnThAQxlbmThAThpbml0aWFsX3dlaWdodOEBMGZpbmFsX3dlaWdodOEBDGZlZTUCNGZlZV9jb2xsZWN0b3KdATByZXBheV90YXJnZXSZATRhZGRfbGlxdWlkaXR5AAAIIGFtb3VudF9h+QUgYW1vdW50X2L5BUByZW1vdmVfbGlxdWlkaXR5AAAEHHBvb2xfaWQAEHNlbGwAABAgYXNzZXRfaW4EJGFzc2V0X291dAQYYW1vdW50CCRtYXhfbGltaXQIDGJ1eQAAECRhc3NldF9vdXQEIGFzc2V0X2luBBhhbW91bnQIJG1heF9saW1pdAgCHCxjcmVhdGVfcG9vbAAAEBxhc3NldF9hBCBhbW91bnRfYQgcYXNzZXRfYgQgYW1vdW50X2IINGFkZF9saXF1aWRpdHkAABAcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EISGFtb3VudF9iX21heF9saW1pdAhkYWRkX2xpcXVpZGl0eV93aXRoX2xpbWl0cwAAFBxhc3NldF9hBBxhc3NldF9iBCBhbW91bnRfYQhIYW1vdW50X2JfbWF4X2xpbWl0CChtaW5fc2hhcmVzCEByZW1vdmVfbGlxdWlkaXR5AAAMHGFzc2V0X2EEHGFzc2V0X2IEMHNoYXJlX2Ftb3VudAhwcmVtb3ZlX2xpcXVpZGl0eV93aXRoX2xpbWl0cwAAFBxhc3NldF9hBBxhc3NldF9iBDBzaGFyZV9hbW91bnQIMG1pbl9hbW91bnRfYQgwbWluX2Ftb3VudF9iCBBzZWxsAAAUIGFzc2V0X2luBCRhc3NldF9vdXQEGGFtb3VudAgkbWF4X2xpbWl0CCBkaXNjb3VudBQMYnV5AAAUJGFzc2V0X291dAQgYXNzZXRfaW4EGGFtb3VudAgkbWF4X2xpbWl0CCBkaXNjb3VudBQCFDRyZWdpc3Rlcl9jb2RlAAAEEGNvZGUkJGxpbmtfY29kZQAABBBjb2RlJBxjb252ZXJ0AAAEIGFzc2V0X2lkBDRjbGFpbV9yZXdhcmRzAAEFVHNldF9yZXdhcmRfcGVyY2VudGFnZQAADCBhc3NldF9pZAQUbGV2ZWydAhxyZXdhcmRzoQICCCRsaXF1aWRhdGUAABRAY29sbGF0ZXJhbF9hc3NldAQoZGVidF9hc3NldAQQdXNlcu0BNGRlYnRfdG9fY292ZXIIFHJvdXRlAQNYc2V0X2JvcnJvd2luZ19jb250cmFjdAAABCBjb250cmFjdO0BBpkBAhxQYWRkX2NvbGxhdGVyYWxfYXNzZXQAABwgYXNzZXRfaWQEHHBvb2xfaWQEMHB1cmNoYXNlX2ZlZQRkbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudAgwYnV5X2JhY2tfZmVlBDBidXliYWNrX3JhdGUEOG1heF9pbl9ob2xkaW5nmQFccmVtb3ZlX2NvbGxhdGVyYWxfYXNzZXQAAAQgYXNzZXRfaWQEXHVwZGF0ZV9jb2xsYXRlcmFsX2Fzc2V0AAAYIGFzc2V0X2lkBDBwdXJjaGFzZV9mZWXhAWRtYXhfYnV5X3ByaWNlX2NvZWZmaWNpZW50mQEwYnV5X2JhY2tfZmVl4QEwYnV5YmFja19yYXRl4QE4bWF4X2luX2hvbGRpbmcNBhBzZWxsAAAQIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbgg4c2xpcHBhZ2VfbGltaXQIDGJ1eQAAECBhc3NldF9pbgQkYXNzZXRfb3V0BChhbW91bnRfb3V0CDhzbGlwcGFnZV9saW1pdAhEZXhlY3V0ZV9hcmJpdHJhZ2UAAARMY29sbGF0ZXJhbF9hc3NldF9pZARAc2V0X2ZsYXNoX21pbnRlcgAABERmbGFzaF9taW50ZXJfYWRkcu0BAhQgdHJhbnNmZXIAAAwQZGVzdAAsY3VycmVuY3lfaWQEGGFtb3VudAgwdHJhbnNmZXJfYWxsAAAMEGRlc3QALGN1cnJlbmN5X2lkBChrZWVwX2FsaXZlFEx0cmFuc2Zlcl9rZWVwX2FsaXZlAAAMEGRlc3QALGN1cnJlbmN5X2lkBBhhbW91bnQIOGZvcmNlX3RyYW5zZmVyAAAQGHNvdXJjZQAQZGVzdAAsY3VycmVuY3lfaWQEGGFtb3VudAgsc2V0X2JhbGFuY2UAABAMd2hvACxjdXJyZW5jeV9pZAQgbmV3X2ZyZWUIMG5ld19yZXNlcnZlZAgCDCB0cmFuc2ZlcgAADBBkZXN0ACxjdXJyZW5jeV9pZAQYYW1vdW50CGB0cmFuc2Zlcl9uYXRpdmVfY3VycmVuY3kAAAgQZGVzdAAYYW1vdW50CDh1cGRhdGVfYmFsYW5jZQAADAx3aG8ALGN1cnJlbmN5X2lkBBhhbW91bnQIBLkCAAIQFGNsYWltAAEFPHZlc3RlZF90cmFuc2ZlcgAACBBkZXN0ACBzY2hlZHVsZbkCYHVwZGF0ZV92ZXN0aW5nX3NjaGVkdWxlcwAACAx3aG8ARHZlc3Rpbmdfc2NoZWR1bGVzHQYkY2xhaW1fZm9yAAAEEGRlc3QABoUEAwjtAcECBCkGAAIQIHdpdGhkcmF3AAAIHGFkZHJlc3PtARR2YWx1ZQgQY2FsbAAAJBhzb3VyY2XtARh0YXJnZXTtARRpbnB1dCQUdmFsdWWFBCRnYXNfbGltaXQIPG1heF9mZWVfcGVyX2dhc4UEYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhcyUGFG5vbmNlJQYsYWNjZXNzX2xpc3QtBhhjcmVhdGUAACAYc291cmNl7QEQaW5pdCQUdmFsdWWFBCRnYXNfbGltaXQIPG1heF9mZWVfcGVyX2dhc4UEYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhcyUGFG5vbmNlJQYsYWNjZXNzX2xpc3QtBhxjcmVhdGUyAAAkGHNvdXJjZe0BEGluaXQkEHNhbHQgFHZhbHVlhQQkZ2FzX2xpbWl0CDxtYXhfZmVlX3Blcl9nYXOFBGBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXMlBhRub25jZSUGLGFjY2Vzc19saXN0LQYCCBBDYWxsAe0BGENyZWF0ZQABBQAMBHYIBHIgBHMgABwUbm9uY2WFBCRnYXNfcHJpY2WFBCRnYXNfbGltaXSFBBhhY3Rpb241BhR2YWx1ZYUEFGlucHV0JCRzaWduYXR1cmU5BgAIHGFkZHJlc3PtATBzdG9yYWdlX2tleXPBAgRBBgAALCBjaGFpbl9pZAgUbm9uY2WFBCRnYXNfcHJpY2WFBCRnYXNfbGltaXSFBBhhY3Rpb241BhR2YWx1ZYUEFGlucHV0JCxhY2Nlc3NfbGlzdEUGMG9kZF95X3Bhcml0eRQEciAEcyAAMCBjaGFpbl9pZAgUbm9uY2WFBGBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXOFBDxtYXhfZmVlX3Blcl9nYXOFBCRnYXNfbGltaXSFBBhhY3Rpb241BhR2YWx1ZYUEFGlucHV0JCxhY2Nlc3NfbGlzdEUGMG9kZF95X3Bhcml0eRQEciAEcyACDBhMZWdhY3kBPQYcRUlQMjkzMAFJBhxFSVAxNTU5AU0GAgQgdHJhbnNhY3QAAAQsdHJhbnNhY3Rpb25RBgIYQGJpbmRfZXZtX2FkZHJlc3MAAQVUYWRkX2NvbnRyYWN0X2RlcGxveWVyAAAEHGFkZHJlc3PtAWByZW1vdmVfY29udHJhY3RfZGVwbG95ZXIAAAQcYWRkcmVzc+0BaHJlbm91bmNlX2NvbnRyYWN0X2RlcGxveWVyAAEFQGFwcHJvdmVfY29udHJhY3QAAAQcYWRkcmVzc+0BTGRpc2FwcHJvdmVfY29udHJhY3QAAAQcYWRkcmVzc+0BAjxIY3JlYXRlX2dsb2JhbF9mYXJtAAAkNHRvdGFsX3Jld2FyZHMIYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcwREYmxvY2tzX3Blcl9wZXJpb2QESGluY2VudGl2aXplZF9hc3NldAQ8cmV3YXJkX2N1cnJlbmN5BBRvd25lcgBAeWllbGRfcGVyX3BlcmlvZAgsbWluX2RlcG9zaXQIQHByaWNlX2FkanVzdG1lbnQISHVwZGF0ZV9nbG9iYWxfZmFybQAACDhnbG9iYWxfZmFybV9pZARAcHJpY2VfYWRqdXN0bWVudAhUdGVybWluYXRlX2dsb2JhbF9mYXJtAAAEOGdsb2JhbF9mYXJtX2lkBERjcmVhdGVfeWllbGRfZmFybQAAEDhnbG9iYWxfZmFybV9pZAQoYXNzZXRfcGFpcu0CKG11bHRpcGxpZXIINGxveWFsdHlfY3VydmUlAkR1cGRhdGVfeWllbGRfZmFybQAADDhnbG9iYWxfZmFybV9pZAQoYXNzZXRfcGFpcu0CKG11bHRpcGxpZXIIPHN0b3BfeWllbGRfZmFybQAACDhnbG9iYWxfZmFybV9pZAQoYXNzZXRfcGFpcu0CRHJlc3VtZV95aWVsZF9mYXJtAAAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChhc3NldF9wYWly7QIobXVsdGlwbGllcghQdGVybWluYXRlX3lpZWxkX2Zhcm0AAAw4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGFzc2V0X3BhaXLtAjhkZXBvc2l0X3NoYXJlcwAAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoYXNzZXRfcGFpcu0CNHNoYXJlc19hbW91bnQIKGpvaW5fZmFybXMAAAwwZmFybV9lbnRyaWVzFQQoYXNzZXRfcGFpcu0CNHNoYXJlc19hbW91bnQIcGFkZF9saXF1aWRpdHlfYW5kX2pvaW5fZmFybXMAABQcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EISGFtb3VudF9iX21heF9saW1pdAgwZmFybV9lbnRyaWVzFQRAcmVkZXBvc2l0X3NoYXJlcwAAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoYXNzZXRfcGFpcu0CKGRlcG9zaXRfaWQINGNsYWltX3Jld2FyZHMAAAgoZGVwb3NpdF9pZAg0eWllbGRfZmFybV9pZAQ8d2l0aGRyYXdfc2hhcmVzAAAMKGRlcG9zaXRfaWQINHlpZWxkX2Zhcm1faWQEKGFzc2V0X3BhaXLtAihleGl0X2Zhcm1zAAAMKGRlcG9zaXRfaWQIKGFzc2V0X3BhaXLtAjBmYXJtX2VudHJpZXM9AgAcFG93bmVyABhwZXJpb2QEMHRvdGFsX2Ftb3VudAgsbWF4X3JldHJpZXPhAUxzdGFiaWxpdHlfdGhyZXNob2xk4QEgc2xpcHBhZ2XhARRvcmRlcgUDAgwgc2NoZWR1bGUAAAggc2NoZWR1bGVhBlRzdGFydF9leGVjdXRpb25fYmxvY2vhASR0ZXJtaW5hdGUAAAgsc2NoZWR1bGVfaWQEUG5leHRfZXhlY3V0aW9uX2Jsb2Nr4QE8dW5sb2NrX3Jlc2VydmVzAAAIDHdobwAgYXNzZXRfaWQEAiggc2NoZWR1bGUAABAQd2hlbgQ4bWF5YmVfcGVyaW9kaWM1AiBwcmlvcml0eQQQY2FsbPkGGGNhbmNlbAAACBB3aGVuBBRpbmRleAQ4c2NoZWR1bGVfbmFtZWQAABQIaWQgEHdoZW4EOG1heWJlX3BlcmlvZGljNQIgcHJpb3JpdHkEEGNhbGz5BjBjYW5jZWxfbmFtZWQAAAQIaWQgOHNjaGVkdWxlX2FmdGVyAAAQFGFmdGVyBDhtYXliZV9wZXJpb2RpYzUCIHByaW9yaXR5BBBjYWxs+QZQc2NoZWR1bGVfbmFtZWRfYWZ0ZXIAABQIaWQgFGFmdGVyBDhtYXliZV9wZXJpb2RpYzUCIHByaW9yaXR5BBBjYWxs+QYkc2V0X3JldHJ5AAAMEHRhc2sxAhxyZXRyaWVzBBhwZXJpb2QEPHNldF9yZXRyeV9uYW1lZAAADAhpZCAccmV0cmllcwQYcGVyaW9kBDBjYW5jZWxfcmV0cnkAAAQQdGFzazECSGNhbmNlbF9yZXRyeV9uYW1lZAAABAhpZCAAECxwYXJlbnRfaGVhZCRMcmVsYXlfcGFyZW50X251bWJlcgRkcmVsYXlfcGFyZW50X3N0b3JhZ2Vfcm9vdCAwbWF4X3Bvdl9zaXplBAAIHHNlbnRfYXQEDG1zZyQEcQYAAAgcc2VudF9hdAQQZGF0YSQEeQYAAwgEfQYEgQYAABA8dmFsaWRhdGlvbl9kYXRhbQZEcmVsYXlfY2hhaW5fc3RhdGVJBERkb3dud2FyZF9tZXNzYWdlc3UGTGhvcml6b250YWxfbWVzc2FnZXOFBgIITHNldF92YWxpZGF0aW9uX2RhdGEAAAQQZGF0YYkGYHN1ZG9fc2VuZF91cHdhcmRfbWVzc2FnZQAABBxtZXNzYWdlJAJoIE92ZXJmbG93AAEFNFVuaW1wbGVtZW50ZWQAAQVgVW50cnVzdGVkUmVzZXJ2ZUxvY2F0aW9uAAEFZFVudHJ1c3RlZFRlbGVwb3J0TG9jYXRpb24AAQVETXVsdGlMb2NhdGlvbkZ1bGwAAQVoTXVsdGlMb2NhdGlvbk5vdEludmVydGlibGUAAQUkQmFkT3JpZ2luAAEFPEludmFsaWRMb2NhdGlvbgABBTRBc3NldE5vdEZvdW5kAAEFVEZhaWxlZFRvVHJhbnNhY3RBc3NldAABBTxOb3RXaXRoZHJhd2FibGUAAQVITG9jYXRpb25DYW5ub3RIb2xkAAEFVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQABBVhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAAEFJFRyYW5zcG9ydAABBShVbnJvdXRhYmxlAAEFMFVua25vd25DbGFpbQABBThGYWlsZWRUb0RlY29kZQABBUBNYXhXZWlnaHRJbnZhbGlkAAEFOE5vdEhvbGRpbmdGZWVzAAEFMFRvb0V4cGVuc2l2ZQABBRBUcmFwAQhMVW5oYW5kbGVkWGNtVmVyc2lvbgABBUhXZWlnaHRMaW1pdFJlYWNoZWQBCBxCYXJyaWVyAAEFTFdlaWdodE5vdENvbXB1dGFibGUAAQUDCASRBgaVBgIQEE51bGwAAQUYQXNzZXRzAZUDPEV4ZWN1dGlvblJlc3VsdAGZBhxWZXJzaW9uAQQCCAxBbGwAAQUUQWxsT2YAAAgIaWSFAwxmdW5ZAwIIIERlZmluaXRlAZUDEFdpbGQBoQYCCCRVbmxpbWl0ZWQAAQUcTGltaXRlZAEIAnA0V2l0aGRyYXdBc3NldAGVA1RSZXNlcnZlQXNzZXREZXBvc2l0ZWQBlQNYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAGVAzRRdWVyeVJlc3BvbnNlAAAMIHF1ZXJ5X2lkCCByZXNwb25zZZ0GKG1heF93ZWlnaHQINFRyYW5zZmVyQXNzZXQAAAgYYXNzZXRzlQMsYmVuZWZpY2lhcnmBA1BUcmFuc2ZlclJlc2VydmVBc3NldAAADBhhc3NldHOVAxBkZXN0gQMMeGNtsQYgVHJhbnNhY3QAAAwsb3JpZ2luX3R5cGVRA1hyZXF1aXJlX3dlaWdodF9hdF9tb3N0CBBjYWxsJGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0AAAMGHNlbmRlcgRAbWF4X21lc3NhZ2Vfc2l6ZQQwbWF4X2NhcGFjaXR5BExIcm1wQ2hhbm5lbEFjY2VwdGVkAAAEJHJlY2lwaWVudARISHJtcENoYW5uZWxDbG9zaW5nAAAMJGluaXRpYXRvcgQYc2VuZGVyBCRyZWNpcGllbnQELENsZWFyT3JpZ2luAAEFNERlc2NlbmRPcmlnaW4BfQMsUmVwb3J0RXJyb3IAAAwgcXVlcnlfaWQIEGRlc3SBA0xtYXhfcmVzcG9uc2Vfd2VpZ2h0CDBEZXBvc2l0QXNzZXQAAAwYYXNzZXRzpQYobWF4X2Fzc2V0cwQsYmVuZWZpY2lhcnmBA0xEZXBvc2l0UmVzZXJ2ZUFzc2V0AAAQGGFzc2V0c6UGKG1heF9hc3NldHMEEGRlc3SBAwx4Y22xBjRFeGNoYW5nZUFzc2V0AAAIEGdpdmWlBhxyZWNlaXZllQNcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcAAAwYYXNzZXRzpQYccmVzZXJ2ZYEDDHhjbbEGQEluaXRpYXRlVGVsZXBvcnQAAAwYYXNzZXRzpQYQZGVzdIEDDHhjbbEGMFF1ZXJ5SG9sZGluZwAAECBxdWVyeV9pZAgQZGVzdIEDGGFzc2V0c6UGTG1heF9yZXNwb25zZV93ZWlnaHQIMEJ1eUV4ZWN1dGlvbgAACBBmZWVzkQMwd2VpZ2h0X2xpbWl0qQY0UmVmdW5kU3VycGx1cwABBTxTZXRFcnJvckhhbmRsZXIBsQYsU2V0QXBwZW5kaXgBsQYoQ2xlYXJFcnJvcgABBShDbGFpbUFzc2V0AAAIGGFzc2V0c5UDGHRpY2tldIEDEFRyYXABCEBTdWJzY3JpYmVWZXJzaW9uAAAIIHF1ZXJ5X2lkCExtYXhfcmVzcG9uc2Vfd2VpZ2h0CEhVbnN1YnNjcmliZVZlcnNpb24AAQUErQYAAhgQTnVsbAABBRhBc3NldHMBoQM8RXhlY3V0aW9uUmVzdWx0ATkDHFZlcnNpb24BBCxQYWxsZXRzSW5mbwFBAzhEaXNwYXRjaFJlc3VsdAFFAwIQDEFsbAABBRRBbGxPZgAACAhpZJkDDGZ1blkDKEFsbENvdW50ZWQBBDBBbGxPZkNvdW50ZWQAAAwIaWSZAwxmdW5ZAxRjb3VudAQCCCBEZWZpbml0ZQGhAxBXaWxkAbkGAsA0V2l0aGRyYXdBc3NldAGhA1RSZXNlcnZlQXNzZXREZXBvc2l0ZWQBoQNYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAGhAzRRdWVyeVJlc3BvbnNlAAAQIHF1ZXJ5X2lkCCByZXNwb25zZbUGKG1heF93ZWlnaHQYHHF1ZXJpZXJNAzRUcmFuc2ZlckFzc2V0AAAIGGFzc2V0c6EDLGJlbmVmaWNpYXJ5AQJQVHJhbnNmZXJSZXNlcnZlQXNzZXQAAAwYYXNzZXRzoQMQZGVzdAECDHhjbcUGIFRyYW5zYWN0AAAMLG9yaWdpbl9raW5kUQNYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdBgQY2FsbCRkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAAADBhzZW5kZXIEQG1heF9tZXNzYWdlX3NpemUEMG1heF9jYXBhY2l0eQRMSHJtcENoYW5uZWxBY2NlcHRlZAAABCRyZWNpcGllbnQESEhybXBDaGFubmVsQ2xvc2luZwAADCRpbml0aWF0b3IEGHNlbmRlcgQkcmVjaXBpZW50BCxDbGVhck9yaWdpbgABBTREZXNjZW5kT3JpZ2luAf0BLFJlcG9ydEVycm9yAVUDMERlcG9zaXRBc3NldAAACBhhc3NldHO9BixiZW5lZmljaWFyeQECTERlcG9zaXRSZXNlcnZlQXNzZXQAAAwYYXNzZXRzvQYQZGVzdAECDHhjbcUGNEV4Y2hhbmdlQXNzZXQAAAwQZ2l2Zb0GEHdhbnShAxxtYXhpbWFsFFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwAADBhhc3NldHO9BhxyZXNlcnZlAQIMeGNtxQZASW5pdGlhdGVUZWxlcG9ydAAADBhhc3NldHO9BhBkZXN0AQIMeGNtxQY0UmVwb3J0SG9sZGluZwAACDRyZXNwb25zZV9pbmZvVQMYYXNzZXRzvQYwQnV5RXhlY3V0aW9uAAAIEGZlZXOdAzB3ZWlnaHRfbGltaXRlAzRSZWZ1bmRTdXJwbHVzAAEFPFNldEVycm9ySGFuZGxlcgHFBixTZXRBcHBlbmRpeAHFBihDbGVhckVycm9yAAEFKENsYWltQXNzZXQAAAgYYXNzZXRzoQMYdGlja2V0AQIQVHJhcAEIQFN1YnNjcmliZVZlcnNpb24AAAggcXVlcnlfaWQITG1heF9yZXNwb25zZV93ZWlnaHQYSFVuc3Vic2NyaWJlVmVyc2lvbgABBSRCdXJuQXNzZXQBoQMsRXhwZWN0QXNzZXQBoQMwRXhwZWN0T3JpZ2luAU0DLEV4cGVjdEVycm9yATkDUEV4cGVjdFRyYW5zYWN0U3RhdHVzAUUDLFF1ZXJ5UGFsbGV0AAAILG1vZHVsZV9uYW1lJDRyZXNwb25zZV9pbmZvVQMwRXhwZWN0UGFsbGV0AAAUFGluZGV4BBBuYW1lJCxtb2R1bGVfbmFtZSQsY3JhdGVfbWFqb3IEPG1pbl9jcmF0ZV9taW5vcgRQUmVwb3J0VHJhbnNhY3RTdGF0dXMBVQNMQ2xlYXJUcmFuc2FjdFN0YXR1cwABBTxVbml2ZXJzYWxPcmlnaW4B+QE0RXhwb3J0TWVzc2FnZQAADBxuZXR3b3Jr5QEsZGVzdGluYXRpb279AQx4Y23FBiRMb2NrQXNzZXQAAAgUYXNzZXSdAyB1bmxvY2tlcgECLFVubG9ja0Fzc2V0AAAIFGFzc2V0nQMYdGFyZ2V0AQI4Tm90ZVVubG9ja2FibGUAAAgUYXNzZXSdAxRvd25lcgECNFJlcXVlc3RVbmxvY2sAAAgUYXNzZXSdAxhsb2NrZXIBAixTZXRGZWVzTW9kZQAABDBqaXRfd2l0aGRyYXcUIFNldFRvcGljASAoQ2xlYXJUb3BpYwABBSxBbGlhc09yaWdpbgEBAjxVbnBhaWRFeGVjdXRpb24AAAgwd2VpZ2h0X2xpbWl0ZQMwY2hlY2tfb3JpZ2luTQMEwQYAAgwIVjIBsQYIVjMBxQYIVjQBbQMCECBUZWxlcG9ydAABBTBMb2NhbFJlc2VydmUAAQVIRGVzdGluYXRpb25SZXNlcnZlAAEFNFJlbW90ZVJlc2VydmUBqQMCCAhWMwGZAwhWNAEBAgI4EHNlbmQAAAgQZGVzdKkDHG1lc3NhZ2XJBjx0ZWxlcG9ydF9hc3NldHMAABAQZGVzdKkDLGJlbmVmaWNpYXJ5qQMYYXNzZXRzpQM4ZmVlX2Fzc2V0X2l0ZW0EXHJlc2VydmVfdHJhbnNmZXJfYXNzZXRzAAAQEGRlc3SpAyxiZW5lZmljaWFyeakDGGFzc2V0c6UDOGZlZV9hc3NldF9pdGVtBBxleGVjdXRlAAAIHG1lc3NhZ2XJBihtYXhfd2VpZ2h0GERmb3JjZV94Y21fdmVyc2lvbgAACCBsb2NhdGlvbgECHHZlcnNpb24EZGZvcmNlX2RlZmF1bHRfeGNtX3ZlcnNpb24AAAREbWF5YmVfeGNtX3ZlcnNpb27hAXhmb3JjZV9zdWJzY3JpYmVfdmVyc2lvbl9ub3RpZnkAAAQgbG9jYXRpb26pA4Bmb3JjZV91bnN1YnNjcmliZV92ZXJzaW9uX25vdGlmeQAABCBsb2NhdGlvbqkDfGxpbWl0ZWRfcmVzZXJ2ZV90cmFuc2Zlcl9hc3NldHMAABQQZGVzdKkDLGJlbmVmaWNpYXJ5qQMYYXNzZXRzpQM4ZmVlX2Fzc2V0X2l0ZW0EMHdlaWdodF9saW1pdGUDXGxpbWl0ZWRfdGVsZXBvcnRfYXNzZXRzAAAUEGRlc3SpAyxiZW5lZmljaWFyeakDGGFzc2V0c6UDOGZlZV9hc3NldF9pdGVtBDB3ZWlnaHRfbGltaXRlA0Bmb3JjZV9zdXNwZW5zaW9uAAAEJHN1c3BlbmRlZBQ8dHJhbnNmZXJfYXNzZXRzAAAUEGRlc3SpAyxiZW5lZmljaWFyeakDGGFzc2V0c6UDOGZlZV9hc3NldF9pdGVtBDB3ZWlnaHRfbGltaXRlAzBjbGFpbV9hc3NldHMAAAgYYXNzZXRzpQMsYmVuZWZpY2lhcnmpA4x0cmFuc2Zlcl9hc3NldHNfdXNpbmdfdHlwZV9hbmRfdGhlbgAAHBBkZXN0qQMYYXNzZXRzpQNQYXNzZXRzX3RyYW5zZmVyX3R5cGXNBjhyZW1vdGVfZmVlc19pZNEGSGZlZXNfdHJhbnNmZXJfdHlwZc0GSGN1c3RvbV94Y21fb25fZGVzdMkGMHdlaWdodF9saW1pdGUDAggkcmVhcF9wYWdlAAAIOG1lc3NhZ2Vfb3JpZ2luuQMocGFnZV9pbmRleARIZXhlY3V0ZV9vdmVyd2VpZ2h0AAAQOG1lc3NhZ2Vfb3JpZ2luuQMQcGFnZQQUaW5kZXgEMHdlaWdodF9saW1pdBgCBERzZW5kX2FzX3NvdmVyZWlnbgAACBBkZXN0qQMcbWVzc2FnZckGAgwIVjIBkQMIVjMBnQMIVjQBLQME+QUAAhggdHJhbnNmZXIAABAsY3VycmVuY3lfaWQEGGFtb3VudAgQZGVzdKkDRGRlc3Rfd2VpZ2h0X2xpbWl0ZQNMdHJhbnNmZXJfbXVsdGlhc3NldAAADBRhc3NldOEGEGRlc3SpA0RkZXN0X3dlaWdodF9saW1pdGUDRHRyYW5zZmVyX3dpdGhfZmVlAAAULGN1cnJlbmN5X2lkBBhhbW91bnQIDGZlZQgQZGVzdKkDRGRlc3Rfd2VpZ2h0X2xpbWl0ZQNwdHJhbnNmZXJfbXVsdGlhc3NldF93aXRoX2ZlZQAAEBRhc3NldOEGDGZlZeEGEGRlc3SpA0RkZXN0X3dlaWdodF9saW1pdGUDYHRyYW5zZmVyX211bHRpY3VycmVuY2llcwAAEChjdXJyZW5jaWVz5QYgZmVlX2l0ZW0EEGRlc3SpA0RkZXN0X3dlaWdodF9saW1pdGUDUHRyYW5zZmVyX211bHRpYXNzZXRzAAAQGGFzc2V0c6UDIGZlZV9pdGVtBBBkZXN0qQNEZGVzdF93ZWlnaHRfbGltaXRlAwIkRHNldF9pbnZ1bG5lcmFibGVzAAAEDG5ld9EDWHNldF9kZXNpcmVkX2NhbmRpZGF0ZXMAAAQMbWF4BEhzZXRfY2FuZGlkYWN5X2JvbmQAAAQQYm9uZAhUcmVnaXN0ZXJfYXNfY2FuZGlkYXRlAAEFMGxlYXZlX2ludGVudAABBUBhZGRfaW52dWxuZXJhYmxlAAAEDHdobwBMcmVtb3ZlX2ludnVsbmVyYWJsZQAABAx3aG8ALHVwZGF0ZV9ib25kAAAELG5ld19kZXBvc2l0CEx0YWtlX2NhbmRpZGF0ZV9zbG90AAAIHGRlcG9zaXQIGHRhcmdldAACCCBzZXRfa2V5cwAACBBrZXlzIBRwcm9vZiQocHVyZ2Vfa2V5cwABBQIMKGFkZF9vcmFjbGUAAAgYc291cmNlWQIYYXNzZXRzMQI0cmVtb3ZlX29yYWNsZQAACBhzb3VyY2VZAhhhc3NldHMxAlR1cGRhdGVfYmlmcm9zdF9vcmFjbGUAAAwcYXNzZXRfYakDHGFzc2V0X2KpAxRwcmljZVUCAvQYU3lzdGVtAZUEJFRpbWVzdGFtcAGZBCBCYWxhbmNlcwGdBFxNdWx0aVRyYW5zYWN0aW9uUGF5bWVudAGhBCBUcmVhc3VyeQGlBBxVdGlsaXR5AcUEIFByZWltYWdlAckEIElkZW50aXR5AWUFJERlbW9jcmFjeQFtBUhUZWNobmljYWxDb21taXR0ZWUBcQUUUHJveHkBeQUgTXVsdGlzaWcBgQUcVW5pcXVlcwGJBUhTdGF0ZVRyaWVNaWdyYXRpb24BnQVAQ29udmljdGlvblZvdGluZwGhBSRSZWZlcmVuZGEBqQUkV2hpdGVsaXN0Aa0FKERpc3BhdGNoZXIBsQU0QXNzZXRSZWdpc3RyeQG9BRhDbGFpbXMBwQU4R2VuZXNpc0hpc3RvcnkBjCBPbW5pcG9vbAHFBUBUcmFuc2FjdGlvblBhdXNlAckFGER1c3RlcgHNBUxPbW5pcG9vbFdhcmVob3VzZUxNAYxcT21uaXBvb2xMaXF1aWRpdHlNaW5pbmcB1QUMT1RDAdkFOENpcmN1aXRCcmVha2VyAd0FGFJvdXRlcgHhBSxEeW5hbWljRmVlcwHlBRxTdGFraW5nAekFKFN0YWJsZXN3YXAB7QUUQm9uZHMB8QU4T3RjU2V0dGxlbWVudHMB9QUMTEJQAf0FDFhZSwEBBiRSZWZlcnJhbHMBBQYsTGlxdWlkYXRpb24BCQYMSFNNAREGGFRva2VucwEVBihDdXJyZW5jaWVzARkGHFZlc3RpbmcBIQYMRVZNATEGIEV0aGVyZXVtAVUGLEVWTUFjY291bnRzAVkGSFhZS0xpcXVpZGl0eU1pbmluZwFdBjhYWUtXYXJlaG91c2VMTQGMOFJlbGF5Q2hhaW5JbmZvAYwMRENBAWUGJFNjaGVkdWxlcgFpBjxQYXJhY2hhaW5TeXN0ZW0BjQY0UGFyYWNoYWluSW5mbwGMLFBvbGthZG90WGNtAdUGKEN1bXVsdXNYY20BjDBNZXNzYWdlUXVldWUB2QYcT3JtbFhjbQHdBhxYVG9rZW5zAekGRENvbGxhdG9yU2VsZWN0aW9uAe0GHFNlc3Npb24B8QYkRW1hT3JhY2xlAfUGJEJyb2FkY2FzdAGMBPkGAAMIAAgGAQcCCCxVbnJlcXVlc3RlZAAACBxkZXBvc2l0AQcMbGVuBCRSZXF1ZXN0ZWQAAAwcZGVwb3NpdAUHFGNvdW50BAxsZW7hAQIILFVucmVxdWVzdGVkAAAIGHRpY2tldAEHDGxlbgQkUmVxdWVzdGVkAAAMMG1heWJlX3RpY2tldAUHFGNvdW50BCRtYXliZV9sZW7hAQMIIAQDCARRBQQVBwAADChqdWRnZW1lbnRzGQccZGVwb3NpdAgQaW5mb0UFAwgdB9kBAwgI0QMADBxhY2NvdW50AAxmZWUIGGZpZWxkcwgGKQcELQcAAAgYc3VmZml4JChhbGxvY2F0aW9uBAMIAAQDDAS1AQAEPQcAAwjRAwgADBBheWVzCBBuYXlzCBx0dXJub3V0CAAUDGVuZAQgcHJvcG9zYWy1ASR0aHJlc2hvbGRxARRkZWxheQQUdGFsbHlJBwIIHE9uZ29pbmcBTQcgRmluaXNoZWQAAAggYXBwcm92ZWQUDGVuZAQDCAR1AQRVBwAACBR2b3RlcwgcY2FwaXRhbAgCCBhEaXJlY3QAAAwUdm90ZXNZByxkZWxlZ2F0aW9uc10HFHByaW9y+QUoRGVsZWdhdGluZwAAFBxiYWxhbmNlCBh0YXJnZXQAKGNvbnZpY3Rpb25pBSxkZWxlZ2F0aW9uc10HFHByaW9y+QUDCLUBcQEDCATRAwAUFGluZGV4BCR0aHJlc2hvbGQEEGF5ZXPRAxBuYXlz0QMMZW5kBAAMIGRlbGVnYXRlAChwcm94eV90eXBlhQEUZGVsYXkEBHEHAAMIdQcIAAwQcmVhbAAkY2FsbF9oYXNoIBhoZWlnaHQEBH0HAAMIgQcIAwgAIAAQEHdoZW6NARxkZXBvc2l0CCRkZXBvc2l0b3IAJGFwcHJvdmFsc9EDACgUb3duZXIAGGlzc3VlcgAUYWRtaW4AHGZyZWV6ZXIANHRvdGFsX2RlcG9zaXQIMGZyZWVfaG9sZGluZxQUaXRlbXMEOGl0ZW1fbWV0YWRhdGFzBChhdHRyaWJ1dGVzBCRpc19mcm96ZW4UAwwACAgAEBRvd25lcgAgYXBwcm92ZWSdASRpc19mcm96ZW4UHGRlcG9zaXQIAAwcZGVwb3NpdAgQZGF0YSQkaXNfZnJvemVuFAMMCJkBJAMIJAgDCAidAQMIBK0BBK0HAAAMFHZvdGVzsQcsZGVsZWdhdGlvbnNdBxRwcmlvcvkFABQcYmFsYW5jZQgYdGFyZ2V0AChjb252aWN0aW9uaQUsZGVsZWdhdGlvbnNdBxRwcmlvcvkFAggcQ2FzdGluZwG1ByhEZWxlZ2F0aW5nAbkHAAgMd2hvABhhbW91bnQIBsEHAAgUc2luY2UEKGNvbmZpcm1pbmfhAQbJBwMIBDECBtEHACwUdHJhY2sEGG9yaWdpbsEEIHByb3Bvc2FstQEkZW5hY3RtZW50pQUkc3VibWl0dGVkBEhzdWJtaXNzaW9uX2RlcG9zaXTBB0BkZWNpc2lvbl9kZXBvc2l0xQcgZGVjaWRpbmfNBxR0YWxsebkBIGluX3F1ZXVlFBRhbGFybdUHAhgcT25nb2luZwHZByBBcHByb3ZlZAADDATFB8UHIFJlamVjdGVkAAMMBMUHxQckQ2FuY2VsbGVkAAMMBMUHxQcgVGltZWRPdXQAAwwExQfFBxhLaWxsZWQBBAIMQExpbmVhckRlY3JlYXNpbmcAAAwYbGVuZ3RoBBRmbG9vcgQQY2VpbAREU3RlcHBlZERlY3JlYXNpbmcAABAUYmVnaW4EDGVuZAQQc3RlcAQYcGVyaW9kBChSZWNpcHJvY2FsAAAMGGZhY3RvcgggeF9vZmZzZXQIIHlfb2Zmc2V0CAAkEG5hbWXRAjBtYXhfZGVjaWRpbmcEQGRlY2lzaW9uX2RlcG9zaXQIOHByZXBhcmVfcGVyaW9kBDxkZWNpc2lvbl9wZXJpb2QEOGNvbmZpcm1fcGVyaW9kBFBtaW5fZW5hY3RtZW50X3BlcmlvZAQwbWluX2FwcHJvdmFs4QcsbWluX3N1cHBvcnThBwMIBOUHBOkHAAAcEG5hbWXZAShhc3NldF90eXBl3QFMZXhpc3RlbnRpYWxfZGVwb3NpdAgYc3ltYm9s2QEgZGVjaW1hbHPhATh4Y21fcmF0ZV9saW1pdJkBNGlzX3N1ZmZpY2llbnQUAAgwZ2VuZXNpc19oYXNoIDxsYXN0X2Jsb2NrX2hhc2ggABQsaHViX3Jlc2VydmUIGHNoYXJlcwg8cHJvdG9jb2xfc2hhcmVzCAxjYXAIIHRyYWRhYmxlBAAQIGFzc2V0X2lkBBhhbW91bnQIGHNoYXJlcwgUcHJpY2VVAgIMGEFjdGl2ZQABBRxTdG9wcGVkAAEFKFRlcm1pbmF0ZWQAAQUASAhpZAQUb3duZXIAKHVwZGF0ZWRfYXQEOHRvdGFsX3NoYXJlc196CDxhY2N1bXVsYXRlZF9ycHoIPHJld2FyZF9jdXJyZW5jeQQ8cGVuZGluZ19yZXdhcmRzCGBhY2N1bXVsYXRlZF9wYWlkX3Jld2FyZHMIQHlpZWxkX3Blcl9wZXJpb2QIYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcwREYmxvY2tzX3Blcl9wZXJpb2QESGluY2VudGl2aXplZF9hc3NldARUbWF4X3Jld2FyZF9wZXJfcGVyaW9kCCxtaW5fZGVwb3NpdAhYbGl2ZV95aWVsZF9mYXJtc19jb3VudARcdG90YWxfeWllbGRfZmFybXNfY291bnQEQHByaWNlX2FkanVzdG1lbnQIFHN0YXRlAQgEBAEMADAIaWQEKHVwZGF0ZWRfYXQEMHRvdGFsX3NoYXJlcwhMdG90YWxfdmFsdWVkX3NoYXJlcwhAYWNjdW11bGF0ZWRfcnB2cwg8YWNjdW11bGF0ZWRfcnB6CDRsb3lhbHR5X2N1cnZlJQIobXVsdGlwbGllcggUc3RhdGUBCDRlbnRyaWVzX2NvdW50CEhsZWZ0X3RvX2Rpc3RyaWJ1dGUINHRvdGFsX3N0b3BwZWQEACA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQENHZhbHVlZF9zaGFyZXMIQGFjY3VtdWxhdGVkX3JwdnMIbGFjY3VtdWxhdGVkX2NsYWltZWRfcmV3YXJkcwgoZW50ZXJlZF9hdAQodXBkYXRlZF9hdARMc3RvcHBlZF9hdF9jcmVhdGlvbgQEEQgAAAwYc2hhcmVzCCxhbW1fcG9vbF9pZARIeWllbGRfZmFybV9lbnRyaWVzFQgAGBRvd25lcgAgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CEhwYXJ0aWFsbHlfZmlsbGFibGUUAAwkdm9sdW1lX2luCCh2b2x1bWVfb3V0CBRsaW1pdAgACCRsaXF1aWRpdHkIFGxpbWl0CAIIGExvY2tlZAEEIFVubG9ja2VkAfkFAAwkYXNzZXRfZmVlBDBwcm90b2NvbF9mZWUEJHRpbWVzdGFtcAQADCx0b3RhbF9zdGFrZQhwYWNjdW11bGF0ZWRfcmV3YXJkX3Blcl9zdGFrZQhQcG90X3Jlc2VydmVkX2JhbGFuY2UIABwUc3Rha2UINGFjdGlvbl9wb2ludHMIQHJld2FyZF9wZXJfc3Rha2UIKGNyZWF0ZWRfYXQEYGFjY3VtdWxhdGVkX3NsYXNoX3BvaW50cwhoYWNjdW11bGF0ZWRfdW5wYWlkX3Jld2FyZHMIaGFjY3VtdWxhdGVkX2xvY2tlZF9yZXdhcmRzCAAIGGFtb3VudAgoY29udmljdGlvbmkFAwgEOQgEPQgAABgYYXNzZXRzPQJUaW5pdGlhbF9hbXBsaWZpY2F0aW9uBExmaW5hbF9hbXBsaWZpY2F0aW9uBDRpbml0aWFsX2Jsb2NrBCxmaW5hbF9ibG9jawQMZmVlBAAIGGFtb3VudAggZGVjaW1hbHMEBEkIAAAYGGFzc2V0cz0CIHJlc2VydmVzTQg0YW1wbGlmaWNhdGlvbggMZmVlBBBwZWdzbQI4c2hhcmVfaXNzdWFuY2UIAAgUc3RhcnQEDGVuZAQDCJ0CCAMIBJ0CAwwECAAAGBxwb29sX2lkBDBwdXJjaGFzZV9mZWUEZG1heF9idXlfcHJpY2VfY29lZmZpY2llbnQIMGJ1eWJhY2tfcmF0ZQQwYnV5X2JhY2tfZmVlBDhtYXhfaW5faG9sZGluZ5kBAAwQZnJlZQggcmVzZXJ2ZWQIGGZyb3plbggACBBzaXplCBBoYXNoIAMI7QEgBMUCAAUBAQQAHEB0cmFuc2FjdGlvbl9oYXNoIER0cmFuc2FjdGlvbl9pbmRleAQQZnJvbe0BCHRvQQVAY29udHJhY3RfYWRkcmVzc0EFEGxvZ3N1CChsb2dzX2Jsb29teQgAECxzdGF0dXNfY29kZQQgdXNlZF9nYXOFBChsb2dzX2Jsb29teQgQbG9nc3UIAgwYTGVnYWN5AYEIHEVJUDI5MzABgQgcRUlQMTU1OQGBCAMMUQZ9CIUIADwscGFyZW50X2hhc2ggLG9tbWVyc19oYXNoICxiZW5lZmljaWFyee0BKHN0YXRlX3Jvb3QgRHRyYW5zYWN0aW9uc19yb290IDRyZWNlaXB0c19yb290IChsb2dzX2Jsb29teQgoZGlmZmljdWx0eYUEGG51bWJlcoUEJGdhc19saW1pdIUEIGdhc191c2VkhQQkdGltZXN0YW1wCChleHRyYV9kYXRhJCBtaXhfaGFzaCAUbm9uY2VZAgRRBgAEjQgAAAwYaGVhZGVyjQgwdHJhbnNhY3Rpb25zkQgYb21tZXJzlQgEhQgABH0IAAMMAAQEAAwYc2hhcmVzCCxhbW1fcG9vbF9pZABIeWllbGRfZmFybV9lbnRyaWVzFQgAFCBtYXliZV9pZA0DIHByaW9yaXR5BBBjYWxstQE4bWF5YmVfcGVyaW9kaWM1AhhvcmlnaW7BBAatCASxCAAADDR0b3RhbF9yZXRyaWVzBCRyZW1haW5pbmcEGHBlcmlvZAQACCRtc2dfY291bnQELHRvdGFsX2J5dGVzBAMIBL0IBMEIAAAMNHVtcF9tc2dfY291bnQEPHVtcF90b3RhbF9ieXRlcwQ0aHJtcF9vdXRnb2luZ8UIAggUQWJvcnQAAQUcR29BaGVhZAABBQbNCAAMOHVzZWRfYmFuZHdpZHRoyQg4cGFyYV9oZWFkX2hhc2gNA2Bjb25zdW1lZF9nb19haGVhZF9zaWduYWzRCATVCAAADDh1c2VkX2JhbmR3aWR0aMkIOGhybXBfd2F0ZXJtYXJr4QFgY29uc3VtZWRfZ29fYWhlYWRfc2lnbmFs0QgCBBxQcmVzZW50AAEFBuEIAAg8cmVtYWluaW5nX2NvdW50BDhyZW1haW5pbmdfc2l6ZQQAGDBtYXhfY2FwYWNpdHkEOG1heF90b3RhbF9zaXplBEBtYXhfbWVzc2FnZV9zaXplBCRtc2dfY291bnQEKHRvdGFsX3NpemUEIG1xY19oZWFkDQMDCATtCATxCAAAEDBkbXFfbXFjX2hlYWQgnHJlbGF5X2Rpc3BhdGNoX3F1ZXVlX3JlbWFpbmluZ19jYXBhY2l0eekIQGluZ3Jlc3NfY2hhbm5lbHP1CDxlZ3Jlc3NfY2hhbm5lbHP1CAAITG1heF9jYW5kaWRhdGVfZGVwdGgEUGFsbG93ZWRfYW5jZXN0cnlfbGVuBAAoNG1heF9jb2RlX3NpemUESG1heF9oZWFkX2RhdGFfc2l6ZQRYbWF4X3Vwd2FyZF9xdWV1ZV9jb3VudARUbWF4X3Vwd2FyZF9xdWV1ZV9zaXplBFxtYXhfdXB3YXJkX21lc3NhZ2Vfc2l6ZQSQbWF4X3Vwd2FyZF9tZXNzYWdlX251bV9wZXJfY2FuZGlkYXRlBIhocm1wX21heF9tZXNzYWdlX251bV9wZXJfY2FuZGlkYXRlBGx2YWxpZGF0aW9uX3VwZ3JhZGVfY29vbGRvd24EYHZhbGlkYXRpb25fdXBncmFkZV9kZWxheQRQYXN5bmNfYmFja2luZ19wYXJhbXP9CAMIBCAEBQkAAAgkcmVjaXBpZW50BBBkYXRhJAQNCQAGqQMGzQQCDAhWMgGdBghWMwG1BghWNAFJAwIMHFBlbmRpbmcAABAkcmVzcG9uZGVyqQNMbWF5YmVfbWF0Y2hfcXVlcmllchUJMG1heWJlX25vdGlmeRkJHHRpbWVvdXQEPFZlcnNpb25Ob3RpZmllcgAACBhvcmlnaW6pAyRpc19hY3RpdmUUFFJlYWR5AAAIIHJlc3BvbnNlHQkIYXQEAwgEqQMDDAgYBAMIqQMEBC0JAAIQXE1pZ3JhdGVTdXBwb3J0ZWRWZXJzaW9uAAEFXE1pZ3JhdGVWZXJzaW9uTm90aWZpZXJzAAEFUE5vdGlmeUN1cnJlbnRUYXJnZXRzAdkBaE1pZ3JhdGVBbmROb3RpZnlPbGRUYXJnZXRzAAEFAwwEANEGAwiMCAQ9CQAAEBhhbW91bnQIFG93bmVyqQMYbG9ja2VyqQMkY29uc3VtZXJzQQkDCAipAwRJCQACCAhPawABBSRTdXNwZW5kZWQAAQUAFCRyZWNpcGllbnQEFHN0YXRlUQk0c2lnbmFsc19leGlzdBQsZmlyc3RfaW5kZXgEKGxhc3RfaW5kZXgEBFUJAAMIBAQADERzdXNwZW5kX3RocmVzaG9sZAQ4ZHJvcF90aHJlc2hvbGQEQHJlc3VtZV90aHJlc2hvbGQEAAgQcHJldrkDEG5leHS5AwZlCQAYFGJlZ2luBAxlbmQEFGNvdW50BEByZWFkeV9uZWlnaGJvdXJzaQk0bWVzc2FnZV9jb3VudAgQc2l6ZQgDCLkDBAAYJHJlbWFpbmluZwQ4cmVtYWluaW5nX3NpemUELGZpcnN0X2luZGV4BBRmaXJzdAQQbGFzdAQQaGVhcCQEAQIBCAMIAQIkAAgMd2hvABxkZXBvc2l0CASBCQAEiQcAAwgoJAMICAQDCFkCMQIACARuCARkCAAQEGFfaW4IFGJfb3V0CBRhX291dAgQYl9pbggACARhCARiCAAUFHByaWNlmQkYdm9sdW1lnQkkbGlxdWlkaXR5oQk8c2hhcmVzX2lzc3VhbmNlmQEodXBkYXRlZF9hdAQDCJUJpQkEqQkAAwxZAjECXQIDCKUJBASVCQAAFCxwYXJlbnRfaGFzaCAYbnVtYmVyBChzdGF0ZV9yb290IDxleHRyaW5zaWNzX3Jvb3QgGGRpZ2VzdDAACBhoZWFkZXK9CShleHRyaW5zaWNzSQQCCDRBbGxFeHRyaW5zaWNzAAEFNE9ubHlJbmhlcmVudHMAAQUCLBBDYWxsAAEFHFBheW1lbnQAAQUYRnV0dXJlAAEFFFN0YWxlAAEFIEJhZFByb29mAAEFREFuY2llbnRCaXJ0aEJsb2NrAAEFREV4aGF1c3RzUmVzb3VyY2VzAAEFGEN1c3RvbQEEMEJhZE1hbmRhdG9yeQABBUxNYW5kYXRvcnlWYWxpZGF0aW9uAAEFJEJhZFNpZ25lcgABBQIMMENhbm5vdExvb2t1cAABBUxOb1Vuc2lnbmVkVmFsaWRhdG9yAAEFGEN1c3RvbQEEAggcSW52YWxpZAHJCRxVbmtub3duAc0JB2EB0QkDCFkCJATZCQAADBBva2F5FCxmYXRhbF9lcnJvchQYZXJyb3Jz3QkCDBxJbkJsb2NrAAEFFExvY2FsAAEFIEV4dGVybmFsAAEFABQgcHJpb3JpdHkIIHJlcXVpcmVzSQQgcHJvdmlkZXNJBCRsb25nZXZpdHkIJHByb3BhZ2F0ZRQH6QnRCQMIJCgE8QkABvUJABg8dXB3YXJkX21lc3NhZ2VzSQRMaG9yaXpvbnRhbF9tZXNzYWdlcxEJTG5ld192YWxpZGF0aW9uX2NvZGXZAWxwcm9jZXNzZWRfZG93bndhcmRfbWVzc2FnZXMEOGhybXBfd2F0ZXJtYXJrBCRoZWFkX2RhdGEkAwgEaQgEAQoAAAwYd2VpZ2h0GBRjbGFzczgscGFydGlhbF9mZWUIAAwgYmFzZV9mZWUIHGxlbl9mZWUITGFkanVzdGVkX3dlaWdodF9mZWUIBg0KAAg0aW5jbHVzaW9uX2ZlZREKDHRpcAgACBxiYWxhbmNlhQQUbm9uY2WFBAYtBgAIIHN0YW5kYXJkhQQkZWZmZWN0aXZlhQQAEDhyZWZfdGltZV9saW1pdJkBQHByb29mX3NpemVfbGltaXSZAThyZWZfdGltZV91c2FnZZkBQHByb29mX3NpemVfdXNhZ2WZAQYlCgAULGV4aXRfcmVhc29u4QIUdmFsdWUkIHVzZWRfZ2FzIQosd2VpZ2h0X2luZm8pChBsb2dzdQgHLQpFAQAULGV4aXRfcmVhc29u4QIUdmFsdWXtASB1c2VkX2dhcyEKLHdlaWdodF9pbmZvKQoQbG9nc3UIBzUKRQEGmQgGnQgGoQgDDD0KQQpFCgMIPQpFCgTRBgACGDRVbmltcGxlbWVudGVkAAEFZFZlcnNpb25lZENvbnZlcnNpb25GYWlsZWQAAQVMV2VpZ2h0Tm90Q29tcHV0YWJsZQABBUxVbmhhbmRsZWRYY21WZXJzaW9uAAEFNEFzc2V0Tm90Rm91bmQAAQUoVW5yb3V0YWJsZQABBQdRClUKBxhVCgcIVQoHpQNVCgQJBAAGyQYEyQYAAwipA3EKBHUKAAAQQGV4ZWN1dGlvbl9yZXN1bHTNAThlbWl0dGVkX2V2ZW50c2kKJGxvY2FsX3hjbW0KOGZvcndhcmRlZF94Y21zeQoCCDRVbmltcGxlbWVudGVkAAEFZFZlcnNpb25lZENvbnZlcnNpb25GYWlsZWQAAQUHfQqBCgAMQGV4ZWN1dGlvbl9yZXN1bHQdAzhlbWl0dGVkX2V2ZW50c2kKOGZvcndhcmRlZF94Y21zeQoHiQqBCgIILFVuc3VwcG9ydGVkAAEFZFZlcnNpb25lZENvbnZlcnNpb25GYWlsZWQAAQUHAJEKAxAEBF0CWQIGmQoAEBxyZXNlcnZlBBhhdG9rZW4ELGxpcXVkaXR5X2luCDBsaXF1ZGl0eV9vdXQIBKEKAAeM0QIG0QIE0QIA";
67
+ content = "HQwAAAAQAQEFAAQBAQUAFAEBBQAcAAQAIAAEACQBAQUAIAEBBQAwAQEFABUEACAAGQQBAQUAHQQBAQUANAEBBQAhBAEBBQAtBAEBBQAxBAEBBQA1BAEBBQBBBAEABBhyZW1hcmskAQEFAQAEFHBhZ2VzCAEBBQEABBBjb2RlJAEBBQEABBRpdGVtc0kEAQEFAQAEEGtleXNNBAEBBQEACBhwcmVmaXgkHHN1YmtleXMEAQEFAQAEJGNvZGVfaGFzaCABAQUBAQUBAAQ0ZGlzcGF0Y2hfaW5mb0ABAQUBAAg4ZGlzcGF0Y2hfZXJyb3JJATRkaXNwYXRjaF9pbmZvQAEBBQEBBQEBBQEABBxhY2NvdW50AAEBBQEACBhzZW5kZXIAEGhhc2ggAQEFAQAIJGNvZGVfaGFzaCA0Y2hlY2tfdmVyc2lvbhQBAQUBAQUBAQUACAEABAxub3cIAQEFAAAADAAAAFkEAAAAYQQAAAB1BAAAAH0EAQAIEGRlc3QAFHZhbHVlCAEBBQEADBhzb3VyY2UAEGRlc3QAFHZhbHVlCAEBBQEACBBkZXN0AChrZWVwX2FsaXZlFAEBBQEACAx3aG8AGGFtb3VudAgBAQUBAAQMd2hv1QMBAQUBAAgMd2hvACBuZXdfZnJlZQgBAQUBAAgkZGlyZWN0aW9ugQQUZGVsdGEIAQEFAQAIFHZhbHVlCChrZWVwX2FsaXZlFAEBBQEBBQEACBxhY2NvdW50ADBmcmVlX2JhbGFuY2UIAQEFAQAIHGFjY291bnQAGGFtb3VudAgBAQUBAAwQZnJvbQAIdG8AGGFtb3VudAgBAQUBAAgMd2hvABBmcmVlCAEBBQEACAx3aG8AGGFtb3VudAgBAQUBABAQZnJvbQAIdG8AGGFtb3VudAhIZGVzdGluYXRpb25fc3RhdHVzUQEBAQUBAAQMd2hvAAEBBQEABBhhbW91bnQIAQEFAQAIDG9sZAgMbmV3CAEBBQCFBAEBBQEADAx3aG8AKGFjdHVhbF9mZWUIDHRpcAgAAAAEAAQACAEABCBjdXJyZW5jeQQBAQUBAAggY3VycmVuY3kEFHByaWNlCAEBBQEABChhY2NvdW50X2lkAAEBBQEAJBBmcm9t8QEIdG/xARR2YWx1ZYkEEGRhdGEkJGdhc19saW1pdAggZGVhZGxpbmWJBAR2BARyIARzIAEBBQEBBQEACChhY2NvdW50X2lkACBhc3NldF9pZAQBAQUBAAQgYXNzZXRfaWQEAQEFAQAUKGFjY291bnRfaWQAIGFzc2V0X2lkBERuYXRpdmVfZmVlX2Ftb3VudAhUbm9uX25hdGl2ZV9mZWVfYW1vdW50CFhkZXN0aW5hdGlvbl9hY2NvdW50X2lkAAAEAI0EAQEFAEECAAQAlQQBAQUAXQIBAAgYYW1vdW50CCxiZW5lZmljaWFyeQABAQUBAAQscHJvcG9zYWxfaWQEAQEFAQAMGGFtb3VudAgsYmVuZWZpY2lhcnkAKHZhbGlkX2Zyb23lAQEBBQEABBRpbmRleAQBAQUBAQUBAARAYnVkZ2V0X3JlbWFpbmluZwgBAQUBAAw4cHJvcG9zYWxfaW5kZXgEFGF3YXJkCBxhY2NvdW50AAEBBQEABCxidXJudF9mdW5kcwgBAQUBAARAcm9sbG92ZXJfYmFsYW5jZQgBAQUBAAQUdmFsdWUIAQEFAQAMOHByb3Bvc2FsX2luZGV4BBhhbW91bnQILGJlbmVmaWNpYXJ5AAEBBQEACCxyZWFjdGl2YXRlZAgsZGVhY3RpdmF0ZWQIAQEFAQAUFGluZGV4BBhhbW91bnQILGJlbmVmaWNpYXJ5ACh2YWxpZF9mcm9tBCRleHBpcmVfYXQEAQEFAQAEFGluZGV4BAEABBRjYWxscwEHAQEFAQAIFGluZGV4BBBjYWxs/QYBAQUBAAgkYXNfb3JpZ2luxQQQY2FsbP0GAQEFAQAIEGNhbGz9Bhh3ZWlnaHQYAQEFAQEFAQAIFGluZGV4BBRlcnJvckkBAQEFAQAEFGVycm9ySQEBAQUBAAQYcmVzdWx0ZQEAIAANBwAgABEHABUHACQBAAQUYnl0ZXMkAQEFAQAEEGhhc2ggAQEFAQAEGGhhc2hlc8UCAQEFAQEFAQAEEGhhc2ggAAAAJQcAAABNBQAAACkHAQEFADUHAAAAOQcAJAAAACQAPQcBAAQcYWNjb3VudAABAQUBAAQQaW5mb0kFAQEFAQAEEHN1YnNRBQEBBQEBBQEBBQEACCRyZWdfaW5kZXgEHG1heF9mZWUIAQEFAQAEJHJlZ19pbmRleAQBAQUBAAgUaW5kZXgEDGZlZQgBAQUBAAgUaW5kZXgEDG5ldwABAQUBAAgUaW5kZXgEGGZpZWxkcwgBAQUBABAkcmVnX2luZGV4BBh0YXJnZXQAJGp1ZGdlbWVudFUFIGlkZW50aXR5IAEBBQEABBh0YXJnZXQAAQEFAQAIDHN1YgAQZGF0YTkFAQEFAQAEDHN1YgABAQUBAAwkYXV0aG9yaXR5ABhzdWZmaXgkKGFsbG9jYXRpb24EAQEFAQAEJGF1dGhvcml0eQABAQUBAAwMd2hvACB1c2VybmFtZSQkc2lnbmF0dXJlZQUBAQUBAAQgdXNlcm5hbWUkAQEFAQEFAQAIDHdobwAcZGVwb3NpdAgBAQUBAAgMd2hvADxyZWdpc3RyYXJfaW5kZXgEAQEFAQAIGHRhcmdldAA8cmVnaXN0cmFyX2luZGV4BAEBBQEABDxyZWdpc3RyYXJfaW5kZXgEAQEFAQAMDHN1YgAQbWFpbgAcZGVwb3NpdAgBAQUBAAQkYXV0aG9yaXR5AAEBBQEACAx3aG8AIHVzZXJuYW1lJAEBBQEADAx3aG8AIHVzZXJuYW1lJChleHBpcmF0aW9uBAEBBQEABBR3aG9zZQABAQUARQcABABJBwAEAFUHAAAAZQcBAQUAaQcAIABtBwAgABQAfQEAIAEACCBwcm9wb3NhbLkBFHZhbHVlCAEBBQEABCBwcm9wb3NhbAQBAQUBAAgkcmVmX2luZGV4BBB2b3RleQEBAQUBAAQkcmVmX2luZGV4BAEBBQEABCBwcm9wb3NhbLkBAQEFAQAMNHByb3Bvc2FsX2hhc2ggNHZvdGluZ19wZXJpb2QEFGRlbGF5BAEBBQEABDRwcm9wb3NhbF9oYXNoIAEBBQEADAh0bwAoY29udmljdGlvbm0FHGJhbGFuY2UIAQEFAQAIGHRhcmdldAAUaW5kZXgEAQEFAQAINHByb3Bvc2FsX2hhc2ggPG1heWJlX3JlZl9pbmRleOUBAQEFAQAEKHByb3BfaW5kZXgEAQEFAQAIFG93bmVyfQEobWF5YmVfaGFzaBEDAQEFAQEFAQAIOHByb3Bvc2FsX2luZGV4BBxkZXBvc2l0CAEBBQEACCRyZWZfaW5kZXgEJHRocmVzaG9sZHUBAQEFAQAEJHJlZl9pbmRleAQBAQUBAAgMd2hvABh0YXJnZXQAAQEFAQAMDHdobwA0cHJvcG9zYWxfaGFzaCAUdW50aWwEAQEFAQAENHByb3Bvc2FsX2hhc2ggAQEFAQAMFHZvdGVyACRyZWZfaW5kZXgEEHZvdGV5AQEBBQEACCBzZWNvbmRlcgAocHJvcF9pbmRleAQBAQUBAAQocHJvcF9pbmRleAQBAQUBAAgUb3duZXJ9ARBoYXNoIAEBBQEADChwcmV2X293bmVyfQEUb3duZXJ9ARBoYXNoIAEBBQDFAgAgAP0GACAAcQcBAQUA1QMBAQUAAAEBBQAYAQAMLG5ld19tZW1iZXJz1QMUcHJpbWWhASRvbGRfY291bnQEAQEFAQAIIHByb3Bvc2Fs/QYwbGVuZ3RoX2JvdW5kBAEBBQEADCR0aHJlc2hvbGQEIHByb3Bvc2Fs/QYwbGVuZ3RoX2JvdW5kBAEBBQEADCBwcm9wb3NhbCAUaW5kZXgEHGFwcHJvdmUUAQEFAQAQNHByb3Bvc2FsX2hhc2ggFGluZGV4BFRwcm9wb3NhbF93ZWlnaHRfYm91bmQYMGxlbmd0aF9ib3VuZAQBAQUBAQUBABAcYWNjb3VudAA4cHJvcG9zYWxfaW5kZXgENHByb3Bvc2FsX2hhc2ggJHRocmVzaG9sZAQBAQUBABQcYWNjb3VudAA0cHJvcG9zYWxfaGFzaCAUdm90ZWQUDHllcwQIbm8EAQEFAQAINHByb3Bvc2FsX2hhc2ggGHJlc3VsdGUBAQEFAQAMNHByb3Bvc2FsX2hhc2ggDHllcwQIbm8EAAAAfQcAAACJBwEADBByZWFsAEBmb3JjZV9wcm94eV90eXBleQUQY2FsbP0GAQEFAQAMIGRlbGVnYXRlAChwcm94eV90eXBliQEUZGVsYXkEAQEFAQAMKHByb3h5X3R5cGWJARRkZWxheQQUaW5kZXgEAQEFAQAUHHNwYXduZXIAKHByb3h5X3R5cGWJARRpbmRleAQYaGVpZ2h0BCRleHRfaW5kZXgEAQEFAQAIEHJlYWwAJGNhbGxfaGFzaCABAQUBAAggZGVsZWdhdGUAJGNhbGxfaGFzaCABAQUBABAgZGVsZWdhdGUAEHJlYWwAQGZvcmNlX3Byb3h5X3R5cGV5BRBjYWxs/QYBAQUBAQUBABAQcHVyZQAMd2hvAChwcm94eV90eXBliQFQZGlzYW1iaWd1YXRpb25faW5kZXgEAQEFAQAMEHJlYWwAFHByb3h5ACRjYWxsX2hhc2ggAQEFAQAQJGRlbGVnYXRvcgAkZGVsZWdhdGVlAChwcm94eV90eXBliQEUZGVsYXkEAI0HAJEHAQAIRG90aGVyX3NpZ25hdG9yaWVz1QMQY2FsbP0GAQEFAQAUJHRocmVzaG9sZAREb3RoZXJfc2lnbmF0b3JpZXPVAzxtYXliZV90aW1lcG9pbnSBBRBjYWxs/QYobWF4X3dlaWdodBgBAQUBABQkdGhyZXNob2xkBERvdGhlcl9zaWduYXRvcmllc9UDPG1heWJlX3RpbWVwb2ludIEFJGNhbGxfaGFzaCAobWF4X3dlaWdodBgBAQUBABAkdGhyZXNob2xkBERvdGhlcl9zaWduYXRvcmllc9UDJHRpbWVwb2ludJEBJGNhbGxfaGFzaCABAQUBAQUBAAwkYXBwcm92aW5nACBtdWx0aXNpZwAkY2FsbF9oYXNoIAEBBQEAECRhcHByb3ZpbmcAJHRpbWVwb2ludJEBIG11bHRpc2lnACRjYWxsX2hhc2ggAQEFAQAUJGFwcHJvdmluZwAkdGltZXBvaW50kQEgbXVsdGlzaWcAJGNhbGxfaGFzaCAYcmVzdWx0ZQEBAQUBABAoY2FuY2VsbGluZwAkdGltZXBvaW50kQEgbXVsdGlzaWcAJGNhbGxfaGFzaCAACACVBwAAAAgAmQcAkAAFBwCQAFkCAJ0HAAgAoQcAWQIAoQcApQcAqQcAWQIArQcACAAEAQAIKGNvbGxlY3Rpb24IFGFkbWluAAEBBQEADChjb2xsZWN0aW9uCBRvd25lcgAwZnJlZV9ob2xkaW5nFAEBBQEACChjb2xsZWN0aW9uCBx3aXRuZXNziQUBAQUBAAwoY29sbGVjdGlvbggQaXRlbQgUb3duZXIAAQEFAQAMKGNvbGxlY3Rpb24IEGl0ZW0ILGNoZWNrX293bmVyoQEBAQUBAAwoY29sbGVjdGlvbggQaXRlbQgQZGVzdAABAQUBAAgoY29sbGVjdGlvbggUaXRlbXOZAQEBBQEACChjb2xsZWN0aW9uCBBpdGVtCAEBBQEABChjb2xsZWN0aW9uCAEBBQEACChjb2xsZWN0aW9uCCRuZXdfb3duZXIAAQEFAQAQKGNvbGxlY3Rpb24IGGlzc3VlcgAUYWRtaW4AHGZyZWV6ZXIAAQEFAQAMKGNvbGxlY3Rpb24IEGl0ZW0IIGRlbGVnYXRlAAEBBQEADChjb2xsZWN0aW9uCBBpdGVtCFBtYXliZV9jaGVja19kZWxlZ2F0ZaEBAQEFAQAcKGNvbGxlY3Rpb24IFG93bmVyABhpc3N1ZXIAFGFkbWluABxmcmVlemVyADBmcmVlX2hvbGRpbmcUJGlzX2Zyb3plbhQBAQUBABAoY29sbGVjdGlvbggobWF5YmVfaXRlbZ0BDGtleSQUdmFsdWUkAQEFAQAMKGNvbGxlY3Rpb24IKG1heWJlX2l0ZW2dAQxrZXkkAQEFAQAQKGNvbGxlY3Rpb24IEGl0ZW0IEGRhdGEkJGlzX2Zyb3plbhQBAQUBAAwoY29sbGVjdGlvbggQZGF0YSQkaXNfZnJvemVuFAEBBQEABEBtYXliZV9jb2xsZWN0aW9unQEBAQUBAAgoY29sbGVjdGlvbggobWF4X3N1cHBseQQBAQUBABAoY29sbGVjdGlvbggQaXRlbQgUcHJpY2WdAUR3aGl0ZWxpc3RlZF9idXllcqEBAQEFAQAMKGNvbGxlY3Rpb24IEGl0ZW0IJGJpZF9wcmljZQgBAQUBAQUBAAwoY29sbGVjdGlvbggcY3JlYXRvcgAUb3duZXIAAQEFAQAIKGNvbGxlY3Rpb24IFG93bmVyAAEBBQEABChjb2xsZWN0aW9uCAEBBQEADChjb2xsZWN0aW9uCBBpdGVtCBRvd25lcgABAQUBABAoY29sbGVjdGlvbggQaXRlbQgQZnJvbQAIdG8AAQEFAQAIKGNvbGxlY3Rpb24IEGl0ZW0IAQEFAQAIKGNvbGxlY3Rpb24IJG5ld19vd25lcgABAQUBABAoY29sbGVjdGlvbggYaXNzdWVyABRhZG1pbgAcZnJlZXplcgABAQUBABAoY29sbGVjdGlvbggQaXRlbQgUb3duZXIAIGRlbGVnYXRlAAEBBQEADChjb2xsZWN0aW9uCBBkYXRhJCRpc19mcm96ZW4UAQEFAQAQKGNvbGxlY3Rpb24IEGl0ZW0IEGRhdGEkJGlzX2Zyb3plbhQBAQUBAAgoY29sbGVjdGlvbghAc3VjY2Vzc2Z1bF9pdGVtc5kBAQEFAQAQKGNvbGxlY3Rpb24IKG1heWJlX2l0ZW2dAQxrZXkkFHZhbHVlJAEBBQEADChjb2xsZWN0aW9uCChtYXliZV9pdGVtnQEMa2V5JAEBBQEACAx3aG8AQG1heWJlX2NvbGxlY3Rpb26dAQEBBQEACChjb2xsZWN0aW9uCChtYXhfc3VwcGx5BAEBBQEAEChjb2xsZWN0aW9uCBBpdGVtCBRwcmljZQhEd2hpdGVsaXN0ZWRfYnV5ZXKhAQEBBQEAFChjb2xsZWN0aW9uCBBpdGVtCBRwcmljZQgYc2VsbGVyABRidXllcgABAQUAnQUBAQUAlQUBAQUAkQUBAAQwbWF5YmVfY29uZmlnlQUBAQUBAAwYbGltaXRzkQU8cmVhbF9zaXplX3VwcGVyBDB3aXRuZXNzX3Rhc2udBQEBBQEACBBrZXlzTQQwd2l0bmVzc19zaXplBAEBBQEADBByb290JChjaGlsZF9rZXlzTQQodG90YWxfc2l6ZQQBAQUBAAQYbGltaXRzkQUBAQUBAAgwcHJvZ3Jlc3NfdG9wmQU4cHJvZ3Jlc3NfY2hpbGSZBQEBBQEBBQEADAx0b3AEFGNoaWxkBBxjb21wdXRlqQEBAQUBAAQUZXJyb3J0AD0HAMEHAAAA6QYBAAgocG9sbF9pbmRleAQQdm90ZbEBAQEFAQAQFGNsYXNzBAh0bwAoY29udmljdGlvbm0FHGJhbGFuY2UIAQEFAQAEFGNsYXNzBAEBBQEACBRjbGFzcwQYdGFyZ2V0AAEBBQEACBRjbGFzc+UBFGluZGV4BAEBBQEADBh0YXJnZXQAFGNsYXNzBBRpbmRleAQBAQUBAQUBBAABCAEBBQAAAQEFAQAIDHdobwAQdm90ZbEBAAQA4QcABADpBgAEAAQBAQUA8QcBAAw8cHJvcG9zYWxfb3JpZ2luxQQgcHJvcG9zYWy5AUBlbmFjdG1lbnRfbW9tZW50qQUBAQUBAAQUdHJhY2sEAQEFAQAIFGluZGV4BChtYXliZV9oYXNoEQMBAQUBAQUBAAwUaW5kZXgEFHRyYWNrBCBwcm9wb3NhbLkBAQEFAQAMFGluZGV4BAx3aG8AGGFtb3VudAgBAQUBABAUaW5kZXgEFHRyYWNrBCBwcm9wb3NhbLkBFHRhbGx5vQEBAQUBAAgUaW5kZXgEFHRhbGx5vQEBAQUBAAgUaW5kZXgEEGhhc2ggACAAkAEABCRjYWxsX2hhc2ggAQEFAQAMJGNhbGxfaGFzaCBAY2FsbF9lbmNvZGVkX2xlbgRMY2FsbF93ZWlnaHRfd2l0bmVzcxgBAQUBAAQQY2FsbP0GAQEFAQEFAQAEJGNhbGxfaGFzaCABAQUBAAgkY2FsbF9oYXNoIBhyZXN1bHTRAQEBBQDlAgEACBBjYWxs/QYkZXh0cmFfZ2FzCAEBBQAEAPUHACQABAAEAAUCAAQAkAAFAgAEAQAkIGFzc2V0X2lk5QEQbmFtZd0BKGFzc2V0X3R5cGXhAUxleGlzdGVudGlhbF9kZXBvc2l0nQEYc3ltYm9s3QEgZGVjaW1hbHPlASBsb2NhdGlvblEDOHhjbV9yYXRlX2xpbWl0nQE0aXNfc3VmZmljaWVudBQBAQUBACQgYXNzZXRfaWQEEG5hbWXdAShhc3NldF90eXBluQVMZXhpc3RlbnRpYWxfZGVwb3NpdJ0BOHhjbV9yYXRlX2xpbWl0nQE0aXNfc3VmZmljaWVudL0FGHN5bWJvbN0BIGRlY2ltYWxz5QEgbG9jYXRpb25RAwEBBQEABCBsb2NhdGlvbgUCAQEFAQAEIGFzc2V0X2lkBAEBBQEBBQEADAx3aG8AJGZlZV9hc3NldAQYYW1vdW50CAEBBQEAICBhc3NldF9pZAQoYXNzZXRfbmFtZd0BKGFzc2V0X3R5cGXhAUxleGlzdGVudGlhbF9kZXBvc2l0CDh4Y21fcmF0ZV9saW1pdJ0BGHN5bWJvbN0BIGRlY2ltYWxz5QE0aXNfc3VmZmljaWVudBQBAQUBAAggYXNzZXRfaWQEIGxvY2F0aW9uBQIA8QEACAEABEhldGhlcmV1bV9zaWduYXR1cmVdBQEBBQEBBQEDDADxAQgBAQUA+QcABADVAwEBBQEADAx3aG8AGGFtb3VudAggY3VycmVuY3kEAAQA/QcACAABCAEAEBRhc3NldAQ0aW5pdGlhbF9wcmljZQgod2VpZ2h0X2NhcAQ4cG9zaXRpb25fb3duZXIAAQEFAQAIFGFzc2V0BBhhbW91bnQIAQEFAQAMFGFzc2V0BBhhbW91bnQIQG1pbl9zaGFyZXNfbGltaXQIAQEFAQAILHBvc2l0aW9uX2lkCBhhbW91bnQIAQEFAQAMLHBvc2l0aW9uX2lkCBhhbW91bnQIJG1pbl9saW1pdAgBAQUBAAQscG9zaXRpb25faWQIAQEFAQAQIGFzc2V0X2luBCRhc3NldF9vdXQEGGFtb3VudAg4bWluX2J1eV9hbW91bnQIAQEFAQAQJGFzc2V0X291dAQgYXNzZXRfaW4EGGFtb3VudAg8bWF4X3NlbGxfYW1vdW50CAEBBQEACCBhc3NldF9pZAQUc3RhdGUEAQEFAQAMIGFzc2V0X2lkBBhhbW91bnQIJHJlY2lwaWVudAABAQUBAAggYXNzZXRfaWQEDGNhcAQBAQUBABAgYXNzZXRfaWQEGGFtb3VudAgUcHJpY2VZAhBkZXN0AAEBBQEACCBhc3NldF9pZAQsYmVuZWZpY2lhcnkAAQEFAQEFAQAMIGFzc2V0X2lkBDhpbml0aWFsX2Ftb3VudAg0aW5pdGlhbF9wcmljZQgBAQUBAAwgYXNzZXRfaWQEGGFtb3VudAg0aHViX3dpdGhkcmF3bggBAQUBABAMd2hvACBhc3NldF9pZAQYYW1vdW50CCxwb3NpdGlvbl9pZAgBAQUBABQMd2hvACxwb3NpdGlvbl9pZAggYXNzZXRfaWQEOHNoYXJlc19yZW1vdmVkCAxmZWUIAQEFAQAUDHdobwAgYXNzZXRfaWQEGGFtb3VudAgoaHViX2Ftb3VudAg4c2hhcmVzX3JlbW92ZWQIAQEFAQAkDHdobwAgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CDRodWJfYW1vdW50X2luCDhodWJfYW1vdW50X291dAhAYXNzZXRfZmVlX2Ftb3VudAhMcHJvdG9jb2xfZmVlX2Ftb3VudAgBAQUBABgscG9zaXRpb25faWQIFG93bmVyABRhc3NldAQYYW1vdW50CBhzaGFyZXMIFHByaWNlCAEBBQEACCxwb3NpdGlvbl9pZAgUb3duZXIAAQEFAQAIIGFzc2V0X2lkBBRzdGF0ZQQBAQUBAAwgYXNzZXRfaWQEGGFtb3VudAgkcmVjaXBpZW50AAEBBQEACCBhc3NldF9pZAQMY2FwBABFBACQAQAILHBhbGxldF9uYW1lJDRmdW5jdGlvbl9uYW1lJAEBBQEBBQEACERwYWxsZXRfbmFtZV9ieXRlcyRMZnVuY3Rpb25fbmFtZV9ieXRlcyQAAACQAQAIHGFjY291bnQALGN1cnJlbmN5X2lkBAEBBQAEAAkIAA0IABEIAAgAHQgANQIABAEBBQEADDhnbG9iYWxfZmFybV9pZAQ8YWNjdW11bGF0ZWRfcnB6CDh0b3RhbF9zaGFyZXNfeggBAQUBABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEQGFjY3VtdWxhdGVkX3JwdnMITHRvdGFsX3ZhbHVlZF9zaGFyZXMIAQEFAQAEOGdsb2JhbF9mYXJtX2lkBAEBBQCgAAgACAEBBQBhAgEAIDR0b3RhbF9yZXdhcmRzCGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMERGJsb2Nrc19wZXJfcGVyaW9kBDxyZXdhcmRfY3VycmVuY3kEFG93bmVyAEB5aWVsZF9wZXJfcGVyaW9kCCxtaW5fZGVwb3NpdAhUbHJuYV9wcmljZV9hZGp1c3RtZW50CAEBBQEABDhnbG9iYWxfZmFybV9pZAQBAQUBABA4Z2xvYmFsX2Zhcm1faWQEIGFzc2V0X2lkBChtdWx0aXBsaWVyCDRsb3lhbHR5X2N1cnZlKQIBAQUBAAw4Z2xvYmFsX2Zhcm1faWQEIGFzc2V0X2lkBChtdWx0aXBsaWVyCAEBBQEACDhnbG9iYWxfZmFybV9pZAQgYXNzZXRfaWQEAQEFAQAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQobXVsdGlwbGllcggBAQUBAAw4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBAEBBQEADDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQscG9zaXRpb25faWQIAQEFAQAMOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChkZXBvc2l0X2lkCAEBBQEACChkZXBvc2l0X2lkCDR5aWVsZF9mYXJtX2lkBAEBBQEAEDhnbG9iYWxfZmFybV9pZARgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzBEB5aWVsZF9wZXJfcGVyaW9kCCxtaW5fZGVwb3NpdAgBAQUBAAgwZmFybV9lbnRyaWVzGQQscG9zaXRpb25faWQIAQEFAQAQMGZhcm1fZW50cmllcxkEFGFzc2V0BBhhbW91bnQIQG1pbl9zaGFyZXNfbGltaXSdAQEBBQEACChkZXBvc2l0X2lkCDh5aWVsZF9mYXJtX2lkc0ECAQEFAQAMOHN0YWJsZV9wb29sX2lkBFBzdGFibGVfYXNzZXRfYW1vdW50c4ECMGZhcm1fZW50cmllc9UFAQEFAQEFAQAoCGlkBBRvd25lcgA0dG90YWxfcmV3YXJkcwg8cmV3YXJkX2N1cnJlbmN5BEB5aWVsZF9wZXJfcGVyaW9kCGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMERGJsb2Nrc19wZXJfcGVyaW9kBFRtYXhfcmV3YXJkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CFRscm5hX3ByaWNlX2FkanVzdG1lbnQIAQEFAQAQCGlkBGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMEQHlpZWxkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CAEBBQEAEDhnbG9iYWxfZmFybV9pZAQMd2hvADxyZXdhcmRfY3VycmVuY3kEVHVuZGlzdHJpYnV0ZWRfcmV3YXJkcwgBAQUBABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBChtdWx0aXBsaWVyCDRsb3lhbHR5X2N1cnZlKQIBAQUBABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBAx3aG8AKG11bHRpcGxpZXIIAQEFAQAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQMd2hvAAEBBQEAHDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoZGVwb3NpdF9pZAggYXNzZXRfaWQEDHdobwA0c2hhcmVzX2Ftb3VudAgscG9zaXRpb25faWQIAQEFAQAYOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AHGNsYWltZWQIPHJld2FyZF9jdXJyZW5jeQQoZGVwb3NpdF9pZAgBAQUBABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAYYW1vdW50CChkZXBvc2l0X2lkCAEBBQEACAx3aG8AKGRlcG9zaXRfaWQIAQEFAKgABAAhCAEAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQISHBhcnRpYWxseV9maWxsYWJsZRQBAQUBAAggb3JkZXJfaWQEJGFtb3VudF9pbggBAQUBAAQgb3JkZXJfaWQEAQEFAQEFAQAEIG9yZGVyX2lkBAEBBQEAFCBvcmRlcl9pZAQMd2hvACRhbW91bnRfaW4IKGFtb3VudF9vdXQIDGZlZQgBAQUBABggb3JkZXJfaWQEIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbggoYW1vdW50X291dAhIcGFydGlhbGx5X2ZpbGxhYmxlFAAEADUCAAQAJQgABAA5AgAEACkIAAQALQgBAQUANQIBAQUAOQIBAAggYXNzZXRfaWQESHRyYWRlX3ZvbHVtZV9saW1pdDUCAQEFAQAIIGFzc2V0X2lkBDxsaXF1aWRpdHlfbGltaXQ5AgEBBQEACCBhc3NldF9pZAQUdW50aWwEAQEFAQAIDHdobwAgYXNzZXRfaWQEAQEFAQEFAQAIIGFzc2V0X2lkBEh0cmFkZV92b2x1bWVfbGltaXQ1AgEBBQEACCBhc3NldF9pZAQ8bGlxdWlkaXR5X2xpbWl0OQIBAQUBAAggYXNzZXRfaWQEFHVudGlsBAEBBQEACAx3aG8AIGFzc2V0X2lkBADxAgAFAwEAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IOG1pbl9hbW91bnRfb3V0CBRyb3V0ZQUDAQEFAQAUIGFzc2V0X2luBCRhc3NldF9vdXQEKGFtb3VudF9vdXQING1heF9hbW91bnRfaW4IFHJvdXRlBQMBAQUBAAgoYXNzZXRfcGFpcvECJG5ld19yb3V0ZQUDAQEFAQAQIGFzc2V0X2luBCRhc3NldF9vdXQEOG1pbl9hbW91bnRfb3V0CBRyb3V0ZQUDAQEFAQEFAQAUIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbggoYW1vdW50X291dAggZXZlbnRfaWQEAQEFAQAEJGFzc2V0X2lkc0ECAAQAMQgABABNAgEBBQBJAgEACCBhc3NldF9pZAQYY29uZmlnTQIBAQUBAQUBAAggYXNzZXRfaWQEGHBhcmFtc00CAQEFADUIAAgAOQgACABFCAA9BwA9CAEABBhhbW91bnQIAQEFAQEFAQAMDHdobwAscG9zaXRpb25faWQIFHN0YWtlCAEBBQEAHAx3aG8ALHBvc2l0aW9uX2lkCBRzdGFrZQgsdG90YWxfc3Rha2UIOGxvY2tlZF9yZXdhcmRzCDhzbGFzaGVkX3BvaW50cwhIcGF5YWJsZV9wZXJjZW50YWdlCAEBBQEAHAx3aG8ALHBvc2l0aW9uX2lkCDBwYWlkX3Jld2FyZHMIQHVubG9ja2VkX3Jld2FyZHMIOHNsYXNoZWRfcG9pbnRzCFhzbGFzaGVkX3VucGFpZF9yZXdhcmRzCEhwYXlhYmxlX3BlcmNlbnRhZ2UIAQEFAQAMDHdobwAscG9zaXRpb25faWQIOHVubG9ja2VkX3N0YWtlCAEBBQEABFBub25fZHVzdGFibGVfYmFsYW5jZQgBAQUBAAg8YWNjdW11bGF0ZWRfcnBzCCx0b3RhbF9zdGFrZQgBAQUAwAAEAEkIAAQAdQIABABVCAEBBQBZCAEAECxzaGFyZV9hc3NldAQYYXNzZXRzQQI0YW1wbGlmaWNhdGlvbgQMZmVlBAEBBQEACBxwb29sX2lkBAxmZWUEAQEFAQAQHHBvb2xfaWQETGZpbmFsX2FtcGxpZmljYXRpb24ELHN0YXJ0X2Jsb2NrBCRlbmRfYmxvY2sEAQEFAQAIHHBvb2xfaWQEGGFzc2V0c4ECAQEFAQAQHHBvb2xfaWQEGHNoYXJlcwggYXNzZXRfaWQEQG1heF9hc3NldF9hbW91bnQIAQEFAQAQHHBvb2xfaWQEIGFzc2V0X2lkBDBzaGFyZV9hbW91bnQIOG1pbl9hbW91bnRfb3V0CAEBBQEAEBxwb29sX2lkBCBhc3NldF9pZAQYYW1vdW50CEBtYXhfc2hhcmVfYW1vdW50CAEBBQEAFBxwb29sX2lkBCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IOG1pbl9idXlfYW1vdW50CAEBBQEAFBxwb29sX2lkBCRhc3NldF9vdXQEIGFzc2V0X2luBChhbW91bnRfb3V0CDxtYXhfc2VsbF9hbW91bnQIAQEFAQAMHHBvb2xfaWQEIGFzc2V0X2lkBBRzdGF0ZQQBAQUBAAwccG9vbF9pZAQwc2hhcmVfYW1vdW50CDxtaW5fYW1vdW50c19vdXSBAgEBBQEAGCxzaGFyZV9hc3NldAQYYXNzZXRzQQI0YW1wbGlmaWNhdGlvbgQMZmVlBChwZWdfc291cmNlbQI4bWF4X3BlZ191cGRhdGUEAQEFAQAMHHBvb2xfaWQEGGFzc2V0c4ECKG1pbl9zaGFyZXMIAQEFAQAMHHBvb2xfaWQEIGFzc2V0X2lkBChwZWdfc291cmNlaQIBAQUBAAgccG9vbF9pZAQ4bWF4X3BlZ191cGRhdGUEAQEFAQEFAQAUHHBvb2xfaWQEGGFzc2V0c0ECNGFtcGxpZmljYXRpb24EDGZlZQQMcGVneQIBAQUBAAgccG9vbF9pZAQMZmVlBAEBBQEAEBxwb29sX2lkBAx3aG8AGHNoYXJlcwgYYXNzZXRzgQIBAQUBABQccG9vbF9pZAQMd2hvABhzaGFyZXMIHGFtb3VudHOBAgxmZWUIAQEFAQAcDHdobwAccG9vbF9pZAQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CAxmZWUIAQEFAQAMHHBvb2xfaWQEIGFzc2V0X2lkBBRzdGF0ZQQBAQUBABQccG9vbF9pZARUY3VycmVudF9hbXBsaWZpY2F0aW9uBExmaW5hbF9hbXBsaWZpY2F0aW9uBCxzdGFydF9ibG9jawQkZW5kX2Jsb2NrBAEBBQEABBxwb29sX2lkBAEBBQEADBxwb29sX2lkBCBhc3NldF9pZAQocGVnX3NvdXJjZWkCAQEFAQAIHHBvb2xfaWQEOG1heF9wZWdfdXBkYXRlBAD9BQAEAAQA/QUBAAwgYXNzZXRfaWQEGGFtb3VudAggbWF0dXJpdHkIAQEFAQAIHGJvbmRfaWQEGGFtb3VudAgBAQUBAQUBABAYaXNzdWVyACBhc3NldF9pZAQcYm9uZF9pZAQgbWF0dXJpdHkIAQEFAQAQGGlzc3VlcgAcYm9uZF9pZAQYYW1vdW50CAxmZWUIAQEFAQAMDHdobwAcYm9uZF9pZAQYYW1vdW50CAEADBhvdGNfaWQEGGFtb3VudAgUcm91dGUFAwEBBQEBBQEACCBhc3NldF9pZAQYcHJvZml0CAAAAJUCAD0HABQBACwocG9vbF9vd25lcgAcYXNzZXRfYQQ4YXNzZXRfYV9hbW91bnQIHGFzc2V0X2IEOGFzc2V0X2JfYW1vdW50CDhpbml0aWFsX3dlaWdodAQwZmluYWxfd2VpZ2h0BDB3ZWlnaHRfY3VydmWRAgxmZWU1AjRmZWVfY29sbGVjdG9yADByZXBheV90YXJnZXQIAQEFAQAkHHBvb2xfaWQAKHBvb2xfb3duZXKhARRzdGFydOUBDGVuZOUBOGluaXRpYWxfd2VpZ2h05QEwZmluYWxfd2VpZ2h05QEMZmVlOQI0ZmVlX2NvbGxlY3RvcqEBMHJlcGF5X3RhcmdldJ0BAQEFAQAIIGFtb3VudF9h/QUgYW1vdW50X2L9BQEBBQEABBxwb29sX2lkAAEBBQEAECRhc3NldF9vdXQEIGFzc2V0X2luBBhhbW91bnQIJG1heF9saW1pdAgBAQUBAQUBAAgQcG9vbAAQZGF0YZUCAQEFAQAUDHdobwAcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EIIGFtb3VudF9iCAEBBQEAHAx3aG8AIGFzc2V0X2luBCRhc3NldF9vdXQEGGFtb3VudAgoc2FsZV9wcmljZQgkZmVlX2Fzc2V0BChmZWVfYW1vdW50CAEBBQEAHAx3aG8AJGFzc2V0X291dAQgYXNzZXRfaW4EGGFtb3VudAgkYnV5X3ByaWNlCCRmZWVfYXNzZXQEKGZlZV9hbW91bnQIAAAANQIBABAcYXNzZXRfYQQgYW1vdW50X2EIHGFzc2V0X2IEIGFtb3VudF9iCAEBBQEAEBxhc3NldF9hBBxhc3NldF9iBCBhbW91bnRfYQhIYW1vdW50X2JfbWF4X2xpbWl0CAEBBQEAFBxhc3NldF9hBBxhc3NldF9iBCBhbW91bnRfYQhIYW1vdW50X2JfbWF4X2xpbWl0CChtaW5fc2hhcmVzCAEBBQEADBxhc3NldF9hBBxhc3NldF9iBDBzaGFyZV9hbW91bnQIAQEFAQAUHGFzc2V0X2EEHGFzc2V0X2IEMHNoYXJlX2Ftb3VudAgwbWluX2Ftb3VudF9hCDBtaW5fYW1vdW50X2IIAQEFAQAUJGFzc2V0X291dAQgYXNzZXRfaW4EGGFtb3VudAgkbWF4X2xpbWl0CCBkaXNjb3VudBQBAQUBAQUBABAMd2hvABxhc3NldF9hBBxhc3NldF9iBBhzaGFyZXMIAQEFAQAYDHdobwAcYXNzZXRfYQQcYXNzZXRfYgRUaW5pdGlhbF9zaGFyZXNfYW1vdW50CCxzaGFyZV90b2tlbgQQcG9vbAABAQUBABQMd2hvABxhc3NldF9hBBxhc3NldF9iBCxzaGFyZV90b2tlbgQQcG9vbAABAQUBACAMd2hvACBhc3NldF9pbgQkYXNzZXRfb3V0BBhhbW91bnQIKHNhbGVfcHJpY2UIJGZlZV9hc3NldAQoZmVlX2Ftb3VudAgQcG9vbAABAQUBACAMd2hvACRhc3NldF9vdXQEIGFzc2V0X2luBBhhbW91bnQIJGJ1eV9wcmljZQgkZmVlX2Fzc2V0BChmZWVfYW1vdW50CBBwb29sAAAAACQAAAAAAAAAXQgAYQgApQIBAQUAZQgBAAwgYXNzZXRfaWQEFGxldmVsoQIccmV3YXJkc6UCAQEFAQEFAQAIEGNvZGUkHGFjY291bnQAAQEFAQAMHGFjY291bnQAEGNvZGUkQHJlZmVycmFsX2FjY291bnQAAQEFAQAIEGZyb219Agh0b30CAQEFAQAMDHdobwBAcmVmZXJyZXJfcmV3YXJkcwg0dHJhZGVfcmV3YXJkcwgBAQUBAAwgYXNzZXRfaWQEFGxldmVsoQIccmV3YXJkc6UCAQEFAQAIDHdobwAUbGV2ZWyhAgEBBQDxAQEAFEBjb2xsYXRlcmFsX2Fzc2V0BChkZWJ0X2Fzc2V0BBB1c2Vy8QE0ZGVidF90b19jb3ZlcggUcm91dGUFAwEBBQEABCBjb250cmFjdPEBAQEFAQEFAQAUEHVzZXLxAUBjb2xsYXRlcmFsX2Fzc2V0BChkZWJ0X2Fzc2V0BDRkZWJ0X3RvX2NvdmVyCBhwcm9maXQIAAQAaQgBABwgYXNzZXRfaWQEHHBvb2xfaWQEMHB1cmNoYXNlX2ZlZQRkbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudAgwYnV5X2JhY2tfZmVlBDBidXliYWNrX3JhdGUEOG1heF9pbl9ob2xkaW5nnQEBAQUBABggYXNzZXRfaWQEMHB1cmNoYXNlX2ZlZeUBZG1heF9idXlfcHJpY2VfY29lZmZpY2llbnSdATBidXlfYmFja19mZWXlATBidXliYWNrX3JhdGXlAThtYXhfaW5faG9sZGluZxEGAQEFAQAQIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbgg4c2xpcHBhZ2VfbGltaXQIAQEFAQAQIGFzc2V0X2luBCRhc3NldF9vdXQEKGFtb3VudF9vdXQIOHNsaXBwYWdlX2xpbWl0CAEBBQEACExjb2xsYXRlcmFsX2Fzc2V0X2lkBDBmbGFzaF9hbW91bnSdAQEBBQEABERmbGFzaF9taW50ZXJfYWRkcvEBAQEFAQEFAQAYIGFzc2V0X2lkBBxwb29sX2lkBDBwdXJjaGFzZV9mZWUEZG1heF9idXlfcHJpY2VfY29lZmZpY2llbnQIMGJ1eV9iYWNrX2ZlZQQwYnV5YmFja19yYXRlBAEBBQEAFCBhc3NldF9pZAQwcHVyY2hhc2VfZmVl5QFkbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudJ0BMGJ1eV9iYWNrX2ZlZeUBMGJ1eWJhY2tfcmF0ZeUBAQEFAQAQJGFyYml0cmFnZQQgYXNzZXRfaWQENGhvbGxhcl9hbW91bnQIGHByb2ZpdAgBAQUBAAQwZmxhc2hfbWludGVy8QEAPQcAYQQAPQcAbQgBAAwQZGVzdAAsY3VycmVuY3lfaWQEGGFtb3VudAgBAQUBAAwQZGVzdAAsY3VycmVuY3lfaWQEKGtlZXBfYWxpdmUUAQEFAQAQGHNvdXJjZQAQZGVzdAAsY3VycmVuY3lfaWQEGGFtb3VudAgBAQUBABAMd2hvACxjdXJyZW5jeV9pZAQgbmV3X2ZyZWUIMG5ld19yZXNlcnZlZAgBAQUBAQUBAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CAEBBQEAECxjdXJyZW5jeV9pZAQQZnJvbQAIdG8AGGFtb3VudAgBAQUBABQsY3VycmVuY3lfaWQEEGZyb20ACHRvABhhbW91bnQIGHN0YXR1c1EBAQEFAQAQLGN1cnJlbmN5X2lkBAx3aG8AEGZyZWUIIHJlc2VydmVkCAEBBQEACCxjdXJyZW5jeV9pZAQYYW1vdW50CAEBBQEAECxjdXJyZW5jeV9pZAQMd2hvACxmcmVlX2Ftb3VudAg8cmVzZXJ2ZWRfYW1vdW50CAEBBQEAEBxsb2NrX2lkXQIsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CAEBBQEADBxsb2NrX2lkXQIsY3VycmVuY3lfaWQEDHdobwABAAgQZGVzdAAYYW1vdW50CAEBBQEADAx3aG8ALGN1cnJlbmN5X2lkBBhhbW91bnQIAQEFAAAAIQYBAAgQZGVzdAAgc2NoZWR1bGW9AgEBBQEACAx3aG8ARHZlc3Rpbmdfc2NoZWR1bGVzIQYBAQUBAAQQZGVzdAABAQUBAQUBAAwQZnJvbQAIdG8AQHZlc3Rpbmdfc2NoZWR1bGW9AgDxAQAkAPEBAHEIAHUIACAA8QEAkAEACBxhZGRyZXNz8QEUdmFsdWUIAQEFAQAkGHNvdXJjZfEBGHRhcmdldPEBFGlucHV0JBR2YWx1ZYkEJGdhc19saW1pdAg8bWF4X2ZlZV9wZXJfZ2FziQRgbWF4X3ByaW9yaXR5X2ZlZV9wZXJfZ2FzKQYUbm9uY2UpBixhY2Nlc3NfbGlzdDEGAQEFAQAgGHNvdXJjZfEBEGluaXQkFHZhbHVliQQkZ2FzX2xpbWl0CDxtYXhfZmVlX3Blcl9nYXOJBGBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXMpBhRub25jZSkGLGFjY2Vzc19saXN0MQYBAQUBACQYc291cmNl8QEQaW5pdCQQc2FsdCAUdmFsdWWJBCRnYXNfbGltaXQIPG1heF9mZWVfcGVyX2dhc4kEYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhcykGFG5vbmNlKQYsYWNjZXNzX2xpc3QxBgEBBQEBBQEABAxsb2fJAgEBBQEABBxhZGRyZXNz8QEABACNCAEBBQCdCAEBBQChCAEBBQClCACJBAAgAQAELHRyYW5zYWN0aW9uVQYBAQUBAQUBABQQZnJvbfEBCHRv8QFAdHJhbnNhY3Rpb25faGFzaCAsZXhpdF9yZWFzb27lAihleHRyYV9kYXRhJADxAQDxBAEABBxhZGRyZXNz8QEBAQUBAQUBAAgcYWNjb3VudAAcYWRkcmVzc/EBAQEFAQAEDHdob/EBAQEFAIkEAQAkNHRvdGFsX3Jld2FyZHMIYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcwREYmxvY2tzX3Blcl9wZXJpb2QESGluY2VudGl2aXplZF9hc3NldAQ8cmV3YXJkX2N1cnJlbmN5BBRvd25lcgBAeWllbGRfcGVyX3BlcmlvZAgsbWluX2RlcG9zaXQIQHByaWNlX2FkanVzdG1lbnQIAQEFAQAIOGdsb2JhbF9mYXJtX2lkBEBwcmljZV9hZGp1c3RtZW50CAEBBQEAEDhnbG9iYWxfZmFybV9pZAQoYXNzZXRfcGFpcvECKG11bHRpcGxpZXIINGxveWFsdHlfY3VydmUpAgEBBQEADDhnbG9iYWxfZmFybV9pZAQoYXNzZXRfcGFpcvECKG11bHRpcGxpZXIIAQEFAQAIOGdsb2JhbF9mYXJtX2lkBChhc3NldF9wYWly8QIBAQUBABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGFzc2V0X3BhaXLxAihtdWx0aXBsaWVyCAEBBQEADDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoYXNzZXRfcGFpcvECAQEFAQAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChhc3NldF9wYWly8QI0c2hhcmVzX2Ftb3VudAgBAQUBAAwwZmFybV9lbnRyaWVzGQQoYXNzZXRfcGFpcvECNHNoYXJlc19hbW91bnQIAQEFAQAUHGFzc2V0X2EEHGFzc2V0X2IEIGFtb3VudF9hCEhhbW91bnRfYl9tYXhfbGltaXQIMGZhcm1fZW50cmllcxkEAQEFAQAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChhc3NldF9wYWly8QIoZGVwb3NpdF9pZAgBAQUBAAwoZGVwb3NpdF9pZAg0eWllbGRfZmFybV9pZAQoYXNzZXRfcGFpcvECAQEFAQAMKGRlcG9zaXRfaWQIKGFzc2V0X3BhaXLxAjBmYXJtX2VudHJpZXNBAgEBBQEBBQEALAhpZAQUb3duZXIANHRvdGFsX3Jld2FyZHMIPHJld2FyZF9jdXJyZW5jeQRAeWllbGRfcGVyX3BlcmlvZAhgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzBERibG9ja3NfcGVyX3BlcmlvZARIaW5jZW50aXZpemVkX2Fzc2V0BFRtYXhfcmV3YXJkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CEBwcmljZV9hZGp1c3RtZW50CAEBBQEACAhpZARAcHJpY2VfYWRqdXN0bWVudAgBAQUBABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKG11bHRpcGxpZXIIKGFzc2V0X3BhaXLxAjRsb3lhbHR5X2N1cnZlKQIBAQUBABg4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAgbHBfdG9rZW4EGGFtb3VudAgoZGVwb3NpdF9pZAgBAQUBABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAoYXNzZXRfcGFpcvECAQEFAQAUOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AKGFzc2V0X3BhaXLxAihtdWx0aXBsaWVyCACpCAARCAAIAK0IAD0HAAQBAQUBAAhYcGFyYWNoYWluX2Jsb2NrX251bWJlcgRccmVsYXljaGFpbl9ibG9ja19udW1iZXIEAAQAZQYAPQcAkAAEAEECAQAIIHNjaGVkdWxlZQZUc3RhcnRfZXhlY3V0aW9uX2Jsb2Nr5QEBAQUBAAgsc2NoZWR1bGVfaWQEUG5leHRfZXhlY3V0aW9uX2Jsb2Nr5QEBAQUBAQUBAAgIaWQEFGJsb2NrBAEBBQEAFAhpZAQMd2hvABhwZXJpb2QEMHRvdGFsX2Ftb3VudAgUb3JkZXIJAwEBBQEADAhpZAQMd2hvABRibG9jawQBAQUBABAIaWQEDHdobwAkYW1vdW50X2luCChhbW91bnRfb3V0CAEBBQEADAhpZAQMd2hvABRlcnJvckkBAQEFAQAICGlkBAx3aG8AAQEFAQAIFGJsb2NrBBRlcnJvckkBAAQAuQgANQIAvQgAIAA1AgEAEBB3aGVuBDhtYXliZV9wZXJpb2RpYzkCIHByaW9yaXR5BBBjYWxs/QYBAQUBAAgQd2hlbgQUaW5kZXgEAQEFAQAUCGlkIBB3aGVuBDhtYXliZV9wZXJpb2RpYzkCIHByaW9yaXR5BBBjYWxs/QYBAQUBAAQIaWQgAQEFAQAQFGFmdGVyBDhtYXliZV9wZXJpb2RpYzkCIHByaW9yaXR5BBBjYWxs/QYBAQUBABQIaWQgFGFmdGVyBDhtYXliZV9wZXJpb2RpYzkCIHByaW9yaXR5BBBjYWxs/QYBAQUBAAwQdGFzazUCHHJldHJpZXMEGHBlcmlvZAQBAQUBAAwIaWQgHHJldHJpZXMEGHBlcmlvZAQBAQUBAAQQdGFzazUCAQEFAQEFAQAIEHdoZW4EFGluZGV4BAEBBQEADBB0YXNrNQIIaWQRAxhyZXN1bHRlAQEBBQEAEBB0YXNrNQIIaWQRAxhwZXJpb2QEHHJldHJpZXMEAQEFAQAIEHRhc2s1AghpZBEDAQEFAN0IAQEFAOEIAQEFACQBAQUAcQYBAQUA6QgBAQUA1QgBAQUATQQBAQUA/QgBAQUABQkBAQUADQkBAQUAFQkBAAQQZGF0YY0GAQEFAQAEHG1lc3NhZ2UkAQEFAQEFAQAEVHJlbGF5X2NoYWluX2Jsb2NrX251bQQBAQUBAAQUY291bnQEAQEFAQAILHdlaWdodF91c2VkGCBkbXFfaGVhZCABAQUBAAQwbWVzc2FnZV9oYXNoEQMACAAlCQAgAAQAKQkABAApCQAIACkJAC0JAQEFADUJAQEFADkJAD0JAEkJAAAAUQkBAQUAcQMBAAgQZGVzdK0DHG1lc3NhZ2XNBgEBBQEAEBBkZXN0rQMsYmVuZWZpY2lhcnmtAxhhc3NldHOpAzhmZWVfYXNzZXRfaXRlbQQBAQUBAAgcbWVzc2FnZc0GKG1heF93ZWlnaHQYAQEFAQAIIGxvY2F0aW9uBQIcdmVyc2lvbgQBAQUBAAREbWF5YmVfeGNtX3ZlcnNpb27lAQEBBQEABCBsb2NhdGlvbq0DAQEFAQAUEGRlc3StAyxiZW5lZmljaWFyea0DGGFzc2V0c6kDOGZlZV9hc3NldF9pdGVtBDB3ZWlnaHRfbGltaXRpAwEBBQEABCRzdXNwZW5kZWQUAQEFAQAIGGFzc2V0c6kDLGJlbmVmaWNpYXJ5rQMBAQUBABwQZGVzdK0DGGFzc2V0c6kDUGFzc2V0c190cmFuc2Zlcl90eXBl0QY4cmVtb3RlX2ZlZXNfaWTVBkhmZWVzX3RyYW5zZmVyX3R5cGXRBkhjdXN0b21feGNtX29uX2Rlc3TNBjB3ZWlnaHRfbGltaXRpAwEBBQEBBQEABBxvdXRjb21lIQMBAQUBABAYb3JpZ2luBQIsZGVzdGluYXRpb24FAhxtZXNzYWdlcQMobWVzc2FnZV9pZCABAQUBAAgYb3JpZ2luBQIgcXVlcnlfaWQIAQEFAQAIIHF1ZXJ5X2lkCCByZXNwb25zZU0DAQEFAQAMIHF1ZXJ5X2lkCDBwYWxsZXRfaW5kZXgEKGNhbGxfaW5kZXgEAQEFAQAUIHF1ZXJ5X2lkCDBwYWxsZXRfaW5kZXgEKGNhbGxfaW5kZXgENGFjdHVhbF93ZWlnaHQYTG1heF9idWRnZXRlZF93ZWlnaHQYAQEFAQAMGG9yaWdpbgUCIHF1ZXJ5X2lkCERleHBlY3RlZF9sb2NhdGlvblEDAQEFAQAEIHF1ZXJ5X2lkCAEBBQEADBBoYXNoIBhvcmlnaW4FAhhhc3NldHOpAwEBBQEAECxkZXN0aW5hdGlvbgUCGHJlc3VsdAQQY29zdDUDKG1lc3NhZ2VfaWQgAQEFAQAIIGxvY2F0aW9uBQIcdmVyc2lvbgQBAQUBAAwgbG9jYXRpb24FAiBxdWVyeV9pZAgUZXJyb3IdAwEBBQEACCBsb2NhdGlvbq0DIHF1ZXJ5X2lkCAEBBQEAEBhvcmlnaW4FAiBxdWVyeV9pZAhAZXhwZWN0ZWRfcXVlcmllcgUCUG1heWJlX2FjdHVhbF9xdWVyaWVyUQMBAQUBAAwsZGVzdGluYXRpb24FAhBjb3N0NQMobWVzc2FnZV9pZCABAQUBAAgYcGF5aW5nBQIQZmVlczUDAQEFAQAEHHZlcnNpb24EAQEFACABAQUBAwggIQMBAQUAXQkAYQkAJAEBBQBlCQEBBQEABDBtZXNzYWdlX2hhc2ggAL0DAHEJAQEFAL0DAHUJAHkJAQEFAMUBAQAIOG1lc3NhZ2Vfb3JpZ2luvQMocGFnZV9pbmRleAQBAQUBABA4bWVzc2FnZV9vcmlnaW69AxBwYWdlBBRpbmRleAQwd2VpZ2h0X2xpbWl0GAEBBQEBBQEADAhpZCAYb3JpZ2luvQMUZXJyb3LBAwEBBQEAEAhpZCAYb3JpZ2luvQMsd2VpZ2h0X3VzZWQYHHN1Y2Nlc3MUAQEFAQAQCGlkIBhvcmlnaW69AyhwYWdlX2luZGV4BDRtZXNzYWdlX2luZGV4BAEBBQEACBhvcmlnaW69AxRpbmRleAQBAQUBAAgIdG8FAhxtZXNzYWdlcQMBAQUABQIBAQUAkAEAECxjdXJyZW5jeV9pZAQYYW1vdW50CBBkZXN0rQNEZGVzdF93ZWlnaHRfbGltaXRpAwEBBQEADBRhc3NldOUGEGRlc3StA0RkZXN0X3dlaWdodF9saW1pdGkDAQEFAQAULGN1cnJlbmN5X2lkBBhhbW91bnQIDGZlZQgQZGVzdK0DRGRlc3Rfd2VpZ2h0X2xpbWl0aQMBAQUBABAUYXNzZXTlBgxmZWXlBhBkZXN0rQNEZGVzdF93ZWlnaHRfbGltaXRpAwEBBQEAEChjdXJyZW5jaWVz6QYgZmVlX2l0ZW0EEGRlc3StA0RkZXN0X3dlaWdodF9saW1pdGkDAQEFAQAQGGFzc2V0c6kDIGZlZV9pdGVtBBBkZXN0rQNEZGVzdF93ZWlnaHRfbGltaXRpAwEBBQEBBQEAEBhzZW5kZXIAGGFzc2V0czUDDGZlZTEDEGRlc3QFAgB9CQAIAIEJAAgBAQUBAAgUYXNzZXQxAwx3aG8FAgEBBQCJCQEABAxuZXfVAwEBBQEABAxtYXgEAQEFAQAEEGJvbmQIAQEFAQAEDHdobwABAQUBAAQsbmV3X2RlcG9zaXQIAQEFAQAIHGRlcG9zaXQIGHRhcmdldAABAQUBAQUBAAQ0aW52dWxuZXJhYmxlc9UDAQEFAQAEKGFjY291bnRfaWQAAQEFAQAESGRlc2lyZWRfY2FuZGlkYXRlcwQBAQUBAAQsYm9uZF9hbW91bnQIAQEFAQAIKGFjY291bnRfaWQAHGRlcG9zaXQIAQEFAQAMDG9sZAAMbmV3ABxkZXBvc2l0CAEBBQCNCQAAACAAkQkAAAEACBBrZXlzIBRwcm9vZiQBAQUBAQUBAAQ0c2Vzc2lvbl9pbmRleAQBAQUAlQkBAQUAsQkAtQkAuQkBAQUAvQkBAAgYc291cmNlXQIYYXNzZXRzNQIBAQUBAAwcYXNzZXRfYa0DHGFzc2V0X2KtAxRwcmljZVkCAQEFAQEFAQAIGHNvdXJjZV0CGGFzc2V0czUCAQEFAAUEAQEFAQAgHHN3YXBwZXIAGGZpbGxlcgAsZmlsbGVyX3R5cGXlAyRvcGVyYXRpb27pAxhpbnB1dHPxAxxvdXRwdXRz8QMQZmVlc/0DPG9wZXJhdGlvbl9zdGFjawUEAQMAAEEEAQMExQkAkAEDBMEJAMkJAQMAACQBAwQEAN0BAQMAAEECAQMEJADZCQEDAADBCQEDBOEJAE0EAQMIxQnhCQDlCQEDDOkJJCAA8QkBAwTBCQCQAQME3QEAJAEDBCQA/QkBAwAACAEDAADFAgEDBMEJAAEKAQMIBAAAbQgBAwQAAAkKAQMIBAAACAEDBAAABAEDCCQEAA0KAQMIJAQAGQoBAwQYAAgBAwQEAAgBAwTxAQAdCgEDAACJBAEDBPEBACQBAwAA8QEBAwjxAYkEACABAyjxAfEBJIkEiQQpBikGKQYUIQoANQoBAyTxASSJBIkEKQYpBikGFCEKAD0KAQMAAEEKAQMAAEUKAQMAAEkKAQMAAE0KAQMETQQAlQgBAwAA5QEBAwAAkAEDBE0EAFEKAQMEVQYAJAEDBAAA8QEBAwTxAQChAQEDBPEBAAABAwQEAPEBAQME8QEA5QEBAwQEAF0KAQMEzQYAYQoBAwgY1QYAZQoBAwitA80GAGkKAQMIIAgAFAEDCMUE/QYAiQoBAwitA80GAJEKAQMErQMAmQoBAxAEBGECXQIA8QEBAwTxAQChCgEDAAAZBAEDCAQEAJ0BAQMIBAQApQoBAwAAqQoBAwQkAK0KAQMEsQoA3QEBAwAAtQq5CgEBAQIBAwAQEGZyZWUIIHJlc2VydmVkCBhmcm96ZW4IFGZsYWdzCAAUFG5vbmNlBCRjb25zdW1lcnMEJHByb3ZpZGVycwQsc3VmZmljaWVudHMEEGRhdGEMAQAACCByZWZfdGltZQgocHJvb2Zfc2l6ZQgADBhub3JtYWwYLG9wZXJhdGlvbmFsGCRtYW5kYXRvcnkYBQGABQAFARACFChQcmVSdW50aW1lAAMIKCQkQ29uc2Vuc3VzAAMIKCQQU2VhbAADCCgkFE90aGVyASRkUnVudGltZUVudmlyb25tZW50VXBkYXRlZAABBQQsAAIMOEFwcGx5RXh0cmluc2ljAQQwRmluYWxpemF0aW9uAAEFOEluaXRpYWxpemF0aW9uAAEFAgwYTm9ybWFsAAEFLE9wZXJhdGlvbmFsAAEFJE1hbmRhdG9yeQABBQIIDFllcwABBQhObwABBQAMGHdlaWdodBgUY2xhc3M4IHBheXNfZmVlPAIkPEludmFsaWRTcGVjTmFtZQABBWhTcGVjVmVyc2lvbk5lZWRzVG9JbmNyZWFzZQABBXRGYWlsZWRUb0V4dHJhY3RSdW50aW1lVmVyc2lvbgABBUxOb25EZWZhdWx0Q29tcG9zaXRlAAEFPE5vblplcm9SZWZDb3VudAABBTBDYWxsRmlsdGVyZWQAAQVsTXVsdGlCbG9ja01pZ3JhdGlvbnNPbmdvaW5nAAEFRE5vdGhpbmdBdXRob3JpemVkAAEFMFVuYXV0aG9yaXplZAABBQIwOFZlc3RpbmdCYWxhbmNlAAEFVExpcXVpZGl0eVJlc3RyaWN0aW9ucwABBUxJbnN1ZmZpY2llbnRCYWxhbmNlAAEFSEV4aXN0ZW50aWFsRGVwb3NpdAABBTRFeHBlbmRhYmlsaXR5AAEFXEV4aXN0aW5nVmVzdGluZ1NjaGVkdWxlAAEFLERlYWRBY2NvdW50AAEFPFRvb01hbnlSZXNlcnZlcwABBTBUb29NYW55SG9sZHMAAQU4VG9vTWFueUZyZWV6ZXMAAQVMSXNzdWFuY2VEZWFjdGl2YXRlZAABBSREZWx0YVplcm8AAQUCMExVbnN1cHBvcnRlZEN1cnJlbmN5AAEFLFplcm9CYWxhbmNlAAEFPEFscmVhZHlBY2NlcHRlZAABBUxDb3JlQXNzZXROb3RBbGxvd2VkAAEFJFplcm9QcmljZQABBVRGYWxsYmFja1ByaWNlTm90Rm91bmQAAQUgT3ZlcmZsb3cAAQVQRXZtQWNjb3VudE5vdEFsbG93ZWQAAQVARXZtUGVybWl0RXhwaXJlZAABBUBFdm1QZXJtaXRJbnZhbGlkAAEFbEV2bVBlcm1pdENhbGxFeGVjdXRpb25FcnJvcgABBVBFdm1QZXJtaXRSdW5uZXJFcnJvcgABBQIsMEludmFsaWRJbmRleAABBUBUb29NYW55QXBwcm92YWxzAAEFWEluc3VmZmljaWVudFBlcm1pc3Npb24AAQVMUHJvcG9zYWxOb3RBcHByb3ZlZAABBVhGYWlsZWRUb0NvbnZlcnRCYWxhbmNlAAEFMFNwZW5kRXhwaXJlZAABBSxFYXJseVBheW91dAABBUBBbHJlYWR5QXR0ZW1wdGVkAAEFLFBheW91dEVycm9yAAEFME5vdEF0dGVtcHRlZAABBTBJbmNvbmNsdXNpdmUAAQUCBDBUb29NYW55Q2FsbHMAAQUCIBhUb29CaWcAAQUwQWxyZWFkeU5vdGVkAAEFNE5vdEF1dGhvcml6ZWQAAQUgTm90Tm90ZWQAAQUkUmVxdWVzdGVkAAEFME5vdFJlcXVlc3RlZAABBRxUb29NYW55AAEFGFRvb0ZldwABBQJoSFRvb01hbnlTdWJBY2NvdW50cwABBSBOb3RGb3VuZAABBSBOb3ROYW1lZAABBShFbXB0eUluZGV4AAEFKEZlZUNoYW5nZWQAAQUoTm9JZGVudGl0eQABBTxTdGlja3lKdWRnZW1lbnQAAQU4SnVkZ2VtZW50R2l2ZW4AAQVASW52YWxpZEp1ZGdlbWVudAABBTBJbnZhbGlkSW5kZXgAAQU0SW52YWxpZFRhcmdldAABBURUb29NYW55UmVnaXN0cmFycwABBThBbHJlYWR5Q2xhaW1lZAABBRhOb3RTdWIAAQUgTm90T3duZWQAAQV0SnVkZ2VtZW50Rm9yRGlmZmVyZW50SWRlbnRpdHkAAQVYSnVkZ2VtZW50UGF5bWVudEZhaWxlZAABBTRJbnZhbGlkU3VmZml4AAEFUE5vdFVzZXJuYW1lQXV0aG9yaXR5AAEFME5vQWxsb2NhdGlvbgABBUBJbnZhbGlkU2lnbmF0dXJlAAEFRFJlcXVpcmVzU2lnbmF0dXJlAAEFPEludmFsaWRVc2VybmFtZQABBTRVc2VybmFtZVRha2VuAAEFKE5vVXNlcm5hbWUAAQUoTm90RXhwaXJlZAABBQJgIFZhbHVlTG93AAEFPFByb3Bvc2FsTWlzc2luZwABBTxBbHJlYWR5Q2FuY2VsZWQAAQVERHVwbGljYXRlUHJvcG9zYWwAAQVMUHJvcG9zYWxCbGFja2xpc3RlZAABBUROb3RTaW1wbGVNYWpvcml0eQABBSxJbnZhbGlkSGFzaAABBShOb1Byb3Bvc2FsAAEFNEFscmVhZHlWZXRvZWQAAQVEUmVmZXJlbmR1bUludmFsaWQAAQUsTm9uZVdhaXRpbmcAAQUgTm90Vm90ZXIAAQUwTm9QZXJtaXNzaW9uAAEFREFscmVhZHlEZWxlZ2F0aW5nAAEFREluc3VmZmljaWVudEZ1bmRzAAEFNE5vdERlbGVnYXRpbmcAAQUoVm90ZXNFeGlzdAABBURJbnN0YW50Tm90QWxsb3dlZAABBSBOb25zZW5zZQABBTxXcm9uZ1VwcGVyQm91bmQAAQU8TWF4Vm90ZXNSZWFjaGVkAAEFHFRvb01hbnkAAQU8Vm90aW5nUGVyaW9kTG93AAEFQFByZWltYWdlTm90RXhpc3QAAQUCLCROb3RNZW1iZXIAAQVERHVwbGljYXRlUHJvcG9zYWwAAQU8UHJvcG9zYWxNaXNzaW5nAAEFKFdyb25nSW5kZXgAAQU0RHVwbGljYXRlVm90ZQABBUhBbHJlYWR5SW5pdGlhbGl6ZWQAAQUgVG9vRWFybHkAAQVAVG9vTWFueVByb3Bvc2FscwABBUxXcm9uZ1Byb3Bvc2FsV2VpZ2h0AAEFTFdyb25nUHJvcG9zYWxMZW5ndGgAAQVUUHJpbWVBY2NvdW50Tm90TWVtYmVyAAEFAiAcVG9vTWFueQABBSBOb3RGb3VuZAABBSBOb3RQcm94eQABBSxVbnByb3h5YWJsZQABBSREdXBsaWNhdGUAAQUwTm9QZXJtaXNzaW9uAAEFLFVuYW5ub3VuY2VkAAEFLE5vU2VsZlByb3h5AAEFAjhATWluaW11bVRocmVzaG9sZAABBTxBbHJlYWR5QXBwcm92ZWQAAQVETm9BcHByb3ZhbHNOZWVkZWQAAQVEVG9vRmV3U2lnbmF0b3JpZXMAAQVIVG9vTWFueVNpZ25hdG9yaWVzAAEFVFNpZ25hdG9yaWVzT3V0T2ZPcmRlcgABBUxTZW5kZXJJblNpZ25hdG9yaWVzAAEFIE5vdEZvdW5kAAEFIE5vdE93bmVyAAEFLE5vVGltZXBvaW50AAEFOFdyb25nVGltZXBvaW50AAEFTFVuZXhwZWN0ZWRUaW1lcG9pbnQAAQU8TWF4V2VpZ2h0VG9vTG93AAEFNEFscmVhZHlTdG9yZWQAAQUCSDBOb1Blcm1pc3Npb24AAQVEVW5rbm93bkNvbGxlY3Rpb24AAQU0QWxyZWFkeUV4aXN0cwABBShXcm9uZ093bmVyAAEFKEJhZFdpdG5lc3MAAQUUSW5Vc2UAAQUYRnJvemVuAAEFNFdyb25nRGVsZWdhdGUAAQUoTm9EZWxlZ2F0ZQABBShVbmFwcHJvdmVkAAEFKFVuYWNjZXB0ZWQAAQUYTG9ja2VkAAEFQE1heFN1cHBseVJlYWNoZWQAAQVMTWF4U3VwcGx5QWxyZWFkeVNldAABBURNYXhTdXBwbHlUb29TbWFsbAABBSxVbmtub3duSXRlbQABBShOb3RGb3JTYWxlAAEFJEJpZFRvb0xvdwABBQIYPE1heFNpZ25lZExpbWl0cwABBShLZXlUb29Mb25nAAEFOE5vdEVub3VnaEZ1bmRzAAEFKEJhZFdpdG5lc3MAAQVkU2lnbmVkTWlncmF0aW9uTm90QWxsb3dlZAABBTBCYWRDaGlsZFJvb3QAAQUCMChOb3RPbmdvaW5nAAEFIE5vdFZvdGVyAAEFME5vUGVybWlzc2lvbgABBTxOb1Blcm1pc3Npb25ZZXQAAQVEQWxyZWFkeURlbGVnYXRpbmcAAQU0QWxyZWFkeVZvdGluZwABBURJbnN1ZmZpY2llbnRGdW5kcwABBTROb3REZWxlZ2F0aW5nAAEFIE5vbnNlbnNlAAEFPE1heFZvdGVzUmVhY2hlZAABBSxDbGFzc05lZWRlZAABBSBCYWRDbGFzcwABBQI4KE5vdE9uZ29pbmcAAQUoSGFzRGVwb3NpdAABBSBCYWRUcmFjawABBRBGdWxsAAEFKFF1ZXVlRW1wdHkAAQU0QmFkUmVmZXJlbmR1bQABBSxOb3RoaW5nVG9EbwABBRxOb1RyYWNrAAEFKFVuZmluaXNoZWQAAQUwTm9QZXJtaXNzaW9uAAEFJE5vRGVwb3NpdAABBSRCYWRTdGF0dXMAAQVAUHJlaW1hZ2VOb3RFeGlzdAABBYRQcmVpbWFnZVN0b3JlZFdpdGhEaWZmZXJlbnRMZW5ndGgAAQUCFExVbmF2YWlsYWJsZVByZUltYWdlAAEFPFVuZGVjb2RhYmxlQ2FsbAABBWBJbnZhbGlkQ2FsbFdlaWdodFdpdG5lc3MAAQVQQ2FsbElzTm90V2hpdGVsaXN0ZWQAAQVYQ2FsbEFscmVhZHlXaGl0ZWxpc3RlZAABBQIINEV2bUNhbGxGYWlsZWQAAQUoTm90RXZtQ2FsbAABBQI8NE5vSWRBdmFpbGFibGUAAQU0QXNzZXROb3RGb3VuZAABBSBUb29TaG9ydAABBTRJbnZhbGlkU3ltYm9sAAEFSEFzc2V0Tm90UmVnaXN0ZXJlZAABBVhBc3NldEFscmVhZHlSZWdpc3RlcmVkAAEFVEludmFsaWRTaGFyZWRBc3NldExlbgABBVBDYW5ub3RVcGRhdGVMb2NhdGlvbgABBUhOb3RJblJlc2VydmVkUmFuZ2UAAQVkTG9jYXRpb25BbHJlYWR5UmVnaXN0ZXJlZAABBSRGb3JiaWRkZW4AAQVMSW5zdWZmaWNpZW50QmFsYW5jZQABBWhGb3JiaWRkZW5TdWZmaWNpZW5jeUNoYW5nZQABBUhBc3NldEFscmVhZHlCYW5uZWQAAQU4QXNzZXROb3RCYW5uZWQAAQUCDGBJbnZhbGlkRXRoZXJldW1TaWduYXR1cmUAAQVcTm9DbGFpbU9yQWxyZWFkeUNsYWltZWQAAQU8QmFsYW5jZU92ZXJmbG93AAEFAQUCgExJbnN1ZmZpY2llbnRCYWxhbmNlAAEFREFzc2V0QWxyZWFkeUFkZGVkAAEFNEFzc2V0Tm90Rm91bmQAAQU4TWlzc2luZ0JhbGFuY2UAAQVgSW52YWxpZEluaXRpYWxBc3NldFByaWNlAAEFSEJ1eUxpbWl0Tm90UmVhY2hlZAABBURTZWxsTGltaXRFeGNlZWRlZAABBUBQb3NpdGlvbk5vdEZvdW5kAAEFSEluc3VmZmljaWVudFNoYXJlcwABBShOb3RBbGxvd2VkAAEFJEZvcmJpZGRlbgABBVhBc3NldFdlaWdodENhcEV4Y2VlZGVkAAEFSEFzc2V0Tm90UmVnaXN0ZXJlZAABBVRJbnN1ZmZpY2llbnRMaXF1aWRpdHkAAQVkSW5zdWZmaWNpZW50VHJhZGluZ0Ftb3VudAABBWBTYW1lQXNzZXRUcmFkZU5vdEFsbG93ZWQAAQVMSHViQXNzZXRVcGRhdGVFcnJvcgABBUxJbnZhbGlkU2hhcmVzQW1vdW50AAEFcEludmFsaWRIdWJBc3NldFRyYWRhYmxlU3RhdGUAAQVUQXNzZXRSZWZ1bmROb3RBbGxvd2VkAAEFTE1heE91dFJhdGlvRXhjZWVkZWQAAQVITWF4SW5SYXRpb0V4Y2VlZGVkAAEFWFByaWNlRGlmZmVyZW5jZVRvb0hpZ2gAAQVISW52YWxpZE9yYWNsZVByaWNlAAEFUEludmFsaWRXaXRoZHJhd2FsRmVlAAEFMEZlZU92ZXJkcmFmdAABBTxTaGFyZXNSZW1haW5pbmcAAQU4QXNzZXROb3RGcm96ZW4AAQU0WmVyb0Ftb3VudE91dAABBXhFeGlzdGVudGlhbERlcG9zaXROb3RBdmFpbGFibGUAAQU0U2xpcHBhZ2VMaW1pdAABBVhQcm90b2NvbEZlZU5vdENvbnN1bWVkAAEFAgwsQ2Fubm90UGF1c2UAAQVASW52YWxpZENoYXJhY3RlcgABBSxOYW1lVG9vTG9uZwABBQIYSEFjY291bnRCbGFja2xpc3RlZAABBVRBY2NvdW50Tm90QmxhY2tsaXN0ZWQAAQUsWmVyb0JhbGFuY2UAAQVEQmFsYW5jZVN1ZmZpY2llbnQAAQVERHVzdEFjY291bnROb3RTZXQAAQVQUmVzZXJ2ZUFjY291bnROb3RTZXQAAQUCRERZaWVsZEZhcm1Ob3RGb3VuZAABBUhHbG9iYWxGYXJtTm90Rm91bmQAAQVQTGlxdWlkaXR5SXNOb3RBY3RpdmUAAQVUR2xvYmFsRmFybUlzTm90QWN0aXZlAAEFPERlcG9zaXROb3RGb3VuZAABBTRJbnZhbGlkUGVyaW9kAAEFbE5vdEVub3VnaFJld2FyZHNJbllpZWxkRmFybQABBWRJbnZhbGlkTGl2ZVlpZWxGYXJtc0NvdW50AAEFbEludmFsaWRUb3RhbFlpZWxkRmFybXNDb3VudAABBXBJbnZhbGlkWWllbGRGYXJtRW50cmllc0NvdW50AAEFSEludmFsaWRUb3RhbFNoYXJlcwABBUxJbnZhbGlkVmFsdWVkU2hhcmVzAAEFTEludmFsaWRUb3RhbFNoYXJlc1oAAQV0SW52YWxpZFBhaWRBY2N1bXVsYXRlZFJld2FyZHMAAQU0SW52YWxpZEZhcm1JZAABBWBJbnZhbGlkTG95YWx0eU11bHRpcGxpZXIAAQVwTm9FeGlzdGVudGlhbERlcG9zaXRGb3JBc3NldAABBQJ0SEdsb2JhbEZhcm1Ob3RGb3VuZAABBURZaWVsZEZhcm1Ob3RGb3VuZAABBUxEb3VibGVDbGFpbUluUGVyaW9kAAEFXExpcXVpZGl0eU1pbmluZ0NhbmNlbGVkAAEFXExpcXVpZGl0eU1pbmluZ0lzQWN0aXZlAAEFbExpcXVpZGl0eU1pbmluZ0lzTm90U3RvcHBlZAABBSRGb3JiaWRkZW4AAQVESW52YWxpZE11bHRpcGxpZXIAAQVYWWllbGRGYXJtQWxyZWFkeUV4aXN0cwABBXhJbnZhbGlkSW5pdGlhbFJld2FyZFBlcmNlbnRhZ2UAAQVQR2xvYmFsRmFybUlzTm90RW1wdHkAAQVgTWlzc2luZ0luY2VudGl2aXplZEFzc2V0AAEFhEluc3VmZmljaWVudFJld2FyZEN1cnJlbmN5QmFsYW5jZQABBVhJbnZhbGlkQmxvY2tzUGVyUGVyaW9kAAEFVEludmFsaWRZaWVsZFBlclBlcmlvZAABBUxJbnZhbGlkVG90YWxSZXdhcmRzAAEFdEludmFsaWRQbGFubmVkWWllbGRpbmdQZXJpb2RzAAEFUE1heEVudHJpZXNQZXJEZXBvc2l0AAEFKERvdWJsZUxvY2sAAQVYWWllbGRGYXJtRW50cnlOb3RGb3VuZAABBUBHbG9iYWxGYXJtSXNGdWxsAAEFREludmFsaWRNaW5EZXBvc2l0AAEFWEludmFsaWRQcmljZUFkanVzdG1lbnQAAQVERXJyb3JHZXRBY2NvdW50SWQAAQVUSW5jb3JyZWN0VmFsdWVkU2hhcmVzAAEFbFJld2FyZEN1cnJlbmN5Tm90UmVnaXN0ZXJlZAABBXhJbmNlbnRpdml6ZWRBc3NldE5vdFJlZ2lzdGVyZWQAAQVEQW1tUG9vbElkTWlzbWF0Y2gAAQVESW5jb25zaXN0ZW50U3RhdGUBoAIIRE1pc3NpbmdMcFBvc2l0aW9uAAEFTERlcG9zaXREYXRhTm90Rm91bmQAAQUCHDRBc3NldE5vdEZvdW5kAAEFJEZvcmJpZGRlbgABBUhaZXJvQ2xhaW1lZFJld2FyZHMAAQVESW5jb25zaXN0ZW50U3RhdGUBqEhPcmFjbGVOb3RBdmFpbGFibGUAAQVsUHJpY2VBZGp1c3RtZW50Tm90QXZhaWxhYmxlAAEFWE5vRmFybUVudHJpZXNTcGVjaWZpZWQAAQUCIEhBc3NldE5vdFJlZ2lzdGVyZWQAAQU0T3JkZXJOb3RGb3VuZAABBURPcmRlcklkT3V0T2ZCb3VuZAABBWRPcmRlck5vdFBhcnRpYWxseUZpbGxhYmxlAAEFTE9yZGVyQW1vdW50VG9vU21hbGwAAQUkTWF0aEVycm9yAAEFJEZvcmJpZGRlbgABBWhJbnN1ZmZpY2llbnRSZXNlcnZlZEFtb3VudAABBQIkREludmFsaWRMaW1pdFZhbHVlAAEFfExpcXVpZGl0eUxpbWl0Tm90U3RvcmVkRm9yQXNzZXQAAQVgVG9rZW5PdXRmbG93TGltaXRSZWFjaGVkAAEFXFRva2VuSW5mbHV4TGltaXRSZWFjaGVkAAEFgE1heExpcXVpZGl0eUxpbWl0UGVyQmxvY2tSZWFjaGVkAAEFKE5vdEFsbG93ZWQAAQU8QXNzZXRJbkxvY2tkb3duAAEFSEFzc2V0Tm90SW5Mb2NrZG93bgABBTRJbnZhbGlkQW1vdW50AAEFAihMVHJhZGluZ0xpbWl0UmVhY2hlZAABBURNYXhUcmFkZXNFeGNlZWRlZAABBUBQb29sTm90U3VwcG9ydGVkAAEFTEluc3VmZmljaWVudEJhbGFuY2UAAQVYUm91dGVDYWxjdWxhdGlvbkZhaWxlZAABBTBJbnZhbGlkUm91dGUAAQVoUm91dGVVcGRhdGVJc05vdFN1Y2Nlc3NmdWwAAQVAUm91dGVIYXNOb09yYWNsZQABBVRJbnZhbGlkUm91dGVFeGVjdXRpb24AAQUoTm90QWxsb3dlZAABBQIEUEludmFsaWRGZWVQYXJhbWV0ZXJzAAEFAhRAUG9zaXRpb25Ob3RGb3VuZAABBVhOZWdhdGl2ZVBlbmRpbmdSZXdhcmRzAAEFVE5lZ2F0aXZlVW5wYWlkUmV3YXJkcwABBUBUb29NYW55UG9zaXRpb25zAAEFKEFyaXRobWV0aWMAAQUCNExJbnN1ZmZpY2llbnRCYWxhbmNlAAEFREluc3VmZmljaWVudFN0YWtlAAEFQFBvc2l0aW9uTm90Rm91bmQAAQU8TWF4Vm90ZXNSZWFjaGVkAAEFOE5vdEluaXRpYWxpemVkAAEFSEFscmVhZHlJbml0aWFsaXplZAABBShBcml0aG1ldGljAAEFRE1pc3NpbmdQb3RCYWxhbmNlAAEFVFBvc2l0aW9uQWxyZWFkeUV4aXN0cwABBSRGb3JiaWRkZW4AAQU0RXhpc3RpbmdWb3RlcwABBVhFeGlzdGluZ1Byb2Nlc3NlZFZvdGVzAAEFREluY29uc2lzdGVudFN0YXRlAcACcDxJbmNvcnJlY3RBc3NldHMAAQVETWF4QXNzZXRzRXhjZWVkZWQAAQUwUG9vbE5vdEZvdW5kAAEFKFBvb2xFeGlzdHMAAQU4QXNzZXROb3RJblBvb2wAAQVcU2hhcmVBc3NldE5vdFJlZ2lzdGVyZWQAAQVYU2hhcmVBc3NldEluUG9vbEFzc2V0cwABBUhBc3NldE5vdFJlZ2lzdGVyZWQAAQVISW52YWxpZEFzc2V0QW1vdW50AAEFTEluc3VmZmljaWVudEJhbGFuY2UAAQVISW5zdWZmaWNpZW50U2hhcmVzAAEFVEluc3VmZmljaWVudExpcXVpZGl0eQABBXhJbnN1ZmZpY2llbnRMaXF1aWRpdHlSZW1haW5pbmcAAQVkSW5zdWZmaWNpZW50VHJhZGluZ0Ftb3VudAABBUhCdXlMaW1pdE5vdFJlYWNoZWQAAQVEU2VsbExpbWl0RXhjZWVkZWQAAQVcSW52YWxpZEluaXRpYWxMaXF1aWRpdHkAAQVQSW52YWxpZEFtcGxpZmljYXRpb24AAQVgSW5zdWZmaWNpZW50U2hhcmVCYWxhbmNlAAEFKE5vdEFsbG93ZWQAAQUkUGFzdEJsb2NrAAEFRFNhbWVBbXBsaWZpY2F0aW9uAAEFNFNsaXBwYWdlTGltaXQAAQU8VW5rbm93bkRlY2ltYWxzAAEFUEluY29ycmVjdEluaXRpYWxQZWdzAAEFWE1pc3NpbmdUYXJnZXRQZWdPcmFjbGUAAQVYSW5jb3JyZWN0QXNzZXREZWNpbWFscwABBSxOb1BlZ1NvdXJjZQABBQIcNE5vdFJlZ2lzdGVyZWQAAQUkTm90TWF0dXJlAAEFPEludmFsaWRNYXR1cml0eQABBTxEaXNhbGxvd2VkQXNzZXQAAQU0QXNzZXROb3RGb3VuZAABBTxJbnZhbGlkQm9uZE5hbWUAAQU8RmFpbFRvUGFyc2VOYW1lAAEFAhw0T3JkZXJOb3RGb3VuZAABBVBOb3RQYXJ0aWFsbHlGaWxsYWJsZQABBTBJbnZhbGlkUm91dGUAAQVQQmFsYW5jZUluY29uc2lzdGVuY3kAAQVIVHJhZGVBbW91bnRUb29IaWdoAAEFRFRyYWRlQW1vdW50VG9vTG93AAEFRFByaWNlTm90QXZhaWxhYmxlAAEFAlx4Q2Fubm90Q3JlYXRlUG9vbFdpdGhTYW1lQXNzZXRzAAEFIE5vdE93bmVyAAEFLFNhbGVTdGFydGVkAAEFMFNhbGVOb3RFbmRlZAABBUBTYWxlSXNOb3RSdW5uaW5nAAEFXE1heFNhbGVEdXJhdGlvbkV4Y2VlZGVkAAEFWENhbm5vdEFkZFplcm9MaXF1aWRpdHkAAQVgSW5zdWZmaWNpZW50QXNzZXRCYWxhbmNlAAEFMFBvb2xOb3RGb3VuZAABBURQb29sQWxyZWFkeUV4aXN0cwABBURJbnZhbGlkQmxvY2tSYW5nZQABBVhXZWlnaHRDYWxjdWxhdGlvbkVycm9yAAEFNEludmFsaWRXZWlnaHQAAQUoWmVyb0Ftb3VudAABBUhNYXhJblJhdGlvRXhjZWVkZWQAAQVMTWF4T3V0UmF0aW9FeGNlZWRlZAABBUBGZWVBbW91bnRJbnZhbGlkAAEFTFRyYWRpbmdMaW1pdFJlYWNoZWQAAQUgT3ZlcmZsb3cAAQU8Tm90aGluZ1RvVXBkYXRlAAEFVEluc3VmZmljaWVudExpcXVpZGl0eQABBWRJbnN1ZmZpY2llbnRUcmFkaW5nQW1vdW50AAEFgEZlZUNvbGxlY3RvcldpdGhBc3NldEFscmVhZHlVc2VkAAEFAmh4Q2Fubm90Q3JlYXRlUG9vbFdpdGhTYW1lQXNzZXRzAAEFVEluc3VmZmljaWVudExpcXVpZGl0eQABBWRJbnN1ZmZpY2llbnRUcmFkaW5nQW1vdW50AAEFNFplcm9MaXF1aWRpdHkAAQVAWmVyb0luaXRpYWxQcmljZQABBXBDcmVhdGVQb29sQXNzZXRBbW91bnRJbnZhbGlkAAEFWEludmFsaWRNaW50ZWRMaXF1aWRpdHkAAQVYSW52YWxpZExpcXVpZGl0eUFtb3VudAABBWBBc3NldEFtb3VudEV4Y2VlZGVkTGltaXQAAQVoQXNzZXRBbW91bnROb3RSZWFjaGVkTGltaXQAAQVgSW5zdWZmaWNpZW50QXNzZXRCYWxhbmNlAAEFcEluc3VmZmljaWVudFBvb2xBc3NldEJhbGFuY2UAAQWESW5zdWZmaWNpZW50TmF0aXZlQ3VycmVuY3lCYWxhbmNlAAEFRFRva2VuUG9vbE5vdEZvdW5kAAEFWFRva2VuUG9vbEFscmVhZHlFeGlzdHMAAQVUQWRkQXNzZXRBbW91bnRJbnZhbGlkAAEFYFJlbW92ZUFzc2V0QW1vdW50SW52YWxpZAABBVhTZWxsQXNzZXRBbW91bnRJbnZhbGlkAAEFVEJ1eUFzc2V0QW1vdW50SW52YWxpZAABBUBGZWVBbW91bnRJbnZhbGlkAAEFTENhbm5vdEFwcGx5RGlzY291bnQAAQVMTWF4T3V0UmF0aW9FeGNlZWRlZAABBUhNYXhJblJhdGlvRXhjZWVkZWQAAQUgT3ZlcmZsb3cAAQVAQ2Fubm90Q3JlYXRlUG9vbAABBTRTbGlwcGFnZUxpbWl0AAEFAjgcVG9vTG9uZwABBSBUb29TaG9ydAABBUBJbnZhbGlkQ2hhcmFjdGVyAAEFNEFscmVhZHlFeGlzdHMAAQUsSW52YWxpZENvZGUAAQU0QWxyZWFkeUxpbmtlZAABBShaZXJvQW1vdW50AAEFOExpbmtOb3RBbGxvd2VkAAEFaEluY29ycmVjdFJld2FyZENhbGN1bGF0aW9uAAEFZEluY29ycmVjdFJld2FyZFBlcmNlbnRhZ2UAAQVEQWxyZWFkeVJlZ2lzdGVyZWQAAQU0UHJpY2VOb3RGb3VuZAABBZBDb252ZXJzaW9uTWluVHJhZGluZ0Ftb3VudE5vdFJlYWNoZWQAAQVwQ29udmVyc2lvblplcm9BbW91bnRSZWNlaXZlZAABBQIYVEFzc2V0Q29udmVyc2lvbkZhaWxlZAABBVRMaXF1aWRhdGlvbkNhbGxGYWlsZWQAAQUwSW52YWxpZFJvdXRlAAEFNE5vdFByb2ZpdGFibGUAAQVERmxhc2hNaW50ZXJOb3RTZXQAAQVYSW52YWxpZExpcXVpZGF0aW9uRGF0YQABBQJYQEFzc2V0Tm90QXBwcm92ZWQAAQVQQXNzZXRBbHJlYWR5QXBwcm92ZWQAAQVgUG9vbEFscmVhZHlIYXNDb2xsYXRlcmFsAAEFQEludmFsaWRBc3NldFBhaXIAAQVMTWF4QnV5UHJpY2VFeGNlZWRlZAABBUhNYXhCdXlCYWNrRXhjZWVkZWQAAQVITWF4SG9sZGluZ0V4Y2VlZGVkAAEFVFNsaXBwYWdlTGltaXRFeGNlZWRlZAABBVRJbnZhbGlkRVZNSW50ZXJhY3Rpb24AAQVYRGVjaW1hbFJldHJpZXZhbEZhaWxlZAABBVhOb0FyYml0cmFnZU9wcG9ydHVuaXR5AAEFRE9mZmNoYWluTG9ja0Vycm9yAAEFNEFzc2V0Tm90Rm91bmQAAQVASW52YWxpZFBvb2xTdGF0ZQABBUhDb2xsYXRlcmFsTm90RW1wdHkAAQU4QXNzZXROb3RJblBvb2wAAQU8SG9sbGFyTm90SW5Qb29sAAEFdEluc3VmZmljaWVudENvbGxhdGVyYWxCYWxhbmNlAAEFdEhvbGxhckNvbnRyYWN0QWRkcmVzc05vdEZvdW5kAAEFdE1heE51bWJlck9mQ29sbGF0ZXJhbHNSZWFjaGVkAAEFREZsYXNoTWludGVyTm90U2V0AAEFUEludmFsaWRBcmJpdHJhZ2VEYXRhAAEFAiA0QmFsYW5jZVRvb0xvdwABBVxBbW91bnRJbnRvQmFsYW5jZUZhaWxlZAABBVRMaXF1aWRpdHlSZXN0cmljdGlvbnMAAQVATWF4TG9ja3NFeGNlZWRlZAABBSRLZWVwQWxpdmUAAQVIRXhpc3RlbnRpYWxEZXBvc2l0AAEFLERlYWRBY2NvdW50AAEFPFRvb01hbnlSZXNlcnZlcwABBQIQXEFtb3VudEludG9CYWxhbmNlRmFpbGVkAAEFNEJhbGFuY2VUb29Mb3cAAQU0RGVwb3NpdEZhaWxlZAABBTBOb3RTdXBwb3J0ZWQAAQUCGERaZXJvVmVzdGluZ1BlcmlvZAABBVhaZXJvVmVzdGluZ1BlcmlvZENvdW50AAEFZEluc3VmZmljaWVudEJhbGFuY2VUb0xvY2sAAQVcVG9vTWFueVZlc3RpbmdTY2hlZHVsZXMAAQUkQW1vdW50TG93AAEFbE1heFZlc3RpbmdTY2hlZHVsZXNFeGNlZWRlZAABBQI0KEJhbGFuY2VMb3cAAQUsRmVlT3ZlcmZsb3cAAQU8UGF5bWVudE92ZXJmbG93AAEFOFdpdGhkcmF3RmFpbGVkAAEFOEdhc1ByaWNlVG9vTG93AAEFMEludmFsaWROb25jZQABBThHYXNMaW1pdFRvb0xvdwABBTxHYXNMaW1pdFRvb0hpZ2gAAQU4SW52YWxpZENoYWluSWQAAQVASW52YWxpZFNpZ25hdHVyZQABBShSZWVudHJhbmN5AAEFaFRyYW5zYWN0aW9uTXVzdENvbWVGcm9tRU9BAAEFJFVuZGVmaW5lZAABBQIIQEludmFsaWRTaWduYXR1cmUAAQUwUHJlTG9nRXhpc3RzAAEFAhBsVHJ1bmNhdGVkQWNjb3VudEFscmVhZHlVc2VkAAEFTEFkZHJlc3NBbHJlYWR5Qm91bmQAAQVgQm91bmRBZGRyZXNzQ2Fubm90QmVVc2VkAAEFVEFkZHJlc3NOb3RXaGl0ZWxpc3RlZAABBQI0UENhbnRGaW5kRGVwb3NpdE93bmVyAAEFcEluc3VmZmljaWVudFh5a1NoYXJlc0JhbGFuY2UAAQVIWHlrUG9vbERvZXNudEV4aXN0AAEFPE5vdERlcG9zaXRPd25lcgABBUBDYW50R2V0WHlrQXNzZXRzAAEFTERlcG9zaXREYXRhTm90Rm91bmQAAQVIWmVyb0NsYWltZWRSZXdhcmRzAAEFTEFzc2V0Tm90SW5Bc3NldFBhaXIAAQVASW52YWxpZEFzc2V0UGFpcgABBUhBc3NldE5vdFJlZ2lzdGVyZWQAAQU4RmFpbFRvR2V0UG90SWQAAQVATm9GYXJtc1NwZWNpZmllZAABBUxGYWlsZWRUb1ZhbHVlU2hhcmVzAAEFAlBAU2NoZWR1bGVOb3RGb3VuZAABBWBNaW5UcmFkZUFtb3VudE5vdFJlYWNoZWQAAQUkRm9yYmlkZGVuAAEFYEJsb2NrTnVtYmVySXNOb3RJbkZ1dHVyZQABBTRQcmljZVVuc3RhYmxlAAEFGEJ1bXBlZAABBVRDYWxjdWxhdGluZ1ByaWNlRXJyb3IAAQWEVG90YWxBbW91bnRJc1NtYWxsZXJUaGFuTWluQnVkZ2V0AAEFMEJ1ZGdldFRvb0xvdwABBUBOb0ZyZWVCbG9ja0ZvdW5kAAEFSE1hbnVhbGx5VGVybWluYXRlZAABBTxNYXhSZXRyeVJlYWNoZWQAAQVEVHJhZGVMaW1pdFJlYWNoZWQAAQVQU2xpcHBhZ2VMaW1pdFJlYWNoZWQAAQVETm9QYXJlbnRIYXNoRm91bmQAAQUwSW52YWxpZFN0YXRlAAEFOFBlcmlvZFRvb1Nob3J0AAEFZFN0YWJpbGl0eVRocmVzaG9sZFRvb0hpZ2gAAQVISGFzQWN0aXZlU2NoZWR1bGVzAAEFQE5vUmVzZXJ2ZXNMb2NrZWQAAQUCFEBGYWlsZWRUb1NjaGVkdWxlAAEFIE5vdEZvdW5kAAEFXFRhcmdldEJsb2NrTnVtYmVySW5QYXN0AAEFSFJlc2NoZWR1bGVOb0NoYW5nZQABBRROYW1lZAABBQIgTE92ZXJsYXBwaW5nVXBncmFkZXMAAQVQUHJvaGliaXRlZEJ5UG9sa2Fkb3QAAQUYVG9vQmlnAAEFaFZhbGlkYXRpb25EYXRhTm90QXZhaWxhYmxlAAEFdEhvc3RDb25maWd1cmF0aW9uTm90QXZhaWxhYmxlAAEFME5vdFNjaGVkdWxlZAABBUROb3RoaW5nQXV0aG9yaXplZAABBTBVbmF1dGhvcml6ZWQAAQUCYCxVbnJlYWNoYWJsZQABBSxTZW5kRmFpbHVyZQABBSBGaWx0ZXJlZAABBUhVbndlaWdoYWJsZU1lc3NhZ2UAAQVgRGVzdGluYXRpb25Ob3RJbnZlcnRpYmxlAAEFFEVtcHR5AAEFOENhbm5vdFJlYW5jaG9yAAEFNFRvb01hbnlBc3NldHMAAQU0SW52YWxpZE9yaWdpbgABBShCYWRWZXJzaW9uAAEFLEJhZExvY2F0aW9uAAEFOE5vU3Vic2NyaXB0aW9uAAEFREFscmVhZHlTdWJzY3JpYmVkAAEFWENhbm5vdENoZWNrT3V0VGVsZXBvcnQAAQUoTG93QmFsYW5jZQABBTBUb29NYW55TG9ja3MAAQVMQWNjb3VudE5vdFNvdmVyZWlnbgABBShGZWVzTm90TWV0AAEFMExvY2tOb3RGb3VuZAABBRRJblVzZQABBWhJbnZhbGlkQXNzZXRVbmtub3duUmVzZXJ2ZQABBXhJbnZhbGlkQXNzZXRVbnN1cHBvcnRlZFJlc2VydmUAAQU8VG9vTWFueVJlc2VydmVzAAEFYExvY2FsRXhlY3V0aW9uSW5jb21wbGV0ZQABBQIUOEJhZFF1ZXVlQ29uZmlnAAEFQEFscmVhZHlTdXNwZW5kZWQAAQU4QWxyZWFkeVJlc3VtZWQAAQV0VG9vTWFueUFjdGl2ZU91dGJvdW5kQ2hhbm5lbHMAAQUYVG9vQmlnAAEFAiQsTm90UmVhcGFibGUAAQUYTm9QYWdlAAEFJE5vTWVzc2FnZQABBUBBbHJlYWR5UHJvY2Vzc2VkAAEFGFF1ZXVlZAABBUhJbnN1ZmZpY2llbnRXZWlnaHQAAQVgVGVtcG9yYXJpbHlVbnByb2Nlc3NhYmxlAAEFLFF1ZXVlUGF1c2VkAAEFTFJlY3Vyc2l2ZURpc2FsbG93ZWQAAQUCDCxVbnJlYWNoYWJsZQABBSxTZW5kRmFpbHVyZQABBShCYWRWZXJzaW9uAAEFAlBEQXNzZXRIYXNOb1Jlc2VydmUAAQVUTm90Q3Jvc3NDaGFpblRyYW5zZmVyAAEFLEludmFsaWREZXN0AAEFhE5vdENyb3NzQ2hhaW5UcmFuc2ZlcmFibGVDdXJyZW5jeQABBUhVbndlaWdoYWJsZU1lc3NhZ2UAAQVIWGNtRXhlY3V0aW9uRmFpbGVkAAEFOENhbm5vdFJlYW5jaG9yAAEFPEludmFsaWRBbmNlc3RyeQABBTBJbnZhbGlkQXNzZXQAAQVgRGVzdGluYXRpb25Ob3RJbnZlcnRpYmxlAAEFKEJhZFZlcnNpb24AAQV0RGlzdGluY3RSZXNlcnZlRm9yQXNzZXRBbmRGZWUAAQUcWmVyb0ZlZQABBShaZXJvQW1vdW50AAEFWFRvb01hbnlBc3NldHNCZWluZ1NlbnQAAQVUQXNzZXRJbmRleE5vbkV4aXN0ZW50AAEFMEZlZU5vdEVub3VnaAABBVBOb3RTdXBwb3J0ZWRMb2NhdGlvbgABBUxNaW5YY21GZWVOb3REZWZpbmVkAAEFLFJhdGVMaW1pdGVkAAEFAgw0QmFsYW5jZVRvb0xvdwABBTxCYWxhbmNlT3ZlcmZsb3cAAQU4VW5oYW5kbGVkQXNzZXQAAQUCRERUb29NYW55Q2FuZGlkYXRlcwABBVxUb29GZXdFbGlnaWJsZUNvbGxhdG9ycwABBUBBbHJlYWR5Q2FuZGlkYXRlAAEFME5vdENhbmRpZGF0ZQABBVBUb29NYW55SW52dWxuZXJhYmxlcwABBUxBbHJlYWR5SW52dWxuZXJhYmxlAAEFPE5vdEludnVsbmVyYWJsZQABBVxOb0Fzc29jaWF0ZWRWYWxpZGF0b3JJZAABBVhWYWxpZGF0b3JOb3RSZWdpc3RlcmVkAAEFbEluc2VydFRvQ2FuZGlkYXRlTGlzdEZhaWxlZAABBXRSZW1vdmVGcm9tQ2FuZGlkYXRlTGlzdEZhaWxlZAABBTREZXBvc2l0VG9vTG93AAEFZFVwZGF0ZUNhbmRpZGF0ZUxpc3RGYWlsZWQAAQVASW5zdWZmaWNpZW50Qm9uZAABBVBUYXJnZXRJc05vdENhbmRpZGF0ZQABBUBJZGVudGljYWxEZXBvc2l0AAEFQEludmFsaWRVbnJlc2VydmUAAQUCFDBJbnZhbGlkUHJvb2YAAQVcTm9Bc3NvY2lhdGVkVmFsaWRhdG9ySWQAAQU0RHVwbGljYXRlZEtleQABBRhOb0tleXMAAQUkTm9BY2NvdW50AAEFAhRQVG9vTWFueVVuaXF1ZUVudHJpZXMAAQVAT25UcmFkZVZhbHVlWmVybwABBThPcmFjbGVOb3RGb3VuZAABBTRBc3NldE5vdEZvdW5kAAEFYFByaWNlT3V0c2lkZUFsbG93ZWRSYW5nZQABBQIIaEV4ZWN1dGlvbkNhbGxTdGFja092ZXJmbG93AAEFbEV4ZWN1dGlvbkNhbGxTdGFja1VuZGVyZmxvdwABBQIhARhTeXN0ZW0BRCRUaW1lc3RhbXAAAQUgQmFsYW5jZXMBSEhUcmFuc2FjdGlvblBheW1lbnQAAQVcTXVsdGlUcmFuc2FjdGlvblBheW1lbnQBTCBUcmVhc3VyeQFQHFV0aWxpdHkBVCBQcmVpbWFnZQFYIElkZW50aXR5AVwkRGVtb2NyYWN5AWBIVGVjaG5pY2FsQ29tbWl0dGVlAWQUUHJveHkBaCBNdWx0aXNpZwFsHFVuaXF1ZXMBcEhTdGF0ZVRyaWVNaWdyYXRpb24BdEBDb252aWN0aW9uVm90aW5nAXgkUmVmZXJlbmRhAXwcT3JpZ2lucwABBSRXaGl0ZWxpc3QBgChEaXNwYXRjaGVyAYQ0QXNzZXRSZWdpc3RyeQGIGENsYWltcwGMOEdlbmVzaXNIaXN0b3J5AAEFPENvbGxhdG9yUmV3YXJkcwGQIE9tbmlwb29sAZRAVHJhbnNhY3Rpb25QYXVzZQGYGER1c3RlcgGcTE9tbmlwb29sV2FyZWhvdXNlTE0BpFxPbW5pcG9vbExpcXVpZGl0eU1pbmluZwGsDE9UQwGwOENpcmN1aXRCcmVha2VyAbQYUm91dGVyAbgsRHluYW1pY0ZlZXMBvBxTdGFraW5nAcQoU3RhYmxlc3dhcAHIFEJvbmRzAcw4T3RjU2V0dGxlbWVudHMB0AxMQlAB1AxYWUsB2CRSZWZlcnJhbHMB3CxMaXF1aWRhdGlvbgHgDEhTTQHkKFBhcmFtZXRlcnMAAQUYVG9rZW5zAegoQ3VycmVuY2llcwHsHFZlc3RpbmcB8AxFVk0B9ChFVk1DaGFpbklkAAEFIEV0aGVyZXVtAfgsRVZNQWNjb3VudHMB/DREeW5hbWljRXZtRmVlAAEFSFhZS0xpcXVpZGl0eU1pbmluZwEBAThYWUtXYXJlaG91c2VMTQGkOFJlbGF5Q2hhaW5JbmZvAZAMRENBAQUBJFNjaGVkdWxlcgEJATxQYXJhY2hhaW5TeXN0ZW0BDQE0UGFyYWNoYWluSW5mbwABBSxQb2xrYWRvdFhjbQERAShDdW11bHVzWGNtAAEFJFhjbXBRdWV1ZQEVATBNZXNzYWdlUXVldWUBGQEcT3JtbFhjbQEdARxYVG9rZW5zASEBNFVua25vd25Ub2tlbnMBJQEoQXV0aG9yc2hpcAABBURDb2xsYXRvclNlbGVjdGlvbgEpARxTZXNzaW9uAS0BEEF1cmEAAQUcQXVyYUV4dAABBSRFbWFPcmFjbGUBMQEkQnJvYWRjYXN0ATUBAihARnVuZHNVbmF2YWlsYWJsZQABBTBPbmx5UHJvdmlkZXIAAQUwQmVsb3dNaW5pbXVtAAEFMENhbm5vdENyZWF0ZQABBTBVbmtub3duQXNzZXQAAQUYRnJvemVuAAEFLFVuc3VwcG9ydGVkAAEFQENhbm5vdENyZWF0ZUhvbGQAAQU0Tm90RXhwZW5kYWJsZQABBRxCbG9ja2VkAAEFAgwkVW5kZXJmbG93AAEFIE92ZXJmbG93AAEFOERpdmlzaW9uQnlaZXJvAAEFAggwTGltaXRSZWFjaGVkAAEFHE5vTGF5ZXIAAQUCOBRPdGhlcgABBTBDYW5ub3RMb29rdXAAAQUkQmFkT3JpZ2luAAEFGE1vZHVsZQE5AURDb25zdW1lclJlbWFpbmluZwABBSxOb1Byb3ZpZGVycwABBUBUb29NYW55Q29uc3VtZXJzAAEFFFRva2VuAT0BKEFyaXRobWV0aWMBQQE0VHJhbnNhY3Rpb25hbAFFASRFeGhhdXN0ZWQAAQUoQ29ycnVwdGlvbgABBSxVbmF2YWlsYWJsZQABBThSb290Tm90QWxsb3dlZAABBQIcQEV4dHJpbnNpY1N1Y2Nlc3MAAAQ0ZGlzcGF0Y2hfaW5mb0A8RXh0cmluc2ljRmFpbGVkAAAIOGRpc3BhdGNoX2Vycm9ySQE0ZGlzcGF0Y2hfaW5mb0AsQ29kZVVwZGF0ZWQAAQUoTmV3QWNjb3VudAAABBxhY2NvdW50ADRLaWxsZWRBY2NvdW50AAAEHGFjY291bnQAIFJlbWFya2VkAAAIGHNlbmRlcgAQaGFzaCBEVXBncmFkZUF1dGhvcml6ZWQAAAgkY29kZV9oYXNoIDRjaGVja192ZXJzaW9uFAIIEEZyZWUAAQUgUmVzZXJ2ZWQAAQUCWBxFbmRvd2VkAAAIHGFjY291bnQAMGZyZWVfYmFsYW5jZQggRHVzdExvc3QAAAgcYWNjb3VudAAYYW1vdW50CCBUcmFuc2ZlcgAADBBmcm9tAAh0bwAYYW1vdW50CChCYWxhbmNlU2V0AAAIDHdobwAQZnJlZQggUmVzZXJ2ZWQAAAgMd2hvABhhbW91bnQIKFVucmVzZXJ2ZWQAAAgMd2hvABhhbW91bnQISFJlc2VydmVSZXBhdHJpYXRlZAAAEBBmcm9tAAh0bwAYYW1vdW50CEhkZXN0aW5hdGlvbl9zdGF0dXNRARxEZXBvc2l0AAAIDHdobwAYYW1vdW50CCBXaXRoZHJhdwAACAx3aG8AGGFtb3VudAgcU2xhc2hlZAAACAx3aG8AGGFtb3VudAgYTWludGVkAAAIDHdobwAYYW1vdW50CBhCdXJuZWQAAAgMd2hvABhhbW91bnQIJFN1c3BlbmRlZAAACAx3aG8AGGFtb3VudAggUmVzdG9yZWQAAAgMd2hvABhhbW91bnQIIFVwZ3JhZGVkAAAEDHdobwAYSXNzdWVkAAAEGGFtb3VudAgkUmVzY2luZGVkAAAEGGFtb3VudAgYTG9ja2VkAAAIDHdobwAYYW1vdW50CCBVbmxvY2tlZAAACAx3aG8AGGFtb3VudAgYRnJvemVuAAAIDHdobwAYYW1vdW50CBhUaGF3ZWQAAAgMd2hvABhhbW91bnQITFRvdGFsSXNzdWFuY2VGb3JjZWQAAAgMb2xkCAxuZXcIAgRIVHJhbnNhY3Rpb25GZWVQYWlkAAAMDHdobwAoYWN0dWFsX2ZlZQgMdGlwCAIQLEN1cnJlbmN5U2V0AAAIKGFjY291bnRfaWQAIGFzc2V0X2lkBDRDdXJyZW5jeUFkZGVkAAAEIGFzc2V0X2lkBDxDdXJyZW5jeVJlbW92ZWQAAAQgYXNzZXRfaWQEMEZlZVdpdGhkcmF3bgAAFChhY2NvdW50X2lkACBhc3NldF9pZAREbmF0aXZlX2ZlZV9hbW91bnQIVG5vbl9uYXRpdmVfZmVlX2Ftb3VudAhYZGVzdGluYXRpb25fYWNjb3VudF9pZAACMCBTcGVuZGluZwAABEBidWRnZXRfcmVtYWluaW5nCBxBd2FyZGVkAAAMOHByb3Bvc2FsX2luZGV4BBRhd2FyZAgcYWNjb3VudAAUQnVybnQAAAQsYnVybnRfZnVuZHMIIFJvbGxvdmVyAAAEQHJvbGxvdmVyX2JhbGFuY2UIHERlcG9zaXQAAAQUdmFsdWUINFNwZW5kQXBwcm92ZWQAAAw4cHJvcG9zYWxfaW5kZXgEGGFtb3VudAgsYmVuZWZpY2lhcnkAPFVwZGF0ZWRJbmFjdGl2ZQAACCxyZWFjdGl2YXRlZAgsZGVhY3RpdmF0ZWQISEFzc2V0U3BlbmRBcHByb3ZlZAAAFBRpbmRleAQYYW1vdW50CCxiZW5lZmljaWFyeQAodmFsaWRfZnJvbQQkZXhwaXJlX2F0BEBBc3NldFNwZW5kVm9pZGVkAAAEFGluZGV4BBBQYWlkAAAEFGluZGV4BDRQYXltZW50RmFpbGVkAAAEFGluZGV4BDhTcGVuZFByb2Nlc3NlZAAABBRpbmRleAQHkEkBAhhAQmF0Y2hJbnRlcnJ1cHRlZAAACBRpbmRleAQUZXJyb3JJAThCYXRjaENvbXBsZXRlZAABBWBCYXRjaENvbXBsZXRlZFdpdGhFcnJvcnMAAQU0SXRlbUNvbXBsZXRlZAABBShJdGVtRmFpbGVkAAAEFGVycm9ySQEwRGlzcGF0Y2hlZEFzAAAEGHJlc3VsdGUBAgwUTm90ZWQAAAQQaGFzaCAkUmVxdWVzdGVkAAAEEGhhc2ggHENsZWFyZWQAAAQQaGFzaCACRCxJZGVudGl0eVNldAAABAx3aG8APElkZW50aXR5Q2xlYXJlZAAACAx3aG8AHGRlcG9zaXQIOElkZW50aXR5S2lsbGVkAAAIDHdobwAcZGVwb3NpdAhISnVkZ2VtZW50UmVxdWVzdGVkAAAIDHdobwA8cmVnaXN0cmFyX2luZGV4BFBKdWRnZW1lbnRVbnJlcXVlc3RlZAAACAx3aG8APHJlZ2lzdHJhcl9pbmRleAQ4SnVkZ2VtZW50R2l2ZW4AAAgYdGFyZ2V0ADxyZWdpc3RyYXJfaW5kZXgEOFJlZ2lzdHJhckFkZGVkAAAEPHJlZ2lzdHJhcl9pbmRleARAU3ViSWRlbnRpdHlBZGRlZAAADAxzdWIAEG1haW4AHGRlcG9zaXQISFN1YklkZW50aXR5UmVtb3ZlZAAADAxzdWIAEG1haW4AHGRlcG9zaXQISFN1YklkZW50aXR5UmV2b2tlZAAADAxzdWIAEG1haW4AHGRlcG9zaXQIOEF1dGhvcml0eUFkZGVkAAAEJGF1dGhvcml0eQBAQXV0aG9yaXR5UmVtb3ZlZAAABCRhdXRob3JpdHkALFVzZXJuYW1lU2V0AAAIDHdobwAgdXNlcm5hbWUkOFVzZXJuYW1lUXVldWVkAAAMDHdobwAgdXNlcm5hbWUkKGV4cGlyYXRpb24ESFByZWFwcHJvdmFsRXhwaXJlZAAABBR3aG9zZQBIUHJpbWFyeVVzZXJuYW1lU2V0AAAIDHdobwAgdXNlcm5hbWUkXERhbmdsaW5nVXNlcm5hbWVSZW1vdmVkAAAIDHdobwAgdXNlcm5hbWUkAgxQU3VwZXJNYWpvcml0eUFwcHJvdmUAAQVQU3VwZXJNYWpvcml0eUFnYWluc3QAAQU4U2ltcGxlTWFqb3JpdHkAAQUCCCBTdGFuZGFyZAAACBB2b3RlBBxiYWxhbmNlCBRTcGxpdAAACAxheWUIDG5heQgCDCBFeHRlcm5hbAABBSBQcm9wb3NhbAEEKFJlZmVyZW5kdW0BBAJEIFByb3Bvc2VkAAAIOHByb3Bvc2FsX2luZGV4BBxkZXBvc2l0CBhUYWJsZWQAAAg4cHJvcG9zYWxfaW5kZXgEHGRlcG9zaXQIOEV4dGVybmFsVGFibGVkAAEFHFN0YXJ0ZWQAAAgkcmVmX2luZGV4BCR0aHJlc2hvbGR1ARhQYXNzZWQAAAQkcmVmX2luZGV4BCROb3RQYXNzZWQAAAQkcmVmX2luZGV4BCRDYW5jZWxsZWQAAAQkcmVmX2luZGV4BCREZWxlZ2F0ZWQAAAgMd2hvABh0YXJnZXQALFVuZGVsZWdhdGVkAAAEHGFjY291bnQAGFZldG9lZAAADAx3aG8ANHByb3Bvc2FsX2hhc2ggFHVudGlsBCxCbGFja2xpc3RlZAAABDRwcm9wb3NhbF9oYXNoIBRWb3RlZAAADBR2b3RlcgAkcmVmX2luZGV4BBB2b3RleQEgU2Vjb25kZWQAAAggc2Vjb25kZXIAKHByb3BfaW5kZXgEQFByb3Bvc2FsQ2FuY2VsZWQAAAQocHJvcF9pbmRleAQsTWV0YWRhdGFTZXQAAAgUb3duZXJ9ARBoYXNoIDxNZXRhZGF0YUNsZWFyZWQAAAgUb3duZXJ9ARBoYXNoIExNZXRhZGF0YVRyYW5zZmVycmVkAAAMKHByZXZfb3duZXJ9ARRvd25lcn0BEGhhc2ggAhwgUHJvcG9zZWQAABAcYWNjb3VudAA4cHJvcG9zYWxfaW5kZXgENHByb3Bvc2FsX2hhc2ggJHRocmVzaG9sZAQUVm90ZWQAABQcYWNjb3VudAA0cHJvcG9zYWxfaGFzaCAUdm90ZWQUDHllcwQIbm8EIEFwcHJvdmVkAAAENHByb3Bvc2FsX2hhc2ggLERpc2FwcHJvdmVkAAAENHByb3Bvc2FsX2hhc2ggIEV4ZWN1dGVkAAAINHByb3Bvc2FsX2hhc2ggGHJlc3VsdGUBOE1lbWJlckV4ZWN1dGVkAAAINHByb3Bvc2FsX2hhc2ggGHJlc3VsdGUBGENsb3NlZAAADDRwcm9wb3NhbF9oYXNoIAx5ZXMECG5vBAIYDEFueQABBSxDYW5jZWxQcm94eQABBShHb3Zlcm5hbmNlAAEFIFRyYW5zZmVyAAEFJExpcXVpZGl0eQABBTxMaXF1aWRpdHlNaW5pbmcAAQUCFDRQcm94eUV4ZWN1dGVkAAAEGHJlc3VsdGUBLFB1cmVDcmVhdGVkAAAQEHB1cmUADHdobwAocHJveHlfdHlwZYkBUGRpc2FtYmlndWF0aW9uX2luZGV4BCRBbm5vdW5jZWQAAAwQcmVhbAAUcHJveHkAJGNhbGxfaGFzaCAoUHJveHlBZGRlZAAAECRkZWxlZ2F0b3IAJGRlbGVnYXRlZQAocHJveHlfdHlwZYkBFGRlbGF5BDBQcm94eVJlbW92ZWQAABAkZGVsZWdhdG9yACRkZWxlZ2F0ZWUAKHByb3h5X3R5cGWJARRkZWxheQQACBhoZWlnaHQEFGluZGV4BAIQLE5ld011bHRpc2lnAAAMJGFwcHJvdmluZwAgbXVsdGlzaWcAJGNhbGxfaGFzaCBATXVsdGlzaWdBcHByb3ZhbAAAECRhcHByb3ZpbmcAJHRpbWVwb2ludJEBIG11bHRpc2lnACRjYWxsX2hhc2ggQE11bHRpc2lnRXhlY3V0ZWQAABQkYXBwcm92aW5nACR0aW1lcG9pbnSRASBtdWx0aXNpZwAkY2FsbF9oYXNoIBhyZXN1bHRlAURNdWx0aXNpZ0NhbmNlbGxlZAAAEChjYW5jZWxsaW5nACR0aW1lcG9pbnSRASBtdWx0aXNpZwAkY2FsbF9oYXNoIAQIAAYIBgACbBxDcmVhdGVkAAAMKGNvbGxlY3Rpb24IHGNyZWF0b3IAFG93bmVyADBGb3JjZUNyZWF0ZWQAAAgoY29sbGVjdGlvbggUb3duZXIAJERlc3Ryb3llZAAABChjb2xsZWN0aW9uCBhJc3N1ZWQAAAwoY29sbGVjdGlvbggQaXRlbQgUb3duZXIALFRyYW5zZmVycmVkAAAQKGNvbGxlY3Rpb24IEGl0ZW0IEGZyb20ACHRvABhCdXJuZWQAAAwoY29sbGVjdGlvbggQaXRlbQgUb3duZXIAGEZyb3plbgAACChjb2xsZWN0aW9uCBBpdGVtCBhUaGF3ZWQAAAgoY29sbGVjdGlvbggQaXRlbQhAQ29sbGVjdGlvbkZyb3plbgAABChjb2xsZWN0aW9uCEBDb2xsZWN0aW9uVGhhd2VkAAAEKGNvbGxlY3Rpb24IME93bmVyQ2hhbmdlZAAACChjb2xsZWN0aW9uCCRuZXdfb3duZXIALFRlYW1DaGFuZ2VkAAAQKGNvbGxlY3Rpb24IGGlzc3VlcgAUYWRtaW4AHGZyZWV6ZXIAQEFwcHJvdmVkVHJhbnNmZXIAABAoY29sbGVjdGlvbggQaXRlbQgUb3duZXIAIGRlbGVnYXRlAERBcHByb3ZhbENhbmNlbGxlZAAAEChjb2xsZWN0aW9uCBBpdGVtCBRvd25lcgAgZGVsZWdhdGUAREl0ZW1TdGF0dXNDaGFuZ2VkAAAEKGNvbGxlY3Rpb24IVENvbGxlY3Rpb25NZXRhZGF0YVNldAAADChjb2xsZWN0aW9uCBBkYXRhJCRpc19mcm96ZW4UZENvbGxlY3Rpb25NZXRhZGF0YUNsZWFyZWQAAAQoY29sbGVjdGlvbggsTWV0YWRhdGFTZXQAABAoY29sbGVjdGlvbggQaXRlbQgQZGF0YSQkaXNfZnJvemVuFDxNZXRhZGF0YUNsZWFyZWQAAAgoY29sbGVjdGlvbggQaXRlbQgsUmVkZXBvc2l0ZWQAAAgoY29sbGVjdGlvbghAc3VjY2Vzc2Z1bF9pdGVtc5kBMEF0dHJpYnV0ZVNldAAAEChjb2xsZWN0aW9uCChtYXliZV9pdGVtnQEMa2V5JBR2YWx1ZSRAQXR0cmlidXRlQ2xlYXJlZAAADChjb2xsZWN0aW9uCChtYXliZV9pdGVtnQEMa2V5JGhPd25lcnNoaXBBY2NlcHRhbmNlQ2hhbmdlZAAACAx3aG8AQG1heWJlX2NvbGxlY3Rpb26dAVhDb2xsZWN0aW9uTWF4U3VwcGx5U2V0AAAIKGNvbGxlY3Rpb24IKG1heF9zdXBwbHkEMEl0ZW1QcmljZVNldAAAEChjb2xsZWN0aW9uCBBpdGVtCBRwcmljZQhEd2hpdGVsaXN0ZWRfYnV5ZXKhAUBJdGVtUHJpY2VSZW1vdmVkAAAIKGNvbGxlY3Rpb24IEGl0ZW0IKEl0ZW1Cb3VnaHQAABQoY29sbGVjdGlvbggQaXRlbQgUcHJpY2UIGHNlbGxlcgAUYnV5ZXIAAggYU2lnbmVkAAEFEEF1dG8AAQUCECBNaWdyYXRlZAAADAx0b3AEFGNoaWxkBBxjb21wdXRlqQEcU2xhc2hlZAAACAx3aG8AGGFtb3VudAhUQXV0b01pZ3JhdGlvbkZpbmlzaGVkAAEFGEhhbHRlZAAABBRlcnJvcnQCDCBTdGFuZGFyZAAACBB2b3RlBBxiYWxhbmNlCBRTcGxpdAAACAxheWUIDG5heQgwU3BsaXRBYnN0YWluAAAMDGF5ZQgMbmF5CBxhYnN0YWluCAIQJERlbGVnYXRlZAAEAAEILFVuZGVsZWdhdGVkAQAUVm90ZWQAAAgMd2hvABB2b3RlsQEsVm90ZVJlbW92ZWQAAAgMd2hvABB2b3RlsQECDBhMZWdhY3kAAAQQaGFzaCAYSW5saW5lASQYTG9va3VwAAAIEGhhc2ggDGxlbgQADBBheWVzCBBuYXlzCBxzdXBwb3J0CAJAJFN1Ym1pdHRlZAAADBRpbmRleAQUdHJhY2sEIHByb3Bvc2FsuQFURGVjaXNpb25EZXBvc2l0UGxhY2VkAAAMFGluZGV4BAx3aG8AGGFtb3VudAhcRGVjaXNpb25EZXBvc2l0UmVmdW5kZWQAAAwUaW5kZXgEDHdobwAYYW1vdW50CDhEZXBvc2l0U2xhc2hlZAAACAx3aG8AGGFtb3VudAg8RGVjaXNpb25TdGFydGVkAAAQFGluZGV4BBR0cmFjawQgcHJvcG9zYWy5ARR0YWxseb0BOENvbmZpcm1TdGFydGVkAAAEFGluZGV4BDhDb25maXJtQWJvcnRlZAAABBRpbmRleAQkQ29uZmlybWVkAAAIFGluZGV4BBR0YWxseb0BIEFwcHJvdmVkAAAEFGluZGV4BCBSZWplY3RlZAAACBRpbmRleAQUdGFsbHm9ASBUaW1lZE91dAAACBRpbmRleAQUdGFsbHm9ASRDYW5jZWxsZWQAAAgUaW5kZXgEFHRhbGx5vQEYS2lsbGVkAAAIFGluZGV4BBR0YWxseb0BZFN1Ym1pc3Npb25EZXBvc2l0UmVmdW5kZWQAAAwUaW5kZXgEDHdobwAYYW1vdW50CCxNZXRhZGF0YVNldAAACBRpbmRleAQQaGFzaCA8TWV0YWRhdGFDbGVhcmVkAAAIFGluZGV4BBBoYXNoIAYYAAg0YWN0dWFsX3dlaWdodMUBIHBheXNfZmVlPAAIJHBvc3RfaW5mb8kBFGVycm9ySQEHyQHNAQIMPENhbGxXaGl0ZWxpc3RlZAAABCRjYWxsX2hhc2ggWFdoaXRlbGlzdGVkQ2FsbFJlbW92ZWQAAAQkY2FsbF9oYXNoIGRXaGl0ZWxpc3RlZENhbGxEaXNwYXRjaGVkAAAIJGNhbGxfaGFzaCAYcmVzdWx00QECCHRUcmVhc3VyeU1hbmFnZXJDYWxsRGlzcGF0Y2hlZAAACCRjYWxsX2hhc2ggGHJlc3VsdNEBZEFhdmVNYW5hZ2VyQ2FsbERpc3BhdGNoZWQAAAgkY2FsbF9oYXNoIBhyZXN1bHTRAQYkAhgUVG9rZW4AAQUMWFlLAAEFKFN0YWJsZVN3YXAAAQUQQm9uZAABBSBFeHRlcm5hbAABBRRFcmMyMAABBQYEAiwkQnlHZW5lc2lzASAYQnlGb3JrAAAIMGJsb2NrX251bWJlcggoYmxvY2tfaGFzaCAgUG9sa2Fkb3QAAQUYS3VzYW1hAAEFHFdlc3RlbmQAAQUYUm9jb2NvAAEFGFdvY29jbwABBSBFdGhlcmV1bQAABCBjaGFpbl9pZAgsQml0Y29pbkNvcmUAAQUsQml0Y29pbkNhc2gAAQVAUG9sa2Fkb3RCdWxsZXRpbgABBQbpAQUBUAIoEFVuaXQAAQUcTW9uaWtlcgEoFEluZGV4AQQkRXhlY3V0aXZlAAEFJFRlY2huaWNhbAABBSxMZWdpc2xhdGl2ZQABBSBKdWRpY2lhbAABBRxEZWZlbnNlAAEFOEFkbWluaXN0cmF0aW9uAAEFIFRyZWFzdXJ5AAEFAhQUVm9pY2UAAQUcTWVtYmVycwAABBRjb3VudAQgRnJhY3Rpb24AAAgMbm9tBBRkZW5vbQREQXRMZWFzdFByb3BvcnRpb24AAAgMbm9tBBRkZW5vbQRITW9yZVRoYW5Qcm9wb3J0aW9uAAAIDG5vbQQUZGVub20EAigkUGFyYWNoYWluAQQsQWNjb3VudElkMzIAAAgcbmV0d29ya+0BCGlkIDhBY2NvdW50SW5kZXg2NAAACBxuZXR3b3Jr7QEUaW5kZXgIMEFjY291bnRLZXkyMAAACBxuZXR3b3Jr7QEMa2V58QE4UGFsbGV0SW5zdGFuY2UBBDBHZW5lcmFsSW5kZXgBCChHZW5lcmFsS2V5AAAIGGxlbmd0aAQQZGF0YSAkT25seUNoaWxkAAEFJFBsdXJhbGl0eQAACAhpZPUBEHBhcnT5ATxHbG9iYWxDb25zZW5zdXMB6QECJBBIZXJlAAEFCFgxAf0BCFgyAAT9AQEICFgzAAT9AQEMCFg0AAT9AQEQCFg1AAT9AQEUCFg2AAT9AQEYCFg3AAT9AQEcCFg4AAT9AQEgAAgccGFyZW50cwQgaW50ZXJpb3IBAgIYWEV4aXN0ZW50aWFsRGVwb3NpdFBhaWQAAAwMd2hvACRmZWVfYXNzZXQEGGFtb3VudAgoUmVnaXN0ZXJlZAAAICBhc3NldF9pZAQoYXNzZXRfbmFtZd0BKGFzc2V0X3R5cGXhAUxleGlzdGVudGlhbF9kZXBvc2l0CDh4Y21fcmF0ZV9saW1pdJ0BGHN5bWJvbN0BIGRlY2ltYWxz5QE0aXNfc3VmZmljaWVudBQcVXBkYXRlZAAAICBhc3NldF9pZAQoYXNzZXRfbmFtZd0BKGFzc2V0X3R5cGXhAUxleGlzdGVudGlhbF9kZXBvc2l0CDh4Y21fcmF0ZV9saW1pdJ0BGHN5bWJvbN0BIGRlY2ltYWxz5QE0aXNfc3VmZmljaWVudBQsTG9jYXRpb25TZXQAAAggYXNzZXRfaWQEIGxvY2F0aW9uBQIsQXNzZXRCYW5uZWQAAAQgYXNzZXRfaWQENEFzc2V0VW5iYW5uZWQAAAQgYXNzZXRfaWQEAgQUQ2xhaW0AAwwA8QEIAgRAQ29sbGF0b3JSZXdhcmRlZAAADAx3aG8AGGFtb3VudAggY3VycmVuY3kEAjQoVG9rZW5BZGRlZAAADCBhc3NldF9pZAQ4aW5pdGlhbF9hbW91bnQINGluaXRpYWxfcHJpY2UIMFRva2VuUmVtb3ZlZAAADCBhc3NldF9pZAQYYW1vdW50CDRodWJfd2l0aGRyYXduCDhMaXF1aWRpdHlBZGRlZAAAEAx3aG8AIGFzc2V0X2lkBBhhbW91bnQILHBvc2l0aW9uX2lkCEBMaXF1aWRpdHlSZW1vdmVkAAAUDHdobwAscG9zaXRpb25faWQIIGFzc2V0X2lkBDhzaGFyZXNfcmVtb3ZlZAgMZmVlCGBQcm90b2NvbExpcXVpZGl0eVJlbW92ZWQAABQMd2hvACBhc3NldF9pZAQYYW1vdW50CChodWJfYW1vdW50CDhzaGFyZXNfcmVtb3ZlZAgwU2VsbEV4ZWN1dGVkAAAkDHdobwAgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CDRodWJfYW1vdW50X2luCDhodWJfYW1vdW50X291dAhAYXNzZXRfZmVlX2Ftb3VudAhMcHJvdG9jb2xfZmVlX2Ftb3VudAgsQnV5RXhlY3V0ZWQAACQMd2hvACBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQINGh1Yl9hbW91bnRfaW4IOGh1Yl9hbW91bnRfb3V0CEBhc3NldF9mZWVfYW1vdW50CExwcm90b2NvbF9mZWVfYW1vdW50CDxQb3NpdGlvbkNyZWF0ZWQAABgscG9zaXRpb25faWQIFG93bmVyABRhc3NldAQYYW1vdW50CBhzaGFyZXMIFHByaWNlCERQb3NpdGlvbkRlc3Ryb3llZAAACCxwb3NpdGlvbl9pZAgUb3duZXIAPFBvc2l0aW9uVXBkYXRlZAAAGCxwb3NpdGlvbl9pZAgUb3duZXIAFGFzc2V0BBhhbW91bnQIGHNoYXJlcwgUcHJpY2UIUFRyYWRhYmxlU3RhdGVVcGRhdGVkAAAIIGFzc2V0X2lkBBRzdGF0ZQQ0QXNzZXRSZWZ1bmRlZAAADCBhc3NldF9pZAQYYW1vdW50CCRyZWNpcGllbnQAVEFzc2V0V2VpZ2h0Q2FwVXBkYXRlZAAACCBhc3NldF9pZAQMY2FwBAIIRFRyYW5zYWN0aW9uUGF1c2VkAAAIRHBhbGxldF9uYW1lX2J5dGVzJExmdW5jdGlvbl9uYW1lX2J5dGVzJExUcmFuc2FjdGlvblVucGF1c2VkAAAIRHBhbGxldF9uYW1lX2J5dGVzJExmdW5jdGlvbl9uYW1lX2J5dGVzJAIMGER1c3RlZAAACAx3aG8AGGFtb3VudAgUQWRkZWQAAAQMd2hvABxSZW1vdmVkAAAEDHdobwACDFxHbG9iYWxGYXJtQWNjUlBaVXBkYXRlZAAADDhnbG9iYWxfZmFybV9pZAQ8YWNjdW11bGF0ZWRfcnB6CDh0b3RhbF9zaGFyZXNfeghcWWllbGRGYXJtQWNjUlBWU1VwZGF0ZWQAABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEQGFjY3VtdWxhdGVkX3JwdnMITHRvdGFsX3ZhbHVlZF9zaGFyZXMIVEFsbFJld2FyZHNEaXN0cmlidXRlZAAABDhnbG9iYWxfZmFybV9pZAQACGRpbml0aWFsX3Jld2FyZF9wZXJjZW50YWdlCChzY2FsZV9jb2VmBAYlAgI0REdsb2JhbEZhcm1DcmVhdGVkAAAoCGlkBBRvd25lcgA0dG90YWxfcmV3YXJkcwg8cmV3YXJkX2N1cnJlbmN5BEB5aWVsZF9wZXJfcGVyaW9kCGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMERGJsb2Nrc19wZXJfcGVyaW9kBFRtYXhfcmV3YXJkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CFRscm5hX3ByaWNlX2FkanVzdG1lbnQIREdsb2JhbEZhcm1VcGRhdGVkAAAQCGlkBGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMEQHlpZWxkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CFBHbG9iYWxGYXJtVGVybWluYXRlZAAAEDhnbG9iYWxfZmFybV9pZAQMd2hvADxyZXdhcmRfY3VycmVuY3kEVHVuZGlzdHJpYnV0ZWRfcmV3YXJkcwhAWWllbGRGYXJtQ3JlYXRlZAAAFDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQgYXNzZXRfaWQEKG11bHRpcGxpZXIINGxveWFsdHlfY3VydmUpAkBZaWVsZEZhcm1VcGRhdGVkAAAUOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQMd2hvAChtdWx0aXBsaWVyCEBZaWVsZEZhcm1TdG9wcGVkAAAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQMd2hvAEBZaWVsZEZhcm1SZXN1bWVkAAAUOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQMd2hvAChtdWx0aXBsaWVyCExZaWVsZEZhcm1UZXJtaW5hdGVkAAAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQMd2hvADxTaGFyZXNEZXBvc2l0ZWQAABw4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGRlcG9zaXRfaWQIIGFzc2V0X2lkBAx3aG8ANHNoYXJlc19hbW91bnQILHBvc2l0aW9uX2lkCERTaGFyZXNSZWRlcG9zaXRlZAAAHDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoZGVwb3NpdF9pZAggYXNzZXRfaWQEDHdobwA0c2hhcmVzX2Ftb3VudAgscG9zaXRpb25faWQINFJld2FyZENsYWltZWQAABg4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAcY2xhaW1lZAg8cmV3YXJkX2N1cnJlbmN5BChkZXBvc2l0X2lkCDxTaGFyZXNXaXRoZHJhd24AABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAYYW1vdW50CChkZXBvc2l0X2lkCEBEZXBvc2l0RGVzdHJveWVkAAAIDHdobwAoZGVwb3NpdF9pZAgCECRDYW5jZWxsZWQAAAQgb3JkZXJfaWQEGEZpbGxlZAAAFCBvcmRlcl9pZAQMd2hvACRhbW91bnRfaW4IKGFtb3VudF9vdXQIDGZlZQg8UGFydGlhbGx5RmlsbGVkAAAUIG9yZGVyX2lkBAx3aG8AJGFtb3VudF9pbggoYW1vdW50X291dAgMZmVlCBhQbGFjZWQAABggb3JkZXJfaWQEIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbggoYW1vdW50X291dAhIcGFydGlhbGx5X2ZpbGxhYmxlFAQEAQgGNQICGFxUcmFkZVZvbHVtZUxpbWl0Q2hhbmdlZAAACCBhc3NldF9pZARIdHJhZGVfdm9sdW1lX2xpbWl0NQJgQWRkTGlxdWlkaXR5TGltaXRDaGFuZ2VkAAAIIGFzc2V0X2lkBDxsaXF1aWRpdHlfbGltaXQ5AmxSZW1vdmVMaXF1aWRpdHlMaW1pdENoYW5nZWQAAAggYXNzZXRfaWQEPGxpcXVpZGl0eV9saW1pdDkCNEFzc2V0TG9ja2Rvd24AAAggYXNzZXRfaWQEFHVudGlsBFBBc3NldExvY2tkb3duUmVtb3ZlZAAABCBhc3NldF9pZAQ8RGVwb3NpdFJlbGVhc2VkAAAIDHdobwAgYXNzZXRfaWQEBAQAAgggRXhlY3V0ZWQAABQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CCBldmVudF9pZAQwUm91dGVVcGRhdGVkAAAEJGFzc2V0X2lkc0ECABAcbWluX2ZlZQQcbWF4X2ZlZQQUZGVjYXkINGFtcGxpZmljYXRpb24IAggURml4ZWQAAAgkYXNzZXRfZmVlBDBwcm90b2NvbF9mZWUEHER5bmFtaWMAAAhAYXNzZXRfZmVlX3BhcmFtc0kCTHByb3RvY29sX2ZlZV9wYXJhbXNJAgIIREFzc2V0RmVlQ29uZmlnU2V0AAAIIGFzc2V0X2lkBBhwYXJhbXNNAlRBc3NldEZlZUNvbmZpZ1JlbW92ZWQAAAQgYXNzZXRfaWQEAhg8UG9zaXRpb25DcmVhdGVkAAAMDHdobwAscG9zaXRpb25faWQIFHN0YWtlCChTdGFrZUFkZGVkAAAcDHdobwAscG9zaXRpb25faWQIFHN0YWtlCCx0b3RhbF9zdGFrZQg4bG9ja2VkX3Jld2FyZHMIOHNsYXNoZWRfcG9pbnRzCEhwYXlhYmxlX3BlcmNlbnRhZ2UIOFJld2FyZHNDbGFpbWVkAAAcDHdobwAscG9zaXRpb25faWQIMHBhaWRfcmV3YXJkcwhAdW5sb2NrZWRfcmV3YXJkcwg4c2xhc2hlZF9wb2ludHMIWHNsYXNoZWRfdW5wYWlkX3Jld2FyZHMISHBheWFibGVfcGVyY2VudGFnZQggVW5zdGFrZWQAAAwMd2hvACxwb3NpdGlvbl9pZAg4dW5sb2NrZWRfc3Rha2UISFN0YWtpbmdJbml0aWFsaXplZAAABFBub25fZHVzdGFibGVfYmFsYW5jZQhUQWNjdW11bGF0ZWRScHNVcGRhdGVkAAAIPGFjY3VtdWxhdGVkX3JwcwgsdG90YWxfc3Rha2UIBAgBCAUBIAIYJExhc3RCbG9jawABBRRTaG9ydAABBShUZW5NaW51dGVzAAEFEEhvdXIAAQUMRGF5AAEFEFdlZWsAAQUDDF0CYQIEAgwUVmFsdWUBWQIYT3JhY2xlAWUCIE1NT3JhY2xlAfEBBGkCAARZAgAADBhzb3VyY2VtAjhtYXhfcGVnX3VwZGF0ZQQcY3VycmVudHECBnUCAAggYXNzZXRfaWQEGGFtb3VudAgEfQIAAiwsUG9vbENyZWF0ZWQAABQccG9vbF9pZAQYYXNzZXRzQQI0YW1wbGlmaWNhdGlvbgQMZmVlBAxwZWd5AihGZWVVcGRhdGVkAAAIHHBvb2xfaWQEDGZlZQQ4TGlxdWlkaXR5QWRkZWQAABAccG9vbF9pZAQMd2hvABhzaGFyZXMIGGFzc2V0c4ECQExpcXVpZGl0eVJlbW92ZWQAABQccG9vbF9pZAQMd2hvABhzaGFyZXMIHGFtb3VudHOBAgxmZWUIMFNlbGxFeGVjdXRlZAAAHAx3aG8AHHBvb2xfaWQEIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbggoYW1vdW50X291dAgMZmVlCCxCdXlFeGVjdXRlZAAAHAx3aG8AHHBvb2xfaWQEIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbggoYW1vdW50X291dAgMZmVlCFBUcmFkYWJsZVN0YXRlVXBkYXRlZAAADBxwb29sX2lkBCBhc3NldF9pZAQUc3RhdGUEVEFtcGxpZmljYXRpb25DaGFuZ2luZwAAFBxwb29sX2lkBFRjdXJyZW50X2FtcGxpZmljYXRpb24ETGZpbmFsX2FtcGxpZmljYXRpb24ELHN0YXJ0X2Jsb2NrBCRlbmRfYmxvY2sENFBvb2xEZXN0cm95ZWQAAAQccG9vbF9pZARQUG9vbFBlZ1NvdXJjZVVwZGF0ZWQAAAwccG9vbF9pZAQgYXNzZXRfaWQEKHBlZ19zb3VyY2VpAlxQb29sTWF4UGVnVXBkYXRlVXBkYXRlZAAACBxwb29sX2lkBDhtYXhfcGVnX3VwZGF0ZQQCDDBUb2tlbkNyZWF0ZWQAABAYaXNzdWVyACBhc3NldF9pZAQcYm9uZF9pZAQgbWF0dXJpdHkIGElzc3VlZAAAEBhpc3N1ZXIAHGJvbmRfaWQEGGFtb3VudAgMZmVlCCBSZWRlZW1lZAAADAx3aG8AHGJvbmRfaWQEGGFtb3VudAgCBCBFeGVjdXRlZAAACCBhc3NldF9pZAQYcHJvZml0CAIEGExpbmVhcgABBQAoFG93bmVyABRzdGFydOUBDGVuZOUBGGFzc2V0czUCOGluaXRpYWxfd2VpZ2h0BDBmaW5hbF93ZWlnaHQEMHdlaWdodF9jdXJ2ZZECDGZlZTUCNGZlZV9jb2xsZWN0b3IAMHJlcGF5X3RhcmdldAgCGCxQb29sQ3JlYXRlZAAACBBwb29sABBkYXRhlQIsUG9vbFVwZGF0ZWQAAAgQcG9vbAAQZGF0YZUCOExpcXVpZGl0eUFkZGVkAAAUDHdobwAcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EIIGFtb3VudF9iCEBMaXF1aWRpdHlSZW1vdmVkAAAUDHdobwAcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EIIGFtb3VudF9iCDBTZWxsRXhlY3V0ZWQAABwMd2hvACBhc3NldF9pbgQkYXNzZXRfb3V0BBhhbW91bnQIKHNhbGVfcHJpY2UIJGZlZV9hc3NldAQoZmVlX2Ftb3VudAgsQnV5RXhlY3V0ZWQAABwMd2hvACRhc3NldF9vdXQEIGFzc2V0X2luBBhhbW91bnQIJGJ1eV9wcmljZQgkZmVlX2Fzc2V0BChmZWVfYW1vdW50CAIYOExpcXVpZGl0eUFkZGVkAAAUDHdobwAcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EIIGFtb3VudF9iCEBMaXF1aWRpdHlSZW1vdmVkAAAQDHdobwAcYXNzZXRfYQQcYXNzZXRfYgQYc2hhcmVzCCxQb29sQ3JlYXRlZAAAGAx3aG8AHGFzc2V0X2EEHGFzc2V0X2IEVGluaXRpYWxfc2hhcmVzX2Ftb3VudAgsc2hhcmVfdG9rZW4EEHBvb2wANFBvb2xEZXN0cm95ZWQAABQMd2hvABxhc3NldF9hBBxhc3NldF9iBCxzaGFyZV90b2tlbgQQcG9vbAAwU2VsbEV4ZWN1dGVkAAAgDHdobwAgYXNzZXRfaW4EJGFzc2V0X291dAQYYW1vdW50CChzYWxlX3ByaWNlCCRmZWVfYXNzZXQEKGZlZV9hbW91bnQIEHBvb2wALEJ1eUV4ZWN1dGVkAAAgDHdobwAkYXNzZXRfb3V0BCBhc3NldF9pbgQYYW1vdW50CCRidXlfcHJpY2UIJGZlZV9hc3NldAQoZmVlX2Ftb3VudAgQcG9vbAACGBBOb25lAAEFFFRpZXIwAAEFFFRpZXIxAAEFFFRpZXIyAAEFFFRpZXIzAAEFFFRpZXI0AAEFAAwgcmVmZXJyZXIEGHRyYWRlcgQgZXh0ZXJuYWwEAhg4Q29kZVJlZ2lzdGVyZWQAAAgQY29kZSQcYWNjb3VudAAoQ29kZUxpbmtlZAAADBxhY2NvdW50ABBjb2RlJEByZWZlcnJhbF9hY2NvdW50ACRDb252ZXJ0ZWQAAAgQZnJvbX0CCHRvfQIcQ2xhaW1lZAAADAx3aG8AQHJlZmVycmVyX3Jld2FyZHMINHRyYWRlX3Jld2FyZHMITEFzc2V0UmV3YXJkc1VwZGF0ZWQAAAwgYXNzZXRfaWQEFGxldmVsoQIccmV3YXJkc6UCHExldmVsVXAAAAgMd2hvABRsZXZlbKECAgQoTGlxdWlkYXRlZAAAFBB1c2Vy8QFAY29sbGF0ZXJhbF9hc3NldAQoZGVidF9hc3NldAQ0ZGVidF90b19jb3ZlcggYcHJvZml0CAIUPENvbGxhdGVyYWxBZGRlZAAAGCBhc3NldF9pZAQccG9vbF9pZAQwcHVyY2hhc2VfZmVlBGRtYXhfYnV5X3ByaWNlX2NvZWZmaWNpZW50CDBidXlfYmFja19mZWUEMGJ1eWJhY2tfcmF0ZQREQ29sbGF0ZXJhbFJlbW92ZWQAAAQgYXNzZXRfaWQERENvbGxhdGVyYWxVcGRhdGVkAAAUIGFzc2V0X2lkBDBwdXJjaGFzZV9mZWXlAWRtYXhfYnV5X3ByaWNlX2NvZWZmaWNpZW50nQEwYnV5X2JhY2tfZmVl5QEwYnV5YmFja19yYXRl5QFEQXJiaXRyYWdlRXhlY3V0ZWQAABAkYXJiaXRyYWdlBCBhc3NldF9pZAQ0aG9sbGFyX2Ftb3VudAgYcHJvZml0CDhGbGFzaE1pbnRlclNldAAABDBmbGFzaF9taW50ZXLxAQJEHEVuZG93ZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CCBEdXN0TG9zdAAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIIFRyYW5zZmVyAAAQLGN1cnJlbmN5X2lkBBBmcm9tAAh0bwAYYW1vdW50CCBSZXNlcnZlZAAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIKFVucmVzZXJ2ZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CEhSZXNlcnZlUmVwYXRyaWF0ZWQAABQsY3VycmVuY3lfaWQEEGZyb20ACHRvABhhbW91bnQIGHN0YXR1c1EBKEJhbGFuY2VTZXQAABAsY3VycmVuY3lfaWQEDHdobwAQZnJlZQggcmVzZXJ2ZWQIQFRvdGFsSXNzdWFuY2VTZXQAAAgsY3VycmVuY3lfaWQEGGFtb3VudAgkV2l0aGRyYXduAAAMLGN1cnJlbmN5X2lkBAx3aG8AGGFtb3VudAgcU2xhc2hlZAAAECxjdXJyZW5jeV9pZAQMd2hvACxmcmVlX2Ftb3VudAg8cmVzZXJ2ZWRfYW1vdW50CCREZXBvc2l0ZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CBxMb2NrU2V0AAAQHGxvY2tfaWRdAixjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQILExvY2tSZW1vdmVkAAAMHGxvY2tfaWRdAixjdXJyZW5jeV9pZAQMd2hvABhMb2NrZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CCBVbmxvY2tlZAAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIGElzc3VlZAAACCxjdXJyZW5jeV9pZAQYYW1vdW50CCRSZXNjaW5kZWQAAAgsY3VycmVuY3lfaWQEGGFtb3VudAgCECxUcmFuc2ZlcnJlZAAAECxjdXJyZW5jeV9pZAQQZnJvbQAIdG8AGGFtb3VudAg4QmFsYW5jZVVwZGF0ZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CCREZXBvc2l0ZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CCRXaXRoZHJhd24AAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CAAQFHN0YXJ0BBhwZXJpb2QEMHBlcmlvZF9jb3VudAQocGVyX3BlcmlvZAgCDFBWZXN0aW5nU2NoZWR1bGVBZGRlZAAADBBmcm9tAAh0bwBAdmVzdGluZ19zY2hlZHVsZb0CHENsYWltZWQAAAgMd2hvABhhbW91bnQIXFZlc3RpbmdTY2hlZHVsZXNVcGRhdGVkAAAEDHdobwAEIAAADBxhZGRyZXNz8QEYdG9waWNzxQIQZGF0YSQCFAxMb2cAAAQMbG9nyQIcQ3JlYXRlZAAABBxhZGRyZXNz8QE0Q3JlYXRlZEZhaWxlZAAABBxhZGRyZXNz8QEgRXhlY3V0ZWQAAAQcYWRkcmVzc/EBOEV4ZWN1dGVkRmFpbGVkAAAEHGFkZHJlc3PxAQIMHFN0b3BwZWQAAQUgUmV0dXJuZWQAAQUgU3VpY2lkZWQAAQUBAQJAOFN0YWNrVW5kZXJmbG93AAEFNFN0YWNrT3ZlcmZsb3cAAQUsSW52YWxpZEp1bXAAAQUwSW52YWxpZFJhbmdlAAEFRERlc2lnbmF0ZWRJbnZhbGlkAAEFLENhbGxUb29EZWVwAAEFPENyZWF0ZUNvbGxpc2lvbgABBUxDcmVhdGVDb250cmFjdExpbWl0AAEFLEludmFsaWRDb2RlAQQsT3V0T2ZPZmZzZXQAAQUgT3V0T2ZHYXMAAQUkT3V0T2ZGdW5kAAEFLFBDVW5kZXJmbG93AAEFLENyZWF0ZUVtcHR5AAEFFE90aGVyAdUCIE1heE5vbmNlAAEFAgQgUmV2ZXJ0ZWQAAQUCEDBOb3RTdXBwb3J0ZWQAAQVIVW5oYW5kbGVkSW50ZXJydXB0AAEFQENhbGxFcnJvckFzRmF0YWwB2QIUT3RoZXIB1QICEBxTdWNjZWVkAdECFEVycm9yAdkCGFJldmVydAHdAhRGYXRhbAHhAgIEIEV4ZWN1dGVkAAAUEGZyb23xAQh0b/EBQHRyYW5zYWN0aW9uX2hhc2ggLGV4aXRfcmVhc29u5QIoZXh0cmFfZGF0YSQCFBRCb3VuZAAACBxhY2NvdW50ABxhZGRyZXNz8QE0RGVwbG95ZXJBZGRlZAAABAx3aG/xATxEZXBsb3llclJlbW92ZWQAAAQMd2hv8QFAQ29udHJhY3RBcHByb3ZlZAAABBxhZGRyZXNz8QFMQ29udHJhY3REaXNhcHByb3ZlZAAABBxhZGRyZXNz8QEACCBhc3NldF9pbgQkYXNzZXRfb3V0BAI0REdsb2JhbEZhcm1DcmVhdGVkAAAsCGlkBBRvd25lcgA0dG90YWxfcmV3YXJkcwg8cmV3YXJkX2N1cnJlbmN5BEB5aWVsZF9wZXJfcGVyaW9kCGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMERGJsb2Nrc19wZXJfcGVyaW9kBEhpbmNlbnRpdml6ZWRfYXNzZXQEVG1heF9yZXdhcmRfcGVyX3BlcmlvZAgsbWluX2RlcG9zaXQIQHByaWNlX2FkanVzdG1lbnQIREdsb2JhbEZhcm1VcGRhdGVkAAAICGlkBEBwcmljZV9hZGp1c3RtZW50CEBZaWVsZEZhcm1DcmVhdGVkAAAUOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChtdWx0aXBsaWVyCChhc3NldF9wYWly8QI0bG95YWx0eV9jdXJ2ZSkCUEdsb2JhbEZhcm1UZXJtaW5hdGVkAAAQOGdsb2JhbF9mYXJtX2lkBAx3aG8APHJld2FyZF9jdXJyZW5jeQRUdW5kaXN0cmlidXRlZF9yZXdhcmRzCDxTaGFyZXNEZXBvc2l0ZWQAABg4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAYYW1vdW50CCBscF90b2tlbgQoZGVwb3NpdF9pZAhEU2hhcmVzUmVkZXBvc2l0ZWQAABg4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAYYW1vdW50CCBscF90b2tlbgQoZGVwb3NpdF9pZAg0UmV3YXJkQ2xhaW1lZAAAGDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvABxjbGFpbWVkCDxyZXdhcmRfY3VycmVuY3kEKGRlcG9zaXRfaWQIPFNoYXJlc1dpdGhkcmF3bgAAGDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvACBscF90b2tlbgQYYW1vdW50CChkZXBvc2l0X2lkCEBZaWVsZEZhcm1TdG9wcGVkAAAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AKGFzc2V0X3BhaXLxAkBZaWVsZEZhcm1SZXN1bWVkAAAUOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AKGFzc2V0X3BhaXLxAihtdWx0aXBsaWVyCExZaWVsZEZhcm1UZXJtaW5hdGVkAAAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AKGFzc2V0X3BhaXLxAkBZaWVsZEZhcm1VcGRhdGVkAAAUOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AKGFzc2V0X3BhaXLxAihtdWx0aXBsaWVyCEBEZXBvc2l0RGVzdHJveWVkAAAIDHdobwAoZGVwb3NpdF9pZAgCBExDdXJyZW50QmxvY2tOdW1iZXJzAAAIWHBhcmFjaGFpbl9ibG9ja19udW1iZXIEXHJlbGF5Y2hhaW5fYmxvY2tfbnVtYmVyBAIYDFhZSwABBQxMQlAAAQUoU3RhYmxlc3dhcAEEIE9tbmlwb29sAAEFEEFhdmUAAQUMSFNNAAEFAAwQcG9vbP0CIGFzc2V0X2luBCRhc3NldF9vdXQEBAEDAAIIEFNlbGwAABQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCDhtaW5fYW1vdW50X291dAgUcm91dGUFAwxCdXkAABQgYXNzZXRfaW4EJGFzc2V0X291dAQoYW1vdW50X291dAg0bWF4X2Ftb3VudF9pbggUcm91dGUFAwIkQEV4ZWN1dGlvblN0YXJ0ZWQAAAgIaWQEFGJsb2NrBCRTY2hlZHVsZWQAABQIaWQEDHdobwAYcGVyaW9kBDB0b3RhbF9hbW91bnQIFG9yZGVyCQNARXhlY3V0aW9uUGxhbm5lZAAADAhpZAQMd2hvABRibG9jawQ0VHJhZGVFeGVjdXRlZAAAEAhpZAQMd2hvACRhbW91bnRfaW4IKGFtb3VudF9vdXQILFRyYWRlRmFpbGVkAAAMCGlkBAx3aG8AFGVycm9ySQEoVGVybWluYXRlZAAADAhpZAQMd2hvABRlcnJvckkBJENvbXBsZXRlZAAACAhpZAQMd2hvAGhSYW5kb21uZXNzR2VuZXJhdGlvbkZhaWxlZAAACBRibG9jawQUZXJyb3JJATxSZXNlcnZlVW5sb2NrZWQAAAgMd2hvACBhc3NldF9pZAQGIAIkJFNjaGVkdWxlZAAACBB3aGVuBBRpbmRleAQgQ2FuY2VsZWQAAAgQd2hlbgQUaW5kZXgEKERpc3BhdGNoZWQAAAwQdGFzazUCCGlkEQMYcmVzdWx0ZQEgUmV0cnlTZXQAABAQdGFzazUCCGlkEQMYcGVyaW9kBBxyZXRyaWVzBDhSZXRyeUNhbmNlbGxlZAAACBB0YXNrNQIIaWQRAzxDYWxsVW5hdmFpbGFibGUAAAgQdGFzazUCCGlkEQM4UGVyaW9kaWNGYWlsZWQAAAgQdGFzazUCCGlkEQMsUmV0cnlGYWlsZWQAAAgQdGFzazUCCGlkEQNUUGVybWFuZW50bHlPdmVyd2VpZ2h0AAAIEHRhc2s1AghpZBEDAhhgVmFsaWRhdGlvbkZ1bmN0aW9uU3RvcmVkAAEFZFZhbGlkYXRpb25GdW5jdGlvbkFwcGxpZWQAAARUcmVsYXlfY2hhaW5fYmxvY2tfbnVtBGxWYWxpZGF0aW9uRnVuY3Rpb25EaXNjYXJkZWQAAQVgRG93bndhcmRNZXNzYWdlc1JlY2VpdmVkAAAEFGNvdW50BGREb3dud2FyZE1lc3NhZ2VzUHJvY2Vzc2VkAAAILHdlaWdodF91c2VkGCBkbXFfaGVhZCBEVXB3YXJkTWVzc2FnZVNlbnQAAAQwbWVzc2FnZV9oYXNoEQMCoCBPdmVyZmxvdwABBTRVbmltcGxlbWVudGVkAAEFYFVudHJ1c3RlZFJlc2VydmVMb2NhdGlvbgABBWRVbnRydXN0ZWRUZWxlcG9ydExvY2F0aW9uAAEFMExvY2F0aW9uRnVsbAABBVRMb2NhdGlvbk5vdEludmVydGlibGUAAQUkQmFkT3JpZ2luAAEFPEludmFsaWRMb2NhdGlvbgABBTRBc3NldE5vdEZvdW5kAAEFVEZhaWxlZFRvVHJhbnNhY3RBc3NldAABBTxOb3RXaXRoZHJhd2FibGUAAQVITG9jYXRpb25DYW5ub3RIb2xkAAEFVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQABBVhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAAEFJFRyYW5zcG9ydAABBShVbnJvdXRhYmxlAAEFMFVua25vd25DbGFpbQABBThGYWlsZWRUb0RlY29kZQABBUBNYXhXZWlnaHRJbnZhbGlkAAEFOE5vdEhvbGRpbmdGZWVzAAEFMFRvb0V4cGVuc2l2ZQABBRBUcmFwAQhARXhwZWN0YXRpb25GYWxzZQABBThQYWxsZXROb3RGb3VuZAABBTBOYW1lTWlzbWF0Y2gAAQVMVmVyc2lvbkluY29tcGF0aWJsZQABBVBIb2xkaW5nV291bGRPdmVyZmxvdwABBSxFeHBvcnRFcnJvcgABBThSZWFuY2hvckZhaWxlZAABBRhOb0RlYWwAAQUoRmVlc05vdE1ldAABBSRMb2NrRXJyb3IAAQUwTm9QZXJtaXNzaW9uAAEFKFVuYW5jaG9yZWQAAQU4Tm90RGVwb3NpdGFibGUAAQVMVW5oYW5kbGVkWGNtVmVyc2lvbgABBUhXZWlnaHRMaW1pdFJlYWNoZWQBGBxCYXJyaWVyAAEFTFdlaWdodE5vdENvbXB1dGFibGUAAQVERXhjZWVkc1N0YWNrTGltaXQAAQUCDCBDb21wbGV0ZQAABBB1c2VkGChJbmNvbXBsZXRlAAAIEHVzZWQYFGVycm9yHQMURXJyb3IAAAQUZXJyb3IdAwUBQAIYJFVuZGVmaW5lZAABBRRJbmRleAEIGEFycmF5NAEoGEFycmF5OAFdAhxBcnJheTE2ASUDHEFycmF5MzIBIAIIIEZ1bmdpYmxlAQgsTm9uRnVuZ2libGUBKQMACAhpZAUCDGZ1bi0DBDEDAAMIBB0DBjkDABgUaW5kZXgEEG5hbWUkLG1vZHVsZV9uYW1lJBRtYWpvcgQUbWlub3IEFHBhdGNoBARBAwACDBxTdWNjZXNzAAEFFEVycm9yASQ4VHJ1bmNhdGVkRXJyb3IBJAIYEE51bGwAAQUYQXNzZXRzATUDPEV4ZWN1dGlvblJlc3VsdAE9AxxWZXJzaW9uAQQsUGFsbGV0c0luZm8BRQM4RGlzcGF0Y2hSZXN1bHQBSQMGBQICEBhOYXRpdmUAAQVAU292ZXJlaWduQWNjb3VudAABBSRTdXBlcnVzZXIAAQUMWGNtAAEFAAwsZGVzdGluYXRpb24FAiBxdWVyeV9pZAgobWF4X3dlaWdodBgCCCBGdW5naWJsZQABBSxOb25GdW5naWJsZQABBQIQDEFsbAABBRRBbGxPZgAACAhpZAUCDGZ1bl0DKEFsbENvdW50ZWQBBDBBbGxPZkNvdW50ZWQAAAwIaWQFAgxmdW5dAxRjb3VudAQCCCBEZWZpbml0ZQE1AxBXaWxkAWEDAggkVW5saW1pdGVkAAEFHExpbWl0ZWQBGALANFdpdGhkcmF3QXNzZXQBNQNUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkATUDWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQBNQM0UXVlcnlSZXNwb25zZQAAECBxdWVyeV9pZAggcmVzcG9uc2VNAyhtYXhfd2VpZ2h0GBxxdWVyaWVyUQM0VHJhbnNmZXJBc3NldAAACBhhc3NldHM1AyxiZW5lZmljaWFyeQUCUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0AAAMGGFzc2V0czUDEGRlc3QFAgx4Y21xAyBUcmFuc2FjdAAADCxvcmlnaW5fa2luZFUDWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3QYEGNhbGwkZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QAAAwYc2VuZGVyBEBtYXhfbWVzc2FnZV9zaXplBDBtYXhfY2FwYWNpdHkETEhybXBDaGFubmVsQWNjZXB0ZWQAAAQkcmVjaXBpZW50BEhIcm1wQ2hhbm5lbENsb3NpbmcAAAwkaW5pdGlhdG9yBBhzZW5kZXIEJHJlY2lwaWVudAQsQ2xlYXJPcmlnaW4AAQU0RGVzY2VuZE9yaWdpbgEBAixSZXBvcnRFcnJvcgFZAzBEZXBvc2l0QXNzZXQAAAgYYXNzZXRzZQMsYmVuZWZpY2lhcnkFAkxEZXBvc2l0UmVzZXJ2ZUFzc2V0AAAMGGFzc2V0c2UDEGRlc3QFAgx4Y21xAzRFeGNoYW5nZUFzc2V0AAAMEGdpdmVlAxB3YW50NQMcbWF4aW1hbBRcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcAAAwYYXNzZXRzZQMccmVzZXJ2ZQUCDHhjbXEDQEluaXRpYXRlVGVsZXBvcnQAAAwYYXNzZXRzZQMQZGVzdAUCDHhjbXEDNFJlcG9ydEhvbGRpbmcAAAg0cmVzcG9uc2VfaW5mb1kDGGFzc2V0c2UDMEJ1eUV4ZWN1dGlvbgAACBBmZWVzMQMwd2VpZ2h0X2xpbWl0aQM0UmVmdW5kU3VycGx1cwABBTxTZXRFcnJvckhhbmRsZXIBcQMsU2V0QXBwZW5kaXgBcQMoQ2xlYXJFcnJvcgABBShDbGFpbUFzc2V0AAAIGGFzc2V0czUDGHRpY2tldAUCEFRyYXABCEBTdWJzY3JpYmVWZXJzaW9uAAAIIHF1ZXJ5X2lkCExtYXhfcmVzcG9uc2Vfd2VpZ2h0GEhVbnN1YnNjcmliZVZlcnNpb24AAQUkQnVybkFzc2V0ATUDLEV4cGVjdEFzc2V0ATUDMEV4cGVjdE9yaWdpbgFRAyxFeHBlY3RFcnJvcgE9A1BFeHBlY3RUcmFuc2FjdFN0YXR1cwFJAyxRdWVyeVBhbGxldAAACCxtb2R1bGVfbmFtZSQ0cmVzcG9uc2VfaW5mb1kDMEV4cGVjdFBhbGxldAAAFBRpbmRleAQQbmFtZSQsbW9kdWxlX25hbWUkLGNyYXRlX21ham9yBDxtaW5fY3JhdGVfbWlub3IEUFJlcG9ydFRyYW5zYWN0U3RhdHVzAVkDTENsZWFyVHJhbnNhY3RTdGF0dXMAAQU8VW5pdmVyc2FsT3JpZ2luAf0BNEV4cG9ydE1lc3NhZ2UAAAwcbmV0d29ya+kBLGRlc3RpbmF0aW9uAQIMeGNtcQMkTG9ja0Fzc2V0AAAIFGFzc2V0MQMgdW5sb2NrZXIFAixVbmxvY2tBc3NldAAACBRhc3NldDEDGHRhcmdldAUCOE5vdGVVbmxvY2thYmxlAAAIFGFzc2V0MQMUb3duZXIFAjRSZXF1ZXN0VW5sb2NrAAAIFGFzc2V0MQMYbG9ja2VyBQIsU2V0RmVlc01vZGUAAAQwaml0X3dpdGhkcmF3FCBTZXRUb3BpYwEgKENsZWFyVG9waWMAAQUsQWxpYXNPcmlnaW4BBQI8VW5wYWlkRXhlY3V0aW9uAAAIMHdlaWdodF9saW1pdGkDMGNoZWNrX29yaWdpblEDBG0DAAIQDEFueQABBRROYW1lZAEkIFBvbGthZG90AAEFGEt1c2FtYQABBQIoEFVuaXQAAQUUTmFtZWQBJBRJbmRleAEEJEV4ZWN1dGl2ZQABBSRUZWNobmljYWwAAQUsTGVnaXNsYXRpdmUAAQUgSnVkaWNpYWwAAQUcRGVmZW5zZQABBThBZG1pbmlzdHJhdGlvbgABBSBUcmVhc3VyeQABBQIkJFBhcmFjaGFpbgEELEFjY291bnRJZDMyAAAIHG5ldHdvcmt1AwhpZCA4QWNjb3VudEluZGV4NjQAAAgcbmV0d29ya3UDFGluZGV4CDBBY2NvdW50S2V5MjAAAAgcbmV0d29ya3UDDGtlefEBOFBhbGxldEluc3RhbmNlAQQwR2VuZXJhbEluZGV4AQgoR2VuZXJhbEtleQEkJE9ubHlDaGlsZAABBSRQbHVyYWxpdHkAAAgIaWR5AxBwYXJ0+QECJBBIZXJlAAEFCFgxAX0DCFgyAAR9AwEICFgzAAR9AwEMCFg0AAR9AwEQCFg1AAR9AwEUCFg2AAR9AwEYCFg3AAR9AwEcCFg4AAR9AwEgAAgccGFyZW50cwQgaW50ZXJpb3KBAwIIIENvbmNyZXRlAYUDIEFic3RyYWN0ASQCHCRVbmRlZmluZWQAAQUUSW5kZXgBCBhBcnJheTQBKBhBcnJheTgBXQIcQXJyYXkxNgElAxxBcnJheTMyASAQQmxvYgEkAgggRnVuZ2libGUBCCxOb25GdW5naWJsZQGNAwAICGlkiQMMZnVukQMElQMAAgggQ29uY3JldGUBBQIgQWJzdHJhY3QBIAAICGlknQMMZnVuLQMEoQMAAgwIVjIBmQMIVjMBpQMIVjQBNQMCDAhWMgGFAwhWMwEFAghWNAEFAgJgJEF0dGVtcHRlZAAABBxvdXRjb21lIQMQU2VudAAAEBhvcmlnaW4FAixkZXN0aW5hdGlvbgUCHG1lc3NhZ2VxAyhtZXNzYWdlX2lkIEhVbmV4cGVjdGVkUmVzcG9uc2UAAAgYb3JpZ2luBQIgcXVlcnlfaWQINFJlc3BvbnNlUmVhZHkAAAggcXVlcnlfaWQIIHJlc3BvbnNlTQMgTm90aWZpZWQAAAwgcXVlcnlfaWQIMHBhbGxldF9pbmRleAQoY2FsbF9pbmRleARATm90aWZ5T3ZlcndlaWdodAAAFCBxdWVyeV9pZAgwcGFsbGV0X2luZGV4BChjYWxsX2luZGV4BDRhY3R1YWxfd2VpZ2h0GExtYXhfYnVkZ2V0ZWRfd2VpZ2h0GExOb3RpZnlEaXNwYXRjaEVycm9yAAAMIHF1ZXJ5X2lkCDBwYWxsZXRfaW5kZXgEKGNhbGxfaW5kZXgESE5vdGlmeURlY29kZUZhaWxlZAAADCBxdWVyeV9pZAgwcGFsbGV0X2luZGV4BChjYWxsX2luZGV4BEBJbnZhbGlkUmVzcG9uZGVyAAAMGG9yaWdpbgUCIHF1ZXJ5X2lkCERleHBlY3RlZF9sb2NhdGlvblEDXEludmFsaWRSZXNwb25kZXJWZXJzaW9uAAAIGG9yaWdpbgUCIHF1ZXJ5X2lkCDRSZXNwb25zZVRha2VuAAAEIHF1ZXJ5X2lkCDRBc3NldHNUcmFwcGVkAAAMEGhhc2ggGG9yaWdpbgUCGGFzc2V0c6kDVFZlcnNpb25DaGFuZ2VOb3RpZmllZAAAECxkZXN0aW5hdGlvbgUCGHJlc3VsdAQQY29zdDUDKG1lc3NhZ2VfaWQgXFN1cHBvcnRlZFZlcnNpb25DaGFuZ2VkAAAIIGxvY2F0aW9uBQIcdmVyc2lvbgRQTm90aWZ5VGFyZ2V0U2VuZEZhaWwAAAwgbG9jYXRpb24FAiBxdWVyeV9pZAgUZXJyb3IdA2ROb3RpZnlUYXJnZXRNaWdyYXRpb25GYWlsAAAIIGxvY2F0aW9urQMgcXVlcnlfaWQIVEludmFsaWRRdWVyaWVyVmVyc2lvbgAACBhvcmlnaW4FAiBxdWVyeV9pZAg4SW52YWxpZFF1ZXJpZXIAABAYb3JpZ2luBQIgcXVlcnlfaWQIQGV4cGVjdGVkX3F1ZXJpZXIFAlBtYXliZV9hY3R1YWxfcXVlcmllclEDUFZlcnNpb25Ob3RpZnlTdGFydGVkAAAMLGRlc3RpbmF0aW9uBQIQY29zdDUDKG1lc3NhZ2VfaWQgWFZlcnNpb25Ob3RpZnlSZXF1ZXN0ZWQAAAwsZGVzdGluYXRpb24FAhBjb3N0NQMobWVzc2FnZV9pZCBgVmVyc2lvbk5vdGlmeVVucmVxdWVzdGVkAAAMLGRlc3RpbmF0aW9uBQIQY29zdDUDKG1lc3NhZ2VfaWQgIEZlZXNQYWlkAAAIGHBheWluZwUCEGZlZXM1AzRBc3NldHNDbGFpbWVkAAAMEGhhc2ggGG9yaWdpbgUCGGFzc2V0c6kDYFZlcnNpb25NaWdyYXRpb25GaW5pc2hlZAAABBx2ZXJzaW9uBAIMNEludmFsaWRGb3JtYXQBIEhVbnN1cHBvcnRlZFZlcnNpb24BIEBFeGVjdXRlZERvd253YXJkAAMIICEDAgQ8WGNtcE1lc3NhZ2VTZW50AAAEMG1lc3NhZ2VfaGFzaCACDBBIZXJlAAEFGFBhcmVudAABBRxTaWJsaW5nAQQCGCRCYWRGb3JtYXQAAQUcQ29ycnVwdAABBSxVbnN1cHBvcnRlZAABBShPdmVyd2VpZ2h0ARgUWWllbGQAAQVEU3RhY2tMaW1pdFJlYWNoZWQAAQUCEEBQcm9jZXNzaW5nRmFpbGVkAAAMCGlkIBhvcmlnaW69AxRlcnJvcsEDJFByb2Nlc3NlZAAAEAhpZCAYb3JpZ2luvQMsd2VpZ2h0X3VzZWQYHHN1Y2Nlc3MUSE92ZXJ3ZWlnaHRFbnF1ZXVlZAAAEAhpZCAYb3JpZ2luvQMocGFnZV9pbmRleAQ0bWVzc2FnZV9pbmRleAQoUGFnZVJlYXBlZAAACBhvcmlnaW69AxRpbmRleAQCBBBTZW50AAAICHRvBQIcbWVzc2FnZXEDAgREVHJhbnNmZXJyZWRBc3NldHMAABAYc2VuZGVyABhhc3NldHM1AwxmZWUxAxBkZXN0BQICCCREZXBvc2l0ZWQAAAgUYXNzZXQxAwx3aG8FAiRXaXRoZHJhd24AAAgUYXNzZXQxAwx3aG8FAgQAAAIoQE5ld0ludnVsbmVyYWJsZXMAAAQ0aW52dWxuZXJhYmxlc9UDREludnVsbmVyYWJsZUFkZGVkAAAEKGFjY291bnRfaWQATEludnVsbmVyYWJsZVJlbW92ZWQAAAQoYWNjb3VudF9pZABQTmV3RGVzaXJlZENhbmRpZGF0ZXMAAARIZGVzaXJlZF9jYW5kaWRhdGVzBEBOZXdDYW5kaWRhY3lCb25kAAAELGJvbmRfYW1vdW50CDhDYW5kaWRhdGVBZGRlZAAACChhY2NvdW50X2lkABxkZXBvc2l0CFBDYW5kaWRhdGVCb25kVXBkYXRlZAAACChhY2NvdW50X2lkABxkZXBvc2l0CEBDYW5kaWRhdGVSZW1vdmVkAAAEKGFjY291bnRfaWQARENhbmRpZGF0ZVJlcGxhY2VkAAAMDG9sZAAMbmV3ABxkZXBvc2l0CGhJbnZhbGlkSW52dWxuZXJhYmxlU2tpcHBlZAAABChhY2NvdW50X2lkAAIEKE5ld1Nlc3Npb24AAAQ0c2Vzc2lvbl9pbmRleAQCCEBBZGRlZFRvV2hpdGVsaXN0AAAIGHNvdXJjZV0CGGFzc2V0czUCUFJlbW92ZWRGcm9tV2hpdGVsaXN0AAAIGHNvdXJjZV0CGGFzc2V0czUCAhwgT21uaXBvb2wAAQUoU3RhYmxlc3dhcAEEDFhZSwEEDExCUAABBQxPVEMBBBBBQVZFAAEFDEhTTQABBQIUHEV4YWN0SW4AAQUgRXhhY3RPdXQAAQUUTGltaXQAAQUwTGlxdWlkaXR5QWRkAAEFPExpcXVpZGl0eVJlbW92ZQABBQAIFGFzc2V0BBhhbW91bnQIBO0DAAIIHEFjY291bnQBABhCdXJuZWQAAQUADBRhc3NldAQYYW1vdW50CCxkZXN0aW5hdGlvbvUDBPkDAAIYGFJvdXRlcgEEDERDQQAEBAEIFEJhdGNoAQQgT21uaXBvb2wBBCxYY21FeGNoYW5nZQEEDFhjbQADCCAEBAEEAAIEIFN3YXBwZWQzAAAgHHN3YXBwZXIAGGZpbGxlcgAsZmlsbGVyX3R5cGXlAyRvcGVyYXRpb27pAxhpbnB1dHPxAxxvdXRwdXRz8QMQZmVlc/0DPG9wZXJhdGlvbl9zdGFjawUEAvgYU3lzdGVtAU0BIEJhbGFuY2VzAVUBSFRyYW5zYWN0aW9uUGF5bWVudAFZAVxNdWx0aVRyYW5zYWN0aW9uUGF5bWVudAFdASBUcmVhc3VyeQFhARxVdGlsaXR5AWkBIFByZWltYWdlAW0BIElkZW50aXR5AXEBJERlbW9jcmFjeQGBAUhUZWNobmljYWxDb21taXR0ZWUBhQEUUHJveHkBjQEgTXVsdGlzaWcBlQEcVW5pcXVlcwGlAUhTdGF0ZVRyaWVNaWdyYXRpb24BrQFAQ29udmljdGlvblZvdGluZwG1ASRSZWZlcmVuZGEBwQEkV2hpdGVsaXN0AdUBKERpc3BhdGNoZXIB2QE0QXNzZXRSZWdpc3RyeQEJAhhDbGFpbXMBDQI8Q29sbGF0b3JSZXdhcmRzARECIE9tbmlwb29sARUCQFRyYW5zYWN0aW9uUGF1c2UBGQIYRHVzdGVyAR0CTE9tbmlwb29sV2FyZWhvdXNlTE0BIQJcT21uaXBvb2xMaXF1aWRpdHlNaW5pbmcBLQIMT1RDATECOENpcmN1aXRCcmVha2VyAT0CGFJvdXRlcgFFAixEeW5hbWljRmVlcwFRAhxTdGFraW5nAVUCKFN0YWJsZXN3YXABhQIUQm9uZHMBiQI4T3RjU2V0dGxlbWVudHMBjQIMTEJQAZkCDFhZSwGdAiRSZWZlcnJhbHMBqQIsTGlxdWlkYXRpb24BrQIMSFNNAbECGFRva2VucwG1AihDdXJyZW5jaWVzAbkCHFZlc3RpbmcBwQIMRVZNAc0CIEV0aGVyZXVtAekCLEVWTUFjY291bnRzAe0CSFhZS0xpcXVpZGl0eU1pbmluZwH1AjhYWUtXYXJlaG91c2VMTQEhAjhSZWxheUNoYWluSW5mbwH5AgxEQ0EBDQMkU2NoZWR1bGVyARUDPFBhcmFjaGFpblN5c3RlbQEZAyxQb2xrYWRvdFhjbQGxAyhDdW11bHVzWGNtAbUDJFhjbXBRdWV1ZQG5AzBNZXNzYWdlUXVldWUBxQMcT3JtbFhjbQHJAxxYVG9rZW5zAc0DNFVua25vd25Ub2tlbnMB0QNEQ29sbGF0b3JTZWxlY3Rpb24B2QMcU2Vzc2lvbgHdAyRFbWFPcmFjbGUB4QMkQnJvYWRjYXN0AQkEAAwUcGhhc2U0FGV2ZW50DQQYdG9waWNzxQIEEQQABDUCAAAIMHNwZWNfdmVyc2lvbgQkc3BlY19uYW1l1QIACCRjb2RlX2hhc2ggNGNoZWNrX3ZlcnNpb24UABA4YmFzZV9leHRyaW5zaWMYNG1heF9leHRyaW5zaWPFASRtYXhfdG90YWzFASByZXNlcnZlZMUBAAwYbm9ybWFsJQQsb3BlcmF0aW9uYWwlBCRtYW5kYXRvcnklBAAMKGJhc2VfYmxvY2sYJG1heF9ibG9jaxgkcGVyX2NsYXNzKQQADBhub3JtYWwELG9wZXJhdGlvbmFsBCRtYW5kYXRvcnkEAAgQcmVhZAgUd3JpdGUIAwhdAgQEOQQAACAkc3BlY19uYW1l1QIkaW1wbF9uYW1l1QJEYXV0aG9yaW5nX3ZlcnNpb24EMHNwZWNfdmVyc2lvbgQwaW1wbF92ZXJzaW9uBBBhcGlzPQRMdHJhbnNhY3Rpb25fdmVyc2lvbgQ0c3RhdGVfdmVyc2lvbgQEJAEIBEUEAAQkAAIMDEZlZQABBRBNaXNjAAEFDEFsbAABBQAMCGlkXQIYYW1vdW50CBxyZWFzb25zUQQEVQQAAAgIaWRdAhhhbW91bnQIBF0EAAIEIFByZWltYWdlAAEFAgQ8U2xhc2hGb3JNaWdyYXRlAAEFAgggUHJlaW1hZ2UBZQRIU3RhdGVUcmllTWlncmF0aW9uAWkEAAgIaWRtBBhhbW91bnQIBHEEAAAEGGFtb3VudAgEeQQAAgggSW5jcmVhc2UAAQUgRGVjcmVhc2UAAQUCCCRWMUFuY2llbnQAAQUIVjIAAQUECAEQABAgcHJvcG9zZXIAFHZhbHVlCCxiZW5lZmljaWFyeQAQYm9uZAgCDBxQZW5kaW5nAAEFJEF0dGVtcHRlZAAAABhGYWlsZWQAAQUAFBhhbW91bnQILGJlbmVmaWNpYXJ5ACh2YWxpZF9mcm9tBCRleHBpcmVfYXQEGHN0YXR1c5EEAiwYcmVtYXJrAAAEGHJlbWFyayQ4c2V0X2hlYXBfcGFnZXMAAAQUcGFnZXMIIHNldF9jb2RlAAAEEGNvZGUkXHNldF9jb2RlX3dpdGhvdXRfY2hlY2tzAAAEEGNvZGUkLHNldF9zdG9yYWdlAAAEFGl0ZW1zSQQwa2lsbF9zdG9yYWdlAAAEEGtleXNNBCxraWxsX3ByZWZpeAAACBhwcmVmaXgkHHN1YmtleXMERHJlbWFya193aXRoX2V2ZW50AAAEGHJlbWFyayREYXV0aG9yaXplX3VwZ3JhZGUAAAQkY29kZV9oYXNoIIBhdXRob3JpemVfdXBncmFkZV93aXRob3V0X2NoZWNrcwAABCRjb2RlX2hhc2ggYGFwcGx5X2F1dGhvcml6ZWRfdXBncmFkZQAABBBjb2RlJAIEDHNldAAABAxub3cIAiRQdHJhbnNmZXJfYWxsb3dfZGVhdGgAAAgQZGVzdAAUdmFsdWUIOGZvcmNlX3RyYW5zZmVyAAAMGHNvdXJjZQAQZGVzdAAUdmFsdWUITHRyYW5zZmVyX2tlZXBfYWxpdmUAAAgQZGVzdAAUdmFsdWUIMHRyYW5zZmVyX2FsbAAACBBkZXN0AChrZWVwX2FsaXZlFDxmb3JjZV91bnJlc2VydmUAAAgMd2hvABhhbW91bnQIQHVwZ3JhZGVfYWNjb3VudHMAAAQMd2hv1QNEZm9yY2Vfc2V0X2JhbGFuY2UAAAgMd2hvACBuZXdfZnJlZQhsZm9yY2VfYWRqdXN0X3RvdGFsX2lzc3VhbmNlAAAIJGRpcmVjdGlvboEEFGRlbHRhCBBidXJuAAAIFHZhbHVlCChrZWVwX2FsaXZlFAIUMHNldF9jdXJyZW5jeQAABCBjdXJyZW5jeQQwYWRkX2N1cnJlbmN5AAAIIGN1cnJlbmN5BBRwcmljZQg8cmVtb3ZlX2N1cnJlbmN5AAAEIGN1cnJlbmN5BFhyZXNldF9wYXltZW50X2N1cnJlbmN5AAAEKGFjY291bnRfaWQAPGRpc3BhdGNoX3Blcm1pdAAAJBBmcm9t8QEIdG/xARR2YWx1ZYkEEGRhdGEkJGdhc19saW1pdAggZGVhZGxpbmWJBAR2BARyIARzIAIYLHNwZW5kX2xvY2FsAAAIGGFtb3VudAgsYmVuZWZpY2lhcnkAPHJlbW92ZV9hcHByb3ZhbAAABCxwcm9wb3NhbF9pZAQUc3BlbmQAAAwYYW1vdW50CCxiZW5lZmljaWFyeQAodmFsaWRfZnJvbeUBGHBheW91dAAABBRpbmRleAQwY2hlY2tfc3RhdHVzAAAEFGluZGV4BCh2b2lkX3NwZW5kAAAEFGluZGV4BAIMEFJvb3QAAQUYU2lnbmVkAQAQTm9uZQABBQIMHE1lbWJlcnMABAQBCBhNZW1iZXIBACBfUGhhbnRvbQABBQIkRFdoaXRlbGlzdGVkQ2FsbGVyAAEFTFJlZmVyZW5kdW1DYW5jZWxsZXIAAQVAUmVmZXJlbmR1bUtpbGxlcgABBTBHZW5lcmFsQWRtaW4AAQU0T21uaXBvb2xBZG1pbgABBSRUcmVhc3VyZXIAAQUcU3BlbmRlcgABBRhUaXBwZXIAAQVIRWNvbm9taWNQYXJhbWV0ZXJzAAEFAgRMRXRoZXJldW1UcmFuc2FjdGlvbgHxAQIIDFhjbQEFAiBSZXNwb25zZQEFAgIIFFJlbGF5AAEFQFNpYmxpbmdQYXJhY2hhaW4BBAIcGHN5c3RlbQGtBEhUZWNobmljYWxDb21taXR0ZWUBsQQcT3JpZ2lucwG1BCBFdGhlcmV1bQG5BCxQb2xrYWRvdFhjbQG9BChDdW11bHVzWGNtAcEEEFZvaWQBkAIYFGJhdGNoAAAEFGNhbGxzAQc0YXNfZGVyaXZhdGl2ZQAACBRpbmRleAQQY2FsbP0GJGJhdGNoX2FsbAAABBRjYWxscwEHLGRpc3BhdGNoX2FzAAAIJGFzX29yaWdpbsUEEGNhbGz9Bixmb3JjZV9iYXRjaAAABBRjYWxscwEHLHdpdGhfd2VpZ2h0AAAIEGNhbGz9Bhh3ZWlnaHQYAhQ0bm90ZV9wcmVpbWFnZQAABBRieXRlcyQ8dW5ub3RlX3ByZWltYWdlAAAEEGhhc2ggQHJlcXVlc3RfcHJlaW1hZ2UAAAQQaGFzaCBIdW5yZXF1ZXN0X3ByZWltYWdlAAAEEGhhc2ggOGVuc3VyZV91cGRhdGVkAAAEGGhhc2hlc8UCBQEIBQEMBQEUBQEYBQEcBQEkBQEoBQEsBQEwBQE0BQE4BQE8BQFEBQFIBQFMBQFUBQFYBQFcBQFgBQFkBQFoBQFsBQFwBQF0BQF4BQF8ApgQTm9uZQABBRBSYXcwAZAQUmF3MQEEEFJhdzIB0QQQUmF3MwHVBBBSYXc0ASgQUmF3NQHZBBBSYXc2Ad0EEFJhdzcB4QQQUmF3OAFdAhBSYXc5AeUEFFJhdzEwAekEFFJhdzExAe0EFFJhdzEyAfEEFFJhdzEzAfUEFFJhdzE0AfkEFFJhdzE1Af0EFFJhdzE2ASUDFFJhdzE3AQEFFFJhdzE4AQUFFFJhdzE5AQkFFFJhdzIwAfEBFFJhdzIxAQ0FFFJhdzIyAREFFFJhdzIzARUFFFJhdzI0ARkFFFJhdzI1AR0FFFJhdzI2ASEFFFJhdzI3ASUFFFJhdzI4ASkFFFJhdzI5AS0FFFJhdzMwATEFFFJhdzMxATUFFFJhdzMyASAsQmxha2VUd28yNTYBIBhTaGEyNTYBICRLZWNjYWsyNTYBICxTaGFUaHJlZTI1NgEgBDkFAQgEPQUABvEBACQoYWRkaXRpb25hbEEFHGRpc3BsYXk5BRRsZWdhbDkFDHdlYjkFEHJpb3Q5BRRlbWFpbDkFPHBncF9maW5nZXJwcmludEUFFGltYWdlOQUcdHdpdHRlcjkFAwgAOQUETQUAAhwcVW5rbm93bgABBRxGZWVQYWlkAQgoUmVhc29uYWJsZQABBSRLbm93bkdvb2QAAQUkT3V0T2ZEYXRlAAEFKExvd1F1YWxpdHkAAQUkRXJyb25lb3VzAAEFBQEBAQUBBQECDBxFZDI1NTE5AVkFHFNyMjU1MTkBWQUURWNkc2EBXQUGYQUCWDRhZGRfcmVnaXN0cmFyAAAEHGFjY291bnQAMHNldF9pZGVudGl0eQAABBBpbmZvSQUgc2V0X3N1YnMAAAQQc3Vic1EFOGNsZWFyX2lkZW50aXR5AAEFRHJlcXVlc3RfanVkZ2VtZW50AAAIJHJlZ19pbmRleAQcbWF4X2ZlZQg4Y2FuY2VsX3JlcXVlc3QAAAQkcmVnX2luZGV4BBxzZXRfZmVlAAAIFGluZGV4BAxmZWUIOHNldF9hY2NvdW50X2lkAAAIFGluZGV4BAxuZXcAKHNldF9maWVsZHMAAAgUaW5kZXgEGGZpZWxkcwhEcHJvdmlkZV9qdWRnZW1lbnQAABAkcmVnX2luZGV4BBh0YXJnZXQAJGp1ZGdlbWVudFUFIGlkZW50aXR5IDRraWxsX2lkZW50aXR5AAAEGHRhcmdldAAcYWRkX3N1YgAACAxzdWIAEGRhdGE5BShyZW5hbWVfc3ViAAAIDHN1YgAQZGF0YTkFKHJlbW92ZV9zdWIAAAQMc3ViACBxdWl0X3N1YgABBVhhZGRfdXNlcm5hbWVfYXV0aG9yaXR5AAAMJGF1dGhvcml0eQAYc3VmZml4JChhbGxvY2F0aW9uBGRyZW1vdmVfdXNlcm5hbWVfYXV0aG9yaXR5AAAEJGF1dGhvcml0eQBAc2V0X3VzZXJuYW1lX2ZvcgAADAx3aG8AIHVzZXJuYW1lJCRzaWduYXR1cmVlBTxhY2NlcHRfdXNlcm5hbWUAAAQgdXNlcm5hbWUkXHJlbW92ZV9leHBpcmVkX2FwcHJvdmFsAAAEIHVzZXJuYW1lJFBzZXRfcHJpbWFyeV91c2VybmFtZQAABCB1c2VybmFtZSRgcmVtb3ZlX2RhbmdsaW5nX3VzZXJuYW1lAAAEIHVzZXJuYW1lJAIcEE5vbmUAAQUgTG9ja2VkMXgAAQUgTG9ja2VkMngAAQUgTG9ja2VkM3gAAQUgTG9ja2VkNHgAAQUgTG9ja2VkNXgAAQUgTG9ja2VkNngAAQUCUBxwcm9wb3NlAAAIIHByb3Bvc2FsuQEUdmFsdWUIGHNlY29uZAAABCBwcm9wb3NhbAQQdm90ZQAACCRyZWZfaW5kZXgEEHZvdGV5AUBlbWVyZ2VuY3lfY2FuY2VsAAAEJHJlZl9pbmRleARAZXh0ZXJuYWxfcHJvcG9zZQAABCBwcm9wb3NhbLkBZGV4dGVybmFsX3Byb3Bvc2VfbWFqb3JpdHkAAAQgcHJvcG9zYWy5AWBleHRlcm5hbF9wcm9wb3NlX2RlZmF1bHQAAAQgcHJvcG9zYWy5AShmYXN0X3RyYWNrAAAMNHByb3Bvc2FsX2hhc2ggNHZvdGluZ19wZXJpb2QEFGRlbGF5BDR2ZXRvX2V4dGVybmFsAAAENHByb3Bvc2FsX2hhc2ggRGNhbmNlbF9yZWZlcmVuZHVtAAAEJHJlZl9pbmRleAQgZGVsZWdhdGUAAAwIdG8AKGNvbnZpY3Rpb25tBRxiYWxhbmNlCCh1bmRlbGVnYXRlAAEFWGNsZWFyX3B1YmxpY19wcm9wb3NhbHMAAQUYdW5sb2NrAAAEGHRhcmdldAAscmVtb3ZlX3ZvdGUAAAQUaW5kZXgERHJlbW92ZV9vdGhlcl92b3RlAAAIGHRhcmdldAAUaW5kZXgEJGJsYWNrbGlzdAAACDRwcm9wb3NhbF9oYXNoIDxtYXliZV9yZWZfaW5kZXjlATxjYW5jZWxfcHJvcG9zYWwAAAQocHJvcF9pbmRleAQwc2V0X21ldGFkYXRhAAAIFG93bmVyfQEobWF5YmVfaGFzaBEDRGZvcmNlX3JlbW92ZV92b3RlAAAIGHRhcmdldAAUaW5kZXgEAhgsc2V0X21lbWJlcnMAAAwsbmV3X21lbWJlcnPVAxRwcmltZaEBJG9sZF9jb3VudAQcZXhlY3V0ZQAACCBwcm9wb3NhbP0GMGxlbmd0aF9ib3VuZAQccHJvcG9zZQAADCR0aHJlc2hvbGQEIHByb3Bvc2Fs/QYwbGVuZ3RoX2JvdW5kBBB2b3RlAAAMIHByb3Bvc2FsIBRpbmRleAQcYXBwcm92ZRRMZGlzYXBwcm92ZV9wcm9wb3NhbAAABDRwcm9wb3NhbF9oYXNoIBRjbG9zZQAAEDRwcm9wb3NhbF9oYXNoIBRpbmRleARUcHJvcG9zYWxfd2VpZ2h0X2JvdW5kGDBsZW5ndGhfYm91bmQEBokBAigUcHJveHkAAAwQcmVhbABAZm9yY2VfcHJveHlfdHlwZXkFEGNhbGz9BiRhZGRfcHJveHkAAAwgZGVsZWdhdGUAKHByb3h5X3R5cGWJARRkZWxheQQwcmVtb3ZlX3Byb3h5AAAMIGRlbGVnYXRlAChwcm94eV90eXBliQEUZGVsYXkEOHJlbW92ZV9wcm94aWVzAAEFLGNyZWF0ZV9wdXJlAAAMKHByb3h5X3R5cGWJARRkZWxheQQUaW5kZXgEJGtpbGxfcHVyZQAAFBxzcGF3bmVyAChwcm94eV90eXBliQEUaW5kZXgEGGhlaWdodAQkZXh0X2luZGV4BCBhbm5vdW5jZQAACBByZWFsACRjYWxsX2hhc2ggTHJlbW92ZV9hbm5vdW5jZW1lbnQAAAgQcmVhbAAkY2FsbF9oYXNoIExyZWplY3RfYW5ub3VuY2VtZW50AAAIIGRlbGVnYXRlACRjYWxsX2hhc2ggPHByb3h5X2Fubm91bmNlZAAAECBkZWxlZ2F0ZQAQcmVhbABAZm9yY2VfcHJveHlfdHlwZXkFEGNhbGz9BgaRAQIQUGFzX211bHRpX3RocmVzaG9sZF8xAAAIRG90aGVyX3NpZ25hdG9yaWVz1QMQY2FsbP0GIGFzX211bHRpAAAUJHRocmVzaG9sZAREb3RoZXJfc2lnbmF0b3JpZXPVAzxtYXliZV90aW1lcG9pbnSBBRBjYWxs/QYobWF4X3dlaWdodBhAYXBwcm92ZV9hc19tdWx0aQAAFCR0aHJlc2hvbGQERG90aGVyX3NpZ25hdG9yaWVz1QM8bWF5YmVfdGltZXBvaW50gQUkY2FsbF9oYXNoIChtYXhfd2VpZ2h0GDxjYW5jZWxfYXNfbXVsdGkAABAkdGhyZXNob2xkBERvdGhlcl9zaWduYXRvcmllc9UDJHRpbWVwb2ludJEBJGNhbGxfaGFzaCAADBRpdGVtcwQ4aXRlbV9tZXRhZGF0YXMEKGF0dHJpYnV0ZXMEAmgYY3JlYXRlAAAIKGNvbGxlY3Rpb24IFGFkbWluADBmb3JjZV9jcmVhdGUAAAwoY29sbGVjdGlvbggUb3duZXIAMGZyZWVfaG9sZGluZxQcZGVzdHJveQAACChjb2xsZWN0aW9uCBx3aXRuZXNziQUQbWludAAADChjb2xsZWN0aW9uCBBpdGVtCBRvd25lcgAQYnVybgAADChjb2xsZWN0aW9uCBBpdGVtCCxjaGVja19vd25lcqEBIHRyYW5zZmVyAAAMKGNvbGxlY3Rpb24IEGl0ZW0IEGRlc3QAJHJlZGVwb3NpdAAACChjb2xsZWN0aW9uCBRpdGVtc5kBGGZyZWV6ZQAACChjb2xsZWN0aW9uCBBpdGVtCBB0aGF3AAAIKGNvbGxlY3Rpb24IEGl0ZW0IRGZyZWV6ZV9jb2xsZWN0aW9uAAAEKGNvbGxlY3Rpb24IPHRoYXdfY29sbGVjdGlvbgAABChjb2xsZWN0aW9uCEh0cmFuc2Zlcl9vd25lcnNoaXAAAAgoY29sbGVjdGlvbggkbmV3X293bmVyACBzZXRfdGVhbQAAEChjb2xsZWN0aW9uCBhpc3N1ZXIAFGFkbWluABxmcmVlemVyAEBhcHByb3ZlX3RyYW5zZmVyAAAMKGNvbGxlY3Rpb24IEGl0ZW0IIGRlbGVnYXRlADxjYW5jZWxfYXBwcm92YWwAAAwoY29sbGVjdGlvbggQaXRlbQhQbWF5YmVfY2hlY2tfZGVsZWdhdGWhAURmb3JjZV9pdGVtX3N0YXR1cwAAHChjb2xsZWN0aW9uCBRvd25lcgAYaXNzdWVyABRhZG1pbgAcZnJlZXplcgAwZnJlZV9ob2xkaW5nFCRpc19mcm96ZW4UNHNldF9hdHRyaWJ1dGUAABAoY29sbGVjdGlvbggobWF5YmVfaXRlbZ0BDGtleSQUdmFsdWUkPGNsZWFyX2F0dHJpYnV0ZQAADChjb2xsZWN0aW9uCChtYXliZV9pdGVtnQEMa2V5JDBzZXRfbWV0YWRhdGEAABAoY29sbGVjdGlvbggQaXRlbQgQZGF0YSQkaXNfZnJvemVuFDhjbGVhcl9tZXRhZGF0YQAACChjb2xsZWN0aW9uCBBpdGVtCFxzZXRfY29sbGVjdGlvbl9tZXRhZGF0YQAADChjb2xsZWN0aW9uCBBkYXRhJCRpc19mcm96ZW4UZGNsZWFyX2NvbGxlY3Rpb25fbWV0YWRhdGEAAAQoY29sbGVjdGlvbghQc2V0X2FjY2VwdF9vd25lcnNoaXAAAARAbWF5YmVfY29sbGVjdGlvbp0BZHNldF9jb2xsZWN0aW9uX21heF9zdXBwbHkAAAgoY29sbGVjdGlvbggobWF4X3N1cHBseQQkc2V0X3ByaWNlAAAQKGNvbGxlY3Rpb24IEGl0ZW0IFHByaWNlnQFEd2hpdGVsaXN0ZWRfYnV5ZXKhASBidXlfaXRlbQAADChjb2xsZWN0aW9uCBBpdGVtCCRiaWRfcHJpY2UIAAgQc2l6ZQQQaXRlbQQGkQUCDBxUb1N0YXJ0AAEFHExhc3RLZXkBJCBDb21wbGV0ZQABBQAUMHByb2dyZXNzX3RvcJkFOHByb2dyZXNzX2NoaWxkmQUQc2l6ZQQkdG9wX2l0ZW1zBCxjaGlsZF9pdGVtcwQCGFhjb250cm9sX2F1dG9fbWlncmF0aW9uAAAEMG1heWJlX2NvbmZpZ5UFQGNvbnRpbnVlX21pZ3JhdGUAAAwYbGltaXRzkQU8cmVhbF9zaXplX3VwcGVyBDB3aXRuZXNzX3Rhc2udBUhtaWdyYXRlX2N1c3RvbV90b3AAAAgQa2V5c00EMHdpdG5lc3Nfc2l6ZQRQbWlncmF0ZV9jdXN0b21fY2hpbGQAAAwQcm9vdCQoY2hpbGRfa2V5c00EKHRvdGFsX3NpemUEVHNldF9zaWduZWRfbWF4X2xpbWl0cwAABBhsaW1pdHORBUhmb3JjZV9zZXRfcHJvZ3Jlc3MAAAgwcHJvZ3Jlc3NfdG9wmQU4cHJvZ3Jlc3NfY2hpbGSZBQIcEHZvdGUAAAgocG9sbF9pbmRleAQQdm90ZbEBIGRlbGVnYXRlAAAQFGNsYXNzBAh0bwAoY29udmljdGlvbm0FHGJhbGFuY2UIKHVuZGVsZWdhdGUAAAQUY2xhc3MEGHVubG9jawAACBRjbGFzcwQYdGFyZ2V0ACxyZW1vdmVfdm90ZQAACBRjbGFzc+UBFGluZGV4BERyZW1vdmVfb3RoZXJfdm90ZQAADBh0YXJnZXQAFGNsYXNzBBRpbmRleAREZm9yY2VfcmVtb3ZlX3ZvdGUAAAwYdGFyZ2V0ABRjbGFzcwQUaW5kZXgEAggIQXQBBBRBZnRlcgEEAiQYc3VibWl0AAAMPHByb3Bvc2FsX29yaWdpbsUEIHByb3Bvc2FsuQFAZW5hY3RtZW50X21vbWVudKkFWHBsYWNlX2RlY2lzaW9uX2RlcG9zaXQAAAQUaW5kZXgEXHJlZnVuZF9kZWNpc2lvbl9kZXBvc2l0AAAEFGluZGV4BBhjYW5jZWwAAAQUaW5kZXgEEGtpbGwAAAQUaW5kZXgEQG51ZGdlX3JlZmVyZW5kdW0AAAQUaW5kZXgESG9uZV9mZXdlcl9kZWNpZGluZwAABBR0cmFjawRkcmVmdW5kX3N1Ym1pc3Npb25fZGVwb3NpdAAABBRpbmRleAQwc2V0X21ldGFkYXRhAAAIFGluZGV4BChtYXliZV9oYXNoEQMCEDh3aGl0ZWxpc3RfY2FsbAAABCRjYWxsX2hhc2ggXHJlbW92ZV93aGl0ZWxpc3RlZF9jYWxsAAAEJGNhbGxfaGFzaCBkZGlzcGF0Y2hfd2hpdGVsaXN0ZWRfY2FsbAAADCRjYWxsX2hhc2ggQGNhbGxfZW5jb2RlZF9sZW4ETGNhbGxfd2VpZ2h0X3dpdG5lc3MYnGRpc3BhdGNoX3doaXRlbGlzdGVkX2NhbGxfd2l0aF9wcmVpbWFnZQAABBBjYWxs/QYCFFBkaXNwYXRjaF9hc190cmVhc3VyeQAABBBjYWxs/QZgZGlzcGF0Y2hfYXNfYWF2ZV9tYW5hZ2VyAAAEEGNhbGz9BkRub3RlX2FhdmVfbWFuYWdlcgAABBxhY2NvdW50AFxkaXNwYXRjaF93aXRoX2V4dHJhX2dhcwAACBBjYWxs/QYkZXh0cmFfZ2FzCERkaXNwYXRjaF9ldm1fY2FsbAAABBBjYWxs/QYG4QEGFAIUIHJlZ2lzdGVyAAAkIGFzc2V0X2lk5QEQbmFtZd0BKGFzc2V0X3R5cGXhAUxleGlzdGVudGlhbF9kZXBvc2l0nQEYc3ltYm9s3QEgZGVjaW1hbHPlASBsb2NhdGlvblEDOHhjbV9yYXRlX2xpbWl0nQE0aXNfc3VmZmljaWVudBQYdXBkYXRlAAAkIGFzc2V0X2lkBBBuYW1l3QEoYXNzZXRfdHlwZbkFTGV4aXN0ZW50aWFsX2RlcG9zaXSdATh4Y21fcmF0ZV9saW1pdJ0BNGlzX3N1ZmZpY2llbnS9BRhzeW1ib2zdASBkZWNpbWFsc+UBIGxvY2F0aW9uUQNEcmVnaXN0ZXJfZXh0ZXJuYWwAAAQgbG9jYXRpb24FAiRiYW5fYXNzZXQAAAQgYXNzZXRfaWQELHVuYmFuX2Fzc2V0AAAEIGFzc2V0X2lkBAIEFGNsYWltAAAESGV0aGVyZXVtX3NpZ25hdHVyZV0FAjQkYWRkX3Rva2VuAAAQFGFzc2V0BDRpbml0aWFsX3ByaWNlCCh3ZWlnaHRfY2FwBDhwb3NpdGlvbl9vd25lcgA0YWRkX2xpcXVpZGl0eQAACBRhc3NldAQYYW1vdW50CGBhZGRfbGlxdWlkaXR5X3dpdGhfbGltaXQAAAwUYXNzZXQEGGFtb3VudAhAbWluX3NoYXJlc19saW1pdAhAcmVtb3ZlX2xpcXVpZGl0eQAACCxwb3NpdGlvbl9pZAgYYW1vdW50CGxyZW1vdmVfbGlxdWlkaXR5X3dpdGhfbGltaXQAAAwscG9zaXRpb25faWQIGGFtb3VudAgkbWluX2xpbWl0CEhzYWNyaWZpY2VfcG9zaXRpb24AAAQscG9zaXRpb25faWQIEHNlbGwAABAgYXNzZXRfaW4EJGFzc2V0X291dAQYYW1vdW50CDhtaW5fYnV5X2Ftb3VudAgMYnV5AAAQJGFzc2V0X291dAQgYXNzZXRfaW4EGGFtb3VudAg8bWF4X3NlbGxfYW1vdW50CGBzZXRfYXNzZXRfdHJhZGFibGVfc3RhdGUAAAggYXNzZXRfaWQEFHN0YXRlBFByZWZ1bmRfcmVmdXNlZF9hc3NldAAADCBhc3NldF9pZAQYYW1vdW50CCRyZWNpcGllbnQAUHNldF9hc3NldF93ZWlnaHRfY2FwAAAIIGFzc2V0X2lkBAxjYXAEbHdpdGhkcmF3X3Byb3RvY29sX2xpcXVpZGl0eQAAECBhc3NldF9pZAQYYW1vdW50CBRwcmljZVkCEGRlc3QAMHJlbW92ZV90b2tlbgAACCBhc3NldF9pZAQsYmVuZWZpY2lhcnkAAghEcGF1c2VfdHJhbnNhY3Rpb24AAAgscGFsbGV0X25hbWUkNGZ1bmN0aW9uX25hbWUkTHVucGF1c2VfdHJhbnNhY3Rpb24AAAgscGFsbGV0X25hbWUkNGZ1bmN0aW9uX25hbWUkAgwwZHVzdF9hY2NvdW50AAAIHGFjY291bnQALGN1cnJlbmN5X2lkBFxhZGRfbm9uZHVzdGFibGVfYWNjb3VudAAABBxhY2NvdW50AGhyZW1vdmVfbm9uZHVzdGFibGVfYWNjb3VudAAABBxhY2NvdW50AAYZBAJASGNyZWF0ZV9nbG9iYWxfZmFybQAAIDR0b3RhbF9yZXdhcmRzCGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMERGJsb2Nrc19wZXJfcGVyaW9kBDxyZXdhcmRfY3VycmVuY3kEFG93bmVyAEB5aWVsZF9wZXJfcGVyaW9kCCxtaW5fZGVwb3NpdAhUbHJuYV9wcmljZV9hZGp1c3RtZW50CFR0ZXJtaW5hdGVfZ2xvYmFsX2Zhcm0AAAQ4Z2xvYmFsX2Zhcm1faWQERGNyZWF0ZV95aWVsZF9mYXJtAAAQOGdsb2JhbF9mYXJtX2lkBCBhc3NldF9pZAQobXVsdGlwbGllcgg0bG95YWx0eV9jdXJ2ZSkCRHVwZGF0ZV95aWVsZF9mYXJtAAAMOGdsb2JhbF9mYXJtX2lkBCBhc3NldF9pZAQobXVsdGlwbGllcgg8c3RvcF95aWVsZF9mYXJtAAAIOGdsb2JhbF9mYXJtX2lkBCBhc3NldF9pZAREcmVzdW1lX3lpZWxkX2Zhcm0AABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBChtdWx0aXBsaWVyCFB0ZXJtaW5hdGVfeWllbGRfZmFybQAADDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQgYXNzZXRfaWQEOGRlcG9zaXRfc2hhcmVzAAAMOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCxwb3NpdGlvbl9pZAhAcmVkZXBvc2l0X3NoYXJlcwAADDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoZGVwb3NpdF9pZAg0Y2xhaW1fcmV3YXJkcwAACChkZXBvc2l0X2lkCDR5aWVsZF9mYXJtX2lkBDx3aXRoZHJhd19zaGFyZXMAAAgoZGVwb3NpdF9pZAg0eWllbGRfZmFybV9pZARIdXBkYXRlX2dsb2JhbF9mYXJtAAAQOGdsb2JhbF9mYXJtX2lkBGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMEQHlpZWxkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CChqb2luX2Zhcm1zAAAIMGZhcm1fZW50cmllcxkELHBvc2l0aW9uX2lkCHBhZGRfbGlxdWlkaXR5X2FuZF9qb2luX2Zhcm1zAAAQMGZhcm1fZW50cmllcxkEFGFzc2V0BBhhbW91bnQIQG1pbl9zaGFyZXNfbGltaXSdAShleGl0X2Zhcm1zAAAIKGRlcG9zaXRfaWQIOHlpZWxkX2Zhcm1faWRzQQLAYWRkX2xpcXVpZGl0eV9zdGFibGVzd2FwX29tbmlwb29sX2FuZF9qb2luX2Zhcm1zAAAMOHN0YWJsZV9wb29sX2lkBFBzdGFibGVfYXNzZXRfYW1vdW50c4ECMGZhcm1fZW50cmllc9UFAhAscGxhY2Vfb3JkZXIAABQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CEhwYXJ0aWFsbHlfZmlsbGFibGUUSHBhcnRpYWxfZmlsbF9vcmRlcgAACCBvcmRlcl9pZAQkYW1vdW50X2luCChmaWxsX29yZGVyAAAEIG9yZGVyX2lkBDBjYW5jZWxfb3JkZXIAAAQgb3JkZXJfaWQEAhhYc2V0X3RyYWRlX3ZvbHVtZV9saW1pdAAACCBhc3NldF9pZARIdHJhZGVfdm9sdW1lX2xpbWl0NQJcc2V0X2FkZF9saXF1aWRpdHlfbGltaXQAAAggYXNzZXRfaWQEPGxpcXVpZGl0eV9saW1pdDkCaHNldF9yZW1vdmVfbGlxdWlkaXR5X2xpbWl0AAAIIGFzc2V0X2lkBDxsaXF1aWRpdHlfbGltaXQ5Ajhsb2NrZG93bl9hc3NldAAACCBhc3NldF9pZAQUdW50aWwETGZvcmNlX2xpZnRfbG9ja2Rvd24AAAQgYXNzZXRfaWQEPHJlbGVhc2VfZGVwb3NpdAAACAx3aG8AIGFzc2V0X2lkBAIUEHNlbGwAABQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCDhtaW5fYW1vdW50X291dAgUcm91dGUFAwxidXkAABQgYXNzZXRfaW4EJGFzc2V0X291dAQoYW1vdW50X291dAg0bWF4X2Ftb3VudF9pbggUcm91dGUFAyRzZXRfcm91dGUAAAgoYXNzZXRfcGFpcvECJG5ld19yb3V0ZQUDSGZvcmNlX2luc2VydF9yb3V0ZQAACChhc3NldF9wYWly8QIkbmV3X3JvdXRlBQMgc2VsbF9hbGwAABAgYXNzZXRfaW4EJGFzc2V0X291dAQ4bWluX2Ftb3VudF9vdXQIFHJvdXRlBQMCCDRzZXRfYXNzZXRfZmVlAAAIIGFzc2V0X2lkBBhjb25maWdNAkByZW1vdmVfYXNzZXRfZmVlAAAEIGFzc2V0X2lkBAIUSGluaXRpYWxpemVfc3Rha2luZwABBRRzdGFrZQAABBhhbW91bnQIOGluY3JlYXNlX3N0YWtlAAAILHBvc2l0aW9uX2lkCBhhbW91bnQIFGNsYWltAAAELHBvc2l0aW9uX2lkCBx1bnN0YWtlAAAELHBvc2l0aW9uX2lkCAI8LGNyZWF0ZV9wb29sAAAQLHNoYXJlX2Fzc2V0BBhhc3NldHNBAjRhbXBsaWZpY2F0aW9uBAxmZWUEPHVwZGF0ZV9wb29sX2ZlZQAACBxwb29sX2lkBAxmZWUEUHVwZGF0ZV9hbXBsaWZpY2F0aW9uAAAQHHBvb2xfaWQETGZpbmFsX2FtcGxpZmljYXRpb24ELHN0YXJ0X2Jsb2NrBCRlbmRfYmxvY2sENGFkZF9saXF1aWRpdHkAAAgccG9vbF9pZAQYYXNzZXRzgQJQYWRkX2xpcXVpZGl0eV9zaGFyZXMAABAccG9vbF9pZAQYc2hhcmVzCCBhc3NldF9pZARAbWF4X2Fzc2V0X2Ftb3VudAhocmVtb3ZlX2xpcXVpZGl0eV9vbmVfYXNzZXQAABAccG9vbF9pZAQgYXNzZXRfaWQEMHNoYXJlX2Ftb3VudAg4bWluX2Ftb3VudF9vdXQIVHdpdGhkcmF3X2Fzc2V0X2Ftb3VudAAAEBxwb29sX2lkBCBhc3NldF9pZAQYYW1vdW50CEBtYXhfc2hhcmVfYW1vdW50CBBzZWxsAAAUHHBvb2xfaWQEIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbgg4bWluX2J1eV9hbW91bnQIDGJ1eQAAFBxwb29sX2lkBCRhc3NldF9vdXQEIGFzc2V0X2luBChhbW91bnRfb3V0CDxtYXhfc2VsbF9hbW91bnQIYHNldF9hc3NldF90cmFkYWJsZV9zdGF0ZQAADBxwb29sX2lkBCBhc3NldF9pZAQUc3RhdGUEQHJlbW92ZV9saXF1aWRpdHkAAAwccG9vbF9pZAQwc2hhcmVfYW1vdW50CDxtaW5fYW1vdW50c19vdXSBAlRjcmVhdGVfcG9vbF93aXRoX3BlZ3MAABgsc2hhcmVfYXNzZXQEGGFzc2V0c0ECNGFtcGxpZmljYXRpb24EDGZlZQQocGVnX3NvdXJjZW0COG1heF9wZWdfdXBkYXRlBFBhZGRfYXNzZXRzX2xpcXVpZGl0eQAADBxwb29sX2lkBBhhc3NldHOBAihtaW5fc2hhcmVzCFx1cGRhdGVfYXNzZXRfcGVnX3NvdXJjZQAADBxwb29sX2lkBCBhc3NldF9pZAQocGVnX3NvdXJjZWkCaHVwZGF0ZV9wb29sX21heF9wZWdfdXBkYXRlAAAIHHBvb2xfaWQEOG1heF9wZWdfdXBkYXRlBAIIFGlzc3VlAAAMIGFzc2V0X2lkBBhhbW91bnQIIG1hdHVyaXR5CBhyZWRlZW0AAAgcYm9uZF9pZAQYYW1vdW50CAIEQHNldHRsZV9vdGNfb3JkZXIAAAwYb3RjX2lkBBhhbW91bnQIFHJvdXRlBQMDCAQIAhgsY3JlYXRlX3Bvb2wAACwocG9vbF9vd25lcgAcYXNzZXRfYQQ4YXNzZXRfYV9hbW91bnQIHGFzc2V0X2IEOGFzc2V0X2JfYW1vdW50CDhpbml0aWFsX3dlaWdodAQwZmluYWxfd2VpZ2h0BDB3ZWlnaHRfY3VydmWRAgxmZWU1AjRmZWVfY29sbGVjdG9yADByZXBheV90YXJnZXQIQHVwZGF0ZV9wb29sX2RhdGEAACQccG9vbF9pZAAocG9vbF9vd25lcqEBFHN0YXJ05QEMZW5k5QE4aW5pdGlhbF93ZWlnaHTlATBmaW5hbF93ZWlnaHTlAQxmZWU5AjRmZWVfY29sbGVjdG9yoQEwcmVwYXlfdGFyZ2V0nQE0YWRkX2xpcXVpZGl0eQAACCBhbW91bnRfYf0FIGFtb3VudF9i/QVAcmVtb3ZlX2xpcXVpZGl0eQAABBxwb29sX2lkABBzZWxsAAAQIGFzc2V0X2luBCRhc3NldF9vdXQEGGFtb3VudAgkbWF4X2xpbWl0CAxidXkAABAkYXNzZXRfb3V0BCBhc3NldF9pbgQYYW1vdW50CCRtYXhfbGltaXQIAhwsY3JlYXRlX3Bvb2wAABAcYXNzZXRfYQQgYW1vdW50X2EIHGFzc2V0X2IEIGFtb3VudF9iCDRhZGRfbGlxdWlkaXR5AAAQHGFzc2V0X2EEHGFzc2V0X2IEIGFtb3VudF9hCEhhbW91bnRfYl9tYXhfbGltaXQIZGFkZF9saXF1aWRpdHlfd2l0aF9saW1pdHMAABQcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EISGFtb3VudF9iX21heF9saW1pdAgobWluX3NoYXJlcwhAcmVtb3ZlX2xpcXVpZGl0eQAADBxhc3NldF9hBBxhc3NldF9iBDBzaGFyZV9hbW91bnQIcHJlbW92ZV9saXF1aWRpdHlfd2l0aF9saW1pdHMAABQcYXNzZXRfYQQcYXNzZXRfYgQwc2hhcmVfYW1vdW50CDBtaW5fYW1vdW50X2EIMG1pbl9hbW91bnRfYggQc2VsbAAAFCBhc3NldF9pbgQkYXNzZXRfb3V0BBhhbW91bnQIJG1heF9saW1pdAggZGlzY291bnQUDGJ1eQAAFCRhc3NldF9vdXQEIGFzc2V0X2luBBhhbW91bnQIJG1heF9saW1pdAggZGlzY291bnQUAhQ0cmVnaXN0ZXJfY29kZQAABBBjb2RlJCRsaW5rX2NvZGUAAAQQY29kZSQcY29udmVydAAABCBhc3NldF9pZAQ0Y2xhaW1fcmV3YXJkcwABBVRzZXRfcmV3YXJkX3BlcmNlbnRhZ2UAAAwgYXNzZXRfaWQEFGxldmVsoQIccmV3YXJkc6UCAggkbGlxdWlkYXRlAAAUQGNvbGxhdGVyYWxfYXNzZXQEKGRlYnRfYXNzZXQEEHVzZXLxATRkZWJ0X3RvX2NvdmVyCBRyb3V0ZQUDWHNldF9ib3Jyb3dpbmdfY29udHJhY3QAAAQgY29udHJhY3TxAQadAQIcUGFkZF9jb2xsYXRlcmFsX2Fzc2V0AAAcIGFzc2V0X2lkBBxwb29sX2lkBDBwdXJjaGFzZV9mZWUEZG1heF9idXlfcHJpY2VfY29lZmZpY2llbnQIMGJ1eV9iYWNrX2ZlZQQwYnV5YmFja19yYXRlBDhtYXhfaW5faG9sZGluZ50BXHJlbW92ZV9jb2xsYXRlcmFsX2Fzc2V0AAAEIGFzc2V0X2lkBFx1cGRhdGVfY29sbGF0ZXJhbF9hc3NldAAAGCBhc3NldF9pZAQwcHVyY2hhc2VfZmVl5QFkbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudJ0BMGJ1eV9iYWNrX2ZlZeUBMGJ1eWJhY2tfcmF0ZeUBOG1heF9pbl9ob2xkaW5nEQYQc2VsbAAAECBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IOHNsaXBwYWdlX2xpbWl0CAxidXkAABAgYXNzZXRfaW4EJGFzc2V0X291dAQoYW1vdW50X291dAg4c2xpcHBhZ2VfbGltaXQIRGV4ZWN1dGVfYXJiaXRyYWdlAAAITGNvbGxhdGVyYWxfYXNzZXRfaWQEMGZsYXNoX2Ftb3VudJ0BQHNldF9mbGFzaF9taW50ZXIAAAREZmxhc2hfbWludGVyX2FkZHLxAQIUIHRyYW5zZmVyAAAMEGRlc3QALGN1cnJlbmN5X2lkBBhhbW91bnQIMHRyYW5zZmVyX2FsbAAADBBkZXN0ACxjdXJyZW5jeV9pZAQoa2VlcF9hbGl2ZRRMdHJhbnNmZXJfa2VlcF9hbGl2ZQAADBBkZXN0ACxjdXJyZW5jeV9pZAQYYW1vdW50CDhmb3JjZV90cmFuc2ZlcgAAEBhzb3VyY2UAEGRlc3QALGN1cnJlbmN5X2lkBBhhbW91bnQILHNldF9iYWxhbmNlAAAQDHdobwAsY3VycmVuY3lfaWQEIG5ld19mcmVlCDBuZXdfcmVzZXJ2ZWQIAgwgdHJhbnNmZXIAAAwQZGVzdAAsY3VycmVuY3lfaWQEGGFtb3VudAhgdHJhbnNmZXJfbmF0aXZlX2N1cnJlbmN5AAAIEGRlc3QAGGFtb3VudAg4dXBkYXRlX2JhbGFuY2UAAAwMd2hvACxjdXJyZW5jeV9pZAQYYW1vdW50CAS9AgACEBRjbGFpbQABBTx2ZXN0ZWRfdHJhbnNmZXIAAAgQZGVzdAAgc2NoZWR1bGW9AmB1cGRhdGVfdmVzdGluZ19zY2hlZHVsZXMAAAgMd2hvAER2ZXN0aW5nX3NjaGVkdWxlcyEGJGNsYWltX2ZvcgAABBBkZXN0AAaJBAMI8QHFAgQtBgACECB3aXRoZHJhdwAACBxhZGRyZXNz8QEUdmFsdWUIEGNhbGwAACQYc291cmNl8QEYdGFyZ2V08QEUaW5wdXQkFHZhbHVliQQkZ2FzX2xpbWl0CDxtYXhfZmVlX3Blcl9nYXOJBGBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXMpBhRub25jZSkGLGFjY2Vzc19saXN0MQYYY3JlYXRlAAAgGHNvdXJjZfEBEGluaXQkFHZhbHVliQQkZ2FzX2xpbWl0CDxtYXhfZmVlX3Blcl9nYXOJBGBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXMpBhRub25jZSkGLGFjY2Vzc19saXN0MQYcY3JlYXRlMgAAJBhzb3VyY2XxARBpbml0JBBzYWx0IBR2YWx1ZYkEJGdhc19saW1pdAg8bWF4X2ZlZV9wZXJfZ2FziQRgbWF4X3ByaW9yaXR5X2ZlZV9wZXJfZ2FzKQYUbm9uY2UpBixhY2Nlc3NfbGlzdDEGAggQQ2FsbAHxARhDcmVhdGUAAQUADAR2CARyIARzIAAcFG5vbmNliQQkZ2FzX3ByaWNliQQkZ2FzX2xpbWl0iQQYYWN0aW9uOQYUdmFsdWWJBBRpbnB1dCQkc2lnbmF0dXJlPQYACBxhZGRyZXNz8QEwc3RvcmFnZV9rZXlzxQIERQYAACwgY2hhaW5faWQIFG5vbmNliQQkZ2FzX3ByaWNliQQkZ2FzX2xpbWl0iQQYYWN0aW9uOQYUdmFsdWWJBBRpbnB1dCQsYWNjZXNzX2xpc3RJBjBvZGRfeV9wYXJpdHkUBHIgBHMgADAgY2hhaW5faWQIFG5vbmNliQRgbWF4X3ByaW9yaXR5X2ZlZV9wZXJfZ2FziQQ8bWF4X2ZlZV9wZXJfZ2FziQQkZ2FzX2xpbWl0iQQYYWN0aW9uOQYUdmFsdWWJBBRpbnB1dCQsYWNjZXNzX2xpc3RJBjBvZGRfeV9wYXJpdHkUBHIgBHMgAgwYTGVnYWN5AUEGHEVJUDI5MzABTQYcRUlQMTU1OQFRBgIEIHRyYW5zYWN0AAAELHRyYW5zYWN0aW9uVQYCGEBiaW5kX2V2bV9hZGRyZXNzAAEFVGFkZF9jb250cmFjdF9kZXBsb3llcgAABBxhZGRyZXNz8QFgcmVtb3ZlX2NvbnRyYWN0X2RlcGxveWVyAAAEHGFkZHJlc3PxAWhyZW5vdW5jZV9jb250cmFjdF9kZXBsb3llcgABBUBhcHByb3ZlX2NvbnRyYWN0AAAEHGFkZHJlc3PxAUxkaXNhcHByb3ZlX2NvbnRyYWN0AAAEHGFkZHJlc3PxAQI8SGNyZWF0ZV9nbG9iYWxfZmFybQAAJDR0b3RhbF9yZXdhcmRzCGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMERGJsb2Nrc19wZXJfcGVyaW9kBEhpbmNlbnRpdml6ZWRfYXNzZXQEPHJld2FyZF9jdXJyZW5jeQQUb3duZXIAQHlpZWxkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CEBwcmljZV9hZGp1c3RtZW50CEh1cGRhdGVfZ2xvYmFsX2Zhcm0AAAg4Z2xvYmFsX2Zhcm1faWQEQHByaWNlX2FkanVzdG1lbnQIVHRlcm1pbmF0ZV9nbG9iYWxfZmFybQAABDhnbG9iYWxfZmFybV9pZAREY3JlYXRlX3lpZWxkX2Zhcm0AABA4Z2xvYmFsX2Zhcm1faWQEKGFzc2V0X3BhaXLxAihtdWx0aXBsaWVyCDRsb3lhbHR5X2N1cnZlKQJEdXBkYXRlX3lpZWxkX2Zhcm0AAAw4Z2xvYmFsX2Zhcm1faWQEKGFzc2V0X3BhaXLxAihtdWx0aXBsaWVyCDxzdG9wX3lpZWxkX2Zhcm0AAAg4Z2xvYmFsX2Zhcm1faWQEKGFzc2V0X3BhaXLxAkRyZXN1bWVfeWllbGRfZmFybQAAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoYXNzZXRfcGFpcvECKG11bHRpcGxpZXIIUHRlcm1pbmF0ZV95aWVsZF9mYXJtAAAMOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChhc3NldF9wYWly8QI4ZGVwb3NpdF9zaGFyZXMAABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGFzc2V0X3BhaXLxAjRzaGFyZXNfYW1vdW50CChqb2luX2Zhcm1zAAAMMGZhcm1fZW50cmllcxkEKGFzc2V0X3BhaXLxAjRzaGFyZXNfYW1vdW50CHBhZGRfbGlxdWlkaXR5X2FuZF9qb2luX2Zhcm1zAAAUHGFzc2V0X2EEHGFzc2V0X2IEIGFtb3VudF9hCEhhbW91bnRfYl9tYXhfbGltaXQIMGZhcm1fZW50cmllcxkEQHJlZGVwb3NpdF9zaGFyZXMAABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGFzc2V0X3BhaXLxAihkZXBvc2l0X2lkCDRjbGFpbV9yZXdhcmRzAAAIKGRlcG9zaXRfaWQINHlpZWxkX2Zhcm1faWQEPHdpdGhkcmF3X3NoYXJlcwAADChkZXBvc2l0X2lkCDR5aWVsZF9mYXJtX2lkBChhc3NldF9wYWly8QIoZXhpdF9mYXJtcwAADChkZXBvc2l0X2lkCChhc3NldF9wYWly8QIwZmFybV9lbnRyaWVzQQIAHBRvd25lcgAYcGVyaW9kBDB0b3RhbF9hbW91bnQILG1heF9yZXRyaWVz5QFMc3RhYmlsaXR5X3RocmVzaG9sZOUBIHNsaXBwYWdl5QEUb3JkZXIJAwIMIHNjaGVkdWxlAAAIIHNjaGVkdWxlZQZUc3RhcnRfZXhlY3V0aW9uX2Jsb2Nr5QEkdGVybWluYXRlAAAILHNjaGVkdWxlX2lkBFBuZXh0X2V4ZWN1dGlvbl9ibG9ja+UBPHVubG9ja19yZXNlcnZlcwAACAx3aG8AIGFzc2V0X2lkBAIoIHNjaGVkdWxlAAAQEHdoZW4EOG1heWJlX3BlcmlvZGljOQIgcHJpb3JpdHkEEGNhbGz9BhhjYW5jZWwAAAgQd2hlbgQUaW5kZXgEOHNjaGVkdWxlX25hbWVkAAAUCGlkIBB3aGVuBDhtYXliZV9wZXJpb2RpYzkCIHByaW9yaXR5BBBjYWxs/QYwY2FuY2VsX25hbWVkAAAECGlkIDhzY2hlZHVsZV9hZnRlcgAAEBRhZnRlcgQ4bWF5YmVfcGVyaW9kaWM5AiBwcmlvcml0eQQQY2FsbP0GUHNjaGVkdWxlX25hbWVkX2FmdGVyAAAUCGlkIBRhZnRlcgQ4bWF5YmVfcGVyaW9kaWM5AiBwcmlvcml0eQQQY2FsbP0GJHNldF9yZXRyeQAADBB0YXNrNQIccmV0cmllcwQYcGVyaW9kBDxzZXRfcmV0cnlfbmFtZWQAAAwIaWQgHHJldHJpZXMEGHBlcmlvZAQwY2FuY2VsX3JldHJ5AAAEEHRhc2s1AkhjYW5jZWxfcmV0cnlfbmFtZWQAAAQIaWQgABAscGFyZW50X2hlYWQkTHJlbGF5X3BhcmVudF9udW1iZXIEZHJlbGF5X3BhcmVudF9zdG9yYWdlX3Jvb3QgMG1heF9wb3Zfc2l6ZQQACBxzZW50X2F0BAxtc2ckBHUGAAAIHHNlbnRfYXQEEGRhdGEkBH0GAAMIBIEGBIUGAAAQPHZhbGlkYXRpb25fZGF0YXEGRHJlbGF5X2NoYWluX3N0YXRlTQREZG93bndhcmRfbWVzc2FnZXN5Bkxob3Jpem9udGFsX21lc3NhZ2VziQYCCExzZXRfdmFsaWRhdGlvbl9kYXRhAAAEEGRhdGGNBmBzdWRvX3NlbmRfdXB3YXJkX21lc3NhZ2UAAAQcbWVzc2FnZSQCaCBPdmVyZmxvdwABBTRVbmltcGxlbWVudGVkAAEFYFVudHJ1c3RlZFJlc2VydmVMb2NhdGlvbgABBWRVbnRydXN0ZWRUZWxlcG9ydExvY2F0aW9uAAEFRE11bHRpTG9jYXRpb25GdWxsAAEFaE11bHRpTG9jYXRpb25Ob3RJbnZlcnRpYmxlAAEFJEJhZE9yaWdpbgABBTxJbnZhbGlkTG9jYXRpb24AAQU0QXNzZXROb3RGb3VuZAABBVRGYWlsZWRUb1RyYW5zYWN0QXNzZXQAAQU8Tm90V2l0aGRyYXdhYmxlAAEFSExvY2F0aW9uQ2Fubm90SG9sZAABBVRFeGNlZWRzTWF4TWVzc2FnZVNpemUAAQVYRGVzdGluYXRpb25VbnN1cHBvcnRlZAABBSRUcmFuc3BvcnQAAQUoVW5yb3V0YWJsZQABBTBVbmtub3duQ2xhaW0AAQU4RmFpbGVkVG9EZWNvZGUAAQVATWF4V2VpZ2h0SW52YWxpZAABBThOb3RIb2xkaW5nRmVlcwABBTBUb29FeHBlbnNpdmUAAQUQVHJhcAEITFVuaGFuZGxlZFhjbVZlcnNpb24AAQVIV2VpZ2h0TGltaXRSZWFjaGVkAQgcQmFycmllcgABBUxXZWlnaHROb3RDb21wdXRhYmxlAAEFAwgElQYGmQYCEBBOdWxsAAEFGEFzc2V0cwGZAzxFeGVjdXRpb25SZXN1bHQBnQYcVmVyc2lvbgEEAggMQWxsAAEFFEFsbE9mAAAICGlkiQMMZnVuXQMCCCBEZWZpbml0ZQGZAxBXaWxkAaUGAggkVW5saW1pdGVkAAEFHExpbWl0ZWQBCAJwNFdpdGhkcmF3QXNzZXQBmQNUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkAZkDWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQBmQM0UXVlcnlSZXNwb25zZQAADCBxdWVyeV9pZAggcmVzcG9uc2WhBihtYXhfd2VpZ2h0CDRUcmFuc2ZlckFzc2V0AAAIGGFzc2V0c5kDLGJlbmVmaWNpYXJ5hQNQVHJhbnNmZXJSZXNlcnZlQXNzZXQAAAwYYXNzZXRzmQMQZGVzdIUDDHhjbbUGIFRyYW5zYWN0AAAMLG9yaWdpbl90eXBlVQNYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdAgQY2FsbCRkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAAADBhzZW5kZXIEQG1heF9tZXNzYWdlX3NpemUEMG1heF9jYXBhY2l0eQRMSHJtcENoYW5uZWxBY2NlcHRlZAAABCRyZWNpcGllbnQESEhybXBDaGFubmVsQ2xvc2luZwAADCRpbml0aWF0b3IEGHNlbmRlcgQkcmVjaXBpZW50BCxDbGVhck9yaWdpbgABBTREZXNjZW5kT3JpZ2luAYEDLFJlcG9ydEVycm9yAAAMIHF1ZXJ5X2lkCBBkZXN0hQNMbWF4X3Jlc3BvbnNlX3dlaWdodAgwRGVwb3NpdEFzc2V0AAAMGGFzc2V0c6kGKG1heF9hc3NldHMELGJlbmVmaWNpYXJ5hQNMRGVwb3NpdFJlc2VydmVBc3NldAAAEBhhc3NldHOpBihtYXhfYXNzZXRzBBBkZXN0hQMMeGNttQY0RXhjaGFuZ2VBc3NldAAACBBnaXZlqQYccmVjZWl2ZZkDXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3AAAMGGFzc2V0c6kGHHJlc2VydmWFAwx4Y221BkBJbml0aWF0ZVRlbGVwb3J0AAAMGGFzc2V0c6kGEGRlc3SFAwx4Y221BjBRdWVyeUhvbGRpbmcAABAgcXVlcnlfaWQIEGRlc3SFAxhhc3NldHOpBkxtYXhfcmVzcG9uc2Vfd2VpZ2h0CDBCdXlFeGVjdXRpb24AAAgQZmVlc5UDMHdlaWdodF9saW1pdK0GNFJlZnVuZFN1cnBsdXMAAQU8U2V0RXJyb3JIYW5kbGVyAbUGLFNldEFwcGVuZGl4AbUGKENsZWFyRXJyb3IAAQUoQ2xhaW1Bc3NldAAACBhhc3NldHOZAxh0aWNrZXSFAxBUcmFwAQhAU3Vic2NyaWJlVmVyc2lvbgAACCBxdWVyeV9pZAhMbWF4X3Jlc3BvbnNlX3dlaWdodAhIVW5zdWJzY3JpYmVWZXJzaW9uAAEFBLEGAAIYEE51bGwAAQUYQXNzZXRzAaUDPEV4ZWN1dGlvblJlc3VsdAE9AxxWZXJzaW9uAQQsUGFsbGV0c0luZm8BRQM4RGlzcGF0Y2hSZXN1bHQBSQMCEAxBbGwAAQUUQWxsT2YAAAgIaWSdAwxmdW5dAyhBbGxDb3VudGVkAQQwQWxsT2ZDb3VudGVkAAAMCGlknQMMZnVuXQMUY291bnQEAgggRGVmaW5pdGUBpQMQV2lsZAG9BgLANFdpdGhkcmF3QXNzZXQBpQNUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkAaUDWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQBpQM0UXVlcnlSZXNwb25zZQAAECBxdWVyeV9pZAggcmVzcG9uc2W5BihtYXhfd2VpZ2h0GBxxdWVyaWVyUQM0VHJhbnNmZXJBc3NldAAACBhhc3NldHOlAyxiZW5lZmljaWFyeQUCUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0AAAMGGFzc2V0c6UDEGRlc3QFAgx4Y23JBiBUcmFuc2FjdAAADCxvcmlnaW5fa2luZFUDWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3QYEGNhbGwkZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QAAAwYc2VuZGVyBEBtYXhfbWVzc2FnZV9zaXplBDBtYXhfY2FwYWNpdHkETEhybXBDaGFubmVsQWNjZXB0ZWQAAAQkcmVjaXBpZW50BEhIcm1wQ2hhbm5lbENsb3NpbmcAAAwkaW5pdGlhdG9yBBhzZW5kZXIEJHJlY2lwaWVudAQsQ2xlYXJPcmlnaW4AAQU0RGVzY2VuZE9yaWdpbgEBAixSZXBvcnRFcnJvcgFZAzBEZXBvc2l0QXNzZXQAAAgYYXNzZXRzwQYsYmVuZWZpY2lhcnkFAkxEZXBvc2l0UmVzZXJ2ZUFzc2V0AAAMGGFzc2V0c8EGEGRlc3QFAgx4Y23JBjRFeGNoYW5nZUFzc2V0AAAMEGdpdmXBBhB3YW50pQMcbWF4aW1hbBRcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcAAAwYYXNzZXRzwQYccmVzZXJ2ZQUCDHhjbckGQEluaXRpYXRlVGVsZXBvcnQAAAwYYXNzZXRzwQYQZGVzdAUCDHhjbckGNFJlcG9ydEhvbGRpbmcAAAg0cmVzcG9uc2VfaW5mb1kDGGFzc2V0c8EGMEJ1eUV4ZWN1dGlvbgAACBBmZWVzoQMwd2VpZ2h0X2xpbWl0aQM0UmVmdW5kU3VycGx1cwABBTxTZXRFcnJvckhhbmRsZXIByQYsU2V0QXBwZW5kaXgByQYoQ2xlYXJFcnJvcgABBShDbGFpbUFzc2V0AAAIGGFzc2V0c6UDGHRpY2tldAUCEFRyYXABCEBTdWJzY3JpYmVWZXJzaW9uAAAIIHF1ZXJ5X2lkCExtYXhfcmVzcG9uc2Vfd2VpZ2h0GEhVbnN1YnNjcmliZVZlcnNpb24AAQUkQnVybkFzc2V0AaUDLEV4cGVjdEFzc2V0AaUDMEV4cGVjdE9yaWdpbgFRAyxFeHBlY3RFcnJvcgE9A1BFeHBlY3RUcmFuc2FjdFN0YXR1cwFJAyxRdWVyeVBhbGxldAAACCxtb2R1bGVfbmFtZSQ0cmVzcG9uc2VfaW5mb1kDMEV4cGVjdFBhbGxldAAAFBRpbmRleAQQbmFtZSQsbW9kdWxlX25hbWUkLGNyYXRlX21ham9yBDxtaW5fY3JhdGVfbWlub3IEUFJlcG9ydFRyYW5zYWN0U3RhdHVzAVkDTENsZWFyVHJhbnNhY3RTdGF0dXMAAQU8VW5pdmVyc2FsT3JpZ2luAf0BNEV4cG9ydE1lc3NhZ2UAAAwcbmV0d29ya+kBLGRlc3RpbmF0aW9uAQIMeGNtyQYkTG9ja0Fzc2V0AAAIFGFzc2V0oQMgdW5sb2NrZXIFAixVbmxvY2tBc3NldAAACBRhc3NldKEDGHRhcmdldAUCOE5vdGVVbmxvY2thYmxlAAAIFGFzc2V0oQMUb3duZXIFAjRSZXF1ZXN0VW5sb2NrAAAIFGFzc2V0oQMYbG9ja2VyBQIsU2V0RmVlc01vZGUAAAQwaml0X3dpdGhkcmF3FCBTZXRUb3BpYwEgKENsZWFyVG9waWMAAQUsQWxpYXNPcmlnaW4BBQI8VW5wYWlkRXhlY3V0aW9uAAAIMHdlaWdodF9saW1pdGkDMGNoZWNrX29yaWdpblEDBMUGAAIMCFYyAbUGCFYzAckGCFY0AXEDAhAgVGVsZXBvcnQAAQUwTG9jYWxSZXNlcnZlAAEFSERlc3RpbmF0aW9uUmVzZXJ2ZQABBTRSZW1vdGVSZXNlcnZlAa0DAggIVjMBnQMIVjQBBQICOBBzZW5kAAAIEGRlc3StAxxtZXNzYWdlzQY8dGVsZXBvcnRfYXNzZXRzAAAQEGRlc3StAyxiZW5lZmljaWFyea0DGGFzc2V0c6kDOGZlZV9hc3NldF9pdGVtBFxyZXNlcnZlX3RyYW5zZmVyX2Fzc2V0cwAAEBBkZXN0rQMsYmVuZWZpY2lhcnmtAxhhc3NldHOpAzhmZWVfYXNzZXRfaXRlbQQcZXhlY3V0ZQAACBxtZXNzYWdlzQYobWF4X3dlaWdodBhEZm9yY2VfeGNtX3ZlcnNpb24AAAggbG9jYXRpb24FAhx2ZXJzaW9uBGRmb3JjZV9kZWZhdWx0X3hjbV92ZXJzaW9uAAAERG1heWJlX3hjbV92ZXJzaW9u5QF4Zm9yY2Vfc3Vic2NyaWJlX3ZlcnNpb25fbm90aWZ5AAAEIGxvY2F0aW9urQOAZm9yY2VfdW5zdWJzY3JpYmVfdmVyc2lvbl9ub3RpZnkAAAQgbG9jYXRpb26tA3xsaW1pdGVkX3Jlc2VydmVfdHJhbnNmZXJfYXNzZXRzAAAUEGRlc3StAyxiZW5lZmljaWFyea0DGGFzc2V0c6kDOGZlZV9hc3NldF9pdGVtBDB3ZWlnaHRfbGltaXRpA1xsaW1pdGVkX3RlbGVwb3J0X2Fzc2V0cwAAFBBkZXN0rQMsYmVuZWZpY2lhcnmtAxhhc3NldHOpAzhmZWVfYXNzZXRfaXRlbQQwd2VpZ2h0X2xpbWl0aQNAZm9yY2Vfc3VzcGVuc2lvbgAABCRzdXNwZW5kZWQUPHRyYW5zZmVyX2Fzc2V0cwAAFBBkZXN0rQMsYmVuZWZpY2lhcnmtAxhhc3NldHOpAzhmZWVfYXNzZXRfaXRlbQQwd2VpZ2h0X2xpbWl0aQMwY2xhaW1fYXNzZXRzAAAIGGFzc2V0c6kDLGJlbmVmaWNpYXJ5rQOMdHJhbnNmZXJfYXNzZXRzX3VzaW5nX3R5cGVfYW5kX3RoZW4AABwQZGVzdK0DGGFzc2V0c6kDUGFzc2V0c190cmFuc2Zlcl90eXBl0QY4cmVtb3RlX2ZlZXNfaWTVBkhmZWVzX3RyYW5zZmVyX3R5cGXRBkhjdXN0b21feGNtX29uX2Rlc3TNBjB3ZWlnaHRfbGltaXRpAwIIJHJlYXBfcGFnZQAACDhtZXNzYWdlX29yaWdpbr0DKHBhZ2VfaW5kZXgESGV4ZWN1dGVfb3ZlcndlaWdodAAAEDhtZXNzYWdlX29yaWdpbr0DEHBhZ2UEFGluZGV4BDB3ZWlnaHRfbGltaXQYAgREc2VuZF9hc19zb3ZlcmVpZ24AAAgQZGVzdK0DHG1lc3NhZ2XNBgIMCFYyAZUDCFYzAaEDCFY0ATEDBP0FAAIYIHRyYW5zZmVyAAAQLGN1cnJlbmN5X2lkBBhhbW91bnQIEGRlc3StA0RkZXN0X3dlaWdodF9saW1pdGkDTHRyYW5zZmVyX211bHRpYXNzZXQAAAwUYXNzZXTlBhBkZXN0rQNEZGVzdF93ZWlnaHRfbGltaXRpA0R0cmFuc2Zlcl93aXRoX2ZlZQAAFCxjdXJyZW5jeV9pZAQYYW1vdW50CAxmZWUIEGRlc3StA0RkZXN0X3dlaWdodF9saW1pdGkDcHRyYW5zZmVyX211bHRpYXNzZXRfd2l0aF9mZWUAABAUYXNzZXTlBgxmZWXlBhBkZXN0rQNEZGVzdF93ZWlnaHRfbGltaXRpA2B0cmFuc2Zlcl9tdWx0aWN1cnJlbmNpZXMAABAoY3VycmVuY2llc+kGIGZlZV9pdGVtBBBkZXN0rQNEZGVzdF93ZWlnaHRfbGltaXRpA1B0cmFuc2Zlcl9tdWx0aWFzc2V0cwAAEBhhc3NldHOpAyBmZWVfaXRlbQQQZGVzdK0DRGRlc3Rfd2VpZ2h0X2xpbWl0aQMCJERzZXRfaW52dWxuZXJhYmxlcwAABAxuZXfVA1hzZXRfZGVzaXJlZF9jYW5kaWRhdGVzAAAEDG1heARIc2V0X2NhbmRpZGFjeV9ib25kAAAEEGJvbmQIVHJlZ2lzdGVyX2FzX2NhbmRpZGF0ZQABBTBsZWF2ZV9pbnRlbnQAAQVAYWRkX2ludnVsbmVyYWJsZQAABAx3aG8ATHJlbW92ZV9pbnZ1bG5lcmFibGUAAAQMd2hvACx1cGRhdGVfYm9uZAAABCxuZXdfZGVwb3NpdAhMdGFrZV9jYW5kaWRhdGVfc2xvdAAACBxkZXBvc2l0CBh0YXJnZXQAAgggc2V0X2tleXMAAAgQa2V5cyAUcHJvb2YkKHB1cmdlX2tleXMAAQUCDChhZGRfb3JhY2xlAAAIGHNvdXJjZV0CGGFzc2V0czUCNHJlbW92ZV9vcmFjbGUAAAgYc291cmNlXQIYYXNzZXRzNQJUdXBkYXRlX2JpZnJvc3Rfb3JhY2xlAAAMHGFzc2V0X2GtAxxhc3NldF9irQMUcHJpY2VZAgL0GFN5c3RlbQGZBCRUaW1lc3RhbXABnQQgQmFsYW5jZXMBoQRcTXVsdGlUcmFuc2FjdGlvblBheW1lbnQBpQQgVHJlYXN1cnkBqQQcVXRpbGl0eQHJBCBQcmVpbWFnZQHNBCBJZGVudGl0eQFpBSREZW1vY3JhY3kBcQVIVGVjaG5pY2FsQ29tbWl0dGVlAXUFFFByb3h5AX0FIE11bHRpc2lnAYUFHFVuaXF1ZXMBjQVIU3RhdGVUcmllTWlncmF0aW9uAaEFQENvbnZpY3Rpb25Wb3RpbmcBpQUkUmVmZXJlbmRhAa0FJFdoaXRlbGlzdAGxBShEaXNwYXRjaGVyAbUFNEFzc2V0UmVnaXN0cnkBwQUYQ2xhaW1zAcUFOEdlbmVzaXNIaXN0b3J5AZAgT21uaXBvb2wByQVAVHJhbnNhY3Rpb25QYXVzZQHNBRhEdXN0ZXIB0QVMT21uaXBvb2xXYXJlaG91c2VMTQGQXE9tbmlwb29sTGlxdWlkaXR5TWluaW5nAdkFDE9UQwHdBThDaXJjdWl0QnJlYWtlcgHhBRhSb3V0ZXIB5QUsRHluYW1pY0ZlZXMB6QUcU3Rha2luZwHtBShTdGFibGVzd2FwAfEFFEJvbmRzAfUFOE90Y1NldHRsZW1lbnRzAfkFDExCUAEBBgxYWUsBBQYkUmVmZXJyYWxzAQkGLExpcXVpZGF0aW9uAQ0GDEhTTQEVBhhUb2tlbnMBGQYoQ3VycmVuY2llcwEdBhxWZXN0aW5nASUGDEVWTQE1BiBFdGhlcmV1bQFZBixFVk1BY2NvdW50cwFdBkhYWUtMaXF1aWRpdHlNaW5pbmcBYQY4WFlLV2FyZWhvdXNlTE0BkDhSZWxheUNoYWluSW5mbwGQDERDQQFpBiRTY2hlZHVsZXIBbQY8UGFyYWNoYWluU3lzdGVtAZEGNFBhcmFjaGFpbkluZm8BkCxQb2xrYWRvdFhjbQHZBihDdW11bHVzWGNtAZAwTWVzc2FnZVF1ZXVlAd0GHE9ybWxYY20B4QYcWFRva2VucwHtBkRDb2xsYXRvclNlbGVjdGlvbgHxBhxTZXNzaW9uAfUGJEVtYU9yYWNsZQH5BiRCcm9hZGNhc3QBkAT9BgADCAAIBgUHAggsVW5yZXF1ZXN0ZWQAAAgcZGVwb3NpdAUHDGxlbgQkUmVxdWVzdGVkAAAMHGRlcG9zaXQJBxRjb3VudAQMbGVu5QECCCxVbnJlcXVlc3RlZAAACBh0aWNrZXQFBwxsZW4EJFJlcXVlc3RlZAAADDBtYXliZV90aWNrZXQJBxRjb3VudAQkbWF5YmVfbGVu5QEDCCAEAwgEVQUEGQcAAAwoanVkZ2VtZW50cx0HHGRlcG9zaXQIEGluZm9JBQMIIQfdAQMICNUDAAwcYWNjb3VudAAMZmVlCBhmaWVsZHMIBi0HBDEHAAAIGHN1ZmZpeCQoYWxsb2NhdGlvbgQDCAAEAwwEuQEABEEHAAMI1QMIAAwQYXllcwgQbmF5cwgcdHVybm91dAgAFAxlbmQEIHByb3Bvc2FsuQEkdGhyZXNob2xkdQEUZGVsYXkEFHRhbGx5TQcCCBxPbmdvaW5nAVEHIEZpbmlzaGVkAAAIIGFwcHJvdmVkFAxlbmQEAwgEeQEEWQcAAAgUdm90ZXMIHGNhcGl0YWwIAggYRGlyZWN0AAAMFHZvdGVzXQcsZGVsZWdhdGlvbnNhBxRwcmlvcv0FKERlbGVnYXRpbmcAABQcYmFsYW5jZQgYdGFyZ2V0AChjb252aWN0aW9ubQUsZGVsZWdhdGlvbnNhBxRwcmlvcv0FAwi5AXUBAwgE1QMAFBRpbmRleAQkdGhyZXNob2xkBBBheWVz1QMQbmF5c9UDDGVuZAQADCBkZWxlZ2F0ZQAocHJveHlfdHlwZYkBFGRlbGF5BAR1BwADCHkHCAAMEHJlYWwAJGNhbGxfaGFzaCAYaGVpZ2h0BASBBwADCIUHCAMIACAAEBB3aGVukQEcZGVwb3NpdAgkZGVwb3NpdG9yACRhcHByb3ZhbHPVAwAoFG93bmVyABhpc3N1ZXIAFGFkbWluABxmcmVlemVyADR0b3RhbF9kZXBvc2l0CDBmcmVlX2hvbGRpbmcUFGl0ZW1zBDhpdGVtX21ldGFkYXRhcwQoYXR0cmlidXRlcwQkaXNfZnJvemVuFAMMAAgIABAUb3duZXIAIGFwcHJvdmVkoQEkaXNfZnJvemVuFBxkZXBvc2l0CAAMHGRlcG9zaXQIEGRhdGEkJGlzX2Zyb3plbhQDDAidASQDCCQIAwgIoQEDCASxAQSxBwAADBR2b3Rlc7UHLGRlbGVnYXRpb25zYQcUcHJpb3L9BQAUHGJhbGFuY2UIGHRhcmdldAAoY29udmljdGlvbm0FLGRlbGVnYXRpb25zYQcUcHJpb3L9BQIIHENhc3RpbmcBuQcoRGVsZWdhdGluZwG9BwAIDHdobwAYYW1vdW50CAbFBwAIFHNpbmNlBChjb25maXJtaW5n5QEGzQcDCAQ1AgbVBwAsFHRyYWNrBBhvcmlnaW7FBCBwcm9wb3NhbLkBJGVuYWN0bWVudKkFJHN1Ym1pdHRlZARIc3VibWlzc2lvbl9kZXBvc2l0xQdAZGVjaXNpb25fZGVwb3NpdMkHIGRlY2lkaW5n0QcUdGFsbHm9ASBpbl9xdWV1ZRQUYWxhcm3ZBwIYHE9uZ29pbmcB3QcgQXBwcm92ZWQAAwwEyQfJByBSZWplY3RlZAADDATJB8kHJENhbmNlbGxlZAADDATJB8kHIFRpbWVkT3V0AAMMBMkHyQcYS2lsbGVkAQQCDEBMaW5lYXJEZWNyZWFzaW5nAAAMGGxlbmd0aAQUZmxvb3IEEGNlaWwERFN0ZXBwZWREZWNyZWFzaW5nAAAQFGJlZ2luBAxlbmQEEHN0ZXAEGHBlcmlvZAQoUmVjaXByb2NhbAAADBhmYWN0b3IIIHhfb2Zmc2V0CCB5X29mZnNldAgAJBBuYW1l1QIwbWF4X2RlY2lkaW5nBEBkZWNpc2lvbl9kZXBvc2l0CDhwcmVwYXJlX3BlcmlvZAQ8ZGVjaXNpb25fcGVyaW9kBDhjb25maXJtX3BlcmlvZARQbWluX2VuYWN0bWVudF9wZXJpb2QEMG1pbl9hcHByb3ZhbOUHLG1pbl9zdXBwb3J05QcDCATpBwTtBwAAHBBuYW1l3QEoYXNzZXRfdHlwZeEBTGV4aXN0ZW50aWFsX2RlcG9zaXQIGHN5bWJvbN0BIGRlY2ltYWxz5QE4eGNtX3JhdGVfbGltaXSdATRpc19zdWZmaWNpZW50FAAIMGdlbmVzaXNfaGFzaCA8bGFzdF9ibG9ja19oYXNoIAAULGh1Yl9yZXNlcnZlCBhzaGFyZXMIPHByb3RvY29sX3NoYXJlcwgMY2FwCCB0cmFkYWJsZQQAECBhc3NldF9pZAQYYW1vdW50CBhzaGFyZXMIFHByaWNlWQICDBhBY3RpdmUAAQUcU3RvcHBlZAABBShUZXJtaW5hdGVkAAEFAEgIaWQEFG93bmVyACh1cGRhdGVkX2F0BDh0b3RhbF9zaGFyZXNfegg8YWNjdW11bGF0ZWRfcnB6CDxyZXdhcmRfY3VycmVuY3kEPHBlbmRpbmdfcmV3YXJkcwhgYWNjdW11bGF0ZWRfcGFpZF9yZXdhcmRzCEB5aWVsZF9wZXJfcGVyaW9kCGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMERGJsb2Nrc19wZXJfcGVyaW9kBEhpbmNlbnRpdml6ZWRfYXNzZXQEVG1heF9yZXdhcmRfcGVyX3BlcmlvZAgsbWluX2RlcG9zaXQIWGxpdmVfeWllbGRfZmFybXNfY291bnQEXHRvdGFsX3lpZWxkX2Zhcm1zX2NvdW50BEBwcmljZV9hZGp1c3RtZW50CBRzdGF0ZQUIBAQBDAAwCGlkBCh1cGRhdGVkX2F0BDB0b3RhbF9zaGFyZXMITHRvdGFsX3ZhbHVlZF9zaGFyZXMIQGFjY3VtdWxhdGVkX3JwdnMIPGFjY3VtdWxhdGVkX3Jwegg0bG95YWx0eV9jdXJ2ZSkCKG11bHRpcGxpZXIIFHN0YXRlBQg0ZW50cmllc19jb3VudAhIbGVmdF90b19kaXN0cmlidXRlCDR0b3RhbF9zdG9wcGVkBAAgOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBDR2YWx1ZWRfc2hhcmVzCEBhY2N1bXVsYXRlZF9ycHZzCGxhY2N1bXVsYXRlZF9jbGFpbWVkX3Jld2FyZHMIKGVudGVyZWRfYXQEKHVwZGF0ZWRfYXQETHN0b3BwZWRfYXRfY3JlYXRpb24EBBUIAAAMGHNoYXJlcwgsYW1tX3Bvb2xfaWQESHlpZWxkX2Zhcm1fZW50cmllcxkIABgUb3duZXIAIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbggoYW1vdW50X291dAhIcGFydGlhbGx5X2ZpbGxhYmxlFAAMJHZvbHVtZV9pbggodm9sdW1lX291dAgUbGltaXQIAAgkbGlxdWlkaXR5CBRsaW1pdAgCCBhMb2NrZWQBBCBVbmxvY2tlZAH9BQAMJGFzc2V0X2ZlZQQwcHJvdG9jb2xfZmVlBCR0aW1lc3RhbXAEAAwsdG90YWxfc3Rha2UIcGFjY3VtdWxhdGVkX3Jld2FyZF9wZXJfc3Rha2UIUHBvdF9yZXNlcnZlZF9iYWxhbmNlCAAcFHN0YWtlCDRhY3Rpb25fcG9pbnRzCEByZXdhcmRfcGVyX3N0YWtlCChjcmVhdGVkX2F0BGBhY2N1bXVsYXRlZF9zbGFzaF9wb2ludHMIaGFjY3VtdWxhdGVkX3VucGFpZF9yZXdhcmRzCGhhY2N1bXVsYXRlZF9sb2NrZWRfcmV3YXJkcwgACBhhbW91bnQIKGNvbnZpY3Rpb25tBQMIBD0IBEEIAAAYGGFzc2V0c0ECVGluaXRpYWxfYW1wbGlmaWNhdGlvbgRMZmluYWxfYW1wbGlmaWNhdGlvbgQ0aW5pdGlhbF9ibG9jawQsZmluYWxfYmxvY2sEDGZlZQQACBhhbW91bnQIIGRlY2ltYWxzBARNCAAAGBhhc3NldHNBAiByZXNlcnZlc1EINGFtcGxpZmljYXRpb24IDGZlZQQQcGVnc3ECOHNoYXJlX2lzc3VhbmNlCAAIFHN0YXJ0BAxlbmQEAwihAggDCAShAgMMBAgAABgccG9vbF9pZAQwcHVyY2hhc2VfZmVlBGRtYXhfYnV5X3ByaWNlX2NvZWZmaWNpZW50CDBidXliYWNrX3JhdGUEMGJ1eV9iYWNrX2ZlZQQ4bWF4X2luX2hvbGRpbmedAQAMEGZyZWUIIHJlc2VydmVkCBhmcm96ZW4IAAgQc2l6ZQgQaGFzaCADCPEBIATJAgAFAQEEABxAdHJhbnNhY3Rpb25faGFzaCBEdHJhbnNhY3Rpb25faW5kZXgEEGZyb23xAQh0b0UFQGNvbnRyYWN0X2FkZHJlc3NFBRBsb2dzeQgobG9nc19ibG9vbX0IABAsc3RhdHVzX2NvZGUEIHVzZWRfZ2FziQQobG9nc19ibG9vbX0IEGxvZ3N5CAIMGExlZ2FjeQGFCBxFSVAyOTMwAYUIHEVJUDE1NTkBhQgDDFUGgQiJCAA8LHBhcmVudF9oYXNoICxvbW1lcnNfaGFzaCAsYmVuZWZpY2lhcnnxAShzdGF0ZV9yb290IER0cmFuc2FjdGlvbnNfcm9vdCA0cmVjZWlwdHNfcm9vdCAobG9nc19ibG9vbX0IKGRpZmZpY3VsdHmJBBhudW1iZXKJBCRnYXNfbGltaXSJBCBnYXNfdXNlZIkEJHRpbWVzdGFtcAgoZXh0cmFfZGF0YSQgbWl4X2hhc2ggFG5vbmNlXQIEVQYABJEIAAAMGGhlYWRlcpEIMHRyYW5zYWN0aW9uc5UIGG9tbWVyc5kIBIkIAASBCAADDAAEBAAMGHNoYXJlcwgsYW1tX3Bvb2xfaWQASHlpZWxkX2Zhcm1fZW50cmllcxkIABQgbWF5YmVfaWQRAyBwcmlvcml0eQQQY2FsbLkBOG1heWJlX3BlcmlvZGljOQIYb3JpZ2luxQQGsQgEtQgAAAw0dG90YWxfcmV0cmllcwQkcmVtYWluaW5nBBhwZXJpb2QEAAgkbXNnX2NvdW50BCx0b3RhbF9ieXRlcwQDCATBCATFCAAADDR1bXBfbXNnX2NvdW50BDx1bXBfdG90YWxfYnl0ZXMENGhybXBfb3V0Z29pbmfJCAIIFEFib3J0AAEFHEdvQWhlYWQAAQUG0QgADDh1c2VkX2JhbmR3aWR0aM0IOHBhcmFfaGVhZF9oYXNoEQNgY29uc3VtZWRfZ29fYWhlYWRfc2lnbmFs1QgE2QgAAAw4dXNlZF9iYW5kd2lkdGjNCDhocm1wX3dhdGVybWFya+UBYGNvbnN1bWVkX2dvX2FoZWFkX3NpZ25hbNUIAgQcUHJlc2VudAABBQblCAAIPHJlbWFpbmluZ19jb3VudAQ4cmVtYWluaW5nX3NpemUEABgwbWF4X2NhcGFjaXR5BDhtYXhfdG90YWxfc2l6ZQRAbWF4X21lc3NhZ2Vfc2l6ZQQkbXNnX2NvdW50BCh0b3RhbF9zaXplBCBtcWNfaGVhZBEDAwgE8QgE9QgAABAwZG1xX21xY19oZWFkIJxyZWxheV9kaXNwYXRjaF9xdWV1ZV9yZW1haW5pbmdfY2FwYWNpdHntCEBpbmdyZXNzX2NoYW5uZWxz+Qg8ZWdyZXNzX2NoYW5uZWxz+QgACExtYXhfY2FuZGlkYXRlX2RlcHRoBFBhbGxvd2VkX2FuY2VzdHJ5X2xlbgQAKDRtYXhfY29kZV9zaXplBEhtYXhfaGVhZF9kYXRhX3NpemUEWG1heF91cHdhcmRfcXVldWVfY291bnQEVG1heF91cHdhcmRfcXVldWVfc2l6ZQRcbWF4X3Vwd2FyZF9tZXNzYWdlX3NpemUEkG1heF91cHdhcmRfbWVzc2FnZV9udW1fcGVyX2NhbmRpZGF0ZQSIaHJtcF9tYXhfbWVzc2FnZV9udW1fcGVyX2NhbmRpZGF0ZQRsdmFsaWRhdGlvbl91cGdyYWRlX2Nvb2xkb3duBGB2YWxpZGF0aW9uX3VwZ3JhZGVfZGVsYXkEUGFzeW5jX2JhY2tpbmdfcGFyYW1zAQkDCAQgBAkJAAAIJHJlY2lwaWVudAQQZGF0YSQEEQkABq0DBtEEAgwIVjIBoQYIVjMBuQYIVjQBTQMCDBxQZW5kaW5nAAAQJHJlc3BvbmRlcq0DTG1heWJlX21hdGNoX3F1ZXJpZXIZCTBtYXliZV9ub3RpZnkdCRx0aW1lb3V0BDxWZXJzaW9uTm90aWZpZXIAAAgYb3JpZ2lurQMkaXNfYWN0aXZlFBRSZWFkeQAACCByZXNwb25zZSEJCGF0BAMIBK0DAwwIGAQDCK0DBAQxCQACEFxNaWdyYXRlU3VwcG9ydGVkVmVyc2lvbgABBVxNaWdyYXRlVmVyc2lvbk5vdGlmaWVycwABBVBOb3RpZnlDdXJyZW50VGFyZ2V0cwHdAWhNaWdyYXRlQW5kTm90aWZ5T2xkVGFyZ2V0cwABBQMMBADVBgMIkAgEQQkAABAYYW1vdW50CBRvd25lcq0DGGxvY2tlcq0DJGNvbnN1bWVyc0UJAwgIrQMETQkAAggIT2sAAQUkU3VzcGVuZGVkAAEFABQkcmVjaXBpZW50BBRzdGF0ZVUJNHNpZ25hbHNfZXhpc3QULGZpcnN0X2luZGV4BChsYXN0X2luZGV4BARZCQADCAQEAAxEc3VzcGVuZF90aHJlc2hvbGQEOGRyb3BfdGhyZXNob2xkBEByZXN1bWVfdGhyZXNob2xkBAAIEHByZXa9AxBuZXh0vQMGaQkAGBRiZWdpbgQMZW5kBBRjb3VudARAcmVhZHlfbmVpZ2hib3Vyc20JNG1lc3NhZ2VfY291bnQIEHNpemUIAwi9AwQAGCRyZW1haW5pbmcEOHJlbWFpbmluZ19zaXplBCxmaXJzdF9pbmRleAQUZmlyc3QEEGxhc3QEEGhlYXAkBAUCAQgDCAUCJAAIDHdobwAcZGVwb3NpdAgEhQkABI0HAAMIKCQDCAgEAwhdAjUCAAgEbggEZAgAEBBhX2luCBRiX291dAgUYV9vdXQIEGJfaW4IAAgEYQgEYggAFBRwcmljZZ0JGHZvbHVtZaEJJGxpcXVpZGl0eaUJPHNoYXJlc19pc3N1YW5jZZ0BKHVwZGF0ZWRfYXQEAwiZCakJBK0JAAMMXQI1AmECAwipCQQEmQkAABQscGFyZW50X2hhc2ggGG51bWJlcgQoc3RhdGVfcm9vdCA8ZXh0cmluc2ljc19yb290IBhkaWdlc3QwAAgYaGVhZGVywQkoZXh0cmluc2ljc00EAgg0QWxsRXh0cmluc2ljcwABBTRPbmx5SW5oZXJlbnRzAAEFAiwQQ2FsbAABBRxQYXltZW50AAEFGEZ1dHVyZQABBRRTdGFsZQABBSBCYWRQcm9vZgABBURBbmNpZW50QmlydGhCbG9jawABBURFeGhhdXN0c1Jlc291cmNlcwABBRhDdXN0b20BBDBCYWRNYW5kYXRvcnkAAQVMTWFuZGF0b3J5VmFsaWRhdGlvbgABBSRCYWRTaWduZXIAAQUCDDBDYW5ub3RMb29rdXAAAQVMTm9VbnNpZ25lZFZhbGlkYXRvcgABBRhDdXN0b20BBAIIHEludmFsaWQBzQkcVW5rbm93bgHRCQdlAdUJAwhdAiQE3QkAAAwQb2theRQsZmF0YWxfZXJyb3IUGGVycm9yc+EJAgwcSW5CbG9jawABBRRMb2NhbAABBSBFeHRlcm5hbAABBQAUIHByaW9yaXR5CCByZXF1aXJlc00EIHByb3ZpZGVzTQQkbG9uZ2V2aXR5CCRwcm9wYWdhdGUUB+0J1QkDCCQoBPUJAAb5CQAYPHVwd2FyZF9tZXNzYWdlc00ETGhvcml6b250YWxfbWVzc2FnZXMVCUxuZXdfdmFsaWRhdGlvbl9jb2Rl3QFscHJvY2Vzc2VkX2Rvd253YXJkX21lc3NhZ2VzBDhocm1wX3dhdGVybWFyawQkaGVhZF9kYXRhJAMIBG0IBAUKAAAMGHdlaWdodBgUY2xhc3M4LHBhcnRpYWxfZmVlCAAMIGJhc2VfZmVlCBxsZW5fZmVlCExhZGp1c3RlZF93ZWlnaHRfZmVlCAYRCgAINGluY2x1c2lvbl9mZWUVCgx0aXAIAAgcYmFsYW5jZYkEFG5vbmNliQQGMQYACCBzdGFuZGFyZIkEJGVmZmVjdGl2ZYkEABA4cmVmX3RpbWVfbGltaXSdAUBwcm9vZl9zaXplX2xpbWl0nQE4cmVmX3RpbWVfdXNhZ2WdAUBwcm9vZl9zaXplX3VzYWdlnQEGKQoAFCxleGl0X3JlYXNvbuUCFHZhbHVlJCB1c2VkX2dhcyUKLHdlaWdodF9pbmZvLQoQbG9nc3kIBzEKSQEAFCxleGl0X3JlYXNvbuUCFHZhbHVl8QEgdXNlZF9nYXMlCix3ZWlnaHRfaW5mby0KEGxvZ3N5CAc5CkkBBp0IBqEIBqUIAwxBCkUKSQoDCEEKSQoE1QYAAhg0VW5pbXBsZW1lbnRlZAABBWRWZXJzaW9uZWRDb252ZXJzaW9uRmFpbGVkAAEFTFdlaWdodE5vdENvbXB1dGFibGUAAQVMVW5oYW5kbGVkWGNtVmVyc2lvbgABBTRBc3NldE5vdEZvdW5kAAEFKFVucm91dGFibGUAAQUHVQpZCgcYWQoHCFkKB6kDWQoEDQQABs0GBM0GAAMIrQN1CgR5CgAAEEBleGVjdXRpb25fcmVzdWx00QE4ZW1pdHRlZF9ldmVudHNtCiRsb2NhbF94Y21xCjhmb3J3YXJkZWRfeGNtc30KAgg0VW5pbXBsZW1lbnRlZAABBWRWZXJzaW9uZWRDb252ZXJzaW9uRmFpbGVkAAEFB4EKhQoADEBleGVjdXRpb25fcmVzdWx0IQM4ZW1pdHRlZF9ldmVudHNtCjhmb3J3YXJkZWRfeGNtc30KB40KhQoCCCxVbnN1cHBvcnRlZAABBWRWZXJzaW9uZWRDb252ZXJzaW9uRmFpbGVkAAEFBwCVCgMQBARhAl0CBp0KABAccmVzZXJ2ZQQYYXRva2VuBCxsaXF1ZGl0eV9pbggwbGlxdWRpdHlfb3V0CASlCgAHkNUCBtUCBNUCAA==";
68
68
  metadataTypes_default = content;
69
69
  }
70
70
  });
@@ -78,7 +78,7 @@ var binMeta, hydration_metadata_default;
78
78
  var init_hydration_metadata = __esm({
79
79
  ".papi/descriptors/src/hydration_metadata.ts"() {
80
80
  "use strict";
81
- binMeta = "bWV0YQ95DgAMHHNwX2NvcmUYY3J5cHRvLEFjY291bnRJZDMyAAAEAAQBIFt1ODsgMzJdAAAEAAADIAAAAAgACAAABQMADAgwZnJhbWVfc3lzdGVtLEFjY291bnRJbmZvCBROb25jZQEQLEFjY291bnREYXRhARQAFAEUbm9uY2UQARROb25jZQABJGNvbnN1bWVycxABIFJlZkNvdW50AAEkcHJvdmlkZXJzEAEgUmVmQ291bnQAASxzdWZmaWNpZW50cxABIFJlZkNvdW50AAEQZGF0YRQBLEFjY291bnREYXRhAAAQAAAFBQAUDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXMsQWNjb3VudERhdGEEHEJhbGFuY2UBGAAQARBmcmVlGAEcQmFsYW5jZQABIHJlc2VydmVkGAEcQmFsYW5jZQABGGZyb3plbhgBHEJhbGFuY2UAARRmbGFncxwBKEV4dHJhRmxhZ3MAABgAAAUHABwMPHBhbGxldF9iYWxhbmNlcxR0eXBlcyhFeHRyYUZsYWdzAAAEABgBEHUxMjgAACAAAAUAACQMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUGVyRGlzcGF0Y2hDbGFzcwQEVAEoAAwBGG5vcm1hbCgBBFQAASxvcGVyYXRpb25hbCgBBFQAASRtYW5kYXRvcnkoAQRUAAAoDChzcF93ZWlnaHRzJHdlaWdodF92MhhXZWlnaHQAAAgBIHJlZl90aW1lLAEMdTY0AAEocHJvb2Zfc2l6ZSwBDHU2NAAALAAABjAAMAAABQYANAg8cHJpbWl0aXZlX3R5cGVzEEgyNTYAAAQABAEgW3U4OyAzMl0AADgAAAIIADwQKHNwX3J1bnRpbWUcZ2VuZXJpYxhkaWdlc3QYRGlnZXN0AAAEARBsb2dzQAE8VmVjPERpZ2VzdEl0ZW0+AABAAAACRABEEChzcF9ydW50aW1lHGdlbmVyaWMYZGlnZXN0KERpZ2VzdEl0ZW0AARQoUHJlUnVudGltZQgASAFEQ29uc2Vuc3VzRW5naW5lSWQAADgBHFZlYzx1OD4ABgAkQ29uc2Vuc3VzCABIAURDb25zZW5zdXNFbmdpbmVJZAAAOAEcVmVjPHU4PgAEABBTZWFsCABIAURDb25zZW5zdXNFbmdpbmVJZAAAOAEcVmVjPHU4PgAFABRPdGhlcgQAOAEcVmVjPHU4PgAAAGRSdW50aW1lRW52aXJvbm1lbnRVcGRhdGVkAAgAAEgAAAMEAAAACABMAAACUABQCDBmcmFtZV9zeXN0ZW0sRXZlbnRSZWNvcmQIBEUBVARUATQADAEUcGhhc2WVBwEUUGhhc2UAARRldmVudFQBBEUAARh0b3BpY3PJAQEYVmVjPFQ+AABUCDxoeWRyYWR4X3J1bnRpbWUwUnVudGltZUV2ZW50AAH4GFN5c3RlbQQAWAFwZnJhbWVfc3lzdGVtOjpFdmVudDxSdW50aW1lPgABACBCYWxhbmNlcwQAfAF8cGFsbGV0X2JhbGFuY2VzOjpFdmVudDxSdW50aW1lPgAHAEhUcmFuc2FjdGlvblBheW1lbnQEAIQBqHBhbGxldF90cmFuc2FjdGlvbl9wYXltZW50OjpFdmVudDxSdW50aW1lPgAJAFxNdWx0aVRyYW5zYWN0aW9uUGF5bWVudAQAiAHAcGFsbGV0X3RyYW5zYWN0aW9uX211bHRpX3BheW1lbnQ6OkV2ZW50PFJ1bnRpbWU+AMsAIFRyZWFzdXJ5BACMAXxwYWxsZXRfdHJlYXN1cnk6OkV2ZW50PFJ1bnRpbWU+AAsAHFV0aWxpdHkEAJQBVHBhbGxldF91dGlsaXR5OjpFdmVudAANACBQcmVpbWFnZQQAnAF8cGFsbGV0X3ByZWltYWdlOjpFdmVudDxSdW50aW1lPgAPACBJZGVudGl0eQQAoAF8cGFsbGV0X2lkZW50aXR5OjpFdmVudDxSdW50aW1lPgARACREZW1vY3JhY3kEAKgBgHBhbGxldF9kZW1vY3JhY3k6OkV2ZW50PFJ1bnRpbWU+ABMASFRlY2huaWNhbENvbW1pdHRlZQQAvAH8cGFsbGV0X2NvbGxlY3RpdmU6OkV2ZW50PFJ1bnRpbWUsIHBhbGxldF9jb2xsZWN0aXZlOjpJbnN0YW5jZTI+ABkAFFByb3h5BADAAXBwYWxsZXRfcHJveHk6OkV2ZW50PFJ1bnRpbWU+AB0AIE11bHRpc2lnBADMAXxwYWxsZXRfbXVsdGlzaWc6OkV2ZW50PFJ1bnRpbWU+AB8AHFVuaXF1ZXMEANQBeHBhbGxldF91bmlxdWVzOjpFdmVudDxSdW50aW1lPgAgAEhTdGF0ZVRyaWVNaWdyYXRpb24EAPABrHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbjo6RXZlbnQ8UnVudGltZT4AIwBAQ29udmljdGlvblZvdGluZwQA/AGgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nOjpFdmVudDxSdW50aW1lPgAkACRSZWZlcmVuZGEEAAkBAYBwYWxsZXRfcmVmZXJlbmRhOjpFdmVudDxSdW50aW1lPgAlACRXaGl0ZWxpc3QEAFkGAYBwYWxsZXRfd2hpdGVsaXN0OjpFdmVudDxSdW50aW1lPgAnAChEaXNwYXRjaGVyBABtBgGEcGFsbGV0X2Rpc3BhdGNoZXI6OkV2ZW50PFJ1bnRpbWU+ACgANEFzc2V0UmVnaXN0cnkEAHEGAZRwYWxsZXRfYXNzZXRfcmVnaXN0cnk6OkV2ZW50PFJ1bnRpbWU+ADMAGENsYWltcwQAdQYBdHBhbGxldF9jbGFpbXM6OkV2ZW50PFJ1bnRpbWU+ADUAPENvbGxhdG9yUmV3YXJkcwQAfQYBnHBhbGxldF9jb2xsYXRvcl9yZXdhcmRzOjpFdmVudDxSdW50aW1lPgA5ACBPbW5pcG9vbAQAgQYBfHBhbGxldF9vbW5pcG9vbDo6RXZlbnQ8UnVudGltZT4AOwBAVHJhbnNhY3Rpb25QYXVzZQQAhQYBoHBhbGxldF90cmFuc2FjdGlvbl9wYXVzZTo6RXZlbnQ8UnVudGltZT4APAAYRHVzdGVyBACJBgF0cGFsbGV0X2R1c3Rlcjo6RXZlbnQ8UnVudGltZT4APQBMT21uaXBvb2xXYXJlaG91c2VMTQQAjQYBSQF3YXJlaG91c2VfbGlxdWlkaXR5X21pbmluZzo6RXZlbnQ8UnVudGltZSwgd2FyZWhvdXNlX2xpcXVpZGl0eV9taW5pbmc6OgpJbnN0YW5jZTE+AD4AXE9tbmlwb29sTGlxdWlkaXR5TWluaW5nBACRBgHAcGFsbGV0X29tbmlwb29sX2xpcXVpZGl0eV9taW5pbmc6OkV2ZW50PFJ1bnRpbWU+AD8ADE9UQwQAlQYBaHBhbGxldF9vdGM6OkV2ZW50PFJ1bnRpbWU+AEAAOENpcmN1aXRCcmVha2VyBACZBgGYcGFsbGV0X2NpcmN1aXRfYnJlYWtlcjo6RXZlbnQ8UnVudGltZT4AQQAYUm91dGVyBACdBgGUcGFsbGV0X3JvdXRlX2V4ZWN1dG9yOjpFdmVudDxSdW50aW1lPgBDACxEeW5hbWljRmVlcwQAoQYBjHBhbGxldF9keW5hbWljX2ZlZXM6OkV2ZW50PFJ1bnRpbWU+AEQAHFN0YWtpbmcEAKUGAXhwYWxsZXRfc3Rha2luZzo6RXZlbnQ8UnVudGltZT4ARQAoU3RhYmxlc3dhcAQAqQYBhHBhbGxldF9zdGFibGVzd2FwOjpFdmVudDxSdW50aW1lPgBGABRCb25kcwQAwQYBcHBhbGxldF9ib25kczo6RXZlbnQ8UnVudGltZT4ARwA4T3RjU2V0dGxlbWVudHMEAMUGAZhwYWxsZXRfb3RjX3NldHRsZW1lbnRzOjpFdmVudDxSdW50aW1lPgBIAAxMQlAEAMkGAWhwYWxsZXRfbGJwOjpFdmVudDxSdW50aW1lPgBJAAxYWUsEANEGAWhwYWxsZXRfeHlrOjpFdmVudDxSdW50aW1lPgBKACRSZWZlcnJhbHMEANUGAYBwYWxsZXRfcmVmZXJyYWxzOjpFdmVudDxSdW50aW1lPgBLACxMaXF1aWRhdGlvbgQA3QYBiHBhbGxldF9saXF1aWRhdGlvbjo6RXZlbnQ8UnVudGltZT4ATAAMSFNNBADhBgFocGFsbGV0X2hzbTo6RXZlbnQ8UnVudGltZT4AUgAYVG9rZW5zBADlBgFsb3JtbF90b2tlbnM6OkV2ZW50PFJ1bnRpbWU+AE0AKEN1cnJlbmNpZXMEAOkGAYRwYWxsZXRfY3VycmVuY2llczo6RXZlbnQ8UnVudGltZT4ATwAcVmVzdGluZwQA7QYBcG9ybWxfdmVzdGluZzo6RXZlbnQ8UnVudGltZT4AUQAMRVZNBADxBgFocGFsbGV0X2V2bTo6RXZlbnQ8UnVudGltZT4AWgAgRXRoZXJldW0EAPkGAVhwYWxsZXRfZXRoZXJldW06OkV2ZW50AFwALEVWTUFjY291bnRzBAAdBwGMcGFsbGV0X2V2bV9hY2NvdW50czo6RXZlbnQ8UnVudGltZT4AXQBIWFlLTGlxdWlkaXR5TWluaW5nBAAhBwGscGFsbGV0X3h5a19saXF1aWRpdHlfbWluaW5nOjpFdmVudDxSdW50aW1lPgBfADhYWUtXYXJlaG91c2VMTQQAJQcBSQF3YXJlaG91c2VfbGlxdWlkaXR5X21pbmluZzo6RXZlbnQ8UnVudGltZSwgd2FyZWhvdXNlX2xpcXVpZGl0eV9taW5pbmc6OgpJbnN0YW5jZTI+AGAAOFJlbGF5Q2hhaW5JbmZvBAApBwGYcGFsbGV0X3JlbGF5Y2hhaW5faW5mbzo6RXZlbnQ8UnVudGltZT4AyQAMRENBBAAtBwFocGFsbGV0X2RjYTo6RXZlbnQ8UnVudGltZT4AQgAkU2NoZWR1bGVyBAAxBwGAcGFsbGV0X3NjaGVkdWxlcjo6RXZlbnQ8UnVudGltZT4ABQA8UGFyYWNoYWluU3lzdGVtBAA5BwG8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbTo6RXZlbnQ8UnVudGltZT4AZwAsUG9sa2Fkb3RYY20EAD0HAWhwYWxsZXRfeGNtOjpFdmVudDxSdW50aW1lPgBrAChDdW11bHVzWGNtBABFBwGIY3VtdWx1c19wYWxsZXRfeGNtOjpFdmVudDxSdW50aW1lPgBtACRYY21wUXVldWUEAEkHAaRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlOjpFdmVudDxSdW50aW1lPgBvADBNZXNzYWdlUXVldWUEAE0HAZBwYWxsZXRfbWVzc2FnZV9xdWV1ZTo6RXZlbnQ8UnVudGltZT4AcgAcT3JtbFhjbQQAVQcBYG9ybWxfeGNtOjpFdmVudDxSdW50aW1lPgCHABxYVG9rZW5zBABZBwFwb3JtbF94dG9rZW5zOjpFdmVudDxSdW50aW1lPgCJADRVbmtub3duVG9rZW5zBABdBwFob3JtbF91bmtub3duX3Rva2Vuczo6RXZlbnQAiwBEQ29sbGF0b3JTZWxlY3Rpb24EAGEHAaRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uOjpFdmVudDxSdW50aW1lPgCjABxTZXNzaW9uBABlBwFUcGFsbGV0X3Nlc3Npb246OkV2ZW50AKUAJEVtYU9yYWNsZQQAaQcBhHBhbGxldF9lbWFfb3JhY2xlOjpFdmVudDxSdW50aW1lPgDKACRCcm9hZGNhc3QEAG0HAYBwYWxsZXRfYnJvYWRjYXN0OjpFdmVudDxSdW50aW1lPgDMAABYDDBmcmFtZV9zeXN0ZW0YcGFsbGV0FEV2ZW50BARUAAEcQEV4dHJpbnNpY1N1Y2Nlc3MEATRkaXNwYXRjaF9pbmZvXAEwRGlzcGF0Y2hJbmZvAAAEkEFuIGV4dHJpbnNpYyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LjxFeHRyaW5zaWNGYWlsZWQIAThkaXNwYXRjaF9lcnJvcmgBNERpc3BhdGNoRXJyb3IAATRkaXNwYXRjaF9pbmZvXAEwRGlzcGF0Y2hJbmZvAAEEUEFuIGV4dHJpbnNpYyBmYWlsZWQuLENvZGVVcGRhdGVkAAIEUGA6Y29kZWAgd2FzIHVwZGF0ZWQuKE5ld0FjY291bnQEARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAMEaEEgbmV3IGFjY291bnQgd2FzIGNyZWF0ZWQuNEtpbGxlZEFjY291bnQEARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAQEWEFuIGFjY291bnQgd2FzIHJlYXBlZC4gUmVtYXJrZWQIARhzZW5kZXIAATBUOjpBY2NvdW50SWQAARBoYXNoNAEcVDo6SGFzaAAFBHBPbiBvbi1jaGFpbiByZW1hcmsgaGFwcGVuZWQuRFVwZ3JhZGVBdXRob3JpemVkCAEkY29kZV9oYXNoNAEcVDo6SGFzaAABNGNoZWNrX3ZlcnNpb24gARBib29sAAYEaEFuIHVwZ3JhZGUgd2FzIGF1dGhvcml6ZWQuBHBFdmVudCBmb3IgdGhlIFN5c3RlbSBwYWxsZXQuXAw0ZnJhbWVfc3VwcG9ydCBkaXNwYXRjaDBEaXNwYXRjaEluZm8AAAwBGHdlaWdodCgBGFdlaWdodAABFGNsYXNzYAE0RGlzcGF0Y2hDbGFzcwABIHBheXNfZmVlZAEQUGF5cwAAYAw0ZnJhbWVfc3VwcG9ydCBkaXNwYXRjaDREaXNwYXRjaENsYXNzAAEMGE5vcm1hbAAAACxPcGVyYXRpb25hbAABACRNYW5kYXRvcnkAAgAAZAw0ZnJhbWVfc3VwcG9ydCBkaXNwYXRjaBBQYXlzAAEIDFllcwAAAAhObwABAABoCChzcF9ydW50aW1lNERpc3BhdGNoRXJyb3IAATgUT3RoZXIAAAAwQ2Fubm90TG9va3VwAAEAJEJhZE9yaWdpbgACABhNb2R1bGUEAGwBLE1vZHVsZUVycm9yAAMARENvbnN1bWVyUmVtYWluaW5nAAQALE5vUHJvdmlkZXJzAAUAQFRvb01hbnlDb25zdW1lcnMABgAUVG9rZW4EAHABKFRva2VuRXJyb3IABwAoQXJpdGhtZXRpYwQAdAE8QXJpdGhtZXRpY0Vycm9yAAgANFRyYW5zYWN0aW9uYWwEAHgBSFRyYW5zYWN0aW9uYWxFcnJvcgAJACRFeGhhdXN0ZWQACgAoQ29ycnVwdGlvbgALACxVbmF2YWlsYWJsZQAMADhSb290Tm90QWxsb3dlZAANAABsCChzcF9ydW50aW1lLE1vZHVsZUVycm9yAAAIARRpbmRleAgBCHU4AAEUZXJyb3JIAYxbdTg7IE1BWF9NT0RVTEVfRVJST1JfRU5DT0RFRF9TSVpFXQAAcAgoc3BfcnVudGltZShUb2tlbkVycm9yAAEoQEZ1bmRzVW5hdmFpbGFibGUAAAAwT25seVByb3ZpZGVyAAEAMEJlbG93TWluaW11bQACADBDYW5ub3RDcmVhdGUAAwAwVW5rbm93bkFzc2V0AAQAGEZyb3plbgAFACxVbnN1cHBvcnRlZAAGAEBDYW5ub3RDcmVhdGVIb2xkAAcANE5vdEV4cGVuZGFibGUACAAcQmxvY2tlZAAJAAB0CDRzcF9hcml0aG1ldGljPEFyaXRobWV0aWNFcnJvcgABDCRVbmRlcmZsb3cAAAAgT3ZlcmZsb3cAAQA4RGl2aXNpb25CeVplcm8AAgAAeAgoc3BfcnVudGltZUhUcmFuc2FjdGlvbmFsRXJyb3IAAQgwTGltaXRSZWFjaGVkAAAAHE5vTGF5ZXIAAQAAfAw8cGFsbGV0X2JhbGFuY2VzGHBhbGxldBRFdmVudAgEVAAESQABWBxFbmRvd2VkCAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABMGZyZWVfYmFsYW5jZRgBKFQ6OkJhbGFuY2UAAAS4QW4gYWNjb3VudCB3YXMgY3JlYXRlZCB3aXRoIHNvbWUgZnJlZSBiYWxhbmNlLiBEdXN0TG9zdAgBHGFjY291bnQAATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAEIPQFBbiBhY2NvdW50IHdhcyByZW1vdmVkIHdob3NlIGJhbGFuY2Ugd2FzIG5vbi16ZXJvIGJ1dCBiZWxvdyBFeGlzdGVudGlhbERlcG9zaXQseHJlc3VsdGluZyBpbiBhbiBvdXRyaWdodCBsb3NzLiBUcmFuc2ZlcgwBEGZyb20AATBUOjpBY2NvdW50SWQAAQh0bwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAAgRMVHJhbnNmZXIgc3VjY2VlZGVkLihCYWxhbmNlU2V0CAEMd2hvAAEwVDo6QWNjb3VudElkAAEQZnJlZRgBKFQ6OkJhbGFuY2UAAwRoQSBiYWxhbmNlIHdhcyBzZXQgYnkgcm9vdC4gUmVzZXJ2ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAQE4FNvbWUgYmFsYW5jZSB3YXMgcmVzZXJ2ZWQgKG1vdmVkIGZyb20gZnJlZSB0byByZXNlcnZlZCkuKFVucmVzZXJ2ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAUE6FNvbWUgYmFsYW5jZSB3YXMgdW5yZXNlcnZlZCAobW92ZWQgZnJvbSByZXNlcnZlZCB0byBmcmVlKS5IUmVzZXJ2ZVJlcGF0cmlhdGVkEAEQZnJvbQABMFQ6OkFjY291bnRJZAABCHRvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQABSGRlc3RpbmF0aW9uX3N0YXR1c4ABGFN0YXR1cwAGCE0BU29tZSBiYWxhbmNlIHdhcyBtb3ZlZCBmcm9tIHRoZSByZXNlcnZlIG9mIHRoZSBmaXJzdCBhY2NvdW50IHRvIHRoZSBzZWNvbmQgYWNjb3VudC7YRmluYWwgYXJndW1lbnQgaW5kaWNhdGVzIHRoZSBkZXN0aW5hdGlvbiBiYWxhbmNlIHR5cGUuHERlcG9zaXQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAcE2FNvbWUgYW1vdW50IHdhcyBkZXBvc2l0ZWQgKGUuZy4gZm9yIHRyYW5zYWN0aW9uIGZlZXMpLiBXaXRoZHJhdwgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UACAQdAVNvbWUgYW1vdW50IHdhcyB3aXRoZHJhd24gZnJvbSB0aGUgYWNjb3VudCAoZS5nLiBmb3IgdHJhbnNhY3Rpb24gZmVlcykuHFNsYXNoZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAkEAQFTb21lIGFtb3VudCB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBhY2NvdW50IChlLmcuIGZvciBtaXNiZWhhdmlvcikuGE1pbnRlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UACgScU29tZSBhbW91bnQgd2FzIG1pbnRlZCBpbnRvIGFuIGFjY291bnQuGEJ1cm5lZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UACwScU29tZSBhbW91bnQgd2FzIGJ1cm5lZCBmcm9tIGFuIGFjY291bnQuJFN1c3BlbmRlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UADAQVAVNvbWUgYW1vdW50IHdhcyBzdXNwZW5kZWQgZnJvbSBhbiBhY2NvdW50IChpdCBjYW4gYmUgcmVzdG9yZWQgbGF0ZXIpLiBSZXN0b3JlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UADQSkU29tZSBhbW91bnQgd2FzIHJlc3RvcmVkIGludG8gYW4gYWNjb3VudC4gVXBncmFkZWQEAQx3aG8AATBUOjpBY2NvdW50SWQADgRgQW4gYWNjb3VudCB3YXMgdXBncmFkZWQuGElzc3VlZAQBGGFtb3VudBgBKFQ6OkJhbGFuY2UADwQtAVRvdGFsIGlzc3VhbmNlIHdhcyBpbmNyZWFzZWQgYnkgYGFtb3VudGAsIGNyZWF0aW5nIGEgY3JlZGl0IHRvIGJlIGJhbGFuY2VkLiRSZXNjaW5kZWQEARhhbW91bnQYAShUOjpCYWxhbmNlABAEJQFUb3RhbCBpc3N1YW5jZSB3YXMgZGVjcmVhc2VkIGJ5IGBhbW91bnRgLCBjcmVhdGluZyBhIGRlYnQgdG8gYmUgYmFsYW5jZWQuGExvY2tlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAEQRgU29tZSBiYWxhbmNlIHdhcyBsb2NrZWQuIFVubG9ja2VkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQASBGhTb21lIGJhbGFuY2Ugd2FzIHVubG9ja2VkLhhGcm96ZW4IAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlABMEYFNvbWUgYmFsYW5jZSB3YXMgZnJvemVuLhhUaGF3ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlABQEYFNvbWUgYmFsYW5jZSB3YXMgdGhhd2VkLkxUb3RhbElzc3VhbmNlRm9yY2VkCAEMb2xkGAEoVDo6QmFsYW5jZQABDG5ldxgBKFQ6OkJhbGFuY2UAFQSsVGhlIGBUb3RhbElzc3VhbmNlYCB3YXMgZm9yY2VmdWxseSBjaGFuZ2VkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldIAUNGZyYW1lX3N1cHBvcnQYdHJhaXRzGHRva2VucxBtaXNjNEJhbGFuY2VTdGF0dXMAAQgQRnJlZQAAACBSZXNlcnZlZAABAACEDGhwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudBhwYWxsZXQURXZlbnQEBFQAAQRIVHJhbnNhY3Rpb25GZWVQYWlkDAEMd2hvAAEwVDo6QWNjb3VudElkAAEoYWN0dWFsX2ZlZRgBMEJhbGFuY2VPZjxUPgABDHRpcBgBMEJhbGFuY2VPZjxUPgAACFkBQSB0cmFuc2FjdGlvbiBmZWUgYGFjdHVhbF9mZWVgLCBvZiB3aGljaCBgdGlwYCB3YXMgYWRkZWQgdG8gdGhlIG1pbmltdW0gaW5jbHVzaW9uIGZlZSxcaGFzIGJlZW4gcGFpZCBieSBgd2hvYC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSIDIBwYWxsZXRfdHJhbnNhY3Rpb25fbXVsdGlfcGF5bWVudBhwYWxsZXQURXZlbnQEBFQAARAsQ3VycmVuY3lTZXQIAShhY2NvdW50X2lkAAEwVDo6QWNjb3VudElkAAEgYXNzZXRfaWQQATBBc3NldElkT2Y8VD4AAAgsQ3VycmVuY3lTZXQ8W3dobywgY3VycmVuY3ldNEN1cnJlbmN5QWRkZWQEASBhc3NldF9pZBABMEFzc2V0SWRPZjxUPgABCGxOZXcgYWNjZXB0ZWQgY3VycmVuY3kgYWRkZWQoW2N1cnJlbmN5XTxDdXJyZW5jeVJlbW92ZWQEASBhc3NldF9pZBABMEFzc2V0SWRPZjxUPgACCGRBY2NlcHRlZCBjdXJyZW5jeSByZW1vdmVkKFtjdXJyZW5jeV0wRmVlV2l0aGRyYXduFAEoYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAABIGFzc2V0X2lkEAEwQXNzZXRJZE9mPFQ+AAFEbmF0aXZlX2ZlZV9hbW91bnQYATBCYWxhbmNlT2Y8VD4AAVRub25fbmF0aXZlX2ZlZV9hbW91bnQYATBCYWxhbmNlT2Y8VD4AAVhkZXN0aW5hdGlvbl9hY2NvdW50X2lkAAEwVDo6QWNjb3VudElkAAMIrFRyYW5zYWN0aW9uIGZlZSBwYWlkIGluIG5vbi1uYXRpdmUgY3VycmVuY3lJAVtBY2NvdW50LCBDdXJyZW5jeSwgTmF0aXZlIGZlZSBhbW91bnQsIE5vbi1uYXRpdmUgZmVlIGFtb3VudCwgRGVzdGluYXRpb24gYWNjb3VudF0EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSMDDxwYWxsZXRfdHJlYXN1cnkYcGFsbGV0FEV2ZW50CARUAARJAAEwIFNwZW5kaW5nBAFAYnVkZ2V0X3JlbWFpbmluZxgBPEJhbGFuY2VPZjxULCBJPgAABORXZSBoYXZlIGVuZGVkIGEgc3BlbmQgcGVyaW9kIGFuZCB3aWxsIG5vdyBhbGxvY2F0ZSBmdW5kcy4cQXdhcmRlZAwBOHByb3Bvc2FsX2luZGV4EAE0UHJvcG9zYWxJbmRleAABFGF3YXJkGAE8QmFsYW5jZU9mPFQsIEk+AAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABBHxTb21lIGZ1bmRzIGhhdmUgYmVlbiBhbGxvY2F0ZWQuFEJ1cm50BAEsYnVybnRfZnVuZHMYATxCYWxhbmNlT2Y8VCwgST4AAgSIU29tZSBvZiBvdXIgZnVuZHMgaGF2ZSBiZWVuIGJ1cm50LiBSb2xsb3ZlcgQBQHJvbGxvdmVyX2JhbGFuY2UYATxCYWxhbmNlT2Y8VCwgST4AAwQtAVNwZW5kaW5nIGhhcyBmaW5pc2hlZDsgdGhpcyBpcyB0aGUgYW1vdW50IHRoYXQgcm9sbHMgb3ZlciB1bnRpbCBuZXh0IHNwZW5kLhxEZXBvc2l0BAEUdmFsdWUYATxCYWxhbmNlT2Y8VCwgST4ABAR8U29tZSBmdW5kcyBoYXZlIGJlZW4gZGVwb3NpdGVkLjRTcGVuZEFwcHJvdmVkDAE4cHJvcG9zYWxfaW5kZXgQATRQcm9wb3NhbEluZGV4AAEYYW1vdW50GAE8QmFsYW5jZU9mPFQsIEk+AAEsYmVuZWZpY2lhcnkAATBUOjpBY2NvdW50SWQABQScQSBuZXcgc3BlbmQgcHJvcG9zYWwgaGFzIGJlZW4gYXBwcm92ZWQuPFVwZGF0ZWRJbmFjdGl2ZQgBLHJlYWN0aXZhdGVkGAE8QmFsYW5jZU9mPFQsIEk+AAEsZGVhY3RpdmF0ZWQYATxCYWxhbmNlT2Y8VCwgST4ABgTMVGhlIGluYWN0aXZlIGZ1bmRzIG9mIHRoZSBwYWxsZXQgaGF2ZSBiZWVuIHVwZGF0ZWQuSEFzc2V0U3BlbmRBcHByb3ZlZBgBFGluZGV4EAEoU3BlbmRJbmRleAABKGFzc2V0X2tpbmSQATBUOjpBc3NldEtpbmQAARhhbW91bnQYAVBBc3NldEJhbGFuY2VPZjxULCBJPgABLGJlbmVmaWNpYXJ5AAE4VDo6QmVuZWZpY2lhcnkAASh2YWxpZF9mcm9tEAFEQmxvY2tOdW1iZXJGb3I8VD4AASRleHBpcmVfYXQQAURCbG9ja051bWJlckZvcjxUPgAHBLRBIG5ldyBhc3NldCBzcGVuZCBwcm9wb3NhbCBoYXMgYmVlbiBhcHByb3ZlZC5AQXNzZXRTcGVuZFZvaWRlZAQBFGluZGV4EAEoU3BlbmRJbmRleAAIBHRBbiBhcHByb3ZlZCBzcGVuZCB3YXMgdm9pZGVkLhBQYWlkCAEUaW5kZXgQAShTcGVuZEluZGV4AAEocGF5bWVudF9pZJABZDxUOjpQYXltYXN0ZXIgYXMgUGF5Pjo6SWQACQRMQSBwYXltZW50IGhhcHBlbmVkLjRQYXltZW50RmFpbGVkCAEUaW5kZXgQAShTcGVuZEluZGV4AAEocGF5bWVudF9pZJABZDxUOjpQYXltYXN0ZXIgYXMgUGF5Pjo6SWQACgSQQSBwYXltZW50IGZhaWxlZCBhbmQgY2FuIGJlIHJldHJpZWQuOFNwZW5kUHJvY2Vzc2VkBAEUaW5kZXgQAShTcGVuZEluZGV4AAsITQFBIHNwZW5kIHdhcyBwcm9jZXNzZWQgYW5kIHJlbW92ZWQgZnJvbSB0aGUgc3RvcmFnZS4gSXQgbWlnaHQgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseXBwYWlkIG9yIGl0IG1heSBoYXZlIGV4cGlyZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0kAAABAAAlAw4cGFsbGV0X3V0aWxpdHkYcGFsbGV0FEV2ZW50AAEYQEJhdGNoSW50ZXJydXB0ZWQIARRpbmRleBABDHUzMgABFGVycm9yaAE0RGlzcGF0Y2hFcnJvcgAACFUBQmF0Y2ggb2YgZGlzcGF0Y2hlcyBkaWQgbm90IGNvbXBsZXRlIGZ1bGx5LiBJbmRleCBvZiBmaXJzdCBmYWlsaW5nIGRpc3BhdGNoIGdpdmVuLCBhc0h3ZWxsIGFzIHRoZSBlcnJvci44QmF0Y2hDb21wbGV0ZWQAAQTIQmF0Y2ggb2YgZGlzcGF0Y2hlcyBjb21wbGV0ZWQgZnVsbHkgd2l0aCBubyBlcnJvci5gQmF0Y2hDb21wbGV0ZWRXaXRoRXJyb3JzAAIEtEJhdGNoIG9mIGRpc3BhdGNoZXMgY29tcGxldGVkIGJ1dCBoYXMgZXJyb3JzLjRJdGVtQ29tcGxldGVkAAMEHQFBIHNpbmdsZSBpdGVtIHdpdGhpbiBhIEJhdGNoIG9mIGRpc3BhdGNoZXMgaGFzIGNvbXBsZXRlZCB3aXRoIG5vIGVycm9yLihJdGVtRmFpbGVkBAEUZXJyb3JoATREaXNwYXRjaEVycm9yAAQEEQFBIHNpbmdsZSBpdGVtIHdpdGhpbiBhIEJhdGNoIG9mIGRpc3BhdGNoZXMgaGFzIGNvbXBsZXRlZCB3aXRoIGVycm9yLjBEaXNwYXRjaGVkQXMEARhyZXN1bHSYAThEaXNwYXRjaFJlc3VsdAAFBFhBIGNhbGwgd2FzIGRpc3BhdGNoZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0mAQYUmVzdWx0CARUAZAERQFoAQgIT2sEAJAAAAAADEVycgQAaAAAAQAAnAw8cGFsbGV0X3ByZWltYWdlGHBhbGxldBRFdmVudAQEVAABDBROb3RlZAQBEGhhc2g0ARxUOjpIYXNoAAAEaEEgcHJlaW1hZ2UgaGFzIGJlZW4gbm90ZWQuJFJlcXVlc3RlZAQBEGhhc2g0ARxUOjpIYXNoAAEEeEEgcHJlaW1hZ2UgaGFzIGJlZW4gcmVxdWVzdGVkLhxDbGVhcmVkBAEQaGFzaDQBHFQ6Okhhc2gAAgRsQSBwcmVpbWFnZSBoYXMgYmVuIGNsZWFyZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0oAw8cGFsbGV0X2lkZW50aXR5GHBhbGxldBRFdmVudAQEVAABRCxJZGVudGl0eVNldAQBDHdobwABMFQ6OkFjY291bnRJZAAABOxBIG5hbWUgd2FzIHNldCBvciByZXNldCAod2hpY2ggd2lsbCByZW1vdmUgYWxsIGp1ZGdlbWVudHMpLjxJZGVudGl0eUNsZWFyZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAEEzEEgbmFtZSB3YXMgY2xlYXJlZCwgYW5kIHRoZSBnaXZlbiBiYWxhbmNlIHJldHVybmVkLjhJZGVudGl0eUtpbGxlZAgBDHdobwABMFQ6OkFjY291bnRJZAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4AAgTEQSBuYW1lIHdhcyByZW1vdmVkIGFuZCB0aGUgZ2l2ZW4gYmFsYW5jZSBzbGFzaGVkLkhKdWRnZW1lbnRSZXF1ZXN0ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAATxyZWdpc3RyYXJfaW5kZXgQAThSZWdpc3RyYXJJbmRleAADBJxBIGp1ZGdlbWVudCB3YXMgYXNrZWQgZnJvbSBhIHJlZ2lzdHJhci5QSnVkZ2VtZW50VW5yZXF1ZXN0ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAATxyZWdpc3RyYXJfaW5kZXgQAThSZWdpc3RyYXJJbmRleAAEBIhBIGp1ZGdlbWVudCByZXF1ZXN0IHdhcyByZXRyYWN0ZWQuOEp1ZGdlbWVudEdpdmVuCAEYdGFyZ2V0AAEwVDo6QWNjb3VudElkAAE8cmVnaXN0cmFyX2luZGV4EAE4UmVnaXN0cmFySW5kZXgABQSUQSBqdWRnZW1lbnQgd2FzIGdpdmVuIGJ5IGEgcmVnaXN0cmFyLjhSZWdpc3RyYXJBZGRlZAQBPHJlZ2lzdHJhcl9pbmRleBABOFJlZ2lzdHJhckluZGV4AAYEWEEgcmVnaXN0cmFyIHdhcyBhZGRlZC5AU3ViSWRlbnRpdHlBZGRlZAwBDHN1YgABMFQ6OkFjY291bnRJZAABEG1haW4AATBUOjpBY2NvdW50SWQAARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAcE9EEgc3ViLWlkZW50aXR5IHdhcyBhZGRlZCB0byBhbiBpZGVudGl0eSBhbmQgdGhlIGRlcG9zaXQgcGFpZC5IU3ViSWRlbnRpdHlSZW1vdmVkDAEMc3ViAAEwVDo6QWNjb3VudElkAAEQbWFpbgABMFQ6OkFjY291bnRJZAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4ACAQJAUEgc3ViLWlkZW50aXR5IHdhcyByZW1vdmVkIGZyb20gYW4gaWRlbnRpdHkgYW5kIHRoZSBkZXBvc2l0IGZyZWVkLkhTdWJJZGVudGl0eVJldm9rZWQMAQxzdWIAATBUOjpBY2NvdW50SWQAARBtYWluAAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgAJCBkBQSBzdWItaWRlbnRpdHkgd2FzIGNsZWFyZWQsIGFuZCB0aGUgZ2l2ZW4gZGVwb3NpdCByZXBhdHJpYXRlZCBmcm9tIHRoZchtYWluIGlkZW50aXR5IGFjY291bnQgdG8gdGhlIHN1Yi1pZGVudGl0eSBhY2NvdW50LjhBdXRob3JpdHlBZGRlZAQBJGF1dGhvcml0eQABMFQ6OkFjY291bnRJZAAKBHxBIHVzZXJuYW1lIGF1dGhvcml0eSB3YXMgYWRkZWQuQEF1dGhvcml0eVJlbW92ZWQEASRhdXRob3JpdHkAATBUOjpBY2NvdW50SWQACwSEQSB1c2VybmFtZSBhdXRob3JpdHkgd2FzIHJlbW92ZWQuLFVzZXJuYW1lU2V0CAEMd2hvAAEwVDo6QWNjb3VudElkAAEgdXNlcm5hbWWkASxVc2VybmFtZTxUPgAMBHRBIHVzZXJuYW1lIHdhcyBzZXQgZm9yIGB3aG9gLjhVc2VybmFtZVF1ZXVlZAwBDHdobwABMFQ6OkFjY291bnRJZAABIHVzZXJuYW1lpAEsVXNlcm5hbWU8VD4AAShleHBpcmF0aW9uEAFEQmxvY2tOdW1iZXJGb3I8VD4ADQQZAUEgdXNlcm5hbWUgd2FzIHF1ZXVlZCwgYnV0IGB3aG9gIG11c3QgYWNjZXB0IGl0IHByaW9yIHRvIGBleHBpcmF0aW9uYC5IUHJlYXBwcm92YWxFeHBpcmVkBAEUd2hvc2UAATBUOjpBY2NvdW50SWQADgQ5AUEgcXVldWVkIHVzZXJuYW1lIHBhc3NlZCBpdHMgZXhwaXJhdGlvbiB3aXRob3V0IGJlaW5nIGNsYWltZWQgYW5kIHdhcyByZW1vdmVkLkhQcmltYXJ5VXNlcm5hbWVTZXQIAQx3aG8AATBUOjpBY2NvdW50SWQAASB1c2VybmFtZaQBLFVzZXJuYW1lPFQ+AA8EAQFBIHVzZXJuYW1lIHdhcyBzZXQgYXMgYSBwcmltYXJ5IGFuZCBjYW4gYmUgbG9va2VkIHVwIGZyb20gYHdob2AuXERhbmdsaW5nVXNlcm5hbWVSZW1vdmVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEgdXNlcm5hbWWkASxVc2VybmFtZTxUPgAQCF0BQSBkYW5nbGluZyB1c2VybmFtZSAoYXMgaW4sIGEgdXNlcm5hbWUgY29ycmVzcG9uZGluZyB0byBhbiBhY2NvdW50IHRoYXQgaGFzIHJlbW92ZWQgaXRzbGlkZW50aXR5KSBoYXMgYmVlbiByZW1vdmVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldKQMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AACoDEBwYWxsZXRfZGVtb2NyYWN5GHBhbGxldBRFdmVudAQEVAABRCBQcm9wb3NlZAgBOHByb3Bvc2FsX2luZGV4EAEkUHJvcEluZGV4AAEcZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgAABLxBIG1vdGlvbiBoYXMgYmVlbiBwcm9wb3NlZCBieSBhIHB1YmxpYyBhY2NvdW50LhhUYWJsZWQIAThwcm9wb3NhbF9pbmRleBABJFByb3BJbmRleAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4AAQTYQSBwdWJsaWMgcHJvcG9zYWwgaGFzIGJlZW4gdGFibGVkIGZvciByZWZlcmVuZHVtIHZvdGUuOEV4dGVybmFsVGFibGVkAAIElEFuIGV4dGVybmFsIHByb3Bvc2FsIGhhcyBiZWVuIHRhYmxlZC4cU3RhcnRlZAgBJHJlZl9pbmRleBABPFJlZmVyZW5kdW1JbmRleAABJHRocmVzaG9sZKwBNFZvdGVUaHJlc2hvbGQAAwRcQSByZWZlcmVuZHVtIGhhcyBiZWd1bi4YUGFzc2VkBAEkcmVmX2luZGV4EAE8UmVmZXJlbmR1bUluZGV4AAQErEEgcHJvcG9zYWwgaGFzIGJlZW4gYXBwcm92ZWQgYnkgcmVmZXJlbmR1bS4kTm90UGFzc2VkBAEkcmVmX2luZGV4EAE8UmVmZXJlbmR1bUluZGV4AAUErEEgcHJvcG9zYWwgaGFzIGJlZW4gcmVqZWN0ZWQgYnkgcmVmZXJlbmR1bS4kQ2FuY2VsbGVkBAEkcmVmX2luZGV4EAE8UmVmZXJlbmR1bUluZGV4AAYEgEEgcmVmZXJlbmR1bSBoYXMgYmVlbiBjYW5jZWxsZWQuJERlbGVnYXRlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGHRhcmdldAABMFQ6OkFjY291bnRJZAAHBNxBbiBhY2NvdW50IGhhcyBkZWxlZ2F0ZWQgdGhlaXIgdm90ZSB0byBhbm90aGVyIGFjY291bnQuLFVuZGVsZWdhdGVkBAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAAIBORBbiBhY2NvdW50IGhhcyBjYW5jZWxsZWQgYSBwcmV2aW91cyBkZWxlZ2F0aW9uIG9wZXJhdGlvbi4YVmV0b2VkDAEMd2hvAAEwVDo6QWNjb3VudElkAAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAARR1bnRpbBABREJsb2NrTnVtYmVyRm9yPFQ+AAkElEFuIGV4dGVybmFsIHByb3Bvc2FsIGhhcyBiZWVuIHZldG9lZC4sQmxhY2tsaXN0ZWQEATRwcm9wb3NhbF9oYXNoNAEcVDo6SGFzaAAKBMRBIHByb3Bvc2FsX2hhc2ggaGFzIGJlZW4gYmxhY2tsaXN0ZWQgcGVybWFuZW50bHkuFFZvdGVkDAEUdm90ZXIAATBUOjpBY2NvdW50SWQAASRyZWZfaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgAARB2b3RlsAFkQWNjb3VudFZvdGU8QmFsYW5jZU9mPFQ+PgALBJBBbiBhY2NvdW50IGhhcyB2b3RlZCBpbiBhIHJlZmVyZW5kdW0gU2Vjb25kZWQIASBzZWNvbmRlcgABMFQ6OkFjY291bnRJZAABKHByb3BfaW5kZXgQASRQcm9wSW5kZXgADASMQW4gYWNjb3VudCBoYXMgc2VjY29uZGVkIGEgcHJvcG9zYWxAUHJvcG9zYWxDYW5jZWxlZAQBKHByb3BfaW5kZXgQASRQcm9wSW5kZXgADQRgQSBwcm9wb3NhbCBnb3QgY2FuY2VsZWQuLE1ldGFkYXRhU2V0CAEUb3duZXK4ATRNZXRhZGF0YU93bmVyBDxNZXRhZGF0YSBvd25lci4BEGhhc2g0ARxUOjpIYXNoBDhQcmVpbWFnZSBoYXNoLg4E1E1ldGFkYXRhIGZvciBhIHByb3Bvc2FsIG9yIGEgcmVmZXJlbmR1bSBoYXMgYmVlbiBzZXQuPE1ldGFkYXRhQ2xlYXJlZAgBFG93bmVyuAE0TWV0YWRhdGFPd25lcgQ8TWV0YWRhdGEgb3duZXIuARBoYXNoNAEcVDo6SGFzaAQ4UHJlaW1hZ2UgaGFzaC4PBORNZXRhZGF0YSBmb3IgYSBwcm9wb3NhbCBvciBhIHJlZmVyZW5kdW0gaGFzIGJlZW4gY2xlYXJlZC5MTWV0YWRhdGFUcmFuc2ZlcnJlZAwBKHByZXZfb3duZXK4ATRNZXRhZGF0YU93bmVyBGBQcmV2aW91cyBtZXRhZGF0YSBvd25lci4BFG93bmVyuAE0TWV0YWRhdGFPd25lcgRMTmV3IG1ldGFkYXRhIG93bmVyLgEQaGFzaDQBHFQ6Okhhc2gEOFByZWltYWdlIGhhc2guEASsTWV0YWRhdGEgaGFzIGJlZW4gdHJhbnNmZXJyZWQgdG8gbmV3IG93bmVyLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldKwMQHBhbGxldF9kZW1vY3JhY3k4dm90ZV90aHJlc2hvbGQ0Vm90ZVRocmVzaG9sZAABDFBTdXBlck1ham9yaXR5QXBwcm92ZQAAAFBTdXBlck1ham9yaXR5QWdhaW5zdAABADhTaW1wbGVNYWpvcml0eQACAACwDEBwYWxsZXRfZGVtb2NyYWN5EHZvdGUsQWNjb3VudFZvdGUEHEJhbGFuY2UBGAEIIFN0YW5kYXJkCAEQdm90ZbQBEFZvdGUAARxiYWxhbmNlGAEcQmFsYW5jZQAAABRTcGxpdAgBDGF5ZRgBHEJhbGFuY2UAAQxuYXkYARxCYWxhbmNlAAEAALQMQHBhbGxldF9kZW1vY3JhY3kQdm90ZRBWb3RlAAAEAAgAAAC4DEBwYWxsZXRfZGVtb2NyYWN5FHR5cGVzNE1ldGFkYXRhT3duZXIAAQwgRXh0ZXJuYWwAAAAgUHJvcG9zYWwEABABJFByb3BJbmRleAABAChSZWZlcmVuZHVtBAAQATxSZWZlcmVuZHVtSW5kZXgAAgAAvAxEcGFsbGV0X2NvbGxlY3RpdmUYcGFsbGV0FEV2ZW50CARUAARJAAEcIFByb3Bvc2VkEAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABOHByb3Bvc2FsX2luZGV4EAE0UHJvcG9zYWxJbmRleAABNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEkdGhyZXNob2xkEAEsTWVtYmVyQ291bnQAAAhJAUEgbW90aW9uIChnaXZlbiBoYXNoKSBoYXMgYmVlbiBwcm9wb3NlZCAoYnkgZ2l2ZW4gYWNjb3VudCkgd2l0aCBhIHRocmVzaG9sZCAoZ2l2ZW48YE1lbWJlckNvdW50YCkuFFZvdGVkFAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEUdm90ZWQgARBib29sAAEMeWVzEAEsTWVtYmVyQ291bnQAAQhubxABLE1lbWJlckNvdW50AAEIBQFBIG1vdGlvbiAoZ2l2ZW4gaGFzaCkgaGFzIGJlZW4gdm90ZWQgb24gYnkgZ2l2ZW4gYWNjb3VudCwgbGVhdmluZxUBYSB0YWxseSAoeWVzIHZvdGVzIGFuZCBubyB2b3RlcyBnaXZlbiByZXNwZWN0aXZlbHkgYXMgYE1lbWJlckNvdW50YCkuIEFwcHJvdmVkBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAAgTAQSBtb3Rpb24gd2FzIGFwcHJvdmVkIGJ5IHRoZSByZXF1aXJlZCB0aHJlc2hvbGQuLERpc2FwcHJvdmVkBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAAwTQQSBtb3Rpb24gd2FzIG5vdCBhcHByb3ZlZCBieSB0aGUgcmVxdWlyZWQgdGhyZXNob2xkLiBFeGVjdXRlZAgBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQABAQhAUEgbW90aW9uIHdhcyBleGVjdXRlZDsgcmVzdWx0IHdpbGwgYmUgYE9rYCBpZiBpdCByZXR1cm5lZCB3aXRob3V0IGVycm9yLjhNZW1iZXJFeGVjdXRlZAgBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQABQRJAUEgc2luZ2xlIG1lbWJlciBkaWQgc29tZSBhY3Rpb247IHJlc3VsdCB3aWxsIGJlIGBPa2AgaWYgaXQgcmV0dXJuZWQgd2l0aG91dCBlcnJvci4YQ2xvc2VkDAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAAQx5ZXMQASxNZW1iZXJDb3VudAABCG5vEAEsTWVtYmVyQ291bnQABgRVAUEgcHJvcG9zYWwgd2FzIGNsb3NlZCBiZWNhdXNlIGl0cyB0aHJlc2hvbGQgd2FzIHJlYWNoZWQgb3IgYWZ0ZXIgaXRzIGR1cmF0aW9uIHdhcyB1cC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTADDBwYWxsZXRfcHJveHkYcGFsbGV0FEV2ZW50BARUAAEUNFByb3h5RXhlY3V0ZWQEARhyZXN1bHSYAThEaXNwYXRjaFJlc3VsdAAABLxBIHByb3h5IHdhcyBleGVjdXRlZCBjb3JyZWN0bHksIHdpdGggdGhlIGdpdmVuLixQdXJlQ3JlYXRlZBABEHB1cmUAATBUOjpBY2NvdW50SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAAShwcm94eV90eXBlxAEwVDo6UHJveHlUeXBlAAFQZGlzYW1iaWd1YXRpb25faW5kZXjIAQx1MTYAAQjcQSBwdXJlIGFjY291bnQgaGFzIGJlZW4gY3JlYXRlZCBieSBuZXcgcHJveHkgd2l0aCBnaXZlbpBkaXNhbWJpZ3VhdGlvbiBpbmRleCBhbmQgcHJveHkgdHlwZS4kQW5ub3VuY2VkDAEQcmVhbAABMFQ6OkFjY291bnRJZAABFHByb3h5AAEwVDo6QWNjb3VudElkAAEkY2FsbF9oYXNoNAE0Q2FsbEhhc2hPZjxUPgACBOBBbiBhbm5vdW5jZW1lbnQgd2FzIHBsYWNlZCB0byBtYWtlIGEgY2FsbCBpbiB0aGUgZnV0dXJlLihQcm94eUFkZGVkEAEkZGVsZWdhdG9yAAEwVDo6QWNjb3VudElkAAEkZGVsZWdhdGVlAAEwVDo6QWNjb3VudElkAAEocHJveHlfdHlwZcQBMFQ6OlByb3h5VHlwZQABFGRlbGF5EAFEQmxvY2tOdW1iZXJGb3I8VD4AAwRIQSBwcm94eSB3YXMgYWRkZWQuMFByb3h5UmVtb3ZlZBABJGRlbGVnYXRvcgABMFQ6OkFjY291bnRJZAABJGRlbGVnYXRlZQABMFQ6OkFjY291bnRJZAABKHByb3h5X3R5cGXEATBUOjpQcm94eVR5cGUAARRkZWxheRABREJsb2NrTnVtYmVyRm9yPFQ+AAQEUEEgcHJveHkgd2FzIHJlbW92ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0xAw8aHlkcmFkeF9ydW50aW1lGHN5c3RlbSRQcm94eVR5cGUAARgMQW55AAAALENhbmNlbFByb3h5AAEAKEdvdmVybmFuY2UAAgAgVHJhbnNmZXIAAwAkTGlxdWlkaXR5AAQAPExpcXVpZGl0eU1pbmluZwAFAADIAAAFBADMDDxwYWxsZXRfbXVsdGlzaWcYcGFsbGV0FEV2ZW50BARUAAEQLE5ld011bHRpc2lnDAEkYXBwcm92aW5nAAEwVDo6QWNjb3VudElkAAEgbXVsdGlzaWcAATBUOjpBY2NvdW50SWQAASRjYWxsX2hhc2gEASBDYWxsSGFzaAAABIxBIG5ldyBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZ3VuLkBNdWx0aXNpZ0FwcHJvdmFsEAEkYXBwcm92aW5nAAEwVDo6QWNjb3VudElkAAEkdGltZXBvaW500AFwVGltZXBvaW50PEJsb2NrTnVtYmVyRm9yPFQ+PgABIG11bHRpc2lnAAEwVDo6QWNjb3VudElkAAEkY2FsbF9oYXNoBAEgQ2FsbEhhc2gAAQTIQSBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZW4gYXBwcm92ZWQgYnkgc29tZW9uZS5ATXVsdGlzaWdFeGVjdXRlZBQBJGFwcHJvdmluZwABMFQ6OkFjY291bnRJZAABJHRpbWVwb2ludNABcFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4AASBtdWx0aXNpZwABMFQ6OkFjY291bnRJZAABJGNhbGxfaGFzaAQBIENhbGxIYXNoAAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQAAgScQSBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZW4gZXhlY3V0ZWQuRE11bHRpc2lnQ2FuY2VsbGVkEAEoY2FuY2VsbGluZwABMFQ6OkFjY291bnRJZAABJHRpbWVwb2ludNABcFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4AASBtdWx0aXNpZwABMFQ6OkFjY291bnRJZAABJGNhbGxfaGFzaAQBIENhbGxIYXNoAAMEoEEgbXVsdGlzaWcgb3BlcmF0aW9uIGhhcyBiZWVuIGNhbmNlbGxlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTQCDxwYWxsZXRfbXVsdGlzaWckVGltZXBvaW50BCxCbG9ja051bWJlcgEQAAgBGGhlaWdodBABLEJsb2NrTnVtYmVyAAEUaW5kZXgQAQx1MzIAANQMOHBhbGxldF91bmlxdWVzGHBhbGxldBRFdmVudAgEVAAESQABbBxDcmVhdGVkDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABHGNyZWF0b3IAATBUOjpBY2NvdW50SWQAARRvd25lcgABMFQ6OkFjY291bnRJZAAABGxBIGBjb2xsZWN0aW9uYCB3YXMgY3JlYXRlZC4wRm9yY2VDcmVhdGVkCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAEEhEEgYGNvbGxlY3Rpb25gIHdhcyBmb3JjZS1jcmVhdGVkLiREZXN0cm95ZWQEAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAIEdEEgYGNvbGxlY3Rpb25gIHdhcyBkZXN0cm95ZWQuGElzc3VlZAwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAAwRUQW4gYGl0ZW1gIHdhcyBpc3N1ZWQuLFRyYW5zZmVycmVkEAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARBmcm9tAAEwVDo6QWNjb3VudElkAAEIdG8AATBUOjpBY2NvdW50SWQABARoQW4gYGl0ZW1gIHdhcyB0cmFuc2ZlcnJlZC4YQnVybmVkDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAAFBGBBbiBgaXRlbWAgd2FzIGRlc3Ryb3llZC4YRnJvemVuCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQABgRcU29tZSBgaXRlbWAgd2FzIGZyb3plbi4YVGhhd2VkCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQABwRcU29tZSBgaXRlbWAgd2FzIHRoYXdlZC5AQ29sbGVjdGlvbkZyb3plbgQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQACAR0U29tZSBgY29sbGVjdGlvbmAgd2FzIGZyb3plbi5AQ29sbGVjdGlvblRoYXdlZAQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQACQR0U29tZSBgY29sbGVjdGlvbmAgd2FzIHRoYXdlZC4wT3duZXJDaGFuZ2VkCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABJG5ld19vd25lcgABMFQ6OkFjY291bnRJZAAKBEhUaGUgb3duZXIgY2hhbmdlZC4sVGVhbUNoYW5nZWQQAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEYaXNzdWVyAAEwVDo6QWNjb3VudElkAAEUYWRtaW4AATBUOjpBY2NvdW50SWQAARxmcmVlemVyAAEwVDo6QWNjb3VudElkAAsEcFRoZSBtYW5hZ2VtZW50IHRlYW0gY2hhbmdlZC5AQXBwcm92ZWRUcmFuc2ZlchABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAASBkZWxlZ2F0ZQABMFQ6OkFjY291bnRJZAAMCDEBQW4gYGl0ZW1gIG9mIGEgYGNvbGxlY3Rpb25gIGhhcyBiZWVuIGFwcHJvdmVkIGJ5IHRoZSBgb3duZXJgIGZvciB0cmFuc2ZlciBieTRhIGBkZWxlZ2F0ZWAuREFwcHJvdmFsQ2FuY2VsbGVkEAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABIGRlbGVnYXRlAAEwVDo6QWNjb3VudElkAA0IGQFBbiBhcHByb3ZhbCBmb3IgYSBgZGVsZWdhdGVgIGFjY291bnQgdG8gdHJhbnNmZXIgdGhlIGBpdGVtYCBvZiBhbiBpdGVtqGBjb2xsZWN0aW9uYCB3YXMgY2FuY2VsbGVkIGJ5IGl0cyBgb3duZXJgLkRJdGVtU3RhdHVzQ2hhbmdlZAQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQADgQRAUEgYGNvbGxlY3Rpb25gIGhhcyBoYWQgaXRzIGF0dHJpYnV0ZXMgY2hhbmdlZCBieSB0aGUgYEZvcmNlYCBvcmlnaW4uVENvbGxlY3Rpb25NZXRhZGF0YVNldAwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBkYXRh2AF4Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+AAEkaXNfZnJvemVuIAEQYm9vbAAPBLROZXcgbWV0YWRhdGEgaGFzIGJlZW4gc2V0IGZvciBhIGBjb2xsZWN0aW9uYC5kQ29sbGVjdGlvbk1ldGFkYXRhQ2xlYXJlZAQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAEAS0TWV0YWRhdGEgaGFzIGJlZW4gY2xlYXJlZCBmb3IgYSBgY29sbGVjdGlvbmAuLE1ldGFkYXRhU2V0EAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARBkYXRh2AF4Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+AAEkaXNfZnJvemVuIAEQYm9vbAARBJhOZXcgbWV0YWRhdGEgaGFzIGJlZW4gc2V0IGZvciBhbiBpdGVtLjxNZXRhZGF0YUNsZWFyZWQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAASBJhNZXRhZGF0YSBoYXMgYmVlbiBjbGVhcmVkIGZvciBhbiBpdGVtLixSZWRlcG9zaXRlZAgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAAUBzdWNjZXNzZnVsX2l0ZW1z3AE4VmVjPFQ6Okl0ZW1JZD4AEwSYTWV0YWRhdGEgaGFzIGJlZW4gY2xlYXJlZCBmb3IgYW4gaXRlbS4wQXR0cmlidXRlU2V0EAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABKG1heWJlX2l0ZW3gAURPcHRpb248VDo6SXRlbUlkPgABDGtleeQBbEJvdW5kZWRWZWM8dTgsIFQ6OktleUxpbWl0PgABFHZhbHVl6AF0Qm91bmRlZFZlYzx1OCwgVDo6VmFsdWVMaW1pdD4AFAQFAU5ldyBhdHRyaWJ1dGUgbWV0YWRhdGEgaGFzIGJlZW4gc2V0IGZvciBhIGBjb2xsZWN0aW9uYCBvciBgaXRlbWAuQEF0dHJpYnV0ZUNsZWFyZWQMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEobWF5YmVfaXRlbeABRE9wdGlvbjxUOjpJdGVtSWQ+AAEMa2V55AFsQm91bmRlZFZlYzx1OCwgVDo6S2V5TGltaXQ+ABUEBQFBdHRyaWJ1dGUgbWV0YWRhdGEgaGFzIGJlZW4gY2xlYXJlZCBmb3IgYSBgY29sbGVjdGlvbmAgb3IgYGl0ZW1gLmhPd25lcnNoaXBBY2NlcHRhbmNlQ2hhbmdlZAgBDHdobwABMFQ6OkFjY291bnRJZAABQG1heWJlX2NvbGxlY3Rpb27gAVxPcHRpb248VDo6Q29sbGVjdGlvbklkPgAWBMBPd25lcnNoaXAgYWNjZXB0YW5jZSBoYXMgY2hhbmdlZCBmb3IgYW4gYWNjb3VudC5YQ29sbGVjdGlvbk1heFN1cHBseVNldAgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAAShtYXhfc3VwcGx5EAEMdTMyABcEpE1heCBzdXBwbHkgaGFzIGJlZW4gc2V0IGZvciBhIGNvbGxlY3Rpb24uMEl0ZW1QcmljZVNldBABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUcHJpY2UYATxJdGVtUHJpY2U8VCwgST4AAUR3aGl0ZWxpc3RlZF9idXllcuwBUE9wdGlvbjxUOjpBY2NvdW50SWQ+ABgEjFRoZSBwcmljZSB3YXMgc2V0IGZvciB0aGUgaW5zdGFuY2UuQEl0ZW1QcmljZVJlbW92ZWQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAAZBJxUaGUgcHJpY2UgZm9yIHRoZSBpbnN0YW5jZSB3YXMgcmVtb3ZlZC4oSXRlbUJvdWdodBQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUcHJpY2UYATxJdGVtUHJpY2U8VCwgST4AARhzZWxsZXIAATBUOjpBY2NvdW50SWQAARRidXllcgABMFQ6OkFjY291bnRJZAAaBExBbiBpdGVtIHdhcyBib3VnaHQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV02AxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AANwAAAIYAOAEGE9wdGlvbgQEVAEYAQgQTm9uZQAAABBTb21lBAAYAAABAADkDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAA6AxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAOwEGE9wdGlvbgQEVAEAAQgQTm9uZQAAABBTb21lBAAAAAABAADwDGxwYWxsZXRfc3RhdGVfdHJpZV9taWdyYXRpb24YcGFsbGV0FEV2ZW50BARUAAEQIE1pZ3JhdGVkDAEMdG9wEAEMdTMyAAEUY2hpbGQQAQx1MzIAARxjb21wdXRl9AFATWlncmF0aW9uQ29tcHV0ZQAACDkBR2l2ZW4gbnVtYmVyIG9mIGAodG9wLCBjaGlsZClgIGtleXMgd2VyZSBtaWdyYXRlZCByZXNwZWN0aXZlbHksIHdpdGggdGhlIGdpdmVuKGBjb21wdXRlYC4cU2xhc2hlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgABBLRTb21lIGFjY291bnQgZ290IHNsYXNoZWQgYnkgdGhlIGdpdmVuIGFtb3VudC5UQXV0b01pZ3JhdGlvbkZpbmlzaGVkAAIEhFRoZSBhdXRvIG1pZ3JhdGlvbiB0YXNrIGZpbmlzaGVkLhhIYWx0ZWQEARRlcnJvcvgBIEVycm9yPFQ+AAME7E1pZ3JhdGlvbiBnb3QgaGFsdGVkIGR1ZSB0byBhbiBlcnJvciBvciBtaXNzLWNvbmZpZ3VyYXRpb24uBHBJbm5lciBldmVudHMgb2YgdGhpcyBwYWxsZXQu9AxscGFsbGV0X3N0YXRlX3RyaWVfbWlncmF0aW9uGHBhbGxldEBNaWdyYXRpb25Db21wdXRlAAEIGFNpZ25lZAAAABBBdXRvAAEAAPgMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQURXJyb3IEBFQAARg8TWF4U2lnbmVkTGltaXRzAAAEgE1heCBzaWduZWQgbGltaXRzIG5vdCByZXNwZWN0ZWQuKEtleVRvb0xvbmcAARy0QSBrZXkgd2FzIGxvbmdlciB0aGFuIHRoZSBjb25maWd1cmVkIG1heGltdW0uABEBVGhpcyBtZWFucyB0aGF0IHRoZSBtaWdyYXRpb24gaGFsdGVkIGF0IHRoZSBjdXJyZW50IFtgUHJvZ3Jlc3NgXSBhbmQBAWNhbiBiZSByZXN1bWVkIHdpdGggYSBsYXJnZXIgW2BjcmF0ZTo6Q29uZmlnOjpNYXhLZXlMZW5gXSB2YWx1ZS4hAVJldHJ5aW5nIHdpdGggdGhlIHNhbWUgW2BjcmF0ZTo6Q29uZmlnOjpNYXhLZXlMZW5gXSB2YWx1ZSB3aWxsIG5vdCB3b3JrLkUBVGhlIHZhbHVlIHNob3VsZCBvbmx5IGJlIGluY3JlYXNlZCB0byBhdm9pZCBhIHN0b3JhZ2UgbWlncmF0aW9uIGZvciB0aGUgY3VycmVudGx5kHN0b3JlZCBbYGNyYXRlOjpQcm9ncmVzczo6TGFzdEtleWBdLjhOb3RFbm91Z2hGdW5kcwACBJRzdWJtaXR0ZXIgZG9lcyBub3QgaGF2ZSBlbm91Z2ggZnVuZHMuKEJhZFdpdG5lc3MAAwRoQmFkIHdpdG5lc3MgZGF0YSBwcm92aWRlZC5kU2lnbmVkTWlncmF0aW9uTm90QWxsb3dlZAAEBCUBU2lnbmVkIG1pZ3JhdGlvbiBpcyBub3QgYWxsb3dlZCBiZWNhdXNlIHRoZSBtYXhpbXVtIGxpbWl0IGlzIG5vdCBzZXQgeWV0LjBCYWRDaGlsZFJvb3QABQRgQmFkIGNoaWxkIHJvb3QgcHJvdmlkZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LvwMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxhwYWxsZXQURXZlbnQIBFQABEkAARAkRGVsZWdhdGVkCAAAATBUOjpBY2NvdW50SWQAAAABMFQ6OkFjY291bnRJZAAABB0BQW4gYWNjb3VudCBoYXMgZGVsZWdhdGVkIHRoZWlyIHZvdGUgdG8gYW5vdGhlciBhY2NvdW50LiBcW3dobywgdGFyZ2V0XF0sVW5kZWxlZ2F0ZWQEAAABMFQ6OkFjY291bnRJZAABBPRBbiBcW2FjY291bnRcXSBoYXMgY2FuY2VsbGVkIGEgcHJldmlvdXMgZGVsZWdhdGlvbiBvcGVyYXRpb24uFFZvdGVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEQdm90ZQEBAXBBY2NvdW50Vm90ZTxCYWxhbmNlT2Y8VCwgST4+AAIEZEFuIGFjY291bnQgdGhhdCBoYXMgdm90ZWQsVm90ZVJlbW92ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARB2b3RlAQEBcEFjY291bnRWb3RlPEJhbGFuY2VPZjxULCBJPj4AAwRgQSB2b3RlIHRoYXQgYmVlbiByZW1vdmVkBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0AQEMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxB2b3RlLEFjY291bnRWb3RlBBxCYWxhbmNlARgBDCBTdGFuZGFyZAgBEHZvdGUFAQEQVm90ZQABHGJhbGFuY2UYARxCYWxhbmNlAAAAFFNwbGl0CAEMYXllGAEcQmFsYW5jZQABDG5heRgBHEJhbGFuY2UAAQAwU3BsaXRBYnN0YWluDAEMYXllGAEcQmFsYW5jZQABDG5heRgBHEJhbGFuY2UAARxhYnN0YWluGAEcQmFsYW5jZQACAAAFAQxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nEHZvdGUQVm90ZQAABAAIAAAACQEMQHBhbGxldF9yZWZlcmVuZGEYcGFsbGV0FEV2ZW50CARUAARJAAFAJFN1Ym1pdHRlZAwBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BFHRyYWNryAE8VHJhY2tJZE9mPFQsIEk+BCUBVGhlIHRyYWNrIChhbmQgYnkgZXh0ZW5zaW9uIHByb3Bvc2FsIGRpc3BhdGNoIG9yaWdpbikgb2YgdGhpcyByZWZlcmVuZHVtLgEgcHJvcG9zYWwNAQFMQm91bmRlZENhbGxPZjxULCBJPgSAVGhlIHByb3Bvc2FsIGZvciB0aGUgcmVmZXJlbmR1bS4ABIBBIHJlZmVyZW5kdW0gaGFzIGJlZW4gc3VibWl0dGVkLlREZWNpc2lvbkRlcG9zaXRQbGFjZWQMARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uAQx3aG8AATBUOjpBY2NvdW50SWQEjFRoZSBhY2NvdW50IHdobyBwbGFjZWQgdGhlIGRlcG9zaXQuARhhbW91bnQYATxCYWxhbmNlT2Y8VCwgST4EhFRoZSBhbW91bnQgcGxhY2VkIGJ5IHRoZSBhY2NvdW50LgEElFRoZSBkZWNpc2lvbiBkZXBvc2l0IGhhcyBiZWVuIHBsYWNlZC5cRGVjaXNpb25EZXBvc2l0UmVmdW5kZWQMARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uAQx3aG8AATBUOjpBY2NvdW50SWQEjFRoZSBhY2NvdW50IHdobyBwbGFjZWQgdGhlIGRlcG9zaXQuARhhbW91bnQYATxCYWxhbmNlT2Y8VCwgST4EhFRoZSBhbW91bnQgcGxhY2VkIGJ5IHRoZSBhY2NvdW50LgIEnFRoZSBkZWNpc2lvbiBkZXBvc2l0IGhhcyBiZWVuIHJlZnVuZGVkLjhEZXBvc2l0U2xhc2hlZAgBDHdobwABMFQ6OkFjY291bnRJZASMVGhlIGFjY291bnQgd2hvIHBsYWNlZCB0aGUgZGVwb3NpdC4BGGFtb3VudBgBPEJhbGFuY2VPZjxULCBJPgSEVGhlIGFtb3VudCBwbGFjZWQgYnkgdGhlIGFjY291bnQuAwRsQSBkZXBvc2l0IGhhcyBiZWVuIHNsYXNoZWQuPERlY2lzaW9uU3RhcnRlZBABFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BFHRyYWNryAE8VHJhY2tJZE9mPFQsIEk+BCUBVGhlIHRyYWNrIChhbmQgYnkgZXh0ZW5zaW9uIHByb3Bvc2FsIGRpc3BhdGNoIG9yaWdpbikgb2YgdGhpcyByZWZlcmVuZHVtLgEgcHJvcG9zYWwNAQFMQm91bmRlZENhbGxPZjxULCBJPgSAVGhlIHByb3Bvc2FsIGZvciB0aGUgcmVmZXJlbmR1bS4BFHRhbGx5VQYBIFQ6OlRhbGx5BLhUaGUgY3VycmVudCB0YWxseSBvZiB2b3RlcyBpbiB0aGlzIHJlZmVyZW5kdW0uBAS8QSByZWZlcmVuZHVtIGhhcyBtb3ZlZCBpbnRvIHRoZSBkZWNpZGluZyBwaGFzZS44Q29uZmlybVN0YXJ0ZWQEARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uBQA4Q29uZmlybUFib3J0ZWQEARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uBgAkQ29uZmlybWVkCAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEUdGFsbHlVBgEgVDo6VGFsbHkEsFRoZSBmaW5hbCB0YWxseSBvZiB2b3RlcyBpbiB0aGlzIHJlZmVyZW5kdW0uBwQhAUEgcmVmZXJlbmR1bSBoYXMgZW5kZWQgaXRzIGNvbmZpcm1hdGlvbiBwaGFzZSBhbmQgaXMgcmVhZHkgZm9yIGFwcHJvdmFsLiBBcHByb3ZlZAQBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4IBA0BQSByZWZlcmVuZHVtIGhhcyBiZWVuIGFwcHJvdmVkIGFuZCBpdHMgcHJvcG9zYWwgaGFzIGJlZW4gc2NoZWR1bGVkLiBSZWplY3RlZAgBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BFHRhbGx5VQYBIFQ6OlRhbGx5BLBUaGUgZmluYWwgdGFsbHkgb2Ygdm90ZXMgaW4gdGhpcyByZWZlcmVuZHVtLgkErEEgcHJvcG9zYWwgaGFzIGJlZW4gcmVqZWN0ZWQgYnkgcmVmZXJlbmR1bS4gVGltZWRPdXQIARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uARR0YWxseVUGASBUOjpUYWxseQSwVGhlIGZpbmFsIHRhbGx5IG9mIHZvdGVzIGluIHRoaXMgcmVmZXJlbmR1bS4KBNhBIHJlZmVyZW5kdW0gaGFzIGJlZW4gdGltZWQgb3V0IHdpdGhvdXQgYmVpbmcgZGVjaWRlZC4kQ2FuY2VsbGVkCAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEUdGFsbHlVBgEgVDo6VGFsbHkEsFRoZSBmaW5hbCB0YWxseSBvZiB2b3RlcyBpbiB0aGlzIHJlZmVyZW5kdW0uCwSAQSByZWZlcmVuZHVtIGhhcyBiZWVuIGNhbmNlbGxlZC4YS2lsbGVkCAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEUdGFsbHlVBgEgVDo6VGFsbHkEsFRoZSBmaW5hbCB0YWxseSBvZiB2b3RlcyBpbiB0aGlzIHJlZmVyZW5kdW0uDAR0QSByZWZlcmVuZHVtIGhhcyBiZWVuIGtpbGxlZC5kU3VibWlzc2lvbkRlcG9zaXRSZWZ1bmRlZAwBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BDHdobwABMFQ6OkFjY291bnRJZASMVGhlIGFjY291bnQgd2hvIHBsYWNlZCB0aGUgZGVwb3NpdC4BGGFtb3VudBgBPEJhbGFuY2VPZjxULCBJPgSEVGhlIGFtb3VudCBwbGFjZWQgYnkgdGhlIGFjY291bnQuDQSkVGhlIHN1Ym1pc3Npb24gZGVwb3NpdCBoYXMgYmVlbiByZWZ1bmRlZC4sTWV0YWRhdGFTZXQIARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uARBoYXNoNAEcVDo6SGFzaAQ4UHJlaW1hZ2UgaGFzaC4OBJxNZXRhZGF0YSBmb3IgYSByZWZlcmVuZHVtIGhhcyBiZWVuIHNldC48TWV0YWRhdGFDbGVhcmVkCAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEQaGFzaDQBHFQ6Okhhc2gEOFByZWltYWdlIGhhc2guDwSsTWV0YWRhdGEgZm9yIGEgcmVmZXJlbmR1bSBoYXMgYmVlbiBjbGVhcmVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldA0BEDRmcmFtZV9zdXBwb3J0GHRyYWl0cyRwcmVpbWFnZXMcQm91bmRlZAgEVAERAQRIAU0GAQwYTGVnYWN5BAEQaGFzaDQBJEg6Ok91dHB1dAAAABhJbmxpbmUEAFEGATRCb3VuZGVkSW5saW5lAAEAGExvb2t1cAgBEGhhc2g0ASRIOjpPdXRwdXQAAQxsZW4QAQx1MzIAAgAAEQEIPGh5ZHJhZHhfcnVudGltZSxSdW50aW1lQ2FsbAAB9BhTeXN0ZW0EABUBAa0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFN5c3RlbSwgUnVudGltZT4AAQAkVGltZXN0YW1wBAAlAQG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxUaW1lc3RhbXAsIFJ1bnRpbWU+AAMAIEJhbGFuY2VzBAApAQG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxCYWxhbmNlcywgUnVudGltZT4ABwBcTXVsdGlUcmFuc2FjdGlvblBheW1lbnQEADkBAfEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPE11bHRpVHJhbnNhY3Rpb25QYXltZW50LCBSdW50aW1lPgDLACBUcmVhc3VyeQQAUQEBtQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8VHJlYXN1cnksIFJ1bnRpbWU+AAsAHFV0aWxpdHkEAF0BAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFV0aWxpdHksIFJ1bnRpbWU+AA0AIFByZWltYWdlBADFAQG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQcmVpbWFnZSwgUnVudGltZT4ADwAgSWRlbnRpdHkEAM0BAbUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPElkZW50aXR5LCBSdW50aW1lPgARACREZW1vY3JhY3kEAH0CAbkBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPERlbW9jcmFjeSwgUnVudGltZT4AEwBIVGVjaG5pY2FsQ29tbWl0dGVlBACJAgHdAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxUZWNobmljYWxDb21taXR0ZWUsIFJ1bnRpbWU+ABkAFFByb3h5BACNAgGpAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQcm94eSwgUnVudGltZT4AHQAgTXVsdGlzaWcEAJUCAbUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPE11bHRpc2lnLCBSdW50aW1lPgAfABxVbmlxdWVzBACdAgGxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxVbmlxdWVzLCBSdW50aW1lPgAgAEhTdGF0ZVRyaWVNaWdyYXRpb24EAKUCAd0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFN0YXRlVHJpZU1pZ3JhdGlvbiwgUnVudGltZT4AIwBAQ29udmljdGlvblZvdGluZwQAvQIB1QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q29udmljdGlvblZvdGluZywgUnVudGltZT4AJAAkUmVmZXJlbmRhBADJAgG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxSZWZlcmVuZGEsIFJ1bnRpbWU+ACUAJFdoaXRlbGlzdAQA0QIBuQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8V2hpdGVsaXN0LCBSdW50aW1lPgAnAChEaXNwYXRjaGVyBADVAgG9AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxEaXNwYXRjaGVyLCBSdW50aW1lPgAoADRBc3NldFJlZ2lzdHJ5BADZAgHJAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxBc3NldFJlZ2lzdHJ5LCBSdW50aW1lPgAzABhDbGFpbXMEABEDAa0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPENsYWltcywgUnVudGltZT4ANQA4R2VuZXNpc0hpc3RvcnkEABkDAc0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEdlbmVzaXNIaXN0b3J5LCBSdW50aW1lPgA3ACBPbW5pcG9vbAQAHQMBtQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8T21uaXBvb2wsIFJ1bnRpbWU+ADsAQFRyYW5zYWN0aW9uUGF1c2UEAC0DAdUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFRyYW5zYWN0aW9uUGF1c2UsIFJ1bnRpbWU+ADwAGER1c3RlcgQAMQMBrQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RHVzdGVyLCBSdW50aW1lPgA9AExPbW5pcG9vbFdhcmVob3VzZUxNBAA1AwHhAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxPbW5pcG9vbFdhcmVob3VzZUxNLCBSdW50aW1lPgA+AFxPbW5pcG9vbExpcXVpZGl0eU1pbmluZwQAOQMB8QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8T21uaXBvb2xMaXF1aWRpdHlNaW5pbmcsIFJ1bnRpbWU+AD8ADE9UQwQAbQMBoQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8T1RDLCBSdW50aW1lPgBAADhDaXJjdWl0QnJlYWtlcgQAcQMBzQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q2lyY3VpdEJyZWFrZXIsIFJ1bnRpbWU+AEEAGFJvdXRlcgQAeQMBrQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Um91dGVyLCBSdW50aW1lPgBDACxEeW5hbWljRmVlcwQAkQMBwQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RHluYW1pY0ZlZXMsIFJ1bnRpbWU+AEQAHFN0YWtpbmcEAJ0DAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFN0YWtpbmcsIFJ1bnRpbWU+AEUAKFN0YWJsZXN3YXAEAKEDAb0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFN0YWJsZXN3YXAsIFJ1bnRpbWU+AEYAFEJvbmRzBADBAwGpAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxCb25kcywgUnVudGltZT4ARwA4T3RjU2V0dGxlbWVudHMEAMUDAc0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPE90Y1NldHRsZW1lbnRzLCBSdW50aW1lPgBIAAxMQlAEAMkDAaEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPExCUCwgUnVudGltZT4ASQAMWFlLBADVAwGhAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxYWUssIFJ1bnRpbWU+AEoAJFJlZmVycmFscwQA2QMBuQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8UmVmZXJyYWxzLCBSdW50aW1lPgBLACxMaXF1aWRhdGlvbgQA6QMBwQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8TGlxdWlkYXRpb24sIFJ1bnRpbWU+AEwADEhTTQQA7QMBoQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8SFNNLCBSdW50aW1lPgBSABhUb2tlbnMEAAUEAa0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFRva2VucywgUnVudGltZT4ATQAoQ3VycmVuY2llcwQACQQBvQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q3VycmVuY2llcywgUnVudGltZT4ATwAcVmVzdGluZwQAEQQBsQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8VmVzdGluZywgUnVudGltZT4AUQAMRVZNBAAdBAGhAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxFVk0sIFJ1bnRpbWU+AFoAIEV0aGVyZXVtBAAtBAG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxFdGhlcmV1bSwgUnVudGltZT4AXAAsRVZNQWNjb3VudHMEAFUEAcEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEVWTUFjY291bnRzLCBSdW50aW1lPgBdAEhYWUtMaXF1aWRpdHlNaW5pbmcEAFkEAd0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFhZS0xpcXVpZGl0eU1pbmluZywgUnVudGltZT4AXwA4WFlLV2FyZWhvdXNlTE0EAGkEAc0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFhZS1dhcmVob3VzZUxNLCBSdW50aW1lPgBgADhSZWxheUNoYWluSW5mbwQAbQQBzQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8UmVsYXlDaGFpbkluZm8sIFJ1bnRpbWU+AMkADERDQQQAcQQBoQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RENBLCBSdW50aW1lPgBCACRTY2hlZHVsZXIEAH0EAbkBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFNjaGVkdWxlciwgUnVudGltZT4ABQA8UGFyYWNoYWluU3lzdGVtBACBBAHRAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQYXJhY2hhaW5TeXN0ZW0sIFJ1bnRpbWU+AGcANFBhcmFjaGFpbkluZm8EALUEAckBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFBhcmFjaGFpbkluZm8sIFJ1bnRpbWU+AGkALFBvbGthZG90WGNtBAC5BAHBAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQb2xrYWRvdFhjbSwgUnVudGltZT4AawAoQ3VtdWx1c1hjbQQAGQYBvQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q3VtdWx1c1hjbSwgUnVudGltZT4AbQAwTWVzc2FnZVF1ZXVlBAAdBgHFAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxNZXNzYWdlUXVldWUsIFJ1bnRpbWU+AHIAHE9ybWxYY20EACUGAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPE9ybWxYY20sIFJ1bnRpbWU+AIcAHFhUb2tlbnMEACkGAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFhUb2tlbnMsIFJ1bnRpbWU+AIkARENvbGxhdG9yU2VsZWN0aW9uBAA1BgHZAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxDb2xsYXRvclNlbGVjdGlvbiwgUnVudGltZT4AowAcU2Vzc2lvbgQAOQYBsQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8U2Vzc2lvbiwgUnVudGltZT4ApQAkRW1hT3JhY2xlBABFBgG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxFbWFPcmFjbGUsIFJ1bnRpbWU+AMoAJEJyb2FkY2FzdAQASQYBuQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8QnJvYWRjYXN0LCBSdW50aW1lPgDMAAAVAQwwZnJhbWVfc3lzdGVtGHBhbGxldBBDYWxsBARUAAEsGHJlbWFyawQBGHJlbWFyazgBHFZlYzx1OD4AAAxoTWFrZSBzb21lIG9uLWNoYWluIHJlbWFyay4AiENhbiBiZSBleGVjdXRlZCBieSBldmVyeSBgb3JpZ2luYC44c2V0X2hlYXBfcGFnZXMEARRwYWdlczABDHU2NAABBPhTZXQgdGhlIG51bWJlciBvZiBwYWdlcyBpbiB0aGUgV2ViQXNzZW1ibHkgZW52aXJvbm1lbnQncyBoZWFwLiBzZXRfY29kZQQBEGNvZGU4ARxWZWM8dTg+AAIEZFNldCB0aGUgbmV3IHJ1bnRpbWUgY29kZS5cc2V0X2NvZGVfd2l0aG91dF9jaGVja3MEARBjb2RlOAEcVmVjPHU4PgADEBkBU2V0IHRoZSBuZXcgcnVudGltZSBjb2RlIHdpdGhvdXQgZG9pbmcgYW55IGNoZWNrcyBvZiB0aGUgZ2l2ZW4gYGNvZGVgLgBRAU5vdGUgdGhhdCBydW50aW1lIHVwZ3JhZGVzIHdpbGwgbm90IHJ1biBpZiB0aGlzIGlzIGNhbGxlZCB3aXRoIGEgbm90LWluY3JlYXNpbmcgc3BlYyB2ZXJzaW9uISxzZXRfc3RvcmFnZQQBFGl0ZW1zGQEBNFZlYzxLZXlWYWx1ZT4ABARoU2V0IHNvbWUgaXRlbXMgb2Ygc3RvcmFnZS4wa2lsbF9zdG9yYWdlBAEQa2V5cyEBASBWZWM8S2V5PgAFBHRLaWxsIHNvbWUgaXRlbXMgZnJvbSBzdG9yYWdlLixraWxsX3ByZWZpeAgBGHByZWZpeDgBDEtleQABHHN1YmtleXMQAQx1MzIABhARAUtpbGwgYWxsIHN0b3JhZ2UgaXRlbXMgd2l0aCBhIGtleSB0aGF0IHN0YXJ0cyB3aXRoIHRoZSBnaXZlbiBwcmVmaXguADkBKipOT1RFOioqIFdlIHJlbHkgb24gdGhlIFJvb3Qgb3JpZ2luIHRvIHByb3ZpZGUgdXMgdGhlIG51bWJlciBvZiBzdWJrZXlzIHVuZGVyPQF0aGUgcHJlZml4IHdlIGFyZSByZW1vdmluZyB0byBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSB0aGUgd2VpZ2h0IG9mIHRoaXMgZnVuY3Rpb24uRHJlbWFya193aXRoX2V2ZW50BAEYcmVtYXJrOAEcVmVjPHU4PgAHBKRNYWtlIHNvbWUgb24tY2hhaW4gcmVtYXJrIGFuZCBlbWl0IGV2ZW50LkRhdXRob3JpemVfdXBncmFkZQQBJGNvZGVfaGFzaDQBHFQ6Okhhc2gACRBhAUF1dGhvcml6ZSBhbiB1cGdyYWRlIHRvIGEgZ2l2ZW4gYGNvZGVfaGFzaGAgZm9yIHRoZSBydW50aW1lLiBUaGUgcnVudGltZSBjYW4gYmUgc3VwcGxpZWQYbGF0ZXIuAHxUaGlzIGNhbGwgcmVxdWlyZXMgUm9vdCBvcmlnaW4ugGF1dGhvcml6ZV91cGdyYWRlX3dpdGhvdXRfY2hlY2tzBAEkY29kZV9oYXNoNAEcVDo6SGFzaAAKIGEBQXV0aG9yaXplIGFuIHVwZ3JhZGUgdG8gYSBnaXZlbiBgY29kZV9oYXNoYCBmb3IgdGhlIHJ1bnRpbWUuIFRoZSBydW50aW1lIGNhbiBiZSBzdXBwbGllZBhsYXRlci4AXQFXQVJOSU5HOiBUaGlzIGF1dGhvcml6ZXMgYW4gdXBncmFkZSB0aGF0IHdpbGwgdGFrZSBwbGFjZSB3aXRob3V0IGFueSBzYWZldHkgY2hlY2tzLCBmb3JZAWV4YW1wbGUgdGhhdCB0aGUgc3BlYyBuYW1lIHJlbWFpbnMgdGhlIHNhbWUgYW5kIHRoYXQgdGhlIHZlcnNpb24gbnVtYmVyIGluY3JlYXNlcy4gTm908HJlY29tbWVuZGVkIGZvciBub3JtYWwgdXNlLiBVc2UgYGF1dGhvcml6ZV91cGdyYWRlYCBpbnN0ZWFkLgB8VGhpcyBjYWxsIHJlcXVpcmVzIFJvb3Qgb3JpZ2luLmBhcHBseV9hdXRob3JpemVkX3VwZ3JhZGUEARBjb2RlOAEcVmVjPHU4PgALJFUBUHJvdmlkZSB0aGUgcHJlaW1hZ2UgKHJ1bnRpbWUgYmluYXJ5KSBgY29kZWAgZm9yIGFuIHVwZ3JhZGUgdGhhdCBoYXMgYmVlbiBhdXRob3JpemVkLgBJAUlmIHRoZSBhdXRob3JpemF0aW9uIHJlcXVpcmVkIGEgdmVyc2lvbiBjaGVjaywgdGhpcyBjYWxsIHdpbGwgZW5zdXJlIHRoZSBzcGVjIG5hbWXocmVtYWlucyB1bmNoYW5nZWQgYW5kIHRoYXQgdGhlIHNwZWMgdmVyc2lvbiBoYXMgaW5jcmVhc2VkLgBZAURlcGVuZGluZyBvbiB0aGUgcnVudGltZSdzIGBPblNldENvZGVgIGNvbmZpZ3VyYXRpb24sIHRoaXMgZnVuY3Rpb24gbWF5IGRpcmVjdGx5IGFwcGx5EQF0aGUgbmV3IGBjb2RlYCBpbiB0aGUgc2FtZSBibG9jayBvciBhdHRlbXB0IHRvIHNjaGVkdWxlIHRoZSB1cGdyYWRlLgBgQWxsIG9yaWdpbnMgYXJlIGFsbG93ZWQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLhkBAAACHQEAHQEAAAQIODgAIQEAAAI4ACUBDEBwYWxsZXRfdGltZXN0YW1wGHBhbGxldBBDYWxsBARUAAEEDHNldAQBDG5vdywBJFQ6Ok1vbWVudAAATFRTZXQgdGhlIGN1cnJlbnQgdGltZS4AVQFUaGlzIGNhbGwgc2hvdWxkIGJlIGludm9rZWQgZXhhY3RseSBvbmNlIHBlciBibG9jay4gSXQgd2lsbCBwYW5pYyBhdCB0aGUgZmluYWxpemF0aW9u1HBoYXNlLCBpZiB0aGlzIGNhbGwgaGFzbid0IGJlZW4gaW52b2tlZCBieSB0aGF0IHRpbWUuAEEBVGhlIHRpbWVzdGFtcCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIHRoZSBwcmV2aW91cyBvbmUgYnkgdGhlIGFtb3VudCBzcGVjaWZpZWQgYnloW2BDb25maWc6Ok1pbmltdW1QZXJpb2RgXS4AxFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9Ob25lXy4AUQFUaGlzIGRpc3BhdGNoIGNsYXNzIGlzIF9NYW5kYXRvcnlfIHRvIGVuc3VyZSBpdCBnZXRzIGV4ZWN1dGVkIGluIHRoZSBibG9jay4gQmUgYXdhcmVRAXRoYXQgY2hhbmdpbmcgdGhlIGNvbXBsZXhpdHkgb2YgdGhpcyBjYWxsIGNvdWxkIHJlc3VsdCBleGhhdXN0aW5nIHRoZSByZXNvdXJjZXMgaW4gYYRibG9jayB0byBleGVjdXRlIGFueSBvdGhlciBjYWxscy4ANCMjIENvbXBsZXhpdHkxAS0gYE8oMSlgIChOb3RlIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIGBPblRpbWVzdGFtcFNldGAgbXVzdCBhbHNvIGJlIGBPKDEpYClVAS0gMSBzdG9yYWdlIHJlYWQgYW5kIDEgc3RvcmFnZSBtdXRhdGlvbiAoY29kZWMgYE8oMSlgIGJlY2F1c2Ugb2YgYERpZFVwZGF0ZTo6dGFrZWAgaW5AICBgb25fZmluYWxpemVgKdQtIDEgZXZlbnQgaGFuZGxlciBgb25fdGltZXN0YW1wX3NldGAuIE11c3QgYmUgYE8oMSlgLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4pAQw8cGFsbGV0X2JhbGFuY2VzGHBhbGxldBBDYWxsCARUAARJAAEkUHRyYW5zZmVyX2FsbG93X2RlYXRoCAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEUdmFsdWUtAQEoVDo6QmFsYW5jZQAAHNRUcmFuc2ZlciBzb21lIGxpcXVpZCBmcmVlIGJhbGFuY2UgdG8gYW5vdGhlciBhY2NvdW50LgA1AWB0cmFuc2Zlcl9hbGxvd19kZWF0aGAgd2lsbCBzZXQgdGhlIGBGcmVlQmFsYW5jZWAgb2YgdGhlIHNlbmRlciBhbmQgcmVjZWl2ZXIuEQFJZiB0aGUgc2VuZGVyJ3MgYWNjb3VudCBpcyBiZWxvdyB0aGUgZXhpc3RlbnRpYWwgZGVwb3NpdCBhcyBhIHJlc3VsdLBvZiB0aGUgdHJhbnNmZXIsIHRoZSBhY2NvdW50IHdpbGwgYmUgcmVhcGVkLgAVAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBTaWduZWRgIGJ5IHRoZSB0cmFuc2FjdG9yLjhmb3JjZV90cmFuc2ZlcgwBGHNvdXJjZQABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEUdmFsdWUtAQEoVDo6QmFsYW5jZQACCGEBRXhhY3RseSBhcyBgdHJhbnNmZXJfYWxsb3dfZGVhdGhgLCBleGNlcHQgdGhlIG9yaWdpbiBtdXN0IGJlIHJvb3QgYW5kIHRoZSBzb3VyY2UgYWNjb3VudERtYXkgYmUgc3BlY2lmaWVkLkx0cmFuc2Zlcl9rZWVwX2FsaXZlCAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEUdmFsdWUtAQEoVDo6QmFsYW5jZQADGFkBU2FtZSBhcyB0aGUgW2B0cmFuc2Zlcl9hbGxvd19kZWF0aGBdIGNhbGwsIGJ1dCB3aXRoIGEgY2hlY2sgdGhhdCB0aGUgdHJhbnNmZXIgd2lsbCBub3Rga2lsbCB0aGUgb3JpZ2luIGFjY291bnQuAOg5OSUgb2YgdGhlIHRpbWUgeW91IHdhbnQgW2B0cmFuc2Zlcl9hbGxvd19kZWF0aGBdIGluc3RlYWQuAPBbYHRyYW5zZmVyX2FsbG93X2RlYXRoYF06IHN0cnVjdC5QYWxsZXQuaHRtbCNtZXRob2QudHJhbnNmZXIwdHJhbnNmZXJfYWxsCAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEoa2VlcF9hbGl2ZSABEGJvb2wABDwFAVRyYW5zZmVyIHRoZSBlbnRpcmUgdHJhbnNmZXJhYmxlIGJhbGFuY2UgZnJvbSB0aGUgY2FsbGVyIGFjY291bnQuAFkBTk9URTogVGhpcyBmdW5jdGlvbiBvbmx5IGF0dGVtcHRzIHRvIHRyYW5zZmVyIF90cmFuc2ZlcmFibGVfIGJhbGFuY2VzLiBUaGlzIG1lYW5zIHRoYXRhAWFueSBsb2NrZWQsIHJlc2VydmVkLCBvciBleGlzdGVudGlhbCBkZXBvc2l0cyAod2hlbiBga2VlcF9hbGl2ZWAgaXMgYHRydWVgKSwgd2lsbCBub3QgYmVdAXRyYW5zZmVycmVkIGJ5IHRoaXMgZnVuY3Rpb24uIFRvIGVuc3VyZSB0aGF0IHRoaXMgZnVuY3Rpb24gcmVzdWx0cyBpbiBhIGtpbGxlZCBhY2NvdW50LEUBeW91IG1pZ2h0IG5lZWQgdG8gcHJlcGFyZSB0aGUgYWNjb3VudCBieSByZW1vdmluZyBhbnkgcmVmZXJlbmNlIGNvdW50ZXJzLCBzdG9yYWdlQGRlcG9zaXRzLCBldGMuLi4AwFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgU2lnbmVkLgCgLSBgZGVzdGA6IFRoZSByZWNpcGllbnQgb2YgdGhlIHRyYW5zZmVyLlkBLSBga2VlcF9hbGl2ZWA6IEEgYm9vbGVhbiB0byBkZXRlcm1pbmUgaWYgdGhlIGB0cmFuc2Zlcl9hbGxgIG9wZXJhdGlvbiBzaG91bGQgc2VuZCBhbGxNASAgb2YgdGhlIGZ1bmRzIHRoZSBhY2NvdW50IGhhcywgY2F1c2luZyB0aGUgc2VuZGVyIGFjY291bnQgdG8gYmUga2lsbGVkIChmYWxzZSksIG9yWQEgIHRyYW5zZmVyIGV2ZXJ5dGhpbmcgZXhjZXB0IGF0IGxlYXN0IHRoZSBleGlzdGVudGlhbCBkZXBvc2l0LCB3aGljaCB3aWxsIGd1YXJhbnRlZSB0b5wgIGtlZXAgdGhlIHNlbmRlciBhY2NvdW50IGFsaXZlICh0cnVlKS48Zm9yY2VfdW5yZXNlcnZlCAEMd2hvAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARhhbW91bnQYAShUOjpCYWxhbmNlAAUMsFVucmVzZXJ2ZSBzb21lIGJhbGFuY2UgZnJvbSBhIHVzZXIgYnkgZm9yY2UuAGxDYW4gb25seSBiZSBjYWxsZWQgYnkgUk9PVC5AdXBncmFkZV9hY2NvdW50cwQBDHdobzEBAURWZWM8VDo6QWNjb3VudElkPgAGIHBVcGdyYWRlIGEgc3BlY2lmaWVkIGFjY291bnQuAHQtIGBvcmlnaW5gOiBNdXN0IGJlIGBTaWduZWRgLpAtIGB3aG9gOiBUaGUgYWNjb3VudCB0byBiZSB1cGdyYWRlZC4AVQFUaGlzIHdpbGwgd2FpdmUgdGhlIHRyYW5zYWN0aW9uIGZlZSBpZiBhdCBsZWFzdCBhbGwgYnV0IDEwJSBvZiB0aGUgYWNjb3VudHMgbmVlZGVkIHRvQQFiZSB1cGdyYWRlZC4gKFdlIGxldCBzb21lIG5vdCBoYXZlIHRvIGJlIHVwZ3JhZGVkIGp1c3QgaW4gb3JkZXIgdG8gYWxsb3cgZm9yIHRoZVhwb3NzaWJpbGl0eSBvZiBjaHVybikuRGZvcmNlX3NldF9iYWxhbmNlCAEMd2hvAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASBuZXdfZnJlZS0BAShUOjpCYWxhbmNlAAgMrFNldCB0aGUgcmVndWxhciBiYWxhbmNlIG9mIGEgZ2l2ZW4gYWNjb3VudC4AsFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBpcyBgcm9vdGAubGZvcmNlX2FkanVzdF90b3RhbF9pc3N1YW5jZQgBJGRpcmVjdGlvbjUBAUxBZGp1c3RtZW50RGlyZWN0aW9uAAEUZGVsdGEtAQEoVDo6QmFsYW5jZQAJFLhBZGp1c3QgdGhlIHRvdGFsIGlzc3VhbmNlIGluIGEgc2F0dXJhdGluZyB3YXkuAPxDYW4gb25seSBiZSBjYWxsZWQgYnkgcm9vdCBhbmQgYWx3YXlzIG5lZWRzIGEgcG9zaXRpdmUgYGRlbHRhYC4AJCMgRXhhbXBsZRBidXJuCAEUdmFsdWUtAQEoVDo6QmFsYW5jZQABKGtlZXBfYWxpdmUgARBib29sAAoc/EJ1cm4gdGhlIHNwZWNpZmllZCBsaXF1aWQgZnJlZSBiYWxhbmNlIGZyb20gdGhlIG9yaWdpbiBhY2NvdW50LgAlAUlmIHRoZSBvcmlnaW4ncyBhY2NvdW50IGVuZHMgdXAgYmVsb3cgdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXQgYXMgYSByZXN1bHQJAW9mIHRoZSBidXJuIGFuZCBga2VlcF9hbGl2ZWAgaXMgZmFsc2UsIHRoZSBhY2NvdW50IHdpbGwgYmUgcmVhcGVkLgBRAVVubGlrZSBzZW5kaW5nIGZ1bmRzIHRvIGEgX2J1cm5fIGFkZHJlc3MsIHdoaWNoIG1lcmVseSBtYWtlcyB0aGUgZnVuZHMgaW5hY2Nlc3NpYmxlLCEBdGhpcyBgYnVybmAgb3BlcmF0aW9uIHdpbGwgcmVkdWNlIHRvdGFsIGlzc3VhbmNlIGJ5IHRoZSBhbW91bnQgX2J1cm5lZF8uBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLi0BAAAGGAAxAQAAAgAANQEMPHBhbGxldF9iYWxhbmNlcxR0eXBlc0xBZGp1c3RtZW50RGlyZWN0aW9uAAEIIEluY3JlYXNlAAAAIERlY3JlYXNlAAEAADkBDIBwYWxsZXRfdHJhbnNhY3Rpb25fbXVsdGlfcGF5bWVudBhwYWxsZXQQQ2FsbAQEVAABFDBzZXRfY3VycmVuY3kEASBjdXJyZW5jeRABMEFzc2V0SWRPZjxUPgAANKBTZXQgc2VsZWN0ZWQgY3VycmVuY3kgZm9yIGdpdmVuIGFjY291bnQuAGEBVGhpcyBhbGxvd3MgdG8gc2V0IGEgY3VycmVuY3kgZm9yIGFuIGFjY291bnQgaW4gd2hpY2ggYWxsIHRyYW5zYWN0aW9uIGZlZXMgd2lsbCBiZSBwYWlkLnxBY2NvdW50IGJhbGFuY2UgY2Fubm90IGJlIHplcm8uAG0BSW4gY2FzZSBvZiBzdWZmaWNpZW50IGFzc2V0LCB0aGUgY2hvc2VuIGN1cnJlbmN5IG11c3QgYmUgaW4gdGhlIGxpc3Qgb2YgYWNjZXB0ZWQgY3VycmVuY2llc0EBSW4gY2FzZSBvZiBpbnN1ZmZpY2llbnQgYXNzZXQsIHRoZSBjaG9zZW4gY3VycmVuY3kgbXVzdCBoYXZlIGEgWFlLIHBvb2wgd2l0aCBET1QAcQFXaGVuIGN1cnJlbmN5IGlzIHNldCwgZml4ZWQgZmVlIGlzIHdpdGhkcmF3biBmcm9tIHRoZSBhY2NvdW50IHRvIHBheSBmb3IgdGhlIGN1cnJlbmN5IGNoYW5nZQD4RVZNIGFjY291bnRzIGFyZSBub3cgYWxsb3dlZCB0byBjaGFuZ2UgdGhpZXIgcGF5bWVudCBjdXJyZW5jeS4AqEVtaXRzIGBDdXJyZW5jeVNldGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLjBhZGRfY3VycmVuY3kIASBjdXJyZW5jeRABMEFzc2V0SWRPZjxUPgABFHByaWNlPQEBFFByaWNlAAEcyEFkZCBhIGN1cnJlbmN5IHRvIHRoZSBsaXN0IG9mIGFjY2VwdGVkIGN1cnJlbmNpZXMuAJBPbmx5IG1lbWJlciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4AQQFDdXJyZW5jeSBtdXN0IG5vdCBiZSBhbHJlYWR5IGFjY2VwdGVkLiBDb3JlIGFzc2V0IGlkIGNhbm5vdCBiZSBleHBsaWNpdGx5IGFkZGVkLgCwRW1pdHMgYEN1cnJlbmN5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC48cmVtb3ZlX2N1cnJlbmN5BAEgY3VycmVuY3kQATBBc3NldElkT2Y8VD4AAhjUUmVtb3ZlIGN1cnJlbmN5IGZyb20gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGN1cnJlbmNpZXO0T25seSBzZWxlY3RlZCBtZW1iZXJzIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uAHRDb3JlIGFzc2V0IGNhbm5vdCBiZSByZW1vdmVkLgCgRW1pdHMgYEN1cnJlbmN5UmVtb3ZlZGAgd2hlbiBzdWNjZXNzZnVsLlhyZXNldF9wYXltZW50X2N1cnJlbmN5BAEoYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAADFLxSZXNldCBjdXJyZW5jeSBvZiB0aGUgc3BlY2lmaWVkIGFjY291bnQgdG8gSERYLhUBSWYgdGhlIGFjY291bnQgaXMgRVZNIGFjY291bnQsIHRoZSBwYXltZW50IGN1cnJlbmN5IGlzIHJlc2V0IHRvIFdFVEguuE9ubHkgc2VsZWN0ZWQgbWVtYmVycyBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4AkEVtaXRzIGBDdXJyZW5jeVNldGAgd2hlbiBzdWNjZXNzZnVsLjxkaXNwYXRjaF9wZXJtaXQkARBmcm9tQQEBEEgxNjAAAQh0b0EBARBIMTYwAAEUdmFsdWVJAQEQVTI1NgABEGRhdGE4ARxWZWM8dTg+AAEkZ2FzX2xpbWl0MAEMdTY0AAEgZGVhZGxpbmVJAQEQVTI1NgABBHYIAQh1OAABBHI0ARBIMjU2AAEEczQBEEgyNTYABBBQRGlzcGF0Y2ggRVZNIHBlcm1pdC7BAVRoZSBtYWluIHB1cnBvc2Ugb2YgdGhpcyBmdW5jdGlvbiBpcyB0byBhbGxvdyBFVk0gYWNjb3VudHMgdG8gcGF5IGZvciB0aGUgdHJhbnNhY3Rpb24gZmVlIGluIG5vbi1uYXRpdmUgY3VycmVuY3nQYnkgYWxsb3dpbmcgdGhlbSB0byBzZWxmLWRpc3BhdGNoIHByZS1zaWduZWQgcGVybWl0LuBUaGUgRVZNIGZlZSBpcyBwYWlkIGluIHRoZSBjdXJyZW5jeSBzZXQgZm9yIHRoZSBhY2NvdW50LgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy49AQw0c3BfYXJpdGhtZXRpYyxmaXhlZF9wb2ludCRGaXhlZFUxMjgAAAQAGAEQdTEyOAAAQQEIPHByaW1pdGl2ZV90eXBlcxBIMTYwAAAEAEUBASBbdTg7IDIwXQAARQEAAAMUAAAACABJAQg8cHJpbWl0aXZlX3R5cGVzEFUyNTYAAAQATQEBIFt1NjQ7IDRdAABNAQAAAwQAAAAwAFEBDDxwYWxsZXRfdHJlYXN1cnkYcGFsbGV0EENhbGwIBFQABEkAARgsc3BlbmRfbG9jYWwIARhhbW91bnQtAQE8QmFsYW5jZU9mPFQsIEk+AAEsYmVuZWZpY2lhcnkAAVBBY2NvdW50SWRMb29rdXBPZjxUPgADRLhQcm9wb3NlIGFuZCBhcHByb3ZlIGEgc3BlbmQgb2YgdHJlYXN1cnkgZnVuZHMuAEgjIyBEaXNwYXRjaCBPcmlnaW4ARQFNdXN0IGJlIFtgQ29uZmlnOjpTcGVuZE9yaWdpbmBdIHdpdGggdGhlIGBTdWNjZXNzYCB2YWx1ZSBiZWluZyBhdCBsZWFzdCBgYW1vdW50YC4ALCMjIyBEZXRhaWxzRQFOT1RFOiBGb3IgcmVjb3JkLWtlZXBpbmcgcHVycG9zZXMsIHRoZSBwcm9wb3NlciBpcyBkZWVtZWQgdG8gYmUgZXF1aXZhbGVudCB0byB0aGUwYmVuZWZpY2lhcnkuADgjIyMgUGFyYW1ldGVyc0EBLSBgYW1vdW50YDogVGhlIGFtb3VudCB0byBiZSB0cmFuc2ZlcnJlZCBmcm9tIHRoZSB0cmVhc3VyeSB0byB0aGUgYGJlbmVmaWNpYXJ5YC7oLSBgYmVuZWZpY2lhcnlgOiBUaGUgZGVzdGluYXRpb24gYWNjb3VudCBmb3IgdGhlIHRyYW5zZmVyLgAkIyMgRXZlbnRzALRFbWl0cyBbYEV2ZW50OjpTcGVuZEFwcHJvdmVkYF0gaWYgc3VjY2Vzc2Z1bC48cmVtb3ZlX2FwcHJvdmFsBAEscHJvcG9zYWxfaWRVAQE0UHJvcG9zYWxJbmRleAAEVC0BRm9yY2UgYSBwcmV2aW91c2x5IGFwcHJvdmVkIHByb3Bvc2FsIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgYXBwcm92YWwgcXVldWUuAEgjIyBEaXNwYXRjaCBPcmlnaW4AhE11c3QgYmUgW2BDb25maWc6OlJlamVjdE9yaWdpbmBdLgAoIyMgRGV0YWlscwDAVGhlIG9yaWdpbmFsIGRlcG9zaXQgd2lsbCBubyBsb25nZXIgYmUgcmV0dXJuZWQuADgjIyMgUGFyYW1ldGVyc6AtIGBwcm9wb3NhbF9pZGA6IFRoZSBpbmRleCBvZiBhIHByb3Bvc2FsADgjIyMgQ29tcGxleGl0eawtIE8oQSkgd2hlcmUgYEFgIGlzIHRoZSBudW1iZXIgb2YgYXBwcm92YWxzACgjIyMgRXJyb3JzRQEtIFtgRXJyb3I6OlByb3Bvc2FsTm90QXBwcm92ZWRgXTogVGhlIGBwcm9wb3NhbF9pZGAgc3VwcGxpZWQgd2FzIG5vdCBmb3VuZCBpbiB0aGVRASAgYXBwcm92YWwgcXVldWUsIGkuZS4sIHRoZSBwcm9wb3NhbCBoYXMgbm90IGJlZW4gYXBwcm92ZWQuIFRoaXMgY291bGQgYWxzbyBtZWFuIHRoZVkBICBwcm9wb3NhbCBkb2VzIG5vdCBleGlzdCBhbHRvZ2V0aGVyLCB0aHVzIHRoZXJlIGlzIG5vIHdheSBpdCB3b3VsZCBoYXZlIGJlZW4gYXBwcm92ZWRUICBpbiB0aGUgZmlyc3QgcGxhY2UuFHNwZW5kEAEoYXNzZXRfa2luZJABREJveDxUOjpBc3NldEtpbmQ+AAEYYW1vdW50LQEBUEFzc2V0QmFsYW5jZU9mPFQsIEk+AAEsYmVuZWZpY2lhcnkAAXhCb3g8QmVuZWZpY2lhcnlMb29rdXBPZjxULCBJPj4AASh2YWxpZF9mcm9tWQEBZE9wdGlvbjxCbG9ja051bWJlckZvcjxUPj4ABWi4UHJvcG9zZSBhbmQgYXBwcm92ZSBhIHNwZW5kIG9mIHRyZWFzdXJ5IGZ1bmRzLgBIIyMgRGlzcGF0Y2ggT3JpZ2luAB0BTXVzdCBiZSBbYENvbmZpZzo6U3BlbmRPcmlnaW5gXSB3aXRoIHRoZSBgU3VjY2Vzc2AgdmFsdWUgYmVpbmcgYXQgbGVhc3RVAWBhbW91bnRgIG9mIGBhc3NldF9raW5kYCBpbiB0aGUgbmF0aXZlIGFzc2V0LiBUaGUgYW1vdW50IG9mIGBhc3NldF9raW5kYCBpcyBjb252ZXJ0ZWTUZm9yIGFzc2VydGlvbiB1c2luZyB0aGUgW2BDb25maWc6OkJhbGFuY2VDb252ZXJ0ZXJgXS4AKCMjIERldGFpbHMASQFDcmVhdGUgYW4gYXBwcm92ZWQgc3BlbmQgZm9yIHRyYW5zZmVycmluZyBhIHNwZWNpZmljIGBhbW91bnRgIG9mIGBhc3NldF9raW5kYCB0byBhYQFkZXNpZ25hdGVkIGJlbmVmaWNpYXJ5LiBUaGUgc3BlbmQgbXVzdCBiZSBjbGFpbWVkIHVzaW5nIHRoZSBgcGF5b3V0YCBkaXNwYXRjaGFibGUgd2l0aGludHRoZSBbYENvbmZpZzo6UGF5b3V0UGVyaW9kYF0uADgjIyMgUGFyYW1ldGVycxUBLSBgYXNzZXRfa2luZGA6IEFuIGluZGljYXRvciBvZiB0aGUgc3BlY2lmaWMgYXNzZXQgY2xhc3MgdG8gYmUgc3BlbnQuQQEtIGBhbW91bnRgOiBUaGUgYW1vdW50IHRvIGJlIHRyYW5zZmVycmVkIGZyb20gdGhlIHRyZWFzdXJ5IHRvIHRoZSBgYmVuZWZpY2lhcnlgLrgtIGBiZW5lZmljaWFyeWA6IFRoZSBiZW5lZmljaWFyeSBvZiB0aGUgc3BlbmQuVQEtIGB2YWxpZF9mcm9tYDogVGhlIGJsb2NrIG51bWJlciBmcm9tIHdoaWNoIHRoZSBzcGVuZCBjYW4gYmUgY2xhaW1lZC4gSXQgY2FuIHJlZmVyIHRvGQEgIHRoZSBwYXN0IGlmIHRoZSByZXN1bHRpbmcgc3BlbmQgaGFzIG5vdCB5ZXQgZXhwaXJlZCBhY2NvcmRpbmcgdG8gdGhlRQEgIFtgQ29uZmlnOjpQYXlvdXRQZXJpb2RgXS4gSWYgYE5vbmVgLCB0aGUgc3BlbmQgY2FuIGJlIGNsYWltZWQgaW1tZWRpYXRlbHkgYWZ0ZXIsICBhcHByb3ZhbC4AJCMjIEV2ZW50cwDIRW1pdHMgW2BFdmVudDo6QXNzZXRTcGVuZEFwcHJvdmVkYF0gaWYgc3VjY2Vzc2Z1bC4YcGF5b3V0BAEUaW5kZXgQAShTcGVuZEluZGV4AAZMOENsYWltIGEgc3BlbmQuAEgjIyBEaXNwYXRjaCBPcmlnaW4AOE11c3QgYmUgc2lnbmVkACgjIyBEZXRhaWxzAFUBU3BlbmRzIG11c3QgYmUgY2xhaW1lZCB3aXRoaW4gc29tZSB0ZW1wb3JhbCBib3VuZHMuIEEgc3BlbmQgbWF5IGJlIGNsYWltZWQgd2l0aGluIG9uZdRbYENvbmZpZzo6UGF5b3V0UGVyaW9kYF0gZnJvbSB0aGUgYHZhbGlkX2Zyb21gIGJsb2NrLlUBSW4gY2FzZSBvZiBhIHBheW91dCBmYWlsdXJlLCB0aGUgc3BlbmQgc3RhdHVzIG11c3QgYmUgdXBkYXRlZCB3aXRoIHRoZSBgY2hlY2tfc3RhdHVzYNxkaXNwYXRjaGFibGUgYmVmb3JlIHJldHJ5aW5nIHdpdGggdGhlIGN1cnJlbnQgZnVuY3Rpb24uADgjIyMgUGFyYW1ldGVyc2wtIGBpbmRleGA6IFRoZSBzcGVuZCBpbmRleC4AJCMjIEV2ZW50cwCQRW1pdHMgW2BFdmVudDo6UGFpZGBdIGlmIHN1Y2Nlc3NmdWwuMGNoZWNrX3N0YXR1cwQBFGluZGV4EAEoU3BlbmRJbmRleAAHTCkBQ2hlY2sgdGhlIHN0YXR1cyBvZiB0aGUgc3BlbmQgYW5kIHJlbW92ZSBpdCBmcm9tIHRoZSBzdG9yYWdlIGlmIHByb2Nlc3NlZC4ASCMjIERpc3BhdGNoIE9yaWdpbgA8TXVzdCBiZSBzaWduZWQuACgjIyBEZXRhaWxzAAEBVGhlIHN0YXR1cyBjaGVjayBpcyBhIHByZXJlcXVpc2l0ZSBmb3IgcmV0cnlpbmcgYSBmYWlsZWQgcGF5b3V0LkkBSWYgYSBzcGVuZCBoYXMgZWl0aGVyIHN1Y2NlZWRlZCBvciBleHBpcmVkLCBpdCBpcyByZW1vdmVkIGZyb20gdGhlIHN0b3JhZ2UgYnkgdGhpc+xmdW5jdGlvbi4gSW4gc3VjaCBpbnN0YW5jZXMsIHRyYW5zYWN0aW9uIGZlZXMgYXJlIHJlZnVuZGVkLgA4IyMjIFBhcmFtZXRlcnNsLSBgaW5kZXhgOiBUaGUgc3BlbmQgaW5kZXguACQjIyBFdmVudHMA+EVtaXRzIFtgRXZlbnQ6OlBheW1lbnRGYWlsZWRgXSBpZiB0aGUgc3BlbmQgcGF5b3V0IGhhcyBmYWlsZWQuAQFFbWl0cyBbYEV2ZW50OjpTcGVuZFByb2Nlc3NlZGBdIGlmIHRoZSBzcGVuZCBwYXlvdXQgaGFzIHN1Y2NlZWQuKHZvaWRfc3BlbmQEARRpbmRleBABKFNwZW5kSW5kZXgACEB8Vm9pZCBwcmV2aW91c2x5IGFwcHJvdmVkIHNwZW5kLgBIIyMgRGlzcGF0Y2ggT3JpZ2luAIRNdXN0IGJlIFtgQ29uZmlnOjpSZWplY3RPcmlnaW5gXS4AKCMjIERldGFpbHMAHQFBIHNwZW5kIHZvaWQgaXMgb25seSBwb3NzaWJsZSBpZiB0aGUgcGF5b3V0IGhhcyBub3QgYmVlbiBhdHRlbXB0ZWQgeWV0LgA4IyMjIFBhcmFtZXRlcnNsLSBgaW5kZXhgOiBUaGUgc3BlbmQgaW5kZXguACQjIyBFdmVudHMAwEVtaXRzIFtgRXZlbnQ6OkFzc2V0U3BlbmRWb2lkZWRgXSBpZiBzdWNjZXNzZnVsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5VAQAABhAAWQEEGE9wdGlvbgQEVAEQAQgQTm9uZQAAABBTb21lBAAQAAABAABdAQw4cGFsbGV0X3V0aWxpdHkYcGFsbGV0EENhbGwEBFQAARgUYmF0Y2gEARRjYWxsc2EBAXxWZWM8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AABIfFNlbmQgYSBiYXRjaCBvZiBkaXNwYXRjaCBjYWxscy4AsE1heSBiZSBjYWxsZWQgZnJvbSBhbnkgb3JpZ2luIGV4Y2VwdCBgTm9uZWAuAF0BLSBgY2FsbHNgOiBUaGUgY2FsbHMgdG8gYmUgZGlzcGF0Y2hlZCBmcm9tIHRoZSBzYW1lIG9yaWdpbi4gVGhlIG51bWJlciBvZiBjYWxsIG11c3Qgbm90OQEgIGV4Y2VlZCB0aGUgY29uc3RhbnQ6IGBiYXRjaGVkX2NhbGxzX2xpbWl0YCAoYXZhaWxhYmxlIGluIGNvbnN0YW50IG1ldGFkYXRhKS4AVQFJZiBvcmlnaW4gaXMgcm9vdCB0aGVuIHRoZSBjYWxscyBhcmUgZGlzcGF0Y2hlZCB3aXRob3V0IGNoZWNraW5nIG9yaWdpbiBmaWx0ZXIuIChUaGlz7GluY2x1ZGVzIGJ5cGFzc2luZyBgZnJhbWVfc3lzdGVtOjpDb25maWc6OkJhc2VDYWxsRmlsdGVyYCkuADQjIyBDb21wbGV4aXR50C0gTyhDKSB3aGVyZSBDIGlzIHRoZSBudW1iZXIgb2YgY2FsbHMgdG8gYmUgYmF0Y2hlZC4AVQFUaGlzIHdpbGwgcmV0dXJuIGBPa2AgaW4gYWxsIGNpcmN1bXN0YW5jZXMuIFRvIGRldGVybWluZSB0aGUgc3VjY2VzcyBvZiB0aGUgYmF0Y2gsIGFuMQFldmVudCBpcyBkZXBvc2l0ZWQuIElmIGEgY2FsbCBmYWlsZWQgYW5kIHRoZSBiYXRjaCB3YXMgaW50ZXJydXB0ZWQsIHRoZW4gdGhlVQFgQmF0Y2hJbnRlcnJ1cHRlZGAgZXZlbnQgaXMgZGVwb3NpdGVkLCBhbG9uZyB3aXRoIHRoZSBudW1iZXIgb2Ygc3VjY2Vzc2Z1bCBjYWxscyBtYWRlTQFhbmQgdGhlIGVycm9yIG9mIHRoZSBmYWlsZWQgY2FsbC4gSWYgYWxsIHdlcmUgc3VjY2Vzc2Z1bCwgdGhlbiB0aGUgYEJhdGNoQ29tcGxldGVkYExldmVudCBpcyBkZXBvc2l0ZWQuNGFzX2Rlcml2YXRpdmUIARRpbmRleMgBDHUxNgABEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgABNNxTZW5kIGEgY2FsbCB0aHJvdWdoIGFuIGluZGV4ZWQgcHNldWRvbnltIG9mIHRoZSBzZW5kZXIuAFUBRmlsdGVyIGZyb20gb3JpZ2luIGFyZSBwYXNzZWQgYWxvbmcuIFRoZSBjYWxsIHdpbGwgYmUgZGlzcGF0Y2hlZCB3aXRoIGFuIG9yaWdpbiB3aGljaLx1c2UgdGhlIHNhbWUgZmlsdGVyIGFzIHRoZSBvcmlnaW4gb2YgdGhpcyBjYWxsLgBFAU5PVEU6IElmIHlvdSBuZWVkIHRvIGVuc3VyZSB0aGF0IGFueSBhY2NvdW50LWJhc2VkIGZpbHRlcmluZyBpcyBub3QgaG9ub3JlZCAoaS5lLmEBYmVjYXVzZSB5b3UgZXhwZWN0IGBwcm94eWAgdG8gaGF2ZSBiZWVuIHVzZWQgcHJpb3IgaW4gdGhlIGNhbGwgc3RhY2sgYW5kIHlvdSBkbyBub3Qgd2FudFEBdGhlIGNhbGwgcmVzdHJpY3Rpb25zIHRvIGFwcGx5IHRvIGFueSBzdWItYWNjb3VudHMpLCB0aGVuIHVzZSBgYXNfbXVsdGlfdGhyZXNob2xkXzFgfGluIHRoZSBNdWx0aXNpZyBwYWxsZXQgaW5zdGVhZC4A9E5PVEU6IFByaW9yIHRvIHZlcnNpb24gKjEyLCB0aGlzIHdhcyBjYWxsZWQgYGFzX2xpbWl0ZWRfc3ViYC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLiRiYXRjaF9hbGwEARRjYWxsc2EBAXxWZWM8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAI07FNlbmQgYSBiYXRjaCBvZiBkaXNwYXRjaCBjYWxscyBhbmQgYXRvbWljYWxseSBleGVjdXRlIHRoZW0uIQFUaGUgd2hvbGUgdHJhbnNhY3Rpb24gd2lsbCByb2xsYmFjayBhbmQgZmFpbCBpZiBhbnkgb2YgdGhlIGNhbGxzIGZhaWxlZC4AsE1heSBiZSBjYWxsZWQgZnJvbSBhbnkgb3JpZ2luIGV4Y2VwdCBgTm9uZWAuAF0BLSBgY2FsbHNgOiBUaGUgY2FsbHMgdG8gYmUgZGlzcGF0Y2hlZCBmcm9tIHRoZSBzYW1lIG9yaWdpbi4gVGhlIG51bWJlciBvZiBjYWxsIG11c3Qgbm90OQEgIGV4Y2VlZCB0aGUgY29uc3RhbnQ6IGBiYXRjaGVkX2NhbGxzX2xpbWl0YCAoYXZhaWxhYmxlIGluIGNvbnN0YW50IG1ldGFkYXRhKS4AVQFJZiBvcmlnaW4gaXMgcm9vdCB0aGVuIHRoZSBjYWxscyBhcmUgZGlzcGF0Y2hlZCB3aXRob3V0IGNoZWNraW5nIG9yaWdpbiBmaWx0ZXIuIChUaGlz7GluY2x1ZGVzIGJ5cGFzc2luZyBgZnJhbWVfc3lzdGVtOjpDb25maWc6OkJhc2VDYWxsRmlsdGVyYCkuADQjIyBDb21wbGV4aXR50C0gTyhDKSB3aGVyZSBDIGlzIHRoZSBudW1iZXIgb2YgY2FsbHMgdG8gYmUgYmF0Y2hlZC4sZGlzcGF0Y2hfYXMIASRhc19vcmlnaW5lAQFUQm94PFQ6OlBhbGxldHNPcmlnaW4+AAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAMYyERpc3BhdGNoZXMgYSBmdW5jdGlvbiBjYWxsIHdpdGggYSBwcm92aWRlZCBvcmlnaW4uAMRUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfUm9vdF8uADQjIyBDb21wbGV4aXR5HC0gTygxKS4sZm9yY2VfYmF0Y2gEARRjYWxsc2EBAXxWZWM8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAQ0fFNlbmQgYSBiYXRjaCBvZiBkaXNwYXRjaCBjYWxscy7UVW5saWtlIGBiYXRjaGAsIGl0IGFsbG93cyBlcnJvcnMgYW5kIHdvbid0IGludGVycnVwdC4AsE1heSBiZSBjYWxsZWQgZnJvbSBhbnkgb3JpZ2luIGV4Y2VwdCBgTm9uZWAuAF0BLSBgY2FsbHNgOiBUaGUgY2FsbHMgdG8gYmUgZGlzcGF0Y2hlZCBmcm9tIHRoZSBzYW1lIG9yaWdpbi4gVGhlIG51bWJlciBvZiBjYWxsIG11c3Qgbm90OQEgIGV4Y2VlZCB0aGUgY29uc3RhbnQ6IGBiYXRjaGVkX2NhbGxzX2xpbWl0YCAoYXZhaWxhYmxlIGluIGNvbnN0YW50IG1ldGFkYXRhKS4ATQFJZiBvcmlnaW4gaXMgcm9vdCB0aGVuIHRoZSBjYWxscyBhcmUgZGlzcGF0Y2ggd2l0aG91dCBjaGVja2luZyBvcmlnaW4gZmlsdGVyLiAoVGhpc+xpbmNsdWRlcyBieXBhc3NpbmcgYGZyYW1lX3N5c3RlbTo6Q29uZmlnOjpCYXNlQ2FsbEZpbHRlcmApLgA0IyMgQ29tcGxleGl0edAtIE8oQykgd2hlcmUgQyBpcyB0aGUgbnVtYmVyIG9mIGNhbGxzIHRvIGJlIGJhdGNoZWQuLHdpdGhfd2VpZ2h0CAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAEYd2VpZ2h0KAEYV2VpZ2h0AAUYxERpc3BhdGNoIGEgZnVuY3Rpb24gY2FsbCB3aXRoIGEgc3BlY2lmaWVkIHdlaWdodC4ALQFUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGNoZWNrIHRoZSB3ZWlnaHQgb2YgdGhlIGNhbGwsIGFuZCBpbnN0ZWFkIGFsbG93cyB0aGW4Um9vdCBvcmlnaW4gdG8gc3BlY2lmeSB0aGUgd2VpZ2h0IG9mIHRoZSBjYWxsLgDEVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5hAQAAAhEBAGUBCDxoeWRyYWR4X3J1bnRpbWUwT3JpZ2luQ2FsbGVyAAEcGHN5c3RlbQQAaQEBdGZyYW1lX3N5c3RlbTo6T3JpZ2luPFJ1bnRpbWU+AAEASFRlY2huaWNhbENvbW1pdHRlZQQAbQEBAQFwYWxsZXRfY29sbGVjdGl2ZTo6T3JpZ2luPFJ1bnRpbWUsIHBhbGxldF9jb2xsZWN0aXZlOjpJbnN0YW5jZTI+ABkAHE9yaWdpbnMEAHEBAXRwYWxsZXRfY3VzdG9tX29yaWdpbnM6Ok9yaWdpbgAmACBFdGhlcmV1bQQAdQEBXHBhbGxldF9ldGhlcmV1bTo6T3JpZ2luAFwALFBvbGthZG90WGNtBAB5AQFIcGFsbGV0X3hjbTo6T3JpZ2luAGsAKEN1bXVsdXNYY20EALkBAWhjdW11bHVzX3BhbGxldF94Y206Ok9yaWdpbgBtABBWb2lkBADBAQFBAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjoKX19wcml2YXRlOjpWb2lkAAYAAGkBDDRmcmFtZV9zdXBwb3J0IGRpc3BhdGNoJFJhd09yaWdpbgQkQWNjb3VudElkAQABDBBSb290AAAAGFNpZ25lZAQAAAEkQWNjb3VudElkAAEAEE5vbmUAAgAAbQEIRHBhbGxldF9jb2xsZWN0aXZlJFJhd09yaWdpbggkQWNjb3VudElkAQAESQABDBxNZW1iZXJzCAAQASxNZW1iZXJDb3VudAAAEAEsTWVtYmVyQ291bnQAAAAYTWVtYmVyBAAAASRBY2NvdW50SWQAAQAgX1BoYW50b20AAgAAcQEUPGh5ZHJhZHhfcnVudGltZShnb3Zlcm5hbmNlHG9yaWdpbnNUcGFsbGV0X2N1c3RvbV9vcmlnaW5zGE9yaWdpbgABJERXaGl0ZWxpc3RlZENhbGxlcgAAAExSZWZlcmVuZHVtQ2FuY2VsbGVyAAEAQFJlZmVyZW5kdW1LaWxsZXIAAgAwR2VuZXJhbEFkbWluAAMANE9tbmlwb29sQWRtaW4ABAAkVHJlYXN1cmVyAAUAHFNwZW5kZXIABgAYVGlwcGVyAAcASEVjb25vbWljUGFyYW1ldGVycwAIAAB1AQg8cGFsbGV0X2V0aGVyZXVtJFJhd09yaWdpbgABBExFdGhlcmV1bVRyYW5zYWN0aW9uBABBAQEQSDE2MAAAAAB5AQwocGFsbGV0X3hjbRhwYWxsZXQYT3JpZ2luAAEIDFhjbQQAfQEBIExvY2F0aW9uAAAAIFJlc3BvbnNlBAB9AQEgTG9jYXRpb24AAQAAfQEQLHN0YWdpbmdfeGNtCHY0IGxvY2F0aW9uIExvY2F0aW9uAAAIARxwYXJlbnRzCAEIdTgAASBpbnRlcmlvcoEBASRKdW5jdGlvbnMAAIEBECxzdGFnaW5nX3hjbQh2NCRqdW5jdGlvbnMkSnVuY3Rpb25zAAEkEEhlcmUAAAAIWDEEAIUBAUhBcmM8W0p1bmN0aW9uOyAxXT4AAQAIWDIEAJ0BAUhBcmM8W0p1bmN0aW9uOyAyXT4AAgAIWDMEAKEBAUhBcmM8W0p1bmN0aW9uOyAzXT4AAwAIWDQEAKUBAUhBcmM8W0p1bmN0aW9uOyA0XT4ABAAIWDUEAKkBAUhBcmM8W0p1bmN0aW9uOyA1XT4ABQAIWDYEAK0BAUhBcmM8W0p1bmN0aW9uOyA2XT4ABgAIWDcEALEBAUhBcmM8W0p1bmN0aW9uOyA3XT4ABwAIWDgEALUBAUhBcmM8W0p1bmN0aW9uOyA4XT4ACAAAhQEAAAMBAAAAiQEAiQEQLHN0YWdpbmdfeGNtCHY0IGp1bmN0aW9uIEp1bmN0aW9uAAEoJFBhcmFjaGFpbgQAVQEBDHUzMgAAACxBY2NvdW50SWQzMggBHG5ldHdvcmuNAQFET3B0aW9uPE5ldHdvcmtJZD4AAQhpZAQBIFt1ODsgMzJdAAEAOEFjY291bnRJbmRleDY0CAEcbmV0d29ya40BAURPcHRpb248TmV0d29ya0lkPgABFGluZGV4LAEMdTY0AAIAMEFjY291bnRLZXkyMAgBHG5ldHdvcmuNAQFET3B0aW9uPE5ldHdvcmtJZD4AAQxrZXlFAQEgW3U4OyAyMF0AAwA4UGFsbGV0SW5zdGFuY2UEAAgBCHU4AAQAMEdlbmVyYWxJbmRleAQALQEBEHUxMjgABQAoR2VuZXJhbEtleQgBGGxlbmd0aAgBCHU4AAEQZGF0YQQBIFt1ODsgMzJdAAYAJE9ubHlDaGlsZAAHACRQbHVyYWxpdHkIAQhpZJUBARhCb2R5SWQAARBwYXJ0mQEBIEJvZHlQYXJ0AAgAPEdsb2JhbENvbnNlbnN1cwQAkQEBJE5ldHdvcmtJZAAJAACNAQQYT3B0aW9uBARUAZEBAQgQTm9uZQAAABBTb21lBACRAQAAAQAAkQEQLHN0YWdpbmdfeGNtCHY0IGp1bmN0aW9uJE5ldHdvcmtJZAABLCRCeUdlbmVzaXMEAAQBIFt1ODsgMzJdAAAAGEJ5Rm9yawgBMGJsb2NrX251bWJlcjABDHU2NAABKGJsb2NrX2hhc2gEASBbdTg7IDMyXQABACBQb2xrYWRvdAACABhLdXNhbWEAAwAcV2VzdGVuZAAEABhSb2NvY28ABQAYV29jb2NvAAYAIEV0aGVyZXVtBAEgY2hhaW5faWQsAQx1NjQABwAsQml0Y29pbkNvcmUACAAsQml0Y29pbkNhc2gACQBAUG9sa2Fkb3RCdWxsZXRpbgAKAACVARAMeGNtCHYzIGp1bmN0aW9uGEJvZHlJZAABKBBVbml0AAAAHE1vbmlrZXIEAEgBHFt1ODsgNF0AAQAUSW5kZXgEAFUBAQx1MzIAAgAkRXhlY3V0aXZlAAMAJFRlY2huaWNhbAAEACxMZWdpc2xhdGl2ZQAFACBKdWRpY2lhbAAGABxEZWZlbnNlAAcAOEFkbWluaXN0cmF0aW9uAAgAIFRyZWFzdXJ5AAkAAJkBEAx4Y20IdjMganVuY3Rpb24gQm9keVBhcnQAARQUVm9pY2UAAAAcTWVtYmVycwQBFGNvdW50VQEBDHUzMgABACBGcmFjdGlvbggBDG5vbVUBAQx1MzIAARRkZW5vbVUBAQx1MzIAAgBEQXRMZWFzdFByb3BvcnRpb24IAQxub21VAQEMdTMyAAEUZGVub21VAQEMdTMyAAMASE1vcmVUaGFuUHJvcG9ydGlvbggBDG5vbVUBAQx1MzIAARRkZW5vbVUBAQx1MzIABAAAnQEAAAMCAAAAiQEAoQEAAAMDAAAAiQEApQEAAAMEAAAAiQEAqQEAAAMFAAAAiQEArQEAAAMGAAAAiQEAsQEAAAMHAAAAiQEAtQEAAAMIAAAAiQEAuQEMSGN1bXVsdXNfcGFsbGV0X3hjbRhwYWxsZXQYT3JpZ2luAAEIFFJlbGF5AAAAQFNpYmxpbmdQYXJhY2hhaW4EAL0BARhQYXJhSWQAAQAAvQEMdHBvbGthZG90X3BhcmFjaGFpbl9wcmltaXRpdmVzKHByaW1pdGl2ZXMISWQAAAQAEAEMdTMyAADBAQgcc3BfY29yZRBWb2lkAAEAAMUBDDxwYWxsZXRfcHJlaW1hZ2UYcGFsbGV0EENhbGwEBFQAARQ0bm90ZV9wcmVpbWFnZQQBFGJ5dGVzOAEcVmVjPHU4PgAAEHRSZWdpc3RlciBhIHByZWltYWdlIG9uLWNoYWluLgBVAUlmIHRoZSBwcmVpbWFnZSB3YXMgcHJldmlvdXNseSByZXF1ZXN0ZWQsIG5vIGZlZXMgb3IgZGVwb3NpdHMgYXJlIHRha2VuIGZvciBwcm92aWRpbmdVAXRoZSBwcmVpbWFnZS4gT3RoZXJ3aXNlLCBhIGRlcG9zaXQgaXMgdGFrZW4gcHJvcG9ydGlvbmFsIHRvIHRoZSBzaXplIG9mIHRoZSBwcmVpbWFnZS48dW5ub3RlX3ByZWltYWdlBAEQaGFzaDQBHFQ6Okhhc2gAARjcQ2xlYXIgYW4gdW5yZXF1ZXN0ZWQgcHJlaW1hZ2UgZnJvbSB0aGUgcnVudGltZSBzdG9yYWdlLgD8SWYgYGxlbmAgaXMgcHJvdmlkZWQsIHRoZW4gaXQgd2lsbCBiZSBhIG11Y2ggY2hlYXBlciBvcGVyYXRpb24uAAEBLSBgaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBwcmVpbWFnZSB0byBiZSByZW1vdmVkIGZyb20gdGhlIHN0b3JlLrgtIGBsZW5gOiBUaGUgbGVuZ3RoIG9mIHRoZSBwcmVpbWFnZSBvZiBgaGFzaGAuQHJlcXVlc3RfcHJlaW1hZ2UEARBoYXNoNAEcVDo6SGFzaAACEEEBUmVxdWVzdCBhIHByZWltYWdlIGJlIHVwbG9hZGVkIHRvIHRoZSBjaGFpbiB3aXRob3V0IHBheWluZyBhbnkgZmVlcyBvciBkZXBvc2l0cy4AVQFJZiB0aGUgcHJlaW1hZ2UgcmVxdWVzdHMgaGFzIGFscmVhZHkgYmVlbiBwcm92aWRlZCBvbi1jaGFpbiwgd2UgdW5yZXNlcnZlIGFueSBkZXBvc2l0OQFhIHVzZXIgbWF5IGhhdmUgcGFpZCwgYW5kIHRha2UgdGhlIGNvbnRyb2wgb2YgdGhlIHByZWltYWdlIG91dCBvZiB0aGVpciBoYW5kcy5IdW5yZXF1ZXN0X3ByZWltYWdlBAEQaGFzaDQBHFQ6Okhhc2gAAwy8Q2xlYXIgYSBwcmV2aW91c2x5IG1hZGUgcmVxdWVzdCBmb3IgYSBwcmVpbWFnZS4ALQFOT1RFOiBUSElTIE1VU1QgTk9UIEJFIENBTExFRCBPTiBgaGFzaGAgTU9SRSBUSU1FUyBUSEFOIGByZXF1ZXN0X3ByZWltYWdlYC44ZW5zdXJlX3VwZGF0ZWQEARhoYXNoZXPJAQEwVmVjPFQ6Okhhc2g+AAQMxEVuc3VyZSB0aGF0IHRoZSBhIGJ1bGsgb2YgcHJlLWltYWdlcyBpcyB1cGdyYWRlZC4APQFUaGUgY2FsbGVyIHBheXMgbm8gZmVlIGlmIGF0IGxlYXN0IDkwJSBvZiBwcmUtaW1hZ2VzIHdlcmUgc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLskBAAACNADNAQw8cGFsbGV0X2lkZW50aXR5GHBhbGxldBBDYWxsBARUAAFYNGFkZF9yZWdpc3RyYXIEARxhY2NvdW50AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AABx4QWRkIGEgcmVnaXN0cmFyIHRvIHRoZSBzeXN0ZW0uAPxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgVDo6UmVnaXN0cmFyT3JpZ2luYC4AqC0gYGFjY291bnRgOiB0aGUgYWNjb3VudCBvZiB0aGUgcmVnaXN0cmFyLgCURW1pdHMgYFJlZ2lzdHJhckFkZGVkYCBpZiBzdWNjZXNzZnVsLjBzZXRfaWRlbnRpdHkEARBpbmZv0QEBbEJveDxUOjpJZGVudGl0eUluZm9ybWF0aW9uPgABKCkBU2V0IGFuIGFjY291bnQncyBpZGVudGl0eSBpbmZvcm1hdGlvbiBhbmQgcmVzZXJ2ZSB0aGUgYXBwcm9wcmlhdGUgZGVwb3NpdC4AVQFJZiB0aGUgYWNjb3VudCBhbHJlYWR5IGhhcyBpZGVudGl0eSBpbmZvcm1hdGlvbiwgdGhlIGRlcG9zaXQgaXMgdGFrZW4gYXMgcGFydCBwYXltZW50UGZvciB0aGUgbmV3IGRlcG9zaXQuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AjC0gYGluZm9gOiBUaGUgaWRlbnRpdHkgaW5mb3JtYXRpb24uAIhFbWl0cyBgSWRlbnRpdHlTZXRgIGlmIHN1Y2Nlc3NmdWwuIHNldF9zdWJzBAEQc3Vic2ECAWRWZWM8KFQ6OkFjY291bnRJZCwgRGF0YSk+AAIkjFNldCB0aGUgc3ViLWFjY291bnRzIG9mIHRoZSBzZW5kZXIuAFUBUGF5bWVudDogQW55IGFnZ3JlZ2F0ZSBiYWxhbmNlIHJlc2VydmVkIGJ5IHByZXZpb3VzIGBzZXRfc3Vic2AgY2FsbHMgd2lsbCBiZSByZXR1cm5lZC0BYW5kIGFuIGFtb3VudCBgU3ViQWNjb3VudERlcG9zaXRgIHdpbGwgYmUgcmVzZXJ2ZWQgZm9yIGVhY2ggaXRlbSBpbiBgc3Vic2AuAGEBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBoYXZlIGEgcmVnaXN0ZXJlZCRpZGVudGl0eS4AsC0gYHN1YnNgOiBUaGUgaWRlbnRpdHkncyAobmV3KSBzdWItYWNjb3VudHMuOGNsZWFyX2lkZW50aXR5AAMgOQFDbGVhciBhbiBhY2NvdW50J3MgaWRlbnRpdHkgaW5mbyBhbmQgYWxsIHN1Yi1hY2NvdW50cyBhbmQgcmV0dXJuIGFsbCBkZXBvc2l0cy4A7FBheW1lbnQ6IEFsbCByZXNlcnZlZCBiYWxhbmNlcyBvbiB0aGUgYWNjb3VudCBhcmUgcmV0dXJuZWQuAGEBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBoYXZlIGEgcmVnaXN0ZXJlZCRpZGVudGl0eS4AmEVtaXRzIGBJZGVudGl0eUNsZWFyZWRgIGlmIHN1Y2Nlc3NmdWwuRHJlcXVlc3RfanVkZ2VtZW50CAEkcmVnX2luZGV4VQEBOFJlZ2lzdHJhckluZGV4AAEcbWF4X2ZlZS0BATBCYWxhbmNlT2Y8VD4ABECUUmVxdWVzdCBhIGp1ZGdlbWVudCBmcm9tIGEgcmVnaXN0cmFyLgBVAVBheW1lbnQ6IEF0IG1vc3QgYG1heF9mZWVgIHdpbGwgYmUgcmVzZXJ2ZWQgZm9yIHBheW1lbnQgdG8gdGhlIHJlZ2lzdHJhciBpZiBqdWRnZW1lbnQYZ2l2ZW4uADUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBoYXZlIGFQcmVnaXN0ZXJlZCBpZGVudGl0eS4AHQEtIGByZWdfaW5kZXhgOiBUaGUgaW5kZXggb2YgdGhlIHJlZ2lzdHJhciB3aG9zZSBqdWRnZW1lbnQgaXMgcmVxdWVzdGVkLlUBLSBgbWF4X2ZlZWA6IFRoZSBtYXhpbXVtIGZlZSB0aGF0IG1heSBiZSBwYWlkLiBUaGlzIHNob3VsZCBqdXN0IGJlIGF1dG8tcG9wdWxhdGVkIGFzOgAwYGBgbm9jb21waWxlyFJlZ2lzdHJhcnM6OjxUPjo6Z2V0KCkuZ2V0KHJlZ19pbmRleCkudW53cmFwKCkuZmVlDGBgYACkRW1pdHMgYEp1ZGdlbWVudFJlcXVlc3RlZGAgaWYgc3VjY2Vzc2Z1bC44Y2FuY2VsX3JlcXVlc3QEASRyZWdfaW5kZXgQAThSZWdpc3RyYXJJbmRleAAFKGhDYW5jZWwgYSBwcmV2aW91cyByZXF1ZXN0LgD4UGF5bWVudDogQSBwcmV2aW91c2x5IHJlc2VydmVkIGRlcG9zaXQgaXMgcmV0dXJuZWQgb24gc3VjY2Vzcy4ANQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYVByZWdpc3RlcmVkIGlkZW50aXR5LgBFAS0gYHJlZ19pbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGp1ZGdlbWVudCBpcyBubyBsb25nZXIgcmVxdWVzdGVkLgCsRW1pdHMgYEp1ZGdlbWVudFVucmVxdWVzdGVkYCBpZiBzdWNjZXNzZnVsLhxzZXRfZmVlCAEUaW5kZXhVAQE4UmVnaXN0cmFySW5kZXgAAQxmZWUtAQEwQmFsYW5jZU9mPFQ+AAYcGQFTZXQgdGhlIGZlZSByZXF1aXJlZCBmb3IgYSBqdWRnZW1lbnQgdG8gYmUgcmVxdWVzdGVkIGZyb20gYSByZWdpc3RyYXIuAFUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBiZSB0aGUgYWNjb3VudKBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGluZGV4IGlzIGBpbmRleGAuAPQtIGBpbmRleGA6IHRoZSBpbmRleCBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGZlZSBpcyB0byBiZSBzZXQuVC0gYGZlZWA6IHRoZSBuZXcgZmVlLjhzZXRfYWNjb3VudF9pZAgBFGluZGV4VQEBOFJlZ2lzdHJhckluZGV4AAEMbmV3AAFQQWNjb3VudElkTG9va3VwT2Y8VD4ABxy8Q2hhbmdlIHRoZSBhY2NvdW50IGFzc29jaWF0ZWQgd2l0aCBhIHJlZ2lzdHJhci4AVQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGJlIHRoZSBhY2NvdW50oG9mIHRoZSByZWdpc3RyYXIgd2hvc2UgaW5kZXggaXMgYGluZGV4YC4A9C0gYGluZGV4YDogdGhlIGluZGV4IG9mIHRoZSByZWdpc3RyYXIgd2hvc2UgZmVlIGlzIHRvIGJlIHNldC5wLSBgbmV3YDogdGhlIG5ldyBhY2NvdW50IElELihzZXRfZmllbGRzCAEUaW5kZXhVAQE4UmVnaXN0cmFySW5kZXgAARhmaWVsZHMwASkBPFQ6OklkZW50aXR5SW5mb3JtYXRpb24gYXMgSWRlbnRpdHlJbmZvcm1hdGlvblByb3ZpZGVyPjo6CkZpZWxkc0lkZW50aWZpZXIACByoU2V0IHRoZSBmaWVsZCBpbmZvcm1hdGlvbiBmb3IgYSByZWdpc3RyYXIuAFUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBiZSB0aGUgYWNjb3VudKBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGluZGV4IGlzIGBpbmRleGAuAPQtIGBpbmRleGA6IHRoZSBpbmRleCBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGZlZSBpcyB0byBiZSBzZXQuDQEtIGBmaWVsZHNgOiB0aGUgZmllbGRzIHRoYXQgdGhlIHJlZ2lzdHJhciBjb25jZXJucyB0aGVtc2VsdmVzIHdpdGguRHByb3ZpZGVfanVkZ2VtZW50EAEkcmVnX2luZGV4VQEBOFJlZ2lzdHJhckluZGV4AAEYdGFyZ2V0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASRqdWRnZW1lbnRpAgFcSnVkZ2VtZW50PEJhbGFuY2VPZjxUPj4AASBpZGVudGl0eTQBHFQ6Okhhc2gACTy4UHJvdmlkZSBhIGp1ZGdlbWVudCBmb3IgYW4gYWNjb3VudCdzIGlkZW50aXR5LgBVAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3QgYmUgdGhlIGFjY291bnSwb2YgdGhlIHJlZ2lzdHJhciB3aG9zZSBpbmRleCBpcyBgcmVnX2luZGV4YC4AIQEtIGByZWdfaW5kZXhgOiB0aGUgaW5kZXggb2YgdGhlIHJlZ2lzdHJhciB3aG9zZSBqdWRnZW1lbnQgaXMgYmVpbmcgbWFkZS5VAS0gYHRhcmdldGA6IHRoZSBhY2NvdW50IHdob3NlIGlkZW50aXR5IHRoZSBqdWRnZW1lbnQgaXMgdXBvbi4gVGhpcyBtdXN0IGJlIGFuIGFjY291bnR0ICB3aXRoIGEgcmVnaXN0ZXJlZCBpZGVudGl0eS5JAS0gYGp1ZGdlbWVudGA6IHRoZSBqdWRnZW1lbnQgb2YgdGhlIHJlZ2lzdHJhciBvZiBpbmRleCBgcmVnX2luZGV4YCBhYm91dCBgdGFyZ2V0YC5dAS0gYGlkZW50aXR5YDogVGhlIGhhc2ggb2YgdGhlIFtgSWRlbnRpdHlJbmZvcm1hdGlvblByb3ZpZGVyYF0gZm9yIHRoYXQgdGhlIGp1ZGdlbWVudCBpcywgIHByb3ZpZGVkLgCwTm90ZTogSnVkZ2VtZW50cyBkbyBub3QgYXBwbHkgdG8gYSB1c2VybmFtZS4AlEVtaXRzIGBKdWRnZW1lbnRHaXZlbmAgaWYgc3VjY2Vzc2Z1bC40a2lsbF9pZGVudGl0eQQBGHRhcmdldAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAowQQFSZW1vdmUgYW4gYWNjb3VudCdzIGlkZW50aXR5IGFuZCBzdWItYWNjb3VudCBpbmZvcm1hdGlvbiBhbmQgc2xhc2ggdGhlIGRlcG9zaXRzLgBhAVBheW1lbnQ6IFJlc2VydmVkIGJhbGFuY2VzIGZyb20gYHNldF9zdWJzYCBhbmQgYHNldF9pZGVudGl0eWAgYXJlIHNsYXNoZWQgYW5kIGhhbmRsZWQgYnlFAWBTbGFzaGAuIFZlcmlmaWNhdGlvbiByZXF1ZXN0IGRlcG9zaXRzIGFyZSBub3QgcmV0dXJuZWQ7IHRoZXkgc2hvdWxkIGJlIGNhbmNlbGxlZIBtYW51YWxseSB1c2luZyBgY2FuY2VsX3JlcXVlc3RgLgD4VGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgbWF0Y2ggYFQ6OkZvcmNlT3JpZ2luYC4AVQEtIGB0YXJnZXRgOiB0aGUgYWNjb3VudCB3aG9zZSBpZGVudGl0eSB0aGUganVkZ2VtZW50IGlzIHVwb24uIFRoaXMgbXVzdCBiZSBhbiBhY2NvdW50dCAgd2l0aCBhIHJlZ2lzdGVyZWQgaWRlbnRpdHkuAJRFbWl0cyBgSWRlbnRpdHlLaWxsZWRgIGlmIHN1Y2Nlc3NmdWwuHGFkZF9zdWIIAQxzdWIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABEGRhdGHdAQEQRGF0YQALHKxBZGQgdGhlIGdpdmVuIGFjY291bnQgdG8gdGhlIHNlbmRlcidzIHN1YnMuAF0BUGF5bWVudDogQmFsYW5jZSByZXNlcnZlZCBieSBhIHByZXZpb3VzIGBzZXRfc3Vic2AgY2FsbCBmb3Igb25lIHN1YiB3aWxsIGJlIHJlcGF0cmlhdGVkOHRvIHRoZSBzZW5kZXIuAGEBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBoYXZlIGEgcmVnaXN0ZXJlZFhzdWIgaWRlbnRpdHkgb2YgYHN1YmAuKHJlbmFtZV9zdWIIAQxzdWIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABEGRhdGHdAQEQRGF0YQAMEMxBbHRlciB0aGUgYXNzb2NpYXRlZCBuYW1lIG9mIHRoZSBnaXZlbiBzdWItYWNjb3VudC4AYQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYSByZWdpc3RlcmVkWHN1YiBpZGVudGl0eSBvZiBgc3ViYC4ocmVtb3ZlX3N1YgQBDHN1YgABUEFjY291bnRJZExvb2t1cE9mPFQ+AA0cwFJlbW92ZSB0aGUgZ2l2ZW4gYWNjb3VudCBmcm9tIHRoZSBzZW5kZXIncyBzdWJzLgBdAVBheW1lbnQ6IEJhbGFuY2UgcmVzZXJ2ZWQgYnkgYSBwcmV2aW91cyBgc2V0X3N1YnNgIGNhbGwgZm9yIG9uZSBzdWIgd2lsbCBiZSByZXBhdHJpYXRlZDh0byB0aGUgc2VuZGVyLgBhAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3QgaGF2ZSBhIHJlZ2lzdGVyZWRYc3ViIGlkZW50aXR5IG9mIGBzdWJgLiBxdWl0X3N1YgAOKIxSZW1vdmUgdGhlIHNlbmRlciBhcyBhIHN1Yi1hY2NvdW50LgBdAVBheW1lbnQ6IEJhbGFuY2UgcmVzZXJ2ZWQgYnkgYSBwcmV2aW91cyBgc2V0X3N1YnNgIGNhbGwgZm9yIG9uZSBzdWIgd2lsbCBiZSByZXBhdHJpYXRlZLR0byB0aGUgc2VuZGVyICgqbm90KiB0aGUgb3JpZ2luYWwgZGVwb3NpdG9yKS4AYQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYSByZWdpc3RlcmVkPHN1cGVyLWlkZW50aXR5LgBFAU5PVEU6IFRoaXMgc2hvdWxkIG5vdCBub3JtYWxseSBiZSB1c2VkLCBidXQgaXMgcHJvdmlkZWQgaW4gdGhlIGNhc2UgdGhhdCB0aGUgbm9uLREBY29udHJvbGxlciBvZiBhbiBhY2NvdW50IGlzIG1hbGljaW91c2x5IHJlZ2lzdGVyZWQgYXMgYSBzdWItYWNjb3VudC5YYWRkX3VzZXJuYW1lX2F1dGhvcml0eQwBJGF1dGhvcml0eQABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEYc3VmZml4OAEcVmVjPHU4PgABKGFsbG9jYXRpb24QAQx1MzIADxBVAUFkZCBhbiBgQWNjb3VudElkYCB3aXRoIHBlcm1pc3Npb24gdG8gZ3JhbnQgdXNlcm5hbWVzIHdpdGggYSBnaXZlbiBgc3VmZml4YCBhcHBlbmRlZC4AWQFUaGUgYXV0aG9yaXR5IGNhbiBncmFudCB1cCB0byBgYWxsb2NhdGlvbmAgdXNlcm5hbWVzLiBUbyB0b3AgdXAgdGhlaXIgYWxsb2NhdGlvbiwgdGhleUkBc2hvdWxkIGp1c3QgaXNzdWUgKG9yIHJlcXVlc3QgdmlhIGdvdmVybmFuY2UpIGEgbmV3IGBhZGRfdXNlcm5hbWVfYXV0aG9yaXR5YCBjYWxsLmRyZW1vdmVfdXNlcm5hbWVfYXV0aG9yaXR5BAEkYXV0aG9yaXR5AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AEATEUmVtb3ZlIGBhdXRob3JpdHlgIGZyb20gdGhlIHVzZXJuYW1lIGF1dGhvcml0aWVzLkBzZXRfdXNlcm5hbWVfZm9yDAEMd2hvAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASB1c2VybmFtZTgBHFZlYzx1OD4AASRzaWduYXR1cmVtAgFwT3B0aW9uPFQ6Ok9mZmNoYWluU2lnbmF0dXJlPgARJA0BU2V0IHRoZSB1c2VybmFtZSBmb3IgYHdob2AuIE11c3QgYmUgY2FsbGVkIGJ5IGEgdXNlcm5hbWUgYXV0aG9yaXR5LgBVAVRoZSBhdXRob3JpdHkgbXVzdCBoYXZlIGFuIGBhbGxvY2F0aW9uYC4gVXNlcnMgY2FuIGVpdGhlciBwcmUtc2lnbiB0aGVpciB1c2VybmFtZXMgb3JIYWNjZXB0IHRoZW0gbGF0ZXIuADxVc2VybmFtZXMgbXVzdDrYICAtIE9ubHkgY29udGFpbiBsb3dlcmNhc2UgQVNDSUkgY2hhcmFjdGVycyBvciBkaWdpdHMuNQEgIC0gV2hlbiBjb21iaW5lZCB3aXRoIHRoZSBzdWZmaXggb2YgdGhlIGlzc3VpbmcgYXV0aG9yaXR5IGJlIF9sZXNzIHRoYW5fIHRoZWAgICAgYE1heFVzZXJuYW1lTGVuZ3RoYC48YWNjZXB0X3VzZXJuYW1lBAEgdXNlcm5hbWWkASxVc2VybmFtZTxUPgASCE0BQWNjZXB0IGEgZ2l2ZW4gdXNlcm5hbWUgdGhhdCBhbiBgYXV0aG9yaXR5YCBncmFudGVkLiBUaGUgY2FsbCBtdXN0IGluY2x1ZGUgdGhlIGZ1bGyIdXNlcm5hbWUsIGFzIGluIGB1c2VybmFtZS5zdWZmaXhgLlxyZW1vdmVfZXhwaXJlZF9hcHByb3ZhbAQBIHVzZXJuYW1lpAEsVXNlcm5hbWU8VD4AEwxhAVJlbW92ZSBhbiBleHBpcmVkIHVzZXJuYW1lIGFwcHJvdmFsLiBUaGUgdXNlcm5hbWUgd2FzIGFwcHJvdmVkIGJ5IGFuIGF1dGhvcml0eSBidXQgbmV2ZXJVAWFjY2VwdGVkIGJ5IHRoZSB1c2VyIGFuZCBtdXN0IG5vdyBiZSBiZXlvbmQgaXRzIGV4cGlyYXRpb24uIFRoZSBjYWxsIG11c3QgaW5jbHVkZSB0aGWcZnVsbCB1c2VybmFtZSwgYXMgaW4gYHVzZXJuYW1lLnN1ZmZpeGAuUHNldF9wcmltYXJ5X3VzZXJuYW1lBAEgdXNlcm5hbWWkASxVc2VybmFtZTxUPgAUBDEBU2V0IGEgZ2l2ZW4gdXNlcm5hbWUgYXMgdGhlIHByaW1hcnkuIFRoZSB1c2VybmFtZSBzaG91bGQgaW5jbHVkZSB0aGUgc3VmZml4LmByZW1vdmVfZGFuZ2xpbmdfdXNlcm5hbWUEASB1c2VybmFtZaQBLFVzZXJuYW1lPFQ+ABUIVQFSZW1vdmUgYSB1c2VybmFtZSB0aGF0IGNvcnJlc3BvbmRzIHRvIGFuIGFjY291bnQgd2l0aCBubyBpZGVudGl0eS4gRXhpc3RzIHdoZW4gYSB1c2VywGdldHMgYSB1c2VybmFtZSBidXQgdGhlbiBjYWxscyBgY2xlYXJfaWRlbnRpdHlgLgRwSWRlbnRpdHkgcGFsbGV0IGRlY2xhcmF0aW9uLtEBDDxwYWxsZXRfaWRlbnRpdHkYbGVnYWN5MElkZW50aXR5SW5mbwQoRmllbGRMaW1pdAAAJAEoYWRkaXRpb25hbNUBAZBCb3VuZGVkVmVjPChEYXRhLCBEYXRhKSwgRmllbGRMaW1pdD4AARxkaXNwbGF53QEBEERhdGEAARRsZWdhbN0BARBEYXRhAAEMd2Vi3QEBEERhdGEAARByaW903QEBEERhdGEAARRlbWFpbN0BARBEYXRhAAE8cGdwX2ZpbmdlcnByaW50XQIBQE9wdGlvbjxbdTg7IDIwXT4AARRpbWFnZd0BARBEYXRhAAEcdHdpdHRlct0BARBEYXRhAADVAQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAdkBBFMAAAQAWQIBGFZlYzxUPgAA2QEAAAQI3QHdAQDdAQw8cGFsbGV0X2lkZW50aXR5FHR5cGVzEERhdGEAAZgQTm9uZQAAABBSYXcwBADhAQAAAQAQUmF3MQQA5QEAAAIAEFJhdzIEAOkBAAADABBSYXczBADtAQAABAAQUmF3NAQASAAABQAQUmF3NQQA8QEAAAYAEFJhdzYEAPUBAAAHABBSYXc3BAD5AQAACAAQUmF3OAQA/QEAAAkAEFJhdzkEAAECAAAKABRSYXcxMAQABQIAAAsAFFJhdzExBAAJAgAADAAUUmF3MTIEAA0CAAANABRSYXcxMwQAEQIAAA4AFFJhdzE0BAAVAgAADwAUUmF3MTUEABkCAAAQABRSYXcxNgQAHQIAABEAFFJhdzE3BAAhAgAAEgAUUmF3MTgEACUCAAATABRSYXcxOQQAKQIAABQAFFJhdzIwBABFAQAAFQAUUmF3MjEEAC0CAAAWABRSYXcyMgQAMQIAABcAFFJhdzIzBAA1AgAAGAAUUmF3MjQEADkCAAAZABRSYXcyNQQAPQIAABoAFFJhdzI2BABBAgAAGwAUUmF3MjcEAEUCAAAcABRSYXcyOAQASQIAAB0AFFJhdzI5BABNAgAAHgAUUmF3MzAEAFECAAAfABRSYXczMQQAVQIAACAAFFJhdzMyBAAEAAAhACxCbGFrZVR3bzI1NgQABAAAIgAYU2hhMjU2BAAEAAAjACRLZWNjYWsyNTYEAAQAACQALFNoYVRocmVlMjU2BAAEAAAlAADhAQAAAwAAAAAIAOUBAAADAQAAAAgA6QEAAAMCAAAACADtAQAAAwMAAAAIAPEBAAADBQAAAAgA9QEAAAMGAAAACAD5AQAAAwcAAAAIAP0BAAADCAAAAAgAAQIAAAMJAAAACAAFAgAAAwoAAAAIAAkCAAADCwAAAAgADQIAAAMMAAAACAARAgAAAw0AAAAIABUCAAADDgAAAAgAGQIAAAMPAAAACAAdAgAAAxAAAAAIACECAAADEQAAAAgAJQIAAAMSAAAACAApAgAAAxMAAAAIAC0CAAADFQAAAAgAMQIAAAMWAAAACAA1AgAAAxcAAAAIADkCAAADGAAAAAgAPQIAAAMZAAAACABBAgAAAxoAAAAIAEUCAAADGwAAAAgASQIAAAMcAAAACABNAgAAAx0AAAAIAFECAAADHgAAAAgAVQIAAAMfAAAACABZAgAAAtkBAF0CBBhPcHRpb24EBFQBRQEBCBBOb25lAAAAEFNvbWUEAEUBAAABAABhAgAAAmUCAGUCAAAECADdAQBpAgw8cGFsbGV0X2lkZW50aXR5FHR5cGVzJEp1ZGdlbWVudAQcQmFsYW5jZQEYARwcVW5rbm93bgAAABxGZWVQYWlkBAAYARxCYWxhbmNlAAEAKFJlYXNvbmFibGUAAgAkS25vd25Hb29kAAMAJE91dE9mRGF0ZQAEAChMb3dRdWFsaXR5AAUAJEVycm9uZW91cwAGAABtAgQYT3B0aW9uBARUAXECAQgQTm9uZQAAABBTb21lBABxAgAAAQAAcQIIKHNwX3J1bnRpbWU4TXVsdGlTaWduYXR1cmUAAQwcRWQyNTUxOQQAdQIBSGVkMjU1MTk6OlNpZ25hdHVyZQAAABxTcjI1NTE5BAB1AgFIc3IyNTUxOTo6U2lnbmF0dXJlAAEAFEVjZHNhBAB5AgFAZWNkc2E6OlNpZ25hdHVyZQACAAB1AgAAA0AAAAAIAHkCAAADQQAAAAgAfQIMQHBhbGxldF9kZW1vY3JhY3kYcGFsbGV0EENhbGwEBFQAAVAccHJvcG9zZQgBIHByb3Bvc2FsDQEBQEJvdW5kZWRDYWxsT2Y8VD4AARR2YWx1ZS0BATBCYWxhbmNlT2Y8VD4AACScUHJvcG9zZSBhIHNlbnNpdGl2ZSBhY3Rpb24gdG8gYmUgdGFrZW4uABUBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0gGhhdmUgZnVuZHMgdG8gY292ZXIgdGhlIGRlcG9zaXQuANQtIGBwcm9wb3NhbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIHByb3Bvc2FsIHByZWltYWdlLhUBLSBgdmFsdWVgOiBUaGUgYW1vdW50IG9mIGRlcG9zaXQgKG11c3QgYmUgYXQgbGVhc3QgYE1pbmltdW1EZXBvc2l0YCkuAERFbWl0cyBgUHJvcG9zZWRgLhhzZWNvbmQEASBwcm9wb3NhbFUBASRQcm9wSW5kZXgAARi0U2lnbmFscyBhZ3JlZW1lbnQgd2l0aCBhIHBhcnRpY3VsYXIgcHJvcG9zYWwuAAEBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlchEBbXVzdCBoYXZlIGZ1bmRzIHRvIGNvdmVyIHRoZSBkZXBvc2l0LCBlcXVhbCB0byB0aGUgb3JpZ2luYWwgZGVwb3NpdC4AyC0gYHByb3Bvc2FsYDogVGhlIGluZGV4IG9mIHRoZSBwcm9wb3NhbCB0byBzZWNvbmQuEHZvdGUIASRyZWZfaW5kZXhVAQE8UmVmZXJlbmR1bUluZGV4AAEQdm90ZbABZEFjY291bnRWb3RlPEJhbGFuY2VPZjxUPj4AAhwxAVZvdGUgaW4gYSByZWZlcmVuZHVtLiBJZiBgdm90ZS5pc19heWUoKWAsIHRoZSB2b3RlIGlzIHRvIGVuYWN0IHRoZSBwcm9wb3NhbDu4b3RoZXJ3aXNlIGl0IGlzIGEgdm90ZSB0byBrZWVwIHRoZSBzdGF0dXMgcXVvLgDIVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4A3C0gYHJlZl9pbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVmZXJlbmR1bSB0byB2b3RlIGZvci6ELSBgdm90ZWA6IFRoZSB2b3RlIGNvbmZpZ3VyYXRpb24uQGVtZXJnZW5jeV9jYW5jZWwEASRyZWZfaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgAAyBNAVNjaGVkdWxlIGFuIGVtZXJnZW5jeSBjYW5jZWxsYXRpb24gb2YgYSByZWZlcmVuZHVtLiBDYW5ub3QgaGFwcGVuIHR3aWNlIHRvIHRoZSBzYW1lLHJlZmVyZW5kdW0uAPhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBDYW5jZWxsYXRpb25PcmlnaW5gLgDQLWByZWZfaW5kZXhgOiBUaGUgaW5kZXggb2YgdGhlIHJlZmVyZW5kdW0gdG8gY2FuY2VsLgA8V2VpZ2h0OiBgTygxKWAuQGV4dGVybmFsX3Byb3Bvc2UEASBwcm9wb3NhbA0BAUBCb3VuZGVkQ2FsbE9mPFQ+AAQYLQFTY2hlZHVsZSBhIHJlZmVyZW5kdW0gdG8gYmUgdGFibGVkIG9uY2UgaXQgaXMgbGVnYWwgdG8gc2NoZWR1bGUgYW4gZXh0ZXJuYWwscmVmZXJlbmR1bS4A6FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYEV4dGVybmFsT3JpZ2luYC4A1C0gYHByb3Bvc2FsX2hhc2hgOiBUaGUgcHJlaW1hZ2UgaGFzaCBvZiB0aGUgcHJvcG9zYWwuZGV4dGVybmFsX3Byb3Bvc2VfbWFqb3JpdHkEASBwcm9wb3NhbA0BAUBCb3VuZGVkQ2FsbE9mPFQ+AAUsVQFTY2hlZHVsZSBhIG1ham9yaXR5LWNhcnJpZXMgcmVmZXJlbmR1bSB0byBiZSB0YWJsZWQgbmV4dCBvbmNlIGl0IGlzIGxlZ2FsIHRvIHNjaGVkdWxlXGFuIGV4dGVybmFsIHJlZmVyZW5kdW0uAOxUaGUgZGlzcGF0Y2ggb2YgdGhpcyBjYWxsIG11c3QgYmUgYEV4dGVybmFsTWFqb3JpdHlPcmlnaW5gLgDULSBgcHJvcG9zYWxfaGFzaGA6IFRoZSBwcmVpbWFnZSBoYXNoIG9mIHRoZSBwcm9wb3NhbC4ASQFVbmxpa2UgYGV4dGVybmFsX3Byb3Bvc2VgLCBibGFja2xpc3RpbmcgaGFzIG5vIGVmZmVjdCBvbiB0aGlzIGFuZCBpdCBtYXkgcmVwbGFjZSBhmHByZS1zY2hlZHVsZWQgYGV4dGVybmFsX3Byb3Bvc2VgIGNhbGwuADhXZWlnaHQ6IGBPKDEpYGBleHRlcm5hbF9wcm9wb3NlX2RlZmF1bHQEASBwcm9wb3NhbA0BAUBCb3VuZGVkQ2FsbE9mPFQ+AAYsRQFTY2hlZHVsZSBhIG5lZ2F0aXZlLXR1cm5vdXQtYmlhcyByZWZlcmVuZHVtIHRvIGJlIHRhYmxlZCBuZXh0IG9uY2UgaXQgaXMgbGVnYWwgdG+Ac2NoZWR1bGUgYW4gZXh0ZXJuYWwgcmVmZXJlbmR1bS4A6FRoZSBkaXNwYXRjaCBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgRXh0ZXJuYWxEZWZhdWx0T3JpZ2luYC4A1C0gYHByb3Bvc2FsX2hhc2hgOiBUaGUgcHJlaW1hZ2UgaGFzaCBvZiB0aGUgcHJvcG9zYWwuAEkBVW5saWtlIGBleHRlcm5hbF9wcm9wb3NlYCwgYmxhY2tsaXN0aW5nIGhhcyBubyBlZmZlY3Qgb24gdGhpcyBhbmQgaXQgbWF5IHJlcGxhY2UgYZhwcmUtc2NoZWR1bGVkIGBleHRlcm5hbF9wcm9wb3NlYCBjYWxsLgA4V2VpZ2h0OiBgTygxKWAoZmFzdF90cmFjawwBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAE0dm90aW5nX3BlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAEUZGVsYXkQAURCbG9ja051bWJlckZvcjxUPgAHQE0BU2NoZWR1bGUgdGhlIGN1cnJlbnRseSBleHRlcm5hbGx5LXByb3Bvc2VkIG1ham9yaXR5LWNhcnJpZXMgcmVmZXJlbmR1bSB0byBiZSB0YWJsZWRhAWltbWVkaWF0ZWx5LiBJZiB0aGVyZSBpcyBubyBleHRlcm5hbGx5LXByb3Bvc2VkIHJlZmVyZW5kdW0gY3VycmVudGx5LCBvciBpZiB0aGVyZSBpcyBvbmXoYnV0IGl0IGlzIG5vdCBhIG1ham9yaXR5LWNhcnJpZXMgcmVmZXJlbmR1bSB0aGVuIGl0IGZhaWxzLgDQVGhlIGRpc3BhdGNoIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBGYXN0VHJhY2tPcmlnaW5gLgD0LSBgcHJvcG9zYWxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjdXJyZW50IGV4dGVybmFsIHByb3Bvc2FsLl0BLSBgdm90aW5nX3BlcmlvZGA6IFRoZSBwZXJpb2QgdGhhdCBpcyBhbGxvd2VkIGZvciB2b3Rpbmcgb24gdGhpcyBwcm9wb3NhbC4gSW5jcmVhc2VkIHRviAlNdXN0IGJlIGFsd2F5cyBncmVhdGVyIHRoYW4gemVyby41AQlGb3IgYEZhc3RUcmFja09yaWdpbmAgbXVzdCBiZSBlcXVhbCBvciBncmVhdGVyIHRoYW4gYEZhc3RUcmFja1ZvdGluZ1BlcmlvZGAuUQEtIGBkZWxheWA6IFRoZSBudW1iZXIgb2YgYmxvY2sgYWZ0ZXIgdm90aW5nIGhhcyBlbmRlZCBpbiBhcHByb3ZhbCBhbmQgdGhpcyBzaG91bGQgYmW4ICBlbmFjdGVkLiBUaGlzIGRvZXNuJ3QgaGF2ZSBhIG1pbmltdW0gYW1vdW50LgBARW1pdHMgYFN0YXJ0ZWRgLgA4V2VpZ2h0OiBgTygxKWA0dmV0b19leHRlcm5hbAQBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAgkuFZldG8gYW5kIGJsYWNrbGlzdCB0aGUgZXh0ZXJuYWwgcHJvcG9zYWwgaGFzaC4A2FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYFZldG9PcmlnaW5gLgAtAS0gYHByb3Bvc2FsX2hhc2hgOiBUaGUgcHJlaW1hZ2UgaGFzaCBvZiB0aGUgcHJvcG9zYWwgdG8gdmV0byBhbmQgYmxhY2tsaXN0LgA8RW1pdHMgYFZldG9lZGAuAPxXZWlnaHQ6IGBPKFYgKyBsb2coVikpYCB3aGVyZSBWIGlzIG51bWJlciBvZiBgZXhpc3RpbmcgdmV0b2Vyc2BEY2FuY2VsX3JlZmVyZW5kdW0EASRyZWZfaW5kZXhVAQE8UmVmZXJlbmR1bUluZGV4AAkcUFJlbW92ZSBhIHJlZmVyZW5kdW0uAMBUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9Sb290Xy4A1C0gYHJlZl9pbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVmZXJlbmR1bSB0byBjYW5jZWwuAEQjIFdlaWdodDogYE8oMSlgLiBkZWxlZ2F0ZQwBCHRvAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAShjb252aWN0aW9ugQIBKENvbnZpY3Rpb24AARxiYWxhbmNlGAEwQmFsYW5jZU9mPFQ+AApQOQFEZWxlZ2F0ZSB0aGUgdm90aW5nIHBvd2VyICh3aXRoIHNvbWUgZ2l2ZW4gY29udmljdGlvbikgb2YgdGhlIHNlbmRpbmcgYWNjb3VudC4AVQFUaGUgYmFsYW5jZSBkZWxlZ2F0ZWQgaXMgbG9ja2VkIGZvciBhcyBsb25nIGFzIGl0J3MgZGVsZWdhdGVkLCBhbmQgdGhlcmVhZnRlciBmb3IgdGhlyHRpbWUgYXBwcm9wcmlhdGUgZm9yIHRoZSBjb252aWN0aW9uJ3MgbG9jayBwZXJpb2QuAF0BVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXywgYW5kIHRoZSBzaWduaW5nIGFjY291bnQgbXVzdCBlaXRoZXI6dCAgLSBiZSBkZWxlZ2F0aW5nIGFscmVhZHk7IG9yWQEgIC0gaGF2ZSBubyB2b3RpbmcgYWN0aXZpdHkgKGlmIHRoZXJlIGlzLCB0aGVuIGl0IHdpbGwgbmVlZCB0byBiZSByZW1vdmVkL2NvbnNvbGlkYXRlZJQgICAgdGhyb3VnaCBgcmVhcF92b3RlYCBvciBgdW52b3RlYCkuAEUBLSBgdG9gOiBUaGUgYWNjb3VudCB3aG9zZSB2b3RpbmcgdGhlIGB0YXJnZXRgIGFjY291bnQncyB2b3RpbmcgcG93ZXIgd2lsbCBmb2xsb3cuVQEtIGBjb252aWN0aW9uYDogVGhlIGNvbnZpY3Rpb24gdGhhdCB3aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSBkZWxlZ2F0ZWQgdm90ZXMuIFdoZW4gdGhlQQEgIGFjY291bnQgaXMgdW5kZWxlZ2F0ZWQsIHRoZSBmdW5kcyB3aWxsIGJlIGxvY2tlZCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgcGVyaW9kLmEBLSBgYmFsYW5jZWA6IFRoZSBhbW91bnQgb2YgdGhlIGFjY291bnQncyBiYWxhbmNlIHRvIGJlIHVzZWQgaW4gZGVsZWdhdGluZy4gVGhpcyBtdXN0IG5vdLQgIGJlIG1vcmUgdGhhbiB0aGUgYWNjb3VudCdzIGN1cnJlbnQgYmFsYW5jZS4ASEVtaXRzIGBEZWxlZ2F0ZWRgLgA9AVdlaWdodDogYE8oUilgIHdoZXJlIFIgaXMgdGhlIG51bWJlciBvZiByZWZlcmVuZHVtcyB0aGUgdm90ZXIgZGVsZWdhdGluZyB0byBoYXPIICB2b3RlZCBvbi4gV2VpZ2h0IGlzIGNoYXJnZWQgYXMgaWYgbWF4aW11bSB2b3Rlcy4odW5kZWxlZ2F0ZQALMMxVbmRlbGVnYXRlIHRoZSB2b3RpbmcgcG93ZXIgb2YgdGhlIHNlbmRpbmcgYWNjb3VudC4AXQFUb2tlbnMgbWF5IGJlIHVubG9ja2VkIGZvbGxvd2luZyBvbmNlIGFuIGFtb3VudCBvZiB0aW1lIGNvbnNpc3RlbnQgd2l0aCB0aGUgbG9jayBwZXJpb2Tcb2YgdGhlIGNvbnZpY3Rpb24gd2l0aCB3aGljaCB0aGUgZGVsZWdhdGlvbiB3YXMgaXNzdWVkLgBFAVRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzaWduaW5nIGFjY291bnQgbXVzdCBiZVRjdXJyZW50bHkgZGVsZWdhdGluZy4AUEVtaXRzIGBVbmRlbGVnYXRlZGAuAD0BV2VpZ2h0OiBgTyhSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHJlZmVyZW5kdW1zIHRoZSB2b3RlciBkZWxlZ2F0aW5nIHRvIGhhc8ggIHZvdGVkIG9uLiBXZWlnaHQgaXMgY2hhcmdlZCBhcyBpZiBtYXhpbXVtIHZvdGVzLlhjbGVhcl9wdWJsaWNfcHJvcG9zYWxzAAwUcENsZWFycyBhbGwgcHVibGljIHByb3Bvc2Fscy4AwFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgA8V2VpZ2h0OiBgTygxKWAuGHVubG9jawQBGHRhcmdldAABUEFjY291bnRJZExvb2t1cE9mPFQ+AA0coFVubG9jayB0b2tlbnMgdGhhdCBoYXZlIGFuIGV4cGlyZWQgbG9jay4AyFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uALgtIGB0YXJnZXRgOiBUaGUgYWNjb3VudCB0byByZW1vdmUgdGhlIGxvY2sgb24uALxXZWlnaHQ6IGBPKFIpYCB3aXRoIFIgbnVtYmVyIG9mIHZvdGUgb2YgdGFyZ2V0LixyZW1vdmVfdm90ZQQBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AA5sfFJlbW92ZSBhIHZvdGUgZm9yIGEgcmVmZXJlbmR1bS4ADElmOogtIHRoZSByZWZlcmVuZHVtIHdhcyBjYW5jZWxsZWQsIG9yfC0gdGhlIHJlZmVyZW5kdW0gaXMgb25nb2luZywgb3KQLSB0aGUgcmVmZXJlbmR1bSBoYXMgZW5kZWQgc3VjaCB0aGF0/CAgLSB0aGUgdm90ZSBvZiB0aGUgYWNjb3VudCB3YXMgaW4gb3Bwb3NpdGlvbiB0byB0aGUgcmVzdWx0OyBvctQgIC0gdGhlcmUgd2FzIG5vIGNvbnZpY3Rpb24gdG8gdGhlIGFjY291bnQncyB2b3RlOyBvcoQgIC0gdGhlIGFjY291bnQgbWFkZSBhIHNwbGl0IHZvdGVdAS4uLnRoZW4gdGhlIHZvdGUgaXMgcmVtb3ZlZCBjbGVhbmx5IGFuZCBhIGZvbGxvd2luZyBjYWxsIHRvIGB1bmxvY2tgIG1heSByZXN1bHQgaW4gbW9yZVhmdW5kcyBiZWluZyBhdmFpbGFibGUuAKhJZiwgaG93ZXZlciwgdGhlIHJlZmVyZW5kdW0gaGFzIGVuZGVkIGFuZDrsLSBpdCBmaW5pc2hlZCBjb3JyZXNwb25kaW5nIHRvIHRoZSB2b3RlIG9mIHRoZSBhY2NvdW50LCBhbmTcLSB0aGUgYWNjb3VudCBtYWRlIGEgc3RhbmRhcmQgdm90ZSB3aXRoIGNvbnZpY3Rpb24sIGFuZLwtIHRoZSBsb2NrIHBlcmlvZCBvZiB0aGUgY29udmljdGlvbiBpcyBub3Qgb3ZlclkBLi4udGhlbiB0aGUgbG9jayB3aWxsIGJlIGFnZ3JlZ2F0ZWQgaW50byB0aGUgb3ZlcmFsbCBhY2NvdW50J3MgbG9jaywgd2hpY2ggbWF5IGludm9sdmVZASpvdmVybG9ja2luZyogKHdoZXJlIHRoZSB0d28gbG9ja3MgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgbG9jayB0aGF0IGlzIHRoZSBtYXhpbXVt5G9mIGJvdGggdGhlIGFtb3VudCBsb2NrZWQgYW5kIHRoZSB0aW1lIGlzIGl0IGxvY2tlZCBmb3IpLgBJAVRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8sIGFuZCB0aGUgc2lnbmVyIG11c3QgaGF2ZSBhIHZvdGWIcmVnaXN0ZXJlZCBmb3IgcmVmZXJlbmR1bSBgaW5kZXhgLgD0LSBgaW5kZXhgOiBUaGUgaW5kZXggb2YgcmVmZXJlbmR1bSBvZiB0aGUgdm90ZSB0byBiZSByZW1vdmVkLgBVAVdlaWdodDogYE8oUiArIGxvZyBSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHJlZmVyZW5kYSB0aGF0IGB0YXJnZXRgIGhhcyB2b3RlZCBvbi7YICBXZWlnaHQgaXMgY2FsY3VsYXRlZCBmb3IgdGhlIG1heGltdW0gbnVtYmVyIG9mIHZvdGUuRHJlbW92ZV9vdGhlcl92b3RlCAEYdGFyZ2V0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARRpbmRleBABPFJlZmVyZW5kdW1JbmRleAAPPHxSZW1vdmUgYSB2b3RlIGZvciBhIHJlZmVyZW5kdW0uAE0BSWYgdGhlIGB0YXJnZXRgIGlzIGVxdWFsIHRvIHRoZSBzaWduZXIsIHRoZW4gdGhpcyBmdW5jdGlvbiBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8tAWByZW1vdmVfdm90ZWAuIElmIG5vdCBlcXVhbCB0byB0aGUgc2lnbmVyLCB0aGVuIHRoZSB2b3RlIG11c3QgaGF2ZSBleHBpcmVkLFUBZWl0aGVyIGJlY2F1c2UgdGhlIHJlZmVyZW5kdW0gd2FzIGNhbmNlbGxlZCwgYmVjYXVzZSB0aGUgdm90ZXIgbG9zdCB0aGUgcmVmZXJlbmR1bSBvcphiZWNhdXNlIHRoZSBjb252aWN0aW9uIHBlcmlvZCBpcyBvdmVyLgDIVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ATQEtIGB0YXJnZXRgOiBUaGUgYWNjb3VudCBvZiB0aGUgdm90ZSB0byBiZSByZW1vdmVkOyB0aGlzIGFjY291bnQgbXVzdCBoYXZlIHZvdGVkIGZvclQgIHJlZmVyZW5kdW0gYGluZGV4YC70LSBgaW5kZXhgOiBUaGUgaW5kZXggb2YgcmVmZXJlbmR1bSBvZiB0aGUgdm90ZSB0byBiZSByZW1vdmVkLgBVAVdlaWdodDogYE8oUiArIGxvZyBSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHJlZmVyZW5kYSB0aGF0IGB0YXJnZXRgIGhhcyB2b3RlZCBvbi7YICBXZWlnaHQgaXMgY2FsY3VsYXRlZCBmb3IgdGhlIG1heGltdW0gbnVtYmVyIG9mIHZvdGUuJGJsYWNrbGlzdAgBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAE8bWF5YmVfcmVmX2luZGV4WQEBXE9wdGlvbjxSZWZlcmVuZHVtSW5kZXg+ABA8RQFQZXJtYW5lbnRseSBwbGFjZSBhIHByb3Bvc2FsIGludG8gdGhlIGJsYWNrbGlzdC4gVGhpcyBwcmV2ZW50cyBpdCBmcm9tIGV2ZXIgYmVpbmc8cHJvcG9zZWQgYWdhaW4uAFEBSWYgY2FsbGVkIG9uIGEgcXVldWVkIHB1YmxpYyBvciBleHRlcm5hbCBwcm9wb3NhbCwgdGhlbiB0aGlzIHdpbGwgcmVzdWx0IGluIGl0IGJlaW5nUQFyZW1vdmVkLiBJZiB0aGUgYHJlZl9pbmRleGAgc3VwcGxpZWQgaXMgYW4gYWN0aXZlIHJlZmVyZW5kdW0gd2l0aCB0aGUgcHJvcG9zYWwgaGFzaCxodGhlbiBpdCB3aWxsIGJlIGNhbmNlbGxlZC4A7FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYEJsYWNrbGlzdE9yaWdpbmAuAPgtIGBwcm9wb3NhbF9oYXNoYDogVGhlIHByb3Bvc2FsIGhhc2ggdG8gYmxhY2tsaXN0IHBlcm1hbmVudGx5LkUBLSBgcmVmX2luZGV4YDogQW4gb25nb2luZyByZWZlcmVuZHVtIHdob3NlIGhhc2ggaXMgYHByb3Bvc2FsX2hhc2hgLCB3aGljaCB3aWxsIGJlKGNhbmNlbGxlZC4AQQFXZWlnaHQ6IGBPKHApYCAodGhvdWdoIGFzIHRoaXMgaXMgYW4gaGlnaC1wcml2aWxlZ2UgZGlzcGF0Y2gsIHdlIGFzc3VtZSBpdCBoYXMgYVAgIHJlYXNvbmFibGUgdmFsdWUpLjxjYW5jZWxfcHJvcG9zYWwEAShwcm9wX2luZGV4VQEBJFByb3BJbmRleAARHEhSZW1vdmUgYSBwcm9wb3NhbC4AAQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBDYW5jZWxQcm9wb3NhbE9yaWdpbmAuANAtIGBwcm9wX2luZGV4YDogVGhlIGluZGV4IG9mIHRoZSBwcm9wb3NhbCB0byBjYW5jZWwuAORXZWlnaHQ6IGBPKHApYCB3aGVyZSBgcCA9IFB1YmxpY1Byb3BzOjo8VD46OmRlY29kZV9sZW4oKWAwc2V0X21ldGFkYXRhCAEUb3duZXK4ATRNZXRhZGF0YU93bmVyAAEobWF5YmVfaGFzaIUCATxPcHRpb248VDo6SGFzaD4AEjzYU2V0IG9yIGNsZWFyIGEgbWV0YWRhdGEgb2YgYSBwcm9wb3NhbCBvciBhIHJlZmVyZW5kdW0uACxQYXJhbWV0ZXJzOswtIGBvcmlnaW5gOiBNdXN0IGNvcnJlc3BvbmQgdG8gdGhlIGBNZXRhZGF0YU93bmVyYC49ASAgICAtIGBFeHRlcm5hbE9yaWdpbmAgZm9yIGFuIGV4dGVybmFsIHByb3Bvc2FsIHdpdGggdGhlIGBTdXBlck1ham9yaXR5QXBwcm92ZWBAICAgICAgdGhyZXNob2xkLlkBICAgIC0gYEV4dGVybmFsRGVmYXVsdE9yaWdpbmAgZm9yIGFuIGV4dGVybmFsIHByb3Bvc2FsIHdpdGggdGhlIGBTdXBlck1ham9yaXR5QWdhaW5zdGBAICAgICAgdGhyZXNob2xkLkUBICAgIC0gYEV4dGVybmFsTWFqb3JpdHlPcmlnaW5gIGZvciBhbiBleHRlcm5hbCBwcm9wb3NhbCB3aXRoIHRoZSBgU2ltcGxlTWFqb3JpdHlgQCAgICAgIHRocmVzaG9sZC7IICAgIC0gYFNpZ25lZGAgYnkgYSBjcmVhdG9yIGZvciBhIHB1YmxpYyBwcm9wb3NhbC70ICAgIC0gYFNpZ25lZGAgdG8gY2xlYXIgYSBtZXRhZGF0YSBmb3IgYSBmaW5pc2hlZCByZWZlcmVuZHVtLuQgICAgLSBgUm9vdGAgdG8gc2V0IGEgbWV0YWRhdGEgZm9yIGFuIG9uZ29pbmcgcmVmZXJlbmR1bS60LSBgb3duZXJgOiBhbiBpZGVudGlmaWVyIG9mIGEgbWV0YWRhdGEgb3duZXIuUQEtIGBtYXliZV9oYXNoYDogVGhlIGhhc2ggb2YgYW4gb24tY2hhaW4gc3RvcmVkIHByZWltYWdlLiBgTm9uZWAgdG8gY2xlYXIgYSBtZXRhZGF0YS5EZm9yY2VfcmVtb3ZlX3ZvdGUIARh0YXJnZXQAAWxjcmF0ZTo6QWNjb3VudElkTG9va3VwT2Y8VD4AARRpbmRleBABdGNyYXRlOjp0eXBlczo6UmVmZXJlbmR1bUluZGV4ABM8uEFsbG93IHRvIGZvcmNlIHJlbW92ZSBhIHZvdGUgZm9yIGEgcmVmZXJlbmR1bS4AKQFTYW1lIGFzIGByZW1vdmVfb3RoZXJfdm90ZWAsIGV4Y2VwdCB0aGUgc2NvcGUgaXMgb3ZlcnJpZGVuIGJ5IGZvcmNlZCBmbGFnLvRUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBWb3RlUmVtb3ZhbE9yaWdpbmAuAKxPbmx5IGFsbG93ZWQgaWYgdGhlIHJlZmVyZW5kdW0gaXMgZmluaXNoZWQuAMhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBNAS0gYHRhcmdldGA6IFRoZSBhY2NvdW50IG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQ7IHRoaXMgYWNjb3VudCBtdXN0IGhhdmUgdm90ZWQgZm9yVCAgcmVmZXJlbmR1bSBgaW5kZXhgLvQtIGBpbmRleGA6IFRoZSBpbmRleCBvZiByZWZlcmVuZHVtIG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQuAFUBV2VpZ2h0OiBgTyhSICsgbG9nIFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcmVmZXJlbmRhIHRoYXQgYHRhcmdldGAgaGFzIHZvdGVkIG9uLtggIFdlaWdodCBpcyBjYWxjdWxhdGVkIGZvciB0aGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMugQIMQHBhbGxldF9kZW1vY3JhY3koY29udmljdGlvbihDb252aWN0aW9uAAEcEE5vbmUAAAAgTG9ja2VkMXgAAQAgTG9ja2VkMngAAgAgTG9ja2VkM3gAAwAgTG9ja2VkNHgABAAgTG9ja2VkNXgABQAgTG9ja2VkNngABgAAhQIEGE9wdGlvbgQEVAE0AQgQTm9uZQAAABBTb21lBAA0AAABAACJAgxEcGFsbGV0X2NvbGxlY3RpdmUYcGFsbGV0EENhbGwIBFQABEkAARgsc2V0X21lbWJlcnMMASxuZXdfbWVtYmVyczEBAURWZWM8VDo6QWNjb3VudElkPgABFHByaW1l7AFQT3B0aW9uPFQ6OkFjY291bnRJZD4AASRvbGRfY291bnQQASxNZW1iZXJDb3VudAAAYIBTZXQgdGhlIGNvbGxlY3RpdmUncyBtZW1iZXJzaGlwLgBFAS0gYG5ld19tZW1iZXJzYDogVGhlIG5ldyBtZW1iZXIgbGlzdC4gQmUgbmljZSB0byB0aGUgY2hhaW4gYW5kIHByb3ZpZGUgaXQgc29ydGVkLuAtIGBwcmltZWA6IFRoZSBwcmltZSBtZW1iZXIgd2hvc2Ugdm90ZSBzZXRzIHRoZSBkZWZhdWx0LlkBLSBgb2xkX2NvdW50YDogVGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgcHJldmlvdXMgbnVtYmVyIG9mIG1lbWJlcnMgaW4gc3RvcmFnZS4gVXNlZCBmb3JQICB3ZWlnaHQgZXN0aW1hdGlvbi4A1FRoZSBkaXNwYXRjaCBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgU2V0TWVtYmVyc09yaWdpbmAuAFEBTk9URTogRG9lcyBub3QgZW5mb3JjZSB0aGUgZXhwZWN0ZWQgYE1heE1lbWJlcnNgIGxpbWl0IG9uIHRoZSBhbW91bnQgb2YgbWVtYmVycywgYnV0IQEgICAgICB0aGUgd2VpZ2h0IGVzdGltYXRpb25zIHJlbHkgb24gaXQgdG8gZXN0aW1hdGUgZGlzcGF0Y2hhYmxlIHdlaWdodC4AKCMgV0FSTklORzoAWQFUaGUgYHBhbGxldC1jb2xsZWN0aXZlYCBjYW4gYWxzbyBiZSBtYW5hZ2VkIGJ5IGxvZ2ljIG91dHNpZGUgb2YgdGhlIHBhbGxldCB0aHJvdWdoIHRoZbhpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdHJhaXQgW2BDaGFuZ2VNZW1iZXJzYF0uVQFBbnkgY2FsbCB0byBgc2V0X21lbWJlcnNgIG11c3QgYmUgY2FyZWZ1bCB0aGF0IHRoZSBtZW1iZXIgc2V0IGRvZXNuJ3QgZ2V0IG91dCBvZiBzeW5jpHdpdGggb3RoZXIgbG9naWMgbWFuYWdpbmcgdGhlIG1lbWJlciBzZXQuADgjIyBDb21wbGV4aXR5OlAtIGBPKE1QICsgTilgIHdoZXJlOuAgIC0gYE1gIG9sZC1tZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKeAgIC0gYE5gIG5ldy1tZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKZggIC0gYFBgIHByb3Bvc2Fscy1jb3VudCAoY29kZS1ib3VuZGVkKRxleGVjdXRlCAEgcHJvcG9zYWwRAQF8Qm94PDxUIGFzIENvbmZpZzxJPj46OlByb3Bvc2FsPgABMGxlbmd0aF9ib3VuZFUBAQx1MzIAASTwRGlzcGF0Y2ggYSBwcm9wb3NhbCBmcm9tIGEgbWVtYmVyIHVzaW5nIHRoZSBgTWVtYmVyYCBvcmlnaW4uAKhPcmlnaW4gbXVzdCBiZSBhIG1lbWJlciBvZiB0aGUgY29sbGVjdGl2ZS4AOCMjIENvbXBsZXhpdHk6XC0gYE8oQiArIE0gKyBQKWAgd2hlcmU62C0gYEJgIGlzIGBwcm9wb3NhbGAgc2l6ZSBpbiBieXRlcyAobGVuZ3RoLWZlZS1ib3VuZGVkKYgtIGBNYCBtZW1iZXJzLWNvdW50IChjb2RlLWJvdW5kZWQpqC0gYFBgIGNvbXBsZXhpdHkgb2YgZGlzcGF0Y2hpbmcgYHByb3Bvc2FsYBxwcm9wb3NlDAEkdGhyZXNob2xkVQEBLE1lbWJlckNvdW50AAEgcHJvcG9zYWwRAQF8Qm94PDxUIGFzIENvbmZpZzxJPj46OlByb3Bvc2FsPgABMGxlbmd0aF9ib3VuZFUBAQx1MzIAAjj4QWRkIGEgbmV3IHByb3Bvc2FsIHRvIGVpdGhlciBiZSB2b3RlZCBvbiBvciBleGVjdXRlZCBkaXJlY3RseS4AhFJlcXVpcmVzIHRoZSBzZW5kZXIgdG8gYmUgbWVtYmVyLgBBAWB0aHJlc2hvbGRgIGRldGVybWluZXMgd2hldGhlciBgcHJvcG9zYWxgIGlzIGV4ZWN1dGVkIGRpcmVjdGx5IChgdGhyZXNob2xkIDwgMmApVG9yIHB1dCB1cCBmb3Igdm90aW5nLgA0IyMgQ29tcGxleGl0eawtIGBPKEIgKyBNICsgUDEpYCBvciBgTyhCICsgTSArIFAyKWAgd2hlcmU64CAgLSBgQmAgaXMgYHByb3Bvc2FsYCBzaXplIGluIGJ5dGVzIChsZW5ndGgtZmVlLWJvdW5kZWQp3CAgLSBgTWAgaXMgbWVtYmVycy1jb3VudCAoY29kZS0gYW5kIGdvdmVybmFuY2UtYm91bmRlZCnEICAtIGJyYW5jaGluZyBpcyBpbmZsdWVuY2VkIGJ5IGB0aHJlc2hvbGRgIHdoZXJlOvQgICAgLSBgUDFgIGlzIHByb3Bvc2FsIGV4ZWN1dGlvbiBjb21wbGV4aXR5IChgdGhyZXNob2xkIDwgMmAp/CAgICAtIGBQMmAgaXMgcHJvcG9zYWxzLWNvdW50IChjb2RlLWJvdW5kZWQpIChgdGhyZXNob2xkID49IDJgKRB2b3RlDAEgcHJvcG9zYWw0ARxUOjpIYXNoAAEUaW5kZXhVAQE0UHJvcG9zYWxJbmRleAABHGFwcHJvdmUgARBib29sAAMk8EFkZCBhbiBheWUgb3IgbmF5IHZvdGUgZm9yIHRoZSBzZW5kZXIgdG8gdGhlIGdpdmVuIHByb3Bvc2FsLgCMUmVxdWlyZXMgdGhlIHNlbmRlciB0byBiZSBhIG1lbWJlci4ASQFUcmFuc2FjdGlvbiBmZWVzIHdpbGwgYmUgd2FpdmVkIGlmIHRoZSBtZW1iZXIgaXMgdm90aW5nIG9uIGFueSBwYXJ0aWN1bGFyIHByb3Bvc2FsUQFmb3IgdGhlIGZpcnN0IHRpbWUgYW5kIHRoZSBjYWxsIGlzIHN1Y2Nlc3NmdWwuIFN1YnNlcXVlbnQgdm90ZSBjaGFuZ2VzIHdpbGwgY2hhcmdlIGEQZmVlLjQjIyBDb21wbGV4aXR5CQEtIGBPKE0pYCB3aGVyZSBgTWAgaXMgbWVtYmVycy1jb3VudCAoY29kZS0gYW5kIGdvdmVybmFuY2UtYm91bmRlZClMZGlzYXBwcm92ZV9wcm9wb3NhbAQBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAUoWQFEaXNhcHByb3ZlIGEgcHJvcG9zYWwsIGNsb3NlLCBhbmQgcmVtb3ZlIGl0IGZyb20gdGhlIHN5c3RlbSwgcmVnYXJkbGVzcyBvZiBpdHMgY3VycmVudBhzdGF0ZS4AiE11c3QgYmUgY2FsbGVkIGJ5IHRoZSBSb290IG9yaWdpbi4ALFBhcmFtZXRlcnM6HQEqIGBwcm9wb3NhbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIHByb3Bvc2FsIHRoYXQgc2hvdWxkIGJlIGRpc2FwcHJvdmVkLgA0IyMgQ29tcGxleGl0eaxPKFApIHdoZXJlIFAgaXMgdGhlIG51bWJlciBvZiBtYXggcHJvcG9zYWxzFGNsb3NlEAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAARRpbmRleFUBATRQcm9wb3NhbEluZGV4AAFUcHJvcG9zYWxfd2VpZ2h0X2JvdW5kKAEYV2VpZ2h0AAEwbGVuZ3RoX2JvdW5kVQEBDHUzMgAGYE0BQ2xvc2UgYSB2b3RlIHRoYXQgaXMgZWl0aGVyIGFwcHJvdmVkLCBkaXNhcHByb3ZlZCBvciB3aG9zZSB2b3RpbmcgcGVyaW9kIGhhcyBlbmRlZC4AVQFNYXkgYmUgY2FsbGVkIGJ5IGFueSBzaWduZWQgYWNjb3VudCBpbiBvcmRlciB0byBmaW5pc2ggdm90aW5nIGFuZCBjbG9zZSB0aGUgcHJvcG9zYWwuAEkBSWYgY2FsbGVkIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSB2b3RpbmcgcGVyaW9kIGl0IHdpbGwgb25seSBjbG9zZSB0aGUgdm90ZSBpZiBpdCBpc7xoYXMgZW5vdWdoIHZvdGVzIHRvIGJlIGFwcHJvdmVkIG9yIGRpc2FwcHJvdmVkLgBJAUlmIGNhbGxlZCBhZnRlciB0aGUgZW5kIG9mIHRoZSB2b3RpbmcgcGVyaW9kIGFic3RlbnRpb25zIGFyZSBjb3VudGVkIGFzIHJlamVjdGlvbnMlAXVubGVzcyB0aGVyZSBpcyBhIHByaW1lIG1lbWJlciBzZXQgYW5kIHRoZSBwcmltZSBtZW1iZXIgY2FzdCBhbiBhcHByb3ZhbC4AYQFJZiB0aGUgY2xvc2Ugb3BlcmF0aW9uIGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkgd2l0aCBkaXNhcHByb3ZhbCwgdGhlIHRyYW5zYWN0aW9uIGZlZSB3aWxsXQFiZSB3YWl2ZWQuIE90aGVyd2lzZSBleGVjdXRpb24gb2YgdGhlIGFwcHJvdmVkIG9wZXJhdGlvbiB3aWxsIGJlIGNoYXJnZWQgdG8gdGhlIGNhbGxlci4AYQErIGBwcm9wb3NhbF93ZWlnaHRfYm91bmRgOiBUaGUgbWF4aW11bSBhbW91bnQgb2Ygd2VpZ2h0IGNvbnN1bWVkIGJ5IGV4ZWN1dGluZyB0aGUgY2xvc2VkJHByb3Bvc2FsLmEBKyBgbGVuZ3RoX2JvdW5kYDogVGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgbGVuZ3RoIG9mIHRoZSBwcm9wb3NhbCBpbiBzdG9yYWdlLiBDaGVja2VkIHZpYTUBYHN0b3JhZ2U6OnJlYWRgIHNvIGl0IGlzIGBzaXplX29mOjo8dTMyPigpID09IDRgIGxhcmdlciB0aGFuIHRoZSBwdXJlIGxlbmd0aC4ANCMjIENvbXBsZXhpdHl0LSBgTyhCICsgTSArIFAxICsgUDIpYCB3aGVyZTrgICAtIGBCYCBpcyBgcHJvcG9zYWxgIHNpemUgaW4gYnl0ZXMgKGxlbmd0aC1mZWUtYm91bmRlZCncICAtIGBNYCBpcyBtZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKcggIC0gYFAxYCBpcyB0aGUgY29tcGxleGl0eSBvZiBgcHJvcG9zYWxgIHByZWltYWdlLqQgIC0gYFAyYCBpcyBwcm9wb3NhbC1jb3VudCAoY29kZS1ib3VuZGVkKQQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6NAgwwcGFsbGV0X3Byb3h5GHBhbGxldBBDYWxsBARUAAEoFHByb3h5DAEQcmVhbAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAFAZm9yY2VfcHJveHlfdHlwZZECAVBPcHRpb248VDo6UHJveHlUeXBlPgABEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgAAJE0BRGlzcGF0Y2ggdGhlIGdpdmVuIGBjYWxsYCBmcm9tIGFuIGFjY291bnQgdGhhdCB0aGUgc2VuZGVyIGlzIGF1dGhvcmlzZWQgZm9yIHRocm91Z2gwYGFkZF9wcm94eWAuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM6DQEtIGByZWFsYDogVGhlIGFjY291bnQgdGhhdCB0aGUgcHJveHkgd2lsbCBtYWtlIGEgY2FsbCBvbiBiZWhhbGYgb2YuYQEtIGBmb3JjZV9wcm94eV90eXBlYDogU3BlY2lmeSB0aGUgZXhhY3QgcHJveHkgdHlwZSB0byBiZSB1c2VkIGFuZCBjaGVja2VkIGZvciB0aGlzIGNhbGwu0C0gYGNhbGxgOiBUaGUgY2FsbCB0byBiZSBtYWRlIGJ5IHRoZSBgcmVhbGAgYWNjb3VudC4kYWRkX3Byb3h5DAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKHByb3h5X3R5cGXEATBUOjpQcm94eVR5cGUAARRkZWxheRABREJsb2NrTnVtYmVyRm9yPFQ+AAEkRQFSZWdpc3RlciBhIHByb3h5IGFjY291bnQgZm9yIHRoZSBzZW5kZXIgdGhhdCBpcyBhYmxlIHRvIG1ha2UgY2FsbHMgb24gaXRzIGJlaGFsZi4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgAsUGFyYW1ldGVyczoRAS0gYHByb3h5YDogVGhlIGFjY291bnQgdGhhdCB0aGUgYGNhbGxlcmAgd291bGQgbGlrZSB0byBtYWtlIGEgcHJveHku/C0gYHByb3h5X3R5cGVgOiBUaGUgcGVybWlzc2lvbnMgYWxsb3dlZCBmb3IgdGhpcyBwcm94eSBhY2NvdW50Lk0BLSBgZGVsYXlgOiBUaGUgYW5ub3VuY2VtZW50IHBlcmlvZCByZXF1aXJlZCBvZiB0aGUgaW5pdGlhbCBwcm94eS4gV2lsbCBnZW5lcmFsbHkgYmUUemVyby4wcmVtb3ZlX3Byb3h5DAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKHByb3h5X3R5cGXEATBUOjpQcm94eVR5cGUAARRkZWxheRABREJsb2NrTnVtYmVyRm9yPFQ+AAIcqFVucmVnaXN0ZXIgYSBwcm94eSBhY2NvdW50IGZvciB0aGUgc2VuZGVyLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uACxQYXJhbWV0ZXJzOiUBLSBgcHJveHlgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBgY2FsbGVyYCB3b3VsZCBsaWtlIHRvIHJlbW92ZSBhcyBhIHByb3h5LkEBLSBgcHJveHlfdHlwZWA6IFRoZSBwZXJtaXNzaW9ucyBjdXJyZW50bHkgZW5hYmxlZCBmb3IgdGhlIHJlbW92ZWQgcHJveHkgYWNjb3VudC44cmVtb3ZlX3Byb3hpZXMAAxi0VW5yZWdpc3RlciBhbGwgcHJveHkgYWNjb3VudHMgZm9yIHRoZSBzZW5kZXIuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AQQFXQVJOSU5HOiBUaGlzIG1heSBiZSBjYWxsZWQgb24gYWNjb3VudHMgY3JlYXRlZCBieSBgcHVyZWAsIGhvd2V2ZXIgaWYgZG9uZSwgdGhlblkBdGhlIHVucmVzZXJ2ZWQgZmVlcyB3aWxsIGJlIGluYWNjZXNzaWJsZS4gKipBbGwgYWNjZXNzIHRvIHRoaXMgYWNjb3VudCB3aWxsIGJlIGxvc3QuKiosY3JlYXRlX3B1cmUMAShwcm94eV90eXBlxAEwVDo6UHJveHlUeXBlAAEUZGVsYXkQAURCbG9ja051bWJlckZvcjxUPgABFGluZGV4yAEMdTE2AARIOQFTcGF3biBhIGZyZXNoIG5ldyBhY2NvdW50IHRoYXQgaXMgZ3VhcmFudGVlZCB0byBiZSBvdGhlcndpc2UgaW5hY2Nlc3NpYmxlLCBhbmT8aW5pdGlhbGl6ZSBpdCB3aXRoIGEgcHJveHkgb2YgYHByb3h5X3R5cGVgIGZvciBgb3JpZ2luYCBzZW5kZXIuAGxSZXF1aXJlcyBhIGBTaWduZWRgIG9yaWdpbi4AUQEtIGBwcm94eV90eXBlYDogVGhlIHR5cGUgb2YgdGhlIHByb3h5IHRoYXQgdGhlIHNlbmRlciB3aWxsIGJlIHJlZ2lzdGVyZWQgYXMgb3ZlciB0aGVNAW5ldyBhY2NvdW50LiBUaGlzIHdpbGwgYWxtb3N0IGFsd2F5cyBiZSB0aGUgbW9zdCBwZXJtaXNzaXZlIGBQcm94eVR5cGVgIHBvc3NpYmxlIHRveGFsbG93IGZvciBtYXhpbXVtIGZsZXhpYmlsaXR5LlEBLSBgaW5kZXhgOiBBIGRpc2FtYmlndWF0aW9uIGluZGV4LCBpbiBjYXNlIHRoaXMgaXMgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGluIHRoZSBzYW1lXQF0cmFuc2FjdGlvbiAoZS5nLiB3aXRoIGB1dGlsaXR5OjpiYXRjaGApLiBVbmxlc3MgeW91J3JlIHVzaW5nIGBiYXRjaGAgeW91IHByb2JhYmx5IGp1c3RAd2FudCB0byB1c2UgYDBgLk0BLSBgZGVsYXlgOiBUaGUgYW5ub3VuY2VtZW50IHBlcmlvZCByZXF1aXJlZCBvZiB0aGUgaW5pdGlhbCBwcm94eS4gV2lsbCBnZW5lcmFsbHkgYmUUemVyby4AUQFGYWlscyB3aXRoIGBEdXBsaWNhdGVgIGlmIHRoaXMgaGFzIGFscmVhZHkgYmVlbiBjYWxsZWQgaW4gdGhpcyB0cmFuc2FjdGlvbiwgZnJvbSB0aGWYc2FtZSBzZW5kZXIsIHdpdGggdGhlIHNhbWUgcGFyYW1ldGVycy4A5EZhaWxzIGlmIHRoZXJlIGFyZSBpbnN1ZmZpY2llbnQgZnVuZHMgdG8gcGF5IGZvciBkZXBvc2l0LiRraWxsX3B1cmUUARxzcGF3bmVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAShwcm94eV90eXBlxAEwVDo6UHJveHlUeXBlAAEUaW5kZXjIAQx1MTYAARhoZWlnaHRVAQFEQmxvY2tOdW1iZXJGb3I8VD4AASRleHRfaW5kZXhVAQEMdTMyAAVAoFJlbW92ZXMgYSBwcmV2aW91c2x5IHNwYXduZWQgcHVyZSBwcm94eS4ASQFXQVJOSU5HOiAqKkFsbCBhY2Nlc3MgdG8gdGhpcyBhY2NvdW50IHdpbGwgYmUgbG9zdC4qKiBBbnkgZnVuZHMgaGVsZCBpbiBpdCB3aWxsIGJlNGluYWNjZXNzaWJsZS4AWQFSZXF1aXJlcyBhIGBTaWduZWRgIG9yaWdpbiwgYW5kIHRoZSBzZW5kZXIgYWNjb3VudCBtdXN0IGhhdmUgYmVlbiBjcmVhdGVkIGJ5IGEgY2FsbCB0b5RgcHVyZWAgd2l0aCBjb3JyZXNwb25kaW5nIHBhcmFtZXRlcnMuADkBLSBgc3Bhd25lcmA6IFRoZSBhY2NvdW50IHRoYXQgb3JpZ2luYWxseSBjYWxsZWQgYHB1cmVgIHRvIGNyZWF0ZSB0aGlzIGFjY291bnQuOQEtIGBpbmRleGA6IFRoZSBkaXNhbWJpZ3VhdGlvbiBpbmRleCBvcmlnaW5hbGx5IHBhc3NlZCB0byBgcHVyZWAuIFByb2JhYmx5IGAwYC7sLSBgcHJveHlfdHlwZWA6IFRoZSBwcm94eSB0eXBlIG9yaWdpbmFsbHkgcGFzc2VkIHRvIGBwdXJlYC4pAS0gYGhlaWdodGA6IFRoZSBoZWlnaHQgb2YgdGhlIGNoYWluIHdoZW4gdGhlIGNhbGwgdG8gYHB1cmVgIHdhcyBwcm9jZXNzZWQuNQEtIGBleHRfaW5kZXhgOiBUaGUgZXh0cmluc2ljIGluZGV4IGluIHdoaWNoIHRoZSBjYWxsIHRvIGBwdXJlYCB3YXMgcHJvY2Vzc2VkLgA1AUZhaWxzIHdpdGggYE5vUGVybWlzc2lvbmAgaW4gY2FzZSB0aGUgY2FsbGVyIGlzIG5vdCBhIHByZXZpb3VzbHkgY3JlYXRlZCBwdXJl3GFjY291bnQgd2hvc2UgYHB1cmVgIGNhbGwgaGFzIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVycy4gYW5ub3VuY2UIARByZWFsAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASRjYWxsX2hhc2g0ATRDYWxsSGFzaE9mPFQ+AAY8BQFQdWJsaXNoIHRoZSBoYXNoIG9mIGEgcHJveHktY2FsbCB0aGF0IHdpbGwgYmUgbWFkZSBpbiB0aGUgZnV0dXJlLgBdAVRoaXMgbXVzdCBiZSBjYWxsZWQgc29tZSBudW1iZXIgb2YgYmxvY2tzIGJlZm9yZSB0aGUgY29ycmVzcG9uZGluZyBgcHJveHlgIGlzIGF0dGVtcHRlZCUBaWYgdGhlIGRlbGF5IGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJveHkgcmVsYXRpb25zaGlwIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLgARAU5vIG1vcmUgdGhhbiBgTWF4UGVuZGluZ2AgYW5ub3VuY2VtZW50cyBtYXkgYmUgbWFkZSBhdCBhbnkgb25lIHRpbWUuAAkBVGhpcyB3aWxsIHRha2UgYSBkZXBvc2l0IG9mIGBBbm5vdW5jZW1lbnREZXBvc2l0RmFjdG9yYCBhcyB3ZWxsIGFzGQFgQW5ub3VuY2VtZW50RGVwb3NpdEJhc2VgIGlmIHRoZXJlIGFyZSBubyBvdGhlciBwZW5kaW5nIGFubm91bmNlbWVudHMuACUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIGEgcHJveHkgb2YgYHJlYWxgLgAsUGFyYW1ldGVyczoNAS0gYHJlYWxgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBwcm94eSB3aWxsIG1ha2UgYSBjYWxsIG9uIGJlaGFsZiBvZi4VAS0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIG1hZGUgYnkgdGhlIGByZWFsYCBhY2NvdW50LkxyZW1vdmVfYW5ub3VuY2VtZW50CAEQcmVhbAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEkY2FsbF9oYXNoNAE0Q2FsbEhhc2hPZjxUPgAHKHBSZW1vdmUgYSBnaXZlbiBhbm5vdW5jZW1lbnQuAFkBTWF5IGJlIGNhbGxlZCBieSBhIHByb3h5IGFjY291bnQgdG8gcmVtb3ZlIGEgY2FsbCB0aGV5IHByZXZpb3VzbHkgYW5ub3VuY2VkIGFuZCByZXR1cm4wdGhlIGRlcG9zaXQuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM6DQEtIGByZWFsYDogVGhlIGFjY291bnQgdGhhdCB0aGUgcHJveHkgd2lsbCBtYWtlIGEgY2FsbCBvbiBiZWhhbGYgb2YuFQEtIGBjYWxsX2hhc2hgOiBUaGUgaGFzaCBvZiB0aGUgY2FsbCB0byBiZSBtYWRlIGJ5IHRoZSBgcmVhbGAgYWNjb3VudC5McmVqZWN0X2Fubm91bmNlbWVudAgBIGRlbGVnYXRlAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASRjYWxsX2hhc2g0ATRDYWxsSGFzaE9mPFQ+AAgosFJlbW92ZSB0aGUgZ2l2ZW4gYW5ub3VuY2VtZW50IG9mIGEgZGVsZWdhdGUuAGEBTWF5IGJlIGNhbGxlZCBieSBhIHRhcmdldCAocHJveGllZCkgYWNjb3VudCB0byByZW1vdmUgYSBjYWxsIHRoYXQgb25lIG9mIHRoZWlyIGRlbGVnYXRlcyUBKGBkZWxlZ2F0ZWApIGhhcyBhbm5vdW5jZWQgdGhleSB3YW50IHRvIGV4ZWN1dGUuIFRoZSBkZXBvc2l0IGlzIHJldHVybmVkLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uACxQYXJhbWV0ZXJzOvQtIGBkZWxlZ2F0ZWA6IFRoZSBhY2NvdW50IHRoYXQgcHJldmlvdXNseSBhbm5vdW5jZWQgdGhlIGNhbGwuvC0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIG1hZGUuPHByb3h5X2Fubm91bmNlZBABIGRlbGVnYXRlAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARByZWFsAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAUBmb3JjZV9wcm94eV90eXBlkQIBUE9wdGlvbjxUOjpQcm94eVR5cGU+AAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAksTQFEaXNwYXRjaCB0aGUgZ2l2ZW4gYGNhbGxgIGZyb20gYW4gYWNjb3VudCB0aGF0IHRoZSBzZW5kZXIgaXMgYXV0aG9yaXplZCBmb3IgdGhyb3VnaDBgYWRkX3Byb3h5YC4AqFJlbW92ZXMgYW55IGNvcnJlc3BvbmRpbmcgYW5ub3VuY2VtZW50KHMpLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uACxQYXJhbWV0ZXJzOg0BLSBgcmVhbGA6IFRoZSBhY2NvdW50IHRoYXQgdGhlIHByb3h5IHdpbGwgbWFrZSBhIGNhbGwgb24gYmVoYWxmIG9mLmEBLSBgZm9yY2VfcHJveHlfdHlwZWA6IFNwZWNpZnkgdGhlIGV4YWN0IHByb3h5IHR5cGUgdG8gYmUgdXNlZCBhbmQgY2hlY2tlZCBmb3IgdGhpcyBjYWxsLtAtIGBjYWxsYDogVGhlIGNhbGwgdG8gYmUgbWFkZSBieSB0aGUgYHJlYWxgIGFjY291bnQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLpECBBhPcHRpb24EBFQBxAEIEE5vbmUAAAAQU29tZQQAxAAAAQAAlQIMPHBhbGxldF9tdWx0aXNpZxhwYWxsZXQQQ2FsbAQEVAABEFBhc19tdWx0aV90aHJlc2hvbGRfMQgBRG90aGVyX3NpZ25hdG9yaWVzMQEBRFZlYzxUOjpBY2NvdW50SWQ+AAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAAwUQFJbW1lZGlhdGVseSBkaXNwYXRjaCBhIG11bHRpLXNpZ25hdHVyZSBjYWxsIHVzaW5nIGEgc2luZ2xlIGFwcHJvdmFsIGZyb20gdGhlIGNhbGxlci4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgA9AS0gYG90aGVyX3NpZ25hdG9yaWVzYDogVGhlIGFjY291bnRzIChvdGhlciB0aGFuIHRoZSBzZW5kZXIpIHdobyBhcmUgcGFydCBvZiB0aGUBAW11bHRpLXNpZ25hdHVyZSwgYnV0IGRvIG5vdCBwYXJ0aWNpcGF0ZSBpbiB0aGUgYXBwcm92YWwgcHJvY2Vzcy6ILSBgY2FsbGA6IFRoZSBjYWxsIHRvIGJlIGV4ZWN1dGVkLgC4UmVzdWx0IGlzIGVxdWl2YWxlbnQgdG8gdGhlIGRpc3BhdGNoZWQgcmVzdWx0LgA0IyMgQ29tcGxleGl0eRkBTyhaICsgQykgd2hlcmUgWiBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBjYWxsIGFuZCBDIGl0cyBleGVjdXRpb24gd2VpZ2h0LiBhc19tdWx0aRQBJHRocmVzaG9sZMgBDHUxNgABRG90aGVyX3NpZ25hdG9yaWVzMQEBRFZlYzxUOjpBY2NvdW50SWQ+AAE8bWF5YmVfdGltZXBvaW50mQIBkE9wdGlvbjxUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+PgABEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgABKG1heF93ZWlnaHQoARhXZWlnaHQAAZxVAVJlZ2lzdGVyIGFwcHJvdmFsIGZvciBhIGRpc3BhdGNoIHRvIGJlIG1hZGUgZnJvbSBhIGRldGVybWluaXN0aWMgY29tcG9zaXRlIGFjY291bnQgaWb4YXBwcm92ZWQgYnkgYSB0b3RhbCBvZiBgdGhyZXNob2xkIC0gMWAgb2YgYG90aGVyX3NpZ25hdG9yaWVzYC4AsElmIHRoZXJlIGFyZSBlbm91Z2gsIHRoZW4gZGlzcGF0Y2ggdGhlIGNhbGwuAC0BUGF5bWVudDogYERlcG9zaXRCYXNlYCB3aWxsIGJlIHJlc2VydmVkIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGFwcHJvdmFsLCBwbHVzPQFgdGhyZXNob2xkYCB0aW1lcyBgRGVwb3NpdEZhY3RvcmAuIEl0IGlzIHJldHVybmVkIG9uY2UgdGhpcyBkaXNwYXRjaCBoYXBwZW5zIG9yNGlzIGNhbmNlbGxlZC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBVAS0gYHRocmVzaG9sZGA6IFRoZSB0b3RhbCBudW1iZXIgb2YgYXBwcm92YWxzIGZvciB0aGlzIGRpc3BhdGNoIGJlZm9yZSBpdCBpcyBleGVjdXRlZC5BAS0gYG90aGVyX3NpZ25hdG9yaWVzYDogVGhlIGFjY291bnRzIChvdGhlciB0aGFuIHRoZSBzZW5kZXIpIHdobyBjYW4gYXBwcm92ZSB0aGlzbGRpc3BhdGNoLiBNYXkgbm90IGJlIGVtcHR5LlkBLSBgbWF5YmVfdGltZXBvaW50YDogSWYgdGhpcyBpcyB0aGUgZmlyc3QgYXBwcm92YWwsIHRoZW4gdGhpcyBtdXN0IGJlIGBOb25lYC4gSWYgaXQgaXNRAW5vdCB0aGUgZmlyc3QgYXBwcm92YWwsIHRoZW4gaXQgbXVzdCBiZSBgU29tZWAsIHdpdGggdGhlIHRpbWVwb2ludCAoYmxvY2sgbnVtYmVyIGFuZNR0cmFuc2FjdGlvbiBpbmRleCkgb2YgdGhlIGZpcnN0IGFwcHJvdmFsIHRyYW5zYWN0aW9uLogtIGBjYWxsYDogVGhlIGNhbGwgdG8gYmUgZXhlY3V0ZWQuAB0BTk9URTogVW5sZXNzIHRoaXMgaXMgdGhlIGZpbmFsIGFwcHJvdmFsLCB5b3Ugd2lsbCBnZW5lcmFsbHkgd2FudCB0byB1c2UZAWBhcHByb3ZlX2FzX211bHRpYCBpbnN0ZWFkLCBzaW5jZSBpdCBvbmx5IHJlcXVpcmVzIGEgaGFzaCBvZiB0aGUgY2FsbC4AWQFSZXN1bHQgaXMgZXF1aXZhbGVudCB0byB0aGUgZGlzcGF0Y2hlZCByZXN1bHQgaWYgYHRocmVzaG9sZGAgaXMgZXhhY3RseSBgMWAuIE90aGVyd2lzZVUBb24gc3VjY2VzcywgcmVzdWx0IGlzIGBPa2AgYW5kIHRoZSByZXN1bHQgZnJvbSB0aGUgaW50ZXJpb3IgY2FsbCwgaWYgaXQgd2FzIGV4ZWN1dGVkLNxtYXkgYmUgZm91bmQgaW4gdGhlIGRlcG9zaXRlZCBgTXVsdGlzaWdFeGVjdXRlZGAgZXZlbnQuADQjIyBDb21wbGV4aXR5UC0gYE8oUyArIFogKyBDYWxsKWAuzC0gVXAgdG8gb25lIGJhbGFuY2UtcmVzZXJ2ZSBvciB1bnJlc2VydmUgb3BlcmF0aW9uLj0BLSBPbmUgcGFzc3Rocm91Z2ggb3BlcmF0aW9uLCBvbmUgaW5zZXJ0LCBib3RoIGBPKFMpYCB3aGVyZSBgU2AgaXMgdGhlIG51bWJlciBvZkUBICBzaWduYXRvcmllcy4gYFNgIGlzIGNhcHBlZCBieSBgTWF4U2lnbmF0b3JpZXNgLCB3aXRoIHdlaWdodCBiZWluZyBwcm9wb3J0aW9uYWwuIQEtIE9uZSBjYWxsIGVuY29kZSAmIGhhc2gsIGJvdGggb2YgY29tcGxleGl0eSBgTyhaKWAgd2hlcmUgYFpgIGlzIHR4LWxlbi68LSBPbmUgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFMpYC7ULSBVcCB0byBvbmUgYmluYXJ5IHNlYXJjaCBhbmQgaW5zZXJ0IChgTyhsb2dTICsgUylgKS74LSBJL086IDEgcmVhZCBgTyhTKWAsIHVwIHRvIDEgbXV0YXRlIGBPKFMpYC4gVXAgdG8gb25lIHJlbW92ZS4wLSBPbmUgZXZlbnQubC0gVGhlIHdlaWdodCBvZiB0aGUgYGNhbGxgLk0BLSBTdG9yYWdlOiBpbnNlcnRzIG9uZSBpdGVtLCB2YWx1ZSBzaXplIGJvdW5kZWQgYnkgYE1heFNpZ25hdG9yaWVzYCwgd2l0aCBhIGRlcG9zaXQZASAgdGFrZW4gZm9yIGl0cyBsaWZldGltZSBvZiBgRGVwb3NpdEJhc2UgKyB0aHJlc2hvbGQgKiBEZXBvc2l0RmFjdG9yYC5AYXBwcm92ZV9hc19tdWx0aRQBJHRocmVzaG9sZMgBDHUxNgABRG90aGVyX3NpZ25hdG9yaWVzMQEBRFZlYzxUOjpBY2NvdW50SWQ+AAE8bWF5YmVfdGltZXBvaW50mQIBkE9wdGlvbjxUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+PgABJGNhbGxfaGFzaAQBIFt1ODsgMzJdAAEobWF4X3dlaWdodCgBGFdlaWdodAACeFUBUmVnaXN0ZXIgYXBwcm92YWwgZm9yIGEgZGlzcGF0Y2ggdG8gYmUgbWFkZSBmcm9tIGEgZGV0ZXJtaW5pc3RpYyBjb21wb3NpdGUgYWNjb3VudCBpZvhhcHByb3ZlZCBieSBhIHRvdGFsIG9mIGB0aHJlc2hvbGQgLSAxYCBvZiBgb3RoZXJfc2lnbmF0b3JpZXNgLgAtAVBheW1lbnQ6IGBEZXBvc2l0QmFzZWAgd2lsbCBiZSByZXNlcnZlZCBpZiB0aGlzIGlzIHRoZSBmaXJzdCBhcHByb3ZhbCwgcGx1cz0BYHRocmVzaG9sZGAgdGltZXMgYERlcG9zaXRGYWN0b3JgLiBJdCBpcyByZXR1cm5lZCBvbmNlIHRoaXMgZGlzcGF0Y2ggaGFwcGVucyBvcjRpcyBjYW5jZWxsZWQuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AVQEtIGB0aHJlc2hvbGRgOiBUaGUgdG90YWwgbnVtYmVyIG9mIGFwcHJvdmFscyBmb3IgdGhpcyBkaXNwYXRjaCBiZWZvcmUgaXQgaXMgZXhlY3V0ZWQuQQEtIGBvdGhlcl9zaWduYXRvcmllc2A6IFRoZSBhY2NvdW50cyAob3RoZXIgdGhhbiB0aGUgc2VuZGVyKSB3aG8gY2FuIGFwcHJvdmUgdGhpc2xkaXNwYXRjaC4gTWF5IG5vdCBiZSBlbXB0eS5ZAS0gYG1heWJlX3RpbWVwb2ludGA6IElmIHRoaXMgaXMgdGhlIGZpcnN0IGFwcHJvdmFsLCB0aGVuIHRoaXMgbXVzdCBiZSBgTm9uZWAuIElmIGl0IGlzUQFub3QgdGhlIGZpcnN0IGFwcHJvdmFsLCB0aGVuIGl0IG11c3QgYmUgYFNvbWVgLCB3aXRoIHRoZSB0aW1lcG9pbnQgKGJsb2NrIG51bWJlciBhbmTUdHJhbnNhY3Rpb24gaW5kZXgpIG9mIHRoZSBmaXJzdCBhcHByb3ZhbCB0cmFuc2FjdGlvbi7MLSBgY2FsbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIGNhbGwgdG8gYmUgZXhlY3V0ZWQuADUBTk9URTogSWYgdGhpcyBpcyB0aGUgZmluYWwgYXBwcm92YWwsIHlvdSB3aWxsIHdhbnQgdG8gdXNlIGBhc19tdWx0aWAgaW5zdGVhZC4ANCMjIENvbXBsZXhpdHkkLSBgTyhTKWAuzC0gVXAgdG8gb25lIGJhbGFuY2UtcmVzZXJ2ZSBvciB1bnJlc2VydmUgb3BlcmF0aW9uLj0BLSBPbmUgcGFzc3Rocm91Z2ggb3BlcmF0aW9uLCBvbmUgaW5zZXJ0LCBib3RoIGBPKFMpYCB3aGVyZSBgU2AgaXMgdGhlIG51bWJlciBvZkUBICBzaWduYXRvcmllcy4gYFNgIGlzIGNhcHBlZCBieSBgTWF4U2lnbmF0b3JpZXNgLCB3aXRoIHdlaWdodCBiZWluZyBwcm9wb3J0aW9uYWwuvC0gT25lIGVuY29kZSAmIGhhc2gsIGJvdGggb2YgY29tcGxleGl0eSBgTyhTKWAu1C0gVXAgdG8gb25lIGJpbmFyeSBzZWFyY2ggYW5kIGluc2VydCAoYE8obG9nUyArIFMpYCku+C0gSS9POiAxIHJlYWQgYE8oUylgLCB1cCB0byAxIG11dGF0ZSBgTyhTKWAuIFVwIHRvIG9uZSByZW1vdmUuMC0gT25lIGV2ZW50Lk0BLSBTdG9yYWdlOiBpbnNlcnRzIG9uZSBpdGVtLCB2YWx1ZSBzaXplIGJvdW5kZWQgYnkgYE1heFNpZ25hdG9yaWVzYCwgd2l0aCBhIGRlcG9zaXQZASAgdGFrZW4gZm9yIGl0cyBsaWZldGltZSBvZiBgRGVwb3NpdEJhc2UgKyB0aHJlc2hvbGQgKiBEZXBvc2l0RmFjdG9yYC48Y2FuY2VsX2FzX211bHRpEAEkdGhyZXNob2xkyAEMdTE2AAFEb3RoZXJfc2lnbmF0b3JpZXMxAQFEVmVjPFQ6OkFjY291bnRJZD4AASR0aW1lcG9pbnTQAXBUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+AAEkY2FsbF9oYXNoBAEgW3U4OyAzMl0AA1RVAUNhbmNlbCBhIHByZS1leGlzdGluZywgb24tZ29pbmcgbXVsdGlzaWcgdHJhbnNhY3Rpb24uIEFueSBkZXBvc2l0IHJlc2VydmVkIHByZXZpb3VzbHnEZm9yIHRoaXMgb3BlcmF0aW9uIHdpbGwgYmUgdW5yZXNlcnZlZCBvbiBzdWNjZXNzLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAFUBLSBgdGhyZXNob2xkYDogVGhlIHRvdGFsIG51bWJlciBvZiBhcHByb3ZhbHMgZm9yIHRoaXMgZGlzcGF0Y2ggYmVmb3JlIGl0IGlzIGV4ZWN1dGVkLkEBLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGNhbiBhcHByb3ZlIHRoaXNsZGlzcGF0Y2guIE1heSBub3QgYmUgZW1wdHkuXQEtIGB0aW1lcG9pbnRgOiBUaGUgdGltZXBvaW50IChibG9jayBudW1iZXIgYW5kIHRyYW5zYWN0aW9uIGluZGV4KSBvZiB0aGUgZmlyc3QgYXBwcm92YWx4dHJhbnNhY3Rpb24gZm9yIHRoaXMgZGlzcGF0Y2guzC0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIGV4ZWN1dGVkLgA0IyMgQ29tcGxleGl0eSQtIGBPKFMpYC7MLSBVcCB0byBvbmUgYmFsYW5jZS1yZXNlcnZlIG9yIHVucmVzZXJ2ZSBvcGVyYXRpb24uPQEtIE9uZSBwYXNzdGhyb3VnaCBvcGVyYXRpb24sIG9uZSBpbnNlcnQsIGJvdGggYE8oUylgIHdoZXJlIGBTYCBpcyB0aGUgbnVtYmVyIG9mRQEgIHNpZ25hdG9yaWVzLiBgU2AgaXMgY2FwcGVkIGJ5IGBNYXhTaWduYXRvcmllc2AsIHdpdGggd2VpZ2h0IGJlaW5nIHByb3BvcnRpb25hbC68LSBPbmUgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFMpYC4wLSBPbmUgZXZlbnQuhC0gSS9POiAxIHJlYWQgYE8oUylgLCBvbmUgcmVtb3ZlLnAtIFN0b3JhZ2U6IHJlbW92ZXMgb25lIGl0ZW0uBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLpkCBBhPcHRpb24EBFQB0AEIEE5vbmUAAAAQU29tZQQA0AAAAQAAnQIMOHBhbGxldF91bmlxdWVzGHBhbGxldBBDYWxsCARUAARJAAFoGGNyZWF0ZQgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARRhZG1pbgABUEFjY291bnRJZExvb2t1cE9mPFQ+AABACQFJc3N1ZSBhIG5ldyBjb2xsZWN0aW9uIG9mIG5vbi1mdW5naWJsZSBpdGVtcyBmcm9tIGEgcHVibGljIG9yaWdpbi4AHQFUaGlzIG5ldyBjb2xsZWN0aW9uIGhhcyBubyBpdGVtcyBpbml0aWFsbHkgYW5kIGl0cyBvd25lciBpcyB0aGUgb3JpZ2luLgBhAVRoZSBvcmlnaW4gbXVzdCBjb25mb3JtIHRvIHRoZSBjb25maWd1cmVkIGBDcmVhdGVPcmlnaW5gIGFuZCBoYXZlIHN1ZmZpY2llbnQgZnVuZHMgZnJlZS4ArGBJdGVtRGVwb3NpdGAgZnVuZHMgb2Ygc2VuZGVyIGFyZSByZXNlcnZlZC4ALFBhcmFtZXRlcnM6YQEtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIG5ldyBjb2xsZWN0aW9uLiBUaGlzIG11c3Qgbm90IGJlIGN1cnJlbnRseSBpbiB1c2UuRQEtIGBhZG1pbmA6IFRoZSBhZG1pbiBvZiB0aGlzIGNvbGxlY3Rpb24uIFRoZSBhZG1pbiBpcyB0aGUgaW5pdGlhbCBhZGRyZXNzIG9mIGVhY2iYbWVtYmVyIG9mIHRoZSBjb2xsZWN0aW9uJ3MgYWRtaW4gdGVhbS4AmEVtaXRzIGBDcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADhXZWlnaHQ6IGBPKDEpYDBmb3JjZV9jcmVhdGUMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEUb3duZXIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABMGZyZWVfaG9sZGluZyABEGJvb2wAAUQZAUlzc3VlIGEgbmV3IGNvbGxlY3Rpb24gb2Ygbm9uLWZ1bmdpYmxlIGl0ZW1zIGZyb20gYSBwcml2aWxlZ2VkIG9yaWdpbi4ArFRoaXMgbmV3IGNvbGxlY3Rpb24gaGFzIG5vIGl0ZW1zIGluaXRpYWxseS4ApFRoZSBvcmlnaW4gbXVzdCBjb25mb3JtIHRvIGBGb3JjZU9yaWdpbmAuAJxVbmxpa2UgYGNyZWF0ZWAsIG5vIGZ1bmRzIGFyZSByZXNlcnZlZC4ASQEtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIG5ldyBpdGVtLiBUaGlzIG11c3Qgbm90IGJlIGN1cnJlbnRseSBpbiB1c2UuOQEtIGBvd25lcmA6IFRoZSBvd25lciBvZiB0aGlzIGNvbGxlY3Rpb24gb2YgaXRlbXMuIFRoZSBvd25lciBoYXMgZnVsbCBzdXBlcnVzZXI0ICBwZXJtaXNzaW9ucyEBb3ZlciB0aGlzIGl0ZW0sIGJ1dCBtYXkgbGF0ZXIgY2hhbmdlIGFuZCBjb25maWd1cmUgdGhlIHBlcm1pc3Npb25zIHVzaW5nkGB0cmFuc2Zlcl9vd25lcnNoaXBgIGFuZCBgc2V0X3RlYW1gLgCsRW1pdHMgYEZvcmNlQ3JlYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgA4V2VpZ2h0OiBgTygxKWAcZGVzdHJveQgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARx3aXRuZXNzoQIBOERlc3Ryb3lXaXRuZXNzAAI8nERlc3Ryb3kgYSBjb2xsZWN0aW9uIG9mIGZ1bmdpYmxlIGl0ZW1zLgBdAVRoZSBvcmlnaW4gbXVzdCBjb25mb3JtIHRvIGBGb3JjZU9yaWdpbmAgb3IgbXVzdCBiZSBgU2lnbmVkYCBhbmQgdGhlIHNlbmRlciBtdXN0IGJlIHRoZWhvd25lciBvZiB0aGUgYGNvbGxlY3Rpb25gLgAFAS0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgY29sbGVjdGlvbiB0byBiZSBkZXN0cm95ZWQuMQEtIGB3aXRuZXNzYDogSW5mb3JtYXRpb24gb24gdGhlIGl0ZW1zIG1pbnRlZCBpbiB0aGUgY29sbGVjdGlvbi4gVGhpcyBtdXN0IGJlIGNvcnJlY3QuAKBFbWl0cyBgRGVzdHJveWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAGRXZWlnaHQ6IGBPKG4gKyBtKWAgd2hlcmU6VC0gYG4gPSB3aXRuZXNzLml0ZW1zYHgtIGBtID0gd2l0bmVzcy5pdGVtX21ldGFkYXRhc2BoLSBgYSA9IHdpdG5lc3MuYXR0cmlidXRlc2AQbWludAwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUb3duZXIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgADLKBNaW50IGFuIGl0ZW0gb2YgYSBwYXJ0aWN1bGFyIGNvbGxlY3Rpb24uAEEBVGhlIG9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBtdXN0IGJlIHRoZSBJc3N1ZXIgb2YgdGhlIGBjb2xsZWN0aW9uYC4A4C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbSB0byBiZSBtaW50ZWQuyC0gYGl0ZW1gOiBUaGUgaXRlbSB2YWx1ZSBvZiB0aGUgaXRlbSB0byBiZSBtaW50ZWQu2C0gYGJlbmVmaWNpYXJ5YDogVGhlIGluaXRpYWwgb3duZXIgb2YgdGhlIG1pbnRlZCBpdGVtLgCURW1pdHMgYElzc3VlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgA4V2VpZ2h0OiBgTygxKWAQYnVybgwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEsY2hlY2tfb3duZXLsAXBPcHRpb248QWNjb3VudElkTG9va3VwT2Y8VD4+AAQ8WERlc3Ryb3kgYSBzaW5nbGUgaXRlbS4A9E9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGJlIGVpdGhlcjqALSB0aGUgQWRtaW4gb2YgdGhlIGBjb2xsZWN0aW9uYDtoLSB0aGUgT3duZXIgb2YgdGhlIGBpdGVtYDsA4C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbSB0byBiZSBidXJuZWQusC0gYGl0ZW1gOiBUaGUgaXRlbSBvZiB0aGUgaXRlbSB0byBiZSBidXJuZWQuUQEtIGBjaGVja19vd25lcmA6IElmIGBTb21lYCB0aGVuIHRoZSBvcGVyYXRpb24gd2lsbCBmYWlsIHdpdGggYFdyb25nT3duZXJgIHVubGVzcyB0aGV4ICBpdGVtIGlzIG93bmVkIGJ5IHRoaXMgdmFsdWUuALRFbWl0cyBgQnVybmVkYCB3aXRoIHRoZSBhY3R1YWwgYW1vdW50IGJ1cm5lZC4AOFdlaWdodDogYE8oMSlgfE1vZGVzOiBgY2hlY2tfb3duZXIuaXNfc29tZSgpYC4gdHJhbnNmZXIMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgAFRMBNb3ZlIGFuIGl0ZW0gZnJvbSB0aGUgc2VuZGVyIGFjY291bnQgdG8gYW5vdGhlci4AtFRoaXMgcmVzZXRzIHRoZSBhcHByb3ZlZCBhY2NvdW50IG9mIHRoZSBpdGVtLgD0T3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2lnbmluZyBhY2NvdW50IG11c3QgYmUgZWl0aGVyOoAtIHRoZSBBZG1pbiBvZiB0aGUgYGNvbGxlY3Rpb25gO2gtIHRoZSBPd25lciBvZiB0aGUgYGl0ZW1gOzUBLSB0aGUgYXBwcm92ZWQgZGVsZWdhdGUgZm9yIHRoZSBgaXRlbWAgKGluIHRoaXMgY2FzZSwgdGhlIGFwcHJvdmFsIGlzIHJlc2V0KS4AKEFyZ3VtZW50czr0LSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIHRvIGJlIHRyYW5zZmVycmVkLsQtIGBpdGVtYDogVGhlIGl0ZW0gb2YgdGhlIGl0ZW0gdG8gYmUgdHJhbnNmZXJyZWQu3C0gYGRlc3RgOiBUaGUgYWNjb3VudCB0byByZWNlaXZlIG93bmVyc2hpcCBvZiB0aGUgaXRlbS4AUEVtaXRzIGBUcmFuc2ZlcnJlZGAuADhXZWlnaHQ6IGBPKDEpYCRyZWRlcG9zaXQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEUaXRlbXPcAThWZWM8VDo6SXRlbUlkPgAGRJhSZWV2YWx1YXRlIHRoZSBkZXBvc2l0cyBvbiBzb21lIGl0ZW1zLgA1AU9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIE93bmVyIG9mIHRoZSBgY29sbGVjdGlvbmAuALAtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gdG8gYmUgZnJvemVuLikBLSBgaXRlbXNgOiBUaGUgaXRlbXMgb2YgdGhlIGNvbGxlY3Rpb24gd2hvc2UgZGVwb3NpdHMgd2lsbCBiZSByZWV2YWx1YXRlZC4ALQFOT1RFOiBUaGlzIGV4aXN0cyBhcyBhIGJlc3QtZWZmb3J0IGZ1bmN0aW9uLiBBbnkgaXRlbXMgd2hpY2ggYXJlIHVua25vd24gb3I5AWluIHRoZSBjYXNlIHRoYXQgdGhlIG93bmVyIGFjY291bnQgZG9lcyBub3QgaGF2ZSByZXNlcnZhYmxlIGZ1bmRzIHRvIHBheSBmb3IgYU0BZGVwb3NpdCBpbmNyZWFzZSBhcmUgaWdub3JlZC4gR2VuZXJhbGx5IHRoZSBvd25lciBpc24ndCBnb2luZyB0byBjYWxsIHRoaXMgb24gaXRlbXNVAXdob3NlIGV4aXN0aW5nIGRlcG9zaXQgaXMgbGVzcyB0aGFuIHRoZSByZWZyZXNoZWQgZGVwb3NpdCBhcyBpdCB3b3VsZCBvbmx5IGNvc3QgdGhlbSx4c28gaXQncyBvZiBsaXR0bGUgY29uc2VxdWVuY2UuAFkBSXQgd2lsbCBzdGlsbCByZXR1cm4gYW4gZXJyb3IgaW4gdGhlIGNhc2UgdGhhdCB0aGUgY29sbGVjdGlvbiBpcyB1bmtub3duIG9mIHRoZSBzaWduZXJwaXMgbm90IHBlcm1pdHRlZCB0byBjYWxsIGl0LgBgV2VpZ2h0OiBgTyhpdGVtcy5sZW4oKSlgGGZyZWV6ZQgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAcoyERpc2FsbG93IGZ1cnRoZXIgdW5wcml2aWxlZ2VkIHRyYW5zZmVyIG9mIGFuIGl0ZW0uAD0BT3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgRnJlZXplciBvZiB0aGUgYGNvbGxlY3Rpb25gLgDgLSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIHRvIGJlIGZyb3plbi6wLSBgaXRlbWA6IFRoZSBpdGVtIG9mIHRoZSBpdGVtIHRvIGJlIGZyb3plbi4APEVtaXRzIGBGcm96ZW5gLgA4V2VpZ2h0OiBgTygxKWAQdGhhdwgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAgoqFJlLWFsbG93IHVucHJpdmlsZWdlZCB0cmFuc2ZlciBvZiBhbiBpdGVtLgA9AU9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIEZyZWV6ZXIgb2YgdGhlIGBjb2xsZWN0aW9uYC4A4C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbSB0byBiZSB0aGF3ZWQusC0gYGl0ZW1gOiBUaGUgaXRlbSBvZiB0aGUgaXRlbSB0byBiZSB0aGF3ZWQuADxFbWl0cyBgVGhhd2VkYC4AOFdlaWdodDogYE8oMSlgRGZyZWV6ZV9jb2xsZWN0aW9uBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAJJPxEaXNhbGxvdyBmdXJ0aGVyIHVucHJpdmlsZWdlZCB0cmFuc2ZlcnMgZm9yIGEgd2hvbGUgY29sbGVjdGlvbi4APQFPcmlnaW4gbXVzdCBiZSBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBGcmVlemVyIG9mIHRoZSBgY29sbGVjdGlvbmAuALAtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gdG8gYmUgZnJvemVuLgBkRW1pdHMgYENvbGxlY3Rpb25Gcm96ZW5gLgA4V2VpZ2h0OiBgTygxKWA8dGhhd19jb2xsZWN0aW9uBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAKJNxSZS1hbGxvdyB1bnByaXZpbGVnZWQgdHJhbnNmZXJzIGZvciBhIHdob2xlIGNvbGxlY3Rpb24uADUBT3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgQWRtaW4gb2YgdGhlIGBjb2xsZWN0aW9uYC4AsC0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiB0byBiZSB0aGF3ZWQuAGRFbWl0cyBgQ29sbGVjdGlvblRoYXdlZGAuADhXZWlnaHQ6IGBPKDEpYEh0cmFuc2Zlcl9vd25lcnNoaXAIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEkbmV3X293bmVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4ACyyEQ2hhbmdlIHRoZSBPd25lciBvZiBhIGNvbGxlY3Rpb24uADUBT3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgT3duZXIgb2YgdGhlIGBjb2xsZWN0aW9uYC4A9C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiB3aG9zZSBvd25lciBzaG91bGQgYmUgY2hhbmdlZC4JAS0gYG93bmVyYDogVGhlIG5ldyBPd25lciBvZiB0aGlzIGNvbGxlY3Rpb24uIFRoZXkgbXVzdCBoYXZlIGNhbGxlZEkBICBgc2V0X2FjY2VwdF9vd25lcnNoaXBgIHdpdGggYGNvbGxlY3Rpb25gIGluIG9yZGVyIGZvciB0aGlzIG9wZXJhdGlvbiB0byBzdWNjZWVkLgBURW1pdHMgYE93bmVyQ2hhbmdlZGAuADhXZWlnaHQ6IGBPKDEpYCBzZXRfdGVhbRABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARhpc3N1ZXIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFGFkbWluAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARxmcmVlemVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4ADDDUQ2hhbmdlIHRoZSBJc3N1ZXIsIEFkbWluIGFuZCBGcmVlemVyIG9mIGEgY29sbGVjdGlvbi4ANQFPcmlnaW4gbXVzdCBiZSBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZiB0aGUgYGNvbGxlY3Rpb25gLgDwLSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIHdob3NlIHRlYW0gc2hvdWxkIGJlIGNoYW5nZWQuuC0gYGlzc3VlcmA6IFRoZSBuZXcgSXNzdWVyIG9mIHRoaXMgY29sbGVjdGlvbi6wLSBgYWRtaW5gOiBUaGUgbmV3IEFkbWluIG9mIHRoaXMgY29sbGVjdGlvbi7ALSBgZnJlZXplcmA6IFRoZSBuZXcgRnJlZXplciBvZiB0aGlzIGNvbGxlY3Rpb24uAFBFbWl0cyBgVGVhbUNoYW5nZWRgLgA4V2VpZ2h0OiBgTygxKWBAYXBwcm92ZV90cmFuc2ZlcgwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgANOBUBQXBwcm92ZSBhbiBpdGVtIHRvIGJlIHRyYW5zZmVycmVkIGJ5IGEgZGVsZWdhdGVkIHRoaXJkLXBhcnR5IGFjY291bnQuAE0BVGhlIG9yaWdpbiBtdXN0IGNvbmZvcm0gdG8gYEZvcmNlT3JpZ2luYCBvciBtdXN0IGJlIGBTaWduZWRgIGFuZCB0aGUgc2VuZGVyIG11c3QgYmX4ZWl0aGVyIHRoZSBvd25lciBvZiB0aGUgYGl0ZW1gIG9yIHRoZSBhZG1pbiBvZiB0aGUgY29sbGVjdGlvbi4ARQEtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gb2YgdGhlIGl0ZW0gdG8gYmUgYXBwcm92ZWQgZm9yIGRlbGVnYXRlZCB0cmFuc2Zlci4VAS0gYGl0ZW1gOiBUaGUgaXRlbSBvZiB0aGUgaXRlbSB0byBiZSBhcHByb3ZlZCBmb3IgZGVsZWdhdGVkIHRyYW5zZmVyLhkBLSBgZGVsZWdhdGVgOiBUaGUgYWNjb3VudCB0byBkZWxlZ2F0ZSBwZXJtaXNzaW9uIHRvIHRyYW5zZmVyIHRoZSBpdGVtLgAZAUltcG9ydGFudCBOT1RFOiBUaGUgYGFwcHJvdmVkYCBhY2NvdW50IGdldHMgcmVzZXQgYWZ0ZXIgZWFjaCB0cmFuc2Zlci4AkEVtaXRzIGBBcHByb3ZlZFRyYW5zZmVyYCBvbiBzdWNjZXNzLgA4V2VpZ2h0OiBgTygxKWA8Y2FuY2VsX2FwcHJvdmFsDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAAVBtYXliZV9jaGVja19kZWxlZ2F0ZewBcE9wdGlvbjxBY2NvdW50SWRMb29rdXBPZjxUPj4ADkARAUNhbmNlbCB0aGUgcHJpb3IgYXBwcm92YWwgZm9yIHRoZSB0cmFuc2ZlciBvZiBhbiBpdGVtIGJ5IGEgZGVsZWdhdGUuAFhPcmlnaW4gbXVzdCBiZSBlaXRoZXI6VC0gdGhlIGBGb3JjZWAgb3JpZ2luO/wtIGBTaWduZWRgIHdpdGggdGhlIHNpZ25lciBiZWluZyB0aGUgQWRtaW4gb2YgdGhlIGBjb2xsZWN0aW9uYDvkLSBgU2lnbmVkYCB3aXRoIHRoZSBzaWduZXIgYmVpbmcgdGhlIE93bmVyIG9mIHRoZSBgaXRlbWA7AChBcmd1bWVudHM6PQEtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gb2YgdGhlIGl0ZW0gb2Ygd2hvc2UgYXBwcm92YWwgd2lsbCBiZSBjYW5jZWxsZWQuDQEtIGBpdGVtYDogVGhlIGl0ZW0gb2YgdGhlIGl0ZW0gb2Ygd2hvc2UgYXBwcm92YWwgd2lsbCBiZSBjYW5jZWxsZWQuUQEtIGBtYXliZV9jaGVja19kZWxlZ2F0ZWA6IElmIGBTb21lYCB3aWxsIGVuc3VyZSB0aGF0IHRoZSBnaXZlbiBhY2NvdW50IGlzIHRoZSBvbmUgdG+wICB3aGljaCBwZXJtaXNzaW9uIG9mIHRyYW5zZmVyIGlzIGRlbGVnYXRlZC4AlEVtaXRzIGBBcHByb3ZhbENhbmNlbGxlZGAgb24gc3VjY2Vzcy4AOFdlaWdodDogYE8oMSlgRGZvcmNlX2l0ZW1fc3RhdHVzHAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABFG93bmVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARhpc3N1ZXIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFGFkbWluAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARxmcmVlemVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AATBmcmVlX2hvbGRpbmcgARBib29sAAEkaXNfZnJvemVuIAEQYm9vbAAPQJRBbHRlciB0aGUgYXR0cmlidXRlcyBvZiBhIGdpdmVuIGl0ZW0uAHRPcmlnaW4gbXVzdCBiZSBgRm9yY2VPcmlnaW5gLgCsLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBpdGVtLpgtIGBvd25lcmA6IFRoZSBuZXcgT3duZXIgb2YgdGhpcyBpdGVtLqAtIGBpc3N1ZXJgOiBUaGUgbmV3IElzc3VlciBvZiB0aGlzIGl0ZW0umC0gYGFkbWluYDogVGhlIG5ldyBBZG1pbiBvZiB0aGlzIGl0ZW0uqC0gYGZyZWV6ZXJgOiBUaGUgbmV3IEZyZWV6ZXIgb2YgdGhpcyBpdGVtLlEBLSBgZnJlZV9ob2xkaW5nYDogV2hldGhlciBhIGRlcG9zaXQgaXMgdGFrZW4gZm9yIGhvbGRpbmcgYW4gaXRlbSBvZiB0aGlzIGNvbGxlY3Rpb24uOQEtIGBpc19mcm96ZW5gOiBXaGV0aGVyIHRoaXMgY29sbGVjdGlvbiBpcyBmcm96ZW4gZXhjZXB0IGZvciBwZXJtaXNzaW9uZWQvYWRtaW40aW5zdHJ1Y3Rpb25zLgDgRW1pdHMgYEl0ZW1TdGF0dXNDaGFuZ2VkYCB3aXRoIHRoZSBpZGVudGl0eSBvZiB0aGUgaXRlbS4AOFdlaWdodDogYE8oMSlgNHNldF9hdHRyaWJ1dGUQAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEobWF5YmVfaXRlbeABRE9wdGlvbjxUOjpJdGVtSWQ+AAEMa2V55AFsQm91bmRlZFZlYzx1OCwgVDo6S2V5TGltaXQ+AAEUdmFsdWXoAXRCb3VuZGVkVmVjPHU4LCBUOjpWYWx1ZUxpbWl0PgAQRKhTZXQgYW4gYXR0cmlidXRlIGZvciBhIGNvbGxlY3Rpb24gb3IgaXRlbS4AXQFPcmlnaW4gbXVzdCBiZSBlaXRoZXIgYEZvcmNlT3JpZ2luYCBvciBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZiB0aGU0YGNvbGxlY3Rpb25gLgBRAUlmIHRoZSBvcmlnaW4gaXMgU2lnbmVkLCB0aGVuIGZ1bmRzIG9mIHNpZ25lciBhcmUgcmVzZXJ2ZWQgYWNjb3JkaW5nIHRvIHRoZSBmb3JtdWxhOikBYE1ldGFkYXRhRGVwb3NpdEJhc2UgKyBEZXBvc2l0UGVyQnl0ZSAqIChrZXkubGVuICsgdmFsdWUubGVuKWAgdGFraW5nIGludG+MYWNjb3VudCBhbnkgYWxyZWFkeSByZXNlcnZlZCBmdW5kcy4AOQEtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGNvbGxlY3Rpb24gd2hvc2UgaXRlbSdzIG1ldGFkYXRhIHRvIHNldC4FAS0gYG1heWJlX2l0ZW1gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aG9zZSBtZXRhZGF0YSB0byBzZXQuiC0gYGtleWA6IFRoZSBrZXkgb2YgdGhlIGF0dHJpYnV0ZS7MLSBgdmFsdWVgOiBUaGUgdmFsdWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBhdHRyaWJ1dGUuAFRFbWl0cyBgQXR0cmlidXRlU2V0YC4AOFdlaWdodDogYE8oMSlgPGNsZWFyX2F0dHJpYnV0ZQwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAAShtYXliZV9pdGVt4AFET3B0aW9uPFQ6Okl0ZW1JZD4AAQxrZXnkAWxCb3VuZGVkVmVjPHU4LCBUOjpLZXlMaW1pdD4AETiwQ2xlYXIgYW4gYXR0cmlidXRlIGZvciBhIGNvbGxlY3Rpb24gb3IgaXRlbS4AXQFPcmlnaW4gbXVzdCBiZSBlaXRoZXIgYEZvcmNlT3JpZ2luYCBvciBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZiB0aGU0YGNvbGxlY3Rpb25gLgDAQW55IGRlcG9zaXQgaXMgZnJlZWQgZm9yIHRoZSBjb2xsZWN0aW9uJ3Mgb3duZXIuAEEBLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHdob3NlIGl0ZW0ncyBtZXRhZGF0YSB0byBjbGVhci4NAS0gYG1heWJlX2l0ZW1gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aG9zZSBtZXRhZGF0YSB0byBjbGVhci6ILSBga2V5YDogVGhlIGtleSBvZiB0aGUgYXR0cmlidXRlLgBkRW1pdHMgYEF0dHJpYnV0ZUNsZWFyZWRgLgA4V2VpZ2h0OiBgTygxKWAwc2V0X21ldGFkYXRhEAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARBkYXRh2AF4Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+AAEkaXNfZnJvemVuIAEQYm9vbAASRHRTZXQgdGhlIG1ldGFkYXRhIGZvciBhbiBpdGVtLgBdAU9yaWdpbiBtdXN0IGJlIGVpdGhlciBgRm9yY2VPcmlnaW5gIG9yIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIE93bmVyIG9mIHRoZTRgY29sbGVjdGlvbmAuAFEBSWYgdGhlIG9yaWdpbiBpcyBTaWduZWQsIHRoZW4gZnVuZHMgb2Ygc2lnbmVyIGFyZSByZXNlcnZlZCBhY2NvcmRpbmcgdG8gdGhlIGZvcm11bGE69GBNZXRhZGF0YURlcG9zaXRCYXNlICsgRGVwb3NpdFBlckJ5dGUgKiBkYXRhLmxlbmAgdGFraW5nIGludG+MYWNjb3VudCBhbnkgYWxyZWFkeSByZXNlcnZlZCBmdW5kcy4AOQEtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGNvbGxlY3Rpb24gd2hvc2UgaXRlbSdzIG1ldGFkYXRhIHRvIHNldC7sLSBgaXRlbWA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBpdGVtIHdob3NlIG1ldGFkYXRhIHRvIHNldC5NAS0gYGRhdGFgOiBUaGUgZ2VuZXJhbCBpbmZvcm1hdGlvbiBvZiB0aGlzIGl0ZW0uIExpbWl0ZWQgaW4gbGVuZ3RoIGJ5IGBTdHJpbmdMaW1pdGAuNQEtIGBpc19mcm96ZW5gOiBXaGV0aGVyIHRoZSBtZXRhZGF0YSBzaG91bGQgYmUgZnJvemVuIGFnYWluc3QgZnVydGhlciBjaGFuZ2VzLgBQRW1pdHMgYE1ldGFkYXRhU2V0YC4AOFdlaWdodDogYE8oMSlgOGNsZWFyX21ldGFkYXRhCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAEzR8Q2xlYXIgdGhlIG1ldGFkYXRhIGZvciBhbiBpdGVtLgBdAU9yaWdpbiBtdXN0IGJlIGVpdGhlciBgRm9yY2VPcmlnaW5gIG9yIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIE93bmVyIG9mIHRoZRxgaXRlbWAuAMBBbnkgZGVwb3NpdCBpcyBmcmVlZCBmb3IgdGhlIGNvbGxlY3Rpb24ncyBvd25lci4AQQEtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGNvbGxlY3Rpb24gd2hvc2UgaXRlbSdzIG1ldGFkYXRhIHRvIGNsZWFyLvQtIGBpdGVtYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGl0ZW0gd2hvc2UgbWV0YWRhdGEgdG8gY2xlYXIuAGBFbWl0cyBgTWV0YWRhdGFDbGVhcmVkYC4AOFdlaWdodDogYE8oMSlgXHNldF9jb2xsZWN0aW9uX21ldGFkYXRhDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGRhdGHYAXhCb3VuZGVkVmVjPHU4LCBUOjpTdHJpbmdMaW1pdD4AASRpc19mcm96ZW4gARBib29sABRAiFNldCB0aGUgbWV0YWRhdGEgZm9yIGEgY29sbGVjdGlvbi4AVQFPcmlnaW4gbXVzdCBiZSBlaXRoZXIgYEZvcmNlT3JpZ2luYCBvciBgU2lnbmVkYCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIE93bmVyIG9mRHRoZSBgY29sbGVjdGlvbmAuAFkBSWYgdGhlIG9yaWdpbiBpcyBgU2lnbmVkYCwgdGhlbiBmdW5kcyBvZiBzaWduZXIgYXJlIHJlc2VydmVkIGFjY29yZGluZyB0byB0aGUgZm9ybXVsYTr0YE1ldGFkYXRhRGVwb3NpdEJhc2UgKyBEZXBvc2l0UGVyQnl0ZSAqIGRhdGEubGVuYCB0YWtpbmcgaW50b4xhY2NvdW50IGFueSBhbHJlYWR5IHJlc2VydmVkIGZ1bmRzLgARAS0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aG9zZSBtZXRhZGF0YSB0byB1cGRhdGUuTQEtIGBkYXRhYDogVGhlIGdlbmVyYWwgaW5mb3JtYXRpb24gb2YgdGhpcyBpdGVtLiBMaW1pdGVkIGluIGxlbmd0aCBieSBgU3RyaW5nTGltaXRgLjUBLSBgaXNfZnJvemVuYDogV2hldGhlciB0aGUgbWV0YWRhdGEgc2hvdWxkIGJlIGZyb3plbiBhZ2FpbnN0IGZ1cnRoZXIgY2hhbmdlcy4AeEVtaXRzIGBDb2xsZWN0aW9uTWV0YWRhdGFTZXRgLgA4V2VpZ2h0OiBgTygxKWBkY2xlYXJfY29sbGVjdGlvbl9tZXRhZGF0YQQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAFTCQQ2xlYXIgdGhlIG1ldGFkYXRhIGZvciBhIGNvbGxlY3Rpb24uAFUBT3JpZ2luIG11c3QgYmUgZWl0aGVyIGBGb3JjZU9yaWdpbmAgb3IgYFNpZ25lZGAgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZkR0aGUgYGNvbGxlY3Rpb25gLgDAQW55IGRlcG9zaXQgaXMgZnJlZWQgZm9yIHRoZSBjb2xsZWN0aW9uJ3Mgb3duZXIuACUBLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHdob3NlIG1ldGFkYXRhIHRvIGNsZWFyLgCIRW1pdHMgYENvbGxlY3Rpb25NZXRhZGF0YUNsZWFyZWRgLgA4V2VpZ2h0OiBgTygxKWBQc2V0X2FjY2VwdF9vd25lcnNoaXAEAUBtYXliZV9jb2xsZWN0aW9u4AFcT3B0aW9uPFQ6OkNvbGxlY3Rpb25JZD4AFigRAVNldCAob3IgcmVzZXQpIHRoZSBhY2NlcHRhbmNlIG9mIG93bmVyc2hpcCBmb3IgYSBwYXJ0aWN1bGFyIGFjY291bnQuAGEBT3JpZ2luIG11c3QgYmUgYFNpZ25lZGAgYW5kIGlmIGBtYXliZV9jb2xsZWN0aW9uYCBpcyBgU29tZWAsIHRoZW4gdGhlIHNpZ25lciBtdXN0IGhhdmUgYUxwcm92aWRlciByZWZlcmVuY2UuAFEBLSBgbWF5YmVfY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHdob3NlIG93bmVyc2hpcCB0aGUgc2lnbmVyIGlzYQEgIHdpbGxpbmcgdG8gYWNjZXB0LCBvciBpZiBgTm9uZWAsIGFuIGluZGljYXRpb24gdGhhdCB0aGUgc2lnbmVyIGlzIHdpbGxpbmcgdG8gYWNjZXB0IG5vXCAgb3duZXJzaGlwIHRyYW5zZmVyYWwuAIxFbWl0cyBgT3duZXJzaGlwQWNjZXB0YW5jZUNoYW5nZWRgLmRzZXRfY29sbGVjdGlvbl9tYXhfc3VwcGx5CAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABKG1heF9zdXBwbHkQAQx1MzIAFyzgU2V0IHRoZSBtYXhpbXVtIGFtb3VudCBvZiBpdGVtcyBhIGNvbGxlY3Rpb24gY291bGQgaGF2ZS4AVQFPcmlnaW4gbXVzdCBiZSBlaXRoZXIgYEZvcmNlT3JpZ2luYCBvciBgU2lnbmVkYCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIE93bmVyIG9mRHRoZSBgY29sbGVjdGlvbmAuAOROb3RlOiBUaGlzIGZ1bmN0aW9uIGNhbiBvbmx5IHN1Y2NlZWQgb25jZSBwZXIgY29sbGVjdGlvbi4A7C0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgY29sbGVjdGlvbiB0byBjaGFuZ2UuEQEtIGBtYXhfc3VwcGx5YDogVGhlIG1heGltdW0gYW1vdW50IG9mIGl0ZW1zIGEgY29sbGVjdGlvbiBjb3VsZCBoYXZlLgDURW1pdHMgYENvbGxlY3Rpb25NYXhTdXBwbHlTZXRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4kc2V0X3ByaWNlEAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRwcmljZeABXE9wdGlvbjxJdGVtUHJpY2U8VCwgST4+AAFEd2hpdGVsaXN0ZWRfYnV5ZXLsAXBPcHRpb248QWNjb3VudElkTG9va3VwT2Y8VD4+ABgslFNldCAob3IgcmVzZXQpIHRoZSBwcmljZSBmb3IgYW4gaXRlbS4AAQFPcmlnaW4gbXVzdCBiZSBTaWduZWQgYW5kIG11c3QgYmUgdGhlIG93bmVyIG9mIHRoZSBhc3NldCBgaXRlbWAuAKwtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gb2YgdGhlIGl0ZW0uoC0gYGl0ZW1gOiBUaGUgaXRlbSB0byBzZXQgdGhlIHByaWNlIGZvci4NAS0gYHByaWNlYDogVGhlIHByaWNlIGZvciB0aGUgaXRlbS4gUGFzcyBgTm9uZWAsIHRvIHJlc2V0IHRoZSBwcmljZS70LSBgYnV5ZXJgOiBSZXN0cmljdHMgdGhlIGJ1eSBvcGVyYXRpb24gdG8gYSBzcGVjaWZpYyBhY2NvdW50LgDsRW1pdHMgYEl0ZW1QcmljZVNldGAgb24gc3VjY2VzcyBpZiB0aGUgcHJpY2UgaXMgbm90IGBOb25lYC7sRW1pdHMgYEl0ZW1QcmljZVJlbW92ZWRgIG9uIHN1Y2Nlc3MgaWYgdGhlIHByaWNlIGlzIGBOb25lYC4gYnV5X2l0ZW0MAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABJGJpZF9wcmljZRgBPEl0ZW1QcmljZTxULCBJPgAZJKhBbGxvd3MgdG8gYnV5IGFuIGl0ZW0gaWYgaXQncyB1cCBmb3Igc2FsZS4A+E9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgbXVzdCBub3QgYmUgdGhlIG93bmVyIG9mIHRoZSBgaXRlbWAuAKwtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gb2YgdGhlIGl0ZW0urC0gYGl0ZW1gOiBUaGUgaXRlbSB0aGUgc2VuZGVyIHdhbnRzIHRvIGJ1eS7YLSBgYmlkX3ByaWNlYDogVGhlIHByaWNlIHRoZSBzZW5kZXIgaXMgd2lsbGluZyB0byBwYXkuAHhFbWl0cyBgSXRlbUJvdWdodGAgb24gc3VjY2Vzcy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuoQIMOHBhbGxldF91bmlxdWVzFHR5cGVzOERlc3Ryb3lXaXRuZXNzAAAMARRpdGVtc1UBAQx1MzIAAThpdGVtX21ldGFkYXRhc1UBAQx1MzIAAShhdHRyaWJ1dGVzVQEBDHUzMgAApQIMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQQQ2FsbAQEVAABGFhjb250cm9sX2F1dG9fbWlncmF0aW9uBAEwbWF5YmVfY29uZmlnqQIBXE9wdGlvbjxNaWdyYXRpb25MaW1pdHM+AAAMgENvbnRyb2wgdGhlIGF1dG9tYXRpYyBtaWdyYXRpb24uAA0BVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBbYENvbmZpZzo6Q29udHJvbE9yaWdpbmBdLkBjb250aW51ZV9taWdyYXRlDAEYbGltaXRzrQIBPE1pZ3JhdGlvbkxpbWl0cwABPHJlYWxfc2l6ZV91cHBlchABDHUzMgABMHdpdG5lc3NfdGFza7ECAUBNaWdyYXRpb25UYXNrPFQ+AAFUuENvbnRpbnVlIHRoZSBtaWdyYXRpb24gZm9yIHRoZSBnaXZlbiBgbGltaXRzYC4A7FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIGNhbiBiZSBhbnkgc2lnbmVkIGFjY291bnQuAF0BVGhpcyB0cmFuc2FjdGlvbiBoYXMgTk8gTU9ORVRBUlkgSU5DRU5USVZFUy4gY2FsbGluZyBpdCB3aWxsIG5vdCByZXdhcmQgYW55b25lLiBBbGJlaXQs7FVwb24gc3VjY2Vzc2Z1bCBleGVjdXRpb24sIHRoZSB0cmFuc2FjdGlvbiBmZWUgaXMgcmV0dXJuZWQuAEEBVGhlIChwb3RlbnRpYWxseSBvdmVyLWVzdGltYXRlZCkgb2YgdGhlIGJ5dGUgbGVuZ3RoIG9mIGFsbCB0aGUgZGF0YSByZWFkIG11c3QgYmVZAXByb3ZpZGVkIGZvciB1cC1mcm9udCBmZWUtcGF5bWVudCBhbmQgd2VpZ2hpbmcuIEluIGVzc2VuY2UsIHRoZSBjYWxsZXIgaXMgZ3VhcmFudGVlaW5nSQF0aGF0IGV4ZWN1dGluZyB0aGUgY3VycmVudCBgTWlncmF0aW9uVGFza2Agd2l0aCB0aGUgZ2l2ZW4gYGxpbWl0c2Agd2lsbCBub3QgZXhjZWVklGByZWFsX3NpemVfdXBwZXJgIGJ5dGVzIG9mIHJlYWQgZGF0YS4ARQFUaGUgYHdpdG5lc3NfdGFza2AgaXMgbWVyZWx5IGEgaGVscGVyIHRvIHByZXZlbnQgdGhlIGNhbGxlciBmcm9tIGJlaW5nIHNsYXNoZWQgb3JdAWdlbmVyYWxseSB0cmlnZ2VyIGEgbWlncmF0aW9uIHRoYXQgdGhleSBkbyBub3QgaW50ZW5kLiBUaGlzIHBhcmFtZXRlciBpcyBqdXN0IGEgbWVzc2FnZT0BZnJvbSBjYWxsZXIsIHNheWluZyB0aGF0IHRoZXkgYmVsaWV2ZWQgYHdpdG5lc3NfdGFza2Agd2FzIHRoZSBsYXN0IHN0YXRlIG9mIHRoZVkBbWlncmF0aW9uLCBhbmQgdGhleSBvbmx5IHdpc2ggZm9yIHRoZWlyIHRyYW5zYWN0aW9uIHRvIGRvIGFueXRoaW5nLCBpZiB0aGlzIGFzc3VtcHRpb24RAWhvbGRzLiBJbiBjYXNlIGB3aXRuZXNzX3Rhc2tgIGRvZXMgbm90IG1hdGNoLCB0aGUgdHJhbnNhY3Rpb24gZmFpbHMuADkBQmFzZWQgb24gdGhlIGRvY3VtZW50YXRpb24gb2YgW2BNaWdyYXRpb25UYXNrOjptaWdyYXRlX3VudGlsX2V4aGF1c3Rpb25gXSwgdGhlTQFyZWNvbW1lbmRlZCB3YXkgb2YgZG9pbmcgdGhpcyBpcyB0byBwYXNzIGEgYGxpbWl0YCB0aGF0IG9ubHkgYm91bmRzIGBjb3VudGAsIGFzIHRoZZxgc2l6ZWAgbGltaXQgY2FuIGFsd2F5cyBiZSBvdmVyd3JpdHRlbi5IbWlncmF0ZV9jdXN0b21fdG9wCAEQa2V5cyEBATBWZWM8VmVjPHU4Pj4AATB3aXRuZXNzX3NpemUQAQx1MzIAAhAJAU1pZ3JhdGUgdGhlIGxpc3Qgb2YgdG9wIGtleXMgYnkgaXRlcmF0aW5nIGVhY2ggb2YgdGhlbSBvbmUgYnkgb25lLgBVAVRoaXMgZG9lcyBub3QgYWZmZWN0IHRoZSBnbG9iYWwgbWlncmF0aW9uIHByb2Nlc3MgdHJhY2tlciAoW2BNaWdyYXRpb25Qcm9jZXNzYF0pLCBhbmT8c2hvdWxkIG9ubHkgYmUgdXNlZCBpbiBjYXNlIGFueSBrZXlzIGFyZSBsZWZ0b3ZlciBkdWUgdG8gYSBidWcuUG1pZ3JhdGVfY3VzdG9tX2NoaWxkDAEQcm9vdDgBHFZlYzx1OD4AAShjaGlsZF9rZXlzIQEBMFZlYzxWZWM8dTg+PgABKHRvdGFsX3NpemUQAQx1MzIAAxgRAU1pZ3JhdGUgdGhlIGxpc3Qgb2YgY2hpbGQga2V5cyBieSBpdGVyYXRpbmcgZWFjaCBvZiB0aGVtIG9uZSBieSBvbmUuAA0BQWxsIG9mIHRoZSBnaXZlbiBjaGlsZCBrZXlzIG11c3QgYmUgcHJlc2VudCB1bmRlciBvbmUgYGNoaWxkX3Jvb3RgLgBVAVRoaXMgZG9lcyBub3QgYWZmZWN0IHRoZSBnbG9iYWwgbWlncmF0aW9uIHByb2Nlc3MgdHJhY2tlciAoW2BNaWdyYXRpb25Qcm9jZXNzYF0pLCBhbmT8c2hvdWxkIG9ubHkgYmUgdXNlZCBpbiBjYXNlIGFueSBrZXlzIGFyZSBsZWZ0b3ZlciBkdWUgdG8gYSBidWcuVHNldF9zaWduZWRfbWF4X2xpbWl0cwQBGGxpbWl0c60CATxNaWdyYXRpb25MaW1pdHMABAS4U2V0IHRoZSBtYXhpbXVtIGxpbWl0IG9mIHRoZSBzaWduZWQgbWlncmF0aW9uLkhmb3JjZV9zZXRfcHJvZ3Jlc3MIATBwcm9ncmVzc190b3C1AgE0UHJvZ3Jlc3NPZjxUPgABOHByb2dyZXNzX2NoaWxktQIBNFByb2dyZXNzT2Y8VD4ABSTIRm9yY2VmdWxseSBzZXQgdGhlIHByb2dyZXNzIHRoZSBydW5uaW5nIG1pZ3JhdGlvbi4AXQFUaGlzIGlzIG9ubHkgdXNlZnVsIGluIG9uZSBjYXNlOiB0aGUgbmV4dCBrZXkgdG8gbWlncmF0ZSBpcyB0b28gYmlnIHRvIGJlIG1pZ3JhdGVkIHdpdGhVAWEgc2lnbmVkIGFjY291bnQsIGluIGEgcGFyYWNoYWluIGNvbnRleHQsIGFuZCB3ZSBzaW1wbHkgd2FudCB0byBza2lwIGl0LiBBIHJlYXNvbmFibGVhAWV4YW1wbGUgb2YgdGhpcyB3b3VsZCBiZSBgOmNvZGU6YCwgd2hpY2ggaXMgYm90aCB2ZXJ5IGV4cGVuc2l2ZSB0byBtaWdyYXRlLCBhbmQgY29tbW9ubHmkdXNlZCwgc28gcHJvYmFibHkgaXQgaXMgYWxyZWFkeSBtaWdyYXRlZC4AXQFJbiBjYXNlIHlvdSBtZXNzIHRoaW5ncyB1cCwgeW91IGNhbiBhbHNvLCBpbiBwcmluY2lwbGUsIHVzZSB0aGlzIHRvIHJlc2V0IHRoZSBtaWdyYXRpb24gcHJvY2Vzcy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuqQIEGE9wdGlvbgQEVAGtAgEIEE5vbmUAAAAQU29tZQQArQIAAAEAAK0CDGxwYWxsZXRfc3RhdGVfdHJpZV9taWdyYXRpb24YcGFsbGV0PE1pZ3JhdGlvbkxpbWl0cwAACAEQc2l6ZRABDHUzMgABEGl0ZW0QAQx1MzIAALECDGxwYWxsZXRfc3RhdGVfdHJpZV9taWdyYXRpb24YcGFsbGV0NE1pZ3JhdGlvblRhc2sEBFQAABQBMHByb2dyZXNzX3RvcLUCATRQcm9ncmVzc09mPFQ+AAE4cHJvZ3Jlc3NfY2hpbGS1AgE0UHJvZ3Jlc3NPZjxUPgABEHNpemUQAQx1MzIAASR0b3BfaXRlbXMQAQx1MzIAASxjaGlsZF9pdGVtcxABDHUzMgAAtQIMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQgUHJvZ3Jlc3MEJE1heEtleUxlbgABDBxUb1N0YXJ0AAAAHExhc3RLZXkEALkCAWRCb3VuZGVkVmVjPHU4LCBNYXhLZXlMZW4+AAEAIENvbXBsZXRlAAIAALkCDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAvQIMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxhwYWxsZXQQQ2FsbAgEVAAESQABHBB2b3RlCAEocG9sbF9pbmRleFUBAURQb2xsSW5kZXhPZjxULCBJPgABEHZvdGUBAQFwQWNjb3VudFZvdGU8QmFsYW5jZU9mPFQsIEk+PgAAJBkBVm90ZSBpbiBhIHBvbGwuIElmIGB2b3RlLmlzX2F5ZSgpYCwgdGhlIHZvdGUgaXMgdG8gZW5hY3QgdGhlIHByb3Bvc2FsO7hvdGhlcndpc2UgaXQgaXMgYSB2b3RlIHRvIGtlZXAgdGhlIHN0YXR1cyBxdW8uAMhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgDILSBgcG9sbF9pbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcG9sbCB0byB2b3RlIGZvci6ELSBgdm90ZWA6IFRoZSB2b3RlIGNvbmZpZ3VyYXRpb24uABUBV2VpZ2h0OiBgTyhSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHBvbGxzIHRoZSB2b3RlciBoYXMgdm90ZWQgb24uIGRlbGVnYXRlEAEUY2xhc3PIATRDbGFzc09mPFQsIEk+AAEIdG8AAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKGNvbnZpY3Rpb27BAgEoQ29udmljdGlvbgABHGJhbGFuY2UYATxCYWxhbmNlT2Y8VCwgST4AAVxNAURlbGVnYXRlIHRoZSB2b3RpbmcgcG93ZXIgKHdpdGggc29tZSBnaXZlbiBjb252aWN0aW9uKSBvZiB0aGUgc2VuZGluZyBhY2NvdW50IGZvciBhaHBhcnRpY3VsYXIgY2xhc3Mgb2YgcG9sbHMuAFUBVGhlIGJhbGFuY2UgZGVsZWdhdGVkIGlzIGxvY2tlZCBmb3IgYXMgbG9uZyBhcyBpdCdzIGRlbGVnYXRlZCwgYW5kIHRoZXJlYWZ0ZXIgZm9yIHRoZch0aW1lIGFwcHJvcHJpYXRlIGZvciB0aGUgY29udmljdGlvbidzIGxvY2sgcGVyaW9kLgBdAVRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8sIGFuZCB0aGUgc2lnbmluZyBhY2NvdW50IG11c3QgZWl0aGVyOnQgIC0gYmUgZGVsZWdhdGluZyBhbHJlYWR5OyBvckUBICAtIGhhdmUgbm8gdm90aW5nIGFjdGl2aXR5IChpZiB0aGVyZSBpcywgdGhlbiBpdCB3aWxsIG5lZWQgdG8gYmUgcmVtb3ZlZCB0aHJvdWdoTCAgICBgcmVtb3ZlX3ZvdGVgKS4ARQEtIGB0b2A6IFRoZSBhY2NvdW50IHdob3NlIHZvdGluZyB0aGUgYHRhcmdldGAgYWNjb3VudCdzIHZvdGluZyBwb3dlciB3aWxsIGZvbGxvdy5dAS0gYGNsYXNzYDogVGhlIGNsYXNzIG9mIHBvbGxzIHRvIGRlbGVnYXRlLiBUbyBkZWxlZ2F0ZSBtdWx0aXBsZSBjbGFzc2VzLCBtdWx0aXBsZSBjYWxsc4AgIHRvIHRoaXMgZnVuY3Rpb24gYXJlIHJlcXVpcmVkLlUBLSBgY29udmljdGlvbmA6IFRoZSBjb252aWN0aW9uIHRoYXQgd2lsbCBiZSBhdHRhY2hlZCB0byB0aGUgZGVsZWdhdGVkIHZvdGVzLiBXaGVuIHRoZUEBICBhY2NvdW50IGlzIHVuZGVsZWdhdGVkLCB0aGUgZnVuZHMgd2lsbCBiZSBsb2NrZWQgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHBlcmlvZC5hAS0gYGJhbGFuY2VgOiBUaGUgYW1vdW50IG9mIHRoZSBhY2NvdW50J3MgYmFsYW5jZSB0byBiZSB1c2VkIGluIGRlbGVnYXRpbmcuIFRoaXMgbXVzdCBub3S0ICBiZSBtb3JlIHRoYW4gdGhlIGFjY291bnQncyBjdXJyZW50IGJhbGFuY2UuAEhFbWl0cyBgRGVsZWdhdGVkYC4AJQFXZWlnaHQ6IGBPKFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcG9sbHMgdGhlIHZvdGVyIGRlbGVnYXRpbmcgdG8gaGFzTQEgIHZvdGVkIG9uLiBXZWlnaHQgaXMgaW5pdGlhbGx5IGNoYXJnZWQgYXMgaWYgbWF4aW11bSB2b3RlcywgYnV0IGlzIHJlZnVuZGVkIGxhdGVyLih1bmRlbGVnYXRlBAEUY2xhc3PIATRDbGFzc09mPFQsIEk+AAI4TQFVbmRlbGVnYXRlIHRoZSB2b3RpbmcgcG93ZXIgb2YgdGhlIHNlbmRpbmcgYWNjb3VudCBmb3IgYSBwYXJ0aWN1bGFyIGNsYXNzIG9mIHBvbGxzLgBdAVRva2VucyBtYXkgYmUgdW5sb2NrZWQgZm9sbG93aW5nIG9uY2UgYW4gYW1vdW50IG9mIHRpbWUgY29uc2lzdGVudCB3aXRoIHRoZSBsb2NrIHBlcmlvZAkBb2YgdGhlIGNvbnZpY3Rpb24gd2l0aCB3aGljaCB0aGUgZGVsZWdhdGlvbiB3YXMgaXNzdWVkIGhhcyBwYXNzZWQuAEUBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGJlVGN1cnJlbnRseSBkZWxlZ2F0aW5nLgDwLSBgY2xhc3NgOiBUaGUgY2xhc3Mgb2YgcG9sbHMgdG8gcmVtb3ZlIHRoZSBkZWxlZ2F0aW9uIGZyb20uAFBFbWl0cyBgVW5kZWxlZ2F0ZWRgLgAlAVdlaWdodDogYE8oUilgIHdoZXJlIFIgaXMgdGhlIG51bWJlciBvZiBwb2xscyB0aGUgdm90ZXIgZGVsZWdhdGluZyB0byBoYXNNASAgdm90ZWQgb24uIFdlaWdodCBpcyBpbml0aWFsbHkgY2hhcmdlZCBhcyBpZiBtYXhpbXVtIHZvdGVzLCBidXQgaXMgcmVmdW5kZWQgbGF0ZXIuGHVubG9jawgBFGNsYXNzyAE0Q2xhc3NPZjxULCBJPgABGHRhcmdldAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAMkXQFSZW1vdmUgdGhlIGxvY2sgY2F1c2VkIGJ5IHByaW9yIHZvdGluZy9kZWxlZ2F0aW5nIHdoaWNoIGhhcyBleHBpcmVkIHdpdGhpbiBhIHBhcnRpY3VsYXIYY2xhc3MuAMhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgCgLSBgY2xhc3NgOiBUaGUgY2xhc3Mgb2YgcG9sbHMgdG8gdW5sb2NrLrgtIGB0YXJnZXRgOiBUaGUgYWNjb3VudCB0byByZW1vdmUgdGhlIGxvY2sgb24uALxXZWlnaHQ6IGBPKFIpYCB3aXRoIFIgbnVtYmVyIG9mIHZvdGUgb2YgdGFyZ2V0LixyZW1vdmVfdm90ZQgBFGNsYXNzxQIBVE9wdGlvbjxDbGFzc09mPFQsIEk+PgABFGluZGV4EAFEUG9sbEluZGV4T2Y8VCwgST4ABHRkUmVtb3ZlIGEgdm90ZSBmb3IgYSBwb2xsLgAMSWY6cC0gdGhlIHBvbGwgd2FzIGNhbmNlbGxlZCwgb3JkLSB0aGUgcG9sbCBpcyBvbmdvaW5nLCBvcngtIHRoZSBwb2xsIGhhcyBlbmRlZCBzdWNoIHRoYXT8ICAtIHRoZSB2b3RlIG9mIHRoZSBhY2NvdW50IHdhcyBpbiBvcHBvc2l0aW9uIHRvIHRoZSByZXN1bHQ7IG9y1CAgLSB0aGVyZSB3YXMgbm8gY29udmljdGlvbiB0byB0aGUgYWNjb3VudCdzIHZvdGU7IG9yhCAgLSB0aGUgYWNjb3VudCBtYWRlIGEgc3BsaXQgdm90ZV0BLi4udGhlbiB0aGUgdm90ZSBpcyByZW1vdmVkIGNsZWFubHkgYW5kIGEgZm9sbG93aW5nIGNhbGwgdG8gYHVubG9ja2AgbWF5IHJlc3VsdCBpbiBtb3JlWGZ1bmRzIGJlaW5nIGF2YWlsYWJsZS4AkElmLCBob3dldmVyLCB0aGUgcG9sbCBoYXMgZW5kZWQgYW5kOuwtIGl0IGZpbmlzaGVkIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHZvdGUgb2YgdGhlIGFjY291bnQsIGFuZNwtIHRoZSBhY2NvdW50IG1hZGUgYSBzdGFuZGFyZCB2b3RlIHdpdGggY29udmljdGlvbiwgYW5kvC0gdGhlIGxvY2sgcGVyaW9kIG9mIHRoZSBjb252aWN0aW9uIGlzIG5vdCBvdmVyWQEuLi50aGVuIHRoZSBsb2NrIHdpbGwgYmUgYWdncmVnYXRlZCBpbnRvIHRoZSBvdmVyYWxsIGFjY291bnQncyBsb2NrLCB3aGljaCBtYXkgaW52b2x2ZVkBKm92ZXJsb2NraW5nKiAod2hlcmUgdGhlIHR3byBsb2NrcyBhcmUgY29tYmluZWQgaW50byBhIHNpbmdsZSBsb2NrIHRoYXQgaXMgdGhlIG1heGltdW3kb2YgYm90aCB0aGUgYW1vdW50IGxvY2tlZCBhbmQgdGhlIHRpbWUgaXMgaXQgbG9ja2VkIGZvcikuAEkBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXywgYW5kIHRoZSBzaWduZXIgbXVzdCBoYXZlIGEgdm90ZXByZWdpc3RlcmVkIGZvciBwb2xsIGBpbmRleGAuANwtIGBpbmRleGA6IFRoZSBpbmRleCBvZiBwb2xsIG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQuVQEtIGBjbGFzc2A6IE9wdGlvbmFsIHBhcmFtZXRlciwgaWYgZ2l2ZW4gaXQgaW5kaWNhdGVzIHRoZSBjbGFzcyBvZiB0aGUgcG9sbC4gRm9yIHBvbGxz8CAgd2hpY2ggaGF2ZSBmaW5pc2hlZCBvciBhcmUgY2FuY2VsbGVkLCB0aGlzIG11c3QgYmUgYFNvbWVgLgBFAVdlaWdodDogYE8oUiArIGxvZyBSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHBvbGxzIHRoYXQgYHRhcmdldGAgaGFzIHZvdGVkIG9uLtggIFdlaWdodCBpcyBjYWxjdWxhdGVkIGZvciB0aGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZS5EcmVtb3ZlX290aGVyX3ZvdGUMARh0YXJnZXQAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFGNsYXNzyAE0Q2xhc3NPZjxULCBJPgABFGluZGV4EAFEUG9sbEluZGV4T2Y8VCwgST4ABUBkUmVtb3ZlIGEgdm90ZSBmb3IgYSBwb2xsLgBNAUlmIHRoZSBgdGFyZ2V0YCBpcyBlcXVhbCB0byB0aGUgc2lnbmVyLCB0aGVuIHRoaXMgZnVuY3Rpb24gaXMgZXhhY3RseSBlcXVpdmFsZW50IHRvLQFgcmVtb3ZlX3ZvdGVgLiBJZiBub3QgZXF1YWwgdG8gdGhlIHNpZ25lciwgdGhlbiB0aGUgdm90ZSBtdXN0IGhhdmUgZXhwaXJlZCwlAWVpdGhlciBiZWNhdXNlIHRoZSBwb2xsIHdhcyBjYW5jZWxsZWQsIGJlY2F1c2UgdGhlIHZvdGVyIGxvc3QgdGhlIHBvbGwgb3KYYmVjYXVzZSB0aGUgY29udmljdGlvbiBwZXJpb2QgaXMgb3Zlci4AyFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAGEBLSBgdGFyZ2V0YDogVGhlIGFjY291bnQgb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZDsgdGhpcyBhY2NvdW50IG11c3QgaGF2ZSB2b3RlZCBmb3IgcG9sbCggIGBpbmRleGAu3C0gYGluZGV4YDogVGhlIGluZGV4IG9mIHBvbGwgb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZC6ELSBgY2xhc3NgOiBUaGUgY2xhc3Mgb2YgdGhlIHBvbGwuAEUBV2VpZ2h0OiBgTyhSICsgbG9nIFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcG9sbHMgdGhhdCBgdGFyZ2V0YCBoYXMgdm90ZWQgb24u2CAgV2VpZ2h0IGlzIGNhbGN1bGF0ZWQgZm9yIHRoZSBtYXhpbXVtIG51bWJlciBvZiB2b3RlLkRmb3JjZV9yZW1vdmVfdm90ZQwBGHRhcmdldAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEUY2xhc3PIATRDbGFzc09mPFQsIEk+AAEUaW5kZXgQAURQb2xsSW5kZXhPZjxULCBJPgATOLhBbGxvdyB0byBmb3JjZSByZW1vdmUgYSB2b3RlIGZvciBhIHJlZmVyZW5kdW0uAPRUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBWb3RlUmVtb3ZhbE9yaWdpbmAuAKxPbmx5IGFsbG93ZWQgaWYgdGhlIHJlZmVyZW5kdW0gaXMgZmluaXNoZWQuAMhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBNAS0gYHRhcmdldGA6IFRoZSBhY2NvdW50IG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQ7IHRoaXMgYWNjb3VudCBtdXN0IGhhdmUgdm90ZWQgZm9yVCAgcmVmZXJlbmR1bSBgaW5kZXhgLvQtIGBpbmRleGA6IFRoZSBpbmRleCBvZiByZWZlcmVuZHVtIG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQuAFUBV2VpZ2h0OiBgTyhSICsgbG9nIFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcmVmZXJlbmRhIHRoYXQgYHRhcmdldGAgaGFzIHZvdGVkIG9uLtggIFdlaWdodCBpcyBjYWxjdWxhdGVkIGZvciB0aGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuwQIMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZyhjb252aWN0aW9uKENvbnZpY3Rpb24AARwQTm9uZQAAACBMb2NrZWQxeAABACBMb2NrZWQyeAACACBMb2NrZWQzeAADACBMb2NrZWQ0eAAEACBMb2NrZWQ1eAAFACBMb2NrZWQ2eAAGAADFAgQYT3B0aW9uBARUAcgBCBBOb25lAAAAEFNvbWUEAMgAAAEAAMkCDEBwYWxsZXRfcmVmZXJlbmRhGHBhbGxldBBDYWxsCARUAARJAAEkGHN1Ym1pdAwBPHByb3Bvc2FsX29yaWdpbmUBAVxCb3g8UGFsbGV0c09yaWdpbk9mPFQ+PgABIHByb3Bvc2FsDQEBTEJvdW5kZWRDYWxsT2Y8VCwgST4AAUBlbmFjdG1lbnRfbW9tZW50zQIBfERpc3BhdGNoVGltZTxCbG9ja051bWJlckZvcjxUPj4AACSwUHJvcG9zZSBhIHJlZmVyZW5kdW0gb24gYSBwcml2aWxlZ2VkIGFjdGlvbi4AWQEtIGBvcmlnaW5gOiBtdXN0IGJlIGBTdWJtaXRPcmlnaW5gIGFuZCB0aGUgYWNjb3VudCBtdXN0IGhhdmUgYFN1Ym1pc3Npb25EZXBvc2l0YCBmdW5kczAgIGF2YWlsYWJsZS4tAS0gYHByb3Bvc2FsX29yaWdpbmA6IFRoZSBvcmlnaW4gZnJvbSB3aGljaCB0aGUgcHJvcG9zYWwgc2hvdWxkIGJlIGV4ZWN1dGVkLmwtIGBwcm9wb3NhbGA6IFRoZSBwcm9wb3NhbC4VAS0gYGVuYWN0bWVudF9tb21lbnRgOiBUaGUgbW9tZW50IHRoYXQgdGhlIHByb3Bvc2FsIHNob3VsZCBiZSBlbmFjdGVkLgBIRW1pdHMgYFN1Ym1pdHRlZGAuWHBsYWNlX2RlY2lzaW9uX2RlcG9zaXQEARRpbmRleBABPFJlZmVyZW5kdW1JbmRleAABIKxQb3N0IHRoZSBEZWNpc2lvbiBEZXBvc2l0IGZvciBhIHJlZmVyZW5kdW0uADkBLSBgb3JpZ2luYDogbXVzdCBiZSBgU2lnbmVkYCBhbmQgdGhlIGFjY291bnQgbXVzdCBoYXZlIGZ1bmRzIGF2YWlsYWJsZSBmb3IgdGhloCAgcmVmZXJlbmR1bSdzIHRyYWNrJ3MgRGVjaXNpb24gRGVwb3NpdC5RAS0gYGluZGV4YDogVGhlIGluZGV4IG9mIHRoZSBzdWJtaXR0ZWQgcmVmZXJlbmR1bSB3aG9zZSBEZWNpc2lvbiBEZXBvc2l0IGlzIHlldCB0byBiZSQgIHBvc3RlZC4AeEVtaXRzIGBEZWNpc2lvbkRlcG9zaXRQbGFjZWRgLlxyZWZ1bmRfZGVjaXNpb25fZGVwb3NpdAQBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AAIcKQFSZWZ1bmQgdGhlIERlY2lzaW9uIERlcG9zaXQgZm9yIGEgY2xvc2VkIHJlZmVyZW5kdW0gYmFjayB0byB0aGUgZGVwb3NpdG9yLgCcLSBgb3JpZ2luYDogbXVzdCBiZSBgU2lnbmVkYCBvciBgUm9vdGAuTQEtIGBpbmRleGA6IFRoZSBpbmRleCBvZiBhIGNsb3NlZCByZWZlcmVuZHVtIHdob3NlIERlY2lzaW9uIERlcG9zaXQgaGFzIG5vdCB5ZXQgYmVlbiwgIHJlZnVuZGVkLgCARW1pdHMgYERlY2lzaW9uRGVwb3NpdFJlZnVuZGVkYC4YY2FuY2VsBAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgAAxh0Q2FuY2VsIGFuIG9uZ29pbmcgcmVmZXJlbmR1bS4AnC0gYG9yaWdpbmA6IG11c3QgYmUgdGhlIGBDYW5jZWxPcmlnaW5gLtwtIGBpbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVmZXJlbmR1bSB0byBiZSBjYW5jZWxsZWQuAEhFbWl0cyBgQ2FuY2VsbGVkYC4Qa2lsbAQBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AAQY0ENhbmNlbCBhbiBvbmdvaW5nIHJlZmVyZW5kdW0gYW5kIHNsYXNoIHRoZSBkZXBvc2l0cy4AlC0gYG9yaWdpbmA6IG11c3QgYmUgdGhlIGBLaWxsT3JpZ2luYC7cLSBgaW5kZXhgOiBUaGUgaW5kZXggb2YgdGhlIHJlZmVyZW5kdW0gdG8gYmUgY2FuY2VsbGVkLgCQRW1pdHMgYEtpbGxlZGAgYW5kIGBEZXBvc2l0U2xhc2hlZGAuQG51ZGdlX3JlZmVyZW5kdW0EARRpbmRleBABPFJlZmVyZW5kdW1JbmRleAAFEB0BQWR2YW5jZSBhIHJlZmVyZW5kdW0gb250byBpdHMgbmV4dCBsb2dpY2FsIHN0YXRlLiBPbmx5IHVzZWQgaW50ZXJuYWxseS4AbC0gYG9yaWdpbmA6IG11c3QgYmUgYFJvb3RgLqQtIGBpbmRleGA6IHRoZSByZWZlcmVuZHVtIHRvIGJlIGFkdmFuY2VkLkhvbmVfZmV3ZXJfZGVjaWRpbmcEARR0cmFja8gBPFRyYWNrSWRPZjxULCBJPgAGJAkBQWR2YW5jZSBhIHRyYWNrIG9udG8gaXRzIG5leHQgbG9naWNhbCBzdGF0ZS4gT25seSB1c2VkIGludGVybmFsbHkuAGwtIGBvcmlnaW5gOiBtdXN0IGJlIGBSb290YC6QLSBgdHJhY2tgOiB0aGUgdHJhY2sgdG8gYmUgYWR2YW5jZWQuAFEBQWN0aW9uIGl0ZW0gZm9yIHdoZW4gdGhlcmUgaXMgbm93IG9uZSBmZXdlciByZWZlcmVuZHVtIGluIHRoZSBkZWNpZGluZyBwaGFzZSBhbmQgdGhlFQFgRGVjaWRpbmdDb3VudGAgaXMgbm90IHlldCB1cGRhdGVkLiBUaGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIGVpdGhlcjolAS0gYmVnaW4gZGVjaWRpbmcgYW5vdGhlciByZWZlcmVuZHVtIChhbmQgbGVhdmUgYERlY2lkaW5nQ291bnRgIGFsb25lKTsgb3JwLSBkZWNyZW1lbnQgYERlY2lkaW5nQ291bnRgLmRyZWZ1bmRfc3VibWlzc2lvbl9kZXBvc2l0BAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgABxwxAVJlZnVuZCB0aGUgU3VibWlzc2lvbiBEZXBvc2l0IGZvciBhIGNsb3NlZCByZWZlcmVuZHVtIGJhY2sgdG8gdGhlIGRlcG9zaXRvci4AnC0gYG9yaWdpbmA6IG11c3QgYmUgYFNpZ25lZGAgb3IgYFJvb3RgLlUBLSBgaW5kZXhgOiBUaGUgaW5kZXggb2YgYSBjbG9zZWQgcmVmZXJlbmR1bSB3aG9zZSBTdWJtaXNzaW9uIERlcG9zaXQgaGFzIG5vdCB5ZXQgYmVlbiwgIHJlZnVuZGVkLgCIRW1pdHMgYFN1Ym1pc3Npb25EZXBvc2l0UmVmdW5kZWRgLjBzZXRfbWV0YWRhdGEIARRpbmRleBABPFJlZmVyZW5kdW1JbmRleAABKG1heWJlX2hhc2iFAgE8T3B0aW9uPFQ6Okhhc2g+AAgcmFNldCBvciBjbGVhciBtZXRhZGF0YSBvZiBhIHJlZmVyZW5kdW0uACxQYXJhbWV0ZXJzOkUBLSBgb3JpZ2luYDogTXVzdCBiZSBgU2lnbmVkYCBieSBhIGNyZWF0b3Igb2YgYSByZWZlcmVuZHVtIG9yIGJ5IGFueW9uZSB0byBjbGVhciBhkCAgbWV0YWRhdGEgb2YgYSBmaW5pc2hlZCByZWZlcmVuZHVtLg0BLSBgaW5kZXhgOiAgVGhlIGluZGV4IG9mIGEgcmVmZXJlbmR1bSB0byBzZXQgb3IgY2xlYXIgbWV0YWRhdGEgZm9yLlEBLSBgbWF5YmVfaGFzaGA6IFRoZSBoYXNoIG9mIGFuIG9uLWNoYWluIHN0b3JlZCBwcmVpbWFnZS4gYE5vbmVgIHRvIGNsZWFyIGEgbWV0YWRhdGEuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLs0CEDRmcmFtZV9zdXBwb3J0GHRyYWl0cyBzY2hlZHVsZTBEaXNwYXRjaFRpbWUELEJsb2NrTnVtYmVyARABCAhBdAQAEAEsQmxvY2tOdW1iZXIAAAAUQWZ0ZXIEABABLEJsb2NrTnVtYmVyAAEAANECDEBwYWxsZXRfd2hpdGVsaXN0GHBhbGxldBBDYWxsBARUAAEQOHdoaXRlbGlzdF9jYWxsBAEkY2FsbF9oYXNoNAEcVDo6SGFzaAAAAFxyZW1vdmVfd2hpdGVsaXN0ZWRfY2FsbAQBJGNhbGxfaGFzaDQBHFQ6Okhhc2gAAQBkZGlzcGF0Y2hfd2hpdGVsaXN0ZWRfY2FsbAwBJGNhbGxfaGFzaDQBHFQ6Okhhc2gAAUBjYWxsX2VuY29kZWRfbGVuEAEMdTMyAAFMY2FsbF93ZWlnaHRfd2l0bmVzcygBGFdlaWdodAACAJxkaXNwYXRjaF93aGl0ZWxpc3RlZF9jYWxsX3dpdGhfcHJlaW1hZ2UEARBjYWxsEQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AAwAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMu1QIMRHBhbGxldF9kaXNwYXRjaGVyGHBhbGxldBBDYWxsBARUAAEQUGRpc3BhdGNoX2FzX3RyZWFzdXJ5BAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAAAYGRpc3BhdGNoX2FzX2FhdmVfbWFuYWdlcgQBEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgABAERub3RlX2FhdmVfbWFuYWdlcgQBHGFjY291bnQAATBUOjpBY2NvdW50SWQAAhglAVNldHMgdGhlIEFhdmUgbWFuYWdlciBhY2NvdW50IHRvIGJlIHVzZWQgYXMgb3JpZ2luIGZvciBkaXNwYXRjaGluZyBjYWxscy4AyFRoaXMgZG9lc24ndCBhY3R1YWxseSBjaGFuZ2VzIGFueSBBQ0wgaW4gdGhlIHBvb2wuAFUBVGhpcyBpcyBpbnRlbnRlZCB0byBiZSBtYWlubHkgdXNlZCBpbiB0ZXN0bmV0IGVudmlyb25tZW50cywgd2hlcmUgdGhlIG1hbmFnZXIgYWNjb3VudERjYW4gYmUgZGlmZmVyZW50LlxkaXNwYXRjaF93aXRoX2V4dHJhX2dhcwgBEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgABJGV4dHJhX2dhczABDHU2NAADEHxEaXNwYXRjaCBhIGNhbGwgd2l0aCBleHRyYSBnYXMuAPxUaGlzIGFsbG93cyBleGVjdXRpbmcgY2FsbHMgd2l0aCBhZGRpdGlvbmFsIHdlaWdodCAoZ2FzKSBsaW1pdC7AVGhlIGV4dHJhIGdhcyBpcyBub3QgcmVmdW5kZWQsIGV2ZW4gaWYgbm90IHVzZWQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLtkCDFRwYWxsZXRfYXNzZXRfcmVnaXN0cnkYcGFsbGV0EENhbGwEBFQAARQgcmVnaXN0ZXIkASBhc3NldF9pZFkBAUhPcHRpb248VDo6QXNzZXRJZD4AARBuYW1l3QIBcE9wdGlvbjxOYW1lPFQ6OlN0cmluZ0xpbWl0Pj4AAShhc3NldF90eXBl5QIBJEFzc2V0VHlwZQABTGV4aXN0ZW50aWFsX2RlcG9zaXTgATxPcHRpb248QmFsYW5jZT4AARhzeW1ib2zdAgF4T3B0aW9uPFN5bWJvbDxUOjpTdHJpbmdMaW1pdD4+AAEgZGVjaW1hbHPpAgEoT3B0aW9uPHU4PgABIGxvY2F0aW9u7QIBeE9wdGlvbjxUOjpBc3NldE5hdGl2ZUxvY2F0aW9uPgABOHhjbV9yYXRlX2xpbWl04AE8T3B0aW9uPEJhbGFuY2U+AAE0aXNfc3VmZmljaWVudCABEGJvb2wAADBUUmVnaXN0ZXIgYSBuZXcgYXNzZXQuANhOZXcgYXNzZXQgaXMgZ2l2ZW4gYE5leHRBc3NldElkYCAtIHNlcXVlbnRpYWwgYXNzZXQgaWQAOQFBc3NldCdzIGlkIGlzIG9wdGlvbmFsIGFuZCBpdCBjYW4ndCBiZSB1c2VkIGJ5IGFub3RoZXIgYXNzZXQgaWYgaXQncyBwcm92aWRlZC7cUHJvdmlkZWQgYGFzc2V0X2lkYCBtdXN0IGJlIGZyb20gd2l0aGluIHJlc2VydmVkIHJhbmdlLgkBSWYgYGFzc2V0X2lkYCBpcyBgTm9uZWAsIG5ldyBhc3NldCBpcyBnaXZlbiBpZCBmb3Igc2VxdWVudGlhbCBpZHMuAEEBQXNzZXQncyBuYW1lIGlzIG9wdGlvbmFsIGFuZCBpdCBjYW4ndCBiZSB1c2VkIGJ5IGFub3RoZXIgYXNzZXQgaWYgaXQncyBwcm92aWRlZC5ZAkFkZHMgbWFwcGluZyBiZXR3ZWVuIGBuYW1lYCBhbmQgYXNzaWduZWQgYGFzc2V0X2lkYCBzbyBhc3NldCBpZCBjYW4gYmUgcmV0cmlldmVkIGJ5IG5hbWUgdG9vIChOb3RlOiB0aGlzIGFwcHJvYWNoIGlzIHVzZWQgaW4gQU1NIGltcGxlbWVudGF0aW9uICh4eWspKQCkRW1pdHMgJ1JlZ2lzdGVyZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4YdXBkYXRlJAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEQbmFtZd0CAXBPcHRpb248TmFtZTxUOjpTdHJpbmdMaW1pdD4+AAEoYXNzZXRfdHlwZQkDAURPcHRpb248QXNzZXRUeXBlPgABTGV4aXN0ZW50aWFsX2RlcG9zaXTgATxPcHRpb248QmFsYW5jZT4AATh4Y21fcmF0ZV9saW1pdOABPE9wdGlvbjxCYWxhbmNlPgABNGlzX3N1ZmZpY2llbnQNAwEwT3B0aW9uPGJvb2w+AAEYc3ltYm9s3QIBeE9wdGlvbjxTeW1ib2w8VDo6U3RyaW5nTGltaXQ+PgABIGRlY2ltYWxz6QIBKE9wdGlvbjx1OD4AASBsb2NhdGlvbu0CAXhPcHRpb248VDo6QXNzZXROYXRpdmVMb2NhdGlvbj4AAShgVXBkYXRlIHJlZ2lzdGVyZWQgYXNzZXQuACUBQWxsIHBhcmFtZXRlcmVzIGFyZSBvcHRpb25hbCBhbmQgdmFsdWUgaXMgbm90IHVwZGF0ZWQgaWYgcGFyYW0gaXMgYE5vbmVgLgAxAWBkZWNpbWFsc2AgLSBjYW4gYmUgdXBkYXRlIGJ5IGBVcGRhdGVPcmlnaW5gIG9ubHkgaWYgaXQgd2Fzbid0IHNldCB5ZXQuIE9ubHkBAWBSZWdpc3RyeU9yaWdpbmAgY2FuIHVwZGF0ZSBgZGVjaW1hbHNgIGlmIGl0IHdhcyBwcmV2aW91c2x5IHNldC4A1GBsb2NhdGlvbmAgLSBjYW4gYmUgdXBkYXRlZCBvbmx5IGJ5IGBSZWdpc3RyeU9yaWdpbmAuAJhFbWl0cyBgVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLkRyZWdpc3Rlcl9leHRlcm5hbAQBIGxvY2F0aW9u8QIBWFQ6OkFzc2V0TmF0aXZlTG9jYXRpb24ABAAkYmFuX2Fzc2V0BAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAUALHVuYmFuX2Fzc2V0BAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAYABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLt0CBBhPcHRpb24EBFQB4QIBCBBOb25lAAAAEFNvbWUEAOECAAABAADhAgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAOUCDFRwYWxsZXRfYXNzZXRfcmVnaXN0cnkUdHlwZXMkQXNzZXRUeXBlAAEYFFRva2VuAAAADFhZSwABAChTdGFibGVTd2FwAAIAEEJvbmQAAwAgRXh0ZXJuYWwABAAURXJjMjAABQAA6QIEGE9wdGlvbgQEVAEIAQgQTm9uZQAAABBTb21lBAAIAAABAADtAgQYT3B0aW9uBARUAfECAQgQTm9uZQAAABBTb21lBADxAgAAAQAA8QIMPGh5ZHJhZHhfcnVudGltZQx4Y200QXNzZXRMb2NhdGlvbgAABAD1AgFocG9sa2Fkb3RfeGNtOjp2Mzo6TG9jYXRpb24AAPUCECxzdGFnaW5nX3hjbQh2MzRtdWx0aWxvY2F0aW9uNE11bHRpTG9jYXRpb24AAAgBHHBhcmVudHMIAQh1OAABIGludGVyaW9y+QIBJEp1bmN0aW9ucwAA+QIQDHhjbQh2MyRqdW5jdGlvbnMkSnVuY3Rpb25zAAEkEEhlcmUAAAAIWDEEAP0CASBKdW5jdGlvbgABAAhYMggA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAgAIWDMMAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAwAIWDQQAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAEAAhYNRQA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24ABQAIWDYYAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24ABgAIWDccAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAHAAhYOCAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24ACAAA/QIQDHhjbQh2MyBqdW5jdGlvbiBKdW5jdGlvbgABKCRQYXJhY2hhaW4EAFUBAQx1MzIAAAAsQWNjb3VudElkMzIIARxuZXR3b3JrAQMBRE9wdGlvbjxOZXR3b3JrSWQ+AAEIaWQEASBbdTg7IDMyXQABADhBY2NvdW50SW5kZXg2NAgBHG5ldHdvcmsBAwFET3B0aW9uPE5ldHdvcmtJZD4AARRpbmRleCwBDHU2NAACADBBY2NvdW50S2V5MjAIARxuZXR3b3JrAQMBRE9wdGlvbjxOZXR3b3JrSWQ+AAEMa2V5RQEBIFt1ODsgMjBdAAMAOFBhbGxldEluc3RhbmNlBAAIAQh1OAAEADBHZW5lcmFsSW5kZXgEAC0BARB1MTI4AAUAKEdlbmVyYWxLZXkIARhsZW5ndGgIAQh1OAABEGRhdGEEASBbdTg7IDMyXQAGACRPbmx5Q2hpbGQABwAkUGx1cmFsaXR5CAEIaWSVAQEYQm9keUlkAAEQcGFydJkBASBCb2R5UGFydAAIADxHbG9iYWxDb25zZW5zdXMEAAUDASROZXR3b3JrSWQACQAAAQMEGE9wdGlvbgQEVAEFAwEIEE5vbmUAAAAQU29tZQQABQMAAAEAAAUDEAx4Y20IdjMganVuY3Rpb24kTmV0d29ya0lkAAEsJEJ5R2VuZXNpcwQABAEgW3U4OyAzMl0AAAAYQnlGb3JrCAEwYmxvY2tfbnVtYmVyMAEMdTY0AAEoYmxvY2tfaGFzaAQBIFt1ODsgMzJdAAEAIFBvbGthZG90AAIAGEt1c2FtYQADABxXZXN0ZW5kAAQAGFJvY29jbwAFABhXb2NvY28ABgAgRXRoZXJldW0EASBjaGFpbl9pZCwBDHU2NAAHACxCaXRjb2luQ29yZQAIACxCaXRjb2luQ2FzaAAJAEBQb2xrYWRvdEJ1bGxldGluAAoAAAkDBBhPcHRpb24EBFQB5QIBCBBOb25lAAAAEFNvbWUEAOUCAAABAAANAwQYT3B0aW9uBARUASABCBBOb25lAAAAEFNvbWUEACAAAAEAABEDDDRwYWxsZXRfY2xhaW1zGHBhbGxldBBDYWxsBARUAAEEFGNsYWltBAFIZXRoZXJldW1fc2lnbmF0dXJlFQMBOEVjZHNhU2lnbmF0dXJlAAAE9ENsYWltIHhIRFggYnkgcHJvdmlkaW5nIHNpZ25lZCBtZXNzYWdlIHdpdGggRXRoZXJldW0gYWRkcmVzcy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuFQMMNHBhbGxldF9jbGFpbXMYdHJhaXRzOEVjZHNhU2lnbmF0dXJlAAAEAHkCASBbdTg7IDY1XQAAGQMMWHBhbGxldF9nZW5lc2lzX2hpc3RvcnkYcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuHQMMPHBhbGxldF9vbW5pcG9vbBhwYWxsZXQQQ2FsbAQEVAABNCRhZGRfdG9rZW4QARRhc3NldBABKFQ6OkFzc2V0SWQAATRpbml0aWFsX3ByaWNlPQEBFFByaWNlAAEod2VpZ2h0X2NhcCEDARxQZXJtaWxsAAE4cG9zaXRpb25fb3duZXIAATBUOjpBY2NvdW50SWQAAUAdAUFkZCBuZXcgdG9rZW4gdG8gb21uaXBvb2wgaW4gcXVhbnRpdHkgYGFtb3VudGAgYXQgcHJpY2UgYGluaXRpYWxfcHJpY2VgAMUBSW5pdGlhbCBsaXF1aWRpdHkgbXVzdCBiZSB0cmFuc2ZlcnJlZCB0byBwb29sJ3MgYWNjb3VudCBmb3IgdGhpcyBuZXcgdG9rZW4gbWFudWFsbHkgcHJpb3IgdG8gY2FsbGluZyBgYWRkX3Rva2VuYC4A5EluaXRpYWwgbGlxdWlkaXR5IGlzIHBvb2wncyBhY2NvdW50IGJhbGFuY2Ugb2YgdGhlIHRva2VuLgDIUG9zaXRpb24gTkZUIHRva2VuIGlzIG1pbnRlZCBmb3IgYHBvc2l0aW9uX293bmVyYC4ALFBhcmFtZXRlcnM6iQEtIGBhc3NldGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBuZXcgYXNzZXQgYWRkZWQgdG8gdGhlIHBvb2wuIE11c3QgYmUgcmVnaXN0ZXJlZCBpbiBBc3NldCByZWdpc3RyeYAtIGBpbml0aWFsX3ByaWNlYDogSW5pdGlhbCBwcmljZTUBLSBgcG9zaXRpb25fb3duZXJgOiBhY2NvdW50IGlkIGZvciB3aGljaCBzaGFyZSBhcmUgZGlzdHJpYnV0ZWQgaW4gZm9ybSBvbiBORlSALSBgd2VpZ2h0X2NhcGA6IGFzc2V0IHdlaWdodCBjYXAApEVtaXRzIGBUb2tlbkFkZGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADRhZGRfbGlxdWlkaXR5CAEUYXNzZXQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQACUPxBZGQgbGlxdWlkaXR5IG9mIGFzc2V0IGBhc3NldGAgaW4gcXVhbnRpdHkgYGFtb3VudGAgdG8gT21uaXBvb2wAYQFgYWRkX2xpcXVpZGl0eWAgYWRkcyBzcGVjaWZpZWQgYXNzZXQgYW1vdW50IHRvIE9tbmlwb29sIGFuZCBpbiBleGNoYW5nZSBnaXZlcyB0aGUgb3JpZ2lu8GNvcnJlc3BvbmRpbmcgc2hhcmVzIGFtb3VudCBpbiBmb3JtIG9mIE5GVCBhdCBjdXJyZW50IHByaWNlLgCFAUFzc2V0J3MgdHJhZGFibGUgc3RhdGUgbXVzdCBjb250YWluIEFERF9MSVFVSURJVFkgZmxhZywgb3RoZXJ3aXNlIGBOb3RBbGxvd2VkYCBlcnJvciBpcyByZXR1cm5lZC4AYQFORlQgaXMgbWludGVkIHVzaW5nIE5URkhhbmRsZXIgd2hpY2ggaW1wbGVtZW50cyBub24tZnVuZ2libGVzIHRyYWl0cyBmcm9tIGZyYW1lX3N1cHBvcnQuAFkBQXNzZXQgd2VpZ2h0IGNhcCBtdXN0IGJlIHJlc3BlY3RlZCwgb3RoZXJ3aXNlIGBBc3NldFdlaWdodEV4Y2VlZGVkYCBlcnJvciBpcyByZXR1cm5lZC55AUFzc2V0IHdlaWdodCBpcyByYXRpbyBiZXR3ZWVuIG5ldyBIdWJBc3NldCByZXNlcnZlIGFuZCB0b3RhbCByZXNlcnZlIG9mIEh1YiBhc3NldCBpbiBPbW5pcG9vbC4A1QFBZGQgbGlxdWlkaXR5IGZhaWxzIGlmIHByaWNlIGRpZmZlcmVuY2UgYmV0d2VlbiBzcG90IHByaWNlIGFuZCBvcmFjbGUgcHJpY2UgaXMgaGlnaGVyIHRoYW4gYWxsb3dlZCBieSBgUHJpY2VCYXJyaWVyYC4ALFBhcmFtZXRlcnM6ZQEtIGBhc3NldGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBuZXcgYXNzZXQgYWRkZWQgdG8gdGhlIHBvb2wuIE11c3QgYmUgYWxyZWFkeSBpbiB0aGUgcG9vbLQtIGBhbW91bnRgOiBBbW91bnQgb2YgYXNzZXQgYWRkZWQgdG8gb21uaXBvb2wAtEVtaXRzIGBMaXF1aWRpdHlBZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBgYWRkX2xpcXVpZGl0eV93aXRoX2xpbWl0DAEUYXNzZXQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABQG1pbl9zaGFyZXNfbGltaXQYARxCYWxhbmNlAA1cAQFBZGQgbGlxdWlkaXR5IG9mIGFzc2V0IGBhc3NldGAgaW4gcXVhbnRpdHkgYGFtb3VudGAgdG8gT21uaXBvb2wuAHBMaW1pdCBwcm90ZWN0aW9uIGlzIGFwcGxpZWQuAGEBYGFkZF9saXF1aWRpdHlgIGFkZHMgc3BlY2lmaWVkIGFzc2V0IGFtb3VudCB0byBPbW5pcG9vbCBhbmQgaW4gZXhjaGFuZ2UgZ2l2ZXMgdGhlIG9yaWdpbvBjb3JyZXNwb25kaW5nIHNoYXJlcyBhbW91bnQgaW4gZm9ybSBvZiBORlQgYXQgY3VycmVudCBwcmljZS4AhQFBc3NldCdzIHRyYWRhYmxlIHN0YXRlIG11c3QgY29udGFpbiBBRERfTElRVUlESVRZIGZsYWcsIG90aGVyd2lzZSBgTm90QWxsb3dlZGAgZXJyb3IgaXMgcmV0dXJuZWQuAGEBTkZUIGlzIG1pbnRlZCB1c2luZyBOVEZIYW5kbGVyIHdoaWNoIGltcGxlbWVudHMgbm9uLWZ1bmdpYmxlcyB0cmFpdHMgZnJvbSBmcmFtZV9zdXBwb3J0LgBZAUFzc2V0IHdlaWdodCBjYXAgbXVzdCBiZSByZXNwZWN0ZWQsIG90aGVyd2lzZSBgQXNzZXRXZWlnaHRFeGNlZWRlZGAgZXJyb3IgaXMgcmV0dXJuZWQueQFBc3NldCB3ZWlnaHQgaXMgcmF0aW8gYmV0d2VlbiBuZXcgSHViQXNzZXQgcmVzZXJ2ZSBhbmQgdG90YWwgcmVzZXJ2ZSBvZiBIdWIgYXNzZXQgaW4gT21uaXBvb2wuANUBQWRkIGxpcXVpZGl0eSBmYWlscyBpZiBwcmljZSBkaWZmZXJlbmNlIGJldHdlZW4gc3BvdCBwcmljZSBhbmQgb3JhY2xlIHByaWNlIGlzIGhpZ2hlciB0aGFuIGFsbG93ZWQgYnkgYFByaWNlQmFycmllcmAuACxQYXJhbWV0ZXJzOmUBLSBgYXNzZXRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgbmV3IGFzc2V0IGFkZGVkIHRvIHRoZSBwb29sLiBNdXN0IGJlIGFscmVhZHkgaW4gdGhlIHBvb2y0LSBgYW1vdW50YDogQW1vdW50IG9mIGFzc2V0IGFkZGVkIHRvIG9tbmlwb29shQEtIGBtaW5fc2hhcmVzX2xpbWl0YDogVGhlIG1pbiBhbW91bnQgb2YgZGVsdGEgc2hhcmUgYXNzZXQgdGhlIHVzZXIgc2hvdWxkIHJlY2VpdmUgaW4gdGhlIHBvc2l0aW9uALRFbWl0cyBgTGlxdWlkaXR5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AQHJlbW92ZV9saXF1aWRpdHkIASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEYYW1vdW50GAEcQmFsYW5jZQADTBEBUmVtb3ZlIGxpcXVpZGl0eSBvZiBhc3NldCBgYXNzZXRgIGluIHF1YW50aXR5IGBhbW91bnRgIGZyb20gT21uaXBvb2wAYQFgcmVtb3ZlX2xpcXVpZGl0eWAgcmVtb3ZlcyBzcGVjaWZpZWQgc2hhcmVzIGFtb3VudCBmcm9tIGdpdmVuIFBvc2l0aW9uSWQgKE5GVCBpbnN0YW5jZSkuAJEBQXNzZXQncyB0cmFkYWJsZSBzdGF0ZSBtdXN0IGNvbnRhaW4gUkVNT1ZFX0xJUVVJRElUWSBmbGFnLCBvdGhlcndpc2UgYE5vdEFsbG93ZWRgIGVycm9yIGlzIHJldHVybmVkLgBdAWlmIGFsbCBzaGFyZXMgZnJvbSBnaXZlbiBwb3NpdGlvbiBhcmUgcmVtb3ZlZCwgcG9zaXRpb24gaXMgZGVzdHJveWVkIGFuZCBORlQgaXMgYnVybmVkLgDhAVJlbW92ZSBsaXF1aWRpdHkgZmFpbHMgaWYgcHJpY2UgZGlmZmVyZW5jZSBiZXR3ZWVuIHNwb3QgcHJpY2UgYW5kIG9yYWNsZSBwcmljZSBpcyBoaWdoZXIgdGhhbiBhbGxvd2VkIGJ5IGBQcmljZUJhcnJpZXJgLgDlAUR5bmFtaWMgd2l0aGRyYXdhbCBmZWUgaXMgYXBwbGllZCBpZiB3aXRoZHJhd2FsIGlzIG5vdCBzYWZlLiBJdCBpcyBjYWxjdWxhdGVkIHVzaW5nIHNwb3QgcHJpY2UgYW5kIGV4dGVybmFsIHByaWNlIG9yYWNsZS7cV2l0aGRyYXdhbCBpcyBjb25zaWRlcmVkIHNhZmUgd2hlbiB0cmFkaW5nIGlzIGRpc2FibGVkLgAsUGFyYW1ldGVyczoxAS0gYHBvc2l0aW9uX2lkYDogVGhlIGlkZW50aWZpZXIgb2YgcG9zaXRpb24gd2hpY2ggbGlxdWlkaXR5IGlzIHJlbW92ZWQgZnJvbS7ILSBgYW1vdW50YDogQW1vdW50IG9mIHNoYXJlcyByZW1vdmVkIGZyb20gb21uaXBvb2wAvEVtaXRzIGBMaXF1aWRpdHlSZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAGxyZW1vdmVfbGlxdWlkaXR5X3dpdGhfbGltaXQMASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEYYW1vdW50GAEcQmFsYW5jZQABJG1pbl9saW1pdBgBHEJhbGFuY2UADlgRAVJlbW92ZSBsaXF1aWRpdHkgb2YgYXNzZXQgYGFzc2V0YCBpbiBxdWFudGl0eSBgYW1vdW50YCBmcm9tIE9tbmlwb29sAHBMaW1pdCBwcm90ZWN0aW9uIGlzIGFwcGxpZWQuAGEBYHJlbW92ZV9saXF1aWRpdHlgIHJlbW92ZXMgc3BlY2lmaWVkIHNoYXJlcyBhbW91bnQgZnJvbSBnaXZlbiBQb3NpdGlvbklkIChORlQgaW5zdGFuY2UpLgCRAUFzc2V0J3MgdHJhZGFibGUgc3RhdGUgbXVzdCBjb250YWluIFJFTU9WRV9MSVFVSURJVFkgZmxhZywgb3RoZXJ3aXNlIGBOb3RBbGxvd2VkYCBlcnJvciBpcyByZXR1cm5lZC4AXQFpZiBhbGwgc2hhcmVzIGZyb20gZ2l2ZW4gcG9zaXRpb24gYXJlIHJlbW92ZWQsIHBvc2l0aW9uIGlzIGRlc3Ryb3llZCBhbmQgTkZUIGlzIGJ1cm5lZC4A4QFSZW1vdmUgbGlxdWlkaXR5IGZhaWxzIGlmIHByaWNlIGRpZmZlcmVuY2UgYmV0d2VlbiBzcG90IHByaWNlIGFuZCBvcmFjbGUgcHJpY2UgaXMgaGlnaGVyIHRoYW4gYWxsb3dlZCBieSBgUHJpY2VCYXJyaWVyYC4A5QFEeW5hbWljIHdpdGhkcmF3YWwgZmVlIGlzIGFwcGxpZWQgaWYgd2l0aGRyYXdhbCBpcyBub3Qgc2FmZS4gSXQgaXMgY2FsY3VsYXRlZCB1c2luZyBzcG90IHByaWNlIGFuZCBleHRlcm5hbCBwcmljZSBvcmFjbGUu3FdpdGhkcmF3YWwgaXMgY29uc2lkZXJlZCBzYWZlIHdoZW4gdHJhZGluZyBpcyBkaXNhYmxlZC4ALFBhcmFtZXRlcnM6MQEtIGBwb3NpdGlvbl9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIHBvc2l0aW9uIHdoaWNoIGxpcXVpZGl0eSBpcyByZW1vdmVkIGZyb20uyC0gYGFtb3VudGA6IEFtb3VudCBvZiBzaGFyZXMgcmVtb3ZlZCBmcm9tIG9tbmlwb29sBQEtIGBtaW5fbGltaXRgOiBUaGUgbWluIGFtb3VudCBvZiBhc3NldCB0byBiZSByZW1vdmVkIGZvciB0aGUgdXNlcgC8RW1pdHMgYExpcXVpZGl0eVJlbW92ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ASHNhY3JpZmljZV9wb3NpdGlvbgQBLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQABBycU2FjcmlmaWNlIExQIHBvc2l0aW9uIGluIGZhdm9yIG9mIHBvb2wuAD0BQSBwb3NpdGlvbiBpcyBkZXN0cm95ZWQgYW5kIGxpcXVpZGl0eSBvd25lZCBieSBMUCBiZWNvbWVzIHBvb2wgb3duZWQgbGlxdWlkaXR5LgC8T25seSBvd25lciBvZiBwb3NpdGlvbiBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4AaEVtaXRzIGBQb3NpdGlvbkRlc3Ryb3llZGAuEHNlbGwQASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABOG1pbl9idXlfYW1vdW50GAEcQmFsYW5jZQAFRLRFeGVjdXRlIGEgc3dhcCBvZiBgYXNzZXRfaW5gIGZvciBgYXNzZXRfb3V0YC4AkFByaWNlIGlzIGRldGVybWluZWQgYnkgdGhlIE9tbmlwb29sLgB8SHViIGFzc2V0IGlzIHRyYWRlZCBzZXBhcmF0ZWx5LgAFAkFzc2V0J3MgdHJhZGFibGUgc3RhdGVzIG11c3QgY29udGFpbiBTRUxMIGZsYWcgZm9yIGFzc2V0X2luIGFuZCBCVVkgZmxhZyBmb3IgYXNzZXRfb3V0LCBvdGhlcndpc2UgYE5vdEFsbG93ZWRgIGVycm9yIGlzIHJldHVybmVkLgAsUGFyYW1ldGVyczqoLSBgYXNzZXRfaW5gOiBJRCBvZiBhc3NldCBzb2xkIHRvIHRoZSBwb29svC0gYGFzc2V0X291dGA6IElEIG9mIGFzc2V0IGJvdWdodCBmcm9tIHRoZSBwb29sgC0gYGFtb3VudGA6IEFtb3VudCBvZiBhc3NldCBzb2xk2C0gYG1pbl9idXlfYW1vdW50YDogTWluaW11bSBhbW91bnQgcmVxdWlyZWQgdG8gcmVjZWl2ZQDcRW1pdHMgYFNlbGxFeGVjdXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAMYnV5EAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAATxtYXhfc2VsbF9hbW91bnQYARxCYWxhbmNlAAZEtEV4ZWN1dGUgYSBzd2FwIG9mIGBhc3NldF9vdXRgIGZvciBgYXNzZXRfaW5gLgCQUHJpY2UgaXMgZGV0ZXJtaW5lZCBieSB0aGUgT21uaXBvb2wuAHxIdWIgYXNzZXQgaXMgdHJhZGVkIHNlcGFyYXRlbHkuAAUCQXNzZXQncyB0cmFkYWJsZSBzdGF0ZXMgbXVzdCBjb250YWluIFNFTEwgZmxhZyBmb3IgYXNzZXRfaW4gYW5kIEJVWSBmbGFnIGZvciBhc3NldF9vdXQsIG90aGVyd2lzZSBgTm90QWxsb3dlZGAgZXJyb3IgaXMgcmV0dXJuZWQuACxQYXJhbWV0ZXJzOqgtIGBhc3NldF9pbmA6IElEIG9mIGFzc2V0IHNvbGQgdG8gdGhlIHBvb2y8LSBgYXNzZXRfb3V0YDogSUQgb2YgYXNzZXQgYm91Z2h0IGZyb20gdGhlIHBvb2yALSBgYW1vdW50YDogQW1vdW50IG9mIGFzc2V0IHNvbGS8LSBgbWF4X3NlbGxfYW1vdW50YDogTWF4aW11bSBhbW91bnQgdG8gYmUgc29sZC4A2EVtaXRzIGBCdXlFeGVjdXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBgc2V0X2Fzc2V0X3RyYWRhYmxlX3N0YXRlCAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEUc3RhdGUlAwEsVHJhZGFiaWxpdHkAByB4VXBkYXRlIGFzc2V0J3MgdHJhZGFibGUgc3RhdGUuACxQYXJhbWV0ZXJzOlgtIGBhc3NldF9pZGA6IGFzc2V0IGlkUC0gYHN0YXRlYDogbmV3IHN0YXRlAMxFbWl0cyBgVHJhZGFibGVTdGF0ZVVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AUHJlZnVuZF9yZWZ1c2VkX2Fzc2V0DAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABJHJlY2lwaWVudAABMFQ6OkFjY291bnRJZAAIJLBSZWZ1bmQgZ2l2ZW4gYW1vdW50IG9mIGFzc2V0IHRvIGEgcmVjaXBpZW50LgBZAkEgcmVmdW5kIGlzIG5lZWRlZCB3aGVuIGEgdG9rZW4gaXMgcmVmdXNlZCB0byBiZSBhZGRlZCB0byBPbW5pcG9vbCwgYW5kIGluaXRpYWwgbGlxdWlkaXR5IG9mIHRoZSBhc3NldCBoYXMgYmVlbiBhbHJlYWR5IHRyYW5zZmVycmVkIHRvIHBvb2wncyBhY2NvdW50LgCNAVRyYW5zZmVyIGNhbiBiZSBleGVjdXRlZCBvbmx5IGlmIGFzc2V0IGlzIG5vdCBpbiBPbW5pcG9vbCBhbmQgcG9vbCdzIGJhbGFuY2UgaGFzIHN1ZmZpY2llbnQgYW1vdW50LgDIT25seSBgQXV0aG9yaXR5T3JpZ2luYCBjYW4gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbi4AVEVtaXRzIGBBc3NldFJlZnVuZGVkYFBzZXRfYXNzZXRfd2VpZ2h0X2NhcAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABDGNhcCEDARxQZXJtaWxsAAkgZFVwZGF0ZSBhc3NldCdzIHdlaWdodCBjYXAALFBhcmFtZXRlcnM6WC0gYGFzc2V0X2lkYDogYXNzZXQgaWRcLSBgY2FwYDogbmV3IHdlaWdodCBjYXAA0EVtaXRzIGBBc3NldFdlaWdodENhcFVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AbHdpdGhkcmF3X3Byb3RvY29sX2xpcXVpZGl0eRABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAARRwcmljZSkDAUgoQmFsYW5jZSwgQmFsYW5jZSkAARBkZXN0AAEwVDo6QWNjb3VudElkAAssbFJlbW92ZXMgcHJvdG9jb2wgbGlxdWlkaXR5LgCFAVByb3RvY29sIGxpcXVpZGl0eSBpcyBsaXF1aWRpdHkgZnJvbSBzYWNyaWZpY2VkIHBvc2l0aW9ucy4gSW4gb3JkZXIgdG8gcmVtb3ZlIHByb3RvY29sIGxpcXVpZGl0eSx5AXdlIG5lZWQgdGhlIGtub3cgdGhlIHByaWNlIG9mIHRoZSBwb3NpdGlvbiBhdCB0aGUgdGltZSBvZiBzYWNyaWZpY2UuIEhlbmNlIHRoaXMgc3BlY2lmaWMgY2FsbC4AtE9ubHkgYEF1dGhvcml0eU9yaWdpbmAgY2FuIHBlcmZvcm0gdGhpcyBjYWxsLgB5AU5vdGUgdGhhdCBzYWNyaWZpY2UgcG9zaXRpb24gd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZS4gVGhlcmUgaXMgbm8gbG9uZ2VyIGEgbmVlZCBmb3IgdGhhdC4AYQFJdCB3b3JrcyB0aGUgc2FtZSB3YXkgYXMgcmVtb3ZlIGxpcXVpZGl0eSBjYWxsLCBidXQgcG9zaXRpb24gaXMgdGVtcG9yYXJ5IHJlY29uc3RydWN0ZWQuADByZW1vdmVfdG9rZW4IASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAASxiZW5lZmljaWFyeQABMFQ6OkFjY291bnRJZAAMLHBSZW1vdmVzIHRva2VuIGZyb20gT21uaXBvb2wuAEUBQXNzZXQncyB0cmFkYWJpbGl0eSBtdXN0IGJlIEZST1pFTiwgb3RoZXJ3aXNlIGBBc3NldE5vdEZyb3plbmAgZXJyb3IgaXMgcmV0dXJuZWQuAGEBUmVtYWluaW5nIHNoYXJlcyBtdXN0IGJlbG9uZyB0byBwcm90b2NvbCwgb3RoZXJ3aXNlIGBTaGFyZXNSZW1haW5pbmdgIGVycm9yIGlzIHJldHVybmVkLgB5AVByb3RvY29sJ3MgbGlxdWlkaXR5IGlzIHRyYW5zZmVycmVkIHRvIHRoZSBiZW5lZmljaWFyeSBhY2NvdW50IGFuZCBodWIgYXNzZXQgYW1vdW50IGlzIGJ1cm5lZC4AtE9ubHkgYEF1dGhvcml0eU9yaWdpbmAgY2FuIHBlcmZvcm0gdGhpcyBjYWxsLgCsRW1pdHMgYFRva2VuUmVtb3ZlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4hAww0c3BfYXJpdGhtZXRpYyhwZXJfdGhpbmdzHFBlcm1pbGwAAAQAEAEMdTMyAAAlAww8cGFsbGV0X29tbmlwb29sFHR5cGVzLFRyYWRhYmlsaXR5AAAEARBiaXRzCAEIdTgAACkDAAAECBgYAC0DDGBwYWxsZXRfdHJhbnNhY3Rpb25fcGF1c2UYcGFsbGV0EENhbGwEBFQAAQhEcGF1c2VfdHJhbnNhY3Rpb24IASxwYWxsZXRfbmFtZTgBHFZlYzx1OD4AATRmdW5jdGlvbl9uYW1lOAEcVmVjPHU4PgAAAEx1bnBhdXNlX3RyYW5zYWN0aW9uCAEscGFsbGV0X25hbWU4ARxWZWM8dTg+AAE0ZnVuY3Rpb25fbmFtZTgBHFZlYzx1OD4AAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuMQMMNHBhbGxldF9kdXN0ZXIYcGFsbGV0EENhbGwEBFQAAQwwZHVzdF9hY2NvdW50CAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAAAFFxEdXN0IHNwZWNpZmllZCBhY2NvdW50LnUBSUYgYWNjb3VudCBiYWxhbmNlIGlzIDwgbWluLiBleGlzdGVudGlhbCBkZXBvc2l0IG9mIGdpdmVuIGN1cnJlbmN5LCBhbmQgYWNjb3VudCBpcyBhbGxvd2VkIHRvXQFiZSBkdXN0ZWQsIHRoZSByZW1haW5pbmcgYmFsYW5jZSBpcyB0cmFuc2ZlcnJlZCB0byBzZWxlY3RlZCBhY2NvdW50ICh1c3VhbGx5IHRyZWFzdXJ5KS4A5ENhbGxlciBpcyByZXdhcmRlZCB3aXRoIGNob3NlbiByZXdhcmQgaW4gbmF0aXZlIGN1cnJlbmN5LlxhZGRfbm9uZHVzdGFibGVfYWNjb3VudAQBHGFjY291bnQAATBUOjpBY2NvdW50SWQAAQxVAUFkZCBhY2NvdW50IHRvIGxpc3Qgb2Ygbm9uLWR1c3RhYmxlIGFjY291bnQuIEFjY291bnQgd2hpaGMgYXJlIGV4Y2x1ZGVkIGZyb20gdWRzdGluZy4pAUlmIHN1Y2ggYWNjb3VudCBzaG91bGQgYmUgZHVzdGVkIC0gYEFjY291bnRCbGFja2xpc3RlZGAgZXJyb3IgaXMgcmV0dXJuZWQuiE9ubHkgcm9vdCBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi5ocmVtb3ZlX25vbmR1c3RhYmxlX2FjY291bnQEARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAIEaQFSZW1vdmUgYWNjb3VudCBmcm9tIGxpc3Qgb2Ygbm9uLWR1c3RhYmxlIGFjY291bnRzLiBUaGF0IG1lYW5zIGFjY291bnQgY2FuIGJlIGR1c3RlZCBhZ2Fpbi4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuNQMMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nGHBhbGxldBBDYWxsCARUAARJAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLjkDDIBwYWxsZXRfb21uaXBvb2xfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQQQ2FsbAQEVAABQEhjcmVhdGVfZ2xvYmFsX2Zhcm0gATR0b3RhbF9yZXdhcmRzGAEcQmFsYW5jZQABYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcxABLFBlcmlvZE9mPFQ+AAFEYmxvY2tzX3Blcl9wZXJpb2QQAURCbG9ja051bWJlckZvcjxUPgABPHJld2FyZF9jdXJyZW5jeRABKFQ6OkFzc2V0SWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABQHlpZWxkX3Blcl9wZXJpb2Q9AwEsUGVycXVpbnRpbGwAASxtaW5fZGVwb3NpdBgBHEJhbGFuY2UAAVRscm5hX3ByaWNlX2FkanVzdG1lbnQ9AQEkRml4ZWRVMTI4AABw/ENyZWF0ZSBhIG5ldyBsaXF1aWRpdHkgbWluaW5nIHByb2dyYW0gd2l0aCBwcm92aWRlZCBwYXJhbWV0ZXJzLgBFAWBvd25lcmAgYWNjb3VudCBoYXMgdG8gaGF2ZSBhdCBsZWFzdCBgdG90YWxfcmV3YXJkc2AgYmFsYW5jZS4gVGhlc2UgZnVuZHMgd2lsbCBiZaR0cmFuc2ZlcnJlZCBmcm9tIGBvd25lcmAgdG8gZmFybSBhY2NvdW50LgDwVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFQ6OkNyZWF0ZU9yaWdpbmAuVQEhISFXQVJOOiBgVDo6Q3JlYXRlT3JpZ2luYCBoYXMgcG93ZXIgb3ZlciBmdW5kcyBvZiBgb3duZXJgJ3MgYWNjb3VudCBhbmQgaXQgc2hvdWxkIGJl0GNvbmZpZ3VyZWQgdG8gdHJ1c3RlZCBvcmlnaW4gZS5nIFN1ZG8gb3IgR292ZXJuYW5jZS4ALFBhcmFtZXRlcnM6VQEtIGBvcmlnaW5gOiBhY2NvdW50IGFsbG93ZWQgdG8gY3JlYXRlIG5ldyBsaXF1aWRpdHkgbWluaW5nIHByb2dyYW0ocm9vdCwgZ292ZXJuYW5jZSkuNQEtIGB0b3RhbF9yZXdhcmRzYDogdG90YWwgcmV3YXJkcyBwbGFubmVkIHRvIGRpc3RyaWJ1dGUuIFRoZXNlIHJld2FyZHMgd2lsbCBiZdxkaXN0cmlidXRlZCBiZXR3ZWVuIGFsbCB5aWVsZCBmYXJtcyBpbiB0aGUgZ2xvYmFsIGZhcm0uWQEtIGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHNgOiBwbGFubmVkIG51bWJlciBvZiBwZXJpb2RzIHRvIGRpc3RyaWJ1dGUgYHRvdGFsX3Jld2FyZHNgLikBV0FSTjogVEhJUyBJUyBOT1QgSEFSRCBERUFETElORS4gTm90IGFsbCByZXdhcmRzIGhhdmUgdG8gYmUgZGlzdHJpYnV0ZWQgaW5dAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHNgLiBSZXdhcmRzIGFyZSBkaXN0cmlidXRlZCBiYXNlZCBvbiB0aGUgc2l0dWF0aW9uIGluIHRoZSB5aWVsZEEBZmFybXMgYW5kIGNhbiBiZSBkaXN0cmlidXRlZCBpbiBhIGxvbmdlciwgdGhvdWdoIG5ldmVyIGluIGEgc2hvcnRlciwgdGltZSBmcmFtZS5ZAS0gYGJsb2Nrc19wZXJfcGVyaW9kYDogIG51bWJlciBvZiBibG9ja3MgaW4gYSBzaW5nbGUgcGVyaW9kLiBNaW4uIG51bWJlciBvZiBibG9ja3MgcGVyMHBlcmlvZCBpcyAxLsAtIGByZXdhcmRfY3VycmVuY3lgOiBwYXlvZmYgY3VycmVuY3kgb2YgcmV3YXJkcy45AS0gYG93bmVyYDogbGlxLiBtaW5pbmcgZmFybSBvd25lci4gVGhpcyBhY2NvdW50IHdpbGwgYmUgYWJsZSB0byBtYW5hZ2UgY3JlYXRlZGRsaXF1aWRpdHkgbWluaW5nIHByb2dyYW0uKQEtIGB5aWVsZF9wZXJfcGVyaW9kYDogcGVyY2VudGFnZSByZXR1cm4gb24gYHJld2FyZF9jdXJyZW5jeWAgb2YgYWxsIGZhcm1zLpEBLSBgbWluX2RlcG9zaXRgOiBtaW5pbXVtIGFtb3VudCBvZiBMUCBzaGFyZXMgdG8gYmUgZGVwb3NpdGVkIGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcgYnkgZWFjaCB1c2VyLk0BLSBgbHJuYV9wcmljZV9hZGp1c3RtZW50YDogcHJpY2UgYWRqdXN0bWVudCBiZXR3ZWVuIGBbTFJOQV1gIGFuZCBgcmV3YXJkX2N1cnJlbmN5YC4AqEVtaXRzIGBHbG9iYWxGYXJtQ3JlYXRlZGAgd2hlbiBzdWNjZXNzZnVsLgBUdGVybWluYXRlX2dsb2JhbF9mYXJtBAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAjScVGVybWluYXRlIGV4aXN0aW5nIGxpcS4gbWluaW5nIHByb2dyYW0uAKBPbmx5IGZhcm0gb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uABEBV0FSTjogVG8gc3VjY2Vzc2Z1bGx5IHRlcm1pbmF0ZSBhIGdsb2JhbCBmYXJtLCBmYXJtIGhhdmUgdG8gYmUgZW1wdHngKGFsbCB5aWVsZCBmYXJtcyBpbiB0aGUgZ2xvYmFsIGZhcm0gbXVzdCBiZSB0ZXJtaW5hdGVkKS4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIu3C0gYGdsb2JhbF9mYXJtX2lkYDogaWQgb2YgZ2xvYmFsIGZhcm0gdG8gYmUgdGVybWluYXRlZC4AzEVtaXRzIGBHbG9iYWxGYXJtVGVybWluYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBEY3JlYXRlX3lpZWxkX2Zhcm0QAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABKG11bHRpcGxpZXI9AQE4RmFybU11bHRpcGxpZXIAATRsb3lhbHR5X2N1cnZlQQMBUE9wdGlvbjxMb3lhbHR5Q3VydmU+AANI3ENyZWF0ZSB5aWVsZCBmYXJtIGZvciBnaXZlbiBgYXNzZXRfaWRgIGluIHRoZSBvbW5pcG9vbC4EIKBPbmx5IGZhcm0gb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uAOxBc3NldCB3aXRoIGBhc3NldF9pZGAgaGFzIHRvIGJlIHJlZ2lzdGVyZWQgaW4gdGhlIG9tbmlwb29sLlUBQXQgbW9zdCBvbmUgYGFjdGl2ZWAgeWllbGQgZmFybSBjYW4gZXhpc3QgaW4gb25lIGdsb2JhbCBmYXJtIGZvciB0aGUgc2FtZSBgYXNzZXRfaWRgLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4dAS0gYGdsb2JhbF9mYXJtX2lkYDogZ2xvYmFsIGZhcm0gaWQgdG8gd2hpY2ggYSB5aWVsZCBmYXJtIHdpbGwgYmUgYWRkZWQuHQEtIGBhc3NldF9pZGA6IGlkIG9mIGEgYXNzZXQgaW4gdGhlIG9tbmlwb29sLiBZaWVsZCBmYXJtIHdpbGwgYmUgY3JlYXRlZGEBZm9yIHRoaXMgYXNzZXQgYW5kIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGxvY2sgTFAgc2hhcmVzIGludG8gdGhpcyB5aWVsZCBmYXJtIGltbWVkaWF0ZWx5LqAtIGBtdWx0aXBsaWVyYDogeWllbGQgZmFybSdzIG11bHRpcGxpZXIuXQEtIGBsb3lhbHR5X2N1cnZlYDogY3VydmUgdG8gY2FsY3VsYXRlIGxveWFsdHkgbXVsdGlwbGllciB0byBkaXN0cmlidXRlIHJld2FyZHMgdG8gdXNlcnPgd2l0aCB0aW1lIGluY2VudGl2ZS4gYE5vbmVgIG1lYW5zIG5vIGxveWFsdHkgbXVsdGlwbGllci4AvEVtaXRzIGBZaWVsZEZhcm1DcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAER1cGRhdGVfeWllbGRfZmFybQwBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEobXVsdGlwbGllcj0BAThGYXJtTXVsdGlwbGllcgAEMHxVcGRhdGUgeWllbGQgZmFybSdzIG11bHRpcGxpZXIuBCCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4dAS0gYGdsb2JhbF9mYXJtX2lkYDogZ2xvYmFsIGZhcm0gaWQgaW4gd2hpY2ggeWllbGQgZmFybSB3aWxsIGJlIHVwZGF0ZWQuIQEtIGBhc3NldF9pZGA6IGlkIG9mIHRoZSBhc3NldCBpZGVudGlmeWluZyB5aWVsZCBmYXJtIGluIHRoZSBnbG9iYWwgZmFybS6wLSBgbXVsdGlwbGllcmA6IG5ldyB5aWVsZCBmYXJtJ3MgbXVsdGlwbGllci4AvEVtaXRzIGBZaWVsZEZhcm1VcGRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADxzdG9wX3lpZWxkX2Zhcm0IAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAAFQLhTdG9wIGxpcXVpZGl0eSBtaW1pbmcgZm9yIHNwZWNpZmljIHlpZWxkIGZhcm0uADEBVGhpcyBmdW5jdGlvbiBjbGFpbXMgcmV3YXJkcyBmcm9tIGBHbG9iYWxGYXJtYCBsYXN0IHRpbWUgYW5kIHN0b3AgeWllbGQgZmFybSEBaW5jZW50aXZpemF0aW9uIGZyb20gYSBgR2xvYmFsRmFybWAuIFVzZXJzIHdpbGwgYmUgYWJsZSB0byBvbmx5IHdpdGhkcmF3yHNoYXJlcyh3aXRoIGNsYWltaW5nKSBhZnRlciBjYWxsaW5nIHRoaXMgZnVuY3Rpb24u4GBkZXBvc2l0X3NoYXJlcygpYCBpcyBub3QgYWxsb3dlZCBvbiBzdG9wcGVkIHlpZWxkIGZhcm0uBCCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4FAS0gYGdsb2JhbF9mYXJtX2lkYDogZmFybSBpZCBpbiB3aGljaCB5aWVsZCBmYXJtIHdpbGwgYmUgY2FuY2VsZWQuIQEtIGBhc3NldF9pZGA6IGlkIG9mIHRoZSBhc3NldCBpZGVudGlmeWluZyB5aWVsZCBmYXJtIGluIHRoZSBnbG9iYWwgZmFybS4AvEVtaXRzIGBZaWVsZEZhcm1TdG9wcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAERyZXN1bWVfeWllbGRfZmFybRABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEobXVsdGlwbGllcj0BAThGYXJtTXVsdGlwbGllcgAGTPhSZXN1bWUgaW5jZW50aXZpemF0aW9uIG9mIHRoZSBhc3NldCByZXByZXNlbnRlZCBieSB5aWVsZCBmYXJtLgAtAVRoaXMgZnVuY3Rpb24gcmVzdW1lIGluY2VudGl2aXphdGlvbiBvZiB0aGUgYXNzZXQgZnJvbSB0aGUgYEdsb2JhbEZhcm1gIGFuZDEBcmVzdG9yZSBmdWxsIGZ1bmN0aW9uYWxpdHkgb3IgdGhlIHlpZWxkIGZhcm0uIFVzZXJzIHdpbGwgYmUgYWJsZSB0byBkZXBvc2l0LGRjbGFpbSBhbmQgd2l0aGRyYXcgYWdhaW4uABEBV0FSTjogWWllbGQgZmFybShhbmQgdXNlcnMpIGlzIE5PVCByZXdhcmRlZCBmb3IgdGltZSBpdCB3YXMgc3RvcHBlZC4AoE9ubHkgZmFybSBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuHQEtIGBnbG9iYWxfZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkIGluIHdoaWNoIHlpZWxkIGZhcm0gd2lsbCBiZSByZXN1bWVkLtgtIGB5aWVsZF9mYXJtX2lkYDogaWQgb2YgdGhlIHlpZWxkIGZhcm0gdG8gYmUgcmVzdW1lZC4hAS0gYGFzc2V0X2lkYDogaWQgb2YgdGhlIGFzc2V0IGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0gaW4gdGhlIGdsb2JhbCBmYXJtLpgtIGBtdWx0aXBsaWVyYDogeWllbGQgZmFybSBtdWx0aXBsaWVyLgC8RW1pdHMgYFlpZWxkRmFybVJlc3VtZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AUHRlcm1pbmF0ZV95aWVsZF9mYXJtDAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAB1BUVGVybWluYXRlIHlpZWxkIGZhcm0uAIEBVGhpcyBmdW5jdGlvbiBtYXJrcyBhIHlpZWxkIGZhcm0gYXMgcmVhZHkgdG8gYmUgcmVtb3ZlZCBmcm9tIHN0b3JhZ2Ugd2hlbiBpdCdzIGVtcHR5LiBVc2VycyB3aWxsZQFiZSBhYmxlIHRvIG9ubHkgd2l0aGRyYXcgc2hhcmVzKHdpdGhvdXQgY2xhaW1pbmcgcmV3YXJkcyBmcm9tIHlpZWxkIGZhcm0pLiBVbnBhaWQgcmV3YXJkc30Bd2lsbCBiZSB0cmFuc2ZlcnJlZCBiYWNrIHRvIGdsb2JhbCBmYXJtIGFuZCBpdCB3aWxsIGJlIHVzZWQgdG8gZGlzdHJpYnV0ZSB0byBvdGhlciB5aWVsZCBmYXJtcy4A3FlpZWxkIGZhcm0gbXVzdCBiZSBzdG9wcGVkIGJlZm9yZSBpdCBjYW4gYmUgdGVybWluYXRlZC4AcQFPbmx5IGdsb2JhbCBmYXJtJ3Mgb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uIFlpZWxkIGZhcm0gc3RheXMgaW4gdGhlIHN0b3JhZ2UgdW50aWwgaXQnc20BZW1wdHkoYWxsIGZhcm0gZW50cmllcyBhcmUgd2l0aGRyYXduKS4gTGFzdCB3aXRoZHJhd24gZnJvbSB5aWVsZCBmYXJtIHRyaWdnZXIgcmVtb3ZpbmcgZnJvbTB0aGUgc3RvcmFnZS4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuMQEtIGBnbG9iYWxfZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkIGluIHdoaWNoIHlpZWxkIGZhcm0gc2hvdWxkIGJlIHRlcm1pbmF0ZWQu1C0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB5aWVsZCBmYXJtIHRvIGJlIHRlcm1pbmF0ZWQu1C0gYGFzc2V0X2lkYDogaWQgb2YgdGhlIGFzc2V0IGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0uAMhFbWl0cyBgWWllbGRGYXJtVGVybWluYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgA4ZGVwb3NpdF9zaGFyZXMMAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQACDjsRGVwb3NpdCBvbW5pcG9vbCBwb3NpdGlvbihMUCBzaGFyZXMpIHRvIGEgbGlxdWlkaXR5IG1pbmluZy4AcQFUaGlzIGZ1bmN0aW9uIHRyYW5zZmVycyBvbW5pcG9vbCBwb3NpdGlvbiBmcm9tIGBvcmlnaW5gIHRvIHBhbGxldCdzIGFjY291bnQgYW5kIG1pbnQgTkZUIGZvckUBYG9yaWdpbmAgYWNjb3VudC4gTWludGVkIE5GVCByZXByZXNlbnRzIGRlcG9zaXQgaW4gdGhlIGxpcXVpZGl0eSBtaW5pbmcuIFVzZXIgY2FuIQFkZXBvc2l0IG9tbmlwb29sIHBvc2l0aW9uIGFzIGEgd2hvbGUoYWxsIHRoZSBMUCBzaGFyZXMgaW4gdGhlIHBvc2l0aW9uKS4ALFBhcmFtZXRlcnM6QQEtIGBvcmlnaW5gOiBvd25lciBvZiB0aGUgb21uaXBvb2wgcG9zaXRpb24gdG8gZGVwb3NpdCBpbnRvIHRoZSBsaXF1aWRpdHkgbWluaW5nLj0BLSBgZ2xvYmFsX2Zhcm1faWRgOiBpZCBvZiBnbG9iYWwgZmFybSB0byB3aGljaCB1c2VyIHdhbnRzIHRvIGRlcG9zaXQgTFAgc2hhcmVzLsgtIGB5aWVsZF9mYXJtX2lkYDogaWQgb2YgeWllbGQgZmFybSB0byBkZXBvc2l0IHRvLl0BLSBgcG9zaXRpb25faWRgOiBpZCBvZiB0aGUgb21uaXBvb2wgcG9zaXRpb24gdG8gYmUgZGVwb3NpdGVkIGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcuALhFbWl0cyBgU2hhcmVzRGVwb3NpdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAEByZWRlcG9zaXRfc2hhcmVzDAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAk88FJlZGVwb3NpdCBMUCBzaGFyZXMgaW4gdGhlIGFscmVhZHkgbG9ja2VkIG9tbmlwb29sIHBvc2l0aW9uLgBRAVRoaXMgZnVuY3Rpb24gY3JlYXRlIHlpZWxkIGZhcm0gZW50cnkgZm9yIGV4aXN0aW5nIGRlcG9zaXQuIEFtb3VudCBvZiByZWRlcG9zaXRlZCBMUC0Bc2hhcmVzIGlzIHNhbWUgYXMgYW1vdW50IHNoYXJlcyB3aGljaCBhcmUgYWxyZWFkeSBkZXBvc2l0ZWQgaW4gdGhlIGRlcG9zaXQuALhUaGlzIGZ1bmN0aW9uIERPRVNOJ1QgY3JlYXRlIG5ldyBkZXBvc2l0KE5GVCkuACxQYXJhbWV0ZXJzOrgtIGBvcmlnaW5gOiBvd25lciBvZiB0aGUgZGVwb3NpdCB0byByZWRlcG9zaXQuVQEtIGBnbG9iYWxfZmFybV9pZGA6IGlkIG9mIHRoZSBnbG9iYWwgZmFybSB0byB3aGljaCB1c2VyIHdhbnRzIHRvIHJlZGVwb3NpdCBMUCBzaGFyZXMu4C0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB0aGUgeWllbGQgZmFybSB0byByZWRlcG9zaXQgdG8u3C0gYGRlcG9zaXRfaWRgOiBpZGVudGlmaWVyIG9mIHRoZSBkZXBvc2l0IHRvIHJlZGVwb3NpdC4AwEVtaXRzIGBTaGFyZXNSZWRlcG9zaXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgA0Y2xhaW1fcmV3YXJkcwgBKGRlcG9zaXRfaWQYASREZXBvc2l0SWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQACjBhAUNsYWltIHJld2FyZHMgZnJvbSBsaXF1aWRpdHkgbWluaW5nIHByb2dyYW0gZm9yIGRlcG9zaXQgcmVwcmVzZW50ZWQgYnkgdGhlIGBkZXBvc2l0X2lkYC4AbQFUaGlzIGZ1bmN0aW9uIGNhbGN1bGF0ZSB1c2VyIHJld2FyZHMgZnJvbSBsaXF1aWRpdHkgbWluaW5nIGFuZCB0cmFuc2ZlciByZXdhcmRzIHRvIGBvcmlnaW5g/GFjY291bnQuIENsYWltaW5nIG11bHRpcGxlIHRpbWUgdGhlIHNhbWUgcGVyaW9kIGlzIG5vdCBhbGxvd2VkLgAsUGFyYW1ldGVyczp0LSBgb3JpZ2luYDogb3duZXIgb2YgZGVwb3NpdC7cLSBgZGVwb3NpdF9pZGA6IGlkIG9mIHRoZSBkZXBvc2l0IHRvIGNsYWltIHJld2FyZHMgZm9yLvgtIGB5aWVsZF9mYXJtX2lkYDogaWQgb2YgdGhlIHlpZWxkIGZhcm0gdG8gY2xhaW0gcmV3YXJkcyBmcm9tLgCwRW1pdHMgYFJld2FyZENsYWltZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4APHdpdGhkcmF3X3NoYXJlcwgBKGRlcG9zaXRfaWQYASREZXBvc2l0SWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAC1BVAVRoaXMgZnVuY3Rpb24gY2xhaW0gcmV3YXJkcyBhbmQgd2l0aGRyYXcgTFAgc2hhcmVzIGZyb20geWllbGQgZmFybS4gT21uaXBvb2wgcG9zaXRpb25RAWlzIHRyYW5zZmVycmVkIHRvIG9yaWdpbiBvbmx5IGlmIHRoaXMgaXMgbGFzdCB3aXRoZHJhdyBpbiB0aGUgZGVwb3NpdCBhbmQgZGVwb3NpdCBpc1EBZGVzdHJveWVkLiBUaGlzIGZ1bmN0aW9uIGNsYWltIHJld2FyZHMgb25seSBpZiB5aWVsZCBmYXJtIGlzIG5vdCB0ZXJtaW5hdGVkIGFuZCB1c2VyvGRpZG4ndCBhbHJlYWR5IGNsYWltIHJld2FyZHMgaW4gY3VycmVudCBwZXJpb2QuAE0BVW5jbGFpbWFibGUgcmV3YXJkcyByZXByZXNlbnRzIHJld2FyZHMgd2hpY2ggdXNlciB3b24ndCBiZSBhYmxlIHRvIGNsYWltIGJlY2F1c2Ugb2ZJAWV4aXRpbmcgZWFybHkgYW5kIHRoZXNlIHJld2FyZHMgd2lsbCBiZSB0cmFuc2ZlcnJlZCBiYWNrIHRvIGdsb2JhbCBmYXJtIGZvciBmdXR1cmU8cmVkaXN0cmlidXRpb24uACxQYXJhbWV0ZXJzOnQtIGBvcmlnaW5gOiBvd25lciBvZiBkZXBvc2l0LtwtIGBkZXBvc2l0X2lkYDogaWQgb2YgdGhlIGRlcG9zaXQgdG8gY2xhaW0gcmV3YXJkcyBmb3Iu+C0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB0aGUgeWllbGQgZmFybSB0byBjbGFpbSByZXdhcmRzIGZyb20uABhFbWl0czrEKiBgUmV3YXJkQ2xhaW1lZGAgZXZlbnQgaWYgY2xhaW1lZCByZXdhcmRzIGlzID4gMKQqIGBTaGFyZXNXaXRoZHJhd25gIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bF0BKiBgRGVwb3NpdERlc3Ryb3llZGAgZXZlbnQgd2hlbiB0aGlzIHdhcyBsYXN0IHdpdGhkcmF3IGZyb20gdGhlIGRlcG9zaXQgYW5kIGRlcG9zaXQgd2FzKGRlc3Ryb3llZC4ASHVwZGF0ZV9nbG9iYWxfZmFybRABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAFgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzEAFIY3JhdGU6OlBlcmlvZE9mPFQ+AAFAeWllbGRfcGVyX3BlcmlvZD0DASxQZXJxdWludGlsbAABLG1pbl9kZXBvc2l0GAEcQmFsYW5jZQAMONRUaGlzIGV4dHJpbnNpYyB1cGRhdGVzIGdsb2JhbCBmYXJtJ3MgbWFpbiBwYXJhbWV0ZXJzLgDwVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFQ6OkNyZWF0ZU9yaWdpbmAuVQEhISFXQVJOOiBgVDo6Q3JlYXRlT3JpZ2luYCBoYXMgcG93ZXIgb3ZlciBmdW5kcyBvZiBgb3duZXJgJ3MgYWNjb3VudCBhbmQgaXQgc2hvdWxkIGJl0GNvbmZpZ3VyZWQgdG8gdHJ1c3RlZCBvcmlnaW4gZS5nIFN1ZG8gb3IgR292ZXJuYW5jZS4ALFBhcmFtZXRlcnM6VQEtIGBvcmlnaW5gOiBhY2NvdW50IGFsbG93ZWQgdG8gY3JlYXRlIG5ldyBsaXF1aWRpdHkgbWluaW5nIHByb2dyYW0ocm9vdCwgZ292ZXJuYW5jZSku0C0gYGdsb2JhbF9mYXJtX2lkYDogaWQgb2YgdGhlIGdsb2JhbCBmYXJtIHRvIHVwZGF0ZS5ZAS0gYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kc2A6IHBsYW5uZWQgbnVtYmVyIG9mIHBlcmlvZHMgdG8gZGlzdHJpYnV0ZSBgdG90YWxfcmV3YXJkc2AuKQEtIGB5aWVsZF9wZXJfcGVyaW9kYDogcGVyY2VudGFnZSByZXR1cm4gb24gYHJld2FyZF9jdXJyZW5jeWAgb2YgYWxsIGZhcm1zLpEBLSBgbWluX2RlcG9zaXRgOiBtaW5pbXVtIGFtb3VudCBvZiBMUCBzaGFyZXMgdG8gYmUgZGVwb3NpdGVkIGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcgYnkgZWFjaCB1c2VyLgDARW1pdHMgYEdsb2JhbEZhcm1VcGRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuKGpvaW5fZmFybXMIATBmYXJtX2VudHJpZXNJAwERAUJvdW5kZWRWZWM8KEdsb2JhbEZhcm1JZCwgWWllbGRGYXJtSWQpLCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAANJEUBVGhpcyBmdW5jdGlvbiBhbGxvd3MgdXNlciB0byBqb2luIG11bHRpcGxlIGZhcm1zIHdpdGggYSBzaW5nbGUgb21uaXBvb2wgcG9zaXRpb24uACxQYXJhbWV0ZXJzOkEBLSBgb3JpZ2luYDogb3duZXIgb2YgdGhlIG9tbmlwb29sIHBvc2l0aW9uIHRvIGRlcG9zaXQgaW50byB0aGUgbGlxdWlkaXR5IG1pbmluZy6gLSBgZmFybV9lbnRyaWVzYDogbGlzdCBvZiBmYXJtcyB0byBqb2luLl0BLSBgcG9zaXRpb25faWRgOiBpZCBvZiB0aGUgb21uaXBvb2wgcG9zaXRpb24gdG8gYmUgZGVwb3NpdGVkIGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcuANhFbWl0cyBgU2hhcmVzRGVwb3NpdGVkYCBldmVudCBmb3IgdGhlIGZpcnN0IGZhcm0gZW50cnkdAUVtaXRzIGBTaGFyZXNSZWRlcG9zaXRlZGAgZXZlbnQgZm9yIGVhY2ggZmFybSBlbnRyeSBhZnRlciB0aGUgZmlyc3Qgb25lcGFkZF9saXF1aWRpdHlfYW5kX2pvaW5fZmFybXMQATBmYXJtX2VudHJpZXNJAwERAUJvdW5kZWRWZWM8KEdsb2JhbEZhcm1JZCwgWWllbGRGYXJtSWQpLCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AAEUYXNzZXQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABQG1pbl9zaGFyZXNfbGltaXTgATxPcHRpb248QmFsYW5jZT4ADixdAVRoaXMgZnVuY3Rpb24gYWxsb3dzIHVzZXIgdG8gYWRkIGxpcXVpZGl0eSB0aGVuIHVzZSB0aGF0IHNoYXJlcyB0byBqb2luIG11bHRpcGxlIGZhcm1zLgAsUGFyYW1ldGVyczpBAS0gYG9yaWdpbmA6IG93bmVyIG9mIHRoZSBvbW5pcG9vbCBwb3NpdGlvbiB0byBkZXBvc2l0IGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcuoC0gYGZhcm1fZW50cmllc2A6IGxpc3Qgb2YgZmFybXMgdG8gam9pbi4VAS0gYGFzc2V0YDogaWQgb2YgdGhlIGFzc2V0IHRvIGJlIGRlcG9zaXRlZCBpbnRvIHRoZSBsaXF1aWRpdHkgbWluaW5nLikBLSBgYW1vdW50YDogYW1vdW50IG9mIHRoZSBhc3NldCB0byBiZSBkZXBvc2l0ZWQgaW50byB0aGUgbGlxdWlkaXR5IG1pbmluZy6FAS0gYG1pbl9zaGFyZXNfbGltaXRgOiBUaGUgbWluIGFtb3VudCBvZiBkZWx0YSBzaGFyZSBhc3NldCB0aGUgdXNlciBzaG91bGQgcmVjZWl2ZSBpbiB0aGUgcG9zaXRpb24A2EVtaXRzIGBTaGFyZXNEZXBvc2l0ZWRgIGV2ZW50IGZvciB0aGUgZmlyc3QgZmFybSBlbnRyeR0BRW1pdHMgYFNoYXJlc1JlZGVwb3NpdGVkYCBldmVudCBmb3IgZWFjaCBmYXJtIGVudHJ5IGFmdGVyIHRoZSBmaXJzdCBvbmUoZXhpdF9mYXJtcwgBKGRlcG9zaXRfaWQYASREZXBvc2l0SWQAATh5aWVsZF9mYXJtX2lkc1UDAdBCb3VuZGVkVmVjPFlpZWxkRmFybUlkLCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AA88jEV4aXQgZnJvbSBhbGwgc3BlY2lmaWVkIHlpZWxkIGZhcm1zAF0BVGhpcyBmdW5jdGlvbiB3aWxsIGF0dGVtcHQgdG8gd2l0aGRyYXcgc2hhcmVzIGFuZCBjbGFpbSByZXdhcmRzIChpZiBhdmFpbGFibGUpIGZyb20gYWxsqHNwZWNpZmllZCB5aWVsZCBmYXJtcyBmb3IgYSBnaXZlbiBkZXBvc2l0LgAsUGFyYW1ldGVyczqoLSBgb3JpZ2luYDogYWNjb3VudCBvd25lciBvZiBkZXBvc2l0KG5mdCku3C0gYGRlcG9zaXRfaWRgOiBpZCBvZiB0aGUgZGVwb3NpdCB0byBjbGFpbSByZXdhcmRzIGZvci7gLSBgeWllbGRfZmFybV9pZHNgOiBpZChzKSBvZiB5aWVsZCBmYXJtKHMpIHRvIGV4aXQgZnJvbS4AGEVtaXRzOqwqIGBSZXdhcmRDbGFpbWVkYCBmb3IgZWFjaCBzdWNjZXNzZnVsIGNsYWltyCogYFNoYXJlc1dpdGhkcmF3bmAgZm9yIGVhY2ggc3VjY2Vzc2Z1bCB3aXRoZHJhd2Fs2CogYERlcG9zaXREZXN0cm95ZWRgIGlmIHRoZSBkZXBvc2l0IGlzIGZ1bGx5IHdpdGhkcmF3bgDAYWRkX2xpcXVpZGl0eV9zdGFibGVzd2FwX29tbmlwb29sX2FuZF9qb2luX2Zhcm1zDAE4c3RhYmxlX3Bvb2xfaWQQAShUOjpBc3NldElkAAFQc3RhYmxlX2Fzc2V0X2Ftb3VudHNdAwEFAUJvdW5kZWRWZWM8QXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4sIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AAEwZmFybV9lbnRyaWVzaQMBNQFPcHRpb248Qm91bmRlZFZlYzwoR2xvYmFsRmFybUlkLCBZaWVsZEZhcm1JZCksIFQ6OgpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+PgAQQPhUaGlzIGZ1bmN0aW9uIGFsbG93cyB1c2VyIHRvIGFkZCBsaXF1aWRpdHkgdG8gc3RhYmxlc3dhcCBwb29sLNh0aGVuIGFkZGluZyB0aGUgc3RhYmxlIHNoYXJlcyBhcyBsaXF1aWRpdHkgdG8gb21uaXBvb2zUdGhlbiB1c2UgdGhhdCBvbW5pcG9vbCBzaGFyZXMgdG8gam9pbiBtdWx0aXBsZSBmYXJtcy4AjQFJZiBmYXJtIGVudHJpZXMgYXJlIG5vdCBzcGVjaWZpZWQgKGVtcHR5IHZlY3RvbyksIHRoZW4gdGhlIGxpcXVpZGl0aWVzIGFyZSBzdGlsbCBhZGRlZCB0byB0aGUgcG9vbHMALFBhcmFtZXRlcnM6QQEtIGBvcmlnaW5gOiBvd25lciBvZiB0aGUgb21uaXBvb2wgcG9zaXRpb24gdG8gZGVwb3NpdCBpbnRvIHRoZSBsaXF1aWRpdHkgbWluaW5nLgkBLSBgc3RhYmxlX3Bvb2xfaWRgOiBpZCBvZiB0aGUgc3RhYmxlc3dhcCBwb29sIHRvIGFkZCBsaXF1aWRpdHkgdG8uYQEtIGBzdGFibGVfYXNzZXRfYW1vdW50c2A6IGFtb3VudCBvZiBlYWNoIGFzc2V0IHRvIGJlIGRlcG9zaXRlZCBpbnRvIHRoZSBzdGFibGVzd2FwIHBvb2wuoC0gYGZhcm1fZW50cmllc2A6IGxpc3Qgb2YgZmFybXMgdG8gam9pbi4AsEVtaXRzIGBMaXF1aWRpdHlBZGRlZGAgZXZlbnRzIGZyb20gYm90aCBwb29s2EVtaXRzIGBTaGFyZXNEZXBvc2l0ZWRgIGV2ZW50IGZvciB0aGUgZmlyc3QgZmFybSBlbnRyeR0BRW1pdHMgYFNoYXJlc1JlZGVwb3NpdGVkYCBldmVudCBmb3IgZWFjaCBmYXJtIGVudHJ5IGFmdGVyIHRoZSBmaXJzdCBvbmUABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLj0DDDRzcF9hcml0aG1ldGljKHBlcl90aGluZ3MsUGVycXVpbnRpbGwAAAQAMAEMdTY0AABBAwQYT3B0aW9uBARUAUUDAQgQTm9uZQAAABBTb21lBABFAwAAAQAARQMMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nFHR5cGVzMExveWFsdHlDdXJ2ZQAACAFkaW5pdGlhbF9yZXdhcmRfcGVyY2VudGFnZT0BASRGaXhlZFUxMjgAAShzY2FsZV9jb2VmEAEMdTMyAABJAwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAU0DBFMAAAQAUQMBGFZlYzxUPgAATQMAAAQIEBAAUQMAAAJNAwBVAwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUARAEUwAABABZAwEYVmVjPFQ+AABZAwAAAhAAXQMMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFhAwRTAAAEAGUDARhWZWM8VD4AAGEDDDhoeWRyYWR4X3RyYWl0cyhzdGFibGVzd2FwLEFzc2V0QW1vdW50BBxBc3NldElkARAACAEgYXNzZXRfaWQQARxBc3NldElkAAEYYW1vdW50GAEQdTEyOAAAZQMAAAJhAwBpAwQYT3B0aW9uBARUAUkDAQgQTm9uZQAAABBTb21lBABJAwAAAQAAbQMMKHBhbGxldF9vdGMYcGFsbGV0EENhbGwEBFQAARAscGxhY2Vfb3JkZXIUASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAFIcGFydGlhbGx5X2ZpbGxhYmxlIAEQYm9vbAAASFhDcmVhdGUgYSBuZXcgT1RDIG9yZGVyBCAsUGFyYW1ldGVyczqkLSBgYXNzZXRfaW5gOiBBc3NldCB3aGljaCBpcyBiZWluZyBib3VnaHSgLSBgYXNzZXRfb3V0YDogQXNzZXQgd2hpY2ggaXMgYmVpbmcgc29sZNgtIGBhbW91bnRfaW5gOiBBbW91bnQgdGhhdCB0aGUgb3JkZXIgaXMgc2Vla2luZyB0byBidXnALSBgYW1vdW50X291dGA6IEFtb3VudCB0aGF0IHRoZSBvcmRlciBpcyBzZWxsaW5nSQEtIGBwYXJ0aWFsbHlfZmlsbGFibGVgOiBGbGFnIGluZGljYXRpbmcgd2hldGhlciB1c2VycyBjYW4gZmlsbCB0aGUgb3JkZXIgcGFydGlhbGx5ADBWYWxpZGF0aW9uczp0LSBhc3NldF9pbiBtdXN0IGJlIHJlZ2lzdGVyZWRFAS0gYW1vdW50X2luIG11c3QgYmUgaGlnaGVyIHRoYW4gdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXQgb2YgYXNzZXRfaW4gbXVsdGlwbGllZCBieXggIEV4aXN0ZW50aWFsRGVwb3NpdE11bHRpcGxpZXJNAS0gYW1vdW50X291dCBtdXN0IGJlIGhpZ2hlciB0aGFuIHRoZSBleGlzdGVudGlhbCBkZXBvc2l0IG9mIGFzc2V0X291dCBtdWx0aXBsaWVkIGJ5eCAgRXhpc3RlbnRpYWxEZXBvc2l0TXVsdGlwbGllcgAcRXZlbnRzOoQtIGBQbGFjZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5IcGFydGlhbF9maWxsX29yZGVyCAEgb3JkZXJfaWQQARxPcmRlcklkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABQHRGaWxsIGFuIE9UQyBvcmRlciAocGFydGlhbGx5KQQgLFBhcmFtZXRlcnM6dC0gYG9yZGVyX2lkYDogSUQgb2YgdGhlIG9yZGVy6C0gYGFtb3VudF9pbmA6IEFtb3VudCB3aXRoIHdoaWNoIHRoZSBvcmRlciBpcyBiZWluZyBmaWxsZWQAMFZhbGlkYXRpb25zOogtIG9yZGVyIG11c3QgYmUgcGFydGlhbGx5X2ZpbGxhYmxljQEtIGFmdGVyIHRoZSBwYXJ0aWFsX2ZpbGwsIHRoZSByZW1haW5pbmcgb3JkZXIuYW1vdW50X2luIG11c3QgYmUgaGlnaGVyIHRoYW4gdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXTgICBvZiBhc3NldF9pbiBtdWx0aXBsaWVkIGJ5IEV4aXN0ZW50aWFsRGVwb3NpdE11bHRpcGxpZXKRAS0gYWZ0ZXIgdGhlIHBhcnRpYWxfZmlsbCwgdGhlIHJlbWFpbmluZyBvcmRlci5hbW91bnRfb3V0IG11c3QgYmUgaGlnaGVyIHRoYW4gdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXTkICBvZiBhc3NldF9vdXQgbXVsdGlwbGllZCBieSBFeGlzdGVudGlhbERlcG9zaXRNdWx0aXBsaWVyABxFdmVudHM60GBQYXJ0aWFsbHlGaWxsZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4gRGVwcmVjYXRlZC7IYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4oZmlsbF9vcmRlcgQBIG9yZGVyX2lkEAEcT3JkZXJJZAACIHhGaWxsIGFuIE9UQyBvcmRlciAoY29tcGxldGVseSkEICxQYXJhbWV0ZXJzOnQtIGBvcmRlcl9pZGA6IElEIG9mIHRoZSBvcmRlcgAcRXZlbnRzOqxgRmlsbGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuIERlcHJlY2F0ZWQuyGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuMGNhbmNlbF9vcmRlcgQBIG9yZGVyX2lkEAEcT3JkZXJJZAADLGBDYW5jZWwgYW4gb3BlbiBPVEMgb3JkZXIEICxQYXJhbWV0ZXJzOnQtIGBvcmRlcl9pZGA6IElEIG9mIHRoZSBvcmRlcpgtIGBhc3NldGA6IEFzc2V0IHdoaWNoIGlzIGJlaW5nIGZpbGxlZKAtIGBhbW91bnRgOiBBbW91bnQgd2hpY2ggaXMgYmVpbmcgZmlsbGVkADBWYWxpZGF0aW9uczpcLSBjYWxsZXIgaXMgb3JkZXIgb3duZXIAoEVtaXRzIGBDYW5jZWxsZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMucQMMWHBhbGxldF9jaXJjdWl0X2JyZWFrZXIYcGFsbGV0EENhbGwEBFQAARhYc2V0X3RyYWRlX3ZvbHVtZV9saW1pdAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABSHRyYWRlX3ZvbHVtZV9saW1pdE0DASgodTMyLCB1MzIpAAAkkFNldCB0cmFkZSB2b2x1bWUgbGltaXQgZm9yIGFuIGFzc2V0LgAsUGFyYW1ldGVyczotAS0gYG9yaWdpbmA6IFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbC4gTXVzdCBiZSBgVXBkYXRlTGltaXRzT3JpZ2luYKAtIGBhc3NldF9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIGFuIGFzc2V0KQEtIGB0cmFkZV92b2x1bWVfbGltaXRgOiBOZXcgdHJhZGUgdm9sdW1lIGxpbWl0IHJlcHJlc2VudGVkIGFzIGEgcGVyY2VudGFnZQDYRW1pdHMgYFRyYWRlVm9sdW1lTGltaXRDaGFuZ2VkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAFxzZXRfYWRkX2xpcXVpZGl0eV9saW1pdAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABPGxpcXVpZGl0eV9saW1pdHUDAUhPcHRpb248KHUzMiwgdTMyKT4AASSUU2V0IGFkZCBsaXF1aWRpdHkgbGltaXQgZm9yIGFuIGFzc2V0LgAsUGFyYW1ldGVyczotAS0gYG9yaWdpbmA6IFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbC4gTXVzdCBiZSBgVXBkYXRlTGltaXRzT3JpZ2luYKAtIGBhc3NldF9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIGFuIGFzc2V0NQEtIGBsaXF1aWRpdHlfbGltaXRgOiBPcHRpb25hbCBhZGQgbGlxdWlkaXR5IGxpbWl0IHJlcHJlc2VudGVkIGFzIGEgcGVyY2VudGFnZQDcRW1pdHMgYEFkZExpcXVpZGl0eUxpbWl0Q2hhbmdlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBoc2V0X3JlbW92ZV9saXF1aWRpdHlfbGltaXQIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAATxsaXF1aWRpdHlfbGltaXR1AwFIT3B0aW9uPCh1MzIsIHUzMik+AAIkoFNldCByZW1vdmUgbGlxdWlkaXR5IGxpbWl0IGZvciBhbiBhc3NldC4ALFBhcmFtZXRlcnM6LQEtIGBvcmlnaW5gOiBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwuIE11c3QgYmUgYFVwZGF0ZUxpbWl0c09yaWdpbmCgLSBgYXNzZXRfaWRgOiBUaGUgaWRlbnRpZmllciBvZiBhbiBhc3NldEEBLSBgbGlxdWlkaXR5X2xpbWl0YDogT3B0aW9uYWwgcmVtb3ZlIGxpcXVpZGl0eSBsaW1pdCByZXByZXNlbnRlZCBhcyBhIHBlcmNlbnRhZ2UA6EVtaXRzIGBSZW1vdmVMaXF1aWRpdHlMaW1pdENoYW5nZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AOGxvY2tkb3duX2Fzc2V0CAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEUdW50aWwQAURCbG9ja051bWJlckZvcjxUPgADKHRMb2NrZG93biBhbiBhc3NldCBmb3IgbWludGluZwCkQ2FuIGJlIGNhbGxlZCBvbmx5IGJ5IGFuIGF1dGhvcml0eSBvcmlnaW4ALFBhcmFtZXRlcnM6IQEtIGBvcmlnaW5gOiBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwuIE11c3QgYmUgYEF1dGhvcml0eU9yaWdpbmCgLSBgYXNzZXRfaWRgOiBUaGUgaWRlbnRpZmllciBvZiBhbiBhc3NldOwtIGB1bnRpbGA6IFRoZSBibG9jayBudW1iZXIgdW50aWwgd2hpY2ggdGhlIGFzc2V0IGlzIGxvY2tlZADILy8vIEVtaXRzIGBBc3NldExvY2tkb3duZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5MZm9yY2VfbGlmdF9sb2NrZG93bgQBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAAEKLhSZW1vdmUgYXNzZXQgbG9ja2Rvd24gcmVnYXJkbGVzcyBvZiB0aGUgc3RhdGUuAKRDYW4gYmUgY2FsbGVkIG9ubHkgYnkgYW4gYXV0aG9yaXR5IG9yaWdpbgAsUGFyYW1ldGVyczoAIQEtIGBvcmlnaW5gOiBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwuIE11c3QgYmUgYEF1dGhvcml0eU9yaWdpbmCgLSBgYXNzZXRfaWRgOiBUaGUgaWRlbnRpZmllciBvZiBhbiBhc3NldADMRW1pdHMgYEFzc2V0TG9ja2Rvd25SZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuPHJlbGVhc2VfZGVwb3NpdAgBDHdobwABMFQ6OkFjY291bnRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAAFOHBSZWxlYXNlIGRlcG9zaXQgb2YgYW4gYXNzZXQuADkBSXQgcmVsZWFzZXMgYWxsIHRoZSBwYWxsZXQgcmVzZXJ2ZWQgYmFsYW5jZSBvZiB0aGUgYXNzZXQgZm9yIHRoZSBnaXZlbiBhY2NvdW50ADUBQ2FuIGJlIGNhbGxlZCBieSBhbnkgb3JpZ2luLCBidXQgb25seSBpZiB0aGUgYXNzZXQgaXMgbm90IGluIGFjdGl2ZSBsb2NrZG93bi4A0FRoZSBjYWxsZXIgZG9lcyBub3QgcGF5IGZvciB0aGlzIGNhbGwgaWYgc3VjY2Vzc2Z1bC4ALFBhcmFtZXRlcnM6FQEtIGBvcmlnaW5gOiBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwuIENhbiBiZSBzaWduZWQgb3Igcm9vdC7ALSBgd2hvYDogVGhlIGFjY291bnQgdGhhdCBpcyBzYXZpbmcgdGhlIGRlcG9zaXQuqC0gYGFzc2V0X2lkYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0LgC4RW1pdHMgYERlcG9zaXRSZWxlYXNlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy51AwQYT3B0aW9uBARUAU0DAQgQTm9uZQAAABBTb21lBABNAwAAAQAAeQMMVHBhbGxldF9yb3V0ZV9leGVjdXRvchhwYWxsZXQQQ2FsbAQEVAABFBBzZWxsFAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABJGFtb3VudF9pbhgBKFQ6OkJhbGFuY2UAAThtaW5fYW1vdW50X291dBgBKFQ6OkJhbGFuY2UAARRyb3V0ZX0DAURSb3V0ZTxUOjpBc3NldElkPgAANPxFeGVjdXRlcyBhIHNlbGwgd2l0aCBhIHNlcmllcyBvZiB0cmFkZXMgc3BlY2lmaWVkIGluIHRoZSByb3V0ZS4BAVRoZSBwcmljZSBmb3IgZWFjaCB0cmFkZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBjb3JyZXNwb25kaW5nIEFNTS4AlC0gYG9yaWdpbmA6IFRoZSBleGVjdXRvciBvZiB0aGUgdHJhZGXELSBgYXNzZXRfaW5gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgdG8gc2VsbNQtIGBhc3NldF9vdXRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgdG8gcmVjZWl2ZbwtIGBhbW91bnRfaW5gOiBUaGUgYW1vdW50IG9mIGBhc3NldF9pbmAgdG8gc2VsbAUBLSBgbWluX2Ftb3VudF9vdXRgOiBUaGUgbWluaW11bSBhbW91bnQgb2YgYGFzc2V0X291dGAgdG8gcmVjZWl2ZS7RAi0gYHJvdXRlYDogU2VyaWVzIG9mIFtgVHJhZGU8QXNzZXRJZD5gXSB0byBiZSBleGVjdXRlZC4gQSBbYFRyYWRlPEFzc2V0SWQ+YF0gc3BlY2lmaWVzIHRoZSBhc3NldCBwYWlyIChgYXNzZXRfaW5gLCBgYXNzZXRfb3V0YCkgYW5kIHRoZSBBTU0gKGBwb29sYCkgaW4gd2hpY2ggdGhlIHRyYWRlIGlzIGV4ZWN1dGVkLtwJCSAgIElmIG5vdCBzcGVjaWZpZWQsIHRoYW4gdGhlIG9uLWNoYWluIHJvdXRlIGlzIHVzZWQuGQEJCSAgIElmIG5vIG9uLWNoYWluIGlzIHByZXNlbnQsIHRoZW4gb21uaXBvb2wgcm91dGUgaXMgdXNlZCBhcyBkZWZhdWx0AJhFbWl0cyBgUm91dGVFeGVjdXRlZGAgd2hlbiBzdWNjZXNzZnVsLgxidXkUASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEoYW1vdW50X291dBgBKFQ6OkJhbGFuY2UAATRtYXhfYW1vdW50X2luGAEoVDo6QmFsYW5jZQABFHJvdXRlfQMBRFJvdXRlPFQ6OkFzc2V0SWQ+AAE0+EV4ZWN1dGVzIGEgYnV5IHdpdGggYSBzZXJpZXMgb2YgdHJhZGVzIHNwZWNpZmllZCBpbiB0aGUgcm91dGUuAQFUaGUgcHJpY2UgZm9yIGVhY2ggdHJhZGUgaXMgZGV0ZXJtaW5lZCBieSB0aGUgY29ycmVzcG9uZGluZyBBTU0uAJQtIGBvcmlnaW5gOiBUaGUgZXhlY3V0b3Igb2YgdGhlIHRyYWRlKQEtIGBhc3NldF9pbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCB0byBiZSBzd2FwcGVkIHRvIGJ1eSBgYXNzZXRfb3V0YMQtIGBhc3NldF9vdXRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgdG8gYnV5wC0gYGFtb3VudF9vdXRgOiBUaGUgYW1vdW50IG9mIGBhc3NldF9vdXRgIHRvIGJ1eREBLSBgbWF4X2Ftb3VudF9pbmA6IFRoZSBtYXggYW1vdW50IG9mIGBhc3NldF9pbmAgdG8gc3BlbmQgb24gdGhlIGJ1eS7RAi0gYHJvdXRlYDogU2VyaWVzIG9mIFtgVHJhZGU8QXNzZXRJZD5gXSB0byBiZSBleGVjdXRlZC4gQSBbYFRyYWRlPEFzc2V0SWQ+YF0gc3BlY2lmaWVzIHRoZSBhc3NldCBwYWlyIChgYXNzZXRfaW5gLCBgYXNzZXRfb3V0YCkgYW5kIHRoZSBBTU0gKGBwb29sYCkgaW4gd2hpY2ggdGhlIHRyYWRlIGlzIGV4ZWN1dGVkLtwJCSAgIElmIG5vdCBzcGVjaWZpZWQsIHRoYW4gdGhlIG9uLWNoYWluIHJvdXRlIGlzIHVzZWQuGQEJCSAgIElmIG5vIG9uLWNoYWluIGlzIHByZXNlbnQsIHRoZW4gb21uaXBvb2wgcm91dGUgaXMgdXNlZCBhcyBkZWZhdWx0AJhFbWl0cyBgUm91dGVFeGVjdXRlZGAgd2hlbiBzdWNjZXNzZnVsLiRzZXRfcm91dGUIAShhc3NldF9wYWlyjQMBVEFzc2V0UGFpcjxUOjpBc3NldElkPgABJG5ld19yb3V0ZX0DAURSb3V0ZTxUOjpBc3NldElkPgACVLxTZXRzIHRoZSBvbi1jaGFpbiByb3V0ZSBmb3IgYSBnaXZlbiBhc3NldCBwYWlyLgD4VGhlIG5ldyByb3V0ZSBpcyB2YWxpZGF0ZWQgYnkgYmVpbmcgZXhlY3V0ZWQgaW4gYSBkcnktcnVuIG1vZGUAhQFJZiB0aGVyZSBpcyBubyByb3V0ZSBleHBsaWNpdGx5IHNldCBmb3IgYW4gYXNzZXQgcGFpciwgdGhlbiB3ZSB1c2UgdGhlIG9tbmlwb29sIHJvdXRlIGFzIGRlZmF1bHQuACkBV2hlbiBhIG5ldyByb3V0ZSBpcyBzZXQsIHdlIGNvbXBhcmUgaXQgdG8gdGhlIGV4aXN0aW5nIChvciBkZWZhdWx0KSByb3V0ZS6hAVRoZSBjb21wYXJpc29uIGhhcHBlbnMgYnkgY2FsY3VsYXRpbmcgc2VsbCBhbW91bnRfb3V0cyBmb3IgdGhlIHJvdXRlcywgYnV0IGFsc28gZm9yIHRoZSBpbnZlcnNlZCByb3V0ZXMuAGUBVGhlIHJvdXRlIGlzIHN0b3JlZCBpbiBhbiBvcmRlcmVkIG1hbm5lciwgYmFzZWQgb24gdGhlIG9kZXIgb2YgdGhlIGlkcyBpbiB0aGUgYXNzZXQgcGFpci4A9ElmIHRoZSByb3V0ZSBpcyBzZXQgc3VjY2Vzc2Z1bGx5LCB0aGVuIHRoZSBmZWUgaXMgcGF5ZWQgYmFjay4AqC0gYG9yaWdpbmA6IFRoZSBvcmlnaW4gb2YgdGhlIHJvdXRlIHNldHRlci0BLSBgYXNzZXRfcGFpcmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldC1wYWlyIGZvciB3aGljaCB0aGUgcm91dGUgaXMgc2V04QItIGBuZXdfcm91dGVgOiBTZXJpZXMgb2YgW2BUcmFkZTxBc3NldElkPmBdIHRvIGJlIGV4ZWN1dGVkLiBBIFtgVHJhZGU8QXNzZXRJZD5gXSBzcGVjaWZpZXMgdGhlIGFzc2V0IHBhaXIgKGBhc3NldF9pbmAsIGBhc3NldF9vdXRgKSBhbmQgdGhlIEFNTSAoYHBvb2xgKSBpbiB3aGljaCB0aGUgdHJhZGUgaXMgZXhlY3V0ZWQuAJRFbWl0cyBgUm91dGVVcGRhdGVkYCB3aGVuIHN1Y2Nlc3NmdWwuACkBRmFpbHMgd2l0aCBgUm91dGVVcGRhdGVJc05vdFN1Y2Nlc3NmdWxgIGVycm9yIHdoZW4gZmFpbGVkIHRvIHNldCB0aGUgcm91dGUASGZvcmNlX2luc2VydF9yb3V0ZQgBKGFzc2V0X3BhaXKNAwFUQXNzZXRQYWlyPFQ6OkFzc2V0SWQ+AAEkbmV3X3JvdXRlfQMBRFJvdXRlPFQ6OkFzc2V0SWQ+AAM4kQFGb3JjZSBpbnNlcnRzIHRoZSBvbi1jaGFpbiByb3V0ZSBmb3IgYSBnaXZlbiBhc3NldCBwYWlyLCBzbyB0aGVyZSBpcyBubyBhbnkgdmFsaWRhdGlvbiBmb3IgdGhlIHJvdXRlAKhDYW4gb25seSBiZSBjYWxsZWQgYnkgVDo6Rm9yY2VJbnNlcnRPcmlnaW4AZQFUaGUgcm91dGUgaXMgc3RvcmVkIGluIGFuIG9yZGVyZWQgbWFubmVyLCBiYXNlZCBvbiB0aGUgb2RlciBvZiB0aGUgaWRzIGluIHRoZSBhc3NldCBwYWlyLgD0SWYgdGhlIHJvdXRlIGlzIHNldCBzdWNjZXNzZnVsbHksIHRoZW4gdGhlIGZlZSBpcyBwYXllZCBiYWNrLgCoLSBgb3JpZ2luYDogVGhlIG9yaWdpbiBvZiB0aGUgcm91dGUgc2V0dGVyLQEtIGBhc3NldF9wYWlyYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0LXBhaXIgZm9yIHdoaWNoIHRoZSByb3V0ZSBpcyBzZXThAi0gYG5ld19yb3V0ZWA6IFNlcmllcyBvZiBbYFRyYWRlPEFzc2V0SWQ+YF0gdG8gYmUgZXhlY3V0ZWQuIEEgW2BUcmFkZTxBc3NldElkPmBdIHNwZWNpZmllcyB0aGUgYXNzZXQgcGFpciAoYGFzc2V0X2luYCwgYGFzc2V0X291dGApIGFuZCB0aGUgQU1NIChgcG9vbGApIGluIHdoaWNoIHRoZSB0cmFkZSBpcyBleGVjdXRlZC4AlEVtaXRzIGBSb3V0ZVVwZGF0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4AIHNlbGxfYWxsEAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABOG1pbl9hbW91bnRfb3V0GAEoVDo6QmFsYW5jZQABFHJvdXRlfQMBRFJvdXRlPFQ6OkFzc2V0SWQ+AAQ4/EV4ZWN1dGVzIGEgc2VsbCB3aXRoIGEgc2VyaWVzIG9mIHRyYWRlcyBzcGVjaWZpZWQgaW4gdGhlIHJvdXRlLsRJdCBzZWxscyBhbGwgcmVkdWNpYmxlIHVzZXIgYmFsYW5jZSBvZiBgYXNzZXRfaW5gAQFUaGUgcHJpY2UgZm9yIGVhY2ggdHJhZGUgaXMgZGV0ZXJtaW5lZCBieSB0aGUgY29ycmVzcG9uZGluZyBBTU0uAJQtIGBvcmlnaW5gOiBUaGUgZXhlY3V0b3Igb2YgdGhlIHRyYWRlxC0gYGFzc2V0X2luYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IHRvIHNlbGzULSBgYXNzZXRfb3V0YDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IHRvIHJlY2VpdmUFAS0gYG1pbl9hbW91bnRfb3V0YDogVGhlIG1pbmltdW0gYW1vdW50IG9mIGBhc3NldF9vdXRgIHRvIHJlY2VpdmUu0QItIGByb3V0ZWA6IFNlcmllcyBvZiBbYFRyYWRlPEFzc2V0SWQ+YF0gdG8gYmUgZXhlY3V0ZWQuIEEgW2BUcmFkZTxBc3NldElkPmBdIHNwZWNpZmllcyB0aGUgYXNzZXQgcGFpciAoYGFzc2V0X2luYCwgYGFzc2V0X291dGApIGFuZCB0aGUgQU1NIChgcG9vbGApIGluIHdoaWNoIHRoZSB0cmFkZSBpcyBleGVjdXRlZC7cCQkgICBJZiBub3Qgc3BlY2lmaWVkLCB0aGFuIHRoZSBvbi1jaGFpbiByb3V0ZSBpcyB1c2VkLhkBCQkgICBJZiBubyBvbi1jaGFpbiBpcyBwcmVzZW50LCB0aGVuIG9tbmlwb29sIHJvdXRlIGlzIHVzZWQgYXMgZGVmYXVsdACYRW1pdHMgYFJvdXRlRXhlY3V0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4ABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLn0DDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBgQMEUwAABACJAwEYVmVjPFQ+AACBAww4aHlkcmFkeF90cmFpdHMYcm91dGVyFFRyYWRlBBxBc3NldElkARAADAEQcG9vbIUDAURQb29sVHlwZTxBc3NldElkPgABIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAAIUDDDhoeWRyYWR4X3RyYWl0cxhyb3V0ZXIgUG9vbFR5cGUEHEFzc2V0SWQBEAEYDFhZSwAAAAxMQlAAAQAoU3RhYmxlc3dhcAQAEAEcQXNzZXRJZAACACBPbW5pcG9vbAADABBBYXZlAAQADEhTTQAFAACJAwAAAoEDAI0DDDhoeWRyYWR4X3RyYWl0cxhyb3V0ZXIkQXNzZXRQYWlyBBxBc3NldElkARAACAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAAAkQMMTHBhbGxldF9keW5hbWljX2ZlZXMYcGFsbGV0EENhbGwEBFQAAQg0c2V0X2Fzc2V0X2ZlZQgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABGGNvbmZpZ5UDAVhBc3NldEZlZUNvbmZpZzxUOjpGZWU+AAAgiFNldCBmZWUgY29uZmlndXJhdGlvbiBmb3IgYW4gYXNzZXQAcQFUaGlzIGZ1bmN0aW9uIGFsbG93cyBzZXR0aW5nIGVpdGhlciBmaXhlZCBvciBkeW5hbWljIGZlZSBjb25maWd1cmF0aW9uIGZvciBhIHNwZWNpZmljIGFzc2V0LgAsIyBBcmd1bWVudHOEKiBgb3JpZ2luYCAtIFJvb3Qgb3JpZ2luIHJlcXVpcmVkoCogYGFzc2V0X2lkYCAtIFRoZSBhc3NldCBJRCB0byBjb25maWd1cmXEKiBgY29uZmlnYCAtIEZlZSBjb25maWd1cmF0aW9uIChGaXhlZCBvciBEeW5hbWljKUByZW1vdmVfYXNzZXRfZmVlBAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEgDQFSZW1vdmUgZmVlIGNvbmZpZ3VyYXRpb24gZm9yIGFuIGFzc2V0ICh3aWxsIHVzZSBkZWZhdWx0IHBhcmFtZXRlcnMpAC0BVGhpcyBmdW5jdGlvbiByZW1vdmVzIGFueSBjdXN0b20gZmVlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgYXNzZXQufQFBZnRlciByZW1vdmFsLCB0aGUgYXNzZXQgd2lsbCB1c2UgdGhlIGRlZmF1bHQgZHluYW1pYyBmZWUgcGFyYW1ldGVycyBjb25maWd1cmVkIGluIHRoZSBydW50aW1lLgAsIyBBcmd1bWVudHOEKiBgb3JpZ2luYCAtIFJvb3Qgb3JpZ2luIHJlcXVpcmVk3CogYGFzc2V0X2lkYCAtIFRoZSBhc3NldCBJRCB0byByZW1vdmUgY29uZmlndXJhdGlvbiBmb3IEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMulQMMTHBhbGxldF9keW5hbWljX2ZlZXMUdHlwZXM4QXNzZXRGZWVDb25maWcEDEZlZQEhAwEIFEZpeGVkCAEkYXNzZXRfZmVlIQMBDEZlZQABMHByb3RvY29sX2ZlZSEDAQxGZWUAAAAcRHluYW1pYwgBQGFzc2V0X2ZlZV9wYXJhbXOZAwE4RmVlUGFyYW1zPEZlZT4AAUxwcm90b2NvbF9mZWVfcGFyYW1zmQMBOEZlZVBhcmFtczxGZWU+AAEAAJkDDExwYWxsZXRfZHluYW1pY19mZWVzFHR5cGVzJEZlZVBhcmFtcwQMRmVlASEDABABHG1pbl9mZWUhAwEMRmVlAAEcbWF4X2ZlZSEDAQxGZWUAARRkZWNheT0BASRGaXhlZFUxMjgAATRhbXBsaWZpY2F0aW9uPQEBJEZpeGVkVTEyOAAAnQMMOHBhbGxldF9zdGFraW5nGHBhbGxldBBDYWxsBARUAAEUSGluaXRpYWxpemVfc3Rha2luZwAAHEUBU3Rha2luZyBwYWxsZXQgaW5pdGlhbGl6YXRpb24uIFRoaXMgY2FsbCB3aWxsIHJlc2VydmVkIGBwb3RgJ3MgYmFsYW5jZSB0byBwcmV2ZW50BQFhY2NvdW50IGR1c3RpbmcgYW5kIHN0YXJ0IGNvbGxlY3RpbmcgZmVlcyBmcm9tIHRyYWRlcyBhcyByZXdhcmRzLgBpAWBwb3Rg4oCZcyBhY2NvdW50IGhhcyB0byBoYXZlIGEgYmFsYW5jZSB3aGljaCB3aWxsIGJlIHJlc2VydmVkIHRvIHByZXZlbnQgYWNjb3VudCBkdXN0aW5nLgDERW1pdHMgYFN0YWtpbmdJbml0aWFsaXplZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAUc3Rha2UEARhhbW91bnQYARxCYWxhbmNlAAE4rFN0YWtlIGBhbW91bnRgIGludG8gYSBuZXcgc3Rha2luZyBwb3NpdGlvbi4AWQFgc3Rha2VgIGxvY2tzIHNwZWNpZmllZCBgYW1vdW50YCBpbnRvIHN0YWtpbmcgYW5kIGNyZWF0ZXMgbmV3IE5GVCByZXByZXNlbnRpbmcgc3Rha2luZyRwb3NpdGlvbi45AVVzZXJzIGNhbiBzdGFrZSBgTmF0aXZlQXNzZXRJZGAgYmFsYW5jZSB3aGljaCBpcyBub3QgdmVzdGVkIG9yIGFscmVhZHkgc3Rha2VkLgAxAVN0YWtpbmcgcGFsbGV0IG11c3QgYmUgaW5pdGlhbGl6ZWQgb3RoZXJ3aXNlIGV4dHJpbnNpYyB3aWxsIGZhaWwgd2l0aCBlcnJvci4ALFBhcmFtZXRlcnM6UQEtIGBhbW91bnRgOiBBbW91bnQgb2YgbmF0aXZlIGFzc2V0IHRvIGJlIHN0YWtlZC4gYGFtb3VudGAgY2FuJ3QgYmUgdmVzdGVkIG9yIGFscmVhZHkYc3Rha2VkALhFbWl0cyBgUG9zaXRpb25DcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADhpbmNyZWFzZV9zdGFrZQgBLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAARhhbW91bnQYARxCYWxhbmNlAAJAXQFFeHRyaW5zaWMgdG8gaW5jcmVhc2Ugc3Rha2VkIGFtb3VudCBvZiBleGlzdGluZyBzdGFraW5nIHBvc2l0aW9uIGJ5IHNwZWNpZmllZCBgYW1vdW50YC4AVQFgaW5jcmVhc2Vfc3Rha2VgIGluY3JlYXNlcyBzdGFrZWQgYW1vdW50IG9mIHBvc2l0aW9uIHNwZWNpZmllZCBieSBgcG9zdGlvbl9pZGAgYnkgdGhlfGBhbW91bnRgIHNwZWNpZmllZCBieSB0aGUgdXNlci41AVN0YWtpbmcgcG9zaXRpb24gbXVzdCBleGlzdCBhbmQgYG9yaWdpbmAgaGFzIHRvIGJlIHRoZSBvd25lciBvZiB0aGUgcG9zaXRpb24u+FVzZXJzIGNhbiBzdGFrZSB0b2tlbnMgd2hpY2ggYXJlIG5vdCB2ZXN0ZWQgb3IgYWxyZWFkeSBzdGFrZWQuNQFQb3NpdGlvbidzIHBhcmFtcyBlLmcgcG9pbnRzIGFyZSB1cGRhdGVkIHRvIG9mZnNldCBzdGFrZSBpbmNyZWFzZSBhbmQgcmV3YXJkc/RhY2N1bXVsYXRlZCB1bnRpbCB0aGlzIHBvaW50IGFyZSBwYWlkIGFuZCBsb2NrZWQgdG8gdGhlIHVzZXIuACxQYXJhbWV0ZXJzOjkBLSBgcG9zaXRpb25faWRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgcG9zaXRpb24gd2hpY2ggc3Rha2Ugd2lsbCBiZSBpbmNyZWFzZWQucQEtIGBhbW91bnRgOiBBbW91bnQgb2YgbmF0aXZlIGFzc2V0IHRvIGJlIGFkZGVkIHRvIHN0YWtlZCBhbW91bnQuIGBhbW91bnRgIGNhbid0IGJlIHZlc3RlZCBvcjhhbHJlYWR5IHN0YWtlZACkRW1pdHMgYFN0YWtlQWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AFGNsYWltBAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAADOOBDbGFpbSByZXdhcmRzIGFjY3VtdWxhdGVkIGZvciBzcGVjaWZpYyBzdGFraW5nIHBvc2l0aW9uLgBRAUZ1bmN0aW9uIGNhbGN1bGF0ZXMgYW1vdW50IG9mIHJld2FyZHMgdG8gcGF5IGZvciBzcGVjaWZpZWQgc3Rha2luZyBwb3NpdGlvbiBiYXNlZCBvbl0BdGhlIGFtb3VudCBvZiBwb2ludHMgcG9zaXRpb24gYWNjdW11bGF0ZWQuIEZ1bmN0aW9uIGFsc28gdW5sb2NrcyBhbGwgdGhlIHJld2FyZHMgbG9ja2Vk4GZyb20gYGluY3JlYXNlX3N0YWtlYCBiYXNlZCBvbiB0aGUgYW1vdW50IG9mIHRoZSBwb2ludHMuAGkBVGhpcyBhY3Rpb24gaXMgcGVuYWxpemVkIGJ5IHJlbW92aW5nIGFsbCB0aGUgcG9pbnRzIGFuZCByZXR1cm5pbmcgYWxsb2NhdGVkIHVucGFpZCByZXdhcmRzTGZvciByZWRpc3RyaWJ1dGlvbi4ALFBhcmFtZXRlcnM6FQEtIGBwb3NpdGlvbl9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBwb3NpdGlvbiB0byBjbGFpbSByZXdhcmRzIGZvci4AtEVtaXRzIGBSZXdhcmRzQ2xhaW1lZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAcdW5zdGFrZQQBLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQABDBJAUZ1bmN0aW9uIHBheXMgcmV3YXJkcywgdW5sb2NrcyBhbGwgdGhlIHN0YWtlZCBhc3NldHMgYW5kIGRlc3Ryb3lzIHN0YWtpbmcgcG9zaXRpb25sc3BlY2lmaWVkIGJ5IGBwb3NpdGlvbl9pZGAuAFkBRnVuY3Rpb24gY2FsY3VsYXRlcyBhbmQgcGF5cyBsYXRlc3QgcmV3YXJkcywgdW5sb2NrcyBhbGwgdGhlIGxvY2tlZCByZXdhcmRzIGFuZCBzdGFrZWQhAXRva2VucyBmb3Igc3Rha2luZyBwb3NpdGlvbiBhbmQgYnVybnMgTkZUIHJlcHJlc2VudGluZyBzdGFraW5nIHBvc2l0aW9uLiEBVW5wYWlkIGFsbG9jYXRlZCByZXdhcmRzIGFyZSByZXR1cm5lZCB0byB0aGUgU3Rha2luZyBmb3IgcmVkaXN0cmlidXRpb24uACxQYXJhbWV0ZXJzOgEBLSBgcG9zaXRpb25faWRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgcG9zaXRpb24gdG8gYmUgZGVzdHJveWVkLgD0RW1pdHMgYFJld2FyZHNDbGFpbWVkYCBhbmQgYFVuc3Rha2VkYCBldmVudHMgd2hlbiBzdWNjZXNzZnVsLgAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuoQMMRHBhbGxldF9zdGFibGVzd2FwGHBhbGxldBBDYWxsBARUAAE8LGNyZWF0ZV9wb29sEAEsc2hhcmVfYXNzZXQQAShUOjpBc3NldElkAAEYYXNzZXRzpQMB0EJvdW5kZWRWZWM8VDo6QXNzZXRJZCwgQ29uc3RVMzI8TUFYX0FTU0VUU19JTl9QT09MPj4AATRhbXBsaWZpY2F0aW9uyAEMdTE2AAEMZmVlIQMBHFBlcm1pbGwAADi8Q3JlYXRlIGEgc3RhYmxlIHBvb2wgd2l0aCBnaXZlbiBsaXN0IG9mIGFzc2V0cy4A+EFsbCBhc3NldHMgbXVzdCBiZSBjb3JyZWN0bHkgcmVnaXN0ZXJlZCBpbiBgVDo6QXNzZXRSZWdpc3RyeWAubQFOb3RlIHRoYXQgdGhpcyBkb2VzIG5vdCBzZWVkIHRoZSBwb29sIHdpdGggbGlxdWlkaXR5LiBVc2UgYGFkZF9hc3NldHNfbGlxdWlkaXR5YCB0byBwcm92aWRlSGluaXRpYWwgbGlxdWlkaXR5LgAsUGFyYW1ldGVyczqYLSBgb3JpZ2luYDogTXVzdCBiZSBUOjpBdXRob3JpdHlPcmlnaW7ULSBgc2hhcmVfYXNzZXRgOiBQcmVyZWdpc3RlcmVkIHNoYXJlIGFzc2V0IGlkZW50aWZpZXJ0LSBgYXNzZXRzYDogTGlzdCBvZiBBc3NldCBpZHOULSBgYW1wbGlmaWNhdGlvbmA6IFBvb2wgYW1wbGlmaWNhdGlvbvAtIGBmZWVgOiBmZWUgdG8gYmUgYXBwbGllZCBvbiB0cmFkZSBhbmQgbGlxdWlkaXR5IG9wZXJhdGlvbnMAoEVtaXRzIGBQb29sQ3JlYXRlZGAgZXZlbnQgaWYgc3VjY2Vzc2Z1bC48dXBkYXRlX3Bvb2xfZmVlCAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAAQxmZWUhAwEcUGVybWlsbAABKEhVcGRhdGUgcG9vbCdzIGZlZS4AzGlmIHBvb2wgZG9lcyBub3QgZXhpc3QsIGBQb29sTm90Rm91bmRgIGlzIHJldHVybmVkLgAsUGFyYW1ldGVyczqYLSBgb3JpZ2luYDogTXVzdCBiZSBUOjpBdXRob3JpdHlPcmlnaW5sLSBgcG9vbF9pZGA6IHBvb2wgdG8gdXBkYXRlVC0gYGZlZWA6IG5ldyBwb29sIGZlZQCcRW1pdHMgYEZlZVVwZGF0ZWRgIGV2ZW50IGlmIHN1Y2Nlc3NmdWwuUHVwZGF0ZV9hbXBsaWZpY2F0aW9uEAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAAUxmaW5hbF9hbXBsaWZpY2F0aW9uyAEMdTE2AAEsc3RhcnRfYmxvY2sQAURCbG9ja051bWJlckZvcjxUPgABJGVuZF9ibG9jaxABREJsb2NrTnVtYmVyRm9yPFQ+AAIocFVwZGF0ZSBwb29sJ3MgYW1wbGlmaWNhdGlvbi4ALFBhcmFtZXRlcnM6mC0gYG9yaWdpbmA6IE11c3QgYmUgVDo6QXV0aG9yaXR5T3JpZ2lubC0gYHBvb2xfaWRgOiBwb29sIHRvIHVwZGF0ZdwtIGBmaW5hbF9hbXBsaWZpY2F0aW9uYDogbmV3IGRlc2lyZWQgcG9vbCBhbXBsaWZpY2F0aW9udQEtIGBzdGFydF9ibG9ja2A6IGJsb2NrIG51bWJlciB3aGVuIHRoZSBhbXBsaWZpY2F0aW9uIHN0YXJ0cyB0byBtb3ZlIHRvd2FyZHMgZmluYWxfYW1wbGljYXRpb245AS0gYGVuZF9ibG9ja2A6IGJsb2NrIG51bWJlciB3aGVuIHRoZSBhbXBsaWZpY2F0aW9uIHJlYWNoZXMgZmluYWxfYW1wbGlmaWNhdGlvbgDERW1pdHMgYEFtcGxpZmljYXRpb25VcGRhdGVkYCBldmVudCBpZiBzdWNjZXNzZnVsLjRhZGRfbGlxdWlkaXR5CAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAARhhc3NldHNdAwEFAUJvdW5kZWRWZWM8QXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4sIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AANQfEFkZCBsaXF1aWRpdHkgdG8gc2VsZWN0ZWQgcG9vbC4AjFVzZSBgYWRkX2Fzc2V0c19saXF1aWRpdHlgIGluc3RlYWQuuFRoaXMgZXh0cmluc2ljcyB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIGZ1dHVyZS4ANQFGaXJzdCBjYWxsIG9mIGBhZGRfbGlxdWlkaXR5YCBtdXN0IHByb3ZpZGUgImluaXRpYWwgbGlxdWlkaXR5IiBvZiBhbGwgYXNzZXRzLgCFAUlmIHRoZXJlIGlzIGxpcXVpZGl0eSBhbHJlYWR5IGluIHRoZSBwb29sLCBMUCBjYW4gcHJvdmlkZSBsaXF1aWRpdHkgb2YgYW55IG51bWJlciBvZiBwb29sIGFzc2V0cy4AtExQIG11c3QgaGF2ZSBzdWZmaWNpZW50IGFtb3VudCBvZiBlYWNoIGFzc2V0LgC8T3JpZ2luIGlzIGdpdmVuIGNvcnJlc3BvbmRpbmcgYW1vdW50IG9mIHNoYXJlcy4ALFBhcmFtZXRlcnM6eC0gYG9yaWdpbmA6IGxpcXVpZGl0eSBwcm92aWRlclAtIGBwb29sX2lkYDogUG9vbCBJZMgtIGBhc3NldHNgOiBhc3NldCBpZCBhbmQgbGlxdWlkaXR5IGFtb3VudCBwcm92aWRlZAC0RW1pdHMgYExpcXVpZGl0eUFkZGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuUGFkZF9saXF1aWRpdHlfc2hhcmVzEAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAARhzaGFyZXMYARxCYWxhbmNlAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAFAbWF4X2Fzc2V0X2Ftb3VudBgBHEJhbGFuY2UABDwdAUFkZCBsaXF1aWRpdHkgdG8gc2VsZWN0ZWQgcG9vbCBnaXZlbiBleGFjdCBhbW91bnQgb2Ygc2hhcmVzIHRvIHJlY2VpdmUuADkBU2ltaWxhciB0byBgYWRkX2xpcXVpZGl0eWAgYnV0IExQIHNwZWNpZmllcyBleGFjdCBhbW91bnQgb2Ygc2hhcmVzIHRvIHJlY2VpdmUuAN0BVGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVzZWQgbWFpbmx5IGJ5IG9uLWNoYWluIHJvdXRpbmcgd2hlbiBhIHN3YXAgYmV0d2VlbiBPbW5pcG9vbCBhc3NldCBhbmQgc3RhYmxlIGFzc2V0IGlzIHBlcmZvcm1lZC4ALFBhcmFtZXRlcnM6eC0gYG9yaWdpbmA6IGxpcXVpZGl0eSBwcm92aWRlclAtIGBwb29sX2lkYDogUG9vbCBJZJwtIGBzaGFyZXNgOiBhbW91bnQgb2Ygc2hhcmVzIHRvIHJlY2VpdmXoLSBgYXNzZXRfaWRgOiBhc3NldCBpZCBvZiBhbiBhc3NldCB0byBwcm92aWRlIGFzIGxpcXVpZGl0eegtIGBtYXhfYXNzZXRfYW1vdW50YDogc2xpcHBhZ2UgbGltaXQuIE1heCBhbW91bnQgb2YgYXNzZXQuALRFbWl0cyBgTGlxdWlkaXR5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC7gRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5ocmVtb3ZlX2xpcXVpZGl0eV9vbmVfYXNzZXQQARxwb29sX2lkEAEoVDo6QXNzZXRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABMHNoYXJlX2Ftb3VudBgBHEJhbGFuY2UAAThtaW5fYW1vdW50X291dBgBHEJhbGFuY2UABUSQUmVtb3ZlIGxpcXVpZGl0eSBmcm9tIHNlbGVjdGVkIHBvb2wuAMhXaXRoZHJhd3MgbGlxdWlkaXR5IG9mIHNlbGVjdGVkIGFzc2V0IGZyb20gYSBwb29sLgAxAVNoYXJlIGFtb3VudCBpcyBidXJuZWQgYW5kIExQIHJlY2VpdmVzIGNvcnJlc3BvbmRpbmcgYW1vdW50IG9mIGNob3NlbiBhc3NldC4AsFdpdGhkcmF3IGZlZSBpcyBhcHBsaWVkIHRvIHRoZSBhc3NldCBhbW91bnQuACxQYXJhbWV0ZXJzOngtIGBvcmlnaW5gOiBsaXF1aWRpdHkgcHJvdmlkZXJQLSBgcG9vbF9pZGA6IFBvb2wgSWSQLSBgYXNzZXRfaWRgOiBpZCBvZiBhc3NldCB0byByZWNlaXZluC0gJ3NoYXJlX2Ftb3VudCc6IGFtb3VudCBvZiBzaGFyZXMgdG8gd2l0aGRyYXe0LSAnbWluX2Ftb3VudF9vdXQnOiBtaW5pbXVtIGFtb3VudCB0byByZWNlaXZlALxFbWl0cyBgTGlxdWlkaXR5UmVtb3ZlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLlR3aXRoZHJhd19hc3NldF9hbW91bnQQARxwb29sX2lkEAEoVDo6QXNzZXRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAAUBtYXhfc2hhcmVfYW1vdW50GAEcQmFsYW5jZQAGNE0BUmVtb3ZlIGxpcXVpZGl0eSBmcm9tIHNlbGVjdGVkIHBvb2wgYnkgc3BlY2lmeWluZyBleGFjdCBhbW91bnQgb2YgYXNzZXQgdG8gcmVjZWl2ZS4AyQFTaW1pbGFyIHRvIGByZW1vdmVfbGlxdWlkaXR5X29uZV9hc3NldGAgYnV0IExQIHNwZWNpZmllcyBleGFjdCBhbW91bnQgb2YgYXNzZXQgdG8gcmVjZWl2ZSBpbnN0ZWFkIG9mIHNoYXJlIGFtb3VudC4ALFBhcmFtZXRlcnM6eC0gYG9yaWdpbmA6IGxpcXVpZGl0eSBwcm92aWRlclAtIGBwb29sX2lkYDogUG9vbCBJZJAtIGBhc3NldF9pZGA6IGlkIG9mIGFzc2V0IHRvIHJlY2VpdmWYLSAnYW1vdW50JzogYW1vdW50IG9mIGFzc2V0IHRvIHJlY2VpdmUNAS0gJ21heF9zaGFyZV9hbW91bnQnOiBTbGlwcGFnZSBsaW1pdC4gTWF4IGFtb3VudCBvZiBzaGFyZXMgdG8gYnVybi4AvEVtaXRzIGBMaXF1aWRpdHlSZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuEHNlbGwUARxwb29sX2lkEAEoVDo6QXNzZXRJZAABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAE4bWluX2J1eV9hbW91bnQYARxCYWxhbmNlAAc0tEV4ZWN1dGUgYSBzd2FwIG9mIGBhc3NldF9pbmAgZm9yIGBhc3NldF9vdXRgLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogb3JpZ2luIG9mIHRoZSBjYWxsZXJkLSBgcG9vbF9pZGA6IElkIG9mIGEgcG9vbKgtIGBhc3NldF9pbmA6IElEIG9mIGFzc2V0IHNvbGQgdG8gdGhlIHBvb2y8LSBgYXNzZXRfb3V0YDogSUQgb2YgYXNzZXQgYm91Z2h0IGZyb20gdGhlIHBvb2zULSBgYW1vdW50X2luYDogQW1vdW50IG9mIGFzc2V0IHRvIGJlIHNvbGQgdG8gdGhlIHBvb2zYLSBgbWluX2J1eV9hbW91bnRgOiBNaW5pbXVtIGFtb3VudCByZXF1aXJlZCB0byByZWNlaXZlANxFbWl0cyBgU2VsbEV4ZWN1dGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuIERlcHJlY2F0ZWQu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAAxidXkUARxwb29sX2lkEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABPG1heF9zZWxsX2Ftb3VudBgBHEJhbGFuY2UACDS0RXhlY3V0ZSBhIHN3YXAgb2YgYGFzc2V0X291dGAgZm9yIGBhc3NldF9pbmAuACxQYXJhbWV0ZXJzOiwtIGBvcmlnaW5gOmQtIGBwb29sX2lkYDogSWQgb2YgYSBwb29svC0gYGFzc2V0X291dGA6IElEIG9mIGFzc2V0IGJvdWdodCBmcm9tIHRoZSBwb29sqC0gYGFzc2V0X2luYDogSUQgb2YgYXNzZXQgc29sZCB0byB0aGUgcG9vbOAtIGBhbW91bnRfb3V0YDogQW1vdW50IG9mIGFzc2V0IHRvIHJlY2VpdmUgZnJvbSB0aGUgcG9vbNgtIGBtYXhfc2VsbF9hbW91bnRgOiBNYXhpbXVtIGFtb3VudCBhbGxvd2VkIHRvIGJlIHNvbGQA2EVtaXRzIGBCdXlFeGVjdXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBgc2V0X2Fzc2V0X3RyYWRhYmxlX3N0YXRlDAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARRzdGF0ZakDASxUcmFkYWJpbGl0eQAJQOBVcGRhdGUgdGhlIHRyYWRhYmxlIHN0YXRlIG9mIGEgc3BlY2lmaWMgYXNzZXQgaW4gYSBwb29sLgCdA1RoaXMgZnVuY3Rpb24gYWxsb3dzIHVwZGF0aW5nIHRoZSB0cmFkYWJpbGl0eSBzdGF0ZSBvZiBhbiBhc3NldCB3aXRoaW4gYSBwb29sLiBUaGUgdHJhZGFiaWxpdHkgc3RhdGUgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBhc3NldCBjYW4gYmUgdXNlZCBmb3Igc3BlY2lmaWMgb3BlcmF0aW9ucyBzdWNoIGFzIGFkZGluZyBsaXF1aWRpdHksIHJlbW92aW5nIGxpcXVpZGl0eSwgYnV5aW5nLCBvciBzZWxsaW5nLgAsUGFyYW1ldGVyczrELSBgb3JpZ2luYDogTXVzdCBiZSBgVDo6VXBkYXRlVHJhZGFiaWxpdHlPcmlnaW5gLtQtIGBwb29sX2lkYDogVGhlIElEIG9mIHRoZSBwb29sIGNvbnRhaW5pbmcgdGhlIGFzc2V0Li0BLSBgYXNzZXRfaWRgOiBUaGUgSUQgb2YgdGhlIGFzc2V0IHdob3NlIHRyYWRhYmlsaXR5IHN0YXRlIGlzIHRvIGJlIHVwZGF0ZWQuyC0gYHN0YXRlYDogVGhlIG5ldyB0cmFkYWJpbGl0eSBzdGF0ZSBvZiB0aGUgYXNzZXQuAMxFbWl0cyBgVHJhZGFibGVTdGF0ZVVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AICMgRXJyb3Jz3C0gYFBvb2xOb3RGb3VuZGA6IElmIHRoZSBzcGVjaWZpZWQgcG9vbCBkb2VzIG5vdCBleGlzdC4NAS0gYEFzc2V0Tm90SW5Qb29sYDogSWYgdGhlIHNwZWNpZmllZCBhc3NldCBpcyBub3QgcGFydCBvZiB0aGUgcG9vbC4AQHJlbW92ZV9saXF1aWRpdHkMARxwb29sX2lkEAEoVDo6QXNzZXRJZAABMHNoYXJlX2Ftb3VudBgBHEJhbGFuY2UAATxtaW5fYW1vdW50c19vdXRdAwEFAUJvdW5kZWRWZWM8QXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4sIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AApswFJlbW92ZSBsaXF1aWRpdHkgZnJvbSBhIHNlbGVjdGVkIHBvb2wgdW5pZm9ybWx5LgAxAVRoaXMgZnVuY3Rpb24gYWxsb3dzIGEgbGlxdWlkaXR5IHByb3ZpZGVyIHRvIHdpdGhkcmF3IGxpcXVpZGl0eSBmcm9tIGEgcG9vbC6VAVRoZSBwcm92aWRlciBzcGVjaWZpZXMgdGhlIGFtb3VudCBvZiBzaGFyZXMgdG8gYnVybiBhbmQgdGhlIG1pbmltdW0gYW1vdW50cyBvZiBlYWNoIGFzc2V0IHRvIHJlY2VpdmUuACxQYXJhbWV0ZXJzOowtIGBvcmlnaW5gOiBUaGUgbGlxdWlkaXR5IHByb3ZpZGVyLvwtIGBwb29sX2lkYDogVGhlIElEIG9mIHRoZSBwb29sIGZyb20gd2hpY2ggdG8gcmVtb3ZlIGxpcXVpZGl0eS68LSBgc2hhcmVfYW1vdW50YDogVGhlIGFtb3VudCBvZiBzaGFyZXMgdG8gYnVybi55AS0gYG1pbl9hbW91bnRzX291dGA6IEEgYm91bmRlZCB2ZWN0b3Igc3BlY2lmeWluZyB0aGUgbWluaW11bSBhbW91bnRzIG9mIGVhY2ggYXNzZXQgdG8gcmVjZWl2ZS4AvEVtaXRzIGBMaXF1aWRpdHlSZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuACAjIEVycm9yc9gtIGBJbnZhbGlkQXNzZXRBbW91bnRgOiBJZiB0aGUgYHNoYXJlX2Ftb3VudGAgaXMgemVyby4RAS0gYEluc3VmZmljaWVudFNoYXJlc2A6IElmIHRoZSBwcm92aWRlciBkb2VzIG5vdCBoYXZlIGVub3VnaCBzaGFyZXMu3C0gYFBvb2xOb3RGb3VuZGA6IElmIHRoZSBzcGVjaWZpZWQgcG9vbCBkb2VzIG5vdCBleGlzdC78LSBgVW5rbm93bkRlY2ltYWxzYDogSWYgdGhlIGFzc2V0IGRlY2ltYWxzIGNhbm5vdCBiZSByZXRyaWV2ZWQuWQEtIGBJbmNvcnJlY3RBc3NldHNgOiBJZiB0aGUgcHJvdmlkZWQgYG1pbl9hbW91bnRzX291dGAgZG9lcyBub3QgbWF0Y2ggdGhlIHBvb2wgYXNzZXRzLvgtIGBOb3RBbGxvd2VkYDogSWYgdGhlIGFzc2V0IGlzIG5vdCBhbGxvd2VkIGZvciB0aGUgb3BlcmF0aW9uLlEBLSBgU2xpcHBhZ2VMaW1pdGA6IElmIHRoZSBhbW91bnQgcmVjZWl2ZWQgaXMgbGVzcyB0aGFuIHRoZSBzcGVjaWZpZWQgbWluaW11bSBhbW91bnQupQEtIGBJbnN1ZmZpY2llbnRMaXF1aWRpdHlSZW1haW5pbmdgOiBJZiB0aGUgcmVtYWluaW5nIGxpcXVpZGl0eSBpbiB0aGUgcG9vbCBpcyBiZWxvdyB0aGUgbWluaW11bSByZXF1aXJlZC4AMCMgSW52YXJpYW50c0UBLSBFbnN1cmVzIHRoYXQgdGhlIHBvb2wncyByZXNlcnZlcyBhcmUgdXBkYXRlZCBjb3JyZWN0bHkgYWZ0ZXIgbGlxdWlkaXR5IHJlbW92YWwuyC0gRW5zdXJlcyB0aGF0IHRoZSBwb29sJ3MgaW52YXJpYW50IGlzIG1haW50YWluZWQuVGNyZWF0ZV9wb29sX3dpdGhfcGVncxgBLHNoYXJlX2Fzc2V0EAEoVDo6QXNzZXRJZAABGGFzc2V0c6UDAdBCb3VuZGVkVmVjPFQ6OkFzc2V0SWQsIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AAE0YW1wbGlmaWNhdGlvbsgBDHUxNgABDGZlZSEDARxQZXJtaWxsAAEocGVnX3NvdXJjZa0DAXRCb3VuZGVkUGVnU291cmNlczxUOjpBc3NldElkPgABOG1heF9wZWdfdXBkYXRlIQMBHFBlcm1pbGwAC3ToQ3JlYXRlIGEgc3RhYmxlIHBvb2wgd2l0aCBhIGdpdmVuIGxpc3Qgb2YgYXNzZXRzIGFuZCBwZWdzLgBtAlRoaXMgZnVuY3Rpb24gYWxsb3dzIHRoZSBjcmVhdGlvbiBvZiBhIG5ldyBzdGFibGUgcG9vbCB3aXRoIHNwZWNpZmllZCBhc3NldHMsIGFtcGxpZmljYXRpb24sIGZlZSwgYW5kIHBlZyBzb3VyY2VzLiBUaGUgcG9vbCBpcyBpZGVudGlmaWVkIGJ5IGEgc2hhcmUgYXNzZXQuAI0CUGVnIHRhcmdldCBwcmljZSBpcyBkZXRlcm1pbmVkIGJ5IHJldHJpZXZpbmcgdGhlIHRhcmdldCBwZWcgZnJvbSB0aGUgb3JhY2xlIC0gaXQgaXMgdGhlIHByaWNlIG9mIHRoZSBhc3NldCBmcm9tIHRoZSBwZWcgc291cmNlZGVub21pbmF0ZWQgaW4gdGhlIG90aGVyIHBvb2wgYXNzZXRzLgAsUGFyYW1ldGVyczqkLSBgb3JpZ2luYDogTXVzdCBiZSBgVDo6QXV0aG9yaXR5T3JpZ2luYC7YLSBgc2hhcmVfYXNzZXRgOiBQcmVyZWdpc3RlcmVkIHNoYXJlIGFzc2V0IGlkZW50aWZpZXIu5C0gYGFzc2V0c2A6IExpc3Qgb2YgYXNzZXQgSURzIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBwb29sLsAtIGBhbXBsaWZpY2F0aW9uYDogUG9vbCBhbXBsaWZpY2F0aW9uIHBhcmFtZXRlci70LSBgZmVlYDogRmVlIHRvIGJlIGFwcGxpZWQgb24gdHJhZGUgYW5kIGxpcXVpZGl0eSBvcGVyYXRpb25zLj0BLSBgcGVnX3NvdXJjZWA6IEJvdW5kZWQgdmVjdG9yIHNwZWNpZnlpbmcgdGhlIHNvdXJjZSBvZiB0aGUgcGVnIGZvciBlYWNoIGFzc2V0LuQtIGBtYXhfcGVnX3VwZGF0ZWA6IE1heGltdW0gYWxsb3dlZCBwZWcgdXBkYXRlIHBlciBibG9jay4AoEVtaXRzIGBQb29sQ3JlYXRlZGAgZXZlbnQgaWYgc3VjY2Vzc2Z1bC7IRW1pdHMgYEFtcGxpZmljYXRpb25DaGFuZ2luZ2AgZXZlbnQgaWYgc3VjY2Vzc2Z1bC4AICMgRXJyb3JzTQEtIGBJbmNvcnJlY3RBc3NldHNgOiBJZiB0aGUgYXNzZXRzIGFyZSB0aGUgc2FtZSBvciBsZXNzIHRoYW4gMiBhc3NldHMgYXJlIHByb3ZpZGVkLg0BLSBgTWF4QXNzZXRzRXhjZWVkZWRgOiBJZiB0aGUgbWF4aW11bSBudW1iZXIgb2YgYXNzZXRzIGlzIGV4Y2VlZGVkLvwtIGBQb29sRXhpc3RzYDogSWYgYSBwb29sIHdpdGggdGhlIGdpdmVuIGFzc2V0cyBhbHJlYWR5IGV4aXN0cy4hAS0gYFNoYXJlQXNzZXRJblBvb2xBc3NldHNgOiBJZiB0aGUgc2hhcmUgYXNzZXQgaXMgYW1vbmcgdGhlIHBvb2wgYXNzZXRzLlkBLSBgQXNzZXROb3RSZWdpc3RlcmVkYDogSWYgb25lIG9yIG1vcmUgYXNzZXRzIGFyZSBub3QgcmVnaXN0ZXJlZCBpbiB0aGUgQXNzZXRSZWdpc3RyeS4RAS0gYEludmFsaWRBbXBsaWZpY2F0aW9uYDogSWYgdGhlIGFtcGxpZmljYXRpb24gcGFyYW1ldGVyIGlzIGludmFsaWQu8C0gYEluY29ycmVjdEluaXRpYWxQZWdzYDogSWYgdGhlIGluaXRpYWwgcGVncyBhcmUgaW5jb3JyZWN0LhkBLSBgTWlzc2luZ1RhcmdldFBlZ09yYWNsZWA6IElmIHRoZSB0YXJnZXQgcGVnIG9yYWNsZSBlbnRyeSBpcyBtaXNzaW5nLgkBLSBgSW5jb3JyZWN0QXNzZXREZWNpbWFsc2A6IElmIHRoZSBhc3NldHMgaGF2ZSBkaWZmZXJlbnQgZGVjaW1hbHMuAFBhZGRfYXNzZXRzX2xpcXVpZGl0eQwBHHBvb2xfaWQQAShUOjpBc3NldElkAAEYYXNzZXRzXQMBBQFCb3VuZGVkVmVjPEFzc2V0QW1vdW50PFQ6OkFzc2V0SWQ+LCBDb25zdFUzMjxNQVhfQVNTRVRTX0lOX1BPT0w+PgABKG1pbl9zaGFyZXMYARxCYWxhbmNlAAxIfEFkZCBsaXF1aWRpdHkgdG8gc2VsZWN0ZWQgcG9vbC4AUQFGaXJzdCBjYWxsIG9mIGBhZGRfYXNzZXRzX2xpcXVpZGl0eWAgbXVzdCBwcm92aWRlICJpbml0aWFsIGxpcXVpZGl0eSIgb2YgYWxsIGFzc2V0cy4AhQFJZiB0aGVyZSBpcyBsaXF1aWRpdHkgYWxyZWFkeSBpbiB0aGUgcG9vbCwgTFAgY2FuIHByb3ZpZGUgbGlxdWlkaXR5IG9mIGFueSBudW1iZXIgb2YgcG9vbCBhc3NldHMuALRMUCBtdXN0IGhhdmUgc3VmZmljaWVudCBhbW91bnQgb2YgZWFjaCBhc3NldC4AvE9yaWdpbiBpcyBnaXZlbiBjb3JyZXNwb25kaW5nIGFtb3VudCBvZiBzaGFyZXMuACxQYXJhbWV0ZXJzOngtIGBvcmlnaW5gOiBsaXF1aWRpdHkgcHJvdmlkZXJQLSBgcG9vbF9pZGA6IFBvb2wgSWTILSBgYXNzZXRzYDogYXNzZXQgaWQgYW5kIGxpcXVpZGl0eSBhbW91bnQgcHJvdmlkZWTMLSBgbWluX3NoYXJlc2A6IG1pbmltdW0gYW1vdW50IG9mIHNoYXJlcyB0byByZWNlaXZlALRFbWl0cyBgTGlxdWlkaXR5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC7gRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5cdXBkYXRlX2Fzc2V0X3BlZ19zb3VyY2UMARxwb29sX2lkEAEoVDo6QXNzZXRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABKHBlZ19zb3VyY2WxAwFUUGVnU291cmNlPFQ6OkFzc2V0SWQ+AA1M1FVwZGF0ZSB0aGUgcGVnIHNvdXJjZSBmb3IgYSBzcGVjaWZpYyBhc3NldCBpbiBhIHBvb2wuACEBVGhpcyBmdW5jdGlvbiBhbGxvd3MgdXBkYXRpbmcgdGhlIHBlZyBzb3VyY2UgZm9yIGFuIGFzc2V0IHdpdGhpbiBhIHBvb2wuRQFUaGUgcG9vbCBtdXN0IGV4aXN0IGFuZCBoYXZlIHBlZ3MgY29uZmlndXJlZC4gVGhlIGFzc2V0IG11c3QgYmUgcGFydCBvZiB0aGUgcG9vbC4NAVRoZSBjdXJyZW50IHByaWNlIGlzIGFsd2F5cyBwcmVzZXJ2ZWQgd2hlbiB1cGRhdGluZyB0aGUgcGVnIHNvdXJjZS4ALFBhcmFtZXRlcnM6pC0gYG9yaWdpbmA6IE11c3QgYmUgYFQ6OkF1dGhvcml0eU9yaWdpbmAu1C0gYHBvb2xfaWRgOiBUaGUgSUQgb2YgdGhlIHBvb2wgY29udGFpbmluZyB0aGUgYXNzZXQuEQEtIGBhc3NldF9pZGA6IFRoZSBJRCBvZiB0aGUgYXNzZXQgd2hvc2UgcGVnIHNvdXJjZSBpcyB0byBiZSB1cGRhdGVkLsQtIGBwZWdfc291cmNlYDogVGhlIG5ldyBwZWcgc291cmNlIGZvciB0aGUgYXNzZXQuAMxFbWl0cyBgUG9vbFBlZ1NvdXJjZVVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AICMgRXJyb3Jz3C0gYFBvb2xOb3RGb3VuZGA6IElmIHRoZSBzcGVjaWZpZWQgcG9vbCBkb2VzIG5vdCBleGlzdC7sLSBgTm9QZWdTb3VyY2VgOiBJZiB0aGUgcG9vbCBkb2VzIG5vdCBoYXZlIHBlZ3MgY29uZmlndXJlZC4NAS0gYEFzc2V0Tm90SW5Qb29sYDogSWYgdGhlIHNwZWNpZmllZCBhc3NldCBpcyBub3QgcGFydCBvZiB0aGUgcG9vbC4AaHVwZGF0ZV9wb29sX21heF9wZWdfdXBkYXRlCAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAAThtYXhfcGVnX3VwZGF0ZSEDARxQZXJtaWxsAA5A0FVwZGF0ZSB0aGUgbWF4aW11bSBwZWcgdXBkYXRlIHBlcmNlbnRhZ2UgZm9yIGEgcG9vbC4AIQFUaGlzIGZ1bmN0aW9uIGFsbG93cyB1cGRhdGluZyB0aGUgbWF4aW11bSBwZXJjZW50YWdlIGJ5IHdoaWNoIHBlZyB2YWx1ZXOoY2FuIGNoYW5nZSBpbiBhIHBvb2wgd2l0aCBwZWdzIGNvbmZpZ3VyZWQuACxQYXJhbWV0ZXJzOqQtIGBvcmlnaW5gOiBNdXN0IGJlIGBUOjpBdXRob3JpdHlPcmlnaW5gLqgtIGBwb29sX2lkYDogVGhlIElEIG9mIHRoZSBwb29sIHRvIHVwZGF0ZS7oLSBgbWF4X3BlZ191cGRhdGVgOiBUaGUgbmV3IG1heGltdW0gcGVnIHVwZGF0ZSBwZXJjZW50YWdlLgDYRW1pdHMgYFBvb2xNYXhQZWdVcGRhdGVVcGRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuACAjIEVycm9yc9wtIGBQb29sTm90Rm91bmRgOiBJZiB0aGUgc3BlY2lmaWVkIHBvb2wgZG9lcyBub3QgZXhpc3Qu7C0gYE5vUGVnU291cmNlYDogSWYgdGhlIHBvb2wgZG9lcyBub3QgaGF2ZSBwZWdzIGNvbmZpZ3VyZWQuAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6lAwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUARAEUwAABABZAwEYVmVjPFQ+AACpAwxEcGFsbGV0X3N0YWJsZXN3YXAUdHlwZXMsVHJhZGFiaWxpdHkAAAQBEGJpdHMIAQh1OAAArQMMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGxAwRTAAAEAL0DARhWZWM8VD4AALEDDERwYWxsZXRfc3RhYmxlc3dhcBR0eXBlcyRQZWdTb3VyY2UEHEFzc2V0SWQBEAEMFFZhbHVlBAApAwEcUGVnVHlwZQAAABhPcmFjbGUEALUDAXwoU291cmNlLCBPcmFjbGVQZXJpb2QsIEFzc2V0SWQpAAEAIE1NT3JhY2xlBABBAQEoRXZtQWRkcmVzcwACAAC1AwAABAz9AbkDEAC5Aww4aHlkcmFkeF90cmFpdHMYb3JhY2xlME9yYWNsZVBlcmlvZAABGCRMYXN0QmxvY2sAAAAUU2hvcnQAAQAoVGVuTWludXRlcwACABBIb3VyAAMADERheQAEABBXZWVrAAUAAL0DAAACsQMAwQMMMHBhbGxldF9ib25kcxhwYWxsZXQQQ2FsbAQEVAABCBRpc3N1ZQwBIGFzc2V0X2lkEAEcQXNzZXRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAASBtYXR1cml0eTABGE1vbWVudAAAVGRJc3N1ZSBuZXcgZnVuZ2libGUgYm9uZHMu1E5ldyBhc3NldCBpZCBpcyByZWdpc3RlcmVkIGFuZCBhc3NpZ25lZCB0byB0aGUgYm9uZHMuWQFUaGUgbnVtYmVyIG9mIGJvbmRzIHRoZSBpc3N1ZXIgcmVjZWl2ZXMgaXMgMToxIHRvIHRoZSBgYW1vdW50YCBvZiB0aGUgdW5kZXJseWluZyBhc3NldFxtaW51cyB0aGUgcHJvdG9jb2wgZmVlLhkBVGhlIGJvbmQgYXNzZXQgaXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBlbXB0eSBzdHJpbmcgZm9yIHRoZSBhc3NldCBuYW1lLAUBYW5kIHdpdGggdGhlIHNhbWUgZXhpc3RlbnRpYWwgZGVwb3NpdCBhcyBvZiB0aGUgdW5kZXJseWluZyBhc3NldC7sQm9uZHMgY2FuIGJlIHJlZGVlbWVkIGZvciB0aGUgdW5kZXJseWluZyBhc3NldCBvbmNlIG1hdHVyZS4tAVByb3RvY29sIGZlZSBpcyBhcHBsaWVkIHRvIHRoZSBhbW91bnQsIGFuZCB0cmFuc2ZlcnJlZCB0byBgVDo6RmVlUmVjZWl2ZXJgLmkBV2hlbiBpc3N1aW5nIG5ldyBib25kcyB3aXRoIHRoZSB1bmRlcmx5aW5nIGFzc2V0IGFuZCBtYXR1cml0eSB0aGF0IG1hdGNoZXMgZXhpc3RpbmcgYm9uZHMsPQFuZXcgYW1vdW50IG9mIHRoZXNlIGV4aXN0aW5nIGJvbmRzIGlzIGlzc3VlZCwgaW5zdGVhZCBvZiByZWdpc3RlcmluZyBuZXcgYm9uZHMuDQFJdCdzIHBvc3NpYmxlIHRvIGlzc3VlIG5ldyBib25kcyBmb3IgYm9uZHMgdGhhdCBhcmUgYWxyZWFkeSBtYXR1cmUuACxQYXJhbWV0ZXJzOvQtIGBvcmlnaW5gOiBpc3N1ZXIgb2YgbmV3IGJvbmRzLCBuZWVkcyB0byBiZSBgVDo6SXNzdWVPcmlnaW5ghC0gYGFzc2V0X2lkYDogdW5kZXJseWluZyBhc3NldCBpZLgtIGBhbW91bnRgOiB0aGUgYW1vdW50IG9mIHRoZSB1bmRlcmx5aW5nIGFzc2V0HQEtIGBtYXR1cml0eWA6IFVuaXggdGltZSBpbiBtaWxsaXNlY29uZHMsIHdoZW4gdGhlIGJvbmRzIHdpbGwgYmUgbWF0dXJlLgA1AUVtaXRzIGBCb25kVG9rZW5DcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwgYW5kIG5ldyBib25kcyB3ZXJlIHJlZ2lzdGVyZWQuqEVtaXRzIGBCb25kc0lzc3VlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAYcmVkZWVtCAEcYm9uZF9pZBABHEFzc2V0SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAEwmFJlZGVlbSBib25kcyBmb3IgdGhlIHVuZGVybHlpbmcgYXNzZXQudQFUaGUgYW1vdW50IG9mIHRoZSB1bmRlcmx5aW5nIGFzc2V0IHRoZSBgb3JpZ2luYCByZWNlaXZlcyBpcyAxOjEgdG8gdGhlIGBhbW91bnRgIG9mIHRoZSBib25kcy7IQW55b25lIHdobyBob2xkcyB0aGUgYm9uZHMgaXMgYWJsZSB0byByZWRlZW0gdGhlbS64Qm9uZHMgY2FuIGJlIGJvdGggcGFydGlhbGx5IG9yIGZ1bGx5IHJlZGVlbWVkLgAsUGFyYW1ldGVyczpYLSBgb3JpZ2luYDogYWNjb3VudCBpZGwtIGBhc3NldF9pZGA6IGJvbmQgYXNzZXQgaWQZAS0gYGFtb3VudGA6IHRoZSBhbW91bnQgb2YgdGhlIGJvbmRzIHRvIHJlZGVlbSBmb3IgdGhlIHVuZGVybHlpbmcgYXNzZXQAsEVtaXRzIGBCb25kc1JlZGVlbWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7FAwxYcGFsbGV0X290Y19zZXR0bGVtZW50cxhwYWxsZXQQQ2FsbAQEVAABBEBzZXR0bGVfb3RjX29yZGVyDAEYb3RjX2lkEAEcT3JkZXJJZAABGGFtb3VudBgBHEJhbGFuY2UAARRyb3V0ZX0DAUxSb3V0ZTxBc3NldElkT2Y8VD4+AABQsENsb3NlIGFuIGV4aXN0aW5nIE9UQyBhcmJpdHJhZ2Ugb3Bwb3J0dW5pdHkuANRFeGVjdXRlcyBhIHRyYWRlIGJldHdlZW4gYW4gT1RDIG9yZGVyIGFuZCBzb21lIHJvdXRlLlUBSWYgdGhlIE9UQyBvcmRlciBpcyBwYXJ0aWFsbHkgZmlsbGFibGUsIHRoZSBleHRyaW5zaWMgZmFpbHMgaWYgdGhlIGV4aXN0aW5nIGFyYml0cmFnZdRvcHBvcnR1bml0eSBpcyBub3QgY2xvc2VkIG9yIHJlZHVjZWQgYWZ0ZXIgdGhlIHRyYWRlLmEBSWYgdGhlIE9UQyBvcmRlciBpcyBub3QgcGFydGlhbGx5IGZpbGxhYmxlLCBmYWlscyBpZiB0aGVyZSBpcyBubyBwcm9maXQgYWZ0ZXIgdGhlIHRyYWRlLgARAWBPcmlnaW5gIGNhbGxpbmcgdGhpcyBleHRyaW5zaWMgaXMgbm90IHBheWluZyBvciByZWNlaXZpbmcgYW55dGhpbmcuACUBVGhlIHByb2ZpdCBtYWRlIGJ5IGNsb3NpbmcgdGhlIGFyYml0cmFnZSBpcyB0cmFuc2ZlcnJlZCB0byBgRmVlUmVjZWl2ZXJgLgAsUGFyYW1ldGVyczo5AS0gYG9yaWdpbmA6IFNpZ25lZCBvciB1bnNpZ25lZCBvcmlnaW4uIFVuc2lnbmVkIG9yaWdpbiBkb2Vzbid0IHBheSB0aGUgVFggZmVlLKwJCQlidXQgY2FuIGJlIHN1Ym1pdHRlZCBvbmx5IGJ5IGEgY29sbGF0b3IuEQEtIGBvdGNfaWRgOiBJRCBvZiB0aGUgT1RDIG9yZGVyIHdpdGggZXhpc3RpbmcgYXJiaXRyYWdlIG9wcG9ydHVuaXR5LrgtIGBhbW91bnRgOiBBbW91bnQgbmVjZXNzYXJ5IHRvIGNsb3NlIHRoZSBhcmIuIQEtIGByb3V0ZWA6IFRoZSByb3V0ZSB3ZSB0cmFkZSBhZ2FpbnN0LiBSZXF1aXJlZCBmb3IgdGhlIGZlZSBjYWxjdWxhdGlvbi4AnEVtaXRzIGBFeGVjdXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuyQMMKHBhbGxldF9sYnAYcGFsbGV0EENhbGwEBFQAARgsY3JlYXRlX3Bvb2wsAShwb29sX293bmVyAAEwVDo6QWNjb3VudElkAAEcYXNzZXRfYRABHEFzc2V0SWQAAThhc3NldF9hX2Ftb3VudBgBHEJhbGFuY2UAARxhc3NldF9iEAEcQXNzZXRJZAABOGFzc2V0X2JfYW1vdW50GAEcQmFsYW5jZQABOGluaXRpYWxfd2VpZ2h0EAEkTEJQV2VpZ2h0AAEwZmluYWxfd2VpZ2h0EAEkTEJQV2VpZ2h0AAEwd2VpZ2h0X2N1cnZlzQMBPFdlaWdodEN1cnZlVHlwZQABDGZlZU0DASgodTMyLCB1MzIpAAE0ZmVlX2NvbGxlY3RvcgABMFQ6OkFjY291bnRJZAABMHJlcGF5X3RhcmdldBgBHEJhbGFuY2UAAIT8Q3JlYXRlIGEgbmV3IGxpcXVpZGl0eSBib290c3RyYXBwaW5nIHBvb2wgZm9yIGdpdmVuIGFzc2V0IHBhaXIuANhGb3IgYW55IGFzc2V0IHBhaXIsIG9ubHkgb25lIHBvb2wgY2FuIGV4aXN0IGF0IGEgdGltZS4AAQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgVDo6Q3JlYXRlUG9vbE9yaWdpbmAuVQFUaGUgcG9vbCBpcyBjcmVhdGVkIHdpdGggaW5pdGlhbCBsaXF1aWRpdHkgcHJvdmlkZWQgYnkgdGhlIGBwb29sX293bmVyYCB3aG8gbXVzdCBoYXZlWHN1ZmZpY2llbnQgZnVuZHMgZnJlZS4AoQFUaGUgcG9vbCBzdGFydHMgdW5pbml0aWFsaXplZCBhbmQgdXBkYXRlX3Bvb2wgY2FsbCBzaG91bGQgYmUgY2FsbGVkIG9uY2UgY3JlYXRlZCB0byBzZXQgdGhlIHN0YXJ0IGJsb2NrLgA5AVRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGRpc3BhdGNoZWQgZnJvbSBnb3Zlcm5pbmcgZW50aXR5IGBUOjpDcmVhdGVQb29sT3JpZ2luYAAsUGFyYW1ldGVyczrELSBgcG9vbF9vd25lcmA6IHRoZSBmdXR1cmUgb3duZXIgb2YgdGhlIG5ldyBwb29sLiEBLSBgYXNzZXRfYWA6IHsgYXNzZXRfaWQsIGFtb3VudCB9IEFzc2V0IElEIGFuZCBpbml0aWFsIGxpcXVpZGl0eSBhbW91bnQuIQEtIGBhc3NldF9iYDogeyBhc3NldF9pZCwgYW1vdW50IH0gQXNzZXQgSUQgYW5kIGluaXRpYWwgbGlxdWlkaXR5IGFtb3VudC6hAS0gYGluaXRpYWxfd2VpZ2h0YDogSW5pdGlhbCB3ZWlnaHQgb2YgdGhlIGFzc2V0X2EuIDFfMDAwXzAwMCBjb3JyZXNwb25kaW5nIHRvIDElIGFuZCAxMDBfMDAwXzAwMCB0byAxMDAlnHRoaXMgc2hvdWxkIGJlIGhpZ2hlciB0aGFuIGZpbmFsIHdlaWdodJEBLSBgZmluYWxfd2VpZ2h0YDogRmluYWwgd2VpZ2h0IG9mIHRoZSBhc3NldF9hLiAxXzAwMF8wMDAgY29ycmVzcG9uZGluZyB0byAxJSBhbmQgMTAwXzAwMF8wMDAgdG8gMTAwJaB0aGlzIHNob3VsZCBiZSBsb3dlciB0aGFuIGluaXRpYWwgd2VpZ2h0QQEtIGB3ZWlnaHRfY3VydmVgOiBUaGUgd2VpZ2h0IGZ1bmN0aW9uIHVzZWQgdG8gdXBkYXRlIHRoZSBMQlAgd2VpZ2h0cy4gQ3VycmVudGx5LA0BdGhlcmUgaXMgb25seSBvbmUgd2VpZ2h0IGZ1bmN0aW9uIGltcGxlbWVudGVkLCB0aGUgbGluZWFyIGZ1bmN0aW9uLj0BLSBgZmVlYDogVGhlIHRyYWRpbmcgZmVlIGNoYXJnZWQgb24gZXZlcnkgdHJhZGUgZGlzdHJpYnV0ZWQgdG8gYGZlZV9jb2xsZWN0b3JgLiUBLSBgZmVlX2NvbGxlY3RvcmA6IFRoZSBhY2NvdW50IHRvIHdoaWNoIHRyYWRpbmcgZmVlcyB3aWxsIGJlIHRyYW5zZmVycmVkLp0BLSBgcmVwYXlfdGFyZ2V0YDogVGhlIGFtb3VudCBvZiB0b2tlbnMgdG8gcmVwYXkgdG8gc2VwYXJhdGUgZmVlX2NvbGxlY3RvciBhY2NvdW50LiBVbnRpbCB0aGlzIGFtb3VudCBpc/RyZWFjaGVkLCBmZWUgd2lsbCBiZSBpbmNyZWFzZWQgdG8gMjAlIGFuZCB0YWtlbiBmcm9tIHRoZSBwb29sAKhFbWl0cyBgUG9vbENyZWF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AnQFCRVdBUkU6IFdlIGFyZSB0YWtpbmcgdGhlIGZlZSBmcm9tIHRoZSBhY2N1bXVsYXRlZCBhc3NldC4gSWYgdGhlIGFjY3VtdWxhdGVkIGFzc2V0IGlzIHNvbGQgdG8gdGhlIHBvb2wseQF0aGUgZmVlIGNvc3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHBvb2wuIElmIGl0cyBib3VnaHQgZnJvbSB0aGUgcG9vbCB0aGUgYnV5ZXIgYmVhcnMgdGhlIGNvc3QuaQFUaGlzIGluY3JlYXNlcyB0aGUgcHJpY2Ugb2YgdGhlIHNvbGQgYXNzZXQgb24gZXZlcnkgdHJhZGUuIE1ha2Ugc3VyZSB0byBvbmx5IHJ1biB0aGlzIHdpdGhscHJldmlvdXNseSBpbGxpcXVpZCBhc3NldHMuQHVwZGF0ZV9wb29sX2RhdGEkARxwb29sX2lkAAEkUG9vbElkPFQ+AAEocG9vbF9vd25lcuwBUE9wdGlvbjxUOjpBY2NvdW50SWQ+AAEUc3RhcnRZAQFkT3B0aW9uPEJsb2NrTnVtYmVyRm9yPFQ+PgABDGVuZFkBAWRPcHRpb248QmxvY2tOdW1iZXJGb3I8VD4+AAE4aW5pdGlhbF93ZWlnaHRZAQFET3B0aW9uPExCUFdlaWdodD4AATBmaW5hbF93ZWlnaHRZAQFET3B0aW9uPExCUFdlaWdodD4AAQxmZWV1AwFIT3B0aW9uPCh1MzIsIHUzMik+AAE0ZmVlX2NvbGxlY3RvcuwBUE9wdGlvbjxUOjpBY2NvdW50SWQ+AAEwcmVwYXlfdGFyZ2V04AE8T3B0aW9uPEJhbGFuY2U+AAFIbFVwZGF0ZSBwb29sIGRhdGEgb2YgYSBwb29sLgANAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHNpZ25lZCBieSB0aGUgcG9vbCBvd25lci4ABQFUaGUgcG9vbCBjYW4gYmUgdXBkYXRlZCBvbmx5IGlmIHRoZSBzYWxlIGhhcyBub3QgYWxyZWFkeSBzdGFydGVkLgAZAUF0IGxlYXN0IG9uZSBvZiB0aGUgZm9sbG93aW5nIG9wdGlvbmFsIHBhcmFtZXRlcnMgaGFzIHRvIGJlIHNwZWNpZmllZC4ALFBhcmFtZXRlcnM62C0gYHBvb2xfaWRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgcG9vbCB0byBiZSB1cGRhdGVkLiUBLSBgc3RhcnRgOiBUaGUgbmV3IHN0YXJ0aW5nIHRpbWUgb2YgdGhlIHNhbGUuIFRoaXMgcGFyYW1ldGVyIGlzIG9wdGlvbmFsLhUBLSBgZW5kYDogVGhlIG5ldyBlbmRpbmcgdGltZSBvZiB0aGUgc2FsZS4gVGhpcyBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuHQEtIGBpbml0aWFsX3dlaWdodGA6IFRoZSBuZXcgaW5pdGlhbCB3ZWlnaHQuIFRoaXMgcGFyYW1ldGVyIGlzIG9wdGlvbmFsLg0BLSBgZmluYWxfd2VpZ2h0YDogVGhlIG5ldyBmaW5hbCB3ZWlnaHQuIFRoaXMgcGFyYW1ldGVyIGlzIG9wdGlvbmFsLkEBLSBgZmVlYDogVGhlIG5ldyB0cmFkaW5nIGZlZSBjaGFyZ2VkIG9uIGV2ZXJ5IHRyYWRlLiBUaGlzIHBhcmFtZXRlciBpcyBvcHRpb25hbC5BAS0gYGZlZV9jb2xsZWN0b3JgOiBUaGUgbmV3IHJlY2VpdmVyIG9mIHRyYWRpbmcgZmVlcy4gVGhpcyBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuAKhFbWl0cyBgUG9vbFVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC40YWRkX2xpcXVpZGl0eQgBIGFtb3VudF9h0QMBXChBc3NldElkLCBCYWxhbmNlT2Y8VD4pAAEgYW1vdW50X2LRAwFcKEFzc2V0SWQsIEJhbGFuY2VPZjxUPikAAjBgQWRkIGxpcXVpZGl0eSB0byBhIHBvb2wuAE0BQXNzZXRzIHRvIGFkZCBoYXMgdG8gbWF0Y2ggdGhlIHBvb2wgYXNzZXRzLiBBdCBsZWFzdCBvbmUgYW1vdW50IGhhcyB0byBiZSBub24temVyby4ADQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBzaWduZWQgYnkgdGhlIHBvb2wgb3duZXIuACxQYXJhbWV0ZXJzOpwtIGBwb29sX2lkYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHBvb2wBAS0gYGFtb3VudF9hYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IGFuZCB0aGUgYW1vdW50IHRvIGFkZC4dAS0gYGFtb3VudF9iYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHNlY29uZCBhc3NldCBhbmQgdGhlIGFtb3VudCB0byBhZGQuALRFbWl0cyBgTGlxdWlkaXR5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5AcmVtb3ZlX2xpcXVpZGl0eQQBHHBvb2xfaWQAASRQb29sSWQ8VD4AAyxNAVRyYW5zZmVyIGFsbCB0aGUgbGlxdWlkaXR5IGZyb20gYSBwb29sIGJhY2sgdG8gdGhlIHBvb2wgb3duZXIgYW5kIGRlc3Ryb3kgdGhlIHBvb2wuwFRoZSBwb29sIGRhdGEgYXJlIGFsc28gcmVtb3ZlZCBmcm9tIHRoZSBzdG9yYWdlLgCwVGhlIHBvb2wgY2FuJ3QgYmUgZGVzdHJveWVkIGR1cmluZyB0aGUgc2FsZS4ADQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBzaWduZWQgYnkgdGhlIHBvb2wgb3duZXIuACxQYXJhbWV0ZXJzOgEBLSBgYW1vdW50X2FgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgYW5kIHRoZSBhbW91bnQgdG8gYWRkLgCkRW1pdHMgJ0xpcXVpZGl0eVJlbW92ZWQnIHdoZW4gc3VjY2Vzc2Z1bC4Qc2VsbBABIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4AASRtYXhfbGltaXQYATBCYWxhbmNlT2Y8VD4ABDyEVHJhZGUgYGFzc2V0X2luYCBmb3IgYGFzc2V0X291dGAuAFUBRXhlY3V0ZXMgYSBzd2FwIG9mIGBhc3NldF9pbmAgZm9yIGBhc3NldF9vdXRgLiBQcmljZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBwb29sIGFuZCBpcyUBYWZmZWN0ZWQgYnkgdGhlIGFtb3VudCBhbmQgcHJvcG9ydGlvbiBvZiB0aGUgcG9vbCBhc3NldHMgYW5kIHRoZSB3ZWlnaHRzLgDQVHJhZGluZyBgZmVlYCBpcyBkaXN0cmlidXRlZCB0byB0aGUgYGZlZV9jb2xsZWN0b3JgLgAsUGFyYW1ldGVyczplAS0gYGFzc2V0X2luYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IGJlaW5nIHRyYW5zZmVycmVkIGZyb20gdGhlIGFjY291bnQgdG8gdGhlIHBvb2wuaQEtIGBhc3NldF9vdXRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgYmVpbmcgdHJhbnNmZXJyZWQgZnJvbSB0aGUgcG9vbCB0byB0aGUgYWNjb3VudC6QLSBgYW1vdW50YDogVGhlIGFtb3VudCBvZiBgYXNzZXRfaW5g7QEtIGBtYXhfbGltaXRgOiBtaW5pbXVtIGFtb3VudCBvZiBgYXNzZXRfb3V0YCAvIGFtb3VudCBvZiBhc3NldF9vdXQgdG8gYmUgb2J0YWluZWQgZnJvbSB0aGUgcG9vbCBpbiBleGNoYW5nZSBmb3IgYGFzc2V0X2luYC4AxEVtaXRzIGBTZWxsRXhlY3V0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4gRGVwcmVjYXRlZC7IRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIHdoZW4gc3VjY2Vzc2Z1bC4MYnV5EAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABIGFzc2V0X2luEAEcQXNzZXRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgABJG1heF9saW1pdBgBMEJhbGFuY2VPZjxUPgAFPIRUcmFkZSBgYXNzZXRfaW5gIGZvciBgYXNzZXRfb3V0YC4AVQFFeGVjdXRlcyBhIHN3YXAgb2YgYGFzc2V0X2luYCBmb3IgYGFzc2V0X291dGAuIFByaWNlIGlzIGRldGVybWluZWQgYnkgdGhlIHBvb2wgYW5kIGlzNQFhZmZlY3RlZCBieSB0aGUgYW1vdW50IGFuZCB0aGUgcHJvcG9ydGlvbiBvZiB0aGUgcG9vbCBhc3NldHMgYW5kIHRoZSB3ZWlnaHRzLgDQVHJhZGluZyBgZmVlYCBpcyBkaXN0cmlidXRlZCB0byB0aGUgYGZlZV9jb2xsZWN0b3JgLgAsUGFyYW1ldGVyczplAS0gYGFzc2V0X2luYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IGJlaW5nIHRyYW5zZmVycmVkIGZyb20gdGhlIGFjY291bnQgdG8gdGhlIHBvb2wuaQEtIGBhc3NldF9vdXRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgYmVpbmcgdHJhbnNmZXJyZWQgZnJvbSB0aGUgcG9vbCB0byB0aGUgYWNjb3VudC6YLSBgYW1vdW50YDogVGhlIGFtb3VudCBvZiBgYXNzZXRfb3V0YC5NAS0gYG1heF9saW1pdGA6IG1heGltdW0gYW1vdW50IG9mIGBhc3NldF9pbmAgdG8gYmUgc29sZCBpbiBleGNoYW5nZSBmb3IgYGFzc2V0X291dGAuAMBFbWl0cyBgQnV5RXhlY3V0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4gRGVwcmVjYXRlZC7IRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIHdoZW4gc3VjY2Vzc2Z1bC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuzQMIKHBhbGxldF9sYnA8V2VpZ2h0Q3VydmVUeXBlAAEEGExpbmVhcgAAAADRAwAABAgQGADVAwwocGFsbGV0X3h5axhwYWxsZXQQQ2FsbAQEVAABHCxjcmVhdGVfcG9vbBABHGFzc2V0X2EQARxBc3NldElkAAEgYW1vdW50X2EYARxCYWxhbmNlAAEcYXNzZXRfYhABHEFzc2V0SWQAASBhbW91bnRfYhgBHEJhbGFuY2UAACSUQ3JlYXRlIG5ldyBwb29sIGZvciBnaXZlbiBhc3NldCBwYWlyLgBRAVJlZ2lzdGVycyBuZXcgcG9vbCBmb3IgZ2l2ZW4gYXNzZXQgcGFpciAoYGFzc2V0IGFgIGFuZCBgYXNzZXQgYmApIGluIGFzc2V0IHJlZ2lzdHJ5LnEBQXNzZXQgcmVnaXN0cnkgY3JlYXRlcyBuZXcgaWQgb3IgcmV0dXJucyBwcmV2aW91c2x5IGNyZWF0ZWQgb25lIGlmIHN1Y2ggcG9vbCBleGlzdGVkIGJlZm9yZS4A8FBvb2wgaXMgY3JlYXRlZCB3aXRoIGluaXRpYWwgbGlxdWlkaXR5IHByb3ZpZGVkIGJ5IGBvcmlnaW5gLnkBU2hhcmVzIGFyZSBpc3N1ZWQgd2l0aCBzcGVjaWZpZWQgaW5pdGlhbCBwcmljZSBhbmQgcmVwcmVzZW50cyBwcm9wb3J0aW9uIG9mIGFzc2V0IGluIHRoZSBwb29sLgCoRW1pdHMgYFBvb2xDcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuNGFkZF9saXF1aWRpdHkQARxhc3NldF9hEAEcQXNzZXRJZAABHGFzc2V0X2IQARxBc3NldElkAAEgYW1vdW50X2EYARxCYWxhbmNlAAFIYW1vdW50X2JfbWF4X2xpbWl0GAEcQmFsYW5jZQABFNBBZGQgbGlxdWlkaXR5IHRvIHByZXZpb3VzbHkgY3JlYXRlZCBhc3NldCBwYWlyIHBvb2wuAJRTaGFyZXMgYXJlIGlzc3VlZCB3aXRoIGN1cnJlbnQgcHJpY2UuALRFbWl0cyBgTGlxdWlkaXR5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5kYWRkX2xpcXVpZGl0eV93aXRoX2xpbWl0cxQBHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAASBhbW91bnRfYRgBHEJhbGFuY2UAAUhhbW91bnRfYl9tYXhfbGltaXQYARxCYWxhbmNlAAEobWluX3NoYXJlcxgBHEJhbGFuY2UABQBAcmVtb3ZlX2xpcXVpZGl0eQwBHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAATBzaGFyZV9hbW91bnQYARxCYWxhbmNlAAIYMQFSZW1vdmUgbGlxdWlkaXR5IGZyb20gc3BlY2lmaWMgbGlxdWlkaXR5IHBvb2wgaW4gdGhlIGZvcm0gb2YgYnVybmluZyBzaGFyZXMuANBJZiBsaXF1aWRpdHkgaW4gdGhlIHBvb2wgcmVhY2hlcyAwLCBpdCBpcyBkZXN0cm95ZWQuAKRFbWl0cyAnTGlxdWlkaXR5UmVtb3ZlZCcgd2hlbiBzdWNjZXNzZnVsLrRFbWl0cyAnUG9vbERlc3Ryb3llZCcgd2hlbiBwb29sIGlzIGRlc3Ryb3llZC5wcmVtb3ZlX2xpcXVpZGl0eV93aXRoX2xpbWl0cxQBHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAATBzaGFyZV9hbW91bnQYARxCYWxhbmNlAAEwbWluX2Ftb3VudF9hGAEcQmFsYW5jZQABMG1pbl9hbW91bnRfYhgBHEJhbGFuY2UABgAQc2VsbBQBIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEkbWF4X2xpbWl0GAEcQmFsYW5jZQABIGRpc2NvdW50IAEQYm9vbAADIHRUcmFkZSBhc3NldCBpbiBmb3IgYXNzZXQgb3V0LgBlAUV4ZWN1dGVzIGEgc3dhcCBvZiBgYXNzZXRfaW5gIGZvciBgYXNzZXRfb3V0YC4gUHJpY2UgaXMgZGV0ZXJtaW5lZCBieSB0aGUgbGlxdWlkaXR5IHBvb2wuAOkBYG1heF9saW1pdGAgLSBtaW5pbXVtIGFtb3VudCBvZiBgYXNzZXRfb3V0YCAvIGFtb3VudCBvZiBhc3NldF9vdXQgdG8gYmUgb2J0YWluZWQgZnJvbSB0aGUgcG9vbCBpbiBleGNoYW5nZSBmb3IgYGFzc2V0X2luYC4AxEVtaXRzIGBTZWxsRXhlY3V0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4gRGVwcmVjYXRlZC7IRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIHdoZW4gc3VjY2Vzc2Z1bC4MYnV5FAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABIGFzc2V0X2luEAEcQXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAASRtYXhfbGltaXQYARxCYWxhbmNlAAEgZGlzY291bnQgARBib29sAAQcdFRyYWRlIGFzc2V0IGluIGZvciBhc3NldCBvdXQuAGUBRXhlY3V0ZXMgYSBzd2FwIG9mIGBhc3NldF9pbmAgZm9yIGBhc3NldF9vdXRgLiBQcmljZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBsaXF1aWRpdHkgcG9vbC4ASQFgbWF4X2xpbWl0YCAtIG1heGltdW0gYW1vdW50IG9mIGBhc3NldF9pbmAgdG8gYmUgc29sZCBpbiBleGNoYW5nZSBmb3IgYGFzc2V0X291dGAuwEVtaXRzIGBCdXlFeGVjdXRlZGAgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLshFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgd2hlbiBzdWNjZXNzZnVsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7ZAwxAcGFsbGV0X3JlZmVycmFscxhwYWxsZXQQQ2FsbAQEVAABFDRyZWdpc3Rlcl9jb2RlBAEQY29kZd0DAWxSZWZlcnJhbENvZGU8VDo6Q29kZUxlbmd0aD4AADRsUmVnaXN0ZXIgbmV3IHJlZmVycmFsIGNvZGUuAIxgb3JpZ2luYCBwYXlzIHRoZSByZWdpc3RyYXRpb24gZmVlLqhgY29kZWAgaXMgYXNzaWduZWQgdG8gdGhlIGdpdmVuIGBhY2NvdW50YC4A5Exlbmd0aCBvZiB0aGUgYGNvZGVgIG11c3QgYmUgYXQgbGVhc3QgYFQ6Ok1pbkNvZGVMZW5ndGhgLrRNYXhpbXVtIGxlbmd0aCBpcyBsaW1pdGVkIHRvIGBUOjpDb2RlTGVuZ3RoYC6RAWBjb2RlYCBtdXN0IGNvbnRhaW4gb25seSBhbGZhLW51bWVyaWMgY2hhcmFjdGVycyBhbmQgYWxsIGNoYXJhY3RlcnMgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdXBwZXIgY2FzZS4ALFBhcmFtZXRlcnM65C0gYGNvZGVgOiBDb2RlIHRvIHJlZ2lzdGVyLiBNdXN0IGZvbGxvdyB0aGUgcmVzdHJpY3Rpb25zLgC0RW1pdHMgYENvZGVSZWdpc3RlcmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuJGxpbmtfY29kZQQBEGNvZGXdAwFsUmVmZXJyYWxDb2RlPFQ6OkNvZGVMZW5ndGg+AAEoaExpbmsgYSBjb2RlIHRvIGFuIGFjY291bnQuACkBYENvZGVgIG11c3QgYmUgdmFsaWQgcmVnaXN0ZXJlZCBjb2RlLiBPdGhlcndpc2UgYEludmFsaWRDb2RlYCBpcyByZXR1cm5lZC4A9FNpZ25lciBhY2NvdW50IGlzIGxpbmtlZCB0byB0aGUgcmVmZXJyYWwgYWNjb3VudCBvZiB0aGUgY29kZS4ALFBhcmFtZXRlcnM60C0gYGNvZGVgOiBDb2RlIHRvIHVzZSB0byBsaW5rIHRoZSBzaWduZXIgYWNjb3VudCB0by4ApEVtaXRzIGBDb2RlTGlua2VkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuHGNvbnZlcnQEASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAhjAQ29udmVydCBhY2NydWVkIGFzc2V0IGFtb3VudCB0byByZXdhcmQgY3VycmVuY3kuACxQYXJhbWV0ZXJzOtwtIGBhc3NldF9pZGA6IElkIG9mIGFuIGFzc2V0IHRvIGNvbnZlcnQgdG8gUmV3YXJkQXNzZXQuAKBFbWl0cyBgQ29udmVydGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuNGNsYWltX3Jld2FyZHMAAyRkQ2xhaW0gYWNjdW11bGF0ZWQgcmV3YXJkcwBJAUlGIHRoZXJlIGlzIGFueSBhc3NldCBpbiB0aGUgcmV3YXJkIHBvdCwgYWxsIGlzIGNvbnZlcnRlZCB0byBSZXdhcmRDdXJyZW5jeSBmaXJzdC4AGQFSZXdhcmQgYW1vdW50IGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHNoYXJlcyBvZiB0aGUgc2lnbmVyIGFjY291bnQuANUBaWYgdGhlIHNpZ25lciBhY2NvdW50IGlzIHJlZmVycmVyIGFjY291bnQsIHRvdGFsIGFjY3VtdWxhdGVkIHJld2FyZHMgaXMgdXBkYXRlZCBhcyB3ZWxsIGFzIHJlZmVycmVyIGxldmVsIGlmIHJlYWNoZWQuAJhFbWl0cyBgQ2xhaW1lZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLlRzZXRfcmV3YXJkX3BlcmNlbnRhZ2UMASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARRsZXZlbOEDARRMZXZlbAABHHJld2FyZHPlAwE8RmVlRGlzdHJpYnV0aW9uAAQgcFNldCBhc3NldCByZXdhcmQgcGVyY2VudGFnZXMALFBhcmFtZXRlcnM6WC0gYGFzc2V0X2lkYDogYXNzZXQgaWRALSBgbGV2ZWxgOiBsZXZlbIwtIGByZXdhcmRzYDogcmV3YXJkIGZlZSBwZXJjZW50YWdlcwDIRW1pdHMgYEFzc2V0UmV3YXJkc1VwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMu3QMMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AADhAwhAcGFsbGV0X3JlZmVycmFscxRMZXZlbAABGBBOb25lAAAAFFRpZXIwAAEAFFRpZXIxAAIAFFRpZXIyAAMAFFRpZXIzAAQAFFRpZXI0AAUAAOUDCEBwYWxsZXRfcmVmZXJyYWxzPEZlZURpc3RyaWJ1dGlvbgAADAEgcmVmZXJyZXIhAwEcUGVybWlsbAABGHRyYWRlciEDARxQZXJtaWxsAAEgZXh0ZXJuYWwhAwEcUGVybWlsbAAA6QMMSHBhbGxldF9saXF1aWRhdGlvbhhwYWxsZXQQQ2FsbAQEVAABCCRsaXF1aWRhdGUUAUBjb2xsYXRlcmFsX2Fzc2V0EAEcQXNzZXRJZAABKGRlYnRfYXNzZXQQARxBc3NldElkAAEQdXNlckEBAShFdm1BZGRyZXNzAAE0ZGVidF90b19jb3ZlchgBHEJhbGFuY2UAARRyb3V0ZX0DAThSb3V0ZTxBc3NldElkPgAAPLRMaXF1aWRhdGVzIGFuIGV4aXN0aW5nIG1vbmV5IG1hcmtldCBwb3NpdGlvbi4A3FBlcmZvcm1zIGEgZmxhc2ggbG9hbiB0byBnZXQgZnVuZHMgdG8gcGF5IGZvciB0aGUgZGVidC45AVJlY2VpdmVkIGNvbGxhdGVyYWwgaXMgc3dhcHBlZCBhbmQgdGhlIHByb2ZpdCBpcyB0cmFuc2ZlcnJlZCB0byBgRmVlUmVjZWl2ZXJgLgAsUGFyYW1ldGVyczpoLSBgb3JpZ2luYDogU2lnbmVkIG9yaWdpbi4VAS0gYGNvbGxhdGVyYWxfYXNzZXRgOiBBc3NldCBJRCB1c2VkIGFzIGNvbGxhdGVyYWwgaW4gdGhlIE1NIHBvc2l0aW9uLuQtIGBkZWJ0X2Fzc2V0YDogQXNzZXQgSUQgdXNlZCBhcyBkZWJ0IGluIHRoZSBNTSBwb3NpdGlvbi4NAS0gYHVzZXJgOiBFVk0gYWRkcmVzcyBvZiB0aGUgTU0gcG9zaXRpb24gdGhhdCB3ZSB3YW50IHRvIGxpcXVpZGF0ZS7cLSBgZGVidF90b19jb3ZlcmA6IEFtb3VudCBvZiBkZWJ0IHdlIHdhbnQgdG8gbGlxdWlkYXRlLiEBLSBgcm91dGVgOiBUaGUgcm91dGUgd2UgdHJhZGUgYWdhaW5zdC4gUmVxdWlyZWQgZm9yIHRoZSBmZWUgY2FsY3VsYXRpb24uAKRFbWl0cyBgTGlxdWlkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBYc2V0X2JvcnJvd2luZ19jb250cmFjdAQBIGNvbnRyYWN0QQEBKEV2bUFkZHJlc3MAAQSoU2V0IHRoZSBib3Jyb3dpbmcgbWFya2V0IGNvbnRyYWN0IGFkZHJlc3MuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLu0DDChwYWxsZXRfaHNtGHBhbGxldBBDYWxsBARUAAEcUGFkZF9jb2xsYXRlcmFsX2Fzc2V0HAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAATBwdXJjaGFzZV9mZWUhAwEcUGVybWlsbAABZG1heF9idXlfcHJpY2VfY29lZmZpY2llbnQ9AQFAQ29lZmZpY2llbnRSYXRpbwABMGJ1eV9iYWNrX2ZlZSEDARxQZXJtaWxsAAEwYnV5YmFja19yYXRl8QMBHFBlcmJpbGwAAThtYXhfaW5faG9sZGluZ+ABPE9wdGlvbjxCYWxhbmNlPgAAYGhBZGQgYSBuZXcgY29sbGF0ZXJhbCBhc3NldABVAVRoaXMgZnVuY3Rpb24gYWRkcyBhIG5ldyBhc3NldCBhcyBhbiBhcHByb3ZlZCBjb2xsYXRlcmFsIGZvciBIb2xsYXIuIE9ubHkgY2FsbGFibGUgYnl0dGhlIGdvdmVybmFuY2UgKHJvb3Qgb3JpZ2luKS4ALFBhcmFtZXRlcnM6YC0gYG9yaWdpbmA6IE11c3QgYmUgUm9vdMAtIGBhc3NldF9pZGA6IEFzc2V0IElEIHRvIGJlIGFkZGVkIGFzIGNvbGxhdGVyYWwZAS0gYHBvb2xfaWRgOiBTdGFibGVTd2FwIHBvb2wgSUQgd2hlcmUgdGhpcyBhc3NldCBhbmQgSG9sbGFyIGFyZSBwYWlyZWRpAS0gYHB1cmNoYXNlX2ZlZWA6IEZlZSBhcHBsaWVkIHdoZW4gYnV5aW5nIEhvbGxhciB3aXRoIHRoaXMgYXNzZXQgKGFkZGVkIHRvIHB1cmNoYXNlIHByaWNlKV0BLSBgbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudGA6IE1heGltdW0gYnV5IHByaWNlIGNvZWZmaWNpZW50IGZvciBIU00gdG8gYnV5IGJhY2sgSG9sbGFyRQEtIGBidXlfYmFja19mZWVgOiBGZWUgYXBwbGllZCB3aGVuIGJ1eWluZyBiYWNrIEhvbGxhciAoc3VidHJhY3RlZCBmcm9tIGJ1eSBwcmljZSlhAS0gYGJ1eWJhY2tfcmF0ZWA6IFBhcmFtZXRlciB0aGF0IGNvbnRyb2xzIGhvdyBxdWlja2x5IEhTTSBjYW4gYnV5IEhvbGxhciB3aXRoIHRoaXMgYXNzZXQZAS0gYG1heF9pbl9ob2xkaW5nYDogT3B0aW9uYWwgbWF4aW11bSBhbW91bnQgb2YgY29sbGF0ZXJhbCBIU00gY2FuIGhvbGQAGEVtaXRzOvQtIGBDb2xsYXRlcmFsQWRkZWRgIHdoZW4gdGhlIGNvbGxhdGVyYWwgaXMgc3VjY2Vzc2Z1bGx5IGFkZGVkABxFcnJvcnM6LQEtIGBBc3NldEFscmVhZHlBcHByb3ZlZGAgaWYgdGhlIGFzc2V0IGlzIGFscmVhZHkgcmVnaXN0ZXJlZCBhcyBhIGNvbGxhdGVyYWxRAS0gYFBvb2xBbHJlYWR5SGFzQ29sbGF0ZXJhbGAgaWYgYW5vdGhlciBhc3NldCBmcm9tIHRoZSBzYW1lIHBvb2wgaXMgYWxyZWFkeSBhcHByb3ZlZAEBLSBgSG9sbGFyTm90SW5Qb29sYCBpZiBIb2xsYXIgaXMgbm90IGZvdW5kIGluIHRoZSBzcGVjaWZpZWQgcG9vbDUBLSBgQXNzZXROb3RJblBvb2xgIGlmIHRoZSBjb2xsYXRlcmFsIGFzc2V0IGlzIG5vdCBmb3VuZCBpbiB0aGUgc3BlY2lmaWVkIHBvb2yQLSBPdGhlciBlcnJvcnMgZnJvbSB1bmRlcmx5aW5nIGNhbGxzXHJlbW92ZV9jb2xsYXRlcmFsX2Fzc2V0BAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAE8ZFJlbW92ZSBhIGNvbGxhdGVyYWwgYXNzZXQAjQFSZW1vdmVzIGFuIGFzc2V0IGZyb20gdGhlIGFwcHJvdmVkIGNvbGxhdGVyYWxzIGxpc3QuIE9ubHkgY2FsbGFibGUgYnkgdGhlIGdvdmVybmFuY2UgKHJvb3Qgb3JpZ2luKS5RAVRoZSBjb2xsYXRlcmFsIG11c3QgaGF2ZSBhIHplcm8gYmFsYW5jZSBpbiB0aGUgSFNNIGFjY291bnQgYmVmb3JlIGl0IGNhbiBiZSByZW1vdmVkLgAsUGFyYW1ldGVyczpgLSBgb3JpZ2luYDogTXVzdCBiZSBSb290xC0gYGFzc2V0X2lkYDogQXNzZXQgSUQgdG8gcmVtb3ZlIGZyb20gY29sbGF0ZXJhbHMAGEVtaXRzOgUBLSBgQ29sbGF0ZXJhbFJlbW92ZWRgIHdoZW4gdGhlIGNvbGxhdGVyYWwgaXMgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQAHEVycm9yczoBAS0gYEFzc2V0Tm90QXBwcm92ZWRgIGlmIHRoZSBhc3NldCBpcyBub3QgYSByZWdpc3RlcmVkIGNvbGxhdGVyYWwhAS0gYENvbGxhdGVyYWxOb3RFbXB0eWAgaWYgdGhlIEhTTSBhY2NvdW50IHN0aWxsIGhvbGRzIHNvbWUgb2YgdGhpcyBhc3NldFx1cGRhdGVfY29sbGF0ZXJhbF9hc3NldBgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABMHB1cmNoYXNlX2ZlZfUDATxPcHRpb248UGVybWlsbD4AAWRtYXhfYnV5X3ByaWNlX2NvZWZmaWNpZW50+QMBYE9wdGlvbjxDb2VmZmljaWVudFJhdGlvPgABMGJ1eV9iYWNrX2ZlZfUDATxPcHRpb248UGVybWlsbD4AATBidXliYWNrX3JhdGX9AwE8T3B0aW9uPFBlcmJpbGw+AAE4bWF4X2luX2hvbGRpbmcBBAFcT3B0aW9uPE9wdGlvbjxCYWxhbmNlPj4AAkyIVXBkYXRlIGNvbGxhdGVyYWwgYXNzZXQgcGFyYW1ldGVycwCdAVVwZGF0ZXMgdGhlIHBhcmFtZXRlcnMgZm9yIGFuIGV4aXN0aW5nIGNvbGxhdGVyYWwgYXNzZXQuIE9ubHkgY2FsbGFibGUgYnkgdGhlIGdvdmVybmFuY2UgKHJvb3Qgb3JpZ2luKS4hAUVhY2ggcGFyYW1ldGVyIGlzIG9wdGlvbmFsIGFuZCBvbmx5IHByb3ZpZGVkIHBhcmFtZXRlcnMgd2lsbCBiZSB1cGRhdGVkLgAsUGFyYW1ldGVyczpgLSBgb3JpZ2luYDogTXVzdCBiZSBSb290gC0gYGFzc2V0X2lkYDogQXNzZXQgSUQgdG8gdXBkYXRltC0gYHB1cmNoYXNlX2ZlZWA6IE5ldyBwdXJjaGFzZSBmZWUgKG9wdGlvbmFsKR0BLSBgbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudGA6IE5ldyBtYXggYnV5IHByaWNlIGNvZWZmaWNpZW50IChvcHRpb25hbCm0LSBgYnV5X2JhY2tfZmVlYDogTmV3IGJ1eSBiYWNrIGZlZSAob3B0aW9uYWwp3C0gYGJ1eWJhY2tfcmF0ZWA6IE5ldyBidXliYWNrIHJhdGUgcGFyYW1ldGVyIChvcHRpb25hbCnkLSBgbWF4X2luX2hvbGRpbmdgOiBOZXcgbWF4aW11bSBob2xkaW5nIGFtb3VudCAob3B0aW9uYWwpABhFbWl0czoFAS0gYENvbGxhdGVyYWxVcGRhdGVkYCB3aGVuIHRoZSBjb2xsYXRlcmFsIGlzIHN1Y2Nlc3NmdWxseSB1cGRhdGVkABxFcnJvcnM6AQEtIGBBc3NldE5vdEFwcHJvdmVkYCBpZiB0aGUgYXNzZXQgaXMgbm90IGEgcmVnaXN0ZXJlZCBjb2xsYXRlcmFsEHNlbGwQASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABOHNsaXBwYWdlX2xpbWl0GAEcQmFsYW5jZQADbERTZWxsIGFzc2V0IHRvIEhTTQB4VGhpcyBmdW5jdGlvbiBhbGxvd3MgdXNlcnMgdG868DEuIFNlbGwgSG9sbGFyIGJhY2sgdG8gSFNNIGluIGV4Y2hhbmdlIGZvciBjb2xsYXRlcmFsIGFzc2V0cxEBMi4gU2VsbCBjb2xsYXRlcmFsIGFzc2V0cyB0byBIU00gaW4gZXhjaGFuZ2UgZm9yIG5ld2x5IG1pbnRlZCBIb2xsYXIAdQFUaGUgdmFsaWQgcGFpcnMgbXVzdCBpbmNsdWRlIEhvbGxhciBhcyBvbmUgc2lkZSBhbmQgYW4gYXBwcm92ZWQgY29sbGF0ZXJhbCBhcyB0aGUgb3RoZXIgc2lkZS4ALFBhcmFtZXRlcnM6lC0gYG9yaWdpbmA6IEFjY291bnQgc2VsbGluZyB0aGUgYXNzZXSELSBgYXNzZXRfaW5gOiBBc3NldCBJRCBiZWluZyBzb2xkkC0gYGFzc2V0X291dGA6IEFzc2V0IElEIGJlaW5nIGJvdWdodKQtIGBhbW91bnRfaW5gOiBBbW91bnQgb2YgYXNzZXRfaW4gdG8gc2VsbPgtIGBzbGlwcGFnZV9saW1pdGA6IE1pbmltdW0gYW1vdW50IG91dCBmb3Igc2xpcHBhZ2UgcHJvdGVjdGlvbgAYRW1pdHM6oC0gYFN3YXBwZWQzYCB3aGVuIHRoZSBzZWxsIGlzIHN1Y2Nlc3NmdWwAHEVycm9yczolAS0gYEludmFsaWRBc3NldFBhaXJgIGlmIHRoZSBwYWlyIGlzIG5vdCBIb2xsYXIgYW5kIGFuIGFwcHJvdmVkIGNvbGxhdGVyYWz0LSBgQXNzZXROb3RBcHByb3ZlZGAgaWYgdGhlIGNvbGxhdGVyYWwgYXNzZXQgaXNuJ3QgcmVnaXN0ZXJlZEEBLSBgU2xpcHBhZ2VMaW1pdEV4Y2VlZGVkYCBpZiB0aGUgYW1vdW50IHJlY2VpdmVkIGlzIGxlc3MgdGhhbiB0aGUgc2xpcHBhZ2UgbGltaXQlAS0gYE1heEJ1eUJhY2tFeGNlZWRlZGAgaWYgdGhlIHNlbGwgd291bGQgZXhjZWVkIHRoZSBtYXhpbXVtIGJ1eSBiYWNrIHJhdGUZAS0gYE1heEJ1eVByaWNlRXhjZWVkZWRgIGlmIHRoZSBzZWxsIHdvdWxkIGV4Y2VlZCB0aGUgbWF4aW11bSBidXkgcHJpY2UdAS0gYEluc3VmZmljaWVudENvbGxhdGVyYWxCYWxhbmNlYCBpZiBIU00gZG9lc24ndCBoYXZlIGVub3VnaCBjb2xsYXRlcmFsYQEtIGBJbnZhbGlkRVZNSW50ZXJhY3Rpb25gIGlmIHRoZXJlJ3MgYW4gZXJyb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgSG9sbGFyIEVSQzIwIGNvbnRyYWN0kC0gT3RoZXIgZXJyb3JzIGZyb20gdW5kZXJseWluZyBjYWxscwxidXkQASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEoYW1vdW50X291dBgBHEJhbGFuY2UAAThzbGlwcGFnZV9saW1pdBgBHEJhbGFuY2UABGRIQnV5IGFzc2V0IGZyb20gSFNNAHhUaGlzIGZ1bmN0aW9uIGFsbG93cyB1c2VycyB0bzq4MS4gQnV5IEhvbGxhciBmcm9tIEhTTSB1c2luZyBjb2xsYXRlcmFsIGFzc2V0c7gyLiBCdXkgY29sbGF0ZXJhbCBhc3NldHMgZnJvbSBIU00gdXNpbmcgSG9sbGFyAHUBVGhlIHZhbGlkIHBhaXJzIG11c3QgaW5jbHVkZSBIb2xsYXIgYXMgb25lIHNpZGUgYW5kIGFuIGFwcHJvdmVkIGNvbGxhdGVyYWwgYXMgdGhlIG90aGVyIHNpZGUuACxQYXJhbWV0ZXJzOpAtIGBvcmlnaW5gOiBBY2NvdW50IGJ1eWluZyB0aGUgYXNzZXS0LSBgYXNzZXRfaW5gOiBBc3NldCBJRCBiZWluZyBzb2xkIGJ5IHRoZSB1c2VywC0gYGFzc2V0X291dGA6IEFzc2V0IElEIGJlaW5nIGJvdWdodCBieSB0aGUgdXNlcqgtIGBhbW91bnRfb3V0YDogQW1vdW50IG9mIGFzc2V0X291dCB0byBidXn0LSBgc2xpcHBhZ2VfbGltaXRgOiBNYXhpbXVtIGFtb3VudCBpbiBmb3Igc2xpcHBhZ2UgcHJvdGVjdGlvbgAYRW1pdHM6nC0gYFN3YXBwZWQzYCB3aGVuIHRoZSBidXkgaXMgc3VjY2Vzc2Z1bAAcRXJyb3JzOiUBLSBgSW52YWxpZEFzc2V0UGFpcmAgaWYgdGhlIHBhaXIgaXMgbm90IEhvbGxhciBhbmQgYW4gYXBwcm92ZWQgY29sbGF0ZXJhbPQtIGBBc3NldE5vdEFwcHJvdmVkYCBpZiB0aGUgY29sbGF0ZXJhbCBhc3NldCBpc24ndCByZWdpc3RlcmVkIQEtIGBTbGlwcGFnZUxpbWl0RXhjZWVkZWRgIGlmIHRoZSBhbW91bnQgaW5wdXQgZXhjZWVkcyB0aGUgc2xpcHBhZ2UgbGltaXQ9AS0gYE1heEhvbGRpbmdFeGNlZWRlZGAgaWYgdGhlIGJ1eSB3b3VsZCBjYXVzZSBIU00gdG8gZXhjZWVkIGl0cyBtYXhpbXVtIGhvbGRpbmdhAS0gYEludmFsaWRFVk1JbnRlcmFjdGlvbmAgaWYgdGhlcmUncyBhbiBlcnJvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBIb2xsYXIgRVJDMjAgY29udHJhY3SQLSBPdGhlciBlcnJvcnMgZnJvbSB1bmRlcmx5aW5nIGNhbGxzRGV4ZWN1dGVfYXJiaXRyYWdlBAFMY29sbGF0ZXJhbF9hc3NldF9pZBABKFQ6OkFzc2V0SWQABWARAUV4ZWN1dGUgYXJiaXRyYWdlIG9wcG9ydHVuaXR5IGJldHdlZW4gSFNNIGFuZCBjb2xsYXRlcmFsIHN0YWJsZSBwb29sADEBVGhpcyBjYWxsIGlzIGRlc2lnbmVkIHRvIGJlIHRyaWdnZXJlZCBhdXRvbWF0aWNhbGx5IGJ5IG9mZmNoYWluIHdvcmtlcnMuIEl0OikBMS4gRGV0ZWN0cyBwcmljZSBpbWJhbGFuY2VzIGJldHdlZW4gSFNNIGFuZCBhIHN0YWJsZSBwb29sIGZvciBhIGNvbGxhdGVyYWwlATIuIElmIGFuIG9wcG9ydHVuaXR5IGV4aXN0cywgbWludHMgSG9sbGFyLCBzd2FwcyBpdCBmb3IgY29sbGF0ZXJhbCBvbiBIU03YMy4gU3dhcHMgdGhhdCBjb2xsYXRlcmFsIGZvciBIb2xsYXIgb24gdGhlIHN0YWJsZSBwb29svDQuIEJ1cm5zIHRoZSBIb2xsYXIgcmVjZWl2ZWQgZnJvbSB0aGUgYXJiaXRyYWdlAGEBVGhpcyBoZWxwcyBtYWludGFpbiB0aGUgcGVnIG9mIEhvbGxhciBieSBwcm9maXRpbmcgZnJvbSBhbmQgY29ycmVjdGluZyBwcmljZSBpbWJhbGFuY2VzLhUBVGhlIGNhbGwgaXMgdW5zaWduZWQgYW5kIHNob3VsZCBvbmx5IGJlIGV4ZWN1dGVkIGJ5IG9mZmNoYWluIHdvcmtlcnMuACxQYXJhbWV0ZXJzOowtIGBvcmlnaW5gOiBNdXN0IGJlIE5vbmUgKHVuc2lnbmVkKTkBLSBgY29sbGF0ZXJhbF9hc3NldF9pZGA6IFRoZSBJRCBvZiB0aGUgY29sbGF0ZXJhbCBhc3NldCB0byBjaGVjayBmb3IgYXJiaXRyYWdlABhFbWl0czrYLSBgQXJiaXRyYWdlRXhlY3V0ZWRgIHdoZW4gdGhlIGFyYml0cmFnZSBpcyBzdWNjZXNzZnVsABxFcnJvcnM6AQEtIGBBc3NldE5vdEFwcHJvdmVkYCBpZiB0aGUgYXNzZXQgaXMgbm90IGEgcmVnaXN0ZXJlZCBjb2xsYXRlcmFsJQEtIGBOb0FyYml0cmFnZU9wcG9ydHVuaXR5YCBpZiB0aGVyZSdzIG5vIHByb2ZpdGFibGUgYXJiaXRyYWdlIG9wcG9ydHVuaXR5LQEtIGBNYXhCdXlQcmljZUV4Y2VlZGVkYCBpZiB0aGUgYXJiaXRyYWdlIHdvdWxkIGV4Y2VlZCB0aGUgbWF4aW11bSBidXkgcHJpY2VhAS0gYEludmFsaWRFVk1JbnRlcmFjdGlvbmAgaWYgdGhlcmUncyBhbiBlcnJvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBIb2xsYXIgRVJDMjAgY29udHJhY3SQLSBPdGhlciBlcnJvcnMgZnJvbSB1bmRlcmx5aW5nIGNhbGxzQHNldF9mbGFzaF9taW50ZXIEAURmbGFzaF9taW50ZXJfYWRkckEBAShFdm1BZGRyZXNzAAYABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLvEDDDRzcF9hcml0aG1ldGljKHBlcl90aGluZ3McUGVyYmlsbAAABAAQAQx1MzIAAPUDBBhPcHRpb24EBFQBIQMBCBBOb25lAAAAEFNvbWUEACEDAAABAAD5AwQYT3B0aW9uBARUAT0BAQgQTm9uZQAAABBTb21lBAA9AQAAAQAA/QMEGE9wdGlvbgQEVAHxAwEIEE5vbmUAAAAQU29tZQQA8QMAAAEAAAEEBBhPcHRpb24EBFQB4AEIEE5vbmUAAAAQU29tZQQA4AAAAQAABQQMLG9ybWxfdG9rZW5zGG1vZHVsZRBDYWxsBARUAAEUIHRyYW5zZmVyDAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEYYW1vdW50LQEBKFQ6OkJhbGFuY2UAADTUVHJhbnNmZXIgc29tZSBsaXF1aWQgZnJlZSBiYWxhbmNlIHRvIGFub3RoZXIgYWNjb3VudC4ABQFgdHJhbnNmZXJgIHdpbGwgc2V0IHRoZSBgRnJlZUJhbGFuY2VgIG9mIHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVyLuBJdCB3aWxsIGRlY3JlYXNlIHRoZSB0b3RhbCBpc3N1YW5jZSBvZiB0aGUgc3lzdGVtIGJ5IHRoZfxgVHJhbnNmZXJGZWVgLiBJZiB0aGUgc2VuZGVyJ3MgYWNjb3VudCBpcyBiZWxvdyB0aGUgZXhpc3RlbnRpYWwBAWRlcG9zaXQgYXMgYSByZXN1bHQgb2YgdGhlIHRyYW5zZmVyLCB0aGUgYWNjb3VudCB3aWxsIGJlIHJlYXBlZC4A5FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBTaWduZWRgIGJ5IHRoZSx0cmFuc2FjdG9yLgCgLSBgZGVzdGA6IFRoZSByZWNpcGllbnQgb2YgdGhlIHRyYW5zZmVyLnwtIGBjdXJyZW5jeV9pZGA6IGN1cnJlbmN5IHR5cGUurC0gYGFtb3VudGA6IGZyZWUgYmFsYW5jZSBhbW91bnQgdG8gdHJhbmZlci4wdHJhbnNmZXJfYWxsDAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEoa2VlcF9hbGl2ZSABEGJvb2wAAUzQVHJhbnNmZXIgYWxsIHJlbWFpbmluZyBiYWxhbmNlIHRvIHRoZSBnaXZlbiBhY2NvdW50LgDwTk9URTogVGhpcyBmdW5jdGlvbiBvbmx5IGF0dGVtcHRzIHRvIHRyYW5zZmVyIF90cmFuc2ZlcmFibGVf+GJhbGFuY2VzLiBUaGlzIG1lYW5zIHRoYXQgYW55IGxvY2tlZCwgcmVzZXJ2ZWQsIG9yIGV4aXN0ZW50aWFsCQFkZXBvc2l0cyAod2hlbiBga2VlcF9hbGl2ZWAgaXMgYHRydWVgKSwgd2lsbCBub3QgYmUgdHJhbnNmZXJyZWQgYnn8dGhpcyBmdW5jdGlvbi4gVG8gZW5zdXJlIHRoYXQgdGhpcyBmdW5jdGlvbiByZXN1bHRzIGluIGEga2lsbGVk+GFjY291bnQsIHlvdSBtaWdodCBuZWVkIHRvIHByZXBhcmUgdGhlIGFjY291bnQgYnkgcmVtb3ZpbmcgYW55sHJlZmVyZW5jZSBjb3VudGVycywgc3RvcmFnZSBkZXBvc2l0cywgZXRjLi4uAORUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgU2lnbmVkYCBieSB0aGUsdHJhbnNhY3Rvci4AoC0gYGRlc3RgOiBUaGUgcmVjaXBpZW50IG9mIHRoZSB0cmFuc2Zlci58LSBgY3VycmVuY3lfaWRgOiBjdXJyZW5jeSB0eXBlLvAtIGBrZWVwX2FsaXZlYDogQSBib29sZWFuIHRvIGRldGVybWluZSBpZiB0aGUgYHRyYW5zZmVyX2FsbGAFASAgb3BlcmF0aW9uIHNob3VsZCBzZW5kIGFsbCBvZiB0aGUgZnVuZHMgdGhlIGFjY291bnQgaGFzLCBjYXVzaW5nBQEgIHRoZSBzZW5kZXIgYWNjb3VudCB0byBiZSBraWxsZWQgKGZhbHNlKSwgb3IgdHJhbnNmZXIgZXZlcnl0aGluZwkBICBleGNlcHQgYXQgbGVhc3QgdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXQsIHdoaWNoIHdpbGwgZ3VhcmFudGVlIHRvnCAga2VlcCB0aGUgc2VuZGVyIGFjY291bnQgYWxpdmUgKHRydWUpLkx0cmFuc2Zlcl9rZWVwX2FsaXZlDAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEYYW1vdW50LQEBKFQ6OkJhbGFuY2UAAiwFAVNhbWUgYXMgdGhlIFtgdHJhbnNmZXJgXSBjYWxsLCBidXQgd2l0aCBhIGNoZWNrIHRoYXQgdGhlIHRyYW5zZmVyhHdpbGwgbm90IGtpbGwgdGhlIG9yaWdpbiBhY2NvdW50LgC4OTklIG9mIHRoZSB0aW1lIHlvdSB3YW50IFtgdHJhbnNmZXJgXSBpbnN0ZWFkLgDkVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFNpZ25lZGAgYnkgdGhlLHRyYW5zYWN0b3IuAKAtIGBkZXN0YDogVGhlIHJlY2lwaWVudCBvZiB0aGUgdHJhbnNmZXIufC0gYGN1cnJlbmN5X2lkYDogY3VycmVuY3kgdHlwZS6sLSBgYW1vdW50YDogZnJlZSBiYWxhbmNlIGFtb3VudCB0byB0cmFuZmVyLjhmb3JjZV90cmFuc2ZlchABGHNvdXJjZQABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEYYW1vdW50LQEBKFQ6OkJhbGFuY2UAAyQRAUV4YWN0bHkgYXMgYHRyYW5zZmVyYCwgZXhjZXB0IHRoZSBvcmlnaW4gbXVzdCBiZSByb290IGFuZCB0aGUgc291cmNlZGFjY291bnQgbWF5IGJlIHNwZWNpZmllZC4AxFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9Sb290Xy4AnC0gYHNvdXJjZWA6IFRoZSBzZW5kZXIgb2YgdGhlIHRyYW5zZmVyLqAtIGBkZXN0YDogVGhlIHJlY2lwaWVudCBvZiB0aGUgdHJhbnNmZXIufC0gYGN1cnJlbmN5X2lkYDogY3VycmVuY3kgdHlwZS6sLSBgYW1vdW50YDogZnJlZSBiYWxhbmNlIGFtb3VudCB0byB0cmFuZmVyLixzZXRfYmFsYW5jZRABDHdobwABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEgbmV3X2ZyZWUtAQEoVDo6QmFsYW5jZQABMG5ld19yZXNlcnZlZC0BAShUOjpCYWxhbmNlAAQgkFNldCB0aGUgYmFsYW5jZXMgb2YgYSBnaXZlbiBhY2NvdW50LgAJAVRoaXMgd2lsbCBhbHRlciBgRnJlZUJhbGFuY2VgIGFuZCBgUmVzZXJ2ZWRCYWxhbmNlYCBpbiBzdG9yYWdlLiBpdMx3aWxsIGFsc28gZGVjcmVhc2UgdGhlIHRvdGFsIGlzc3VhbmNlIG9mIHRoZSBzeXN0ZW0NAShgVG90YWxJc3N1YW5jZWApLiBJZiB0aGUgbmV3IGZyZWUgb3IgcmVzZXJ2ZWQgYmFsYW5jZSBpcyBiZWxvdyB0aGXQZXhpc3RlbnRpYWwgZGVwb3NpdCwgaXQgd2lsbCByZWFwIHRoZSBgQWNjb3VudEluZm9gLgCwVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIGlzIGByb290YC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuCQQMRHBhbGxldF9jdXJyZW5jaWVzGG1vZHVsZRBDYWxsBARUAAEMIHRyYW5zZmVyDAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATxDdXJyZW5jeUlkT2Y8VD4AARhhbW91bnQtAQEwQmFsYW5jZU9mPFQ+AAAQ9FRyYW5zZmVyIHNvbWUgYmFsYW5jZSB0byBhbm90aGVyIGFjY291bnQgdW5kZXIgYGN1cnJlbmN5X2lkYC4A5FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBTaWduZWRgIGJ5IHRoZSx0cmFuc2FjdG9yLmB0cmFuc2Zlcl9uYXRpdmVfY3VycmVuY3kIARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAARhhbW91bnQtAQEwQmFsYW5jZU9mPFQ+AAEQxFRyYW5zZmVyIHNvbWUgbmF0aXZlIGN1cnJlbmN5IHRvIGFub3RoZXIgYWNjb3VudC4A5FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBTaWduZWRgIGJ5IHRoZSx0cmFuc2FjdG9yLjh1cGRhdGVfYmFsYW5jZQwBDHdobwABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATxDdXJyZW5jeUlkT2Y8VD4AARhhbW91bnQNBAEsQW1vdW50T2Y8VD4AAgzMdXBkYXRlIGFtb3VudCBvZiBhY2NvdW50IGB3aG9gIHVuZGVyIGBjdXJyZW5jeV9pZGAuAMBUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9Sb290Xy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuDQQAAAUNABEEDDBvcm1sX3Zlc3RpbmcYbW9kdWxlEENhbGwEBFQAARAUY2xhaW0AAAA8dmVzdGVkX3RyYW5zZmVyCAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEgc2NoZWR1bGUVBAFQVmVzdGluZ1NjaGVkdWxlT2Y8VD4AAQBgdXBkYXRlX3Zlc3Rpbmdfc2NoZWR1bGVzCAEMd2hvAAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAAUR2ZXN0aW5nX3NjaGVkdWxlcxkEAWRWZWM8VmVzdGluZ1NjaGVkdWxlT2Y8VD4+AAIAJGNsYWltX2ZvcgQBEGRlc3QAAYw8VDo6TG9va3VwIGFzIFN0YXRpY0xvb2t1cD46OlNvdXJjZQADAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4VBAgwb3JtbF92ZXN0aW5nPFZlc3RpbmdTY2hlZHVsZQgsQmxvY2tOdW1iZXIBEBxCYWxhbmNlARgAEAEUc3RhcnQQASxCbG9ja051bWJlcgABGHBlcmlvZBABLEJsb2NrTnVtYmVyAAEwcGVyaW9kX2NvdW50EAEMdTMyAAEocGVyX3BlcmlvZC0BARxCYWxhbmNlAAAZBAAAAhUEAB0EDChwYWxsZXRfZXZtGHBhbGxldBBDYWxsBARUAAEQIHdpdGhkcmF3CAEcYWRkcmVzc0EBARBIMTYwAAEUdmFsdWUYATBCYWxhbmNlT2Y8VD4AAATgV2l0aGRyYXcgYmFsYW5jZSBmcm9tIEVWTSBpbnRvIGN1cnJlbmN5L2JhbGFuY2VzIHBhbGxldC4QY2FsbCQBGHNvdXJjZUEBARBIMTYwAAEYdGFyZ2V0QQEBEEgxNjAAARRpbnB1dDgBHFZlYzx1OD4AARR2YWx1ZUkBARBVMjU2AAEkZ2FzX2xpbWl0MAEMdTY0AAE8bWF4X2ZlZV9wZXJfZ2FzSQEBEFUyNTYAAWBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXMhBAEwT3B0aW9uPFUyNTY+AAEUbm9uY2UhBAEwT3B0aW9uPFUyNTY+AAEsYWNjZXNzX2xpc3QlBAFYVmVjPChIMTYwLCBWZWM8SDI1Nj4pPgABBF0BSXNzdWUgYW4gRVZNIGNhbGwgb3BlcmF0aW9uLiBUaGlzIGlzIHNpbWlsYXIgdG8gYSBtZXNzYWdlIGNhbGwgdHJhbnNhY3Rpb24gaW4gRXRoZXJldW0uGGNyZWF0ZSABGHNvdXJjZUEBARBIMTYwAAEQaW5pdDgBHFZlYzx1OD4AARR2YWx1ZUkBARBVMjU2AAEkZ2FzX2xpbWl0MAEMdTY0AAE8bWF4X2ZlZV9wZXJfZ2FzSQEBEFUyNTYAAWBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXMhBAEwT3B0aW9uPFUyNTY+AAEUbm9uY2UhBAEwT3B0aW9uPFUyNTY+AAEsYWNjZXNzX2xpc3QlBAFYVmVjPChIMTYwLCBWZWM8SDI1Nj4pPgACCFEBSXNzdWUgYW4gRVZNIGNyZWF0ZSBvcGVyYXRpb24uIFRoaXMgaXMgc2ltaWxhciB0byBhIGNvbnRyYWN0IGNyZWF0aW9uIHRyYW5zYWN0aW9uIGluJEV0aGVyZXVtLhxjcmVhdGUyJAEYc291cmNlQQEBEEgxNjAAARBpbml0OAEcVmVjPHU4PgABEHNhbHQ0ARBIMjU2AAEUdmFsdWVJAQEQVTI1NgABJGdhc19saW1pdDABDHU2NAABPG1heF9mZWVfcGVyX2dhc0kBARBVMjU2AAFgbWF4X3ByaW9yaXR5X2ZlZV9wZXJfZ2FzIQQBME9wdGlvbjxVMjU2PgABFG5vbmNlIQQBME9wdGlvbjxVMjU2PgABLGFjY2Vzc19saXN0JQQBWFZlYzwoSDE2MCwgVmVjPEgyNTY+KT4AAwR8SXNzdWUgYW4gRVZNIGNyZWF0ZTIgb3BlcmF0aW9uLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4hBAQYT3B0aW9uBARUAUkBAQgQTm9uZQAAABBTb21lBABJAQAAAQAAJQQAAAIpBAApBAAABAhBAckBAC0EDDxwYWxsZXRfZXRoZXJldW0YcGFsbGV0EENhbGwEBFQAAQQgdHJhbnNhY3QEASx0cmFuc2FjdGlvbjEEASxUcmFuc2FjdGlvbgAABIRUcmFuc2FjdCBhbiBFdGhlcmV1bSB0cmFuc2FjdGlvbi4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuMQQMIGV0aGVyZXVtLHRyYW5zYWN0aW9uNFRyYW5zYWN0aW9uVjIAAQwYTGVnYWN5BAA1BAFETGVnYWN5VHJhbnNhY3Rpb24AAAAcRUlQMjkzMAQARQQBSEVJUDI5MzBUcmFuc2FjdGlvbgABABxFSVAxNTU5BABRBAFIRUlQMTU1OVRyYW5zYWN0aW9uAAIAADUEDCBldGhlcmV1bSx0cmFuc2FjdGlvbkRMZWdhY3lUcmFuc2FjdGlvbgAAHAEUbm9uY2VJAQEQVTI1NgABJGdhc19wcmljZUkBARBVMjU2AAEkZ2FzX2xpbWl0SQEBEFUyNTYAARhhY3Rpb245BAFEVHJhbnNhY3Rpb25BY3Rpb24AARR2YWx1ZUkBARBVMjU2AAEUaW5wdXQ4ARRCeXRlcwABJHNpZ25hdHVyZT0EAVBUcmFuc2FjdGlvblNpZ25hdHVyZQAAOQQMIGV0aGVyZXVtLHRyYW5zYWN0aW9uRFRyYW5zYWN0aW9uQWN0aW9uAAEIEENhbGwEAEEBARBIMTYwAAAAGENyZWF0ZQABAAA9BAwgZXRoZXJldW0sdHJhbnNhY3Rpb25QVHJhbnNhY3Rpb25TaWduYXR1cmUAAAwBBHZBBAFUVHJhbnNhY3Rpb25SZWNvdmVyeUlkAAEEcjQBEEgyNTYAAQRzNAEQSDI1NgAAQQQMIGV0aGVyZXVtLHRyYW5zYWN0aW9uVFRyYW5zYWN0aW9uUmVjb3ZlcnlJZAAABAAwAQx1NjQAAEUEDCBldGhlcmV1bSx0cmFuc2FjdGlvbkhFSVAyOTMwVHJhbnNhY3Rpb24AACwBIGNoYWluX2lkMAEMdTY0AAEUbm9uY2VJAQEQVTI1NgABJGdhc19wcmljZUkBARBVMjU2AAEkZ2FzX2xpbWl0SQEBEFUyNTYAARhhY3Rpb245BAFEVHJhbnNhY3Rpb25BY3Rpb24AARR2YWx1ZUkBARBVMjU2AAEUaW5wdXQ4ARRCeXRlcwABLGFjY2Vzc19saXN0SQQBKEFjY2Vzc0xpc3QAATBvZGRfeV9wYXJpdHkgARBib29sAAEEcjQBEEgyNTYAAQRzNAEQSDI1NgAASQQAAAJNBABNBAwgZXRoZXJldW0sdHJhbnNhY3Rpb244QWNjZXNzTGlzdEl0ZW0AAAgBHGFkZHJlc3NBAQEcQWRkcmVzcwABMHN0b3JhZ2Vfa2V5c8kBASRWZWM8SDI1Nj4AAFEEDCBldGhlcmV1bSx0cmFuc2FjdGlvbkhFSVAxNTU5VHJhbnNhY3Rpb24AADABIGNoYWluX2lkMAEMdTY0AAEUbm9uY2VJAQEQVTI1NgABYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhc0kBARBVMjU2AAE8bWF4X2ZlZV9wZXJfZ2FzSQEBEFUyNTYAASRnYXNfbGltaXRJAQEQVTI1NgABGGFjdGlvbjkEAURUcmFuc2FjdGlvbkFjdGlvbgABFHZhbHVlSQEBEFUyNTYAARRpbnB1dDgBFEJ5dGVzAAEsYWNjZXNzX2xpc3RJBAEoQWNjZXNzTGlzdAABMG9kZF95X3Bhcml0eSABEGJvb2wAAQRyNAEQSDI1NgABBHM0ARBIMjU2AABVBAxMcGFsbGV0X2V2bV9hY2NvdW50cxhwYWxsZXQQQ2FsbAQEVAABGEBiaW5kX2V2bV9hZGRyZXNzAAAspEJpbmRzIGEgU3Vic3RyYXRlIGFkZHJlc3MgdG8gRVZNIGFkZHJlc3MubQFBZnRlciBiaW5kaW5nLCB0aGUgRVZNIGlzIGFibGUgdG8gY29udmVydCBhbiBFVk0gYWRkcmVzcyB0byB0aGUgb3JpZ2luYWwgU3Vic3RyYXRlIGFkZHJlc3MurQFXaXRob3V0IGJpbmRpbmcsIHRoZSBFVk0gY29udmVydHMgYW4gRVZNIGFkZHJlc3MgdG8gYSB0cnVuY2F0ZWQgU3Vic3RyYXRlIGFkZHJlc3MsIHdoaWNoIGRvZXNuJ3QgY29ycmVzcG9uZFh0byB0aGUgb3JpZ2luIGFkZHJlc3MuAAUBQmluZGluZyBhbiBhZGRyZXNzIGlzIG5vdCBuZWNlc3NhcnkgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIEVWTS4ALFBhcmFtZXRlcnM6wC0gYG9yaWdpbmA6IFN1YnN0cmF0ZSBhY2NvdW50IGJpbmRpbmcgYW4gYWRkcmVzcwC4RW1pdHMgYEV2bUFjY291bnRCb3VuZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLlRhZGRfY29udHJhY3RfZGVwbG95ZXIEARxhZGRyZXNzQQEBKEV2bUFkZHJlc3MAARxhAUFkZHMgYW4gRVZNIGFkZHJlc3MgdG8gdGhlIGxpc3Qgb2YgYWRkcmVzc2VzIHRoYXQgYXJlIGFsbG93ZWQgdG8gZGVwbG95IHNtYXJ0IGNvbnRyYWN0cy4ALFBhcmFtZXRlcnM6SQEtIGBvcmlnaW5gOiBTdWJzdHJhdGUgYWNjb3VudCB3aGl0ZWxpc3RpbmcgYW4gYWRkcmVzcy4gTXVzdCBiZSBgQ29udHJvbGxlck9yaWdpbmAusC0gYGFkZHJlc3NgOiBFVk0gYWRkcmVzcyB0aGF0IGlzIHdoaXRlbGlzdGVkALBFbWl0cyBgRGVwbG95ZXJBZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLmByZW1vdmVfY29udHJhY3RfZGVwbG95ZXIEARxhZGRyZXNzQQEBKEV2bUFkZHJlc3MAAhx1AVJlbW92ZXMgYW4gRVZNIGFkZHJlc3MgZnJvbSB0aGUgbGlzdCBvZiBhZGRyZXNzZXMgdGhhdCBhcmUgYWxsb3dlZCB0byBkZXBsb3kgc21hcnQgY29udHJhY3RzLgAsUGFyYW1ldGVyczqZAS0gYG9yaWdpbmA6IFN1YnN0cmF0ZSBhY2NvdW50IHJlbW92aW5nIHRoZSBFVk0gYWRkcmVzcyBmcm9tIHRoZSB3aGl0ZWxpc3QuIE11c3QgYmUgYENvbnRyb2xsZXJPcmlnaW5gLuwtIGBhZGRyZXNzYDogRVZNIGFkZHJlc3MgdGhhdCBpcyByZW1vdmVkIGZyb20gdGhlIHdoaXRlbGlzdAC4RW1pdHMgYERlcGxveWVyUmVtb3ZlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLmhyZW5vdW5jZV9jb250cmFjdF9kZXBsb3llcgADHKEBUmVtb3ZlcyB0aGUgYWNjb3VudCdzIEVWTSBhZGRyZXNzIGZyb20gdGhlIGxpc3Qgb2YgYWRkcmVzc2VzIHRoYXQgYXJlIGFsbG93ZWQgdG8gZGVwbG95IHNtYXJ0IGNvbnRyYWN0cy7ZAUJhc2VkIG9uIHRoZSBiZXN0IHByYWN0aWNlcywgdGhpcyBleHRyaW5zaWMgY2FuIGJlIGNhbGxlZCBieSBhbnkgd2hpdGVsaXN0ZWQgYWNjb3VudCB0byByZW5vdW5jZSB0aGVpciBvd24gcGVybWlzc2lvbi4ALFBhcmFtZXRlcnM6MQEtIGBvcmlnaW5gOiBTdWJzdHJhdGUgYWNjb3VudCByZW1vdmluZyB0aGVpciBFVk0gYWRkcmVzcyBmcm9tIHRoZSB3aGl0ZWxpc3QuALhFbWl0cyBgRGVwbG95ZXJSZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuQGFwcHJvdmVfY29udHJhY3QEARxhZGRyZXNzQQEBKEV2bUFkZHJlc3MABCRJAUFkZHMgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdG8gdGhlIGxpc3Qgb2YgYXBwcm92ZWQgY29udHJhY3RzIHRvIG1hbmFnZSBiYWxhbmNlcy4A/EVmZmVjdGl2ZWx5IGdpdmluZyBpdCBhbGxvd2FuY2UgdG8gZm9yIGFueSBiYWxhbmNlcyBhbmQgdG9rZW5zLgAsUGFyYW1ldGVyczqgLSBgb3JpZ2luYDogIE11c3QgYmUgYENvbnRyb2xsZXJPcmlnaW5gLswtIGBhZGRyZXNzYDogQ29udHJhY3QgYWRkcmVzcyB0aGF0IHdpbGwgYmUgYXBwcm92ZWQAvEVtaXRzIGBDb250cmFjdEFwcHJvdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuTGRpc2FwcHJvdmVfY29udHJhY3QEARxhZGRyZXNzQQEBKEV2bUFkZHJlc3MABRxdAVJlbW92ZXMgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgZnJvbSB0aGUgbGlzdCBvZiBhcHByb3ZlZCBjb250cmFjdHMgdG8gbWFuYWdlIGJhbGFuY2VzLgAsUGFyYW1ldGVyczqgLSBgb3JpZ2luYDogIE11c3QgYmUgYENvbnRyb2xsZXJPcmlnaW5gLtgtIGBhZGRyZXNzYDogQ29udHJhY3QgYWRkcmVzcyB0aGF0IHdpbGwgYmUgZGlzYXBwcm92ZWQAyEVtaXRzIGBDb250cmFjdERpc2FwcHJvdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLlkEDGxwYWxsZXRfeHlrX2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0EENhbGwEBFQAATxIY3JlYXRlX2dsb2JhbF9mYXJtJAE0dG90YWxfcmV3YXJkcxgBHEJhbGFuY2UAAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMQASxQZXJpb2RPZjxUPgABRGJsb2Nrc19wZXJfcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4AAUhpbmNlbnRpdml6ZWRfYXNzZXQQARxBc3NldElkAAE8cmV3YXJkX2N1cnJlbmN5EAEcQXNzZXRJZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAFAeWllbGRfcGVyX3BlcmlvZD0DASxQZXJxdWludGlsbAABLG1pbl9kZXBvc2l0GAEcQmFsYW5jZQABQHByaWNlX2FkanVzdG1lbnQ9AQEkRml4ZWRVMTI4AAB09ENyZWF0ZSBuZXcgbGlxdWlkaXR5IG1pbmluZyBwcm9ncmFtIHdpdGggcHJvdmlkZWQgcGFyYW1ldGVycy4APQFgb3duZXJgIGFjY291bnQgaGFzIHRvIGhhdmUgYXQgbGVhc3QgYHRvdGFsX3Jld2FyZHNgIGJhbGFuY2UuIFRoaXMgZnVuZCB3aWxsIGJlpHRyYW5zZmVycmVkIGZyb20gYG93bmVyYCB0byBmYXJtIGFjY291bnQuZQFJbiBjYXNlIG9mIGByZXdhcmRfY3VycmVuY3lgIGlzIGluc3VmZmljaWVudCBhc3NldCwgZmFybSdzIGBvd25lcmAgaGFzIHRvIHBheSBleGlzdGVudGlhbB0BZGVwb3NpdCBmb3IgZ2xvYmFsIGZhcm0gYWNjb3VudCBhbmQgZm9yIGxpcXVpZGl0eSBtaW5pbmcgYHBvdGAgYWNjb3VudC4A8FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBUOjpDcmVhdGVPcmlnaW5gLlUBISEhV0FSTjogYFQ6OkNyZWF0ZU9yaWdpbmAgaGFzIHBvd2VyIG92ZXIgZnVuZHMgb2YgYG93bmVyYCdzIGFjY291bnQgYW5kIGl0IHNob3VsZCBiZdBjb25maWd1cmVkIHRvIHRydXN0ZWQgb3JpZ2luIGUuZyBTdWRvIG9yIEdvdmVybmFuY2UuACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLjEBLSBgdG90YWxfcmV3YXJkc2A6IHRvdGFsIHJld2FyZHMgcGxhbm5lZCB0byBkaXN0cmlidXRlLiBUaGlzIHJld2FyZHMgd2lsbCBiZdxkaXN0cmlidXRlZCBiZXR3ZWVuIGFsbCB5aWVsZCBmYXJtcyBpbiB0aGUgZ2xvYmFsIGZhcm0uWQEtIGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHNgOiBwbGFubmVkIG51bWJlciBvZiBwZXJpb2RzIHRvIGRpc3RyaWJ1dGUgYHRvdGFsX3Jld2FyZHNgLikBV0FSTjogVEhJUyBJUyBOT1QgSEFSRCBERUFETElORS4gTm90IGFsbCByZXdhcmRzIGhhdmUgdG8gYmUgZGlzdHJpYnV0ZWQgaW5dAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHNgLiBSZXdhcmRzIGFyZSBkaXN0cmlidXRlZCBiYXNlZCBvbiB0aGUgc2l0dWF0aW9uIGluIHRoZSB5aWVsZGEBZmFybXMgYW5kIGNhbiBiZSBkaXN0cmlidXRlZCBpbiBhIGxvbmdlciB0aW1lIGZyYW1lIGJ1dCBuZXZlciBpbiB0aGUgc2hvcnRlciB0aW1lIGZyYW1lLlkBLSBgYmxvY2tzX3Blcl9wZXJpb2RgOiAgbnVtYmVyIG9mIGJsb2NrcyBpbiBhIHNpbmdsZSBwZXJpb2QuIE1pbi4gbnVtYmVyIG9mIGJsb2NrcyBwZXIwcGVyaW9kIGlzIDEuZQEtIGBpbmNlbnRpdml6ZWRfYXNzZXRgOiBhc3NldCB0byBiZSBpbmNlbnRpdml6ZWQgaW4gWFlLIHBvb2xzLiBBbGwgeWllbGQgZmFybXMgYWRkZWQgaW50bxEBbGlxLiBtaW5pbmcgcHJvZ3JhbSBoYXZlIHRvIGhhdmUgYGluY2VudGl2aXplZF9hc3NldGAgaW4gdGhlaXIgcGFpci7ALSBgcmV3YXJkX2N1cnJlbmN5YDogcGF5b2ZmIGN1cnJlbmN5IG9mIHJld2FyZHMulC0gYG93bmVyYDogbGlxLiBtaW5pbmcgcHJvZ3JhbSBvd25lci45AS0gYHlpZWxkX3Blcl9wZXJpb2RgOiBwZXJjZW50YWdlIHJldHVybiBvbiBgcmV3YXJkX2N1cnJlbmN5YCBvZiBhbGwgZmFybXMgcC5hLgkBLSBgbWluX2RlcG9zaXRgOiBtaW5pbXVtIGFtb3VudCB3aGljaCBjYW4gYmUgZGVwb3NpdGVkIHRvIHRoZSBmYXJtVC0gYHByaWNlX2FkanVzdG1lbnRgOsBFbWl0cyBgR2xvYmFsRmFybUNyZWF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5IdXBkYXRlX2dsb2JhbF9mYXJtCAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAUBwcmljZV9hZGp1c3RtZW50PQEBJEZpeGVkVTEyOAABKJxVcGRhdGUgZ2xvYmFsIGZhcm0ncyBwcmljZXMgYWRqdXN0bWVudC4AqE9ubHkgZmFybSdzIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci7MLSBgZ2xvYmFsX2Zhcm1faWRgOiBpZCBvZiB0aGUgZ2xvYmFsIGZhcm0gdG8gdXBkYXRl0C0gYHByaWNlX2FkanVzdG1lbnRgOiBuZXcgdmFsdWUgZm9yIHByaWNlIGFkanVzdG1lbnQAwEVtaXRzIGBHbG9iYWxGYXJtVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLlR0ZXJtaW5hdGVfZ2xvYmFsX2Zhcm0EAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAACLJxUZXJtaW5hdGUgZXhpc3RpbmcgbGlxLiBtaW5pbmcgcHJvZ3JhbS4AoE9ubHkgZmFybSBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4A0QFXQVJOOiBUbyBzdWNjZXNzZnVsbHkgdGVybWluYXRlIGEgZmFybSwgZmFybSBoYXZlIHRvIGJlIGVtcHR5KGFsbCB5aWVsZCBmYXJtcyBpbiBoZSBnbG9iYWwgZmFybSBtdXN0IGJlIHRlcm1pbmF0ZWQpLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci7cLSBgZ2xvYmFsX2Zhcm1faWRgOiBpZCBvZiBnbG9iYWwgZmFybSB0byBiZSB0ZXJtaW5hdGVkLgDMRW1pdHMgYEdsb2JhbEZhcm1UZXJtaW5hdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuRGNyZWF0ZV95aWVsZF9mYXJtEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAShhc3NldF9wYWlyXQQBJEFzc2V0UGFpcgABKG11bHRpcGxpZXI9AQE4RmFybU11bHRpcGxpZXIAATRsb3lhbHR5X2N1cnZlQQMBUE9wdGlvbjxMb3lhbHR5Q3VydmU+AANIvEFkZCB5aWVsZCBmYXJtIGZvciBnaXZlbiBgYXNzZXRfcGFpcmAgWFlLIHBvb2wuBCCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgBVAU9ubHkgWFlLcyB3aXRoIGBhc3NldF9wYWlyYCB3aXRoIGBpbmNlbnRpdml6ZWRfYXNzZXRgIGNhbiBiZSBhZGRlZCBpbnRvIHRoZSBmYXJtLiBYWUsVAXBvb2wgZm9yIGBhc3NldF9wYWlyYCBoYXMgdG8gZXhpc3QgdG8gc3VjY2Vzc2Z1bGx5IGNyZWF0ZSB5aWVsZCBmYXJtLiEBWWllbGQgZmFybSBmb3Igc2FtZSBgYXNzZXRfcGFpcmAgY2FuIGV4aXN0IG9ubHkgb25jZSBpbiB0aGUgZ2xvYmFsIGZhcm0uACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLgEBLSBgZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkIHRvIHdoaWNoIGEgeWllbGQgZmFybSB3aWxsIGJlIGFkZGVkLl0BLSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgeWllbGQgZmFybS4gTGlxLiBtaW5pbmcgd2lsbCBiZSBhbGxvd2VkIGZvciB0aGlzMQFgYXNzZXRfcGFpcmAgYW5kIG9uZSBvZiB0aGUgYXNzZXRzIGluIHRoZSBwYWlyIG11c3QgYmUgYGluY2VudGl2aXplZF9hc3NldGAumC0gYG11bHRpcGxpZXJgOiB5aWVsZCBmYXJtIG11bHRpcGxpZXIuXQEtIGBsb3lhbHR5X2N1cnZlYDogY3VydmUgdG8gY2FsY3VsYXRlIGxveWFsdHkgbXVsdGlwbGllciB0byBkaXN0cmlidXRlIHJld2FyZHMgdG8gdXNlcnPgd2l0aCB0aW1lIGluY2VudGl2ZS4gYE5vbmVgIG1lYW5zIG5vIGxveWFsdHkgbXVsdGlwbGllci4AvEVtaXRzIGBZaWVsZEZhcm1DcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuRHVwZGF0ZV95aWVsZF9mYXJtDAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAShhc3NldF9wYWlyXQQBJEFzc2V0UGFpcgABKG11bHRpcGxpZXI9AQE4RmFybU11bHRpcGxpZXIABCx0VXBkYXRlIHlpZWxkIGZhcm0gbXVsdGlwbGllci4EIKBPbmx5IGZhcm0gb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLh0BLSBgZ2xvYmFsX2Zhcm1faWRgOiBnbG9iYWwgZmFybSBpZCBpbiB3aGljaCB5aWVsZCBmYXJtIHdpbGwgYmUgdXBkYXRlZC4FAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0gaW4gZ2xvYmFsIGZhcm0uqC0gYG11bHRpcGxpZXJgOiBuZXcgeWllbGQgZmFybSBtdWx0aXBsaWVyLgC8RW1pdHMgYFlpZWxkRmFybVVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC48c3RvcF95aWVsZF9mYXJtCAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAShhc3NldF9wYWlyXQQBJEFzc2V0UGFpcgAFPKRTdG9wIGxpcS4gbWltaW5nIGZvciBzcGVjaWZpYyB5aWVsZCBmYXJtLgA1AVRoaXMgZnVuY3Rpb24gY2xhaW1zIHJld2FyZHMgZnJvbSBgR2xvYmFsRmFybWAgbGFzdCB0aW1lIGFuZCBzdG9wcyB5aWVsZCBmYXJtIQFpbmNlbnRpdml6YXRpb24gZnJvbSBhIGBHbG9iYWxGYXJtYC4gVXNlcnMgd2lsbCBiZSBhYmxlIHRvIG9ubHkgd2l0aGRyYXfIc2hhcmVzKHdpdGggY2xhaW1pbmcpIGFmdGVyIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi5BAWBkZXBvc2l0X3NoYXJlcygpYCBhbmQgYGNsYWltX3Jld2FyZHMoKWAgYXJlIG5vdCBhbGxvd2VkIG9uIGNhbmNlbGVkIHlpZWxkIGZhcm0uBCCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4FAS0gYGdsb2JhbF9mYXJtX2lkYDogZmFybSBpZCBpbiB3aGljaCB5aWVsZCBmYXJtIHdpbGwgYmUgY2FuY2VsZWQu+C0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0gaW4gdGhlIGZhcm0uALxFbWl0cyBgWWllbGRGYXJtU3RvcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLkRyZXN1bWVfeWllbGRfZmFybRABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEoYXNzZXRfcGFpcl0EASRBc3NldFBhaXIAAShtdWx0aXBsaWVyPQEBOEZhcm1NdWx0aXBsaWVyAAZEpFJlc3VtZSB5aWVsZCBmYXJtIGZvciBzdG9wcGVkIHlpZWxkIGZhcm0uAFUBVGhpcyBmdW5jdGlvbiByZXN1bWUgaW5jZW50aXZpemF0aW9uIGZyb20gYEdsb2JhbEZhcm1gIGFuZCByZXN0b3JlIGZ1bGwgZnVuY3Rpb25hbGl0eSEBZm9yIHlpZWxkIGZhcm0uIFVzZXJzIHdpbGwgYmUgYWJsZSB0byBkZXBvc2l0LCBjbGFpbSBhbmQgd2l0aGRyYXcgYWdhaW4uAORXQVJOOiBZaWVsZCBmYXJtIGlzIE5PVCByZXdhcmRlZCBmb3IgdGltZSBpdCB3YXMgc3RvcHBlZC4AoE9ubHkgZmFybSBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuHQEtIGBnbG9iYWxfZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkIGluIHdoaWNoIHlpZWxkIGZhcm0gd2lsbCBiZSByZXN1bWVkLsgtIGB5aWVsZF9mYXJtX2lkYDogaWQgb2YgeWllbGQgZmFybSB0byBiZSByZXN1bWVkLgUBLSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgeWllbGQgZmFybSBpbiBnbG9iYWwgZmFybS7ILSBgbXVsdGlwbGllcmA6IHlpZWxkIGZhcm0gbXVsdGlwbGllciBpbiB0aGUgZmFybS4AvEVtaXRzIGBZaWVsZEZhcm1SZXN1bWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuUHRlcm1pbmF0ZV95aWVsZF9mYXJtDAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShhc3NldF9wYWlyXQQBJEFzc2V0UGFpcgAHTERSZW1vdmUgeWllbGQgZmFybQCBAVRoaXMgZnVuY3Rpb24gbWFya3MgYSB5aWVsZCBmYXJtIGFzIHJlYWR5IHRvIGJlIHJlbW92ZWQgZnJvbSBzdG9yYWdlIHdoZW4gaXQncyBlbXB0eS4gVXNlcnMgd2lsbGUBYmUgYWJsZSB0byBvbmx5IHdpdGhkcmF3IHNoYXJlcyh3aXRob3V0IGNsYWltaW5nIHJld2FyZHMgZnJvbSB5aWVsZCBmYXJtKS4gVW5wYWlkIHJld2FyZHNxAXdpbGwgYmUgdHJhbnNmZXJyZWQgYmFjayB0byBnbG9iYWwgZmFybSBhbmQgd2lsbCBiZSB1c2VkIHRvIGRpc3RyaWJ1dGUgdG8gb3RoZXIgeWllbGQgZmFybXMuAOBZaWVsZCBmYXJtIG11c3QgYmUgc3RvcHBlZCBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgBxAU9ubHkgZ2xvYmFsIGZhcm0ncyBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4gWWllbGQgZmFybSBzdGF5cyBpbiB0aGUgc3RvcmFnZSB1bnRpbCBpdCdzbQFlbXB0eShhbGwgZmFybSBlbnRyaWVzIGFyZSB3aXRoZHJhd24pLiBMYXN0IHdpdGhkcmF3biBmcm9tIHlpZWxkIGZhcm0gdHJpZ2dlciByZW1vdmluZyBmcm9tMHRoZSBzdG9yYWdlLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4dAS0gYGdsb2JhbF9mYXJtX2lkYDogZmFybSBpZCBmcm9tIHdoaWNoIHlpZWxkIGZhcm0gc2hvdWxkIGJlIHRlcm1pbmF0ZWQu1C0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB5aWVsZCBmYXJtIHRvIGJlIHRlcm1pbmF0ZWQuFQEtIGBhc3NldF9wYWlyYDogYXNzZXQgcGFpciBpZGVudGlmeWluZyB5aWVsZCBmYXJtIGluIHRoZSBnbG9iYWwgZmFybS4AyEVtaXRzIGBZaWVsZEZhcm1UZXJtaW5hdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuOGRlcG9zaXRfc2hhcmVzEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShhc3NldF9wYWlyXQQBJEFzc2V0UGFpcgABNHNoYXJlc19hbW91bnQYARxCYWxhbmNlAAg4jERlcG9zaXQgTFAgc2hhcmVzIHRvIGEgbGlxLiBtaW5pbmcuAFEBVGhpcyBmdW5jdGlvbiB0cmFuc2ZlcnMgTFAgc2hhcmVzIGZyb20gYG9yaWdpbmAgdG8gcGFsbGV0J3MgYWNjb3VudCBhbmQgbWludCBuZnQgZm9yDQFgb3JpZ2luYCBhY2NvdW50LiBNaW50ZWQgbmZ0IHJlcHJlc2VudHMgZGVwb3NpdCBpbiB0aGUgbGlxLiBtaW5pbmcuACxQYXJhbWV0ZXJzOi0BLSBgb3JpZ2luYDogYWNjb3VudCBkZXBvc2l0aW5nIExQIHNoYXJlcy4gVGhpcyBhY2NvdW50IGhhcyB0byBoYXZlIGF0IGxlYXN0dGBzaGFyZXNfYW1vdW50YCBvZiBMUCBzaGFyZXMuPQEtIGBnbG9iYWxfZmFybV9pZGA6IGlkIG9mIGdsb2JhbCBmYXJtIHRvIHdoaWNoIHVzZXIgd2FudHMgdG8gZGVwb3NpdCBMUCBzaGFyZXMuyC0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB5aWVsZCBmYXJtIHRvIGRlcG9zaXQgdG8uHQEtIGBhc3NldF9wYWlyYDogYXNzZXQgcGFpciBpZGVudGlmeWluZyBMUCBzaGFyZXMgdXNlciB3YW50cyB0byBkZXBvc2l0LvQtIGBzaGFyZXNfYW1vdW50YDogYW1vdW50IG9mIExQIHNoYXJlcyB1c2VyIHdhbnRzIHRvIGRlcG9zaXQuALhFbWl0cyBgU2hhcmVzRGVwb3NpdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuKGpvaW5fZmFybXMMATBmYXJtX2VudHJpZXNhBAERAUJvdW5kZWRWZWM8KEdsb2JhbEZhcm1JZCwgWWllbGRGYXJtSWQpLCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AAEoYXNzZXRfcGFpcl0EASRBc3NldFBhaXIAATRzaGFyZXNfYW1vdW50GAEcQmFsYW5jZQAMNLRKb2luIG11bHRpcGxlIGZhcm1zIHdpdGggYSBnaXZlbiBzaGFyZSBhbW91bnQA/FRoZSBzaGFyZSBpcyBkZXBvc2l0ZWQgdG8gdGhlIGZpcnN0IGZhcm0gb2YgdGhlIHNwZWNpZmllZCBmYW1zLNBhbmQgdGhlbiByZWRlcG9zaXQgdGhlIHNoYXJlcyB0byB0aGUgcmVtYWluaW5nIGZhcm1zACxQYXJhbWV0ZXJzOi0BLSBgb3JpZ2luYDogYWNjb3VudCBkZXBvc2l0aW5nIExQIHNoYXJlcy4gVGhpcyBhY2NvdW50IGhhcyB0byBoYXZlIGF0IGxlYXN0IQEtIGBmYXJtX2VudHJpZXNgOiBsaXN0IG9mIGdsb2JhbCBmYXJtIGlkIGFuZCB5aWVsZCBmYXJtIGlkIHBhaXJzIHRvIGpvaW4dAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIExQIHNoYXJlcyB1c2VyIHdhbnRzIHRvIGRlcG9zaXQu9C0gYHNoYXJlc19hbW91bnRgOiBhbW91bnQgb2YgTFAgc2hhcmVzIHVzZXIgd2FudHMgdG8gZGVwb3NpdC4A2EVtaXRzIGBTaGFyZXNEZXBvc2l0ZWRgIGV2ZW50IGZvciB0aGUgZmlyc3QgZmFybSBlbnRyeR0BRW1pdHMgYFNoYXJlc1JlZGVwb3NpdGVkYCBldmVudCBmb3IgZWFjaCBmYXJtIGVudHJ5IGFmdGVyIHRoZSBmaXJzdCBvbmVwYWRkX2xpcXVpZGl0eV9hbmRfam9pbl9mYXJtcxQBHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAASBhbW91bnRfYRgBHEJhbGFuY2UAAUhhbW91bnRfYl9tYXhfbGltaXQYARxCYWxhbmNlAAEwZmFybV9lbnRyaWVzYQQBEQFCb3VuZGVkVmVjPChHbG9iYWxGYXJtSWQsIFlpZWxkRmFybUlkKSwgVDo6TWF4RmFybUVudHJpZXNQZXJEZXBvc2l0PgANPC0BQWRkIGxpcXVpZGl0eSB0byBYWUsgcG9vbCBhbmQgam9pbiBtdWx0aXBsZSBmYXJtcyB3aXRoIGEgZ2l2ZW4gc2hhcmUgYW1vdW50AAkBVGhlIHNoYXJlIGlzIGRlcG9zaXRlZCB0byB0aGUgZmlyc3QgZmFybSBvZiB0aGUgc3BlY2lmaWVkIGVudHJpZXMs0GFuZCB0aGVuIHJlZGVwb3NpdCB0aGUgc2hhcmVzIHRvIHRoZSByZW1haW5pbmcgZmFybXMALFBhcmFtZXRlcnM6LQEtIGBvcmlnaW5gOiBhY2NvdW50IGRlcG9zaXRpbmcgTFAgc2hhcmVzLiBUaGlzIGFjY291bnQgaGFzIHRvIGhhdmUgYXQgbGVhc3TQLSBgYXNzZXRfYWA6IGFzc2V0IGlkIG9mIHRoZSBmaXJzdCBhc3NldCBpbiB0aGUgcGFpctQtIGBhc3NldF9iYDogYXNzZXQgaWQgb2YgdGhlIHNlY29uZCBhc3NldCBpbiB0aGUgcGFpcsgtIGBhbW91bnRfYWA6IGFtb3VudCBvZiB0aGUgZmlyc3QgYXNzZXQgdG8gZGVwb3NpdBUBLSBgYW1vdW50X2JfbWF4X2xpbWl0YDogbWF4aW11bSBhbW91bnQgb2YgdGhlIHNlY29uZCBhc3NldCB0byBkZXBvc2l0IQEtIGBmYXJtX2VudHJpZXNgOiBsaXN0IG9mIGdsb2JhbCBmYXJtIGlkIGFuZCB5aWVsZCBmYXJtIGlkIHBhaXJzIHRvIGpvaW4A2EVtaXRzIGBTaGFyZXNEZXBvc2l0ZWRgIGV2ZW50IGZvciB0aGUgZmlyc3QgZmFybSBlbnRyeR0BRW1pdHMgYFNoYXJlc1JlZGVwb3NpdGVkYCBldmVudCBmb3IgZWFjaCBmYXJtIGVudHJ5IGFmdGVyIHRoZSBmaXJzdCBvbmVAcmVkZXBvc2l0X3NoYXJlcxABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEoYXNzZXRfcGFpcl0EASRBc3NldFBhaXIAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAk85FJlZGVwb3NpdCBhbHJlYWR5IGxvY2tlZCBMUCBzaGFyZXMgdG8gYW5vdGhlciB5aWVsZCBmYXJtLgBlAVRoaXMgZnVuY3Rpb24gY3JlYXRlIHlpZWxkIGZhcm0gZW50cnkgZm9yIGV4aXN0aW5nIGRlcG9zaXQuIExQIHNoYXJlcyBhcmUgbm90IHRyYW5zZmVycmVk1GFuZCBhbW91bnQgb2YgTFAgc2hhcmVzIGlzIGJhc2VkIG9uIGV4aXN0aW5nIGRlcG9zaXQuAKRUaGlzIGZ1bmN0aW9uIERPRVNOJ1QgY3JlYXRlIG5ldyBkZXBvc2l0LgAsUGFyYW1ldGVyczoxAS0gYG9yaWdpbmA6IGFjY291bnQgZGVwb3NpdGluZyBMUCBzaGFyZXMuIFRoaXMgYWNjb3VudCBoYXZlIHRvIGhhdmUgYXQgbGVhc3SsLSBgZ2xvYmFsX2Zhcm1faWRgOiBnbG9iYWwgZmFybSBpZGVudGlmaWVyLuQtIGB5aWVsZF9mYXJtX2lkYDogeWllbGQgZmFybSBpZGVudGlmaWVyIHJlZGVwb3NpdGluZyB0by4ZAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIExQIHNoYXJlcyB1c2VyIHdhbnQgdG8gZGVwb3NpdC6oLSBgZGVwb3NpdF9pZGA6IGlkZW50aWZpZXIgb2YgdGhlIGRlcG9zaXQuAMBFbWl0cyBgU2hhcmVzUmVkZXBvc2l0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC40Y2xhaW1fcmV3YXJkcwgBKGRlcG9zaXRfaWQYASREZXBvc2l0SWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQACiwNAUNsYWltIHJld2FyZHMgZnJvbSBsaXEuIG1pbmluZyBmb3IgZGVwb3NpdCByZXByZXNlbnRlZCBieSBgbmZ0X2lkYC4AWQFUaGlzIGZ1bmN0aW9uIGNhbGN1bGF0ZSB1c2VyIHJld2FyZHMgZnJvbSBsaXEuIG1pbmluZyBhbmQgdHJhbnNmZXIgcmV3YXJkcyB0byBgb3JpZ2luYOhhY2NvdW50LiBDbGFpbWluZyBpbiB0aGUgc2FtZSBwZXJpb2QgaXMgYWxsb3dlZCBvbmx5IG9uY2UuACxQYXJhbWV0ZXJzOqgtIGBvcmlnaW5gOiBhY2NvdW50IG93bmVyIG9mIGRlcG9zaXQobmZ0KS74LSBgZGVwb3NpdF9pZGA6IG5mdCBpZCByZXByZXNlbnRpbmcgZGVwb3NpdCBpbiB0aGUgeWllbGQgZmFybS78LSBgeWllbGRfZmFybV9pZGA6IHlpZWxkIGZhcm0gaWRlbnRpZmllciB0byBjbGFpbSByZXdhcmRzIGZyb20uALBFbWl0cyBgUmV3YXJkQ2xhaW1lZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLjx3aXRoZHJhd19zaGFyZXMMAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEoYXNzZXRfcGFpcl0EASRBc3NldFBhaXIAC1gVAVdpdGhkcmF3IExQIHNoYXJlcyBmcm9tIGxpcS4gbWluaW5nIHdpdGggcmV3YXJkIGNsYWltaW5nIGlmIHBvc3NpYmxlLgAVAUxpc3Qgb2YgcG9zc2libGUgY2FzZXMgb2YgdHJhbnNmZXJzIG9mIExQIHNoYXJlcyBhbmQgY2xhaW1lZCByZXdhcmRzOgBRASogeWllbGQgZmFybSBpcyBhY3RpdmUoeWllbGQgZmFybSBpcyBub3Qgc3RvcHBlZCkgLSBjbGFpbSBhbmQgdHJhbnNmZXIgcmV3YXJkcyhpZiBpdNh3YXNuJ3QgY2xhaW1lZCBpbiB0aGlzIHBlcmlvZCkgYW5kIHRyYW5zZmVyIExQIHNoYXJlcy7sKiBsaXEuIG1pbmluZyBpcyBzdG9wcGVkIC0gY2xhaW0gYW5kIHRyYW5zZmVyIHJld2FyZHMoaWYgaXTYd2Fzbid0IGNsYWltZWQgaW4gdGhpcyBwZXJpb2QpIGFuZCB0cmFuc2ZlciBMUCBzaGFyZXMuBQEqIHlpZWxkIGZhcm0gd2FzIHRlcm1pbmF0ZWQgLSBvbmx5IExQIHNoYXJlcyB3aWxsIGJlIHRyYW5zZmVycmVkLuwqIGZhcm0gd2FzIHRlcm1pbmF0ZWQgLSBvbmx5IExQIHNoYXJlcyB3aWxsIGJlIHRyYW5zZmVycmVkLgA1AVVzZXIncyB1bmNsYWltYWJsZSByZXdhcmRzIHdpbGwgYmUgdHJhbnNmZXJyZWQgYmFjayB0byBnbG9iYWwgZmFybSdzIGFjY291bnQuACxQYXJhbWV0ZXJzOqgtIGBvcmlnaW5gOiBhY2NvdW50IG93bmVyIG9mIGRlcG9zaXQobmZ0KS74LSBgZGVwb3NpdF9pZGA6IG5mdCBpZCByZXByZXNlbnRpbmcgZGVwb3NpdCBpbiB0aGUgeWllbGQgZmFybS4FAS0gYHlpZWxkX2Zhcm1faWRgOiB5aWVsZCBmYXJtIGlkZW50aWZpZXIgdG8gZGl0aGRyYXcgc2hhcmVzIGZyb20uBQEtIGBhc3NldF9wYWlyYDogYXNzZXQgcGFpciBpZGVudGlmeWluZyB5aWVsZCBmYXJtIGluIGdsb2JhbCBmYXJtLgAYRW1pdHM6hCogYFJld2FyZENsYWltZWRgIGlmIGNsYWltIGhhcHBlbqQqIGBTaGFyZXNXaXRoZHJhd25gIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bChleGl0X2Zhcm1zDAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAABKGFzc2V0X3BhaXJdBAEkQXNzZXRQYWlyAAEwZmFybV9lbnRyaWVzZQQB0EJvdW5kZWRWZWM8WWllbGRGYXJtSWQsIFQ6Ok1heEZhcm1FbnRyaWVzUGVyRGVwb3NpdD4ADkCMRXhpdCBmcm9tIGFsbCBzcGVjaWZpZWQgeWllbGQgZmFybXMAXQFUaGlzIGZ1bmN0aW9uIHdpbGwgYXR0ZW1wdCB0byB3aXRoZHJhdyBzaGFyZXMgYW5kIGNsYWltIHJld2FyZHMgKGlmIGF2YWlsYWJsZSkgZnJvbSBhbGyoc3BlY2lmaWVkIHlpZWxkIGZhcm1zIGZvciBhIGdpdmVuIGRlcG9zaXQuACxQYXJhbWV0ZXJzOqgtIGBvcmlnaW5gOiBhY2NvdW50IG93bmVyIG9mIGRlcG9zaXQobmZ0KS74LSBgZGVwb3NpdF9pZGA6IG5mdCBpZCByZXByZXNlbnRpbmcgZGVwb3NpdCBpbiB0aGUgeWllbGQgZmFybS4dAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0ocykgaW4gZ2xvYmFsIGZhcm0ocyku2C0gYGZhcm1fZW50cmllc2A6IGlkKHMpIG9mIHlpZWxkIGZhcm0ocykgdG8gZXhpdCBmcm9tLgAYRW1pdHM6rCogYFJld2FyZENsYWltZWRgIGZvciBlYWNoIHN1Y2Nlc3NmdWwgY2xhaW3IKiBgU2hhcmVzV2l0aGRyYXduYCBmb3IgZWFjaCBzdWNjZXNzZnVsIHdpdGhkcmF3YWzYKiBgRGVwb3NpdERlc3Ryb3llZGAgaWYgdGhlIGRlcG9zaXQgaXMgZnVsbHkgd2l0aGRyYXduAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5dBAwocGFsbGV0X3h5axR0eXBlcyRBc3NldFBhaXIAAAgBIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAAGEEDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBTQMEUwAABABRAwEYVmVjPFQ+AABlBAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUARAEUwAABABZAwEYVmVjPFQ+AABpBAxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0EENhbGwIBFQABEkAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMubQQMWHBhbGxldF9yZWxheWNoYWluX2luZm8YcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMucQQMKHBhbGxldF9kY2EYcGFsbGV0EENhbGwEBFQAAQwgc2NoZWR1bGUIASBzY2hlZHVsZXUEAdRTY2hlZHVsZTxUOjpBY2NvdW50SWQsIFQ6OkFzc2V0SWQsIEJsb2NrTnVtYmVyRm9yPFQ+PgABVHN0YXJ0X2V4ZWN1dGlvbl9ibG9ja1kBAWRPcHRpb248QmxvY2tOdW1iZXJGb3I8VD4+AABkPQFDcmVhdGVzIGEgbmV3IERDQSAoRG9sbGFyLUNvc3QgQXZlcmFnaW5nKSBzY2hlZHVsZSBhbmQgcGxhbnMgdGhlIG5leHQgZXhlY3V0aW9uYGZvciB0aGUgc3BlY2lmaWVkIGJsb2NrLgAtAUlmIHRoZSBibG9jayBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZXhlY3V0aW9uIGlzIHBsYW5uZWQgZm9yIHRoZSBuZXh0IGJsb2NrLkkBSWYgdGhlIGdpdmVuIGJsb2NrIGlzIGZ1bGwsIHRoZSBleGVjdXRpb24gd2lsbCBiZSBwbGFubmVkIGluIHRoZSBzdWJzZXF1ZW50IGJsb2NrLgBRAU9uY2UgdGhlIHNjaGVkdWxlIGlzIGNyZWF0ZWQsIHRoZSBzcGVjaWZpZWQgYHRvdGFsX2Ftb3VudGAgd2lsbCBiZSByZXNlcnZlZCBmb3IgRENBLh0BVGhlIHJlc2VydmF0aW9uIGN1cnJlbmN5IHdpbGwgYmUgdGhlIGBhbW91bnRfaW5gIGN1cnJlbmN5IG9mIHRoZSBvcmRlci4A4FRyYWRlcyBhcmUgZXhlY3V0ZWQgYXMgbG9uZyBhcyB0aGVyZSBpcyBidWRnZXQgcmVtYWluaW5nTQFmcm9tIHRoZSBpbml0aWFsIGB0b3RhbF9hbW91bnRgIGFsbG9jYXRpb24sIHVubGVzcyBgdG90YWxfYW1vdW50YCBpcyAwLCB0aGVuIHRyYWRlc6hhcmUgZXhlY3V0ZWQgdW50aWwgc2NoZWR1bGUgaXMgdGVybWluYXRlZC4AVQFJZiBhIHRyYWRlIGZhaWxzIGR1ZSB0byBzbGlwcGFnZSBsaW1pdCBvciBwcmljZSBzdGFiaWxpdHkgZXJyb3JzLCBpdCB3aWxsIGJlIHJldHJpZWQu1ElmIHRoZSBudW1iZXIgb2YgcmV0cmllcyByZWFjaGVzIHRoZSBtYXhpbXVtIGFsbG93ZWQssHRoZSBzY2hlZHVsZSB3aWxsIGJlIHRlcm1pbmF0ZWQgcGVybWFuZW50bHku+EluIHRoZSBjYXNlIG9mIGEgc3VjY2Vzc2Z1bCB0cmFkZSwgdGhlIHJldHJ5IGNvdW50ZXIgaXMgcmVzZXQuACxQYXJhbWV0ZXJzOmgtIGBvcmlnaW5gOiBzY2hlZHVsZSBvd25lcngtIGBzY2hlZHVsZWA6IHNjaGVkdWxlIGRldGFpbHMpAS0gYHN0YXJ0X2V4ZWN1dGlvbl9ibG9ja2A6IGZpcnN0IHBvc3NpYmxlIGV4ZWN1dGlvbiBibG9jayBmb3IgdGhlIHNjaGVkdWxlAPxFbWl0cyBgU2NoZWR1bGVkYCBhbmQgYEV4ZWN1dGlvblBsYW5uZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AJHRlcm1pbmF0ZQgBLHNjaGVkdWxlX2lkEAEoU2NoZWR1bGVJZAABUG5leHRfZXhlY3V0aW9uX2Jsb2NrWQEBZE9wdGlvbjxCbG9ja051bWJlckZvcjxUPj4AASwJAVRlcm1pbmF0ZXMgYSBEQ0Egc2NoZWR1bGUgYW5kIHJlbW92ZSBpdCBjb21wbGV0ZWx5IGZyb20gdGhlIGNoYWluLgBBAVRoaXMgY2FuIGJlIGNhbGxlZCBieSBib3RoIHNjaGVkdWxlIG93bmVyIG9yIHRoZSBjb25maWd1cmVkIGBUOjpUZXJtaW5hdGVPcmlnaW5gACxQYXJhbWV0ZXJzOmgtIGBvcmlnaW5gOiBzY2hlZHVsZSBvd25lcnAtIGBzY2hlZHVsZV9pZGA6IHNjaGVkdWxlIGlkFQEtIGBuZXh0X2V4ZWN1dGlvbl9ibG9ja2A6IGJsb2NrIG51bWJlciB3aGVyZSB0aGUgc2NoZWR1bGUgaXMgcGxhbm5lZC4ApEVtaXRzIGBUZXJtaW5hdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADx1bmxvY2tfcmVzZXJ2ZXMIAQx3aG8AATBUOjpBY2NvdW50SWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAjRdAVVubG9ja3MgRENBIHJlc2VydmVzIG9mIHByb3ZpZGVkIGFzc2V0IGZvciB0aGUgY2FsbGVyIGlmIHRoZXkgaGF2ZSBubyBhY3RpdmUgc2NoZWR1bGVzLgA1AVRoaXMgaXMgYSB1dGlsaXR5IGZ1bmN0aW9uIHRvIGhlbHAgdXNlcnMgcmVjb3ZlciB0aGVpciByZXNlcnZlZCBmdW5kcyBpbiBjYXNl9GEgRENBIHNjaGVkdWxlIHdhcyB0ZXJtaW5hdGVkIGJ1dCBsZWZ0IHNvbWUgcmVzZXJ2ZWQgYW1vdW50cy4ACQFUaGlzIGNhbiBvbmx5IGJlIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGhhcyBubyBhY3RpdmUgRENBIHNjaGVkdWxlcy4ALFBhcmFtZXRlcnM6/C0gYG9yaWdpbmA6IFRoZSBhY2NvdW50IHRvIHVubG9jayByZXNlcnZlcyBmb3IgKG11c3QgYmUgc2lnbmVkKQUBLSBgYXNzZXRfaWRgOiBUaGUgYXNzZXQgSUQgZm9yIHdoaWNoIHJlc2VydmVzIHNob3VsZCBiZSB1bmxvY2tlZC4AuEVtaXRzIGBSZXNlcnZlVW5sb2NrZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLnUEDChwYWxsZXRfZGNhFHR5cGVzIFNjaGVkdWxlDCRBY2NvdW50SWQBABxBc3NldElkARAsQmxvY2tOdW1iZXIBEAAcARRvd25lcgABJEFjY291bnRJZAABGHBlcmlvZBABLEJsb2NrTnVtYmVyAAEwdG90YWxfYW1vdW50GAEcQmFsYW5jZQABLG1heF9yZXRyaWVz6QIBKE9wdGlvbjx1OD4AAUxzdGFiaWxpdHlfdGhyZXNob2xk9QMBPE9wdGlvbjxQZXJtaWxsPgABIHNsaXBwYWdl9QMBPE9wdGlvbjxQZXJtaWxsPgABFG9yZGVyeQQBOE9yZGVyPEFzc2V0SWQ+AAB5BAwocGFsbGV0X2RjYRR0eXBlcxRPcmRlcgQcQXNzZXRJZAEQAQgQU2VsbBQBIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAE4bWluX2Ftb3VudF9vdXQYARxCYWxhbmNlAAEUcm91dGV9AwHoQm91bmRlZFZlYzxUcmFkZTxBc3NldElkPiwgQ29uc3RVMzI8TUFYX05VTUJFUl9PRl9UUkFERVM+PgAAAAxCdXkUASBhc3NldF9pbhABHEFzc2V0SWQAASRhc3NldF9vdXQQARxBc3NldElkAAEoYW1vdW50X291dBgBHEJhbGFuY2UAATRtYXhfYW1vdW50X2luGAEcQmFsYW5jZQABFHJvdXRlfQMB6EJvdW5kZWRWZWM8VHJhZGU8QXNzZXRJZD4sIENvbnN0VTMyPE1BWF9OVU1CRVJfT0ZfVFJBREVTPj4AAQAAfQQMQHBhbGxldF9zY2hlZHVsZXIYcGFsbGV0EENhbGwEBFQAASggc2NoZWR1bGUQARB3aGVuEAFEQmxvY2tOdW1iZXJGb3I8VD4AAThtYXliZV9wZXJpb2RpY3UDAaxPcHRpb248c2NoZWR1bGU6OlBlcmlvZDxCbG9ja051bWJlckZvcjxUPj4+AAEgcHJpb3JpdHkIAUhzY2hlZHVsZTo6UHJpb3JpdHkAARBjYWxsEQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AAARwQW5vbnltb3VzbHkgc2NoZWR1bGUgYSB0YXNrLhhjYW5jZWwIARB3aGVuEAFEQmxvY2tOdW1iZXJGb3I8VD4AARRpbmRleBABDHUzMgABBJRDYW5jZWwgYW4gYW5vbnltb3VzbHkgc2NoZWR1bGVkIHRhc2suOHNjaGVkdWxlX25hbWVkFAEIaWQEASBUYXNrTmFtZQABEHdoZW4QAURCbG9ja051bWJlckZvcjxUPgABOG1heWJlX3BlcmlvZGljdQMBrE9wdGlvbjxzY2hlZHVsZTo6UGVyaW9kPEJsb2NrTnVtYmVyRm9yPFQ+Pj4AASBwcmlvcml0eQgBSHNjaGVkdWxlOjpQcmlvcml0eQABEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgACBFhTY2hlZHVsZSBhIG5hbWVkIHRhc2suMGNhbmNlbF9uYW1lZAQBCGlkBAEgVGFza05hbWUAAwR4Q2FuY2VsIGEgbmFtZWQgc2NoZWR1bGVkIHRhc2suOHNjaGVkdWxlX2FmdGVyEAEUYWZ0ZXIQAURCbG9ja051bWJlckZvcjxUPgABOG1heWJlX3BlcmlvZGljdQMBrE9wdGlvbjxzY2hlZHVsZTo6UGVyaW9kPEJsb2NrTnVtYmVyRm9yPFQ+Pj4AASBwcmlvcml0eQgBSHNjaGVkdWxlOjpQcmlvcml0eQABEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgAEBKhBbm9ueW1vdXNseSBzY2hlZHVsZSBhIHRhc2sgYWZ0ZXIgYSBkZWxheS5Qc2NoZWR1bGVfbmFtZWRfYWZ0ZXIUAQhpZAQBIFRhc2tOYW1lAAEUYWZ0ZXIQAURCbG9ja051bWJlckZvcjxUPgABOG1heWJlX3BlcmlvZGljdQMBrE9wdGlvbjxzY2hlZHVsZTo6UGVyaW9kPEJsb2NrTnVtYmVyRm9yPFQ+Pj4AASBwcmlvcml0eQgBSHNjaGVkdWxlOjpQcmlvcml0eQABEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgAFBJBTY2hlZHVsZSBhIG5hbWVkIHRhc2sgYWZ0ZXIgYSBkZWxheS4kc2V0X3JldHJ5DAEQdGFza00DAXhUYXNrQWRkcmVzczxCbG9ja051bWJlckZvcjxUPj4AARxyZXRyaWVzCAEIdTgAARhwZXJpb2QQAURCbG9ja051bWJlckZvcjxUPgAGMFkBU2V0IGEgcmV0cnkgY29uZmlndXJhdGlvbiBmb3IgYSB0YXNrIHNvIHRoYXQsIGluIGNhc2UgaXRzIHNjaGVkdWxlZCBydW4gZmFpbHMsIGl0IHdpbGxVAWJlIHJldHJpZWQgYWZ0ZXIgYHBlcmlvZGAgYmxvY2tzLCBmb3IgYSB0b3RhbCBhbW91bnQgb2YgYHJldHJpZXNgIHJldHJpZXMgb3IgdW50aWwgaXQkc3VjY2VlZHMuAFUBVGFza3Mgd2hpY2ggbmVlZCB0byBiZSBzY2hlZHVsZWQgZm9yIGEgcmV0cnkgYXJlIHN0aWxsIHN1YmplY3QgdG8gd2VpZ2h0IG1ldGVyaW5nIGFuZFEBYWdlbmRhIHNwYWNlLCBzYW1lIGFzIGEgcmVndWxhciB0YXNrLiBJZiBhIHBlcmlvZGljIHRhc2sgZmFpbHMsIGl0IHdpbGwgYmUgc2NoZWR1bGVkkG5vcm1hbGx5IHdoaWxlIHRoZSB0YXNrIGlzIHJldHJ5aW5nLgBRAVRhc2tzIHNjaGVkdWxlZCBhcyBhIHJlc3VsdCBvZiBhIHJldHJ5IGZvciBhIHBlcmlvZGljIHRhc2sgYXJlIHVubmFtZWQsIG5vbi1wZXJpb2RpYz0BY2xvbmVzIG9mIHRoZSBvcmlnaW5hbCB0YXNrLiBUaGVpciByZXRyeSBjb25maWd1cmF0aW9uIHdpbGwgYmUgZGVyaXZlZCBmcm9tIHRoZU0Bb3JpZ2luYWwgdGFzaydzIGNvbmZpZ3VyYXRpb24sIGJ1dCB3aWxsIGhhdmUgYSBsb3dlciB2YWx1ZSBmb3IgYHJlbWFpbmluZ2AgdGhhbiB0aGVkb3JpZ2luYWwgYHRvdGFsX3JldHJpZXNgLjxzZXRfcmV0cnlfbmFtZWQMAQhpZAQBIFRhc2tOYW1lAAEccmV0cmllcwgBCHU4AAEYcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4ABzBdAVNldCBhIHJldHJ5IGNvbmZpZ3VyYXRpb24gZm9yIGEgbmFtZWQgdGFzayBzbyB0aGF0LCBpbiBjYXNlIGl0cyBzY2hlZHVsZWQgcnVuIGZhaWxzLCBpdF0Bd2lsbCBiZSByZXRyaWVkIGFmdGVyIGBwZXJpb2RgIGJsb2NrcywgZm9yIGEgdG90YWwgYW1vdW50IG9mIGByZXRyaWVzYCByZXRyaWVzIG9yIHVudGlsMGl0IHN1Y2NlZWRzLgBVAVRhc2tzIHdoaWNoIG5lZWQgdG8gYmUgc2NoZWR1bGVkIGZvciBhIHJldHJ5IGFyZSBzdGlsbCBzdWJqZWN0IHRvIHdlaWdodCBtZXRlcmluZyBhbmRRAWFnZW5kYSBzcGFjZSwgc2FtZSBhcyBhIHJlZ3VsYXIgdGFzay4gSWYgYSBwZXJpb2RpYyB0YXNrIGZhaWxzLCBpdCB3aWxsIGJlIHNjaGVkdWxlZJBub3JtYWxseSB3aGlsZSB0aGUgdGFzayBpcyByZXRyeWluZy4AUQFUYXNrcyBzY2hlZHVsZWQgYXMgYSByZXN1bHQgb2YgYSByZXRyeSBmb3IgYSBwZXJpb2RpYyB0YXNrIGFyZSB1bm5hbWVkLCBub24tcGVyaW9kaWM9AWNsb25lcyBvZiB0aGUgb3JpZ2luYWwgdGFzay4gVGhlaXIgcmV0cnkgY29uZmlndXJhdGlvbiB3aWxsIGJlIGRlcml2ZWQgZnJvbSB0aGVNAW9yaWdpbmFsIHRhc2sncyBjb25maWd1cmF0aW9uLCBidXQgd2lsbCBoYXZlIGEgbG93ZXIgdmFsdWUgZm9yIGByZW1haW5pbmdgIHRoYW4gdGhlZG9yaWdpbmFsIGB0b3RhbF9yZXRyaWVzYC4wY2FuY2VsX3JldHJ5BAEQdGFza00DAXhUYXNrQWRkcmVzczxCbG9ja051bWJlckZvcjxUPj4ACASoUmVtb3ZlcyB0aGUgcmV0cnkgY29uZmlndXJhdGlvbiBvZiBhIHRhc2suSGNhbmNlbF9yZXRyeV9uYW1lZAQBCGlkBAEgVGFza05hbWUACQS8Q2FuY2VsIHRoZSByZXRyeSBjb25maWd1cmF0aW9uIG9mIGEgbmFtZWQgdGFzay4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMugQQMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW0YcGFsbGV0EENhbGwEBFQAAQhMc2V0X3ZhbGlkYXRpb25fZGF0YQQBEGRhdGGFBAFUUGFyYWNoYWluSW5oZXJlbnREYXRhAAAkgFNldCB0aGUgY3VycmVudCB2YWxpZGF0aW9uIGRhdGEuAEEBVGhpcyBzaG91bGQgYmUgaW52b2tlZCBleGFjdGx5IG9uY2UgcGVyIGJsb2NrLiBJdCB3aWxsIHBhbmljIGF0IHRoZSBmaW5hbGl6YXRpb26IcGhhc2UgaWYgdGhlIGNhbGwgd2FzIG5vdCBpbnZva2VkLgDQVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYEluaGVyZW50YAAhAUFzIGEgc2lkZSBlZmZlY3QsIHRoaXMgZnVuY3Rpb24gdXBncmFkZXMgdGhlIGN1cnJlbnQgdmFsaWRhdGlvbiBmdW5jdGlvboRpZiB0aGUgYXBwcm9wcmlhdGUgdGltZSBoYXMgY29tZS5gc3Vkb19zZW5kX3Vwd2FyZF9tZXNzYWdlBAEcbWVzc2FnZTgBNFVwd2FyZE1lc3NhZ2UAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuhQQIlGN1bXVsdXNfcHJpbWl0aXZlc19wYXJhY2hhaW5faW5oZXJlbnRUUGFyYWNoYWluSW5oZXJlbnREYXRhAAAQATx2YWxpZGF0aW9uX2RhdGGJBAFcUGVyc2lzdGVkVmFsaWRhdGlvbkRhdGEAAURyZWxheV9jaGFpbl9zdGF0ZZEEAVRzcF90cmllOjpTdG9yYWdlUHJvb2YAAURkb3dud2FyZF9tZXNzYWdlc5kEAWxWZWM8SW5ib3VuZERvd253YXJkTWVzc2FnZT4AAUxob3Jpem9udGFsX21lc3NhZ2VzoQQBpEJUcmVlTWFwPFBhcmFJZCwgVmVjPEluYm91bmRIcm1wTWVzc2FnZT4+AACJBAxMcG9sa2Fkb3RfcHJpbWl0aXZlcwh2OFxQZXJzaXN0ZWRWYWxpZGF0aW9uRGF0YQgESAE0BE4BEAAQASxwYXJlbnRfaGVhZI0EASBIZWFkRGF0YQABTHJlbGF5X3BhcmVudF9udW1iZXIQAQROAAFkcmVsYXlfcGFyZW50X3N0b3JhZ2Vfcm9vdDQBBEgAATBtYXhfcG92X3NpemUQAQx1MzIAAI0EDHRwb2xrYWRvdF9wYXJhY2hhaW5fcHJpbWl0aXZlcyhwcmltaXRpdmVzIEhlYWREYXRhAAAEADgBHFZlYzx1OD4AAJEEDBxzcF90cmllNHN0b3JhZ2VfcHJvb2YwU3RvcmFnZVByb29mAAAEASh0cmllX25vZGVzlQQBREJUcmVlU2V0PFZlYzx1OD4+AACVBAQgQlRyZWVTZXQEBFQBOAAEACEBAAAAmQQAAAKdBACdBAhgcG9sa2Fkb3RfY29yZV9wcmltaXRpdmVzWEluYm91bmREb3dud2FyZE1lc3NhZ2UELEJsb2NrTnVtYmVyARAACAEcc2VudF9hdBABLEJsb2NrTnVtYmVyAAEMbXNnOAE8RG93bndhcmRNZXNzYWdlAAChBAQgQlRyZWVNYXAIBEsBvQEEVgGlBAAEAK0EAAAApQQAAAKpBACpBAhgcG9sa2Fkb3RfY29yZV9wcmltaXRpdmVzSEluYm91bmRIcm1wTWVzc2FnZQQsQmxvY2tOdW1iZXIBEAAIARxzZW50X2F0EAEsQmxvY2tOdW1iZXIAARBkYXRhOAFMYWxsb2M6OnZlYzo6VmVjPHU4PgAArQQAAAKxBACxBAAABAi9AaUEALUEDFhzdGFnaW5nX3BhcmFjaGFpbl9pbmZvGHBhbGxldBBDYWxsBARUAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLrkEDChwYWxsZXRfeGNtGHBhbGxldBBDYWxsBARUAAE4EHNlbmQIARBkZXN0vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AARxtZXNzYWdl3QQBVEJveDxWZXJzaW9uZWRYY208KCk+PgAAADx0ZWxlcG9ydF9hc3NldHMQARBkZXN0vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AASxiZW5lZmljaWFyeb0EAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRz4QUBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW0QAQx1MzIAAUgRAVRlbGVwb3J0IHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHNvbWUgZGVzdGluYXRpb24gY2hhaW4uAB0BKipUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQ6IFVzZSBgbGltaXRlZF90ZWxlcG9ydF9hc3NldHNgIGluc3RlYWQuKioAUQFGZWUgcGF5bWVudCBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBtYWRlIGZyb20gdGhlIGFzc2V0IGluIHRoZSBgYXNzZXRzYCB2ZWN0b3Igb2ZhAWluZGV4IGBmZWVfYXNzZXRfaXRlbWAuIFRoZSB3ZWlnaHQgbGltaXQgZm9yIGZlZXMgaXMgbm90IHByb3ZpZGVkIGFuZCB0aHVzIGlzIHVubGltaXRlZCy0d2l0aCBhbGwgZmVlcyB0YWtlbiBhcyBuZWVkZWQgZnJvbSB0aGUgYXNzZXQuACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4lAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgW1BhcmVudCxhASAgUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgW1BhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb21UICByZWxheSB0byBwYXJhY2hhaW4uVQEtIGBiZW5lZmljaWFyeWA6IEEgYmVuZWZpY2lhcnkgbG9jYXRpb24gZm9yIHRoZSBhc3NldHMgaW4gdGhlIGNvbnRleHQgb2YgYGRlc3RgLiBXaWxsmCAgZ2VuZXJhbGx5IGJlIGFuIGBBY2NvdW50SWQzMmAgdmFsdWUuWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZWggIGZlZSBvbiB0aGUgYGRlc3RgIGNoYWluLk0BLSBgZmVlX2Fzc2V0X2l0ZW1gOiBUaGUgaW5kZXggaW50byBgYXNzZXRzYCBvZiB0aGUgaXRlbSB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBwYXkcICBmZWVzLlxyZXNlcnZlX3RyYW5zZmVyX2Fzc2V0cxABEGRlc3S9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABLGJlbmVmaWNpYXJ5vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AARhhc3NldHPhBQFQQm94PFZlcnNpb25lZEFzc2V0cz4AAThmZWVfYXNzZXRfaXRlbRABDHUzMgACeF0BVHJhbnNmZXIgc29tZSBhc3NldHMgZnJvbSB0aGUgbG9jYWwgY2hhaW4gdG8gdGhlIGRlc3RpbmF0aW9uIGNoYWluIHRocm91Z2ggdGhlaXIgbG9jYWwseGRlc3RpbmF0aW9uIG9yIHJlbW90ZSByZXNlcnZlLgA9AWBhc3NldHNgIG11c3QgaGF2ZSBzYW1lIHJlc2VydmUgbG9jYXRpb24gYW5kIG1heSBub3QgYmUgdGVsZXBvcnRhYmxlIHRvIGBkZXN0YC5NASAtIGBhc3NldHNgIGhhdmUgbG9jYWwgcmVzZXJ2ZTogdHJhbnNmZXIgYXNzZXRzIHRvIHNvdmVyZWlnbiBhY2NvdW50IG9mIGRlc3RpbmF0aW9uTQEgICBjaGFpbiBhbmQgZm9yd2FyZCBhIG5vdGlmaWNhdGlvbiBYQ00gdG8gYGRlc3RgIHRvIG1pbnQgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZGwgICBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC5VASAtIGBhc3NldHNgIGhhdmUgZGVzdGluYXRpb24gcmVzZXJ2ZTogYnVybiBsb2NhbCBhc3NldHMgYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gdG9ZASAgIGBkZXN0YCBjaGFpbiB0byB3aXRoZHJhdyB0aGUgcmVzZXJ2ZSBhc3NldHMgZnJvbSB0aGlzIGNoYWluJ3Mgc292ZXJlaWduIGFjY291bnQgYW5khCAgIGRlcG9zaXQgdGhlbSB0byBgYmVuZWZpY2lhcnlgLmEBIC0gYGFzc2V0c2AgaGF2ZSByZW1vdGUgcmVzZXJ2ZTogYnVybiBsb2NhbCBhc3NldHMsIGZvcndhcmQgWENNIHRvIHJlc2VydmUgY2hhaW4gdG8gbW92ZWEBICAgcmVzZXJ2ZXMgZnJvbSB0aGlzIGNoYWluJ3MgU0EgdG8gYGRlc3RgIGNoYWluJ3MgU0EsIGFuZCBmb3J3YXJkIGFub3RoZXIgWENNIHRvIGBkZXN0YPQgICB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWQgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuAD0BKipUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQ6IFVzZSBgbGltaXRlZF9yZXNlcnZlX3RyYW5zZmVyX2Fzc2V0c2AgaW5zdGVhZC4qKgBRAUZlZSBwYXltZW50IG9uIHRoZSBkZXN0aW5hdGlvbiBzaWRlIGlzIG1hZGUgZnJvbSB0aGUgYXNzZXQgaW4gdGhlIGBhc3NldHNgIHZlY3RvciBvZmEBaW5kZXggYGZlZV9hc3NldF9pdGVtYC4gVGhlIHdlaWdodCBsaW1pdCBmb3IgZmVlcyBpcyBub3QgcHJvdmlkZWQgYW5kIHRodXMgaXMgdW5saW1pdGVkLLR3aXRoIGFsbCBmZWVzIHRha2VuIGFzIG5lZWRlZCBmcm9tIHRoZSBhc3NldC4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLiUBLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBbUGFyZW50LGEBICBQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tIHBhcmFjaGFpbiB0byBwYXJhY2hhaW4sIG9yIGBbUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbVQgIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlyCAgZmVlIG9uIHRoZSBgZGVzdGAgKGFuZCBwb3NzaWJseSByZXNlcnZlKSBjaGFpbnMuTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuHGV4ZWN1dGUIARxtZXNzYWdl5QUBtEJveDxWZXJzaW9uZWRYY208PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+PgABKG1heF93ZWlnaHQoARhXZWlnaHQAAyDQRXhlY3V0ZSBhbiBYQ00gbWVzc2FnZSBmcm9tIGEgbG9jYWwsIHNpZ25lZCwgb3JpZ2luLgBNAUFuIGV2ZW50IGlzIGRlcG9zaXRlZCBpbmRpY2F0aW5nIHdoZXRoZXIgYG1zZ2AgY291bGQgYmUgZXhlY3V0ZWQgY29tcGxldGVseSBvciBvbmx5KHBhcnRpYWxseS4AXQFObyBtb3JlIHRoYW4gYG1heF93ZWlnaHRgIHdpbGwgYmUgdXNlZCBpbiBpdHMgYXR0ZW1wdGVkIGV4ZWN1dGlvbi4gSWYgdGhpcyBpcyBsZXNzIHRoYW5BAXRoZSBtYXhpbXVtIGFtb3VudCBvZiB3ZWlnaHQgdGhhdCB0aGUgbWVzc2FnZSBjb3VsZCB0YWtlIHRvIGJlIGV4ZWN1dGVkLCB0aGVuIG5vfGV4ZWN1dGlvbiBhdHRlbXB0IHdpbGwgYmUgbWFkZS5EZm9yY2VfeGNtX3ZlcnNpb24IASBsb2NhdGlvbn0BATRCb3g8TG9jYXRpb24+AAEcdmVyc2lvbhABKFhjbVZlcnNpb24ABBhJAUV4dG9sbCB0aGF0IGEgcGFydGljdWxhciBkZXN0aW5hdGlvbiBjYW4gYmUgY29tbXVuaWNhdGVkIHdpdGggdGhyb3VnaCBhIHBhcnRpY3VsYXI8dmVyc2lvbiBvZiBYQ00uANwtIGBvcmlnaW5gOiBNdXN0IGJlIGFuIG9yaWdpbiBzcGVjaWZpZWQgYnkgQWRtaW5PcmlnaW4u2C0gYGxvY2F0aW9uYDogVGhlIGRlc3RpbmF0aW9uIHRoYXQgaXMgYmVpbmcgZGVzY3JpYmVkLhEBLSBgeGNtX3ZlcnNpb25gOiBUaGUgbGF0ZXN0IHZlcnNpb24gb2YgWENNIHRoYXQgYGxvY2F0aW9uYCBzdXBwb3J0cy5kZm9yY2VfZGVmYXVsdF94Y21fdmVyc2lvbgQBRG1heWJlX3hjbV92ZXJzaW9uWQEBSE9wdGlvbjxYY21WZXJzaW9uPgAFFFkBU2V0IGEgc2FmZSBYQ00gdmVyc2lvbiAodGhlIHZlcnNpb24gdGhhdCBYQ00gc2hvdWxkIGJlIGVuY29kZWQgd2l0aCBpZiB0aGUgbW9zdCByZWNlbnS0dmVyc2lvbiBhIGRlc3RpbmF0aW9uIGNhbiBhY2NlcHQgaXMgdW5rbm93bikuANwtIGBvcmlnaW5gOiBNdXN0IGJlIGFuIG9yaWdpbiBzcGVjaWZpZWQgYnkgQWRtaW5PcmlnaW4uOQEtIGBtYXliZV94Y21fdmVyc2lvbmA6IFRoZSBkZWZhdWx0IFhDTSBlbmNvZGluZyB2ZXJzaW9uLCBvciBgTm9uZWAgdG8gZGlzYWJsZS54Zm9yY2Vfc3Vic2NyaWJlX3ZlcnNpb25fbm90aWZ5BAEgbG9jYXRpb269BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgAGEDkBQXNrIGEgbG9jYXRpb24gdG8gbm90aWZ5IHVzIHJlZ2FyZGluZyB0aGVpciBYQ00gdmVyc2lvbiBhbmQgYW55IGNoYW5nZXMgdG8gaXQuANwtIGBvcmlnaW5gOiBNdXN0IGJlIGFuIG9yaWdpbiBzcGVjaWZpZWQgYnkgQWRtaW5PcmlnaW4uWQEtIGBsb2NhdGlvbmA6IFRoZSBsb2NhdGlvbiB0byB3aGljaCB3ZSBzaG91bGQgc3Vic2NyaWJlIGZvciBYQ00gdmVyc2lvbiBub3RpZmljYXRpb25zLoBmb3JjZV91bnN1YnNjcmliZV92ZXJzaW9uX25vdGlmeQQBIGxvY2F0aW9uvQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4ABxhJAVJlcXVpcmUgdGhhdCBhIHBhcnRpY3VsYXIgZGVzdGluYXRpb24gc2hvdWxkIG5vIGxvbmdlciBub3RpZnkgdXMgcmVnYXJkaW5nIGFueSBYQ01AdmVyc2lvbiBjaGFuZ2VzLgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLj0BLSBgbG9jYXRpb25gOiBUaGUgbG9jYXRpb24gdG8gd2hpY2ggd2UgYXJlIGN1cnJlbnRseSBzdWJzY3JpYmVkIGZvciBYQ00gdmVyc2lvbqggIG5vdGlmaWNhdGlvbnMgd2hpY2ggd2Ugbm8gbG9uZ2VyIGRlc2lyZS58bGltaXRlZF9yZXNlcnZlX3RyYW5zZmVyX2Fzc2V0cxQBEGRlc3S9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABLGJlbmVmaWNpYXJ5vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AARhhc3NldHPhBQFQQm94PFZlcnNpb25lZEFzc2V0cz4AAThmZWVfYXNzZXRfaXRlbRABDHUzMgABMHdlaWdodF9saW1pdJEFASxXZWlnaHRMaW1pdAAIeF0BVHJhbnNmZXIgc29tZSBhc3NldHMgZnJvbSB0aGUgbG9jYWwgY2hhaW4gdG8gdGhlIGRlc3RpbmF0aW9uIGNoYWluIHRocm91Z2ggdGhlaXIgbG9jYWwseGRlc3RpbmF0aW9uIG9yIHJlbW90ZSByZXNlcnZlLgA9AWBhc3NldHNgIG11c3QgaGF2ZSBzYW1lIHJlc2VydmUgbG9jYXRpb24gYW5kIG1heSBub3QgYmUgdGVsZXBvcnRhYmxlIHRvIGBkZXN0YC5NASAtIGBhc3NldHNgIGhhdmUgbG9jYWwgcmVzZXJ2ZTogdHJhbnNmZXIgYXNzZXRzIHRvIHNvdmVyZWlnbiBhY2NvdW50IG9mIGRlc3RpbmF0aW9uTQEgICBjaGFpbiBhbmQgZm9yd2FyZCBhIG5vdGlmaWNhdGlvbiBYQ00gdG8gYGRlc3RgIHRvIG1pbnQgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZGwgICBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC5VASAtIGBhc3NldHNgIGhhdmUgZGVzdGluYXRpb24gcmVzZXJ2ZTogYnVybiBsb2NhbCBhc3NldHMgYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gdG9ZASAgIGBkZXN0YCBjaGFpbiB0byB3aXRoZHJhdyB0aGUgcmVzZXJ2ZSBhc3NldHMgZnJvbSB0aGlzIGNoYWluJ3Mgc292ZXJlaWduIGFjY291bnQgYW5khCAgIGRlcG9zaXQgdGhlbSB0byBgYmVuZWZpY2lhcnlgLmEBIC0gYGFzc2V0c2AgaGF2ZSByZW1vdGUgcmVzZXJ2ZTogYnVybiBsb2NhbCBhc3NldHMsIGZvcndhcmQgWENNIHRvIHJlc2VydmUgY2hhaW4gdG8gbW92ZWEBICAgcmVzZXJ2ZXMgZnJvbSB0aGlzIGNoYWluJ3MgU0EgdG8gYGRlc3RgIGNoYWluJ3MgU0EsIGFuZCBmb3J3YXJkIGFub3RoZXIgWENNIHRvIGBkZXN0YPQgICB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWQgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuAFEBRmVlIHBheW1lbnQgb24gdGhlIGRlc3RpbmF0aW9uIHNpZGUgaXMgbWFkZSBmcm9tIHRoZSBhc3NldCBpbiB0aGUgYGFzc2V0c2AgdmVjdG9yIG9mYQFpbmRleCBgZmVlX2Fzc2V0X2l0ZW1gLCB1cCB0byBlbm91Z2ggdG8gcGF5IGZvciBgd2VpZ2h0X2xpbWl0YCBvZiB3ZWlnaHQuIElmIG1vcmUgd2VpZ2h0WQFpcyBuZWVkZWQgdGhhbiBgd2VpZ2h0X2xpbWl0YCwgdGhlbiB0aGUgb3BlcmF0aW9uIHdpbGwgZmFpbCBhbmQgdGhlIHNlbnQgYXNzZXRzIG1heSBiZSBhdCByaXNrLgApAS0gYG9yaWdpbmA6IE11c3QgYmUgY2FwYWJsZSBvZiB3aXRoZHJhd2luZyB0aGUgYGFzc2V0c2AgYW5kIGV4ZWN1dGluZyBYQ00uJQEtIGBkZXN0YDogRGVzdGluYXRpb24gY29udGV4dCBmb3IgdGhlIGFzc2V0cy4gV2lsbCB0eXBpY2FsbHkgYmUgYFtQYXJlbnQsYQEgIFBhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb20gcGFyYWNoYWluIHRvIHBhcmFjaGFpbiwgb3IgYFtQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tVCAgcmVsYXkgdG8gcGFyYWNoYWluLlUBLSBgYmVuZWZpY2lhcnlgOiBBIGJlbmVmaWNpYXJ5IGxvY2F0aW9uIGZvciB0aGUgYXNzZXRzIGluIHRoZSBjb250ZXh0IG9mIGBkZXN0YC4gV2lsbJggIGdlbmVyYWxseSBiZSBhbiBgQWNjb3VudElkMzJgIHZhbHVlLlkBLSBgYXNzZXRzYDogVGhlIGFzc2V0cyB0byBiZSB3aXRoZHJhd24uIFRoaXMgc2hvdWxkIGluY2x1ZGUgdGhlIGFzc2V0cyB1c2VkIHRvIHBheSB0aGXIICBmZWUgb24gdGhlIGBkZXN0YCAoYW5kIHBvc3NpYmx5IHJlc2VydmUpIGNoYWlucy5NAS0gYGZlZV9hc3NldF9pdGVtYDogVGhlIGluZGV4IGludG8gYGFzc2V0c2Agb2YgdGhlIGl0ZW0gd2hpY2ggc2hvdWxkIGJlIHVzZWQgdG8gcGF5HCAgZmVlcy5FAS0gYHdlaWdodF9saW1pdGA6IFRoZSByZW1vdGUtc2lkZSB3ZWlnaHQgbGltaXQsIGlmIGFueSwgZm9yIHRoZSBYQ00gZmVlIHB1cmNoYXNlLlxsaW1pdGVkX3RlbGVwb3J0X2Fzc2V0cxQBEGRlc3S9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABLGJlbmVmaWNpYXJ5vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AARhhc3NldHPhBQFQQm94PFZlcnNpb25lZEFzc2V0cz4AAThmZWVfYXNzZXRfaXRlbRABDHUzMgABMHdlaWdodF9saW1pdJEFASxXZWlnaHRMaW1pdAAJSBEBVGVsZXBvcnQgc29tZSBhc3NldHMgZnJvbSB0aGUgbG9jYWwgY2hhaW4gdG8gc29tZSBkZXN0aW5hdGlvbiBjaGFpbi4AUQFGZWUgcGF5bWVudCBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBtYWRlIGZyb20gdGhlIGFzc2V0IGluIHRoZSBgYXNzZXRzYCB2ZWN0b3Igb2ZhAWluZGV4IGBmZWVfYXNzZXRfaXRlbWAsIHVwIHRvIGVub3VnaCB0byBwYXkgZm9yIGB3ZWlnaHRfbGltaXRgIG9mIHdlaWdodC4gSWYgbW9yZSB3ZWlnaHRZAWlzIG5lZWRlZCB0aGFuIGB3ZWlnaHRfbGltaXRgLCB0aGVuIHRoZSBvcGVyYXRpb24gd2lsbCBmYWlsIGFuZCB0aGUgc2VudCBhc3NldHMgbWF5IGJlIGF0IHJpc2suACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4lAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgW1BhcmVudCxhASAgUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgW1BhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb21UICByZWxheSB0byBwYXJhY2hhaW4uVQEtIGBiZW5lZmljaWFyeWA6IEEgYmVuZWZpY2lhcnkgbG9jYXRpb24gZm9yIHRoZSBhc3NldHMgaW4gdGhlIGNvbnRleHQgb2YgYGRlc3RgLiBXaWxsmCAgZ2VuZXJhbGx5IGJlIGFuIGBBY2NvdW50SWQzMmAgdmFsdWUuWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZWggIGZlZSBvbiB0aGUgYGRlc3RgIGNoYWluLk0BLSBgZmVlX2Fzc2V0X2l0ZW1gOiBUaGUgaW5kZXggaW50byBgYXNzZXRzYCBvZiB0aGUgaXRlbSB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBwYXkcICBmZWVzLkUBLSBgd2VpZ2h0X2xpbWl0YDogVGhlIHJlbW90ZS1zaWRlIHdlaWdodCBsaW1pdCwgaWYgYW55LCBmb3IgdGhlIFhDTSBmZWUgcHVyY2hhc2UuQGZvcmNlX3N1c3BlbnNpb24EASRzdXNwZW5kZWQgARBib29sAAoQ9FNldCBvciB1bnNldCB0aGUgZ2xvYmFsIHN1c3BlbnNpb24gc3RhdGUgb2YgdGhlIFhDTSBleGVjdXRvci4A3C0gYG9yaWdpbmA6IE11c3QgYmUgYW4gb3JpZ2luIHNwZWNpZmllZCBieSBBZG1pbk9yaWdpbi7QLSBgc3VzcGVuZGVkYDogYHRydWVgIHRvIHN1c3BlbmQsIGBmYWxzZWAgdG8gcmVzdW1lLjx0cmFuc2Zlcl9hc3NldHMUARBkZXN0vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AASxiZW5lZmljaWFyeb0EAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRz4QUBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW0QAQx1MzIAATB3ZWlnaHRfbGltaXSRBQEsV2VpZ2h0TGltaXQAC4RdAVRyYW5zZmVyIHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB0aHJvdWdoIHRoZWlyIGxvY2FsLNBkZXN0aW5hdGlvbiBvciByZW1vdGUgcmVzZXJ2ZSwgb3IgdGhyb3VnaCB0ZWxlcG9ydHMuAFEBRmVlIHBheW1lbnQgb24gdGhlIGRlc3RpbmF0aW9uIHNpZGUgaXMgbWFkZSBmcm9tIHRoZSBhc3NldCBpbiB0aGUgYGFzc2V0c2AgdmVjdG9yIG9mNQFpbmRleCBgZmVlX2Fzc2V0X2l0ZW1gIChoZW5jZSByZWZlcnJlZCB0byBhcyBgZmVlc2ApLCB1cCB0byBlbm91Z2ggdG8gcGF5IGZvckEBYHdlaWdodF9saW1pdGAgb2Ygd2VpZ2h0LiBJZiBtb3JlIHdlaWdodCBpcyBuZWVkZWQgdGhhbiBgd2VpZ2h0X2xpbWl0YCwgdGhlbiB0aGXcb3BlcmF0aW9uIHdpbGwgZmFpbCBhbmQgdGhlIHNlbnQgYXNzZXRzIG1heSBiZSBhdCByaXNrLgBhAWBhc3NldHNgIChleGNsdWRpbmcgYGZlZXNgKSBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIG9yIG90aGVyd2lzZSBiZSB0ZWxlcG9ydGFibGWwdG8gYGRlc3RgLCBubyBsaW1pdGF0aW9ucyBpbXBvc2VkIG9uIGBmZWVzYC5NASAtIGZvciBsb2NhbCByZXNlcnZlOiB0cmFuc2ZlciBhc3NldHMgdG8gc292ZXJlaWduIGFjY291bnQgb2YgZGVzdGluYXRpb24gY2hhaW4gYW5kTQEgICBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIFhDTSB0byBgZGVzdGAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0b0QgICBgYmVuZWZpY2lhcnlgLmEBIC0gZm9yIGRlc3RpbmF0aW9uIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvIGBkZXN0YCBjaGFpblkBICAgdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZCBkZXBvc2l0IHRoZW1QICAgdG8gYGJlbmVmaWNpYXJ5YC5dASAtIGZvciByZW1vdGUgcmVzZXJ2ZTogYnVybiBsb2NhbCBhc3NldHMsIGZvcndhcmQgWENNIHRvIHJlc2VydmUgY2hhaW4gdG8gbW92ZSByZXNlcnZlc10BICAgZnJvbSB0aGlzIGNoYWluJ3MgU0EgdG8gYGRlc3RgIGNoYWluJ3MgU0EsIGFuZCBmb3J3YXJkIGFub3RoZXIgWENNIHRvIGBkZXN0YCB0byBtaW501CAgIGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWQgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuUQEgLSBmb3IgdGVsZXBvcnRzOiBidXJuIGxvY2FsIGFzc2V0cyBhbmQgZm9yd2FyZCBYQ00gdG8gYGRlc3RgIGNoYWluIHRvIG1pbnQvdGVsZXBvcnSwICAgYXNzZXRzIGFuZCBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLi0BLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBYMihQYXJlbnQsVQEgIFBhcmFjaGFpbiguLikpYCB0byBzZW5kIGZyb20gcGFyYWNoYWluIHRvIHBhcmFjaGFpbiwgb3IgYFgxKFBhcmFjaGFpbiguLikpYCB0byBzZW5kaCAgZnJvbSByZWxheSB0byBwYXJhY2hhaW4uVQEtIGBiZW5lZmljaWFyeWA6IEEgYmVuZWZpY2lhcnkgbG9jYXRpb24gZm9yIHRoZSBhc3NldHMgaW4gdGhlIGNvbnRleHQgb2YgYGRlc3RgLiBXaWxsmCAgZ2VuZXJhbGx5IGJlIGFuIGBBY2NvdW50SWQzMmAgdmFsdWUuWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZcggIGZlZSBvbiB0aGUgYGRlc3RgIChhbmQgcG9zc2libHkgcmVzZXJ2ZSkgY2hhaW5zLk0BLSBgZmVlX2Fzc2V0X2l0ZW1gOiBUaGUgaW5kZXggaW50byBgYXNzZXRzYCBvZiB0aGUgaXRlbSB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBwYXkcICBmZWVzLkUBLSBgd2VpZ2h0X2xpbWl0YDogVGhlIHJlbW90ZS1zaWRlIHdlaWdodCBsaW1pdCwgaWYgYW55LCBmb3IgdGhlIFhDTSBmZWUgcHVyY2hhc2UuMGNsYWltX2Fzc2V0cwgBGGFzc2V0c+EFAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABLGJlbmVmaWNpYXJ5vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4ADBhVAUNsYWltcyBhc3NldHMgdHJhcHBlZCBvbiB0aGlzIHBhbGxldCBiZWNhdXNlIG9mIGxlZnRvdmVyIGFzc2V0cyBkdXJpbmcgWENNIGV4ZWN1dGlvbi4ArC0gYG9yaWdpbmA6IEFueW9uZSBjYW4gY2FsbCB0aGlzIGV4dHJpbnNpYy5dAS0gYGFzc2V0c2A6IFRoZSBleGFjdCBhc3NldHMgdGhhdCB3ZXJlIHRyYXBwZWQuIFVzZSB0aGUgdmVyc2lvbiB0byBzcGVjaWZ5IHdoYXQgdmVyc2lvbph3YXMgdGhlIGxhdGVzdCB3aGVuIHRoZXkgd2VyZSB0cmFwcGVkLkUBLSBgYmVuZWZpY2lhcnlgOiBUaGUgbG9jYXRpb24vYWNjb3VudCB3aGVyZSB0aGUgY2xhaW1lZCBhc3NldHMgd2lsbCBiZSBkZXBvc2l0ZWQujHRyYW5zZmVyX2Fzc2V0c191c2luZ190eXBlX2FuZF90aGVuHAEQZGVzdL0EAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRz4QUBUEJveDxWZXJzaW9uZWRBc3NldHM+AAFQYXNzZXRzX3RyYW5zZmVyX3R5cGURBgFEQm94PFRyYW5zZmVyVHlwZT4AAThyZW1vdGVfZmVlc19pZBUGAVRCb3g8VmVyc2lvbmVkQXNzZXRJZD4AAUhmZWVzX3RyYW5zZmVyX3R5cGURBgFEQm94PFRyYW5zZmVyVHlwZT4AAUhjdXN0b21feGNtX29uX2Rlc3TdBAFUQm94PFZlcnNpb25lZFhjbTwoKT4+AAEwd2VpZ2h0X2xpbWl0kQUBLFdlaWdodExpbWl0AA3AVQFUcmFuc2ZlciBhc3NldHMgZnJvbSB0aGUgbG9jYWwgY2hhaW4gdG8gdGhlIGRlc3RpbmF0aW9uIGNoYWluIHVzaW5nIGV4cGxpY2l0IHRyYW5zZmVyaHR5cGVzIGZvciBhc3NldHMgYW5kIGZlZXMuAFkBYGFzc2V0c2AgbXVzdCBoYXZlIHNhbWUgcmVzZXJ2ZSBsb2NhdGlvbiBvciBtYXkgYmUgdGVsZXBvcnRhYmxlIHRvIGBkZXN0YC4gQ2FsbGVyIG11c3TscHJvdmlkZSB0aGUgYGFzc2V0c190cmFuc2Zlcl90eXBlYCB0byBiZSB1c2VkIGZvciBgYXNzZXRzYDpRASAtIGBUcmFuc2ZlclR5cGU6OkxvY2FsUmVzZXJ2ZWA6IHRyYW5zZmVyIGFzc2V0cyB0byBzb3ZlcmVpZ24gYWNjb3VudCBvZiBkZXN0aW5hdGlvbk0BICAgY2hhaW4gYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gWENNIHRvIGBkZXN0YCB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWRsICAgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuWQEgLSBgVHJhbnNmZXJUeXBlOjpEZXN0aW5hdGlvblJlc2VydmVgOiBidXJuIGxvY2FsIGFzc2V0cyBhbmQgZm9yd2FyZCBhIG5vdGlmaWNhdGlvbiB0b1kBICAgYGRlc3RgIGNoYWluIHRvIHdpdGhkcmF3IHRoZSByZXNlcnZlIGFzc2V0cyBmcm9tIHRoaXMgY2hhaW4ncyBzb3ZlcmVpZ24gYWNjb3VudCBhbmSEICAgZGVwb3NpdCB0aGVtIHRvIGBiZW5lZmljaWFyeWAuWQEgLSBgVHJhbnNmZXJUeXBlOjpSZW1vdGVSZXNlcnZlKHJlc2VydmUpYDogYnVybiBsb2NhbCBhc3NldHMsIGZvcndhcmQgWENNIHRvIGByZXNlcnZlYGEBICAgY2hhaW4gdG8gbW92ZSByZXNlcnZlcyBmcm9tIHRoaXMgY2hhaW4ncyBTQSB0byBgZGVzdGAgY2hhaW4ncyBTQSwgYW5kIGZvcndhcmQgYW5vdGhlclUBICAgWENNIHRvIGBkZXN0YCB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWQgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuIFR5cGljYWxseZQgICB0aGUgcmVtb3RlIGByZXNlcnZlYCBpcyBBc3NldCBIdWIuRQEgLSBgVHJhbnNmZXJUeXBlOjpUZWxlcG9ydGA6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIFhDTSB0byBgZGVzdGAgY2hhaW4gdG/oICAgbWludC90ZWxlcG9ydCBhc3NldHMgYW5kIGRlcG9zaXQgdGhlbSB0byBgYmVuZWZpY2lhcnlgLgBVAU9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiwgYXMgd2VsbCBhcyBhbnkgaW50ZXJtZWRpYXJ5IGhvcHMsIGBCdXlFeGVjdXRpb25gIGlzIHVzZWQgdG8hAWJ1eSBleGVjdXRpb24gdXNpbmcgdHJhbnNmZXJyZWQgYGFzc2V0c2AgaWRlbnRpZmllZCBieSBgcmVtb3RlX2ZlZXNfaWRgLlkBTWFrZSBzdXJlIGVub3VnaCBvZiB0aGUgc3BlY2lmaWVkIGByZW1vdGVfZmVlc19pZGAgYXNzZXQgaXMgaW5jbHVkZWQgaW4gdGhlIGdpdmVuIGxpc3RhAW9mIGBhc3NldHNgLiBgcmVtb3RlX2ZlZXNfaWRgIHNob3VsZCBiZSBlbm91Z2ggdG8gcGF5IGZvciBgd2VpZ2h0X2xpbWl0YC4gSWYgbW9yZSB3ZWlnaHRZAWlzIG5lZWRlZCB0aGFuIGB3ZWlnaHRfbGltaXRgLCB0aGVuIHRoZSBvcGVyYXRpb24gd2lsbCBmYWlsIGFuZCB0aGUgc2VudCBhc3NldHMgbWF5IGJlIGF0IHJpc2suAEUBYHJlbW90ZV9mZWVzX2lkYCBtYXkgdXNlIGRpZmZlcmVudCB0cmFuc2ZlciB0eXBlIHRoYW4gcmVzdCBvZiBgYXNzZXRzYCBhbmQgY2FuIGJlnHNwZWNpZmllZCB0aHJvdWdoIGBmZWVzX3RyYW5zZmVyX3R5cGVgLgBhAVRoZSBjYWxsZXIgbmVlZHMgdG8gc3BlY2lmeSB3aGF0IHNob3VsZCBoYXBwZW4gdG8gdGhlIHRyYW5zZmVycmVkIGFzc2V0cyBvbmNlIHRoZXkgcmVhY2hBAXRoZSBgZGVzdGAgY2hhaW4uIFRoaXMgaXMgZG9uZSB0aHJvdWdoIHRoZSBgY3VzdG9tX3hjbV9vbl9kZXN0YCBwYXJhbWV0ZXIsIHdoaWNo/GNvbnRhaW5zIHRoZSBpbnN0cnVjdGlvbnMgdG8gZXhlY3V0ZSBvbiBgZGVzdGAgYXMgYSBmaW5hbCBzdGVwLnwgIFRoaXMgaXMgdXN1YWxseSBhcyBzaW1wbGUgYXM6UQEgIGBYY20odmVjIVtEZXBvc2l0QXNzZXQgeyBhc3NldHM6IFdpbGQoQWxsQ291bnRlZChhc3NldHMubGVuKCkpKSwgYmVuZWZpY2lhcnkgfV0pYCwxASAgYnV0IGNvdWxkIGJlIHNvbWV0aGluZyBtb3JlIGV4b3RpYyBsaWtlIHNlbmRpbmcgdGhlIGBhc3NldHNgIGV2ZW4gZnVydGhlci4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLiUBLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBbUGFyZW50LGEBICBQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tIHBhcmFjaGFpbiB0byBwYXJhY2hhaW4sIG9yIGBbUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbT0BICByZWxheSB0byBwYXJhY2hhaW4sIG9yIGAocGFyZW50czogMiwgKEdsb2JhbENvbnNlbnN1cyguLiksIC4uKSlgIHRvIHNlbmQgZnJvbfQgIHBhcmFjaGFpbiBhY3Jvc3MgYSBicmlkZ2UgdG8gYW5vdGhlciBlY29zeXN0ZW0gZGVzdGluYXRpb24uWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZcggIGZlZSBvbiB0aGUgYGRlc3RgIChhbmQgcG9zc2libHkgcmVzZXJ2ZSkgY2hhaW5zLj0BLSBgYXNzZXRzX3RyYW5zZmVyX3R5cGVgOiBUaGUgWENNIGBUcmFuc2ZlclR5cGVgIHVzZWQgdG8gdHJhbnNmZXIgdGhlIGBhc3NldHNgLiEBLSBgcmVtb3RlX2ZlZXNfaWRgOiBPbmUgb2YgdGhlIGluY2x1ZGVkIGBhc3NldHNgIHRvIGJlIHVzZWQgdG8gcGF5IGZlZXMuSQEtIGBmZWVzX3RyYW5zZmVyX3R5cGVgOiBUaGUgWENNIGBUcmFuc2ZlclR5cGVgIHVzZWQgdG8gdHJhbnNmZXIgdGhlIGBmZWVzYCBhc3NldHMuWQEtIGBjdXN0b21feGNtX29uX2Rlc3RgOiBUaGUgWENNIHRvIGJlIGV4ZWN1dGVkIG9uIGBkZXN0YCBjaGFpbiBhcyB0aGUgbGFzdCBzdGVwIG9mIHRoZVkBICB0cmFuc2Zlciwgd2hpY2ggYWxzbyBkZXRlcm1pbmVzIHdoYXQgaGFwcGVucyB0byB0aGUgYXNzZXRzIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi5FAS0gYHdlaWdodF9saW1pdGA6IFRoZSByZW1vdGUtc2lkZSB3ZWlnaHQgbGltaXQsIGlmIGFueSwgZm9yIHRoZSBYQ00gZmVlIHB1cmNoYXNlLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy69BAgMeGNtRFZlcnNpb25lZExvY2F0aW9uAAEMCFYyBADBBAFEdjI6Ok11bHRpTG9jYXRpb24AAQAIVjMEAPUCAUR2Mzo6TXVsdGlMb2NhdGlvbgADAAhWNAQAfQEBMHY0OjpMb2NhdGlvbgAEAADBBBAMeGNtCHYyNG11bHRpbG9jYXRpb240TXVsdGlMb2NhdGlvbgAACAEccGFyZW50cwgBCHU4AAEgaW50ZXJpb3LFBAEkSnVuY3Rpb25zAADFBBAMeGNtCHYyNG11bHRpbG9jYXRpb24kSnVuY3Rpb25zAAEkEEhlcmUAAAAIWDEEAMkEASBKdW5jdGlvbgABAAhYMggAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAgAIWDMMAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAwAIWDQQAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAEAAhYNRQAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24ABQAIWDYYAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24ABgAIWDccAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAHAAhYOCAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24ACAAAyQQQDHhjbQh2MiBqdW5jdGlvbiBKdW5jdGlvbgABJCRQYXJhY2hhaW4EAFUBAQx1MzIAAAAsQWNjb3VudElkMzIIARxuZXR3b3JrzQQBJE5ldHdvcmtJZAABCGlkBAEgW3U4OyAzMl0AAQA4QWNjb3VudEluZGV4NjQIARxuZXR3b3JrzQQBJE5ldHdvcmtJZAABFGluZGV4LAEMdTY0AAIAMEFjY291bnRLZXkyMAgBHG5ldHdvcmvNBAEkTmV0d29ya0lkAAEMa2V5RQEBIFt1ODsgMjBdAAMAOFBhbGxldEluc3RhbmNlBAAIAQh1OAAEADBHZW5lcmFsSW5kZXgEAC0BARB1MTI4AAUAKEdlbmVyYWxLZXkEANEEAYBXZWFrQm91bmRlZFZlYzx1OCwgQ29uc3RVMzI8MzI+PgAGACRPbmx5Q2hpbGQABwAkUGx1cmFsaXR5CAEIaWTVBAEYQm9keUlkAAEQcGFydNkEASBCb2R5UGFydAAIAADNBAwMeGNtCHYyJE5ldHdvcmtJZAABEAxBbnkAAAAUTmFtZWQEANEEAYBXZWFrQm91bmRlZFZlYzx1OCwgQ29uc3RVMzI8MzI+PgABACBQb2xrYWRvdAACABhLdXNhbWEAAwAA0QQMTGJvdW5kZWRfY29sbGVjdGlvbnNAd2Vha19ib3VuZGVkX3ZlYzhXZWFrQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AADVBAwMeGNtCHYyGEJvZHlJZAABKBBVbml0AAAAFE5hbWVkBADRBAGAV2Vha0JvdW5kZWRWZWM8dTgsIENvbnN0VTMyPDMyPj4AAQAUSW5kZXgEAFUBAQx1MzIAAgAkRXhlY3V0aXZlAAMAJFRlY2huaWNhbAAEACxMZWdpc2xhdGl2ZQAFACBKdWRpY2lhbAAGABxEZWZlbnNlAAcAOEFkbWluaXN0cmF0aW9uAAgAIFRyZWFzdXJ5AAkAANkEDAx4Y20IdjIgQm9keVBhcnQAARQUVm9pY2UAAAAcTWVtYmVycwQBFGNvdW50VQEBDHUzMgABACBGcmFjdGlvbggBDG5vbVUBAQx1MzIAARRkZW5vbVUBAQx1MzIAAgBEQXRMZWFzdFByb3BvcnRpb24IAQxub21VAQEMdTMyAAEUZGVub21VAQEMdTMyAAMASE1vcmVUaGFuUHJvcG9ydGlvbggBDG5vbVUBAQx1MzIAARRkZW5vbVUBAQx1MzIABAAA3QQIDHhjbTBWZXJzaW9uZWRYY20ELFJ1bnRpbWVDYWxsAAEMCFYyBADhBAFQdjI6OlhjbTxSdW50aW1lQ2FsbD4AAgAIVjMEAC0FAVB2Mzo6WGNtPFJ1bnRpbWVDYWxsPgADAAhWNAQAlQUBUHY0OjpYY208UnVudGltZUNhbGw+AAQAAOEEDAx4Y20IdjIMWGNtBCxSdW50aW1lQ2FsbAAABADlBAF0VmVjPEluc3RydWN0aW9uPFJ1bnRpbWVDYWxsPj4AAOUEAAAC6QQA6QQMDHhjbQh2MixJbnN0cnVjdGlvbgQsUnVudGltZUNhbGwAAXA0V2l0aGRyYXdBc3NldAQA7QQBLE11bHRpQXNzZXRzAAAAVFJlc2VydmVBc3NldERlcG9zaXRlZAQA7QQBLE11bHRpQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAO0EASxNdWx0aUFzc2V0cwACADRRdWVyeVJlc3BvbnNlDAEgcXVlcnlfaWQsARxRdWVyeUlkAAEgcmVzcG9uc2UFBQEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0LAEMdTY0AAMANFRyYW5zZmVyQXNzZXQIARhhc3NldHPtBAEsTXVsdGlBc3NldHMAASxiZW5lZmljaWFyecEEATRNdWx0aUxvY2F0aW9uAAQAUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0DAEYYXNzZXRz7QQBLE11bHRpQXNzZXRzAAEQZGVzdMEEATRNdWx0aUxvY2F0aW9uAAEMeGNt4QQBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fdHlwZRUFAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdCwBDHU2NAABEGNhbGwZBQFoRG91YmxlRW5jb2RlZDxSdW50aW1lQ2FsbD4ABgBkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAwBGHNlbmRlclUBAQx1MzIAAUBtYXhfbWVzc2FnZV9zaXplVQEBDHUzMgABMG1heF9jYXBhY2l0eVUBAQx1MzIABwBMSHJtcENoYW5uZWxBY2NlcHRlZAQBJHJlY2lwaWVudFUBAQx1MzIACABISHJtcENoYW5uZWxDbG9zaW5nDAEkaW5pdGlhdG9yVQEBDHUzMgABGHNlbmRlclUBAQx1MzIAASRyZWNpcGllbnRVAQEMdTMyAAkALENsZWFyT3JpZ2luAAoANERlc2NlbmRPcmlnaW4EAMUEAVRJbnRlcmlvck11bHRpTG9jYXRpb24ACwAsUmVwb3J0RXJyb3IMASBxdWVyeV9pZCwBHFF1ZXJ5SWQAARBkZXN0wQQBNE11bHRpTG9jYXRpb24AAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0LAEMdTY0AAwAMERlcG9zaXRBc3NldAwBGGFzc2V0cx0FAUBNdWx0aUFzc2V0RmlsdGVyAAEobWF4X2Fzc2V0c1UBAQx1MzIAASxiZW5lZmljaWFyecEEATRNdWx0aUxvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQQARhhc3NldHMdBQFATXVsdGlBc3NldEZpbHRlcgABKG1heF9hc3NldHNVAQEMdTMyAAEQZGVzdMEEATRNdWx0aUxvY2F0aW9uAAEMeGNt4QQBHFhjbTwoKT4ADgA0RXhjaGFuZ2VBc3NldAgBEGdpdmUdBQFATXVsdGlBc3NldEZpbHRlcgABHHJlY2VpdmXtBAEsTXVsdGlBc3NldHMADwBcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcMARhhc3NldHMdBQFATXVsdGlBc3NldEZpbHRlcgABHHJlc2VydmXBBAE0TXVsdGlMb2NhdGlvbgABDHhjbeEEARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHMdBQFATXVsdGlBc3NldEZpbHRlcgABEGRlc3TBBAE0TXVsdGlMb2NhdGlvbgABDHhjbeEEARxYY208KCk+ABEAMFF1ZXJ5SG9sZGluZxABIHF1ZXJ5X2lkLAEcUXVlcnlJZAABEGRlc3TBBAE0TXVsdGlMb2NhdGlvbgABGGFzc2V0cx0FAUBNdWx0aUFzc2V0RmlsdGVyAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCwBDHU2NAASADBCdXlFeGVjdXRpb24IARBmZWVz9QQBKE11bHRpQXNzZXQAATB3ZWlnaHRfbGltaXQpBQEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEAOEEAUBYY208UnVudGltZUNhbGw+ABUALFNldEFwcGVuZGl4BADhBAFAWGNtPFJ1bnRpbWVDYWxsPgAWAChDbGVhckVycm9yABcAKENsYWltQXNzZXQIARhhc3NldHPtBAEsTXVsdGlBc3NldHMAARh0aWNrZXTBBAE0TXVsdGlMb2NhdGlvbgAYABBUcmFwBAAsAQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHQsAQx1NjQAGgBIVW5zdWJzY3JpYmVWZXJzaW9uABsAAO0EEAx4Y20IdjIobXVsdGlhc3NldCxNdWx0aUFzc2V0cwAABADxBAE8VmVjPE11bHRpQXNzZXQ+AADxBAAAAvUEAPUEEAx4Y20IdjIobXVsdGlhc3NldChNdWx0aUFzc2V0AAAIAQhpZPkEARxBc3NldElkAAEMZnVu/QQBLEZ1bmdpYmlsaXR5AAD5BBAMeGNtCHYyKG11bHRpYXNzZXQcQXNzZXRJZAABCCBDb25jcmV0ZQQAwQQBNE11bHRpTG9jYXRpb24AAAAgQWJzdHJhY3QEADgBHFZlYzx1OD4AAQAA/QQQDHhjbQh2MihtdWx0aWFzc2V0LEZ1bmdpYmlsaXR5AAEIIEZ1bmdpYmxlBAAtAQEQdTEyOAAAACxOb25GdW5naWJsZQQAAQUBNEFzc2V0SW5zdGFuY2UAAQAAAQUQDHhjbQh2MihtdWx0aWFzc2V0NEFzc2V0SW5zdGFuY2UAARwkVW5kZWZpbmVkAAAAFEluZGV4BAAtAQEQdTEyOAABABhBcnJheTQEAEgBHFt1ODsgNF0AAgAYQXJyYXk4BAD9AQEcW3U4OyA4XQADABxBcnJheTE2BAAdAgEgW3U4OyAxNl0ABAAcQXJyYXkzMgQABAEgW3U4OyAzMl0ABQAQQmxvYgQAOAEcVmVjPHU4PgAGAAAFBQwMeGNtCHYyIFJlc3BvbnNlAAEQEE51bGwAAAAYQXNzZXRzBADtBAEsTXVsdGlBc3NldHMAAQA8RXhlY3V0aW9uUmVzdWx0BAAJBQFQT3B0aW9uPCh1MzIsIEVycm9yKT4AAgAcVmVyc2lvbgQAEAE4c3VwZXI6OlZlcnNpb24AAwAACQUEGE9wdGlvbgQEVAENBQEIEE5vbmUAAAAQU29tZQQADQUAAAEAAA0FAAAECBARBQARBRAMeGNtCHYyGHRyYWl0cxRFcnJvcgABaCBPdmVyZmxvdwAAADRVbmltcGxlbWVudGVkAAEAYFVudHJ1c3RlZFJlc2VydmVMb2NhdGlvbgACAGRVbnRydXN0ZWRUZWxlcG9ydExvY2F0aW9uAAMARE11bHRpTG9jYXRpb25GdWxsAAQAaE11bHRpTG9jYXRpb25Ob3RJbnZlcnRpYmxlAAUAJEJhZE9yaWdpbgAGADxJbnZhbGlkTG9jYXRpb24ABwA0QXNzZXROb3RGb3VuZAAIAFRGYWlsZWRUb1RyYW5zYWN0QXNzZXQACQA8Tm90V2l0aGRyYXdhYmxlAAoASExvY2F0aW9uQ2Fubm90SG9sZAALAFRFeGNlZWRzTWF4TWVzc2FnZVNpemUADABYRGVzdGluYXRpb25VbnN1cHBvcnRlZAANACRUcmFuc3BvcnQADgAoVW5yb3V0YWJsZQAPADBVbmtub3duQ2xhaW0AEAA4RmFpbGVkVG9EZWNvZGUAEQBATWF4V2VpZ2h0SW52YWxpZAASADhOb3RIb2xkaW5nRmVlcwATADBUb29FeHBlbnNpdmUAFAAQVHJhcAQAMAEMdTY0ABUATFVuaGFuZGxlZFhjbVZlcnNpb24AFgBIV2VpZ2h0TGltaXRSZWFjaGVkBAAwARhXZWlnaHQAFwAcQmFycmllcgAYAExXZWlnaHROb3RDb21wdXRhYmxlABkAABUFDAx4Y20IdjIoT3JpZ2luS2luZAABEBhOYXRpdmUAAABAU292ZXJlaWduQWNjb3VudAABACRTdXBlcnVzZXIAAgAMWGNtAAMAABkFDAx4Y204ZG91YmxlX2VuY29kZWQ0RG91YmxlRW5jb2RlZAQEVAAABAEcZW5jb2RlZDgBHFZlYzx1OD4AAB0FEAx4Y20IdjIobXVsdGlhc3NldEBNdWx0aUFzc2V0RmlsdGVyAAEIIERlZmluaXRlBADtBAEsTXVsdGlBc3NldHMAAAAQV2lsZAQAIQUBOFdpbGRNdWx0aUFzc2V0AAEAACEFEAx4Y20IdjIobXVsdGlhc3NldDhXaWxkTXVsdGlBc3NldAABCAxBbGwAAAAUQWxsT2YIAQhpZPkEARxBc3NldElkAAEMZnVuJQUBPFdpbGRGdW5naWJpbGl0eQABAAAlBRAMeGNtCHYyKG11bHRpYXNzZXQ8V2lsZEZ1bmdpYmlsaXR5AAEIIEZ1bmdpYmxlAAAALE5vbkZ1bmdpYmxlAAEAACkFDAx4Y20IdjIsV2VpZ2h0TGltaXQAAQgkVW5saW1pdGVkAAAAHExpbWl0ZWQEACwBDHU2NAABAAAtBQwMeGNtCHYzDFhjbQQQQ2FsbAAABAAxBQFYVmVjPEluc3RydWN0aW9uPENhbGw+PgAAMQUAAAI1BQA1BQwMeGNtCHYzLEluc3RydWN0aW9uBBBDYWxsAAHANFdpdGhkcmF3QXNzZXQEADkFASxNdWx0aUFzc2V0cwAAAFRSZXNlcnZlQXNzZXREZXBvc2l0ZWQEADkFASxNdWx0aUFzc2V0cwABAFhSZWNlaXZlVGVsZXBvcnRlZEFzc2V0BAA5BQEsTXVsdGlBc3NldHMAAgA0UXVlcnlSZXNwb25zZRABIHF1ZXJ5X2lkLAEcUXVlcnlJZAABIHJlc3BvbnNlUQUBIFJlc3BvbnNlAAEobWF4X3dlaWdodCgBGFdlaWdodAABHHF1ZXJpZXJ5BQFUT3B0aW9uPE11bHRpTG9jYXRpb24+AAMANFRyYW5zZmVyQXNzZXQIARhhc3NldHM5BQEsTXVsdGlBc3NldHMAASxiZW5lZmljaWFyefUCATRNdWx0aUxvY2F0aW9uAAQAUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0DAEYYXNzZXRzOQUBLE11bHRpQXNzZXRzAAEQZGVzdPUCATRNdWx0aUxvY2F0aW9uAAEMeGNtLQUBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZH0FAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdCgBGFdlaWdodAABEGNhbGwZBQFMRG91YmxlRW5jb2RlZDxDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyVQEBDHUzMgABQG1heF9tZXNzYWdlX3NpemVVAQEMdTMyAAEwbWF4X2NhcGFjaXR5VQEBDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50VQEBDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JVAQEMdTMyAAEYc2VuZGVyVQEBDHUzMgABJHJlY2lwaWVudFUBAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQA+QIBVEludGVyaW9yTXVsdGlMb2NhdGlvbgALACxSZXBvcnRFcnJvcgQAgQUBRFF1ZXJ5UmVzcG9uc2VJbmZvAAwAMERlcG9zaXRBc3NldAgBGGFzc2V0c4UFAUBNdWx0aUFzc2V0RmlsdGVyAAEsYmVuZWZpY2lhcnn1AgE0TXVsdGlMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0DAEYYXNzZXRzhQUBQE11bHRpQXNzZXRGaWx0ZXIAARBkZXN09QIBNE11bHRpTG9jYXRpb24AAQx4Y20tBQEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0DAEQZ2l2ZYUFAUBNdWx0aUFzc2V0RmlsdGVyAAEQd2FudDkFASxNdWx0aUFzc2V0cwABHG1heGltYWwgARBib29sAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRzhQUBQE11bHRpQXNzZXRGaWx0ZXIAARxyZXNlcnZl9QIBNE11bHRpTG9jYXRpb24AAQx4Y20tBQEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRzhQUBQE11bHRpQXNzZXRGaWx0ZXIAARBkZXN09QIBNE11bHRpTG9jYXRpb24AAQx4Y20tBQEcWGNtPCgpPgARADRSZXBvcnRIb2xkaW5nCAE0cmVzcG9uc2VfaW5mb4EFAURRdWVyeVJlc3BvbnNlSW5mbwABGGFzc2V0c4UFAUBNdWx0aUFzc2V0RmlsdGVyABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXNBBQEoTXVsdGlBc3NldAABMHdlaWdodF9saW1pdJEFASxXZWlnaHRMaW1pdAATADRSZWZ1bmRTdXJwbHVzABQAPFNldEVycm9ySGFuZGxlcgQALQUBJFhjbTxDYWxsPgAVACxTZXRBcHBlbmRpeAQALQUBJFhjbTxDYWxsPgAWAChDbGVhckVycm9yABcAKENsYWltQXNzZXQIARhhc3NldHM5BQEsTXVsdGlBc3NldHMAARh0aWNrZXT1AgE0TXVsdGlMb2NhdGlvbgAYABBUcmFwBAAsAQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHQoARhXZWlnaHQAGgBIVW5zdWJzY3JpYmVWZXJzaW9uABsAJEJ1cm5Bc3NldAQAOQUBLE11bHRpQXNzZXRzABwALEV4cGVjdEFzc2V0BAA5BQEsTXVsdGlBc3NldHMAHQAwRXhwZWN0T3JpZ2luBAB5BQFUT3B0aW9uPE11bHRpTG9jYXRpb24+AB4ALEV4cGVjdEVycm9yBABVBQFQT3B0aW9uPCh1MzIsIEVycm9yKT4AHwBQRXhwZWN0VHJhbnNhY3RTdGF0dXMEAHEFAThNYXliZUVycm9yQ29kZQAgACxRdWVyeVBhbGxldAgBLG1vZHVsZV9uYW1lOAEcVmVjPHU4PgABNHJlc3BvbnNlX2luZm+BBQFEUXVlcnlSZXNwb25zZUluZm8AIQAwRXhwZWN0UGFsbGV0FAEUaW5kZXhVAQEMdTMyAAEQbmFtZTgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZTgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvclUBAQx1MzIAATxtaW5fY3JhdGVfbWlub3JVAQEMdTMyACIAUFJlcG9ydFRyYW5zYWN0U3RhdHVzBACBBQFEUXVlcnlSZXNwb25zZUluZm8AIwBMQ2xlYXJUcmFuc2FjdFN0YXR1cwAkADxVbml2ZXJzYWxPcmlnaW4EAP0CASBKdW5jdGlvbgAlADRFeHBvcnRNZXNzYWdlDAEcbmV0d29yawUDASROZXR3b3JrSWQAASxkZXN0aW5hdGlvbvkCAVRJbnRlcmlvck11bHRpTG9jYXRpb24AAQx4Y20tBQEcWGNtPCgpPgAmACRMb2NrQXNzZXQIARRhc3NldEEFAShNdWx0aUFzc2V0AAEgdW5sb2NrZXL1AgE0TXVsdGlMb2NhdGlvbgAnACxVbmxvY2tBc3NldAgBFGFzc2V0QQUBKE11bHRpQXNzZXQAARh0YXJnZXT1AgE0TXVsdGlMb2NhdGlvbgAoADhOb3RlVW5sb2NrYWJsZQgBFGFzc2V0QQUBKE11bHRpQXNzZXQAARRvd25lcvUCATRNdWx0aUxvY2F0aW9uACkANFJlcXVlc3RVbmxvY2sIARRhc3NldEEFAShNdWx0aUFzc2V0AAEYbG9ja2Vy9QIBNE11bHRpTG9jYXRpb24AKgAsU2V0RmVlc01vZGUEATBqaXRfd2l0aGRyYXcgARBib29sACsAIFNldFRvcGljBAAEASBbdTg7IDMyXQAsAChDbGVhclRvcGljAC0ALEFsaWFzT3JpZ2luBAD1AgE0TXVsdGlMb2NhdGlvbgAuADxVbnBhaWRFeGVjdXRpb24IATB3ZWlnaHRfbGltaXSRBQEsV2VpZ2h0TGltaXQAATBjaGVja19vcmlnaW55BQFUT3B0aW9uPE11bHRpTG9jYXRpb24+AC8AADkFEAx4Y20IdjMobXVsdGlhc3NldCxNdWx0aUFzc2V0cwAABAA9BQE8VmVjPE11bHRpQXNzZXQ+AAA9BQAAAkEFAEEFEAx4Y20IdjMobXVsdGlhc3NldChNdWx0aUFzc2V0AAAIAQhpZEUFARxBc3NldElkAAEMZnVuSQUBLEZ1bmdpYmlsaXR5AABFBRAMeGNtCHYzKG11bHRpYXNzZXQcQXNzZXRJZAABCCBDb25jcmV0ZQQA9QIBNE11bHRpTG9jYXRpb24AAAAgQWJzdHJhY3QEAAQBIFt1ODsgMzJdAAEAAEkFEAx4Y20IdjMobXVsdGlhc3NldCxGdW5naWJpbGl0eQABCCBGdW5naWJsZQQALQEBEHUxMjgAAAAsTm9uRnVuZ2libGUEAE0FATRBc3NldEluc3RhbmNlAAEAAE0FEAx4Y20IdjMobXVsdGlhc3NldDRBc3NldEluc3RhbmNlAAEYJFVuZGVmaW5lZAAAABRJbmRleAQALQEBEHUxMjgAAQAYQXJyYXk0BABIARxbdTg7IDRdAAIAGEFycmF5OAQA/QEBHFt1ODsgOF0AAwAcQXJyYXkxNgQAHQIBIFt1ODsgMTZdAAQAHEFycmF5MzIEAAQBIFt1ODsgMzJdAAUAAFEFDAx4Y20IdjMgUmVzcG9uc2UAARgQTnVsbAAAABhBc3NldHMEADkFASxNdWx0aUFzc2V0cwABADxFeGVjdXRpb25SZXN1bHQEAFUFAVBPcHRpb248KHUzMiwgRXJyb3IpPgACABxWZXJzaW9uBAAQAThzdXBlcjo6VmVyc2lvbgADACxQYWxsZXRzSW5mbwQAYQUBmEJvdW5kZWRWZWM8UGFsbGV0SW5mbywgTWF4UGFsbGV0c0luZm8+AAQAOERpc3BhdGNoUmVzdWx0BABxBQE4TWF5YmVFcnJvckNvZGUABQAAVQUEGE9wdGlvbgQEVAFZBQEIEE5vbmUAAAAQU29tZQQAWQUAAAEAAFkFAAAECBBdBQBdBRAMeGNtCHYzGHRyYWl0cxRFcnJvcgABoCBPdmVyZmxvdwAAADRVbmltcGxlbWVudGVkAAEAYFVudHJ1c3RlZFJlc2VydmVMb2NhdGlvbgACAGRVbnRydXN0ZWRUZWxlcG9ydExvY2F0aW9uAAMAMExvY2F0aW9uRnVsbAAEAFRMb2NhdGlvbk5vdEludmVydGlibGUABQAkQmFkT3JpZ2luAAYAPEludmFsaWRMb2NhdGlvbgAHADRBc3NldE5vdEZvdW5kAAgAVEZhaWxlZFRvVHJhbnNhY3RBc3NldAAJADxOb3RXaXRoZHJhd2FibGUACgBITG9jYXRpb25DYW5ub3RIb2xkAAsAVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQAMAFhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAA0AJFRyYW5zcG9ydAAOAChVbnJvdXRhYmxlAA8AMFVua25vd25DbGFpbQAQADhGYWlsZWRUb0RlY29kZQARAEBNYXhXZWlnaHRJbnZhbGlkABIAOE5vdEhvbGRpbmdGZWVzABMAMFRvb0V4cGVuc2l2ZQAUABBUcmFwBAAwAQx1NjQAFQBARXhwZWN0YXRpb25GYWxzZQAWADhQYWxsZXROb3RGb3VuZAAXADBOYW1lTWlzbWF0Y2gAGABMVmVyc2lvbkluY29tcGF0aWJsZQAZAFBIb2xkaW5nV291bGRPdmVyZmxvdwAaACxFeHBvcnRFcnJvcgAbADhSZWFuY2hvckZhaWxlZAAcABhOb0RlYWwAHQAoRmVlc05vdE1ldAAeACRMb2NrRXJyb3IAHwAwTm9QZXJtaXNzaW9uACAAKFVuYW5jaG9yZWQAIQA4Tm90RGVwb3NpdGFibGUAIgBMVW5oYW5kbGVkWGNtVmVyc2lvbgAjAEhXZWlnaHRMaW1pdFJlYWNoZWQEACgBGFdlaWdodAAkABxCYXJyaWVyACUATFdlaWdodE5vdENvbXB1dGFibGUAJgBERXhjZWVkc1N0YWNrTGltaXQAJwAAYQUMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFlBQRTAAAEAG0FARhWZWM8VD4AAGUFDAx4Y20IdjMoUGFsbGV0SW5mbwAAGAEUaW5kZXhVAQEMdTMyAAEQbmFtZWkFAYBCb3VuZGVkVmVjPHU4LCBNYXhQYWxsZXROYW1lTGVuPgABLG1vZHVsZV9uYW1laQUBgEJvdW5kZWRWZWM8dTgsIE1heFBhbGxldE5hbWVMZW4+AAEUbWFqb3JVAQEMdTMyAAEUbWlub3JVAQEMdTMyAAEUcGF0Y2hVAQEMdTMyAABpBQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAG0FAAACZQUAcQUMDHhjbQh2MzhNYXliZUVycm9yQ29kZQABDBxTdWNjZXNzAAAAFEVycm9yBAB1BQGMQm91bmRlZFZlYzx1OCwgTWF4RGlzcGF0Y2hFcnJvckxlbj4AAQA4VHJ1bmNhdGVkRXJyb3IEAHUFAYxCb3VuZGVkVmVjPHU4LCBNYXhEaXNwYXRjaEVycm9yTGVuPgACAAB1BQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAHkFBBhPcHRpb24EBFQB9QIBCBBOb25lAAAAEFNvbWUEAPUCAAABAAB9BQwMeGNtCHYzKE9yaWdpbktpbmQAARAYTmF0aXZlAAAAQFNvdmVyZWlnbkFjY291bnQAAQAkU3VwZXJ1c2VyAAIADFhjbQADAACBBQwMeGNtCHYzRFF1ZXJ5UmVzcG9uc2VJbmZvAAAMASxkZXN0aW5hdGlvbvUCATRNdWx0aUxvY2F0aW9uAAEgcXVlcnlfaWQsARxRdWVyeUlkAAEobWF4X3dlaWdodCgBGFdlaWdodAAAhQUQDHhjbQh2MyhtdWx0aWFzc2V0QE11bHRpQXNzZXRGaWx0ZXIAAQggRGVmaW5pdGUEADkFASxNdWx0aUFzc2V0cwAAABBXaWxkBACJBQE4V2lsZE11bHRpQXNzZXQAAQAAiQUQDHhjbQh2MyhtdWx0aWFzc2V0OFdpbGRNdWx0aUFzc2V0AAEQDEFsbAAAABRBbGxPZggBCGlkRQUBHEFzc2V0SWQAAQxmdW6NBQE8V2lsZEZ1bmdpYmlsaXR5AAEAKEFsbENvdW50ZWQEAFUBAQx1MzIAAgAwQWxsT2ZDb3VudGVkDAEIaWRFBQEcQXNzZXRJZAABDGZ1bo0FATxXaWxkRnVuZ2liaWxpdHkAARRjb3VudFUBAQx1MzIAAwAAjQUQDHhjbQh2MyhtdWx0aWFzc2V0PFdpbGRGdW5naWJpbGl0eQABCCBGdW5naWJsZQAAACxOb25GdW5naWJsZQABAACRBQwMeGNtCHYzLFdlaWdodExpbWl0AAEIJFVubGltaXRlZAAAABxMaW1pdGVkBAAoARhXZWlnaHQAAQAAlQUMLHN0YWdpbmdfeGNtCHY0DFhjbQQQQ2FsbAAABACZBQFYVmVjPEluc3RydWN0aW9uPENhbGw+PgAAmQUAAAKdBQCdBQwsc3RhZ2luZ194Y20IdjQsSW5zdHJ1Y3Rpb24EEENhbGwAAcA0V2l0aGRyYXdBc3NldAQAoQUBGEFzc2V0cwAAAFRSZXNlcnZlQXNzZXREZXBvc2l0ZWQEAKEFARhBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQAoQUBGEFzc2V0cwACADRRdWVyeVJlc3BvbnNlEAEgcXVlcnlfaWQsARxRdWVyeUlkAAEgcmVzcG9uc2W5BQEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0KAEYV2VpZ2h0AAEccXVlcmllcs0FAUBPcHRpb248TG9jYXRpb24+AAMANFRyYW5zZmVyQXNzZXQIARhhc3NldHOhBQEYQXNzZXRzAAEsYmVuZWZpY2lhcnl9AQEgTG9jYXRpb24ABABQVHJhbnNmZXJSZXNlcnZlQXNzZXQMARhhc3NldHOhBQEYQXNzZXRzAAEQZGVzdH0BASBMb2NhdGlvbgABDHhjbZUFARxYY208KCk+AAUAIFRyYW5zYWN0DAEsb3JpZ2luX2tpbmR9BQEoT3JpZ2luS2luZAABWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3QoARhXZWlnaHQAARBjYWxsGQUBTERvdWJsZUVuY29kZWQ8Q2FsbD4ABgBkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAwBGHNlbmRlclUBAQx1MzIAAUBtYXhfbWVzc2FnZV9zaXplVQEBDHUzMgABMG1heF9jYXBhY2l0eVUBAQx1MzIABwBMSHJtcENoYW5uZWxBY2NlcHRlZAQBJHJlY2lwaWVudFUBAQx1MzIACABISHJtcENoYW5uZWxDbG9zaW5nDAEkaW5pdGlhdG9yVQEBDHUzMgABGHNlbmRlclUBAQx1MzIAASRyZWNpcGllbnRVAQEMdTMyAAkALENsZWFyT3JpZ2luAAoANERlc2NlbmRPcmlnaW4EAIEBAUBJbnRlcmlvckxvY2F0aW9uAAsALFJlcG9ydEVycm9yBADRBQFEUXVlcnlSZXNwb25zZUluZm8ADAAwRGVwb3NpdEFzc2V0CAEYYXNzZXRz1QUBLEFzc2V0RmlsdGVyAAEsYmVuZWZpY2lhcnl9AQEgTG9jYXRpb24ADQBMRGVwb3NpdFJlc2VydmVBc3NldAwBGGFzc2V0c9UFASxBc3NldEZpbHRlcgABEGRlc3R9AQEgTG9jYXRpb24AAQx4Y22VBQEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0DAEQZ2l2ZdUFASxBc3NldEZpbHRlcgABEHdhbnShBQEYQXNzZXRzAAEcbWF4aW1hbCABEGJvb2wADwBcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcMARhhc3NldHPVBQEsQXNzZXRGaWx0ZXIAARxyZXNlcnZlfQEBIExvY2F0aW9uAAEMeGNtlQUBHFhjbTwoKT4AEABASW5pdGlhdGVUZWxlcG9ydAwBGGFzc2V0c9UFASxBc3NldEZpbHRlcgABEGRlc3R9AQEgTG9jYXRpb24AAQx4Y22VBQEcWGNtPCgpPgARADRSZXBvcnRIb2xkaW5nCAE0cmVzcG9uc2VfaW5mb9EFAURRdWVyeVJlc3BvbnNlSW5mbwABGGFzc2V0c9UFASxBc3NldEZpbHRlcgASADBCdXlFeGVjdXRpb24IARBmZWVzqQUBFEFzc2V0AAEwd2VpZ2h0X2xpbWl0kQUBLFdlaWdodExpbWl0ABMANFJlZnVuZFN1cnBsdXMAFAA8U2V0RXJyb3JIYW5kbGVyBACVBQEkWGNtPENhbGw+ABUALFNldEFwcGVuZGl4BACVBQEkWGNtPENhbGw+ABYAKENsZWFyRXJyb3IAFwAoQ2xhaW1Bc3NldAgBGGFzc2V0c6EFARhBc3NldHMAARh0aWNrZXR9AQEgTG9jYXRpb24AGAAQVHJhcAQALAEMdTY0ABkAQFN1YnNjcmliZVZlcnNpb24IASBxdWVyeV9pZCwBHFF1ZXJ5SWQAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0KAEYV2VpZ2h0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbACRCdXJuQXNzZXQEAKEFARhBc3NldHMAHAAsRXhwZWN0QXNzZXQEAKEFARhBc3NldHMAHQAwRXhwZWN0T3JpZ2luBADNBQFAT3B0aW9uPExvY2F0aW9uPgAeACxFeHBlY3RFcnJvcgQAVQUBUE9wdGlvbjwodTMyLCBFcnJvcik+AB8AUEV4cGVjdFRyYW5zYWN0U3RhdHVzBABxBQE4TWF5YmVFcnJvckNvZGUAIAAsUXVlcnlQYWxsZXQIASxtb2R1bGVfbmFtZTgBHFZlYzx1OD4AATRyZXNwb25zZV9pbmZv0QUBRFF1ZXJ5UmVzcG9uc2VJbmZvACEAMEV4cGVjdFBhbGxldBQBFGluZGV4VQEBDHUzMgABEG5hbWU4ARxWZWM8dTg+AAEsbW9kdWxlX25hbWU4ARxWZWM8dTg+AAEsY3JhdGVfbWFqb3JVAQEMdTMyAAE8bWluX2NyYXRlX21pbm9yVQEBDHUzMgAiAFBSZXBvcnRUcmFuc2FjdFN0YXR1cwQA0QUBRFF1ZXJ5UmVzcG9uc2VJbmZvACMATENsZWFyVHJhbnNhY3RTdGF0dXMAJAA8VW5pdmVyc2FsT3JpZ2luBACJAQEgSnVuY3Rpb24AJQA0RXhwb3J0TWVzc2FnZQwBHG5ldHdvcmuRAQEkTmV0d29ya0lkAAEsZGVzdGluYXRpb26BAQFASW50ZXJpb3JMb2NhdGlvbgABDHhjbZUFARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0qQUBFEFzc2V0AAEgdW5sb2NrZXJ9AQEgTG9jYXRpb24AJwAsVW5sb2NrQXNzZXQIARRhc3NldKkFARRBc3NldAABGHRhcmdldH0BASBMb2NhdGlvbgAoADhOb3RlVW5sb2NrYWJsZQgBFGFzc2V0qQUBFEFzc2V0AAEUb3duZXJ9AQEgTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0qQUBFEFzc2V0AAEYbG9ja2VyfQEBIExvY2F0aW9uACoALFNldEZlZXNNb2RlBAEwaml0X3dpdGhkcmF3IAEQYm9vbAArACBTZXRUb3BpYwQABAEgW3U4OyAzMl0ALAAoQ2xlYXJUb3BpYwAtACxBbGlhc09yaWdpbgQAfQEBIExvY2F0aW9uAC4APFVucGFpZEV4ZWN1dGlvbggBMHdlaWdodF9saW1pdJEFASxXZWlnaHRMaW1pdAABMGNoZWNrX29yaWdpbs0FAUBPcHRpb248TG9jYXRpb24+AC8AAKEFECxzdGFnaW5nX3hjbQh2NBRhc3NldBhBc3NldHMAAAQApQUBKFZlYzxBc3NldD4AAKUFAAACqQUAqQUQLHN0YWdpbmdfeGNtCHY0FGFzc2V0FEFzc2V0AAAIAQhpZK0FARxBc3NldElkAAEMZnVusQUBLEZ1bmdpYmlsaXR5AACtBRAsc3RhZ2luZ194Y20IdjQUYXNzZXQcQXNzZXRJZAAABAB9AQEgTG9jYXRpb24AALEFECxzdGFnaW5nX3hjbQh2NBRhc3NldCxGdW5naWJpbGl0eQABCCBGdW5naWJsZQQALQEBEHUxMjgAAAAsTm9uRnVuZ2libGUEALUFATRBc3NldEluc3RhbmNlAAEAALUFECxzdGFnaW5nX3hjbQh2NBRhc3NldDRBc3NldEluc3RhbmNlAAEYJFVuZGVmaW5lZAAAABRJbmRleAQALQEBEHUxMjgAAQAYQXJyYXk0BABIARxbdTg7IDRdAAIAGEFycmF5OAQA/QEBHFt1ODsgOF0AAwAcQXJyYXkxNgQAHQIBIFt1ODsgMTZdAAQAHEFycmF5MzIEAAQBIFt1ODsgMzJdAAUAALkFDCxzdGFnaW5nX3hjbQh2NCBSZXNwb25zZQABGBBOdWxsAAAAGEFzc2V0cwQAoQUBGEFzc2V0cwABADxFeGVjdXRpb25SZXN1bHQEAFUFAVBPcHRpb248KHUzMiwgRXJyb3IpPgACABxWZXJzaW9uBAAQAThzdXBlcjo6VmVyc2lvbgADACxQYWxsZXRzSW5mbwQAvQUBmEJvdW5kZWRWZWM8UGFsbGV0SW5mbywgTWF4UGFsbGV0c0luZm8+AAQAOERpc3BhdGNoUmVzdWx0BABxBQE4TWF5YmVFcnJvckNvZGUABQAAvQUMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAHBBQRTAAAEAMkFARhWZWM8VD4AAMEFDCxzdGFnaW5nX3hjbQh2NChQYWxsZXRJbmZvAAAYARRpbmRleFUBAQx1MzIAARBuYW1lxQUBgEJvdW5kZWRWZWM8dTgsIE1heFBhbGxldE5hbWVMZW4+AAEsbW9kdWxlX25hbWXFBQGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AARRtYWpvclUBAQx1MzIAARRtaW5vclUBAQx1MzIAARRwYXRjaFUBAQx1MzIAAMUFDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAyQUAAALBBQDNBQQYT3B0aW9uBARUAX0BAQgQTm9uZQAAABBTb21lBAB9AQAAAQAA0QUMLHN0YWdpbmdfeGNtCHY0RFF1ZXJ5UmVzcG9uc2VJbmZvAAAMASxkZXN0aW5hdGlvbn0BASBMb2NhdGlvbgABIHF1ZXJ5X2lkLAEcUXVlcnlJZAABKG1heF93ZWlnaHQoARhXZWlnaHQAANUFECxzdGFnaW5nX3hjbQh2NBRhc3NldCxBc3NldEZpbHRlcgABCCBEZWZpbml0ZQQAoQUBGEFzc2V0cwAAABBXaWxkBADZBQEkV2lsZEFzc2V0AAEAANkFECxzdGFnaW5nX3hjbQh2NBRhc3NldCRXaWxkQXNzZXQAARAMQWxsAAAAFEFsbE9mCAEIaWStBQEcQXNzZXRJZAABDGZ1bt0FATxXaWxkRnVuZ2liaWxpdHkAAQAoQWxsQ291bnRlZAQAVQEBDHUzMgACADBBbGxPZkNvdW50ZWQMAQhpZK0FARxBc3NldElkAAEMZnVu3QUBPFdpbGRGdW5naWJpbGl0eQABFGNvdW50VQEBDHUzMgADAADdBRAsc3RhZ2luZ194Y20IdjQUYXNzZXQ8V2lsZEZ1bmdpYmlsaXR5AAEIIEZ1bmdpYmxlAAAALE5vbkZ1bmdpYmxlAAEAAOEFCAx4Y208VmVyc2lvbmVkQXNzZXRzAAEMCFYyBADtBAE8djI6Ok11bHRpQXNzZXRzAAEACFYzBAA5BQE8djM6Ok11bHRpQXNzZXRzAAMACFY0BAChBQEodjQ6OkFzc2V0cwAEAADlBQgMeGNtMFZlcnNpb25lZFhjbQQsUnVudGltZUNhbGwAAQwIVjIEAOkFAVB2Mjo6WGNtPFJ1bnRpbWVDYWxsPgACAAhWMwQA+QUBUHYzOjpYY208UnVudGltZUNhbGw+AAMACFY0BAAFBgFQdjQ6OlhjbTxSdW50aW1lQ2FsbD4ABAAA6QUMDHhjbQh2MgxYY20ELFJ1bnRpbWVDYWxsAAAEAO0FAXRWZWM8SW5zdHJ1Y3Rpb248UnVudGltZUNhbGw+PgAA7QUAAALxBQDxBQwMeGNtCHYyLEluc3RydWN0aW9uBCxSdW50aW1lQ2FsbAABcDRXaXRoZHJhd0Fzc2V0BADtBAEsTXVsdGlBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBADtBAEsTXVsdGlBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQA7QQBLE11bHRpQXNzZXRzAAIANFF1ZXJ5UmVzcG9uc2UMASBxdWVyeV9pZCwBHFF1ZXJ5SWQAASByZXNwb25zZQUFASBSZXNwb25zZQABKG1heF93ZWlnaHQsAQx1NjQAAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c+0EASxNdWx0aUFzc2V0cwABLGJlbmVmaWNpYXJ5wQQBNE11bHRpTG9jYXRpb24ABABQVHJhbnNmZXJSZXNlcnZlQXNzZXQMARhhc3NldHPtBAEsTXVsdGlBc3NldHMAARBkZXN0wQQBNE11bHRpTG9jYXRpb24AAQx4Y23hBAEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl90eXBlFQUBKE9yaWdpbktpbmQAAVhyZXF1aXJlX3dlaWdodF9hdF9tb3N0LAEMdTY0AAEQY2FsbPUFAWhEb3VibGVFbmNvZGVkPFJ1bnRpbWVDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyVQEBDHUzMgABQG1heF9tZXNzYWdlX3NpemVVAQEMdTMyAAEwbWF4X2NhcGFjaXR5VQEBDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50VQEBDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JVAQEMdTMyAAEYc2VuZGVyVQEBDHUzMgABJHJlY2lwaWVudFUBAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQAxQQBVEludGVyaW9yTXVsdGlMb2NhdGlvbgALACxSZXBvcnRFcnJvcgwBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABEGRlc3TBBAE0TXVsdGlMb2NhdGlvbgABTG1heF9yZXNwb25zZV93ZWlnaHQsAQx1NjQADAAwRGVwb3NpdEFzc2V0DAEYYXNzZXRzHQUBQE11bHRpQXNzZXRGaWx0ZXIAAShtYXhfYXNzZXRzVQEBDHUzMgABLGJlbmVmaWNpYXJ5wQQBNE11bHRpTG9jYXRpb24ADQBMRGVwb3NpdFJlc2VydmVBc3NldBABGGFzc2V0cx0FAUBNdWx0aUFzc2V0RmlsdGVyAAEobWF4X2Fzc2V0c1UBAQx1MzIAARBkZXN0wQQBNE11bHRpTG9jYXRpb24AAQx4Y23hBAEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0CAEQZ2l2ZR0FAUBNdWx0aUFzc2V0RmlsdGVyAAEccmVjZWl2Ze0EASxNdWx0aUFzc2V0cwAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0cx0FAUBNdWx0aUFzc2V0RmlsdGVyAAEccmVzZXJ2ZcEEATRNdWx0aUxvY2F0aW9uAAEMeGNt4QQBHFhjbTwoKT4AEABASW5pdGlhdGVUZWxlcG9ydAwBGGFzc2V0cx0FAUBNdWx0aUFzc2V0RmlsdGVyAAEQZGVzdMEEATRNdWx0aUxvY2F0aW9uAAEMeGNt4QQBHFhjbTwoKT4AEQAwUXVlcnlIb2xkaW5nEAEgcXVlcnlfaWQsARxRdWVyeUlkAAEQZGVzdMEEATRNdWx0aUxvY2F0aW9uAAEYYXNzZXRzHQUBQE11bHRpQXNzZXRGaWx0ZXIAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0LAEMdTY0ABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXP1BAEoTXVsdGlBc3NldAABMHdlaWdodF9saW1pdCkFASxXZWlnaHRMaW1pdAATADRSZWZ1bmRTdXJwbHVzABQAPFNldEVycm9ySGFuZGxlcgQA6QUBQFhjbTxSdW50aW1lQ2FsbD4AFQAsU2V0QXBwZW5kaXgEAOkFAUBYY208UnVudGltZUNhbGw+ABYAKENsZWFyRXJyb3IAFwAoQ2xhaW1Bc3NldAgBGGFzc2V0c+0EASxNdWx0aUFzc2V0cwABGHRpY2tldMEEATRNdWx0aUxvY2F0aW9uABgAEFRyYXAEACwBDHU2NAAZAEBTdWJzY3JpYmVWZXJzaW9uCAEgcXVlcnlfaWQsARxRdWVyeUlkAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCwBDHU2NAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAA9QUMDHhjbThkb3VibGVfZW5jb2RlZDREb3VibGVFbmNvZGVkBARUAAAEARxlbmNvZGVkOAEcVmVjPHU4PgAA+QUMDHhjbQh2MwxYY20EEENhbGwAAAQA/QUBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AAP0FAAACAQYAAQYMDHhjbQh2MyxJbnN0cnVjdGlvbgQQQ2FsbAABwDRXaXRoZHJhd0Fzc2V0BAA5BQEsTXVsdGlBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBAA5BQEsTXVsdGlBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQAOQUBLE11bHRpQXNzZXRzAAIANFF1ZXJ5UmVzcG9uc2UQASBxdWVyeV9pZCwBHFF1ZXJ5SWQAASByZXNwb25zZVEFASBSZXNwb25zZQABKG1heF93ZWlnaHQoARhXZWlnaHQAARxxdWVyaWVyeQUBVE9wdGlvbjxNdWx0aUxvY2F0aW9uPgADADRUcmFuc2ZlckFzc2V0CAEYYXNzZXRzOQUBLE11bHRpQXNzZXRzAAEsYmVuZWZpY2lhcnn1AgE0TXVsdGlMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0czkFASxNdWx0aUFzc2V0cwABEGRlc3T1AgE0TXVsdGlMb2NhdGlvbgABDHhjbS0FARxYY208KCk+AAUAIFRyYW5zYWN0DAEsb3JpZ2luX2tpbmR9BQEoT3JpZ2luS2luZAABWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3QoARhXZWlnaHQAARBjYWxs9QUBTERvdWJsZUVuY29kZWQ8Q2FsbD4ABgBkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAwBGHNlbmRlclUBAQx1MzIAAUBtYXhfbWVzc2FnZV9zaXplVQEBDHUzMgABMG1heF9jYXBhY2l0eVUBAQx1MzIABwBMSHJtcENoYW5uZWxBY2NlcHRlZAQBJHJlY2lwaWVudFUBAQx1MzIACABISHJtcENoYW5uZWxDbG9zaW5nDAEkaW5pdGlhdG9yVQEBDHUzMgABGHNlbmRlclUBAQx1MzIAASRyZWNpcGllbnRVAQEMdTMyAAkALENsZWFyT3JpZ2luAAoANERlc2NlbmRPcmlnaW4EAPkCAVRJbnRlcmlvck11bHRpTG9jYXRpb24ACwAsUmVwb3J0RXJyb3IEAIEFAURRdWVyeVJlc3BvbnNlSW5mbwAMADBEZXBvc2l0QXNzZXQIARhhc3NldHOFBQFATXVsdGlBc3NldEZpbHRlcgABLGJlbmVmaWNpYXJ59QIBNE11bHRpTG9jYXRpb24ADQBMRGVwb3NpdFJlc2VydmVBc3NldAwBGGFzc2V0c4UFAUBNdWx0aUFzc2V0RmlsdGVyAAEQZGVzdPUCATRNdWx0aUxvY2F0aW9uAAEMeGNtLQUBHFhjbTwoKT4ADgA0RXhjaGFuZ2VBc3NldAwBEGdpdmWFBQFATXVsdGlBc3NldEZpbHRlcgABEHdhbnQ5BQEsTXVsdGlBc3NldHMAARxtYXhpbWFsIAEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0c4UFAUBNdWx0aUFzc2V0RmlsdGVyAAEccmVzZXJ2ZfUCATRNdWx0aUxvY2F0aW9uAAEMeGNtLQUBHFhjbTwoKT4AEABASW5pdGlhdGVUZWxlcG9ydAwBGGFzc2V0c4UFAUBNdWx0aUFzc2V0RmlsdGVyAAEQZGVzdPUCATRNdWx0aUxvY2F0aW9uAAEMeGNtLQUBHFhjbTwoKT4AEQA0UmVwb3J0SG9sZGluZwgBNHJlc3BvbnNlX2luZm+BBQFEUXVlcnlSZXNwb25zZUluZm8AARhhc3NldHOFBQFATXVsdGlBc3NldEZpbHRlcgASADBCdXlFeGVjdXRpb24IARBmZWVzQQUBKE11bHRpQXNzZXQAATB3ZWlnaHRfbGltaXSRBQEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEAPkFASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEAPkFASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRzOQUBLE11bHRpQXNzZXRzAAEYdGlja2V09QIBNE11bHRpTG9jYXRpb24AGAAQVHJhcAQALAEMdTY0ABkAQFN1YnNjcmliZVZlcnNpb24IASBxdWVyeV9pZCwBHFF1ZXJ5SWQAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0KAEYV2VpZ2h0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbACRCdXJuQXNzZXQEADkFASxNdWx0aUFzc2V0cwAcACxFeHBlY3RBc3NldAQAOQUBLE11bHRpQXNzZXRzAB0AMEV4cGVjdE9yaWdpbgQAeQUBVE9wdGlvbjxNdWx0aUxvY2F0aW9uPgAeACxFeHBlY3RFcnJvcgQAVQUBUE9wdGlvbjwodTMyLCBFcnJvcik+AB8AUEV4cGVjdFRyYW5zYWN0U3RhdHVzBABxBQE4TWF5YmVFcnJvckNvZGUAIAAsUXVlcnlQYWxsZXQIASxtb2R1bGVfbmFtZTgBHFZlYzx1OD4AATRyZXNwb25zZV9pbmZvgQUBRFF1ZXJ5UmVzcG9uc2VJbmZvACEAMEV4cGVjdFBhbGxldBQBFGluZGV4VQEBDHUzMgABEG5hbWU4ARxWZWM8dTg+AAEsbW9kdWxlX25hbWU4ARxWZWM8dTg+AAEsY3JhdGVfbWFqb3JVAQEMdTMyAAE8bWluX2NyYXRlX21pbm9yVQEBDHUzMgAiAFBSZXBvcnRUcmFuc2FjdFN0YXR1cwQAgQUBRFF1ZXJ5UmVzcG9uc2VJbmZvACMATENsZWFyVHJhbnNhY3RTdGF0dXMAJAA8VW5pdmVyc2FsT3JpZ2luBAD9AgEgSnVuY3Rpb24AJQA0RXhwb3J0TWVzc2FnZQwBHG5ldHdvcmsFAwEkTmV0d29ya0lkAAEsZGVzdGluYXRpb275AgFUSW50ZXJpb3JNdWx0aUxvY2F0aW9uAAEMeGNtLQUBHFhjbTwoKT4AJgAkTG9ja0Fzc2V0CAEUYXNzZXRBBQEoTXVsdGlBc3NldAABIHVubG9ja2Vy9QIBNE11bHRpTG9jYXRpb24AJwAsVW5sb2NrQXNzZXQIARRhc3NldEEFAShNdWx0aUFzc2V0AAEYdGFyZ2V09QIBNE11bHRpTG9jYXRpb24AKAA4Tm90ZVVubG9ja2FibGUIARRhc3NldEEFAShNdWx0aUFzc2V0AAEUb3duZXL1AgE0TXVsdGlMb2NhdGlvbgApADRSZXF1ZXN0VW5sb2NrCAEUYXNzZXRBBQEoTXVsdGlBc3NldAABGGxvY2tlcvUCATRNdWx0aUxvY2F0aW9uACoALFNldEZlZXNNb2RlBAEwaml0X3dpdGhkcmF3IAEQYm9vbAArACBTZXRUb3BpYwQABAEgW3U4OyAzMl0ALAAoQ2xlYXJUb3BpYwAtACxBbGlhc09yaWdpbgQA9QIBNE11bHRpTG9jYXRpb24ALgA8VW5wYWlkRXhlY3V0aW9uCAEwd2VpZ2h0X2xpbWl0kQUBLFdlaWdodExpbWl0AAEwY2hlY2tfb3JpZ2lueQUBVE9wdGlvbjxNdWx0aUxvY2F0aW9uPgAvAAAFBgwsc3RhZ2luZ194Y20IdjQMWGNtBBBDYWxsAAAEAAkGAVhWZWM8SW5zdHJ1Y3Rpb248Q2FsbD4+AAAJBgAAAg0GAA0GDCxzdGFnaW5nX3hjbQh2NCxJbnN0cnVjdGlvbgQQQ2FsbAABwDRXaXRoZHJhd0Fzc2V0BAChBQEYQXNzZXRzAAAAVFJlc2VydmVBc3NldERlcG9zaXRlZAQAoQUBGEFzc2V0cwABAFhSZWNlaXZlVGVsZXBvcnRlZEFzc2V0BAChBQEYQXNzZXRzAAIANFF1ZXJ5UmVzcG9uc2UQASBxdWVyeV9pZCwBHFF1ZXJ5SWQAASByZXNwb25zZbkFASBSZXNwb25zZQABKG1heF93ZWlnaHQoARhXZWlnaHQAARxxdWVyaWVyzQUBQE9wdGlvbjxMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c6EFARhBc3NldHMAASxiZW5lZmljaWFyeX0BASBMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c6EFARhBc3NldHMAARBkZXN0fQEBIExvY2F0aW9uAAEMeGNtlQUBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZH0FAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdCgBGFdlaWdodAABEGNhbGz1BQFMRG91YmxlRW5jb2RlZDxDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyVQEBDHUzMgABQG1heF9tZXNzYWdlX3NpemVVAQEMdTMyAAEwbWF4X2NhcGFjaXR5VQEBDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50VQEBDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JVAQEMdTMyAAEYc2VuZGVyVQEBDHUzMgABJHJlY2lwaWVudFUBAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQAgQEBQEludGVyaW9yTG9jYXRpb24ACwAsUmVwb3J0RXJyb3IEANEFAURRdWVyeVJlc3BvbnNlSW5mbwAMADBEZXBvc2l0QXNzZXQIARhhc3NldHPVBQEsQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyeX0BASBMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0DAEYYXNzZXRz1QUBLEFzc2V0RmlsdGVyAAEQZGVzdH0BASBMb2NhdGlvbgABDHhjbZUFARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQMARBnaXZl1QUBLEFzc2V0RmlsdGVyAAEQd2FudKEFARhBc3NldHMAARxtYXhpbWFsIAEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0c9UFASxBc3NldEZpbHRlcgABHHJlc2VydmV9AQEgTG9jYXRpb24AAQx4Y22VBQEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRz1QUBLEFzc2V0RmlsdGVyAAEQZGVzdH0BASBMb2NhdGlvbgABDHhjbZUFARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZv0QUBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRz1QUBLEFzc2V0RmlsdGVyABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXOpBQEUQXNzZXQAATB3ZWlnaHRfbGltaXSRBQEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEAAUGASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEAAUGASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRzoQUBGEFzc2V0cwABGHRpY2tldH0BASBMb2NhdGlvbgAYABBUcmFwBAAsAQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHQoARhXZWlnaHQAGgBIVW5zdWJzY3JpYmVWZXJzaW9uABsAJEJ1cm5Bc3NldAQAoQUBGEFzc2V0cwAcACxFeHBlY3RBc3NldAQAoQUBGEFzc2V0cwAdADBFeHBlY3RPcmlnaW4EAM0FAUBPcHRpb248TG9jYXRpb24+AB4ALEV4cGVjdEVycm9yBABVBQFQT3B0aW9uPCh1MzIsIEVycm9yKT4AHwBQRXhwZWN0VHJhbnNhY3RTdGF0dXMEAHEFAThNYXliZUVycm9yQ29kZQAgACxRdWVyeVBhbGxldAgBLG1vZHVsZV9uYW1lOAEcVmVjPHU4PgABNHJlc3BvbnNlX2luZm/RBQFEUXVlcnlSZXNwb25zZUluZm8AIQAwRXhwZWN0UGFsbGV0FAEUaW5kZXhVAQEMdTMyAAEQbmFtZTgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZTgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvclUBAQx1MzIAATxtaW5fY3JhdGVfbWlub3JVAQEMdTMyACIAUFJlcG9ydFRyYW5zYWN0U3RhdHVzBADRBQFEUXVlcnlSZXNwb25zZUluZm8AIwBMQ2xlYXJUcmFuc2FjdFN0YXR1cwAkADxVbml2ZXJzYWxPcmlnaW4EAIkBASBKdW5jdGlvbgAlADRFeHBvcnRNZXNzYWdlDAEcbmV0d29ya5EBASROZXR3b3JrSWQAASxkZXN0aW5hdGlvboEBAUBJbnRlcmlvckxvY2F0aW9uAAEMeGNtlQUBHFhjbTwoKT4AJgAkTG9ja0Fzc2V0CAEUYXNzZXSpBQEUQXNzZXQAASB1bmxvY2tlcn0BASBMb2NhdGlvbgAnACxVbmxvY2tBc3NldAgBFGFzc2V0qQUBFEFzc2V0AAEYdGFyZ2V0fQEBIExvY2F0aW9uACgAOE5vdGVVbmxvY2thYmxlCAEUYXNzZXSpBQEUQXNzZXQAARRvd25lcn0BASBMb2NhdGlvbgApADRSZXF1ZXN0VW5sb2NrCAEUYXNzZXSpBQEUQXNzZXQAARhsb2NrZXJ9AQEgTG9jYXRpb24AKgAsU2V0RmVlc01vZGUEATBqaXRfd2l0aGRyYXcgARBib29sACsAIFNldFRvcGljBAAEASBbdTg7IDMyXQAsAChDbGVhclRvcGljAC0ALEFsaWFzT3JpZ2luBAB9AQEgTG9jYXRpb24ALgA8VW5wYWlkRXhlY3V0aW9uCAEwd2VpZ2h0X2xpbWl0kQUBLFdlaWdodExpbWl0AAEwY2hlY2tfb3JpZ2luzQUBQE9wdGlvbjxMb2NhdGlvbj4ALwAAEQYQUHN0YWdpbmdfeGNtX2V4ZWN1dG9yGHRyYWl0czhhc3NldF90cmFuc2ZlcjBUcmFuc2ZlclR5cGUAARAgVGVsZXBvcnQAAAAwTG9jYWxSZXNlcnZlAAEASERlc3RpbmF0aW9uUmVzZXJ2ZQACADRSZW1vdGVSZXNlcnZlBAC9BAFEVmVyc2lvbmVkTG9jYXRpb24AAwAAFQYIDHhjbUBWZXJzaW9uZWRBc3NldElkAAEICFYzBABFBQEsdjM6OkFzc2V0SWQAAwAIVjQEAK0FASx2NDo6QXNzZXRJZAAEAAAZBgxIY3VtdWx1c19wYWxsZXRfeGNtGHBhbGxldBBDYWxsBARUAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLh0GDFBwYWxsZXRfbWVzc2FnZV9xdWV1ZRhwYWxsZXQQQ2FsbAQEVAABCCRyZWFwX3BhZ2UIAThtZXNzYWdlX29yaWdpbiEGAUhNZXNzYWdlT3JpZ2luT2Y8VD4AAShwYWdlX2luZGV4EAEkUGFnZUluZGV4AAAEPQFSZW1vdmUgYSBwYWdlIHdoaWNoIGhhcyBubyBtb3JlIG1lc3NhZ2VzIHJlbWFpbmluZyB0byBiZSBwcm9jZXNzZWQgb3IgaXMgc3RhbGUuSGV4ZWN1dGVfb3ZlcndlaWdodBABOG1lc3NhZ2Vfb3JpZ2luIQYBSE1lc3NhZ2VPcmlnaW5PZjxUPgABEHBhZ2UQASRQYWdlSW5kZXgAARRpbmRleBABHFQ6OlNpemUAATB3ZWlnaHRfbGltaXQoARhXZWlnaHQAATR4RXhlY3V0ZSBhbiBvdmVyd2VpZ2h0IG1lc3NhZ2UuAE0BVGVtcG9yYXJ5IHByb2Nlc3NpbmcgZXJyb3JzIHdpbGwgYmUgcHJvcGFnYXRlZCB3aGVyZWFzIHBlcm1hbmVudCBlcnJvcnMgYXJlIHRyZWF0ZWRUYXMgc3VjY2VzcyBjb25kaXRpb24uAHQtIGBvcmlnaW5gOiBNdXN0IGJlIGBTaWduZWRgLjUBLSBgbWVzc2FnZV9vcmlnaW5gOiBUaGUgb3JpZ2luIGZyb20gd2hpY2ggdGhlIG1lc3NhZ2UgdG8gYmUgZXhlY3V0ZWQgYXJyaXZlZC49AS0gYHBhZ2VgOiBUaGUgcGFnZSBpbiB0aGUgcXVldWUgaW4gd2hpY2ggdGhlIG1lc3NhZ2UgdG8gYmUgZXhlY3V0ZWQgaXMgc2l0dGluZy4JAS0gYGluZGV4YDogVGhlIGluZGV4IGludG8gdGhlIHF1ZXVlIG9mIHRoZSBtZXNzYWdlIHRvIGJlIGV4ZWN1dGVkLlkBLSBgd2VpZ2h0X2xpbWl0YDogVGhlIG1heGltdW0gYW1vdW50IG9mIHdlaWdodCBhbGxvd2VkIHRvIGJlIGNvbnN1bWVkIGluIHRoZSBleGVjdXRpb25EICBvZiB0aGUgbWVzc2FnZS4A9EJlbmNobWFyayBjb21wbGV4aXR5IGNvbnNpZGVyYXRpb25zOiBPKGluZGV4ICsgd2VpZ2h0X2xpbWl0KS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuIQYIXGN1bXVsdXNfcHJpbWl0aXZlc19jb3JlWEFnZ3JlZ2F0ZU1lc3NhZ2VPcmlnaW4AAQwQSGVyZQAAABhQYXJlbnQAAQAcU2libGluZwQAvQEBGFBhcmFJZAACAAAlBgwgb3JtbF94Y20YbW9kdWxlEENhbGwEBFQAAQREc2VuZF9hc19zb3ZlcmVpZ24IARBkZXN0vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AARxtZXNzYWdl3QQBVEJveDxWZXJzaW9uZWRYY208KCk+PgAABKxTZW5kIGFuIFhDTSBtZXNzYWdlIGFzIHBhcmFjaGFpbiBzb3ZlcmVpZ24uBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLikGDDBvcm1sX3h0b2tlbnMYbW9kdWxlEENhbGwEBFQAARggdHJhbnNmZXIQASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAEQZGVzdL0EAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAFEZGVzdF93ZWlnaHRfbGltaXSRBQEsV2VpZ2h0TGltaXQAADBsVHJhbnNmZXIgbmF0aXZlIGN1cnJlbmNpZXMuAPxgZGVzdF93ZWlnaHRfbGltaXRgIGlzIHRoZSB3ZWlnaHQgZm9yIFhDTSBleGVjdXRpb24gb24gdGhlIGRlc3QJAWNoYWluLCBhbmQgaXQgd291bGQgYmUgY2hhcmdlZCBmcm9tIHRoZSB0cmFuc2ZlcnJlZCBhc3NldHMuIElmIHNldAUBYmVsb3cgcmVxdWlyZW1lbnRzLCB0aGUgZXhlY3V0aW9uIG1heSBmYWlsIGFuZCBhc3NldHMgd291bGRuJ3QgYmUkcmVjZWl2ZWQuABEBSXQncyBhIG5vLW9wIGlmIGFueSBlcnJvciBvbiBsb2NhbCBYQ00gZXhlY3V0aW9uIG9yIG1lc3NhZ2Ugc2VuZGluZy74Tm90ZSBzZW5kaW5nIGFzc2V0cyBvdXQgcGVyIHNlIGRvZXNuJ3QgZ3VhcmFudGVlIHRoZXkgd291bGQgYmURAXJlY2VpdmVkLiBSZWNlaXZpbmcgZGVwZW5kcyBvbiBpZiB0aGUgWENNIG1lc3NhZ2UgY291bGQgYmUgZGVsaXZlcmVk3GJ5IHRoZSBuZXR3b3JrLCBhbmQgaWYgdGhlIHJlY2VpdmluZyBjaGFpbiB3b3VsZCBoYW5kbGVMbWVzc2FnZXMgY29ycmVjdGx5Lkx0cmFuc2Zlcl9tdWx0aWFzc2V0DAEUYXNzZXQtBgFMQm94PFZlcnNpb25lZEFzc2V0PgABEGRlc3S9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABRGRlc3Rfd2VpZ2h0X2xpbWl0kQUBLFdlaWdodExpbWl0AAEwRFRyYW5zZmVyIGBBc3NldGAuAPxgZGVzdF93ZWlnaHRfbGltaXRgIGlzIHRoZSB3ZWlnaHQgZm9yIFhDTSBleGVjdXRpb24gb24gdGhlIGRlc3QJAWNoYWluLCBhbmQgaXQgd291bGQgYmUgY2hhcmdlZCBmcm9tIHRoZSB0cmFuc2ZlcnJlZCBhc3NldHMuIElmIHNldAUBYmVsb3cgcmVxdWlyZW1lbnRzLCB0aGUgZXhlY3V0aW9uIG1heSBmYWlsIGFuZCBhc3NldHMgd291bGRuJ3QgYmUkcmVjZWl2ZWQuABEBSXQncyBhIG5vLW9wIGlmIGFueSBlcnJvciBvbiBsb2NhbCBYQ00gZXhlY3V0aW9uIG9yIG1lc3NhZ2Ugc2VuZGluZy74Tm90ZSBzZW5kaW5nIGFzc2V0cyBvdXQgcGVyIHNlIGRvZXNuJ3QgZ3VhcmFudGVlIHRoZXkgd291bGQgYmURAXJlY2VpdmVkLiBSZWNlaXZpbmcgZGVwZW5kcyBvbiBpZiB0aGUgWENNIG1lc3NhZ2UgY291bGQgYmUgZGVsaXZlcmVk3GJ5IHRoZSBuZXR3b3JrLCBhbmQgaWYgdGhlIHJlY2VpdmluZyBjaGFpbiB3b3VsZCBoYW5kbGVMbWVzc2FnZXMgY29ycmVjdGx5LkR0cmFuc2Zlcl93aXRoX2ZlZRQBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAAQxmZWUYAShUOjpCYWxhbmNlAAEQZGVzdL0EAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAFEZGVzdF93ZWlnaHRfbGltaXSRBQEsV2VpZ2h0TGltaXQAAlTsVHJhbnNmZXIgbmF0aXZlIGN1cnJlbmNpZXMgc3BlY2lmeWluZyB0aGUgZmVlIGFuZCBhbW91bnQgYXMkc2VwYXJhdGUuAPxgZGVzdF93ZWlnaHRfbGltaXRgIGlzIHRoZSB3ZWlnaHQgZm9yIFhDTSBleGVjdXRpb24gb24gdGhlIGRlc3QJAWNoYWluLCBhbmQgaXQgd291bGQgYmUgY2hhcmdlZCBmcm9tIHRoZSB0cmFuc2ZlcnJlZCBhc3NldHMuIElmIHNldAUBYmVsb3cgcmVxdWlyZW1lbnRzLCB0aGUgZXhlY3V0aW9uIG1heSBmYWlsIGFuZCBhc3NldHMgd291bGRuJ3QgYmUkcmVjZWl2ZWQuAA0BYGZlZWAgaXMgdGhlIGFtb3VudCB0byBiZSBzcGVudCB0byBwYXkgZm9yIGV4ZWN1dGlvbiBpbiBkZXN0aW5hdGlvbvhjaGFpbi4gQm90aCBmZWUgYW5kIGFtb3VudCB3aWxsIGJlIHN1YnRyYWN0ZWQgZm9ybSB0aGUgY2FsbGVycyBiYWxhbmNlLgANAUlmIGBmZWVgIGlzIG5vdCBoaWdoIGVub3VnaCB0byBjb3ZlciBmb3IgdGhlIGV4ZWN1dGlvbiBjb3N0cyBpbiB0aGXkZGVzdGluYXRpb24gY2hhaW4sIHRoZW4gdGhlIGFzc2V0cyB3aWxsIGJlIHRyYXBwZWQgaW4gdGhlRGRlc3RpbmF0aW9uIGNoYWluABEBSXQncyBhIG5vLW9wIGlmIGFueSBlcnJvciBvbiBsb2NhbCBYQ00gZXhlY3V0aW9uIG9yIG1lc3NhZ2Ugc2VuZGluZy74Tm90ZSBzZW5kaW5nIGFzc2V0cyBvdXQgcGVyIHNlIGRvZXNuJ3QgZ3VhcmFudGVlIHRoZXkgd291bGQgYmURAXJlY2VpdmVkLiBSZWNlaXZpbmcgZGVwZW5kcyBvbiBpZiB0aGUgWENNIG1lc3NhZ2UgY291bGQgYmUgZGVsaXZlcmVk3GJ5IHRoZSBuZXR3b3JrLCBhbmQgaWYgdGhlIHJlY2VpdmluZyBjaGFpbiB3b3VsZCBoYW5kbGVMbWVzc2FnZXMgY29ycmVjdGx5LnB0cmFuc2Zlcl9tdWx0aWFzc2V0X3dpdGhfZmVlEAEUYXNzZXQtBgFMQm94PFZlcnNpb25lZEFzc2V0PgABDGZlZS0GAUxCb3g8VmVyc2lvbmVkQXNzZXQ+AAEQZGVzdL0EAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAFEZGVzdF93ZWlnaHRfbGltaXSRBQEsV2VpZ2h0TGltaXQAA1TsVHJhbnNmZXIgYEFzc2V0YCBzcGVjaWZ5aW5nIHRoZSBmZWUgYW5kIGFtb3VudCBhcyBzZXBhcmF0ZS4A/GBkZXN0X3dlaWdodF9saW1pdGAgaXMgdGhlIHdlaWdodCBmb3IgWENNIGV4ZWN1dGlvbiBvbiB0aGUgZGVzdAkBY2hhaW4sIGFuZCBpdCB3b3VsZCBiZSBjaGFyZ2VkIGZyb20gdGhlIHRyYW5zZmVycmVkIGFzc2V0cy4gSWYgc2V0BQFiZWxvdyByZXF1aXJlbWVudHMsIHRoZSBleGVjdXRpb24gbWF5IGZhaWwgYW5kIGFzc2V0cyB3b3VsZG4ndCBiZSRyZWNlaXZlZC4A2GBmZWVgIGlzIHRoZSBBc3NldCB0byBiZSBzcGVudCB0byBwYXkgZm9yIGV4ZWN1dGlvbiBpbgkBZGVzdGluYXRpb24gY2hhaW4uIEJvdGggZmVlIGFuZCBhbW91bnQgd2lsbCBiZSBzdWJ0cmFjdGVkIGZvcm0gdGhlEQFjYWxsZXJzIGJhbGFuY2UgRm9yIG5vdyB3ZSBvbmx5IGFjY2VwdCBmZWUgYW5kIGFzc2V0IGhhdmluZyB0aGUgc2FtZThgTG9jYXRpb25gIGlkLgANAUlmIGBmZWVgIGlzIG5vdCBoaWdoIGVub3VnaCB0byBjb3ZlciBmb3IgdGhlIGV4ZWN1dGlvbiBjb3N0cyBpbiB0aGXkZGVzdGluYXRpb24gY2hhaW4sIHRoZW4gdGhlIGFzc2V0cyB3aWxsIGJlIHRyYXBwZWQgaW4gdGhlRGRlc3RpbmF0aW9uIGNoYWluABEBSXQncyBhIG5vLW9wIGlmIGFueSBlcnJvciBvbiBsb2NhbCBYQ00gZXhlY3V0aW9uIG9yIG1lc3NhZ2Ugc2VuZGluZy74Tm90ZSBzZW5kaW5nIGFzc2V0cyBvdXQgcGVyIHNlIGRvZXNuJ3QgZ3VhcmFudGVlIHRoZXkgd291bGQgYmURAXJlY2VpdmVkLiBSZWNlaXZpbmcgZGVwZW5kcyBvbiBpZiB0aGUgWENNIG1lc3NhZ2UgY291bGQgYmUgZGVsaXZlcmVk3GJ5IHRoZSBuZXR3b3JrLCBhbmQgaWYgdGhlIHJlY2VpdmluZyBjaGFpbiB3b3VsZCBoYW5kbGVMbWVzc2FnZXMgY29ycmVjdGx5LmB0cmFuc2Zlcl9tdWx0aWN1cnJlbmNpZXMQAShjdXJyZW5jaWVzMQYBgFZlYzwoVDo6Q3VycmVuY3lJZCwgVDo6QmFsYW5jZSk+AAEgZmVlX2l0ZW0QAQx1MzIAARBkZXN0vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AAURkZXN0X3dlaWdodF9saW1pdJEFASxXZWlnaHRMaW1pdAAEPAUBVHJhbnNmZXIgc2V2ZXJhbCBjdXJyZW5jaWVzIHNwZWNpZnlpbmcgdGhlIGl0ZW0gdG8gYmUgdXNlZCBhcyBmZWUA/GBkZXN0X3dlaWdodF9saW1pdGAgaXMgdGhlIHdlaWdodCBmb3IgWENNIGV4ZWN1dGlvbiBvbiB0aGUgZGVzdAkBY2hhaW4sIGFuZCBpdCB3b3VsZCBiZSBjaGFyZ2VkIGZyb20gdGhlIHRyYW5zZmVycmVkIGFzc2V0cy4gSWYgc2V0BQFiZWxvdyByZXF1aXJlbWVudHMsIHRoZSBleGVjdXRpb24gbWF5IGZhaWwgYW5kIGFzc2V0cyB3b3VsZG4ndCBiZSRyZWNlaXZlZC4ADQFgZmVlX2l0ZW1gIGlzIGluZGV4IG9mIHRoZSBjdXJyZW5jaWVzIHR1cGxlIHRoYXQgd2Ugd2FudCB0byB1c2UgZm9yHHBheW1lbnQAEQFJdCdzIGEgbm8tb3AgaWYgYW55IGVycm9yIG9uIGxvY2FsIFhDTSBleGVjdXRpb24gb3IgbWVzc2FnZSBzZW5kaW5nLvhOb3RlIHNlbmRpbmcgYXNzZXRzIG91dCBwZXIgc2UgZG9lc24ndCBndWFyYW50ZWUgdGhleSB3b3VsZCBiZREBcmVjZWl2ZWQuIFJlY2VpdmluZyBkZXBlbmRzIG9uIGlmIHRoZSBYQ00gbWVzc2FnZSBjb3VsZCBiZSBkZWxpdmVyZWTcYnkgdGhlIG5ldHdvcmssIGFuZCBpZiB0aGUgcmVjZWl2aW5nIGNoYWluIHdvdWxkIGhhbmRsZUxtZXNzYWdlcyBjb3JyZWN0bHkuUHRyYW5zZmVyX211bHRpYXNzZXRzEAEYYXNzZXRz4QUBUEJveDxWZXJzaW9uZWRBc3NldHM+AAEgZmVlX2l0ZW0QAQx1MzIAARBkZXN0vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AAURkZXN0X3dlaWdodF9saW1pdJEFASxXZWlnaHRMaW1pdAAFPPhUcmFuc2ZlciBzZXZlcmFsIGBBc3NldGAgc3BlY2lmeWluZyB0aGUgaXRlbSB0byBiZSB1c2VkIGFzIGZlZQD8YGRlc3Rfd2VpZ2h0X2xpbWl0YCBpcyB0aGUgd2VpZ2h0IGZvciBYQ00gZXhlY3V0aW9uIG9uIHRoZSBkZXN0CQFjaGFpbiwgYW5kIGl0IHdvdWxkIGJlIGNoYXJnZWQgZnJvbSB0aGUgdHJhbnNmZXJyZWQgYXNzZXRzLiBJZiBzZXQFAWJlbG93IHJlcXVpcmVtZW50cywgdGhlIGV4ZWN1dGlvbiBtYXkgZmFpbCBhbmQgYXNzZXRzIHdvdWxkbid0IGJlJHJlY2VpdmVkLgDkYGZlZV9pdGVtYCBpcyBpbmRleCBvZiB0aGUgQXNzZXRzIHRoYXQgd2Ugd2FudCB0byB1c2UgZm9yHHBheW1lbnQAEQFJdCdzIGEgbm8tb3AgaWYgYW55IGVycm9yIG9uIGxvY2FsIFhDTSBleGVjdXRpb24gb3IgbWVzc2FnZSBzZW5kaW5nLvhOb3RlIHNlbmRpbmcgYXNzZXRzIG91dCBwZXIgc2UgZG9lc24ndCBndWFyYW50ZWUgdGhleSB3b3VsZCBiZREBcmVjZWl2ZWQuIFJlY2VpdmluZyBkZXBlbmRzIG9uIGlmIHRoZSBYQ00gbWVzc2FnZSBjb3VsZCBiZSBkZWxpdmVyZWTcYnkgdGhlIG5ldHdvcmssIGFuZCBpZiB0aGUgcmVjZWl2aW5nIGNoYWluIHdvdWxkIGhhbmRsZUxtZXNzYWdlcyBjb3JyZWN0bHkuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLi0GCAx4Y204VmVyc2lvbmVkQXNzZXQAAQwIVjIEAPUEATh2Mjo6TXVsdGlBc3NldAABAAhWMwQAQQUBOHYzOjpNdWx0aUFzc2V0AAMACFY0BACpBQEkdjQ6OkFzc2V0AAQAADEGAAAC0QMANQYMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0EENhbGwEBFQAASREc2V0X2ludnVsbmVyYWJsZXMEAQxuZXcxAQFEVmVjPFQ6OkFjY291bnRJZD4AADQxAVNldCB0aGUgbGlzdCBvZiBpbnZ1bG5lcmFibGUgKGZpeGVkKSBjb2xsYXRvcnMuIFRoZXNlIGNvbGxhdG9ycyBtdXN0IGRvIHNvbWXQcHJlcGFyYXRpb24sIG5hbWVseSB0byBoYXZlIHJlZ2lzdGVyZWQgc2Vzc2lvbiBrZXlzLgBZAVRoZSBjYWxsIHdpbGwgcmVtb3ZlIGFueSBhY2NvdW50cyB0aGF0IGhhdmUgbm90IHJlZ2lzdGVyZWQga2V5cyBmcm9tIHRoZSBzZXQuIFRoYXQgaXMsXQFpdCBpcyBub24tYXRvbWljOyB0aGUgY2FsbGVyIGFjY2VwdHMgYWxsIGBBY2NvdW50SWRgcyBwYXNzZWQgaW4gYG5ld2AgX2luZGl2aWR1YWxseV8gYXMxAWFjY2VwdGFibGUgSW52dWxuZXJhYmxlcywgYW5kIGlzIG5vdCBwcm9wb3NpbmcgYSBfc2V0XyBvZiBuZXcgSW52dWxuZXJhYmxlcy4AWQFUaGlzIGNhbGwgZG9lcyBub3QgbWFpbnRhaW4gbXV0dWFsIGV4Y2x1c2l2aXR5IG9mIGBJbnZ1bG5lcmFibGVzYCBhbmQgYENhbmRpZGF0ZXNgLiBJdGEBaXMgcmVjb21tZW5kZWQgdG8gdXNlIGEgYmF0Y2ggb2YgYGFkZF9pbnZ1bG5lcmFibGVgIGFuZCBgcmVtb3ZlX2ludnVsbmVyYWJsZWAgaW5zdGVhZC4gQVEBYGJhdGNoX2FsbGAgY2FuIGFsc28gYmUgdXNlZCB0byBlbmZvcmNlIGF0b21pY2l0eS4gSWYgYW55IGNhbmRpZGF0ZXMgYXJlIGluY2x1ZGVkIGluTQFgbmV3YCwgdGhleSBzaG91bGQgYmUgcmVtb3ZlZCB3aXRoIGByZW1vdmVfaW52dWxuZXJhYmxlX2NhbmRpZGF0ZWAgYWZ0ZXIgZXhlY3V0aW9uLgCUTXVzdCBiZSBjYWxsZWQgYnkgdGhlIGBVcGRhdGVPcmlnaW5gLlhzZXRfZGVzaXJlZF9jYW5kaWRhdGVzBAEMbWF4EAEMdTMyAAEUVQFTZXQgdGhlIGlkZWFsIG51bWJlciBvZiBub24taW52dWxuZXJhYmxlIGNvbGxhdG9ycy4gSWYgbG93ZXJpbmcgdGhpcyBudW1iZXIsIHRoZW4gdGhlYQFudW1iZXIgb2YgcnVubmluZyBjb2xsYXRvcnMgY291bGQgYmUgaGlnaGVyIHRoYW4gdGhpcyBmaWd1cmUuIEFzaWRlIGZyb20gdGhhdCBlZGdlIGNhc2UsNQF0aGVyZSBzaG91bGQgYmUgbm8gb3RoZXIgd2F5IHRvIGhhdmUgbW9yZSBjYW5kaWRhdGVzIHRoYW4gdGhlIGRlc2lyZWQgbnVtYmVyLgDQVGhlIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgdGhlIGBVcGRhdGVPcmlnaW5gLkhzZXRfY2FuZGlkYWN5X2JvbmQEARBib25kGAEwQmFsYW5jZU9mPFQ+AAIceFNldCB0aGUgY2FuZGlkYWN5IGJvbmQgYW1vdW50LgBRAUlmIHRoZSBjYW5kaWRhY3kgYm9uZCBpcyBpbmNyZWFzZWQgYnkgdGhpcyBjYWxsLCBhbGwgY3VycmVudCBjYW5kaWRhdGVzIHdoaWNoIGhhdmUgYU0BZGVwb3NpdCBsb3dlciB0aGFuIHRoZSBuZXcgYm9uZCB3aWxsIGJlIGtpY2tlZCBmcm9tIHRoZSBsaXN0IGFuZCBnZXQgdGhlaXIgZGVwb3NpdHMUYmFjay4A0FRoZSBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHRoZSBgVXBkYXRlT3JpZ2luYC5UcmVnaXN0ZXJfYXNfY2FuZGlkYXRlAAMQQQFSZWdpc3RlciB0aGlzIGFjY291bnQgYXMgYSBjb2xsYXRvciBjYW5kaWRhdGUuIFRoZSBhY2NvdW50IG11c3QgKGEpIGFscmVhZHkgaGF2ZR0BcmVnaXN0ZXJlZCBzZXNzaW9uIGtleXMgYW5kIChiKSBiZSBhYmxlIHRvIHJlc2VydmUgdGhlIGBDYW5kaWRhY3lCb25kYC4A3FRoaXMgY2FsbCBpcyBub3QgYXZhaWxhYmxlIHRvIGBJbnZ1bG5lcmFibGVgIGNvbGxhdG9ycy4wbGVhdmVfaW50ZW50AAQUVQFEZXJlZ2lzdGVyIGBvcmlnaW5gIGFzIGEgY29sbGF0b3IgY2FuZGlkYXRlLiBOb3RlIHRoYXQgdGhlIGNvbGxhdG9yIGNhbiBvbmx5IGxlYXZlIG9uDQFzZXNzaW9uIGNoYW5nZS4gVGhlIGBDYW5kaWRhY3lCb25kYCB3aWxsIGJlIHVucmVzZXJ2ZWQgaW1tZWRpYXRlbHkuABkBVGhpcyBjYWxsIHdpbGwgZmFpbCBpZiB0aGUgdG90YWwgbnVtYmVyIG9mIGNhbmRpZGF0ZXMgd291bGQgZHJvcCBiZWxvd1xgTWluRWxpZ2libGVDb2xsYXRvcnNgLkBhZGRfaW52dWxuZXJhYmxlBAEMd2hvAAEwVDo6QWNjb3VudElkAAUQRQFBZGQgYSBuZXcgYWNjb3VudCBgd2hvYCB0byB0aGUgbGlzdCBvZiBgSW52dWxuZXJhYmxlc2AgY29sbGF0b3JzLiBgd2hvYCBtdXN0IGhhdmUdAXJlZ2lzdGVyZWQgc2Vzc2lvbiBrZXlzLiBJZiBgd2hvYCBpcyBhIGNhbmRpZGF0ZSwgdGhleSB3aWxsIGJlIHJlbW92ZWQuANBUaGUgb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSB0aGUgYFVwZGF0ZU9yaWdpbmAuTHJlbW92ZV9pbnZ1bG5lcmFibGUEAQx3aG8AATBUOjpBY2NvdW50SWQABhBhAVJlbW92ZSBhbiBhY2NvdW50IGB3aG9gIGZyb20gdGhlIGxpc3Qgb2YgYEludnVsbmVyYWJsZXNgIGNvbGxhdG9ycy4gYEludnVsbmVyYWJsZXNgIG11c3QoYmUgc29ydGVkLgDQVGhlIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgdGhlIGBVcGRhdGVPcmlnaW5gLix1cGRhdGVfYm9uZAQBLG5ld19kZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAccXQFVcGRhdGUgdGhlIGNhbmRpZGFjeSBib25kIG9mIGNvbGxhdG9yIGNhbmRpZGF0ZSBgb3JpZ2luYCB0byBhIG5ldyBhbW91bnQgYG5ld19kZXBvc2l0YC4AQQFTZXR0aW5nIGEgYG5ld19kZXBvc2l0YCB0aGF0IGlzIGxvd2VyIHRoYW4gdGhlIGN1cnJlbnQgZGVwb3NpdCB3aGlsZSBgb3JpZ2luYCBpc+BvY2N1cHlpbmcgYSB0b3AtYERlc2lyZWRDYW5kaWRhdGVzYCBzbG90IGlzIG5vdCBhbGxvd2VkLgBZAVRoaXMgY2FsbCB3aWxsIGZhaWwgaWYgYG9yaWdpbmAgaXMgbm90IGEgY29sbGF0b3IgY2FuZGlkYXRlLCB0aGUgdXBkYXRlZCBib25kIGlzIGxvd2VyGQF0aGFuIHRoZSBtaW5pbXVtIGNhbmRpZGFjeSBib25kLCBhbmQvb3IgdGhlIGFtb3VudCBjYW5ub3QgYmUgcmVzZXJ2ZWQuTHRha2VfY2FuZGlkYXRlX3Nsb3QIARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAEYdGFyZ2V0AAEwVDo6QWNjb3VudElkAAgcTQFUaGUgY2FsbGVyIGBvcmlnaW5gIHJlcGxhY2VzIGEgY2FuZGlkYXRlIGB0YXJnZXRgIGluIHRoZSBjb2xsYXRvciBjYW5kaWRhdGUgbGlzdCBieVUBcmVzZXJ2aW5nIGBkZXBvc2l0YC4gVGhlIGFtb3VudCBgZGVwb3NpdGAgcmVzZXJ2ZWQgYnkgdGhlIGNhbGxlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbuB0aGUgZXhpc3RpbmcgYm9uZCBvZiB0aGUgdGFyZ2V0IGl0IGlzIHRyeWluZyB0byByZXBsYWNlLgBZAVRoaXMgY2FsbCB3aWxsIGZhaWwgaWYgdGhlIGNhbGxlciBpcyBhbHJlYWR5IGEgY29sbGF0b3IgY2FuZGlkYXRlIG9yIGludnVsbmVyYWJsZSwgdGhlVQFjYWxsZXIgZG9lcyBub3QgaGF2ZSByZWdpc3RlcmVkIHNlc3Npb24ga2V5cywgdGhlIHRhcmdldCBpcyBub3QgYSBjb2xsYXRvciBjYW5kaWRhdGUsvGFuZC9vciB0aGUgYGRlcG9zaXRgIGFtb3VudCBjYW5ub3QgYmUgcmVzZXJ2ZWQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLjkGDDhwYWxsZXRfc2Vzc2lvbhhwYWxsZXQQQ2FsbAQEVAABCCBzZXRfa2V5cwgBEGtleXM9BgEcVDo6S2V5cwABFHByb29mOAEcVmVjPHU4PgAAJORTZXRzIHRoZSBzZXNzaW9uIGtleShzKSBvZiB0aGUgZnVuY3Rpb24gY2FsbGVyIHRvIGBrZXlzYC4dAUFsbG93cyBhbiBhY2NvdW50IHRvIHNldCBpdHMgc2Vzc2lvbiBrZXkgcHJpb3IgdG8gYmVjb21pbmcgYSB2YWxpZGF0b3IuwFRoaXMgZG9lc24ndCB0YWtlIGVmZmVjdCB1bnRpbCB0aGUgbmV4dCBzZXNzaW9uLgDQVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGZ1bmN0aW9uIG11c3QgYmUgc2lnbmVkLgA0IyMgQ29tcGxleGl0eVkBLSBgTygxKWAuIEFjdHVhbCBjb3N0IGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBsZW5ndGggb2YgYFQ6OktleXM6OmtleV9pZHMoKWAgd2hpY2ggaXMgICBmaXhlZC4ocHVyZ2Vfa2V5cwABMMhSZW1vdmVzIGFueSBzZXNzaW9uIGtleShzKSBvZiB0aGUgZnVuY3Rpb24gY2FsbGVyLgDAVGhpcyBkb2Vzbid0IHRha2UgZWZmZWN0IHVudGlsIHRoZSBuZXh0IHNlc3Npb24uAFUBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGZ1bmN0aW9uIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgYWNjb3VudCBtdXN0IGJlIGVpdGhlciBiZV0BY29udmVydGlibGUgdG8gYSB2YWxpZGF0b3IgSUQgdXNpbmcgdGhlIGNoYWluJ3MgdHlwaWNhbCBhZGRyZXNzaW5nIHN5c3RlbSAodGhpcyB1c3VhbGx5UQFtZWFucyBiZWluZyBhIGNvbnRyb2xsZXIgYWNjb3VudCkgb3IgZGlyZWN0bHkgY29udmVydGlibGUgaW50byBhIHZhbGlkYXRvciBJRCAod2hpY2iUdXN1YWxseSBtZWFucyBiZWluZyBhIHN0YXNoIGFjY291bnQpLgA0IyMgQ29tcGxleGl0eT0BLSBgTygxKWAgaW4gbnVtYmVyIG9mIGtleSB0eXBlcy4gQWN0dWFsIGNvc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGxlbmd0aCBvZpggIGBUOjpLZXlzOjprZXlfaWRzKClgIHdoaWNoIGlzIGZpeGVkLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy49Bgw8aHlkcmFkeF9ydW50aW1lGG9wYXF1ZSxTZXNzaW9uS2V5cwAABAEQYXVyYUEGAcQ8QXVyYSBhcyAkY3JhdGU6OkJvdW5kVG9SdW50aW1lQXBwUHVibGljPjo6UHVibGljAABBBhBEc3BfY29uc2Vuc3VzX2F1cmEcc3IyNTUxOSxhcHBfc3IyNTUxORhQdWJsaWMAAAQABAE8c3IyNTUxOTo6UHVibGljAABFBgxEcGFsbGV0X2VtYV9vcmFjbGUYcGFsbGV0EENhbGwEBFQAAQwoYWRkX29yYWNsZQgBGHNvdXJjZf0BARhTb3VyY2UAARhhc3NldHNNAwFIKEFzc2V0SWQsIEFzc2V0SWQpAAAANHJlbW92ZV9vcmFjbGUIARhzb3VyY2X9AQEYU291cmNlAAEYYXNzZXRzTQMBSChBc3NldElkLCBBc3NldElkKQABAFR1cGRhdGVfYmlmcm9zdF9vcmFjbGUMARxhc3NldF9hvQQBkEJveDxwb2xrYWRvdF94Y206OlZlcnNpb25lZExvY2F0aW9uPgABHGFzc2V0X2K9BAGQQm94PHBvbGthZG90X3hjbTo6VmVyc2lvbmVkTG9jYXRpb24+AAEUcHJpY2UpAwFIKEJhbGFuY2UsIEJhbGFuY2UpAAIABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLkkGDEBwYWxsZXRfYnJvYWRjYXN0GHBhbGxldBBDYWxsBARUAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLk0GDChzcF9ydW50aW1lGHRyYWl0cyxCbGFrZVR3bzI1NgAAAABRBgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAFUGDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcUdHlwZXMUVGFsbHkIFFZvdGVzARgUVG90YWwAAAwBEGF5ZXMYARRWb3RlcwABEG5heXMYARRWb3RlcwABHHN1cHBvcnQYARRWb3RlcwAAWQYMQHBhbGxldF93aGl0ZWxpc3QYcGFsbGV0FEV2ZW50BARUAAEMPENhbGxXaGl0ZWxpc3RlZAQBJGNhbGxfaGFzaDQBHFQ6Okhhc2gAAABYV2hpdGVsaXN0ZWRDYWxsUmVtb3ZlZAQBJGNhbGxfaGFzaDQBHFQ6Okhhc2gAAQBkV2hpdGVsaXN0ZWRDYWxsRGlzcGF0Y2hlZAgBJGNhbGxfaGFzaDQBHFQ6Okhhc2gAARhyZXN1bHRdBgFoRGlzcGF0Y2hSZXN1bHRXaXRoUG9zdEluZm8AAgAEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRdBgQYUmVzdWx0CARUAWEGBEUBaQYBCAhPawQAYQYAAAAADEVycgQAaQYAAAEAAGEGDDRmcmFtZV9zdXBwb3J0IGRpc3BhdGNoQFBvc3REaXNwYXRjaEluZm8AAAgBNGFjdHVhbF93ZWlnaHRlBgE4T3B0aW9uPFdlaWdodD4AASBwYXlzX2ZlZWQBEFBheXMAAGUGBBhPcHRpb24EBFQBKAEIEE5vbmUAAAAQU29tZQQAKAAAAQAAaQYIKHNwX3J1bnRpbWVkRGlzcGF0Y2hFcnJvcldpdGhQb3N0SW5mbwQQSW5mbwFhBgAIASRwb3N0X2luZm9hBgEQSW5mbwABFGVycm9yaAE0RGlzcGF0Y2hFcnJvcgAAbQYMRHBhbGxldF9kaXNwYXRjaGVyGHBhbGxldBRFdmVudAQEVAABCHRUcmVhc3VyeU1hbmFnZXJDYWxsRGlzcGF0Y2hlZAgBJGNhbGxfaGFzaDQBHFQ6Okhhc2gAARhyZXN1bHRdBgFoRGlzcGF0Y2hSZXN1bHRXaXRoUG9zdEluZm8AAABkQWF2ZU1hbmFnZXJDYWxsRGlzcGF0Y2hlZAgBJGNhbGxfaGFzaDQBHFQ6Okhhc2gAARhyZXN1bHRdBgFoRGlzcGF0Y2hSZXN1bHRXaXRoUG9zdEluZm8AAQAEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRxBgxUcGFsbGV0X2Fzc2V0X3JlZ2lzdHJ5GHBhbGxldBRFdmVudAQEVAABGFhFeGlzdGVudGlhbERlcG9zaXRQYWlkDAEMd2hvAAEwVDo6QWNjb3VudElkAAEkZmVlX2Fzc2V0EAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAAAjQRXhpc3RlbnRpYWwgZGVwb3NpdCBmb3IgaW5zdWZmaWNpbmV0IGFzc2V0IHdhcyBwYWlkLpxgU3VmZmljaWVuY3lDaGVja2AgdHJpZ2dlcnMgdGhpcyBldmVudC4oUmVnaXN0ZXJlZCABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABKGFzc2V0X25hbWXdAgGYT3B0aW9uPEJvdW5kZWRWZWM8dTgsIFQ6OlN0cmluZ0xpbWl0Pj4AAShhc3NldF90eXBl5QIBJEFzc2V0VHlwZQABTGV4aXN0ZW50aWFsX2RlcG9zaXQYARxCYWxhbmNlAAE4eGNtX3JhdGVfbGltaXTgATxPcHRpb248QmFsYW5jZT4AARhzeW1ib2zdAgGYT3B0aW9uPEJvdW5kZWRWZWM8dTgsIFQ6OlN0cmluZ0xpbWl0Pj4AASBkZWNpbWFsc+kCAShPcHRpb248dTg+AAE0aXNfc3VmZmljaWVudCABEGJvb2wAAQRUQXNzZXQgd2FzIHJlZ2lzdGVyZWQuHFVwZGF0ZWQgASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAShhc3NldF9uYW1l3QIBmE9wdGlvbjxCb3VuZGVkVmVjPHU4LCBUOjpTdHJpbmdMaW1pdD4+AAEoYXNzZXRfdHlwZeUCASRBc3NldFR5cGUAAUxleGlzdGVudGlhbF9kZXBvc2l0GAEcQmFsYW5jZQABOHhjbV9yYXRlX2xpbWl04AE8T3B0aW9uPEJhbGFuY2U+AAEYc3ltYm9s3QIBmE9wdGlvbjxCb3VuZGVkVmVjPHU4LCBUOjpTdHJpbmdMaW1pdD4+AAEgZGVjaW1hbHPpAgEoT3B0aW9uPHU4PgABNGlzX3N1ZmZpY2llbnQgARBib29sAAIESEFzc2V0IHdhcyB1cGRhdGVkLixMb2NhdGlvblNldAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABIGxvY2F0aW9u8QIBWFQ6OkFzc2V0TmF0aXZlTG9jYXRpb24AAwSETmF0aXZlIGxvY2F0aW9uIHNldCBmb3IgYW4gYXNzZXQuLEFzc2V0QmFubmVkBAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAQEREFzc2V0IHdhcyBiYW5uZWQuNEFzc2V0VW5iYW5uZWQEASBhc3NldF9pZBABKFQ6OkFzc2V0SWQABQRgQXNzZXQncyBiYW4gd2FzIHJlbW92ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0dQYMNHBhbGxldF9jbGFpbXMYcGFsbGV0FEV2ZW50BARUAAEEFENsYWltDAAAATBUOjpBY2NvdW50SWQAAHkGATxFdGhlcmV1bUFkZHJlc3MAABgBMEJhbGFuY2VPZjxUPgAAAAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldHkGDDRwYWxsZXRfY2xhaW1zGHRyYWl0czxFdGhlcmV1bUFkZHJlc3MAAAQARQEBIFt1ODsgMjBdAAB9BgxccGFsbGV0X2NvbGxhdG9yX3Jld2FyZHMYcGFsbGV0FEV2ZW50BARUAAEEQENvbGxhdG9yUmV3YXJkZWQMAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAEgY3VycmVuY3kQATRUOjpDdXJyZW5jeUlkAAAEWENvbGxhdG9yIHdhcyByZXdhcmRlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSBBgw8cGFsbGV0X29tbmlwb29sGHBhbGxldBRFdmVudAQEVAABNChUb2tlbkFkZGVkDAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAE4aW5pdGlhbF9hbW91bnQYARxCYWxhbmNlAAE0aW5pdGlhbF9wcmljZT0BARRQcmljZQAABHhBbiBhc3NldCB3YXMgYWRkZWQgdG8gT21uaXBvb2wwVG9rZW5SZW1vdmVkDAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABNGh1Yl93aXRoZHJhd24YARxCYWxhbmNlAAEEiEFuIGFzc2V0IHdhcyByZW1vdmVkIGZyb20gT21uaXBvb2w4TGlxdWlkaXR5QWRkZWQQAQx3aG8AATBUOjpBY2NvdW50SWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAACBLBMaXF1aWRpdHkgb2YgYW4gYXNzZXQgd2FzIGFkZGVkIHRvIE9tbmlwb29sLkBMaXF1aWRpdHlSZW1vdmVkFAEMd2hvAAEwVDo6QWNjb3VudElkAAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABOHNoYXJlc19yZW1vdmVkGAEcQmFsYW5jZQABDGZlZT0BASRGaXhlZFUxMjgAAwTATGlxdWlkaXR5IG9mIGFuIGFzc2V0IHdhcyByZW1vdmVkIGZyb20gT21uaXBvb2wuYFByb3RvY29sTGlxdWlkaXR5UmVtb3ZlZBQBDHdobwABMFQ6OkFjY291bnRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAAShodWJfYW1vdW50GAEcQmFsYW5jZQABOHNoYXJlc19yZW1vdmVkGAEcQmFsYW5jZQAEBLRQUm90b2NvbCBMaXF1aWRpdHkgd2FzIHJlbW92ZWQgZnJvbSBPbW5pcG9vbC4wU2VsbEV4ZWN1dGVkJAEMd2hvAAEwVDo6QWNjb3VudElkAAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABNGh1Yl9hbW91bnRfaW4YARxCYWxhbmNlAAE4aHViX2Ftb3VudF9vdXQYARxCYWxhbmNlAAFAYXNzZXRfZmVlX2Ftb3VudBgBHEJhbGFuY2UAAUxwcm90b2NvbF9mZWVfYW1vdW50GAEcQmFsYW5jZQAFCFBTZWxsIHRyYWRlIGV4ZWN1dGVkLsREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkLEJ1eUV4ZWN1dGVkJAEMd2hvAAEwVDo6QWNjb3VudElkAAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABNGh1Yl9hbW91bnRfaW4YARxCYWxhbmNlAAE4aHViX2Ftb3VudF9vdXQYARxCYWxhbmNlAAFAYXNzZXRfZmVlX2Ftb3VudBgBHEJhbGFuY2UAAUxwcm90b2NvbF9mZWVfYW1vdW50GAEcQmFsYW5jZQAGCExCdXkgdHJhZGUgZXhlY3V0ZWQuxERlcHJlY2F0ZWQuIFJlcGxhY2VkIGJ5IHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWQ8UG9zaXRpb25DcmVhdGVkGAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAEUYXNzZXQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABGHNoYXJlcxgBHEJhbGFuY2UAARRwcmljZT0BARRQcmljZQAHBMBMUCBQb3NpdGlvbiB3YXMgY3JlYXRlZCBhbmQgTkZUIGluc3RhbmNlIG1pbnRlZC5EUG9zaXRpb25EZXN0cm95ZWQIASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEUb3duZXIAATBUOjpBY2NvdW50SWQACATITFAgUG9zaXRpb24gd2FzIGRlc3Ryb3llZCBhbmQgTkZUIGluc3RhbmNlIGJ1cm5lZC48UG9zaXRpb25VcGRhdGVkGAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAEUYXNzZXQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABGHNoYXJlcxgBHEJhbGFuY2UAARRwcmljZT0BARRQcmljZQAJBGBMUCBQb3NpdGlvbiB3YXMgdXBkYXRlZC5QVHJhZGFibGVTdGF0ZVVwZGF0ZWQIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARRzdGF0ZSUDASxUcmFkYWJpbGl0eQAKBKBBc3NldCdzIHRyYWRhYmxlIHN0YXRlIGhhcyBiZWVuIHVwZGF0ZWQuNEFzc2V0UmVmdW5kZWQMASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEkcmVjaXBpZW50AAEwVDo6QWNjb3VudElkAAsESQFBbW91bnQgaGFzIGJlZW4gcmVmdW5kZWQgZm9yIGFzc2V0IHdoaWNoIGhhcyBub3QgYmVlbiBhY2NlcHRlZCB0byBhZGQgdG8gb21uaXBvb2wuVEFzc2V0V2VpZ2h0Q2FwVXBkYXRlZAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABDGNhcCEDARxQZXJtaWxsAAwEkEFzc2V0J3Mgd2VpZ2h0IGNhcCBoYXMgYmVlbiB1cGRhdGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldIUGDGBwYWxsZXRfdHJhbnNhY3Rpb25fcGF1c2UYcGFsbGV0FEV2ZW50BARUAAEIRFRyYW5zYWN0aW9uUGF1c2VkCAFEcGFsbGV0X25hbWVfYnl0ZXM4ARxWZWM8dTg+AAFMZnVuY3Rpb25fbmFtZV9ieXRlczgBHFZlYzx1OD4AAARIUGF1c2VkIHRyYW5zYWN0aW9uTFRyYW5zYWN0aW9uVW5wYXVzZWQIAURwYWxsZXRfbmFtZV9ieXRlczgBHFZlYzx1OD4AAUxmdW5jdGlvbl9uYW1lX2J5dGVzOAEcVmVjPHU4PgABBFBVbnBhdXNlZCB0cmFuc2FjdGlvbgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldIkGDDRwYWxsZXRfZHVzdGVyGHBhbGxldBRFdmVudAQEVAABDBhEdXN0ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAAEPEFjY291bnQgZHVzdGVkLhRBZGRlZAQBDHdobwABMFQ6OkFjY291bnRJZAABBIxBY2NvdW50IGFkZGVkIHRvIG5vbi1kdXN0YWJsZSBsaXN0LhxSZW1vdmVkBAEMd2hvAAEwVDo6QWNjb3VudElkAAIEnEFjY291bnQgcmVtb3ZlZCBmcm9tIG5vbi1kdXN0YWJsZSBsaXN0LgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldI0GDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQURXZlbnQIBFQABEkAAQxcR2xvYmFsRmFybUFjY1JQWlVwZGF0ZWQMAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABPGFjY3VtdWxhdGVkX3Jwej0BASRGaXhlZFUxMjgAATh0b3RhbF9zaGFyZXNfehgBHEJhbGFuY2UAAATUR2xvYmFsIGZhcm0gYWNjdW11bGF0ZWQgcmV3YXJkIHBlciBzaGFyZSB3YXMgdXBkYXRlZC5cWWllbGRGYXJtQWNjUlBWU1VwZGF0ZWQQAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABQGFjY3VtdWxhdGVkX3JwdnM9AQEkRml4ZWRVMTI4AAFMdG90YWxfdmFsdWVkX3NoYXJlcxgBHEJhbGFuY2UAAQTsWWllbGQgZmFybSBhY2N1bXVsYXRlZCByZXdhcmQgcGVyIHZhbHVlZCBzaGFyZSB3YXMgdXBkYXRlZC5UQWxsUmV3YXJkc0Rpc3RyaWJ1dGVkBAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAgTwR2xvYmFsIGZhcm0gaGFzIG5vIG1vcmUgcmV3YXJkcyB0byBkaXN0cmlidXRlIGluIHRoZSBtb21lbnQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0kQYMgHBhbGxldF9vbW5pcG9vbF9saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFdmVudAQEVAABNERHbG9iYWxGYXJtQ3JlYXRlZCgBCGlkEAEwR2xvYmFsRmFybUlkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAATR0b3RhbF9yZXdhcmRzGAEcQmFsYW5jZQABPHJld2FyZF9jdXJyZW5jeRABKFQ6OkFzc2V0SWQAAUB5aWVsZF9wZXJfcGVyaW9kPQMBLFBlcnF1aW50aWxsAAFgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzEAEsUGVyaW9kT2Y8VD4AAURibG9ja3NfcGVyX3BlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAFUbWF4X3Jld2FyZF9wZXJfcGVyaW9kGAEcQmFsYW5jZQABLG1pbl9kZXBvc2l0GAEcQmFsYW5jZQABVGxybmFfcHJpY2VfYWRqdXN0bWVudD0BASRGaXhlZFUxMjgAAARwTmV3IGdsb2JhbCBmYXJtIHdhcyBjcmVhdGVkLkRHbG9iYWxGYXJtVXBkYXRlZBABCGlkEAEwR2xvYmFsRmFybUlkAAFgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzEAEsUGVyaW9kT2Y8VD4AAUB5aWVsZF9wZXJfcGVyaW9kPQMBLFBlcnF1aW50aWxsAAEsbWluX2RlcG9zaXQYARxCYWxhbmNlAAEEXEdsb2JhbCBmYXJtIHdhcyB1cGRhdGVkUEdsb2JhbEZhcm1UZXJtaW5hdGVkEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAATxyZXdhcmRfY3VycmVuY3kQAShUOjpBc3NldElkAAFUdW5kaXN0cmlidXRlZF9yZXdhcmRzGAEcQmFsYW5jZQACBGxHbG9iYWwgZmFybSB3YXMgdGVybWluYXRlZC5AWWllbGRGYXJtQ3JlYXRlZBQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEobXVsdGlwbGllcj0BAThGYXJtTXVsdGlwbGllcgABNGxveWFsdHlfY3VydmVBAwFQT3B0aW9uPExveWFsdHlDdXJ2ZT4AAwSUTmV3IHlpZWxkIGZhcm0gd2FzIGFkZGVkIHRvIHRoZSBmYXJtLkBZaWVsZEZhcm1VcGRhdGVkFAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAAShtdWx0aXBsaWVyPQEBOEZhcm1NdWx0aXBsaWVyAAQEiFlpZWxkIGZhcm0gbXVsdGlwbGllciB3YXMgdXBkYXRlZC5AWWllbGRGYXJtU3RvcHBlZBABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEMd2hvAAEwVDo6QWNjb3VudElkAAUEmFlpZWxkIGZhcm0gZm9yIGBhc3NldF9pZGAgd2FzIHN0b3BwZWQuQFlpZWxkRmFybVJlc3VtZWQUAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABDHdobwABMFQ6OkFjY291bnRJZAABKG11bHRpcGxpZXI9AQE4RmFybU11bHRpcGxpZXIABgSYWWllbGQgZmFybSBmb3IgYGFzc2V0X2lkYCB3YXMgcmVzdW1lZC5MWWllbGRGYXJtVGVybWluYXRlZBABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEMd2hvAAEwVDo6QWNjb3VudElkAAcEvFlpZWxkIGZhcm0gd2FzIHRlcm1pbmF0ZWQgZnJvbSB0aGUgZ2xvYmFsIGZhcm0uPFNoYXJlc0RlcG9zaXRlZBwBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABDHdobwABMFQ6OkFjY291bnRJZAABNHNoYXJlc19hbW91bnQYARxCYWxhbmNlAAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAAIBKhOZXcgTFAgc2hhcmVzKExQIHBvc2l0aW9uKSB3ZXJlIGRlcG9zaXRlZC5EU2hhcmVzUmVkZXBvc2l0ZWQcAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAATRzaGFyZXNfYW1vdW50GAEcQmFsYW5jZQABLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQACQQBAUFscmVhZHkgbG9ja2VkIExQIHNoYXJlcyB3ZXJlIHJlZGVwb3NpdGVkIHRvIGFub3RoZXIgeWllbGQgZmFybS40UmV3YXJkQ2xhaW1lZBgBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEcY2xhaW1lZBgBHEJhbGFuY2UAATxyZXdhcmRfY3VycmVuY3kQAShUOjpBc3NldElkAAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAAKBFRSZXdhcmRzIHdlcmUgY2xhaW1lZC48U2hhcmVzV2l0aGRyYXduFAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYARxCYWxhbmNlAAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAALBGRMUCBzaGFyZXMgd2VyZSB3aXRoZHJhd24uQERlcG9zaXREZXN0cm95ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAwEHQFBbGwgTFAgc2hhcmVzIHdlcmUgdW5sb2NrZWQgYW5kIE5GVCByZXByZXNlbnRpbmcgZGVwb3NpdCB3YXMgZGVzdHJveWVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldJUGDChwYWxsZXRfb3RjGHBhbGxldBRFdmVudAQEVAABECRDYW5jZWxsZWQEASBvcmRlcl9pZBABHE9yZGVySWQAAARsQW4gT3JkZXIgaGFzIGJlZW4gY2FuY2VsbGVkGEZpbGxlZBQBIG9yZGVyX2lkEAEcT3JkZXJJZAABDHdobwABMFQ6OkFjY291bnRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABDGZlZRgBHEJhbGFuY2UAAQiMQW4gT3JkZXIgaGFzIGJlZW4gY29tcGxldGVseSBmaWxsZWTERGVwcmVjYXRlZC4gUmVwbGFjZWQgYnkgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZDxQYXJ0aWFsbHlGaWxsZWQUASBvcmRlcl9pZBABHE9yZGVySWQAAQx3aG8AATBUOjpBY2NvdW50SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAEoYW1vdW50X291dBgBHEJhbGFuY2UAAQxmZWUYARxCYWxhbmNlAAIIiEFuIE9yZGVyIGhhcyBiZWVuIHBhcnRpYWxseSBmaWxsZWTERGVwcmVjYXRlZC4gUmVwbGFjZWQgYnkgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZBhQbGFjZWQYASBvcmRlcl9pZBABHE9yZGVySWQAASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAFIcGFydGlhbGx5X2ZpbGxhYmxlIAEQYm9vbAADBGBBbiBPcmRlciBoYXMgYmVlbiBwbGFjZWQEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSZBgxYcGFsbGV0X2NpcmN1aXRfYnJlYWtlchhwYWxsZXQURXZlbnQEBFQAARhcVHJhZGVWb2x1bWVMaW1pdENoYW5nZWQIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAUh0cmFkZV92b2x1bWVfbGltaXRNAwEoKHUzMiwgdTMyKQAABKxUcmFkZSB2b2x1bWUgbGltaXQgb2YgYW4gYXNzZXQgd2FzIGNoYW5nZWQuYEFkZExpcXVpZGl0eUxpbWl0Q2hhbmdlZAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABPGxpcXVpZGl0eV9saW1pdHUDAUhPcHRpb248KHUzMiwgdTMyKT4AAQSwQWRkIGxpcXVpZGl0eSBsaW1pdCBvZiBhbiBhc3NldCB3YXMgY2hhbmdlZC5sUmVtb3ZlTGlxdWlkaXR5TGltaXRDaGFuZ2VkCAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAE8bGlxdWlkaXR5X2xpbWl0dQMBSE9wdGlvbjwodTMyLCB1MzIpPgACBLxSZW1vdmUgbGlxdWlkaXR5IGxpbWl0IG9mIGFuIGFzc2V0IHdhcyBjaGFuZ2VkLjRBc3NldExvY2tkb3duCAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEUdW50aWwQAURCbG9ja051bWJlckZvcjxUPgADBFhBc3NldCB3ZW50IHRvIGxvY2tkb3duUEFzc2V0TG9ja2Rvd25SZW1vdmVkBAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAQEaEFzc2V0IGxvY2tkb3duIHdhcyByZW1vdmVkPERlcG9zaXRSZWxlYXNlZAgBDHdobwABMFQ6OkFjY291bnRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAAFBKxBbGwgcmVzZXJ2ZWQgYW1vdW50IG9mIGRlcG9zaXQgd2FzIHJlbGVhc2VkBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0nQYMVHBhbGxldF9yb3V0ZV9leGVjdXRvchhwYWxsZXQURXZlbnQEBFQAAQggRXhlY3V0ZWQUASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEoVDo6QmFsYW5jZQABKGFtb3VudF9vdXQYAShUOjpCYWxhbmNlAAEgZXZlbnRfaWQQAURJbmNyZW1lbnRhbElkVHlwZQAABNBUaGUgcm91dGUgd2l0aCB0cmFkZXMgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGV4ZWN1dGVkMFJvdXRlVXBkYXRlZAQBJGFzc2V0X2lkc1kDATxWZWM8VDo6QXNzZXRJZD4AAQTQVGhlIHJvdXRlIHdpdGggdHJhZGVzIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBleGVjdXRlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldKEGDExwYWxsZXRfZHluYW1pY19mZWVzGHBhbGxldBRFdmVudAQEVAABCERBc3NldEZlZUNvbmZpZ1NldAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABGHBhcmFtc5UDAVhBc3NldEZlZUNvbmZpZzxUOjpGZWU+AAAEkEFzc2V0IGZlZSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIHNldFRBc3NldEZlZUNvbmZpZ1JlbW92ZWQEASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAQSgQXNzZXQgZmVlIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gcmVtb3ZlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldKUGDDhwYWxsZXRfc3Rha2luZxhwYWxsZXQURXZlbnQEBFQAARg8UG9zaXRpb25DcmVhdGVkDAEMd2hvAAEwVDo6QWNjb3VudElkAAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAABFHN0YWtlGAEcQmFsYW5jZQAABNBOZXcgc3Rha2luZyBwb3NpdGlvbiB3YXMgY3JlYXRlZCBhbmQgTkZUIHdhcyBtaW50ZWQuKFN0YWtlQWRkZWQcAQx3aG8AATBUOjpBY2NvdW50SWQAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEUc3Rha2UYARxCYWxhbmNlAAEsdG90YWxfc3Rha2UYARxCYWxhbmNlAAE4bG9ja2VkX3Jld2FyZHMYARxCYWxhbmNlAAE4c2xhc2hlZF9wb2ludHMYARRQb2ludAABSHBheWFibGVfcGVyY2VudGFnZT0BASRGaXhlZFUxMjgAAQTIU3Rha2VkIGFtb3VudCBmb3IgZXhpc3RpbmcgcG9zaXRpb24gd2FzIGluY3JlYXNlZC44UmV3YXJkc0NsYWltZWQcAQx3aG8AATBUOjpBY2NvdW50SWQAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEwcGFpZF9yZXdhcmRzGAEcQmFsYW5jZQABQHVubG9ja2VkX3Jld2FyZHMYARxCYWxhbmNlAAE4c2xhc2hlZF9wb2ludHMYARRQb2ludAABWHNsYXNoZWRfdW5wYWlkX3Jld2FyZHMYARxCYWxhbmNlAAFIcGF5YWJsZV9wZXJjZW50YWdlPQEBJEZpeGVkVTEyOAACBFRSZXdhcmRzIHdlcmUgY2xhaW1lZC4gVW5zdGFrZWQMAQx3aG8AATBUOjpBY2NvdW50SWQAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAE4dW5sb2NrZWRfc3Rha2UYARxCYWxhbmNlAAMEvFN0YWtlZCBhbW91bnQgd2FzIHdpdGhkcmF3biBhbmQgTkZUIHdhcyBidXJuZWQuSFN0YWtpbmdJbml0aWFsaXplZAQBUG5vbl9kdXN0YWJsZV9iYWxhbmNlGAEcQmFsYW5jZQAEBGBTdGFraW5nIHdhcyBpbml0aWFsaXplZC5UQWNjdW11bGF0ZWRScHNVcGRhdGVkCAE8YWNjdW11bGF0ZWRfcnBzPQEBJEZpeGVkVTEyOAABLHRvdGFsX3N0YWtlGAEcQmFsYW5jZQAFBNRTdGFraW5nJ3MgYGFjY3VtdWxhdGVkX3Jld2FyZF9wZXJfc3Rha2VgIHdhcyB1cGRhdGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldKkGDERwYWxsZXRfc3RhYmxlc3dhcBhwYWxsZXQURXZlbnQEBFQAASwsUG9vbENyZWF0ZWQUARxwb29sX2lkEAEoVDo6QXNzZXRJZAABGGFzc2V0c1kDATxWZWM8VDo6QXNzZXRJZD4AATRhbXBsaWZpY2F0aW9urQYBKE5vblplcm9VMTYAAQxmZWUhAwEcUGVybWlsbAABDHBlZ7EGAXxPcHRpb248UG9vbFBlZ0luZm88VDo6QXNzZXRJZD4+AAAETEEgcG9vbCB3YXMgY3JlYXRlZC4oRmVlVXBkYXRlZAgBHHBvb2xfaWQQAShUOjpBc3NldElkAAEMZmVlIQMBHFBlcm1pbGwAAQRoUG9vbCBmZWUgaGFzIGJlZW4gdXBkYXRlZC44TGlxdWlkaXR5QWRkZWQQARxwb29sX2lkEAEoVDo6QXNzZXRJZAABDHdobwABMFQ6OkFjY291bnRJZAABGHNoYXJlcxgBHEJhbGFuY2UAARhhc3NldHNlAwFwVmVjPEFzc2V0QW1vdW50PFQ6OkFzc2V0SWQ+PgACBKhMaXF1aWRpdHkgb2YgYW4gYXNzZXQgd2FzIGFkZGVkIHRvIGEgcG9vbC5ATGlxdWlkaXR5UmVtb3ZlZBQBHHBvb2xfaWQQAShUOjpBc3NldElkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYc2hhcmVzGAEcQmFsYW5jZQABHGFtb3VudHNlAwFwVmVjPEFzc2V0QW1vdW50PFQ6OkFzc2V0SWQ+PgABDGZlZRgBHEJhbGFuY2UAAwRITGlxdWlkaXR5IHJlbW92ZWQuMFNlbGxFeGVjdXRlZBwBDHdobwABMFQ6OkFjY291bnRJZAABHHBvb2xfaWQQAShUOjpBc3NldElkAAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABDGZlZRgBHEJhbGFuY2UABAiNAVNlbGwgdHJhZGUgZXhlY3V0ZWQuIFRyYWRlIGZlZSBwYWlkIGluIGFzc2V0IGxlYXZpbmcgdGhlIHBvb2wgKGFscmVhZHkgc3VidHJhY3RlZCBmcm9tIGFtb3VudF9vdXQpLsREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkLEJ1eUV4ZWN1dGVkHAEMd2hvAAEwVDo6QWNjb3VudElkAAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAEMZmVlGAEcQmFsYW5jZQAFCHkBQnV5IHRyYWRlIGV4ZWN1dGVkLiBUcmFkZSBmZWUgcGFpZCBpbiBhc3NldCBlbnRlcmluZyB0aGUgcG9vbCAoYWxyZWFkeSBpbmNsdWRlZCBpbiBhbW91bnRfaW4pLsREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkUFRyYWRhYmxlU3RhdGVVcGRhdGVkDAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARRzdGF0ZakDASxUcmFkYWJpbGl0eQAGBKBBc3NldCdzIHRyYWRhYmxlIHN0YXRlIGhhcyBiZWVuIHVwZGF0ZWQuVEFtcGxpZmljYXRpb25DaGFuZ2luZxQBHHBvb2xfaWQQAShUOjpBc3NldElkAAFUY3VycmVudF9hbXBsaWZpY2F0aW9urQYBKE5vblplcm9VMTYAAUxmaW5hbF9hbXBsaWZpY2F0aW9urQYBKE5vblplcm9VMTYAASxzdGFydF9ibG9jaxABREJsb2NrTnVtYmVyRm9yPFQ+AAEkZW5kX2Jsb2NrEAFEQmxvY2tOdW1iZXJGb3I8VD4ABwTUQW1wbGlmaWNhdGlvbiBvZiBhIHBvb2wgaGFzIGJlZW4gc2NoZWR1bGVkIHRvIGNoYW5nZS40UG9vbERlc3Ryb3llZAQBHHBvb2xfaWQQAShUOjpBc3NldElkAAgEaEEgcG9vbCBoYXMgYmVlbiBkZXN0cm95ZWQuUFBvb2xQZWdTb3VyY2VVcGRhdGVkDAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAShwZWdfc291cmNlsQMBVFBlZ1NvdXJjZTxUOjpBc3NldElkPgAJBIRQb29sIHBlZyBzb3VyY2UgaGFzIGJlZW4gdXBkYXRlZC5cUG9vbE1heFBlZ1VwZGF0ZVVwZGF0ZWQIARxwb29sX2lkEAEoVDo6QXNzZXRJZAABOG1heF9wZWdfdXBkYXRlIQMBHFBlcm1pbGwACgSUUG9vbCBtYXggcGVnIHVwZGF0ZSBoYXMgYmVlbiB1cGRhdGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldK0GBChOb25aZXJvVTE2AAAEAMgAAACxBgQYT3B0aW9uBARUAbUGAQgQTm9uZQAAABBTb21lBAC1BgAAAQAAtQYMRHBhbGxldF9zdGFibGVzd2FwFHR5cGVzLFBvb2xQZWdJbmZvBBxBc3NldElkARAADAEYc291cmNlrQMBaEJvdW5kZWRQZWdTb3VyY2VzPEFzc2V0SWQ+AAE4bWF4X3BlZ191cGRhdGUhAwEcUGVybWlsbAABHGN1cnJlbnS5BgEsQm91bmRlZFBlZ3MAALkGDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBKQMEUwAABAC9BgEYVmVjPFQ+AAC9BgAAAikDAMEGDDBwYWxsZXRfYm9uZHMYcGFsbGV0FEV2ZW50BARUAAEMMFRva2VuQ3JlYXRlZBABGGlzc3VlcgABMFQ6OkFjY291bnRJZAABIGFzc2V0X2lkEAEcQXNzZXRJZAABHGJvbmRfaWQQARxBc3NldElkAAEgbWF0dXJpdHkwARhNb21lbnQAAARsQSBib25kIGFzc2V0IHdhcyByZWdpc3RlcmVkGElzc3VlZBABGGlzc3VlcgABMFQ6OkFjY291bnRJZAABHGJvbmRfaWQQARxBc3NldElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQABDGZlZRgBKFQ6OkJhbGFuY2UAAQRQTmV3IGJvbmQgd2VyZSBpc3N1ZWQgUmVkZWVtZWQMAQx3aG8AATBUOjpBY2NvdW50SWQAARxib25kX2lkEAEcQXNzZXRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAAgRMQm9uZHMgd2VyZSByZWRlZW1lZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldMUGDFhwYWxsZXRfb3RjX3NldHRsZW1lbnRzGHBhbGxldBRFdmVudAQEVAABBCBFeGVjdXRlZAgBIGFzc2V0X2lkEAEwQXNzZXRJZE9mPFQ+AAEYcHJvZml0GAEcQmFsYW5jZQAABGRBIHRyYWRlIGhhcyBiZWVuIGV4ZWN1dGVkBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0yQYMKHBhbGxldF9sYnAYcGFsbGV0FEV2ZW50BARUAAEYLFBvb2xDcmVhdGVkCAEQcG9vbAABJFBvb2xJZDxUPgABEGRhdGHNBgGUUG9vbDxUOjpBY2NvdW50SWQsIEJsb2NrTnVtYmVyRm9yPFQ+PgAABLBQb29sIHdhcyBjcmVhdGVkIGJ5IHRoZSBgQ3JlYXRlUG9vbGAgb3JpZ2luLixQb29sVXBkYXRlZAgBEHBvb2wAASRQb29sSWQ8VD4AARBkYXRhzQYBlFBvb2w8VDo6QWNjb3VudElkLCBCbG9ja051bWJlckZvcjxUPj4AAQRcUG9vbCBkYXRhIHdlcmUgdXBkYXRlZC44TGlxdWlkaXR5QWRkZWQUAQx3aG8AATBUOjpBY2NvdW50SWQAARxhc3NldF9hEAEcQXNzZXRJZAABHGFzc2V0X2IQARxBc3NldElkAAEgYW1vdW50X2EYATBCYWxhbmNlT2Y8VD4AASBhbW91bnRfYhgBMEJhbGFuY2VPZjxUPgACBJxOZXcgbGlxdWlkaXR5IHdhcyBwcm92aWRlZCB0byB0aGUgcG9vbC5ATGlxdWlkaXR5UmVtb3ZlZBQBDHdobwABMFQ6OkFjY291bnRJZAABHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAASBhbW91bnRfYRgBMEJhbGFuY2VPZjxUPgABIGFtb3VudF9iGAEwQmFsYW5jZU9mPFQ+AAME/ExpcXVpZGl0eSB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBwb29sIGFuZCB0aGUgcG9vbCB3YXMgZGVzdHJveWVkLjBTZWxsRXhlY3V0ZWQcAQx3aG8AATBUOjpBY2NvdW50SWQAASBhc3NldF9pbhABHEFzc2V0SWQAASRhc3NldF9vdXQQARxBc3NldElkAAEYYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAEoc2FsZV9wcmljZRgBMEJhbGFuY2VPZjxUPgABJGZlZV9hc3NldBABHEFzc2V0SWQAAShmZWVfYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAQIOFNhbGUgZXhlY3V0ZWQuxERlcHJlY2F0ZWQuIFJlcGxhY2VkIGJ5IHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWQsQnV5RXhlY3V0ZWQcAQx3aG8AATBUOjpBY2NvdW50SWQAASRhc3NldF9vdXQQARxBc3NldElkAAEgYXNzZXRfaW4QARxBc3NldElkAAEYYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAEkYnV5X3ByaWNlGAEwQmFsYW5jZU9mPFQ+AAEkZmVlX2Fzc2V0EAEcQXNzZXRJZAABKGZlZV9hbW91bnQYATBCYWxhbmNlT2Y8VD4ABQhIUHVyY2hhc2UgZXhlY3V0ZWQuxERlcHJlY2F0ZWQuIFJlcGxhY2VkIGJ5IHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWQEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTNBggocGFsbGV0X2xicBBQb29sCCRBY2NvdW50SWQBACxCbG9ja051bWJlcgEQACgBFG93bmVyAAEkQWNjb3VudElkAAEUc3RhcnRZAQFMT3B0aW9uPEJsb2NrTnVtYmVyPgABDGVuZFkBAUxPcHRpb248QmxvY2tOdW1iZXI+AAEYYXNzZXRzTQMBSChBc3NldElkLCBBc3NldElkKQABOGluaXRpYWxfd2VpZ2h0EAEkTEJQV2VpZ2h0AAEwZmluYWxfd2VpZ2h0EAEkTEJQV2VpZ2h0AAEwd2VpZ2h0X2N1cnZlzQMBPFdlaWdodEN1cnZlVHlwZQABDGZlZU0DASgodTMyLCB1MzIpAAE0ZmVlX2NvbGxlY3RvcgABJEFjY291bnRJZAABMHJlcGF5X3RhcmdldBgBHEJhbGFuY2UAANEGDChwYWxsZXRfeHlrGHBhbGxldBRFdmVudAQEVAABGDhMaXF1aWRpdHlBZGRlZBQBDHdobwABMFQ6OkFjY291bnRJZAABHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAASBhbW91bnRfYRgBHEJhbGFuY2UAASBhbW91bnRfYhgBHEJhbGFuY2UAAAScTmV3IGxpcXVpZGl0eSB3YXMgcHJvdmlkZWQgdG8gdGhlIHBvb2wuQExpcXVpZGl0eVJlbW92ZWQQAQx3aG8AATBUOjpBY2NvdW50SWQAARxhc3NldF9hEAEcQXNzZXRJZAABHGFzc2V0X2IQARxBc3NldElkAAEYc2hhcmVzGAEcQmFsYW5jZQABBJBMaXF1aWRpdHkgd2FzIHJlbW92ZWQgZnJvbSB0aGUgcG9vbC4sUG9vbENyZWF0ZWQYAQx3aG8AATBUOjpBY2NvdW50SWQAARxhc3NldF9hEAEcQXNzZXRJZAABHGFzc2V0X2IQARxBc3NldElkAAFUaW5pdGlhbF9zaGFyZXNfYW1vdW50GAEcQmFsYW5jZQABLHNoYXJlX3Rva2VuEAEcQXNzZXRJZAABEHBvb2wAATBUOjpBY2NvdW50SWQAAgREUG9vbCB3YXMgY3JlYXRlZC40UG9vbERlc3Ryb3llZBQBDHdobwABMFQ6OkFjY291bnRJZAABHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAASxzaGFyZV90b2tlbhABHEFzc2V0SWQAARBwb29sAAEwVDo6QWNjb3VudElkAAMETFBvb2wgd2FzIGRlc3Ryb3llZC4wU2VsbEV4ZWN1dGVkIAEMd2hvAAEwVDo6QWNjb3VudElkAAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAAShzYWxlX3ByaWNlGAEcQmFsYW5jZQABJGZlZV9hc3NldBABHEFzc2V0SWQAAShmZWVfYW1vdW50GAEcQmFsYW5jZQABEHBvb2wAATBUOjpBY2NvdW50SWQABAhQQXNzZXQgc2FsZSBleGVjdXRlZC7ERGVwcmVjYXRlZC4gUmVwbGFjZWQgYnkgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZCxCdXlFeGVjdXRlZCABDHdobwABMFQ6OkFjY291bnRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAASBhc3NldF9pbhABHEFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEkYnV5X3ByaWNlGAEcQmFsYW5jZQABJGZlZV9hc3NldBABHEFzc2V0SWQAAShmZWVfYW1vdW50GAEcQmFsYW5jZQABEHBvb2wAATBUOjpBY2NvdW50SWQABQhgQXNzZXQgcHVyY2hhc2UgZXhlY3V0ZWQuxERlcHJlY2F0ZWQuIFJlcGxhY2VkIGJ5IHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWQEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTVBgxAcGFsbGV0X3JlZmVycmFscxhwYWxsZXQURXZlbnQEBFQAARg4Q29kZVJlZ2lzdGVyZWQIARBjb2Rl3QMBbFJlZmVycmFsQ29kZTxUOjpDb2RlTGVuZ3RoPgABHGFjY291bnQAATBUOjpBY2NvdW50SWQAAASIUmVmZXJyYWwgY29kZSBoYXMgYmVlbiByZWdpc3RlcmVkLihDb2RlTGlua2VkDAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABEGNvZGXdAwFsUmVmZXJyYWxDb2RlPFQ6OkNvZGVMZW5ndGg+AAFAcmVmZXJyYWxfYWNjb3VudAABMFQ6OkFjY291bnRJZAABBLBSZWZlcnJhbCBjb2RlIGhhcyBiZWVuIGxpbmtlZCB0byBhbiBhY2NvdW50LiRDb252ZXJ0ZWQIARBmcm9t2QYBXEFzc2V0QW1vdW50PFQ6OkFzc2V0SWQ+AAEIdG/ZBgFcQXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4AAgSgQXNzZXQgaGFzIGJlZW4gY29udmVydGVkIHRvIFJld2FyZEFzc2V0LhxDbGFpbWVkDAEMd2hvAAEwVDo6QWNjb3VudElkAAFAcmVmZXJyZXJfcmV3YXJkcxgBHEJhbGFuY2UAATR0cmFkZV9yZXdhcmRzGAEcQmFsYW5jZQADBEBSZXdhcmRzIGNsYWltZWQuTEFzc2V0UmV3YXJkc1VwZGF0ZWQMASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARRsZXZlbOEDARRMZXZlbAABHHJld2FyZHPlAwE8RmVlRGlzdHJpYnV0aW9uAAQEfE5ldyBhc3NldCByZXdhcmRzIGhhcyBiZWVuIHNldC4cTGV2ZWxVcAgBDHdobwABMFQ6OkFjY291bnRJZAABFGxldmVs4QMBFExldmVsAAUEbFJlZmVycmVyIHJlYWNoZWQgbmV3IGxldmVsLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldNkGCEBwYWxsZXRfcmVmZXJyYWxzLEFzc2V0QW1vdW50BBxBc3NldElkARAACAEgYXNzZXRfaWQQARxBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQAA3QYMSHBhbGxldF9saXF1aWRhdGlvbhhwYWxsZXQURXZlbnQEBFQAAQQoTGlxdWlkYXRlZBQBEHVzZXJBAQEoRXZtQWRkcmVzcwABQGNvbGxhdGVyYWxfYXNzZXQQARxBc3NldElkAAEoZGVidF9hc3NldBABHEFzc2V0SWQAATRkZWJ0X3RvX2NvdmVyGAEcQmFsYW5jZQABGHByb2ZpdBgBHEJhbGFuY2UAAASkTW9uZXkgbWFya2V0IHBvc2l0aW9uIGhhcyBiZWVuIGxpcXVpZGF0ZWQEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXThBgwocGFsbGV0X2hzbRhwYWxsZXQURXZlbnQEBFQAARQ8Q29sbGF0ZXJhbEFkZGVkGAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAATBwdXJjaGFzZV9mZWUhAwEcUGVybWlsbAABZG1heF9idXlfcHJpY2VfY29lZmZpY2llbnQ9AQFAQ29lZmZpY2llbnRSYXRpbwABMGJ1eV9iYWNrX2ZlZSEDARxQZXJtaWxsAAEwYnV5YmFja19yYXRl8QMBHFBlcmJpbGwAACSAQSBuZXcgY29sbGF0ZXJhbCBhc3NldCB3YXMgYWRkZWQALFBhcmFtZXRlcnM61C0gYGFzc2V0X2lkYDogVGhlIElEIG9mIHRoZSBhc3NldCBhZGRlZCBhcyBjb2xsYXRlcmFs8C0gYHBvb2xfaWRgOiBUaGUgU3RhYmxlU3dhcCBwb29sIElEIHdoZXJlIHRoaXMgYXNzZXQgYmVsb25ncwEBLSBgcHVyY2hhc2VfZmVlYDogRmVlIGFwcGxpZWQgd2hlbiBidXlpbmcgSG9sbGFyIHdpdGggdGhpcyBhc3NldF0BLSBgbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudGA6IE1heGltdW0gYnV5IHByaWNlIGNvZWZmaWNpZW50IGZvciBIU00gdG8gYnV5IGJhY2sgSG9sbGFy1C0gYGJ1eV9iYWNrX2ZlZWA6IEZlZSBhcHBsaWVkIHdoZW4gYnV5aW5nIGJhY2sgSG9sbGFyYQEtIGBidXliYWNrX3JhdGVgOiBQYXJhbWV0ZXIgdGhhdCBjb250cm9scyBob3cgcXVpY2tseSBIU00gY2FuIGJ1eSBIb2xsYXIgd2l0aCB0aGlzIGFzc2V0RENvbGxhdGVyYWxSZW1vdmVkCAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABFHhBIGNvbGxhdGVyYWwgYXNzZXQgd2FzIHJlbW92ZWQALFBhcmFtZXRlcnM66C0gYGFzc2V0X2lkYDogVGhlIElEIG9mIHRoZSBhc3NldCByZW1vdmVkIGZyb20gY29sbGF0ZXJhbHMZAS0gYGFtb3VudGA6IFRoZSBhbW91bnQgb2YgdGhlIGFzc2V0IHRoYXQgd2FzIHJldHVybmVkIChzaG91bGQgYmUgemVybylEQ29sbGF0ZXJhbFVwZGF0ZWQUASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAATBwdXJjaGFzZV9mZWX1AwE8T3B0aW9uPFBlcm1pbGw+AAFkbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudPkDAWBPcHRpb248Q29lZmZpY2llbnRSYXRpbz4AATBidXlfYmFja19mZWX1AwE8T3B0aW9uPFBlcm1pbGw+AAEwYnV5YmFja19yYXRl/QMBPE9wdGlvbjxQZXJiaWxsPgACIHhBIGNvbGxhdGVyYWwgYXNzZXQgd2FzIHVwZGF0ZWQALFBhcmFtZXRlcnM60C0gYGFzc2V0X2lkYDogVGhlIElEIG9mIHRoZSB1cGRhdGVkIGNvbGxhdGVyYWwgYXNzZXQNAS0gYHB1cmNoYXNlX2ZlZWA6IE5ldyBwdXJjaGFzZSBmZWUgaWYgdXBkYXRlZCAoTm9uZSBpZiBub3QgY2hhbmdlZCl1AS0gYG1heF9idXlfcHJpY2VfY29lZmZpY2llbnRgOiBOZXcgbWF4IGJ1eSBwcmljZSBjb2VmZmljaWVudCBpZiB1cGRhdGVkIChOb25lIGlmIG5vdCBjaGFuZ2VkKQ0BLSBgYnV5X2JhY2tfZmVlYDogTmV3IGJ1eSBiYWNrIGZlZSBpZiB1cGRhdGVkIChOb25lIGlmIG5vdCBjaGFuZ2VkKQ0BLSBgYnV5YmFja19yYXRlYDogTmV3IGJ1eWJhY2sgcmF0ZSBpZiB1cGRhdGVkIChOb25lIGlmIG5vdCBjaGFuZ2VkKURBcmJpdHJhZ2VFeGVjdXRlZAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABNGhvbGxhcl9hbW91bnQYARxCYWxhbmNlAAMUfEFyYml0cmFnZSBleGVjdXRlZCBzdWNjZXNzZnVsbHkALFBhcmFtZXRlcnM64C0gYGFzc2V0X2lkYDogVGhlIGNvbGxhdGVyYWwgYXNzZXQgdXNlZCBpbiB0aGUgYXJiaXRyYWdlQQEtIGBob2xsYXJfYW1vdW50YDogQW1vdW50IG9mIEhvbGxhciB0aGF0IHdhcyBpbmNsdWRlZCBpbiB0aGUgYXJiaXRyYWdlIG9wZXJhdGlvbjhGbGFzaE1pbnRlclNldAQBMGZsYXNoX21pbnRlckEBAShFdm1BZGRyZXNzAAQQYEZsYXNoIG1pbnRlciBhZGRyZXNzIHNldAAsUGFyYW1ldGVyczr4LSBgZmxhc2hfbWludGVyYDogVGhlIEVWTSBhZGRyZXNzIG9mIHRoZSBmbGFzaCBtaW50ZXIgY29udHJhY3QEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTlBgwsb3JtbF90b2tlbnMYbW9kdWxlFEV2ZW50BARUAAFEHEVuZG93ZWQMASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAAEuEFuIGFjY291bnQgd2FzIGNyZWF0ZWQgd2l0aCBzb21lIGZyZWUgYmFsYW5jZS4gRHVzdExvc3QMASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAEI7EFuIGFjY291bnQgd2FzIHJlbW92ZWQgd2hvc2UgYmFsYW5jZSB3YXMgbm9uLXplcm8gYnV0IGJlbG93yEV4aXN0ZW50aWFsRGVwb3NpdCwgcmVzdWx0aW5nIGluIGFuIG91dHJpZ2h0IGxvc3MuIFRyYW5zZmVyEAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEQZnJvbQABMFQ6OkFjY291bnRJZAABCHRvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQACBExUcmFuc2ZlciBzdWNjZWVkZWQuIFJlc2VydmVkDAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQADBOBTb21lIGJhbGFuY2Ugd2FzIHJlc2VydmVkIChtb3ZlZCBmcm9tIGZyZWUgdG8gcmVzZXJ2ZWQpLihVbnJlc2VydmVkDAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAEBOhTb21lIGJhbGFuY2Ugd2FzIHVucmVzZXJ2ZWQgKG1vdmVkIGZyb20gcmVzZXJ2ZWQgdG8gZnJlZSkuSFJlc2VydmVSZXBhdHJpYXRlZBQBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABEGZyb20AATBUOjpBY2NvdW50SWQAAQh0bwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAARhzdGF0dXOAATRCYWxhbmNlU3RhdHVzAAUI9FNvbWUgcmVzZXJ2ZWQgYmFsYW5jZSB3YXMgcmVwYXRyaWF0ZWQgKG1vdmVkIGZyb20gcmVzZXJ2ZWQgdG9EYW5vdGhlciBhY2NvdW50KS4oQmFsYW5jZVNldBABLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAABEGZyZWUYAShUOjpCYWxhbmNlAAEgcmVzZXJ2ZWQYAShUOjpCYWxhbmNlAAYEaEEgYmFsYW5jZSB3YXMgc2V0IGJ5IHJvb3QuQFRvdGFsSXNzdWFuY2VTZXQIASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAcEuFRoZSB0b3RhbCBpc3N1YW5jZSBvZiBhbiBjdXJyZW5jeSBoYXMgYmVlbiBzZXQkV2l0aGRyYXduDAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAIBOxTb21lIGJhbGFuY2VzIHdlcmUgd2l0aGRyYXduIChlLmcuIHBheSBmb3IgdHJhbnNhY3Rpb24gZmVlKRxTbGFzaGVkEAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEsZnJlZV9hbW91bnQYAShUOjpCYWxhbmNlAAE8cmVzZXJ2ZWRfYW1vdW50GAEoVDo6QmFsYW5jZQAJBNRTb21lIGJhbGFuY2VzIHdlcmUgc2xhc2hlZCAoZS5nLiBkdWUgdG8gbWlzLWJlaGF2aW9yKSREZXBvc2l0ZWQMASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAoEmERlcG9zaXRlZCBzb21lIGJhbGFuY2UgaW50byBhbiBhY2NvdW50HExvY2tTZXQQARxsb2NrX2lk/QEBOExvY2tJZGVudGlmaWVyAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQALBFRTb21lIGZ1bmRzIGFyZSBsb2NrZWQsTG9ja1JlbW92ZWQMARxsb2NrX2lk/QEBOExvY2tJZGVudGlmaWVyAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAwEfFNvbWUgbG9ja2VkIGZ1bmRzIHdlcmUgdW5sb2NrZWQYTG9ja2VkDAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQANBHRTb21lIGZyZWUgYmFsYW5jZSB3YXMgbG9ja2VkLiBVbmxvY2tlZAwBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UADgR4U29tZSBsb2NrZWQgYmFsYW5jZSB3YXMgZnJlZWQuGElzc3VlZAgBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UADwAkUmVzY2luZGVkCAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAQAAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldOkGDERwYWxsZXRfY3VycmVuY2llcxhtb2R1bGUURXZlbnQEBFQAARAsVHJhbnNmZXJyZWQQASxjdXJyZW5jeV9pZBABPEN1cnJlbmN5SWRPZjxUPgABEGZyb20AATBUOjpBY2NvdW50SWQAAQh0bwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgAABGhDdXJyZW5jeSB0cmFuc2ZlciBzdWNjZXNzLjhCYWxhbmNlVXBkYXRlZAwBLGN1cnJlbmN5X2lkEAE8Q3VycmVuY3lJZE9mPFQ+AAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50DQQBLEFtb3VudE9mPFQ+AAEEXFVwZGF0ZSBiYWxhbmNlIHN1Y2Nlc3MuJERlcG9zaXRlZAwBLGN1cnJlbmN5X2lkEAE8Q3VycmVuY3lJZE9mPFQ+AAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAIEQERlcG9zaXQgc3VjY2Vzcy4kV2l0aGRyYXduDAEsY3VycmVuY3lfaWQQATxDdXJyZW5jeUlkT2Y8VD4AAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4AAwREV2l0aGRyYXcgc3VjY2Vzcy4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTtBgwwb3JtbF92ZXN0aW5nGG1vZHVsZRRFdmVudAQEVAABDFBWZXN0aW5nU2NoZWR1bGVBZGRlZAwBEGZyb20AATBUOjpBY2NvdW50SWQAAQh0bwABMFQ6OkFjY291bnRJZAABQHZlc3Rpbmdfc2NoZWR1bGUVBAFQVmVzdGluZ1NjaGVkdWxlT2Y8VD4AAARsQWRkZWQgbmV3IHZlc3Rpbmcgc2NoZWR1bGUuHENsYWltZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4AAQRAQ2xhaW1lZCB2ZXN0aW5nLlxWZXN0aW5nU2NoZWR1bGVzVXBkYXRlZAQBDHdobwABMFQ6OkFjY291bnRJZAACBGhVcGRhdGVkIHZlc3Rpbmcgc2NoZWR1bGVzLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldPEGDChwYWxsZXRfZXZtGHBhbGxldBRFdmVudAQEVAABFAxMb2cEAQxsb2f1BgEMTG9nAAAEfEV0aGVyZXVtIGV2ZW50cyBmcm9tIGNvbnRyYWN0cy4cQ3JlYXRlZAQBHGFkZHJlc3NBAQEQSDE2MAABBLRBIGNvbnRyYWN0IGhhcyBiZWVuIGNyZWF0ZWQgYXQgZ2l2ZW4gYWRkcmVzcy40Q3JlYXRlZEZhaWxlZAQBHGFkZHJlc3NBAQEQSDE2MAACBAUBQSBjb250cmFjdCB3YXMgYXR0ZW1wdGVkIHRvIGJlIGNyZWF0ZWQsIGJ1dCB0aGUgZXhlY3V0aW9uIGZhaWxlZC4gRXhlY3V0ZWQEARxhZGRyZXNzQQEBEEgxNjAAAwT4QSBjb250cmFjdCBoYXMgYmVlbiBleGVjdXRlZCBzdWNjZXNzZnVsbHkgd2l0aCBzdGF0ZXMgYXBwbGllZC44RXhlY3V0ZWRGYWlsZWQEARxhZGRyZXNzQQEBEEgxNjAABARlAUEgY29udHJhY3QgaGFzIGJlZW4gZXhlY3V0ZWQgd2l0aCBlcnJvcnMuIFN0YXRlcyBhcmUgcmV2ZXJ0ZWQgd2l0aCBvbmx5IGdhcyBmZWVzIGFwcGxpZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV09QYMIGV0aGVyZXVtDGxvZwxMb2cAAAwBHGFkZHJlc3NBAQEQSDE2MAABGHRvcGljc8kBASRWZWM8SDI1Nj4AARBkYXRhOAEUQnl0ZXMAAPkGDDxwYWxsZXRfZXRoZXJldW0YcGFsbGV0FEV2ZW50AAEEIEV4ZWN1dGVkFAEQZnJvbUEBARBIMTYwAAEIdG9BAQEQSDE2MAABQHRyYW5zYWN0aW9uX2hhc2g0ARBIMjU2AAEsZXhpdF9yZWFzb279BgEoRXhpdFJlYXNvbgABKGV4dHJhX2RhdGE4ARxWZWM8dTg+AAAEyEFuIGV0aGVyZXVtIHRyYW5zYWN0aW9uIHdhcyBzdWNjZXNzZnVsbHkgZXhlY3V0ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0/QYMIGV2bV9jb3JlFGVycm9yKEV4aXRSZWFzb24AARAcU3VjY2VlZAQAAQcBLEV4aXRTdWNjZWVkAAAAFEVycm9yBAAFBwEkRXhpdEVycm9yAAEAGFJldmVydAQAFQcBKEV4aXRSZXZlcnQAAgAURmF0YWwEABkHASRFeGl0RmF0YWwAAwAAAQcMIGV2bV9jb3JlFGVycm9yLEV4aXRTdWNjZWVkAAEMHFN0b3BwZWQAAAAgUmV0dXJuZWQAAQAgU3VpY2lkZWQAAgAABQcMIGV2bV9jb3JlFGVycm9yJEV4aXRFcnJvcgABQDhTdGFja1VuZGVyZmxvdwAAADRTdGFja092ZXJmbG93AAEALEludmFsaWRKdW1wAAIAMEludmFsaWRSYW5nZQADAEREZXNpZ25hdGVkSW52YWxpZAAEACxDYWxsVG9vRGVlcAAFADxDcmVhdGVDb2xsaXNpb24ABgBMQ3JlYXRlQ29udHJhY3RMaW1pdAAHACxJbnZhbGlkQ29kZQQACQcBGE9wY29kZQAPACxPdXRPZk9mZnNldAAIACBPdXRPZkdhcwAJACRPdXRPZkZ1bmQACgAsUENVbmRlcmZsb3cACwAsQ3JlYXRlRW1wdHkADAAUT3RoZXIEAA0HAURDb3c8J3N0YXRpYywgc3RyPgANACBNYXhOb25jZQAOAAAJBwwgZXZtX2NvcmUYb3Bjb2RlGE9wY29kZQAABAAIAQh1OAAADQcEDENvdwQEVAERBwAEABEHAAAAEQcAAAUCABUHDCBldm1fY29yZRRlcnJvcihFeGl0UmV2ZXJ0AAEEIFJldmVydGVkAAAAABkHDCBldm1fY29yZRRlcnJvciRFeGl0RmF0YWwAARAwTm90U3VwcG9ydGVkAAAASFVuaGFuZGxlZEludGVycnVwdAABAEBDYWxsRXJyb3JBc0ZhdGFsBAAFBwEkRXhpdEVycm9yAAIAFE90aGVyBAANBwFEQ293PCdzdGF0aWMsIHN0cj4AAwAAHQcMTHBhbGxldF9ldm1fYWNjb3VudHMYcGFsbGV0FEV2ZW50BARUAAEUFEJvdW5kCAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABHGFkZHJlc3NBAQEoRXZtQWRkcmVzcwAABFBCaW5kaW5nIHdhcyBjcmVhdGVkLjREZXBsb3llckFkZGVkBAEMd2hvQQEBKEV2bUFkZHJlc3MAAQRMRGVwbG95ZXIgd2FzIGFkZGVkLjxEZXBsb3llclJlbW92ZWQEAQx3aG9BAQEoRXZtQWRkcmVzcwACBFREZXBsb3llciB3YXMgcmVtb3ZlZC5AQ29udHJhY3RBcHByb3ZlZAQBHGFkZHJlc3NBAQEoRXZtQWRkcmVzcwADBFhDb250cmFjdCB3YXMgYXBwcm92ZWQuTENvbnRyYWN0RGlzYXBwcm92ZWQEARxhZGRyZXNzQQEBKEV2bUFkZHJlc3MABARkQ29udHJhY3Qgd2FzIGRpc2FwcHJvdmVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldCEHDGxwYWxsZXRfeHlrX2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0FEV2ZW50BARUAAE0REdsb2JhbEZhcm1DcmVhdGVkLAEIaWQQATBHbG9iYWxGYXJtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABNHRvdGFsX3Jld2FyZHMYARxCYWxhbmNlAAE8cmV3YXJkX2N1cnJlbmN5EAEcQXNzZXRJZAABQHlpZWxkX3Blcl9wZXJpb2Q9AwEsUGVycXVpbnRpbGwAAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMQASxQZXJpb2RPZjxUPgABRGJsb2Nrc19wZXJfcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4AAUhpbmNlbnRpdml6ZWRfYXNzZXQQARxBc3NldElkAAFUbWF4X3Jld2FyZF9wZXJfcGVyaW9kGAEcQmFsYW5jZQABLG1pbl9kZXBvc2l0GAEcQmFsYW5jZQABQHByaWNlX2FkanVzdG1lbnQ9AQEkRml4ZWRVMTI4AAAEcE5ldyBnbG9iYWwgZmFybSB3YXMgY3JlYXRlZC5ER2xvYmFsRmFybVVwZGF0ZWQIAQhpZBABMEdsb2JhbEZhcm1JZAABQHByaWNlX2FkanVzdG1lbnQ9AQEkRml4ZWRVMTI4AAEEtEdsb2JhbCBmYXJtJ3MgYHByaWNlX2FkanVzdG1lbnRgIHdhcyB1cGRhdGVkLkBZaWVsZEZhcm1DcmVhdGVkFAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShtdWx0aXBsaWVyPQEBOEZhcm1NdWx0aXBsaWVyAAEoYXNzZXRfcGFpcl0EASRBc3NldFBhaXIAATRsb3lhbHR5X2N1cnZlQQMBUE9wdGlvbjxMb3lhbHR5Q3VydmU+AAIEnE5ldyB5aWVsZCBmYXJtIHdhcyBhZGRlZCBpbnRvIHRoZSBmYXJtLlBHbG9iYWxGYXJtVGVybWluYXRlZBABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAE8cmV3YXJkX2N1cnJlbmN5EAEcQXNzZXRJZAABVHVuZGlzdHJpYnV0ZWRfcmV3YXJkcxgBHEJhbGFuY2UAAwRsR2xvYmFsIGZhcm0gd2FzIHRlcm1pbmF0ZWQuPFNoYXJlc0RlcG9zaXRlZBgBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEcQmFsYW5jZQABIGxwX3Rva2VuEAEcQXNzZXRJZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQABARwTmV3IExQIHRva2VucyB3YXMgZGVwb3NpdGVkLkRTaGFyZXNSZWRlcG9zaXRlZBgBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEcQmFsYW5jZQABIGxwX3Rva2VuEAEcQXNzZXRJZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQABQTMTFAgdG9rZW4gd2FzIHJlZGVwb3NpdGVkIGZvciBhIG5ldyB5aWVsZCBmYXJtIGVudHJ5NFJld2FyZENsYWltZWQYAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABHGNsYWltZWQYARxCYWxhbmNlAAE8cmV3YXJkX2N1cnJlbmN5EAEcQXNzZXRJZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQABgRQUmV3YXJkcyB3YXMgY2xhaW1lZC48U2hhcmVzV2l0aGRyYXduGAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAASBscF90b2tlbhABHEFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAAHBGBMUCB0b2tlbnMgd2FzIHdpdGhkcmF3bi5AWWllbGRGYXJtU3RvcHBlZBABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEoYXNzZXRfcGFpcl0EASRBc3NldFBhaXIACASYWWllbGQgZmFybSBmb3IgYXNzZXQgcGFpciB3YXMgc3RvcHBlZC5AWWllbGRGYXJtUmVzdW1lZBQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEoYXNzZXRfcGFpcl0EASRBc3NldFBhaXIAAShtdWx0aXBsaWVyPQEBOEZhcm1NdWx0aXBsaWVyAAkEmFlpZWxkIGZhcm0gZm9yIGFzc2V0IHBhaXIgd2FzIHJlc3VtZWQuTFlpZWxkRmFybVRlcm1pbmF0ZWQQAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABKGFzc2V0X3BhaXJdBAEkQXNzZXRQYWlyAAoErFlpZWxkIGZhcm0gd2FzIHRlcm1pbmF0ZWQgZnJvbSBnbG9iYWwgZmFybS5AWWllbGRGYXJtVXBkYXRlZBQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEoYXNzZXRfcGFpcl0EASRBc3NldFBhaXIAAShtdWx0aXBsaWVyPQEBOEZhcm1NdWx0aXBsaWVyAAsEiFlpZWxkIGZhcm0gbXVsdGlwbGllciB3YXMgdXBkYXRlZC5ARGVwb3NpdERlc3Ryb3llZAgBDHdobwABMFQ6OkFjY291bnRJZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQADASsTkZUIHJlcHJlc2VudGluZyBkZXBvc2l0IGhhcyBiZWVuIGRlc3Ryb3llZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldCUHDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQURXZlbnQIBFQABEkAAQxcR2xvYmFsRmFybUFjY1JQWlVwZGF0ZWQMAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABPGFjY3VtdWxhdGVkX3Jwej0BASRGaXhlZFUxMjgAATh0b3RhbF9zaGFyZXNfehgBHEJhbGFuY2UAAATUR2xvYmFsIGZhcm0gYWNjdW11bGF0ZWQgcmV3YXJkIHBlciBzaGFyZSB3YXMgdXBkYXRlZC5cWWllbGRGYXJtQWNjUlBWU1VwZGF0ZWQQAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABQGFjY3VtdWxhdGVkX3JwdnM9AQEkRml4ZWRVMTI4AAFMdG90YWxfdmFsdWVkX3NoYXJlcxgBHEJhbGFuY2UAAQTsWWllbGQgZmFybSBhY2N1bXVsYXRlZCByZXdhcmQgcGVyIHZhbHVlZCBzaGFyZSB3YXMgdXBkYXRlZC5UQWxsUmV3YXJkc0Rpc3RyaWJ1dGVkBAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAgTwR2xvYmFsIGZhcm0gaGFzIG5vIG1vcmUgcmV3YXJkcyB0byBkaXN0cmlidXRlIGluIHRoZSBtb21lbnQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0KQcMWHBhbGxldF9yZWxheWNoYWluX2luZm8YcGFsbGV0FEV2ZW50BARUAAEETEN1cnJlbnRCbG9ja051bWJlcnMIAVhwYXJhY2hhaW5fYmxvY2tfbnVtYmVyEAFEQmxvY2tOdW1iZXJGb3I8VD4AAVxyZWxheWNoYWluX2Jsb2NrX251bWJlchABREJsb2NrTnVtYmVyRm9yPFQ+AAAIVEN1cnJlbnQgYmxvY2sgbnVtYmVyc8xbIFBhcmFjaGFpbiBibG9jayBudW1iZXIsIFJlbGF5Y2hhaW4gQmxvY2sgbnVtYmVyIF0EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXQtBwwocGFsbGV0X2RjYRhwYWxsZXQURXZlbnQEBFQAASRARXhlY3V0aW9uU3RhcnRlZAgBCGlkEAEoU2NoZWR1bGVJZAABFGJsb2NrEAFEQmxvY2tOdW1iZXJGb3I8VD4AAARwVGhlIERDQSBleGVjdXRpb24gaXMgc3RhcnRlZCRTY2hlZHVsZWQUAQhpZBABKFNjaGVkdWxlSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhwZXJpb2QQAURCbG9ja051bWJlckZvcjxUPgABMHRvdGFsX2Ftb3VudBgBHEJhbGFuY2UAARRvcmRlcnkEAURPcmRlcjxUOjpBc3NldElkPgABBJxUaGUgRENBIGlzIHNjaGVkdWxlZCBmb3IgbmV4dCBleGVjdXRpb25ARXhlY3V0aW9uUGxhbm5lZAwBCGlkEAEoU2NoZWR1bGVJZAABDHdobwABMFQ6OkFjY291bnRJZAABFGJsb2NrEAFEQmxvY2tOdW1iZXJGb3I8VD4AAgSIVGhlIERDQSBpcyBwbGFubmVkIGZvciBibG9ja251bWJlcjRUcmFkZUV4ZWN1dGVkEAEIaWQQAShTY2hlZHVsZUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAMEmFRoZSBEQ0EgdHJhZGUgaXMgc3VjY2Vzc2Z1bGx5IGV4ZWN1dGVkLFRyYWRlRmFpbGVkDAEIaWQQAShTY2hlZHVsZUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEUZXJyb3JoATREaXNwYXRjaEVycm9yAAQEhFRoZSBEQ0EgdHJhZGUgZXhlY3V0aW9uIGlzIGZhaWxlZChUZXJtaW5hdGVkDAEIaWQQAShTY2hlZHVsZUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEUZXJyb3JoATREaXNwYXRjaEVycm9yAAUE7FRoZSBEQ0EgaXMgdGVybWluYXRlZCBhbmQgY29tcGxldGVseSByZW1vdmVkIGZyb20gdGhlIGNoYWluJENvbXBsZXRlZAgBCGlkEAEoU2NoZWR1bGVJZAABDHdobwABMFQ6OkFjY291bnRJZAAGBOhUaGUgRENBIGlzIGNvbXBsZXRlZCBhbmQgY29tcGxldGVseSByZW1vdmVkIGZyb20gdGhlIGNoYWluaFJhbmRvbW5lc3NHZW5lcmF0aW9uRmFpbGVkCAEUYmxvY2sQAURCbG9ja051bWJlckZvcjxUPgABFGVycm9yaAE0RGlzcGF0Y2hFcnJvcgAHBEEBUmFuZG9tbmVzcyBnZW5lcmF0aW9uIGZhaWxlZCBwb3NzaWJseSBjb21pbmcgZnJvbSBtaXNzaW5nIGRhdGEgYWJvdXQgcmVsYXkgY2hhaW48UmVzZXJ2ZVVubG9ja2VkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAgE9ERDQSByZXNlcnZlIGZvciB0aGUgZ2l2ZW4gYXNzZXQgaGF2ZSBiZWVuIHVubG9ja2VkIGZvciBhIHVzZXIEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXQxBwxAcGFsbGV0X3NjaGVkdWxlchhwYWxsZXQURXZlbnQEBFQAASQkU2NoZWR1bGVkCAEQd2hlbhABREJsb2NrTnVtYmVyRm9yPFQ+AAEUaW5kZXgQAQx1MzIAAARQU2NoZWR1bGVkIHNvbWUgdGFzay4gQ2FuY2VsZWQIARB3aGVuEAFEQmxvY2tOdW1iZXJGb3I8VD4AARRpbmRleBABDHUzMgABBExDYW5jZWxlZCBzb21lIHRhc2suKERpc3BhdGNoZWQMARB0YXNrTQMBeFRhc2tBZGRyZXNzPEJsb2NrTnVtYmVyRm9yPFQ+PgABCGlkNQcBQE9wdGlvbjxUYXNrTmFtZT4AARhyZXN1bHSYAThEaXNwYXRjaFJlc3VsdAACBFREaXNwYXRjaGVkIHNvbWUgdGFzay4gUmV0cnlTZXQQARB0YXNrTQMBeFRhc2tBZGRyZXNzPEJsb2NrTnVtYmVyRm9yPFQ+PgABCGlkNQcBQE9wdGlvbjxUYXNrTmFtZT4AARhwZXJpb2QQAURCbG9ja051bWJlckZvcjxUPgABHHJldHJpZXMIAQh1OAADBKBTZXQgYSByZXRyeSBjb25maWd1cmF0aW9uIGZvciBzb21lIHRhc2suOFJldHJ5Q2FuY2VsbGVkCAEQdGFza00DAXhUYXNrQWRkcmVzczxCbG9ja051bWJlckZvcjxUPj4AAQhpZDUHAUBPcHRpb248VGFza05hbWU+AAQErENhbmNlbCBhIHJldHJ5IGNvbmZpZ3VyYXRpb24gZm9yIHNvbWUgdGFzay48Q2FsbFVuYXZhaWxhYmxlCAEQdGFza00DAXhUYXNrQWRkcmVzczxCbG9ja051bWJlckZvcjxUPj4AAQhpZDUHAUBPcHRpb248VGFza05hbWU+AAUEKQFUaGUgY2FsbCBmb3IgdGhlIHByb3ZpZGVkIGhhc2ggd2FzIG5vdCBmb3VuZCBzbyB0aGUgdGFzayBoYXMgYmVlbiBhYm9ydGVkLjhQZXJpb2RpY0ZhaWxlZAgBEHRhc2tNAwF4VGFza0FkZHJlc3M8QmxvY2tOdW1iZXJGb3I8VD4+AAEIaWQ1BwFAT3B0aW9uPFRhc2tOYW1lPgAGBD0BVGhlIGdpdmVuIHRhc2sgd2FzIHVuYWJsZSB0byBiZSByZW5ld2VkIHNpbmNlIHRoZSBhZ2VuZGEgaXMgZnVsbCBhdCB0aGF0IGJsb2NrLixSZXRyeUZhaWxlZAgBEHRhc2tNAwF4VGFza0FkZHJlc3M8QmxvY2tOdW1iZXJGb3I8VD4+AAEIaWQ1BwFAT3B0aW9uPFRhc2tOYW1lPgAHCF0BVGhlIGdpdmVuIHRhc2sgd2FzIHVuYWJsZSB0byBiZSByZXRyaWVkIHNpbmNlIHRoZSBhZ2VuZGEgaXMgZnVsbCBhdCB0aGF0IGJsb2NrIG9yIHRoZXJlnHdhcyBub3QgZW5vdWdoIHdlaWdodCB0byByZXNjaGVkdWxlIGl0LlRQZXJtYW5lbnRseU92ZXJ3ZWlnaHQIARB0YXNrTQMBeFRhc2tBZGRyZXNzPEJsb2NrTnVtYmVyRm9yPFQ+PgABCGlkNQcBQE9wdGlvbjxUYXNrTmFtZT4ACATwVGhlIGdpdmVuIHRhc2sgY2FuIG5ldmVyIGJlIGV4ZWN1dGVkIHNpbmNlIGl0IGlzIG92ZXJ3ZWlnaHQuBDBFdmVudHMgdHlwZS41BwQYT3B0aW9uBARUAQQBCBBOb25lAAAAEFNvbWUEAAQAAAEAADkHDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtGHBhbGxldBRFdmVudAQEVAABGGBWYWxpZGF0aW9uRnVuY3Rpb25TdG9yZWQAAATQVGhlIHZhbGlkYXRpb24gZnVuY3Rpb24gaGFzIGJlZW4gc2NoZWR1bGVkIHRvIGFwcGx5LmRWYWxpZGF0aW9uRnVuY3Rpb25BcHBsaWVkBAFUcmVsYXlfY2hhaW5fYmxvY2tfbnVtEAFUUmVsYXlDaGFpbkJsb2NrTnVtYmVyAAEERQFUaGUgdmFsaWRhdGlvbiBmdW5jdGlvbiB3YXMgYXBwbGllZCBhcyBvZiB0aGUgY29udGFpbmVkIHJlbGF5IGNoYWluIGJsb2NrIG51bWJlci5sVmFsaWRhdGlvbkZ1bmN0aW9uRGlzY2FyZGVkAAIEsFRoZSByZWxheS1jaGFpbiBhYm9ydGVkIHRoZSB1cGdyYWRlIHByb2Nlc3MuYERvd253YXJkTWVzc2FnZXNSZWNlaXZlZAQBFGNvdW50EAEMdTMyAAMEAQFTb21lIGRvd253YXJkIG1lc3NhZ2VzIGhhdmUgYmVlbiByZWNlaXZlZCBhbmQgd2lsbCBiZSBwcm9jZXNzZWQuZERvd253YXJkTWVzc2FnZXNQcm9jZXNzZWQIASx3ZWlnaHRfdXNlZCgBGFdlaWdodAABIGRtcV9oZWFkNAFEcmVsYXlfY2hhaW46Okhhc2gABATgRG93bndhcmQgbWVzc2FnZXMgd2VyZSBwcm9jZXNzZWQgdXNpbmcgdGhlIGdpdmVuIHdlaWdodC5EVXB3YXJkTWVzc2FnZVNlbnQEATBtZXNzYWdlX2hhc2g1BwE8T3B0aW9uPFhjbUhhc2g+AAUEuEFuIHVwd2FyZCBtZXNzYWdlIHdhcyBzZW50IHRvIHRoZSByZWxheSBjaGFpbi4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXQ9BwwocGFsbGV0X3hjbRhwYWxsZXQURXZlbnQEBFQAAWAkQXR0ZW1wdGVkBAEcb3V0Y29tZUEHAVB4Y206OmxhdGVzdDo6T3V0Y29tZQAABKhFeGVjdXRpb24gb2YgYW4gWENNIG1lc3NhZ2Ugd2FzIGF0dGVtcHRlZC4QU2VudBABGG9yaWdpbn0BASBMb2NhdGlvbgABLGRlc3RpbmF0aW9ufQEBIExvY2F0aW9uAAEcbWVzc2FnZZUFARxYY208KCk+AAEobWVzc2FnZV9pZAQBHFhjbUhhc2gAAQRcQSBYQ00gbWVzc2FnZSB3YXMgc2VudC5IVW5leHBlY3RlZFJlc3BvbnNlCAEYb3JpZ2lufQEBIExvY2F0aW9uAAEgcXVlcnlfaWQwARxRdWVyeUlkAAIMWQFRdWVyeSByZXNwb25zZSByZWNlaXZlZCB3aGljaCBkb2VzIG5vdCBtYXRjaCBhIHJlZ2lzdGVyZWQgcXVlcnkuIFRoaXMgbWF5IGJlIGJlY2F1c2UgYVUBbWF0Y2hpbmcgcXVlcnkgd2FzIG5ldmVyIHJlZ2lzdGVyZWQsIGl0IG1heSBiZSBiZWNhdXNlIGl0IGlzIGEgZHVwbGljYXRlIHJlc3BvbnNlLCBvcnBiZWNhdXNlIHRoZSBxdWVyeSB0aW1lZCBvdXQuNFJlc3BvbnNlUmVhZHkIASBxdWVyeV9pZDABHFF1ZXJ5SWQAASByZXNwb25zZbkFASBSZXNwb25zZQADCF0BUXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIGlzIHJlYWR5IGZvciB0YWtpbmcgd2l0aCBgdGFrZV9yZXNwb25zZWAuIFRoZXJlIGlzgG5vIHJlZ2lzdGVyZWQgbm90aWZpY2F0aW9uIGNhbGwuIE5vdGlmaWVkDAEgcXVlcnlfaWQwARxRdWVyeUlkAAEwcGFsbGV0X2luZGV4CAEIdTgAAShjYWxsX2luZGV4CAEIdTgABAhZAVF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGFuZCBxdWVyeSBpcyByZW1vdmVkLiBUaGUgcmVnaXN0ZXJlZCBub3RpZmljYXRpb24gaGFzqGJlZW4gZGlzcGF0Y2hlZCBhbmQgZXhlY3V0ZWQgc3VjY2Vzc2Z1bGx5LkBOb3RpZnlPdmVyd2VpZ2h0FAEgcXVlcnlfaWQwARxRdWVyeUlkAAEwcGFsbGV0X2luZGV4CAEIdTgAAShjYWxsX2luZGV4CAEIdTgAATRhY3R1YWxfd2VpZ2h0KAEYV2VpZ2h0AAFMbWF4X2J1ZGdldGVkX3dlaWdodCgBGFdlaWdodAAFDEkBUXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIHF1ZXJ5IGlzIHJlbW92ZWQuIFRoZSByZWdpc3RlcmVkIG5vdGlmaWNhdGlvblkBY291bGQgbm90IGJlIGRpc3BhdGNoZWQgYmVjYXVzZSB0aGUgZGlzcGF0Y2ggd2VpZ2h0IGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSB3ZWlnaHTkb3JpZ2luYWxseSBidWRnZXRlZCBieSB0aGlzIHJ1bnRpbWUgZm9yIHRoZSBxdWVyeSByZXN1bHQuTE5vdGlmeURpc3BhdGNoRXJyb3IMASBxdWVyeV9pZDABHFF1ZXJ5SWQAATBwYWxsZXRfaW5kZXgIAQh1OAABKGNhbGxfaW5kZXgIAQh1OAAGCFUBUXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIHF1ZXJ5IGlzIHJlbW92ZWQuIFRoZXJlIHdhcyBhIGdlbmVyYWwgZXJyb3Igd2l0aIhkaXNwYXRjaGluZyB0aGUgbm90aWZpY2F0aW9uIGNhbGwuSE5vdGlmeURlY29kZUZhaWxlZAwBIHF1ZXJ5X2lkMAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAgBCHU4AAEoY2FsbF9pbmRleAgBCHU4AAcMUQFRdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBhbmQgcXVlcnkgaXMgcmVtb3ZlZC4gVGhlIGRpc3BhdGNoIHdhcyB1bmFibGUgdG8gYmVZAWRlY29kZWQgaW50byBhIGBDYWxsYDsgdGhpcyBtaWdodCBiZSBkdWUgdG8gZGlzcGF0Y2ggZnVuY3Rpb24gaGF2aW5nIGEgc2lnbmF0dXJlIHdoaWNolGlzIG5vdCBgKG9yaWdpbiwgUXVlcnlJZCwgUmVzcG9uc2UpYC5ASW52YWxpZFJlc3BvbmRlcgwBGG9yaWdpbn0BASBMb2NhdGlvbgABIHF1ZXJ5X2lkMAEcUXVlcnlJZAABRGV4cGVjdGVkX2xvY2F0aW9uzQUBQE9wdGlvbjxMb2NhdGlvbj4ACAxZAUV4cGVjdGVkIHF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGJ1dCB0aGUgb3JpZ2luIGxvY2F0aW9uIG9mIHRoZSByZXNwb25zZSBkb2VzVQFub3QgbWF0Y2ggdGhhdCBleHBlY3RlZC4gVGhlIHF1ZXJ5IHJlbWFpbnMgcmVnaXN0ZXJlZCBmb3IgYSBsYXRlciwgdmFsaWQsIHJlc3BvbnNlIHRvbGJlIHJlY2VpdmVkIGFuZCBhY3RlZCB1cG9uLlxJbnZhbGlkUmVzcG9uZGVyVmVyc2lvbggBGG9yaWdpbn0BASBMb2NhdGlvbgABIHF1ZXJ5X2lkMAEcUXVlcnlJZAAJHFEBRXhwZWN0ZWQgcXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYnV0IHRoZSBleHBlY3RlZCBvcmlnaW4gbG9jYXRpb24gcGxhY2VkIGluTQFzdG9yYWdlIGJ5IHRoaXMgcnVudGltZSBwcmV2aW91c2x5IGNhbm5vdCBiZSBkZWNvZGVkLiBUaGUgcXVlcnkgcmVtYWlucyByZWdpc3RlcmVkLgBBAVRoaXMgaXMgdW5leHBlY3RlZCAoc2luY2UgYSBsb2NhdGlvbiBwbGFjZWQgaW4gc3RvcmFnZSBpbiBhIHByZXZpb3VzbHkgZXhlY3V0aW5nTQFydW50aW1lIHNob3VsZCBiZSByZWFkYWJsZSBwcmlvciB0byBxdWVyeSB0aW1lb3V0KSBhbmQgZGFuZ2Vyb3VzIHNpbmNlIHRoZSBwb3NzaWJseVkBdmFsaWQgcmVzcG9uc2Ugd2lsbCBiZSBkcm9wcGVkLiBNYW51YWwgZ292ZXJuYW5jZSBpbnRlcnZlbnRpb24gaXMgcHJvYmFibHkgZ29pbmcgdG8gYmUcbmVlZGVkLjRSZXNwb25zZVRha2VuBAEgcXVlcnlfaWQwARxRdWVyeUlkAAoEyFJlY2VpdmVkIHF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlYWQgYW5kIHJlbW92ZWQuNEFzc2V0c1RyYXBwZWQMARBoYXNoNAEQSDI1NgABGG9yaWdpbn0BASBMb2NhdGlvbgABGGFzc2V0c+EFATxWZXJzaW9uZWRBc3NldHMACwS4U29tZSBhc3NldHMgaGF2ZSBiZWVuIHBsYWNlZCBpbiBhbiBhc3NldCB0cmFwLlRWZXJzaW9uQ2hhbmdlTm90aWZpZWQQASxkZXN0aW5hdGlvbn0BASBMb2NhdGlvbgABGHJlc3VsdBABKFhjbVZlcnNpb24AARBjb3N0oQUBGEFzc2V0cwABKG1lc3NhZ2VfaWQEARxYY21IYXNoAAwMJQFBbiBYQ00gdmVyc2lvbiBjaGFuZ2Ugbm90aWZpY2F0aW9uIG1lc3NhZ2UgaGFzIGJlZW4gYXR0ZW1wdGVkIHRvIGJlIHNlbnQuAOBUaGUgY29zdCBvZiBzZW5kaW5nIGl0IChib3JuZSBieSB0aGUgY2hhaW4pIGlzIGluY2x1ZGVkLlxTdXBwb3J0ZWRWZXJzaW9uQ2hhbmdlZAgBIGxvY2F0aW9ufQEBIExvY2F0aW9uAAEcdmVyc2lvbhABKFhjbVZlcnNpb24ADQg5AVRoZSBzdXBwb3J0ZWQgdmVyc2lvbiBvZiBhIGxvY2F0aW9uIGhhcyBiZWVuIGNoYW5nZWQuIFRoaXMgbWlnaHQgYmUgdGhyb3VnaCBhbsBhdXRvbWF0aWMgbm90aWZpY2F0aW9uIG9yIGEgbWFudWFsIGludGVydmVudGlvbi5QTm90aWZ5VGFyZ2V0U2VuZEZhaWwMASBsb2NhdGlvbn0BASBMb2NhdGlvbgABIHF1ZXJ5X2lkMAEcUXVlcnlJZAABFGVycm9yXQUBIFhjbUVycm9yAA4IWQFBIGdpdmVuIGxvY2F0aW9uIHdoaWNoIGhhZCBhIHZlcnNpb24gY2hhbmdlIHN1YnNjcmlwdGlvbiB3YXMgZHJvcHBlZCBvd2luZyB0byBhbiBlcnJvcnxzZW5kaW5nIHRoZSBub3RpZmljYXRpb24gdG8gaXQuZE5vdGlmeVRhcmdldE1pZ3JhdGlvbkZhaWwIASBsb2NhdGlvbr0EAURWZXJzaW9uZWRMb2NhdGlvbgABIHF1ZXJ5X2lkMAEcUXVlcnlJZAAPCFkBQSBnaXZlbiBsb2NhdGlvbiB3aGljaCBoYWQgYSB2ZXJzaW9uIGNoYW5nZSBzdWJzY3JpcHRpb24gd2FzIGRyb3BwZWQgb3dpbmcgdG8gYW4gZXJyb3K0bWlncmF0aW5nIHRoZSBsb2NhdGlvbiB0byBvdXIgbmV3IFhDTSBmb3JtYXQuVEludmFsaWRRdWVyaWVyVmVyc2lvbggBGG9yaWdpbn0BASBMb2NhdGlvbgABIHF1ZXJ5X2lkMAEcUXVlcnlJZAAQHFUBRXhwZWN0ZWQgcXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYnV0IHRoZSBleHBlY3RlZCBxdWVyaWVyIGxvY2F0aW9uIHBsYWNlZCBpbk0Bc3RvcmFnZSBieSB0aGlzIHJ1bnRpbWUgcHJldmlvdXNseSBjYW5ub3QgYmUgZGVjb2RlZC4gVGhlIHF1ZXJ5IHJlbWFpbnMgcmVnaXN0ZXJlZC4AQQFUaGlzIGlzIHVuZXhwZWN0ZWQgKHNpbmNlIGEgbG9jYXRpb24gcGxhY2VkIGluIHN0b3JhZ2UgaW4gYSBwcmV2aW91c2x5IGV4ZWN1dGluZ00BcnVudGltZSBzaG91bGQgYmUgcmVhZGFibGUgcHJpb3IgdG8gcXVlcnkgdGltZW91dCkgYW5kIGRhbmdlcm91cyBzaW5jZSB0aGUgcG9zc2libHlZAXZhbGlkIHJlc3BvbnNlIHdpbGwgYmUgZHJvcHBlZC4gTWFudWFsIGdvdmVybmFuY2UgaW50ZXJ2ZW50aW9uIGlzIHByb2JhYmx5IGdvaW5nIHRvIGJlHG5lZWRlZC44SW52YWxpZFF1ZXJpZXIQARhvcmlnaW59AQEgTG9jYXRpb24AASBxdWVyeV9pZDABHFF1ZXJ5SWQAAUBleHBlY3RlZF9xdWVyaWVyfQEBIExvY2F0aW9uAAFQbWF5YmVfYWN0dWFsX3F1ZXJpZXLNBQFAT3B0aW9uPExvY2F0aW9uPgARDF0BRXhwZWN0ZWQgcXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYnV0IHRoZSBxdWVyaWVyIGxvY2F0aW9uIG9mIHRoZSByZXNwb25zZSBkb2VzUQFub3QgbWF0Y2ggdGhlIGV4cGVjdGVkLiBUaGUgcXVlcnkgcmVtYWlucyByZWdpc3RlcmVkIGZvciBhIGxhdGVyLCB2YWxpZCwgcmVzcG9uc2UgdG9sYmUgcmVjZWl2ZWQgYW5kIGFjdGVkIHVwb24uUFZlcnNpb25Ob3RpZnlTdGFydGVkDAEsZGVzdGluYXRpb259AQEgTG9jYXRpb24AARBjb3N0oQUBGEFzc2V0cwABKG1lc3NhZ2VfaWQEARxYY21IYXNoABIIWQFBIHJlbW90ZSBoYXMgcmVxdWVzdGVkIFhDTSB2ZXJzaW9uIGNoYW5nZSBub3RpZmljYXRpb24gZnJvbSB1cyBhbmQgd2UgaGF2ZSBob25vcmVkIGl0Lh0BQSB2ZXJzaW9uIGluZm9ybWF0aW9uIG1lc3NhZ2UgaXMgc2VudCB0byB0aGVtIGFuZCBpdHMgY29zdCBpcyBpbmNsdWRlZC5YVmVyc2lvbk5vdGlmeVJlcXVlc3RlZAwBLGRlc3RpbmF0aW9ufQEBIExvY2F0aW9uAAEQY29zdKEFARhBc3NldHMAAShtZXNzYWdlX2lkBAEcWGNtSGFzaAATBD0BV2UgaGF2ZSByZXF1ZXN0ZWQgdGhhdCBhIHJlbW90ZSBjaGFpbiBzZW5kIHVzIFhDTSB2ZXJzaW9uIGNoYW5nZSBub3RpZmljYXRpb25zLmBWZXJzaW9uTm90aWZ5VW5yZXF1ZXN0ZWQMASxkZXN0aW5hdGlvbn0BASBMb2NhdGlvbgABEGNvc3ShBQEYQXNzZXRzAAEobWVzc2FnZV9pZAQBHFhjbUhhc2gAFAglAVdlIGhhdmUgcmVxdWVzdGVkIHRoYXQgYSByZW1vdGUgY2hhaW4gc3RvcHMgc2VuZGluZyB1cyBYQ00gdmVyc2lvbiBjaGFuZ2U4bm90aWZpY2F0aW9ucy4gRmVlc1BhaWQIARhwYXlpbmd9AQEgTG9jYXRpb24AARBmZWVzoQUBGEFzc2V0cwAVBDEBRmVlcyB3ZXJlIHBhaWQgZnJvbSBhIGxvY2F0aW9uIGZvciBhbiBvcGVyYXRpb24gKG9mdGVuIGZvciB1c2luZyBgU2VuZFhjbWApLjRBc3NldHNDbGFpbWVkDAEQaGFzaDQBEEgyNTYAARhvcmlnaW59AQEgTG9jYXRpb24AARhhc3NldHPhBQE8VmVyc2lvbmVkQXNzZXRzABYEwFNvbWUgYXNzZXRzIGhhdmUgYmVlbiBjbGFpbWVkIGZyb20gYW4gYXNzZXQgdHJhcGBWZXJzaW9uTWlncmF0aW9uRmluaXNoZWQEARx2ZXJzaW9uEAEoWGNtVmVyc2lvbgAXBIRBIFhDTSB2ZXJzaW9uIG1pZ3JhdGlvbiBmaW5pc2hlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRBBxAsc3RhZ2luZ194Y20IdjQYdHJhaXRzHE91dGNvbWUAAQwgQ29tcGxldGUEARB1c2VkKAEYV2VpZ2h0AAAAKEluY29tcGxldGUIARB1c2VkKAEYV2VpZ2h0AAEUZXJyb3JdBQEURXJyb3IAAQAURXJyb3IEARRlcnJvcl0FARRFcnJvcgACAABFBwxIY3VtdWx1c19wYWxsZXRfeGNtGHBhbGxldBRFdmVudAQEVAABDDRJbnZhbGlkRm9ybWF0BAAEASBbdTg7IDMyXQAACIBEb3dud2FyZCBtZXNzYWdlIGlzIGludmFsaWQgWENNLiBcWyBpZCBcXUhVbnN1cHBvcnRlZFZlcnNpb24EAAQBIFt1ODsgMzJdAAEIvERvd253YXJkIG1lc3NhZ2UgaXMgdW5zdXBwb3J0ZWQgdmVyc2lvbiBvZiBYQ00uIFxbIGlkIFxdQEV4ZWN1dGVkRG93bndhcmQIAAQBIFt1ODsgMzJdAABBBwEcT3V0Y29tZQACCMREb3dud2FyZCBtZXNzYWdlIGV4ZWN1dGVkIHdpdGggdGhlIGdpdmVuIG91dGNvbWUuRFxbIGlkLCBvdXRjb21lIFxdBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0SQcMZGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWUYcGFsbGV0FEV2ZW50BARUAAEEPFhjbXBNZXNzYWdlU2VudAQBMG1lc3NhZ2VfaGFzaAQBHFhjbUhhc2gAAATAQW4gSFJNUCBtZXNzYWdlIHdhcyBzZW50IHRvIGEgc2libGluZyBwYXJhY2hhaW4uBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0TQcMUHBhbGxldF9tZXNzYWdlX3F1ZXVlGHBhbGxldBRFdmVudAQEVAABEEBQcm9jZXNzaW5nRmFpbGVkDAEIaWQ0ARBIMjU2BJRUaGUgYGJsYWtlMl8yNTZgIGhhc2ggb2YgdGhlIG1lc3NhZ2UuARhvcmlnaW4hBgFITWVzc2FnZU9yaWdpbk9mPFQ+BGRUaGUgcXVldWUgb2YgdGhlIG1lc3NhZ2UuARRlcnJvclEHAUxQcm9jZXNzTWVzc2FnZUVycm9yEGBUaGUgZXJyb3IgdGhhdCBvY2N1cnJlZC4ASQFUaGlzIGVycm9yIGlzIHByZXR0eSBvcGFxdWUuIE1vcmUgZmluZS1ncmFpbmVkIGVycm9ycyBuZWVkIHRvIGJlIGVtaXR0ZWQgYXMgZXZlbnRzaGJ5IHRoZSBgTWVzc2FnZVByb2Nlc3NvcmAuAARVAU1lc3NhZ2UgZGlzY2FyZGVkIGR1ZSB0byBhbiBlcnJvciBpbiB0aGUgYE1lc3NhZ2VQcm9jZXNzb3JgICh1c3VhbGx5IGEgZm9ybWF0IGVycm9yKS4kUHJvY2Vzc2VkEAEIaWQ0ARBIMjU2BJRUaGUgYGJsYWtlMl8yNTZgIGhhc2ggb2YgdGhlIG1lc3NhZ2UuARhvcmlnaW4hBgFITWVzc2FnZU9yaWdpbk9mPFQ+BGRUaGUgcXVldWUgb2YgdGhlIG1lc3NhZ2UuASx3ZWlnaHRfdXNlZCgBGFdlaWdodATASG93IG11Y2ggd2VpZ2h0IHdhcyB1c2VkIHRvIHByb2Nlc3MgdGhlIG1lc3NhZ2UuARxzdWNjZXNzIAEQYm9vbBiIV2hldGhlciB0aGUgbWVzc2FnZSB3YXMgcHJvY2Vzc2VkLgBJAU5vdGUgdGhhdCB0aGlzIGRvZXMgbm90IG1lYW4gdGhhdCB0aGUgdW5kZXJseWluZyBgTWVzc2FnZVByb2Nlc3NvcmAgd2FzIGludGVybmFsbHk1AXN1Y2Nlc3NmdWwuIEl0ICpzb2xlbHkqIG1lYW5zIHRoYXQgdGhlIE1RIHBhbGxldCB3aWxsIHRyZWF0IHRoaXMgYXMgYSBzdWNjZXNzTQFjb25kaXRpb24gYW5kIGRpc2NhcmQgdGhlIG1lc3NhZ2UuIEFueSBpbnRlcm5hbCBlcnJvciBuZWVkcyB0byBiZSBlbWl0dGVkIGFzIGV2ZW50c2hieSB0aGUgYE1lc3NhZ2VQcm9jZXNzb3JgLgEEVE1lc3NhZ2UgaXMgcHJvY2Vzc2VkLkhPdmVyd2VpZ2h0RW5xdWV1ZWQQAQhpZAQBIFt1ODsgMzJdBJRUaGUgYGJsYWtlMl8yNTZgIGhhc2ggb2YgdGhlIG1lc3NhZ2UuARhvcmlnaW4hBgFITWVzc2FnZU9yaWdpbk9mPFQ+BGRUaGUgcXVldWUgb2YgdGhlIG1lc3NhZ2UuAShwYWdlX2luZGV4EAEkUGFnZUluZGV4BGBUaGUgcGFnZSBvZiB0aGUgbWVzc2FnZS4BNG1lc3NhZ2VfaW5kZXgQARxUOjpTaXplBKRUaGUgaW5kZXggb2YgdGhlIG1lc3NhZ2Ugd2l0aGluIHRoZSBwYWdlLgIEjE1lc3NhZ2UgcGxhY2VkIGluIG92ZXJ3ZWlnaHQgcXVldWUuKFBhZ2VSZWFwZWQIARhvcmlnaW4hBgFITWVzc2FnZU9yaWdpbk9mPFQ+BFhUaGUgcXVldWUgb2YgdGhlIHBhZ2UuARRpbmRleBABJFBhZ2VJbmRleARYVGhlIGluZGV4IG9mIHRoZSBwYWdlLgMEVFRoaXMgcGFnZSB3YXMgcmVhcGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldFEHEDRmcmFtZV9zdXBwb3J0GHRyYWl0cyBtZXNzYWdlc0xQcm9jZXNzTWVzc2FnZUVycm9yAAEYJEJhZEZvcm1hdAAAABxDb3JydXB0AAEALFVuc3VwcG9ydGVkAAIAKE92ZXJ3ZWlnaHQEACgBGFdlaWdodAADABRZaWVsZAAEAERTdGFja0xpbWl0UmVhY2hlZAAFAABVBwwgb3JtbF94Y20YbW9kdWxlFEV2ZW50BARUAAEEEFNlbnQIAQh0b30BASBMb2NhdGlvbgABHG1lc3NhZ2WVBQEcWGNtPCgpPgAABIRYQ00gbWVzc2FnZSBzZW50LiBcW3RvLCBtZXNzYWdlXF0EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRZBwwwb3JtbF94dG9rZW5zGG1vZHVsZRRFdmVudAQEVAABBERUcmFuc2ZlcnJlZEFzc2V0cxABGHNlbmRlcgABMFQ6OkFjY291bnRJZAABGGFzc2V0c6EFARhBc3NldHMAAQxmZWWpBQEUQXNzZXQAARBkZXN0fQEBIExvY2F0aW9uAAAEdFRyYW5zZmVycmVkIGBBc3NldGAgd2l0aCBmZWUuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0XQcMTG9ybWxfdW5rbm93bl90b2tlbnMYbW9kdWxlFEV2ZW50AAEIJERlcG9zaXRlZAgBFGFzc2V0qQUBFEFzc2V0AAEMd2hvfQEBIExvY2F0aW9uAAAEQERlcG9zaXQgc3VjY2Vzcy4kV2l0aGRyYXduCAEUYXNzZXSpBQEUQXNzZXQAAQx3aG99AQEgTG9jYXRpb24AAQREV2l0aGRyYXcgc3VjY2Vzcy4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRhBwxkcGFsbGV0X2NvbGxhdG9yX3NlbGVjdGlvbhhwYWxsZXQURXZlbnQEBFQAAShATmV3SW52dWxuZXJhYmxlcwQBNGludnVsbmVyYWJsZXMxAQFEVmVjPFQ6OkFjY291bnRJZD4AAARsTmV3IEludnVsbmVyYWJsZXMgd2VyZSBzZXQuREludnVsbmVyYWJsZUFkZGVkBAEoYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAABBHRBIG5ldyBJbnZ1bG5lcmFibGUgd2FzIGFkZGVkLkxJbnZ1bG5lcmFibGVSZW1vdmVkBAEoYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAACBHBBbiBJbnZ1bG5lcmFibGUgd2FzIHJlbW92ZWQuUE5ld0Rlc2lyZWRDYW5kaWRhdGVzBAFIZGVzaXJlZF9jYW5kaWRhdGVzEAEMdTMyAAMEpFRoZSBudW1iZXIgb2YgZGVzaXJlZCBjYW5kaWRhdGVzIHdhcyBzZXQuQE5ld0NhbmRpZGFjeUJvbmQEASxib25kX2Ftb3VudBgBMEJhbGFuY2VPZjxUPgAEBGxUaGUgY2FuZGlkYWN5IGJvbmQgd2FzIHNldC44Q2FuZGlkYXRlQWRkZWQIAShhY2NvdW50X2lkAAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgAFBFxBIG5ldyBjYW5kaWRhdGUgam9pbmVkLlBDYW5kaWRhdGVCb25kVXBkYXRlZAgBKGFjY291bnRfaWQAATBUOjpBY2NvdW50SWQAARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAYEcEJvbmQgb2YgYSBjYW5kaWRhdGUgdXBkYXRlZC5AQ2FuZGlkYXRlUmVtb3ZlZAQBKGFjY291bnRfaWQAATBUOjpBY2NvdW50SWQABwRgQSBjYW5kaWRhdGUgd2FzIHJlbW92ZWQuRENhbmRpZGF0ZVJlcGxhY2VkDAEMb2xkAAEwVDo6QWNjb3VudElkAAEMbmV3AAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgAIBPRBbiBhY2NvdW50IHdhcyByZXBsYWNlZCBpbiB0aGUgY2FuZGlkYXRlIGxpc3QgYnkgYW5vdGhlciBvbmUuaEludmFsaWRJbnZ1bG5lcmFibGVTa2lwcGVkBAEoYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAAJCFUBQW4gYWNjb3VudCB3YXMgdW5hYmxlIHRvIGJlIGFkZGVkIHRvIHRoZSBJbnZ1bG5lcmFibGVzIGJlY2F1c2UgdGhleSBkaWQgbm90IGhhdmUga2V5c8hyZWdpc3RlcmVkLiBPdGhlciBJbnZ1bG5lcmFibGVzIG1heSBoYXZlIGJlZW4gc2V0LgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldGUHDDhwYWxsZXRfc2Vzc2lvbhhwYWxsZXQURXZlbnQAAQQoTmV3U2Vzc2lvbgQBNHNlc3Npb25faW5kZXgQATBTZXNzaW9uSW5kZXgAAAg5AU5ldyBzZXNzaW9uIGhhcyBoYXBwZW5lZC4gTm90ZSB0aGF0IHRoZSBhcmd1bWVudCBpcyB0aGUgc2Vzc2lvbiBpbmRleCwgbm90IHRoZZxibG9jayBudW1iZXIgYXMgdGhlIHR5cGUgbWlnaHQgc3VnZ2VzdC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRpBwxEcGFsbGV0X2VtYV9vcmFjbGUYcGFsbGV0FEV2ZW50BARUAAEIQEFkZGVkVG9XaGl0ZWxpc3QIARhzb3VyY2X9AQEYU291cmNlAAEYYXNzZXRzTQMBSChBc3NldElkLCBBc3NldElkKQAABIhPcmFjbGUgd2FzIGFkZGVkIHRvIHRoZSB3aGl0ZWxpc3QuUFJlbW92ZWRGcm9tV2hpdGVsaXN0CAEYc291cmNl/QEBGFNvdXJjZQABGGFzc2V0c00DAUgoQXNzZXRJZCwgQXNzZXRJZCkAAQSYT3JhY2xlIHdhcyByZW1vdmVkIGZyb20gdGhlIHdoaXRlbGlzdC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRtBwxAcGFsbGV0X2Jyb2FkY2FzdBhwYWxsZXQURXZlbnQEBFQAAQQgU3dhcHBlZDMgARxzd2FwcGVyAAEwVDo6QWNjb3VudElkAAEYZmlsbGVyAAEwVDo6QWNjb3VudElkAAEsZmlsbGVyX3R5cGVxBwEYRmlsbGVyAAEkb3BlcmF0aW9udQcBOFRyYWRlT3BlcmF0aW9uAAEYaW5wdXRzeQcBKFZlYzxBc3NldD4AARxvdXRwdXRzeQcBKFZlYzxBc3NldD4AARBmZWVzgQcBWFZlYzxGZWU8VDo6QWNjb3VudElkPj4AATxvcGVyYXRpb25fc3RhY2uNBwFIVmVjPEV4ZWN1dGlvblR5cGU+AAAgPFRyYWRlIGV4ZWN1dGVkLgDwU3dhcHBlZDMgaXMgYSBmaXhlZCBhbmQgcmVuYW1lZCB2ZXJzaW9uIG9mIG9yaWdpbmFsIFN3YXBwZWQsBQFhcyBTd2FwcGVkIGNvbnRhaW5lZCB3cm9uZyBpbnB1dC9vdXRwdXQgYW1vdW50cyBmb3IgWFlLIGJ1eSB0cmFkZQD0U3dhcHBlZDMgaXMgYSBmaXhlZCBhbmQgcmVuYW1lZCB2ZXJzaW9uIG9mIG9yaWdpbmFsIFN3YXBwZWQzLOBhcyBTd2FwcGVkIGNvbnRhaW5lZCB3cm9uZyBmaWxsZXIgYWNjb3VudCBvbiBBQVZFIHRyYWRlcwAEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRxBwxAcGFsbGV0X2Jyb2FkY2FzdBR0eXBlcxhGaWxsZXIAARwgT21uaXBvb2wAAAAoU3RhYmxlc3dhcAQAEAEcQXNzZXRJZAABAAxYWUsEABABHEFzc2V0SWQAAgAMTEJQAAMADE9UQwQAEAEoT3RjT3JkZXJJZAAEABBBQVZFAAUADEhTTQAGAAB1BwxAcGFsbGV0X2Jyb2FkY2FzdBR0eXBlczhUcmFkZU9wZXJhdGlvbgABFBxFeGFjdEluAAAAIEV4YWN0T3V0AAEAFExpbWl0AAIAMExpcXVpZGl0eUFkZAADADxMaXF1aWRpdHlSZW1vdmUABAAAeQcAAAJ9BwB9BwxAcGFsbGV0X2Jyb2FkY2FzdBR0eXBlcxRBc3NldAAACAEUYXNzZXQQARxBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQAAgQcAAAKFBwCFBwxAcGFsbGV0X2Jyb2FkY2FzdBR0eXBlcwxGZWUEJEFjY291bnRJZAEAAAwBFGFzc2V0EAEcQXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAASxkZXN0aW5hdGlvbokHAVhEZXN0aW5hdGlvbjxBY2NvdW50SWQ+AACJBwxAcGFsbGV0X2Jyb2FkY2FzdBR0eXBlcyxEZXN0aW5hdGlvbgQkQWNjb3VudElkAQABCBxBY2NvdW50BAAAASRBY2NvdW50SWQAAAAYQnVybmVkAAEAAI0HAAACkQcAkQcMQHBhbGxldF9icm9hZGNhc3QUdHlwZXM0RXhlY3V0aW9uVHlwZQABGBhSb3V0ZXIEABABREluY3JlbWVudGFsSWRUeXBlAAAADERDQQgAEAEoU2NoZWR1bGVJZAAAEAFESW5jcmVtZW50YWxJZFR5cGUAAQAUQmF0Y2gEABABREluY3JlbWVudGFsSWRUeXBlAAIAIE9tbmlwb29sBAAQAURJbmNyZW1lbnRhbElkVHlwZQADACxYY21FeGNoYW5nZQQAEAFESW5jcmVtZW50YWxJZFR5cGUABAAMWGNtCAAEASBbdTg7IDMyXQAAEAFESW5jcmVtZW50YWxJZFR5cGUABQAAlQcIMGZyYW1lX3N5c3RlbRRQaGFzZQABDDhBcHBseUV4dHJpbnNpYwQAEAEMdTMyAAAAMEZpbmFsaXphdGlvbgABADhJbml0aWFsaXphdGlvbgACAACZBwgwZnJhbWVfc3lzdGVtWExhc3RSdW50aW1lVXBncmFkZUluZm8AAAgBMHNwZWNfdmVyc2lvblUBAUxjb2RlYzo6Q29tcGFjdDx1MzI+AAEkc3BlY19uYW1lEQcBZHNwX3J1bnRpbWU6OlJ1bnRpbWVTdHJpbmcAAJ0HCDBmcmFtZV9zeXN0ZW1gQ29kZVVwZ3JhZGVBdXRob3JpemF0aW9uBARUAAAIASRjb2RlX2hhc2g0ARxUOjpIYXNoAAE0Y2hlY2tfdmVyc2lvbiABEGJvb2wAAKEHDDBmcmFtZV9zeXN0ZW0YbGltaXRzMEJsb2NrV2VpZ2h0cwAADAEoYmFzZV9ibG9jaygBGFdlaWdodAABJG1heF9ibG9jaygBGFdlaWdodAABJHBlcl9jbGFzc6UHAYRQZXJEaXNwYXRjaENsYXNzPFdlaWdodHNQZXJDbGFzcz4AAKUHDDRmcmFtZV9zdXBwb3J0IGRpc3BhdGNoQFBlckRpc3BhdGNoQ2xhc3MEBFQBqQcADAEYbm9ybWFsqQcBBFQAASxvcGVyYXRpb25hbKkHAQRUAAEkbWFuZGF0b3J5qQcBBFQAAKkHDDBmcmFtZV9zeXN0ZW0YbGltaXRzPFdlaWdodHNQZXJDbGFzcwAAEAE4YmFzZV9leHRyaW5zaWMoARhXZWlnaHQAATRtYXhfZXh0cmluc2ljZQYBOE9wdGlvbjxXZWlnaHQ+AAEkbWF4X3RvdGFsZQYBOE9wdGlvbjxXZWlnaHQ+AAEgcmVzZXJ2ZWRlBgE4T3B0aW9uPFdlaWdodD4AAK0HDDBmcmFtZV9zeXN0ZW0YbGltaXRzLEJsb2NrTGVuZ3RoAAAEAQxtYXixBwFUUGVyRGlzcGF0Y2hDbGFzczx1MzI+AACxBww0ZnJhbWVfc3VwcG9ydCBkaXNwYXRjaEBQZXJEaXNwYXRjaENsYXNzBARUARAADAEYbm9ybWFsEAEEVAABLG9wZXJhdGlvbmFsEAEEVAABJG1hbmRhdG9yeRABBFQAALUHCChzcF93ZWlnaHRzPFJ1bnRpbWVEYldlaWdodAAACAEQcmVhZDABDHU2NAABFHdyaXRlMAEMdTY0AAC5Bwgoc3BfdmVyc2lvbjhSdW50aW1lVmVyc2lvbgAAIAEkc3BlY19uYW1lEQcBNFJ1bnRpbWVTdHJpbmcAASRpbXBsX25hbWURBwE0UnVudGltZVN0cmluZwABRGF1dGhvcmluZ192ZXJzaW9uEAEMdTMyAAEwc3BlY192ZXJzaW9uEAEMdTMyAAEwaW1wbF92ZXJzaW9uEAEMdTMyAAEQYXBpc70HARxBcGlzVmVjAAFMdHJhbnNhY3Rpb25fdmVyc2lvbhABDHUzMgABNHN0YXRlX3ZlcnNpb24IAQh1OAAAvQcEDENvdwQEVAHBBwAEAMEHAAAAwQcAAALFBwDFBwAABAj9ARAAyQcMMGZyYW1lX3N5c3RlbRhwYWxsZXQURXJyb3IEBFQAASQ8SW52YWxpZFNwZWNOYW1lAAAIEQFUaGUgbmFtZSBvZiBzcGVjaWZpY2F0aW9uIGRvZXMgbm90IG1hdGNoIGJldHdlZW4gdGhlIGN1cnJlbnQgcnVudGltZVBhbmQgdGhlIG5ldyBydW50aW1lLmhTcGVjVmVyc2lvbk5lZWRzVG9JbmNyZWFzZQABCEEBVGhlIHNwZWNpZmljYXRpb24gdmVyc2lvbiBpcyBub3QgYWxsb3dlZCB0byBkZWNyZWFzZSBiZXR3ZWVuIHRoZSBjdXJyZW50IHJ1bnRpbWVQYW5kIHRoZSBuZXcgcnVudGltZS50RmFpbGVkVG9FeHRyYWN0UnVudGltZVZlcnNpb24AAgzsRmFpbGVkIHRvIGV4dHJhY3QgdGhlIHJ1bnRpbWUgdmVyc2lvbiBmcm9tIHRoZSBuZXcgcnVudGltZS4ACQFFaXRoZXIgY2FsbGluZyBgQ29yZV92ZXJzaW9uYCBvciBkZWNvZGluZyBgUnVudGltZVZlcnNpb25gIGZhaWxlZC5MTm9uRGVmYXVsdENvbXBvc2l0ZQADBPxTdWljaWRlIGNhbGxlZCB3aGVuIHRoZSBhY2NvdW50IGhhcyBub24tZGVmYXVsdCBjb21wb3NpdGUgZGF0YS48Tm9uWmVyb1JlZkNvdW50AAQENQFUaGVyZSBpcyBhIG5vbi16ZXJvIHJlZmVyZW5jZSBjb3VudCBwcmV2ZW50aW5nIHRoZSBhY2NvdW50IGZyb20gYmVpbmcgcHVyZ2VkLjBDYWxsRmlsdGVyZWQABQTQVGhlIG9yaWdpbiBmaWx0ZXIgcHJldmVudCB0aGUgY2FsbCB0byBiZSBkaXNwYXRjaGVkLmxNdWx0aUJsb2NrTWlncmF0aW9uc09uZ29pbmcABgRVAUEgbXVsdGktYmxvY2sgbWlncmF0aW9uIGlzIG9uZ29pbmcgYW5kIHByZXZlbnRzIHRoZSBjdXJyZW50IGNvZGUgZnJvbSBiZWluZyByZXBsYWNlZC5ETm90aGluZ0F1dGhvcml6ZWQABwRYTm8gdXBncmFkZSBhdXRob3JpemVkLjBVbmF1dGhvcml6ZWQACASUVGhlIHN1Ym1pdHRlZCBjb2RlIGlzIG5vdCBhdXRob3JpemVkLgRsRXJyb3IgZm9yIHRoZSBTeXN0ZW0gcGFsbGV0zQcMTGJvdW5kZWRfY29sbGVjdGlvbnNAd2Vha19ib3VuZGVkX3ZlYzhXZWFrQm91bmRlZFZlYwgEVAHRBwRTAAAEANkHARhWZWM8VD4AANEHDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXMsQmFsYW5jZUxvY2sEHEJhbGFuY2UBGAAMAQhpZP0BAThMb2NrSWRlbnRpZmllcgABGGFtb3VudBgBHEJhbGFuY2UAARxyZWFzb25z1QcBHFJlYXNvbnMAANUHDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXMcUmVhc29ucwABDAxGZWUAAAAQTWlzYwABAAxBbGwAAgAA2QcAAALRBwDdBwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAeEHBFMAAAQA5QcBGFZlYzxUPgAA4QcMPHBhbGxldF9iYWxhbmNlcxR0eXBlcyxSZXNlcnZlRGF0YQhEUmVzZXJ2ZUlkZW50aWZpZXIB/QEcQmFsYW5jZQEYAAgBCGlk/QEBRFJlc2VydmVJZGVudGlmaWVyAAEYYW1vdW50GAEcQmFsYW5jZQAA5QcAAALhBwDpBwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAe0HBFMAAAQA/QcBGFZlYzxUPgAA7QcUNGZyYW1lX3N1cHBvcnQYdHJhaXRzGHRva2VucxBtaXNjIElkQW1vdW50CAhJZAHxBxxCYWxhbmNlARgACAEIaWTxBwEISWQAARhhbW91bnQYARxCYWxhbmNlAADxBwg8aHlkcmFkeF9ydW50aW1lRFJ1bnRpbWVIb2xkUmVhc29uAAEIIFByZWltYWdlBAD1BwFscGFsbGV0X3ByZWltYWdlOjpIb2xkUmVhc29uAA8ASFN0YXRlVHJpZU1pZ3JhdGlvbgQA+QcBnHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbjo6SG9sZFJlYXNvbgAjAAD1Bww8cGFsbGV0X3ByZWltYWdlGHBhbGxldChIb2xkUmVhc29uAAEEIFByZWltYWdlAAAAAPkHDGxwYWxsZXRfc3RhdGVfdHJpZV9taWdyYXRpb24YcGFsbGV0KEhvbGRSZWFzb24AAQQ8U2xhc2hGb3JNaWdyYXRlAAAAAP0HAAAC7QcAAQgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEFCARTAAAEAAkIARhWZWM8VD4AAAUIFDRmcmFtZV9zdXBwb3J0GHRyYWl0cxh0b2tlbnMQbWlzYyBJZEFtb3VudAgISWQBkBxCYWxhbmNlARgACAEIaWSQAQhJZAABGGFtb3VudBgBHEJhbGFuY2UAAAkIAAACBQgADQgMPHBhbGxldF9iYWxhbmNlcxhwYWxsZXQURXJyb3IIBFQABEkAATA4VmVzdGluZ0JhbGFuY2UAAAScVmVzdGluZyBiYWxhbmNlIHRvbyBoaWdoIHRvIHNlbmQgdmFsdWUuVExpcXVpZGl0eVJlc3RyaWN0aW9ucwABBMhBY2NvdW50IGxpcXVpZGl0eSByZXN0cmljdGlvbnMgcHJldmVudCB3aXRoZHJhd2FsLkxJbnN1ZmZpY2llbnRCYWxhbmNlAAIEeEJhbGFuY2UgdG9vIGxvdyB0byBzZW5kIHZhbHVlLkhFeGlzdGVudGlhbERlcG9zaXQAAwTsVmFsdWUgdG9vIGxvdyB0byBjcmVhdGUgYWNjb3VudCBkdWUgdG8gZXhpc3RlbnRpYWwgZGVwb3NpdC40RXhwZW5kYWJpbGl0eQAEBJBUcmFuc2Zlci9wYXltZW50IHdvdWxkIGtpbGwgYWNjb3VudC5cRXhpc3RpbmdWZXN0aW5nU2NoZWR1bGUABQTMQSB2ZXN0aW5nIHNjaGVkdWxlIGFscmVhZHkgZXhpc3RzIGZvciB0aGlzIGFjY291bnQuLERlYWRBY2NvdW50AAYEjEJlbmVmaWNpYXJ5IGFjY291bnQgbXVzdCBwcmUtZXhpc3QuPFRvb01hbnlSZXNlcnZlcwAHBLhOdW1iZXIgb2YgbmFtZWQgcmVzZXJ2ZXMgZXhjZWVkIGBNYXhSZXNlcnZlc2AuMFRvb01hbnlIb2xkcwAIBPhOdW1iZXIgb2YgaG9sZHMgZXhjZWVkIGBWYXJpYW50Q291bnRPZjxUOjpSdW50aW1lSG9sZFJlYXNvbj5gLjhUb29NYW55RnJlZXplcwAJBJhOdW1iZXIgb2YgZnJlZXplcyBleGNlZWQgYE1heEZyZWV6ZXNgLkxJc3N1YW5jZURlYWN0aXZhdGVkAAoEAQFUaGUgaXNzdWFuY2UgY2Fubm90IGJlIG1vZGlmaWVkIHNpbmNlIGl0IGlzIGFscmVhZHkgZGVhY3RpdmF0ZWQuJERlbHRhWmVybwALBGRUaGUgZGVsdGEgY2Fubm90IGJlIHplcm8uBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LhEICGhwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudCBSZWxlYXNlcwABCCRWMUFuY2llbnQAAAAIVjIAAQAAFQgMgHBhbGxldF90cmFuc2FjdGlvbl9tdWx0aV9wYXltZW50GHBhbGxldBRFcnJvcgQEVAABMExVbnN1cHBvcnRlZEN1cnJlbmN5AAAEjFNlbGVjdGVkIGN1cnJlbmN5IGlzIG5vdCBzdXBwb3J0ZWQuLFplcm9CYWxhbmNlAAEEjEFjY291bnQgYmFsYW5jZSBzaG91bGQgYmUgbm9uLXplcm8uPEFscmVhZHlBY2NlcHRlZAACBNxDdXJyZW5jeSBpcyBhbHJlYWR5IGluIHRoZSBsaXN0IG9mIGFjY2VwdGVkIGN1cnJlbmNpZXMuTENvcmVBc3NldE5vdEFsbG93ZWQAAwRtAUl0IGlzIG5vdCBhbGxvd2VkIHRvIGFkZCBDb3JlIEFzc2V0IGFzIGFjY2VwdGVkIGN1cnJlbmN5LiBDb3JlIGFzc2V0IGlzIGFjY2VwdGVkIGJ5IGRlc2lnbi4kWmVyb1ByaWNlAAQEeEZhbGxiYWNrIHByaWNlIGNhbm5vdCBiZSB6ZXJvLlRGYWxsYmFja1ByaWNlTm90Rm91bmQABQR0RmFsbGJhY2sgcHJpY2Ugd2FzIG5vdCBmb3VuZC4gT3ZlcmZsb3cABgQ0TWF0aCBvdmVyZmxvd1BFdm1BY2NvdW50Tm90QWxsb3dlZAAHBPxJdCBpcyBub3QgYWxsb3dlZCB0byBjaGFuZ2UgcGF5bWVudCBjdXJyZW5jeSBvZiBhbiBFVk0gYWNjb3VudC5ARXZtUGVybWl0RXhwaXJlZAAIBExFVk0gcGVybWl0IGV4cGlyZWQuQEV2bVBlcm1pdEludmFsaWQACQRYRVZNIHBlcm1pdCBpcyBpbnZhbGlkLmxFdm1QZXJtaXRDYWxsRXhlY3V0aW9uRXJyb3IACgRcRVZNIHBlcm1pdCBjYWxsIGZhaWxlZC5QRXZtUGVybWl0UnVubmVyRXJyb3IACwRcRVZNIHBlcm1pdCBjYWxsIGZhaWxlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuGQgIPHBhbGxldF90cmVhc3VyeSBQcm9wb3NhbAgkQWNjb3VudElkAQAcQmFsYW5jZQEYABABIHByb3Bvc2VyAAEkQWNjb3VudElkAAEUdmFsdWUYARxCYWxhbmNlAAEsYmVuZWZpY2lhcnkAASRBY2NvdW50SWQAARBib25kGAEcQmFsYW5jZQAAHQgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEQBFMAAAQAWQMBGFZlYzxUPgAAIQgIPHBhbGxldF90cmVhc3VyeSxTcGVuZFN0YXR1cxQkQXNzZXRLaW5kAZAwQXNzZXRCYWxhbmNlARgsQmVuZWZpY2lhcnkBACxCbG9ja051bWJlcgEQJFBheW1lbnRJZAGQABgBKGFzc2V0X2tpbmSQASRBc3NldEtpbmQAARhhbW91bnQYATBBc3NldEJhbGFuY2UAASxiZW5lZmljaWFyeQABLEJlbmVmaWNpYXJ5AAEodmFsaWRfZnJvbRABLEJsb2NrTnVtYmVyAAEkZXhwaXJlX2F0EAEsQmxvY2tOdW1iZXIAARhzdGF0dXMlCAFcUGF5bWVudFN0YXRlPFBheW1lbnRJZD4AACUICDxwYWxsZXRfdHJlYXN1cnkwUGF5bWVudFN0YXRlBAhJZAGQAQwcUGVuZGluZwAAACRBdHRlbXB0ZWQEAQhpZJABCElkAAEAGEZhaWxlZAACAAApCAg0ZnJhbWVfc3VwcG9ydCBQYWxsZXRJZAAABAD9AQEcW3U4OyA4XQAALQgMPHBhbGxldF90cmVhc3VyeRhwYWxsZXQURXJyb3IIBFQABEkAASwwSW52YWxpZEluZGV4AAAErE5vIHByb3Bvc2FsLCBib3VudHkgb3Igc3BlbmQgYXQgdGhhdCBpbmRleC5AVG9vTWFueUFwcHJvdmFscwABBIBUb28gbWFueSBhcHByb3ZhbHMgaW4gdGhlIHF1ZXVlLlhJbnN1ZmZpY2llbnRQZXJtaXNzaW9uAAIIRQFUaGUgc3BlbmQgb3JpZ2luIGlzIHZhbGlkIGJ1dCB0aGUgYW1vdW50IGl0IGlzIGFsbG93ZWQgdG8gc3BlbmQgaXMgbG93ZXIgdGhhbiB0aGVMYW1vdW50IHRvIGJlIHNwZW50LkxQcm9wb3NhbE5vdEFwcHJvdmVkAAMEfFByb3Bvc2FsIGhhcyBub3QgYmVlbiBhcHByb3ZlZC5YRmFpbGVkVG9Db252ZXJ0QmFsYW5jZQAEBFEBVGhlIGJhbGFuY2Ugb2YgdGhlIGFzc2V0IGtpbmQgaXMgbm90IGNvbnZlcnRpYmxlIHRvIHRoZSBiYWxhbmNlIG9mIHRoZSBuYXRpdmUgYXNzZXQuMFNwZW5kRXhwaXJlZAAFBLBUaGUgc3BlbmQgaGFzIGV4cGlyZWQgYW5kIGNhbm5vdCBiZSBjbGFpbWVkLixFYXJseVBheW91dAAGBKRUaGUgc3BlbmQgaXMgbm90IHlldCBlbGlnaWJsZSBmb3IgcGF5b3V0LkBBbHJlYWR5QXR0ZW1wdGVkAAcEnFRoZSBwYXltZW50IGhhcyBhbHJlYWR5IGJlZW4gYXR0ZW1wdGVkLixQYXlvdXRFcnJvcgAIBMxUaGVyZSB3YXMgc29tZSBpc3N1ZSB3aXRoIHRoZSBtZWNoYW5pc20gb2YgcGF5bWVudC4wTm90QXR0ZW1wdGVkAAkEpFRoZSBwYXlvdXQgd2FzIG5vdCB5ZXQgYXR0ZW1wdGVkL2NsYWltZWQuMEluY29uY2x1c2l2ZQAKBMRUaGUgcGF5bWVudCBoYXMgbmVpdGhlciBmYWlsZWQgbm9yIHN1Y2NlZWRlZCB5ZXQuBHhFcnJvciBmb3IgdGhlIHRyZWFzdXJ5IHBhbGxldC4xCAw4cGFsbGV0X3V0aWxpdHkYcGFsbGV0FEVycm9yBARUAAEEMFRvb01hbnlDYWxscwAABFxUb28gbWFueSBjYWxscyBiYXRjaGVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC41CAg8cGFsbGV0X3ByZWltYWdlQE9sZFJlcXVlc3RTdGF0dXMIJEFjY291bnRJZAEAHEJhbGFuY2UBGAEILFVucmVxdWVzdGVkCAEcZGVwb3NpdDkIAVAoQWNjb3VudElkLCBCYWxhbmNlKQABDGxlbhABDHUzMgAAACRSZXF1ZXN0ZWQMARxkZXBvc2l0PQgBcE9wdGlvbjwoQWNjb3VudElkLCBCYWxhbmNlKT4AARRjb3VudBABDHUzMgABDGxlblkBASxPcHRpb248dTMyPgABAAA5CAAABAgAGAA9CAQYT3B0aW9uBARUATkIAQgQTm9uZQAAABBTb21lBAA5CAAAAQAAQQgIPHBhbGxldF9wcmVpbWFnZTRSZXF1ZXN0U3RhdHVzCCRBY2NvdW50SWQBABhUaWNrZXQBRQgBCCxVbnJlcXVlc3RlZAgBGHRpY2tldEkIAUwoQWNjb3VudElkLCBUaWNrZXQpAAEMbGVuEAEMdTMyAAAAJFJlcXVlc3RlZAwBMG1heWJlX3RpY2tldE0IAWxPcHRpb248KEFjY291bnRJZCwgVGlja2V0KT4AARRjb3VudBABDHUzMgABJG1heWJlX2xlblkBASxPcHRpb248dTMyPgABAABFCBQ0ZnJhbWVfc3VwcG9ydBh0cmFpdHMYdG9rZW5zIGZ1bmdpYmxlREhvbGRDb25zaWRlcmF0aW9uFARBAARGAARSAAREAAhGcAAABAAYAShGOjpCYWxhbmNlAABJCAAABAgARQgATQgEGE9wdGlvbgQEVAFJCAEIEE5vbmUAAAAQU29tZQQASQgAAAEAAFEIAAAECDQQAFUIDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAWQgMPHBhbGxldF9wcmVpbWFnZRhwYWxsZXQURXJyb3IEBFQAASAYVG9vQmlnAAAEoFByZWltYWdlIGlzIHRvbyBsYXJnZSB0byBzdG9yZSBvbi1jaGFpbi4wQWxyZWFkeU5vdGVkAAEEpFByZWltYWdlIGhhcyBhbHJlYWR5IGJlZW4gbm90ZWQgb24tY2hhaW4uNE5vdEF1dGhvcml6ZWQAAgTIVGhlIHVzZXIgaXMgbm90IGF1dGhvcml6ZWQgdG8gcGVyZm9ybSB0aGlzIGFjdGlvbi4gTm90Tm90ZWQAAwT8VGhlIHByZWltYWdlIGNhbm5vdCBiZSByZW1vdmVkIHNpbmNlIGl0IGhhcyBub3QgeWV0IGJlZW4gbm90ZWQuJFJlcXVlc3RlZAAEBAkBQSBwcmVpbWFnZSBtYXkgbm90IGJlIHJlbW92ZWQgd2hlbiB0aGVyZSBhcmUgb3V0c3RhbmRpbmcgcmVxdWVzdHMuME5vdFJlcXVlc3RlZAAFBC0BVGhlIHByZWltYWdlIHJlcXVlc3QgY2Fubm90IGJlIHJlbW92ZWQgc2luY2Ugbm8gb3V0c3RhbmRpbmcgcmVxdWVzdHMgZXhpc3QuHFRvb01hbnkABgRVAU1vcmUgdGhhbiBgTUFYX0hBU0hfVVBHUkFERV9CVUxLX0NPVU5UYCBoYXNoZXMgd2VyZSByZXF1ZXN0ZWQgdG8gYmUgdXBncmFkZWQgYXQgb25jZS4YVG9vRmV3AAcE5FRvbyBmZXcgaGFzaGVzIHdlcmUgcmVxdWVzdGVkIHRvIGJlIHVwZ3JhZGVkIChpLmUuIHplcm8pLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5dCAAABAhhCHEIAGEIDDxwYWxsZXRfaWRlbnRpdHkUdHlwZXMwUmVnaXN0cmF0aW9uDBxCYWxhbmNlARg0TWF4SnVkZ2VtZW50cwAwSWRlbnRpdHlJbmZvAdEBAAwBKGp1ZGdlbWVudHNlCAH8Qm91bmRlZFZlYzwoUmVnaXN0cmFySW5kZXgsIEp1ZGdlbWVudDxCYWxhbmNlPiksIE1heEp1ZGdlbWVudHM+AAEcZGVwb3NpdBgBHEJhbGFuY2UAARBpbmZv0QEBMElkZW50aXR5SW5mbwAAZQgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFpCARTAAAEAG0IARhWZWM8VD4AAGkIAAAECBBpAgBtCAAAAmkIAHEIBBhPcHRpb24EBFQBpAEIEE5vbmUAAAAQU29tZQQApAAAAQAAdQgAAAQIGHkIAHkIDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBAARTAAAEADEBARhWZWM8VD4AAH0IDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBgQgEUwAABACJCAEYVmVjPFQ+AACBCAQYT3B0aW9uBARUAYUIAQgQTm9uZQAAABBTb21lBACFCAAAAQAAhQgMPHBhbGxldF9pZGVudGl0eRR0eXBlczRSZWdpc3RyYXJJbmZvDBxCYWxhbmNlARgkQWNjb3VudElkAQAcSWRGaWVsZAEwAAwBHGFjY291bnQAASRBY2NvdW50SWQAAQxmZWUYARxCYWxhbmNlAAEYZmllbGRzMAEcSWRGaWVsZAAAiQgAAAKBCACNCAw8cGFsbGV0X2lkZW50aXR5FHR5cGVzTEF1dGhvcml0eVByb3BlcnRpZXMEGFN1ZmZpeAGRCAAIARhzdWZmaXiRCAEYU3VmZml4AAEoYWxsb2NhdGlvbhABKEFsbG9jYXRpb24AAJEIDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAlQgAAAQIABAAmQgMPHBhbGxldF9pZGVudGl0eRhwYWxsZXQURXJyb3IEBFQAAWhIVG9vTWFueVN1YkFjY291bnRzAAAEXFRvbyBtYW55IHN1YnMtYWNjb3VudHMuIE5vdEZvdW5kAAEEUEFjY291bnQgaXNuJ3QgZm91bmQuIE5vdE5hbWVkAAIEUEFjY291bnQgaXNuJ3QgbmFtZWQuKEVtcHR5SW5kZXgAAwQwRW1wdHkgaW5kZXguKEZlZUNoYW5nZWQABAQ8RmVlIGlzIGNoYW5nZWQuKE5vSWRlbnRpdHkABQRITm8gaWRlbnRpdHkgZm91bmQuPFN0aWNreUp1ZGdlbWVudAAGBERTdGlja3kganVkZ2VtZW50LjhKdWRnZW1lbnRHaXZlbgAHBEBKdWRnZW1lbnQgZ2l2ZW4uQEludmFsaWRKdWRnZW1lbnQACARISW52YWxpZCBqdWRnZW1lbnQuMEludmFsaWRJbmRleAAJBFRUaGUgaW5kZXggaXMgaW52YWxpZC40SW52YWxpZFRhcmdldAAKBFhUaGUgdGFyZ2V0IGlzIGludmFsaWQuRFRvb01hbnlSZWdpc3RyYXJzAAsE6E1heGltdW0gYW1vdW50IG9mIHJlZ2lzdHJhcnMgcmVhY2hlZC4gQ2Fubm90IGFkZCBhbnkgbW9yZS44QWxyZWFkeUNsYWltZWQADARwQWNjb3VudCBJRCBpcyBhbHJlYWR5IG5hbWVkLhhOb3RTdWIADQRwU2VuZGVyIGlzIG5vdCBhIHN1Yi1hY2NvdW50LiBOb3RPd25lZAAOBIhTdWItYWNjb3VudCBpc24ndCBvd25lZCBieSBzZW5kZXIudEp1ZGdlbWVudEZvckRpZmZlcmVudElkZW50aXR5AA8E0FRoZSBwcm92aWRlZCBqdWRnZW1lbnQgd2FzIGZvciBhIGRpZmZlcmVudCBpZGVudGl0eS5YSnVkZ2VtZW50UGF5bWVudEZhaWxlZAAQBPhFcnJvciB0aGF0IG9jY3VycyB3aGVuIHRoZXJlIGlzIGFuIGlzc3VlIHBheWluZyBmb3IganVkZ2VtZW50LjRJbnZhbGlkU3VmZml4ABEEgFRoZSBwcm92aWRlZCBzdWZmaXggaXMgdG9vIGxvbmcuUE5vdFVzZXJuYW1lQXV0aG9yaXR5ABIE4FRoZSBzZW5kZXIgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGlzc3VlIGEgdXNlcm5hbWUuME5vQWxsb2NhdGlvbgATBMRUaGUgYXV0aG9yaXR5IGNhbm5vdCBhbGxvY2F0ZSBhbnkgbW9yZSB1c2VybmFtZXMuQEludmFsaWRTaWduYXR1cmUAFASoVGhlIHNpZ25hdHVyZSBvbiBhIHVzZXJuYW1lIHdhcyBub3QgdmFsaWQuRFJlcXVpcmVzU2lnbmF0dXJlABUECQFTZXR0aW5nIHRoaXMgdXNlcm5hbWUgcmVxdWlyZXMgYSBzaWduYXR1cmUsIGJ1dCBub25lIHdhcyBwcm92aWRlZC48SW52YWxpZFVzZXJuYW1lABYEsFRoZSB1c2VybmFtZSBkb2VzIG5vdCBtZWV0IHRoZSByZXF1aXJlbWVudHMuNFVzZXJuYW1lVGFrZW4AFwR4VGhlIHVzZXJuYW1lIGlzIGFscmVhZHkgdGFrZW4uKE5vVXNlcm5hbWUAGASYVGhlIHJlcXVlc3RlZCB1c2VybmFtZSBkb2VzIG5vdCBleGlzdC4oTm90RXhwaXJlZAAZBC0BVGhlIHVzZXJuYW1lIGNhbm5vdCBiZSBmb3JjZWZ1bGx5IHJlbW92ZWQgYmVjYXVzZSBpdCBjYW4gc3RpbGwgYmUgYWNjZXB0ZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lp0IDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBoQgEUwAABAClCAEYVmVjPFQ+AAChCAAABAwQDQEAAKUIAAACoQgAqQgAAAQIrQgYAK0IDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBAARTAAAEADEBARhWZWM8VD4AALEIDEBwYWxsZXRfZGVtb2NyYWN5FHR5cGVzOFJlZmVyZW5kdW1JbmZvDCxCbG9ja051bWJlcgEQIFByb3Bvc2FsAQ0BHEJhbGFuY2UBGAEIHE9uZ29pbmcEALUIAcBSZWZlcmVuZHVtU3RhdHVzPEJsb2NrTnVtYmVyLCBQcm9wb3NhbCwgQmFsYW5jZT4AAAAgRmluaXNoZWQIASBhcHByb3ZlZCABEGJvb2wAAQxlbmQQASxCbG9ja051bWJlcgABAAC1CAxAcGFsbGV0X2RlbW9jcmFjeRR0eXBlc0BSZWZlcmVuZHVtU3RhdHVzDCxCbG9ja051bWJlcgEQIFByb3Bvc2FsAQ0BHEJhbGFuY2UBGAAUAQxlbmQQASxCbG9ja051bWJlcgABIHByb3Bvc2FsDQEBIFByb3Bvc2FsAAEkdGhyZXNob2xkrAE0Vm90ZVRocmVzaG9sZAABFGRlbGF5EAEsQmxvY2tOdW1iZXIAARR0YWxsebkIAThUYWxseTxCYWxhbmNlPgAAuQgMQHBhbGxldF9kZW1vY3JhY3kUdHlwZXMUVGFsbHkEHEJhbGFuY2UBGAAMARBheWVzGAEcQmFsYW5jZQABEG5heXMYARxCYWxhbmNlAAEcdHVybm91dBgBHEJhbGFuY2UAAL0IDEBwYWxsZXRfZGVtb2NyYWN5EHZvdGUYVm90aW5nEBxCYWxhbmNlARgkQWNjb3VudElkAQAsQmxvY2tOdW1iZXIBECBNYXhWb3RlcwABCBhEaXJlY3QMARR2b3Rlc8EIAfRCb3VuZGVkVmVjPChSZWZlcmVuZHVtSW5kZXgsIEFjY291bnRWb3RlPEJhbGFuY2U+KSwgTWF4Vm90ZXM+AAEsZGVsZWdhdGlvbnPNCAFQRGVsZWdhdGlvbnM8QmFsYW5jZT4AARRwcmlvctEIAXxQcmlvckxvY2s8QmxvY2tOdW1iZXIsIEJhbGFuY2U+AAAAKERlbGVnYXRpbmcUARxiYWxhbmNlGAEcQmFsYW5jZQABGHRhcmdldAABJEFjY291bnRJZAABKGNvbnZpY3Rpb26BAgEoQ29udmljdGlvbgABLGRlbGVnYXRpb25zzQgBUERlbGVnYXRpb25zPEJhbGFuY2U+AAEUcHJpb3LRCAF8UHJpb3JMb2NrPEJsb2NrTnVtYmVyLCBCYWxhbmNlPgABAADBCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAcUIBFMAAAQAyQgBGFZlYzxUPgAAxQgAAAQIELAAyQgAAALFCADNCAxAcGFsbGV0X2RlbW9jcmFjeRR0eXBlcyxEZWxlZ2F0aW9ucwQcQmFsYW5jZQEYAAgBFHZvdGVzGAEcQmFsYW5jZQABHGNhcGl0YWwYARxCYWxhbmNlAADRCAxAcGFsbGV0X2RlbW9jcmFjeRB2b3RlJFByaW9yTG9jawgsQmxvY2tOdW1iZXIBEBxCYWxhbmNlARgACAAQASxCbG9ja051bWJlcgAAGAEcQmFsYW5jZQAA1QgAAAQIDQGsANkIAAAECBCtCADdCAxAcGFsbGV0X2RlbW9jcmFjeRhwYWxsZXQURXJyb3IEBFQAAWAgVmFsdWVMb3cAAAQ0VmFsdWUgdG9vIGxvdzxQcm9wb3NhbE1pc3NpbmcAAQRcUHJvcG9zYWwgZG9lcyBub3QgZXhpc3Q8QWxyZWFkeUNhbmNlbGVkAAIElENhbm5vdCBjYW5jZWwgdGhlIHNhbWUgcHJvcG9zYWwgdHdpY2VERHVwbGljYXRlUHJvcG9zYWwAAwRUUHJvcG9zYWwgYWxyZWFkeSBtYWRlTFByb3Bvc2FsQmxhY2tsaXN0ZWQABARoUHJvcG9zYWwgc3RpbGwgYmxhY2tsaXN0ZWRETm90U2ltcGxlTWFqb3JpdHkABQSoTmV4dCBleHRlcm5hbCBwcm9wb3NhbCBub3Qgc2ltcGxlIG1ham9yaXR5LEludmFsaWRIYXNoAAYEMEludmFsaWQgaGFzaChOb1Byb3Bvc2FsAAcEUE5vIGV4dGVybmFsIHByb3Bvc2FsNEFscmVhZHlWZXRvZWQACASYSWRlbnRpdHkgbWF5IG5vdCB2ZXRvIGEgcHJvcG9zYWwgdHdpY2VEUmVmZXJlbmR1bUludmFsaWQACQSEVm90ZSBnaXZlbiBmb3IgaW52YWxpZCByZWZlcmVuZHVtLE5vbmVXYWl0aW5nAAoEUE5vIHByb3Bvc2FscyB3YWl0aW5nIE5vdFZvdGVyAAsExFRoZSBnaXZlbiBhY2NvdW50IGRpZCBub3Qgdm90ZSBvbiB0aGUgcmVmZXJlbmR1bS4wTm9QZXJtaXNzaW9uAAwEyFRoZSBhY3RvciBoYXMgbm8gcGVybWlzc2lvbiB0byBjb25kdWN0IHRoZSBhY3Rpb24uREFscmVhZHlEZWxlZ2F0aW5nAA0EiFRoZSBhY2NvdW50IGlzIGFscmVhZHkgZGVsZWdhdGluZy5ESW5zdWZmaWNpZW50RnVuZHMADgT8VG9vIGhpZ2ggYSBiYWxhbmNlIHdhcyBwcm92aWRlZCB0aGF0IHRoZSBhY2NvdW50IGNhbm5vdCBhZmZvcmQuNE5vdERlbGVnYXRpbmcADwSgVGhlIGFjY291bnQgaXMgbm90IGN1cnJlbnRseSBkZWxlZ2F0aW5nLihWb3Rlc0V4aXN0ABAIVQFUaGUgYWNjb3VudCBjdXJyZW50bHkgaGFzIHZvdGVzIGF0dGFjaGVkIHRvIGl0IGFuZCB0aGUgb3BlcmF0aW9uIGNhbm5vdCBzdWNjZWVkIHVudGls6HRoZXNlIGFyZSByZW1vdmVkLCBlaXRoZXIgdGhyb3VnaCBgdW52b3RlYCBvciBgcmVhcF92b3RlYC5ESW5zdGFudE5vdEFsbG93ZWQAEQTYVGhlIGluc3RhbnQgcmVmZXJlbmR1bSBvcmlnaW4gaXMgY3VycmVudGx5IGRpc2FsbG93ZWQuIE5vbnNlbnNlABIElERlbGVnYXRpb24gdG8gb25lc2VsZiBtYWtlcyBubyBzZW5zZS48V3JvbmdVcHBlckJvdW5kABMEUEludmFsaWQgdXBwZXIgYm91bmQuPE1heFZvdGVzUmVhY2hlZAAUBIBNYXhpbXVtIG51bWJlciBvZiB2b3RlcyByZWFjaGVkLhxUb29NYW55ABUEgE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHJlYWNoZWQuPFZvdGluZ1BlcmlvZExvdwAWBFRWb3RpbmcgcGVyaW9kIHRvbyBsb3dAUHJlaW1hZ2VOb3RFeGlzdAAXBHBUaGUgcHJlaW1hZ2UgZG9lcyBub3QgZXhpc3QuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LuEIDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBNARTAAAEAMkBARhWZWM8VD4AAOUICERwYWxsZXRfY29sbGVjdGl2ZRRWb3RlcwgkQWNjb3VudElkAQAsQmxvY2tOdW1iZXIBEAAUARRpbmRleBABNFByb3Bvc2FsSW5kZXgAASR0aHJlc2hvbGQQASxNZW1iZXJDb3VudAABEGF5ZXMxAQE4VmVjPEFjY291bnRJZD4AARBuYXlzMQEBOFZlYzxBY2NvdW50SWQ+AAEMZW5kEAEsQmxvY2tOdW1iZXIAAOkIDERwYWxsZXRfY29sbGVjdGl2ZRhwYWxsZXQURXJyb3IIBFQABEkAASwkTm90TWVtYmVyAAAEXEFjY291bnQgaXMgbm90IGEgbWVtYmVyRER1cGxpY2F0ZVByb3Bvc2FsAAEEfER1cGxpY2F0ZSBwcm9wb3NhbHMgbm90IGFsbG93ZWQ8UHJvcG9zYWxNaXNzaW5nAAIETFByb3Bvc2FsIG11c3QgZXhpc3QoV3JvbmdJbmRleAADBEBNaXNtYXRjaGVkIGluZGV4NER1cGxpY2F0ZVZvdGUABARYRHVwbGljYXRlIHZvdGUgaWdub3JlZEhBbHJlYWR5SW5pdGlhbGl6ZWQABQSATWVtYmVycyBhcmUgYWxyZWFkeSBpbml0aWFsaXplZCEgVG9vRWFybHkABgQBAVRoZSBjbG9zZSBjYWxsIHdhcyBtYWRlIHRvbyBlYXJseSwgYmVmb3JlIHRoZSBlbmQgb2YgdGhlIHZvdGluZy5AVG9vTWFueVByb3Bvc2FscwAHBPxUaGVyZSBjYW4gb25seSBiZSBhIG1heGltdW0gb2YgYE1heFByb3Bvc2Fsc2AgYWN0aXZlIHByb3Bvc2Fscy5MV3JvbmdQcm9wb3NhbFdlaWdodAAIBNBUaGUgZ2l2ZW4gd2VpZ2h0IGJvdW5kIGZvciB0aGUgcHJvcG9zYWwgd2FzIHRvbyBsb3cuTFdyb25nUHJvcG9zYWxMZW5ndGgACQTQVGhlIGdpdmVuIGxlbmd0aCBib3VuZCBmb3IgdGhlIHByb3Bvc2FsIHdhcyB0b28gbG93LlRQcmltZUFjY291bnROb3RNZW1iZXIACgR0UHJpbWUgYWNjb3VudCBpcyBub3QgYSBtZW1iZXIEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu7QgAAAQI8QgYAPEIDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQB9QgEUwAABAD5CAEYVmVjPFQ+AAD1CAgwcGFsbGV0X3Byb3h5PFByb3h5RGVmaW5pdGlvbgwkQWNjb3VudElkAQAkUHJveHlUeXBlAcQsQmxvY2tOdW1iZXIBEAAMASBkZWxlZ2F0ZQABJEFjY291bnRJZAABKHByb3h5X3R5cGXEASRQcm94eVR5cGUAARRkZWxheRABLEJsb2NrTnVtYmVyAAD5CAAAAvUIAP0IAAAECAEJGAABCQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQUJBFMAAAQACQkBGFZlYzxUPgAABQkIMHBhbGxldF9wcm94eTBBbm5vdW5jZW1lbnQMJEFjY291bnRJZAEAEEhhc2gBNCxCbG9ja051bWJlcgEQAAwBEHJlYWwAASRBY2NvdW50SWQAASRjYWxsX2hhc2g0ARBIYXNoAAEYaGVpZ2h0EAEsQmxvY2tOdW1iZXIAAAkJAAACBQkADQkMMHBhbGxldF9wcm94eRhwYWxsZXQURXJyb3IEBFQAASAcVG9vTWFueQAABCEBVGhlcmUgYXJlIHRvbyBtYW55IHByb3hpZXMgcmVnaXN0ZXJlZCBvciB0b28gbWFueSBhbm5vdW5jZW1lbnRzIHBlbmRpbmcuIE5vdEZvdW5kAAEEdFByb3h5IHJlZ2lzdHJhdGlvbiBub3QgZm91bmQuIE5vdFByb3h5AAIEzFNlbmRlciBpcyBub3QgYSBwcm94eSBvZiB0aGUgYWNjb3VudCB0byBiZSBwcm94aWVkLixVbnByb3h5YWJsZQADBCEBQSBjYWxsIHdoaWNoIGlzIGluY29tcGF0aWJsZSB3aXRoIHRoZSBwcm94eSB0eXBlJ3MgZmlsdGVyIHdhcyBhdHRlbXB0ZWQuJER1cGxpY2F0ZQAEBGxBY2NvdW50IGlzIGFscmVhZHkgYSBwcm94eS4wTm9QZXJtaXNzaW9uAAUEFQFDYWxsIG1heSBub3QgYmUgbWFkZSBieSBwcm94eSBiZWNhdXNlIGl0IG1heSBlc2NhbGF0ZSBpdHMgcHJpdmlsZWdlcy4sVW5hbm5vdW5jZWQABgTQQW5ub3VuY2VtZW50LCBpZiBtYWRlIGF0IGFsbCwgd2FzIG1hZGUgdG9vIHJlY2VudGx5LixOb1NlbGZQcm94eQAHBGRDYW5ub3QgYWRkIHNlbGYgYXMgcHJveHkuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LhEJAAAECAAEABUJCDxwYWxsZXRfbXVsdGlzaWcgTXVsdGlzaWcQLEJsb2NrTnVtYmVyARAcQmFsYW5jZQEYJEFjY291bnRJZAEAME1heEFwcHJvdmFscwAAEAEQd2hlbtABWFRpbWVwb2ludDxCbG9ja051bWJlcj4AARxkZXBvc2l0GAEcQmFsYW5jZQABJGRlcG9zaXRvcgABJEFjY291bnRJZAABJGFwcHJvdmFscxkJAYxCb3VuZGVkVmVjPEFjY291bnRJZCwgTWF4QXBwcm92YWxzPgAAGQkMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEABFMAAAQAMQEBGFZlYzxUPgAAHQkMPHBhbGxldF9tdWx0aXNpZxhwYWxsZXQURXJyb3IEBFQAAThATWluaW11bVRocmVzaG9sZAAABHxUaHJlc2hvbGQgbXVzdCBiZSAyIG9yIGdyZWF0ZXIuPEFscmVhZHlBcHByb3ZlZAABBKxDYWxsIGlzIGFscmVhZHkgYXBwcm92ZWQgYnkgdGhpcyBzaWduYXRvcnkuRE5vQXBwcm92YWxzTmVlZGVkAAIEnENhbGwgZG9lc24ndCBuZWVkIGFueSAobW9yZSkgYXBwcm92YWxzLkRUb29GZXdTaWduYXRvcmllcwADBKhUaGVyZSBhcmUgdG9vIGZldyBzaWduYXRvcmllcyBpbiB0aGUgbGlzdC5IVG9vTWFueVNpZ25hdG9yaWVzAAQErFRoZXJlIGFyZSB0b28gbWFueSBzaWduYXRvcmllcyBpbiB0aGUgbGlzdC5UU2lnbmF0b3JpZXNPdXRPZk9yZGVyAAUEDQFUaGUgc2lnbmF0b3JpZXMgd2VyZSBwcm92aWRlZCBvdXQgb2Ygb3JkZXI7IHRoZXkgc2hvdWxkIGJlIG9yZGVyZWQuTFNlbmRlckluU2lnbmF0b3JpZXMABgQNAVRoZSBzZW5kZXIgd2FzIGNvbnRhaW5lZCBpbiB0aGUgb3RoZXIgc2lnbmF0b3JpZXM7IGl0IHNob3VsZG4ndCBiZS4gTm90Rm91bmQABwTcTXVsdGlzaWcgb3BlcmF0aW9uIG5vdCBmb3VuZCB3aGVuIGF0dGVtcHRpbmcgdG8gY2FuY2VsLiBOb3RPd25lcgAIBC0BT25seSB0aGUgYWNjb3VudCB0aGF0IG9yaWdpbmFsbHkgY3JlYXRlZCB0aGUgbXVsdGlzaWcgaXMgYWJsZSB0byBjYW5jZWwgaXQuLE5vVGltZXBvaW50AAkEHQFObyB0aW1lcG9pbnQgd2FzIGdpdmVuLCB5ZXQgdGhlIG11bHRpc2lnIG9wZXJhdGlvbiBpcyBhbHJlYWR5IHVuZGVyd2F5LjhXcm9uZ1RpbWVwb2ludAAKBC0BQSBkaWZmZXJlbnQgdGltZXBvaW50IHdhcyBnaXZlbiB0byB0aGUgbXVsdGlzaWcgb3BlcmF0aW9uIHRoYXQgaXMgdW5kZXJ3YXkuTFVuZXhwZWN0ZWRUaW1lcG9pbnQACwT0QSB0aW1lcG9pbnQgd2FzIGdpdmVuLCB5ZXQgbm8gbXVsdGlzaWcgb3BlcmF0aW9uIGlzIHVuZGVyd2F5LjxNYXhXZWlnaHRUb29Mb3cADATQVGhlIG1heGltdW0gd2VpZ2h0IGluZm9ybWF0aW9uIHByb3ZpZGVkIHdhcyB0b28gbG93LjRBbHJlYWR5U3RvcmVkAA0EoFRoZSBkYXRhIHRvIGJlIHN0b3JlZCBpcyBhbHJlYWR5IHN0b3JlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuIQkMOHBhbGxldF91bmlxdWVzFHR5cGVzRENvbGxlY3Rpb25EZXRhaWxzCCRBY2NvdW50SWQBADhEZXBvc2l0QmFsYW5jZQEYACgBFG93bmVyAAEkQWNjb3VudElkAAEYaXNzdWVyAAEkQWNjb3VudElkAAEUYWRtaW4AASRBY2NvdW50SWQAARxmcmVlemVyAAEkQWNjb3VudElkAAE0dG90YWxfZGVwb3NpdBgBOERlcG9zaXRCYWxhbmNlAAEwZnJlZV9ob2xkaW5nIAEQYm9vbAABFGl0ZW1zEAEMdTMyAAE4aXRlbV9tZXRhZGF0YXMQAQx1MzIAAShhdHRyaWJ1dGVzEAEMdTMyAAEkaXNfZnJvemVuIAEQYm9vbAAAJQkAAAQMABgYACkJDDhwYWxsZXRfdW5pcXVlcxR0eXBlcyxJdGVtRGV0YWlscwgkQWNjb3VudElkAQA4RGVwb3NpdEJhbGFuY2UBGAAQARRvd25lcgABJEFjY291bnRJZAABIGFwcHJvdmVk7AFET3B0aW9uPEFjY291bnRJZD4AASRpc19mcm96ZW4gARBib29sAAEcZGVwb3NpdBgBOERlcG9zaXRCYWxhbmNlAAAtCQw4cGFsbGV0X3VuaXF1ZXMUdHlwZXNIQ29sbGVjdGlvbk1ldGFkYXRhCDhEZXBvc2l0QmFsYW5jZQEYLFN0cmluZ0xpbWl0AAAMARxkZXBvc2l0GAE4RGVwb3NpdEJhbGFuY2UAARBkYXRh2AFsQm91bmRlZFZlYzx1OCwgU3RyaW5nTGltaXQ+AAEkaXNfZnJvemVuIAEQYm9vbAAAMQkMOHBhbGxldF91bmlxdWVzFHR5cGVzMEl0ZW1NZXRhZGF0YQg4RGVwb3NpdEJhbGFuY2UBGCxTdHJpbmdMaW1pdAAADAEcZGVwb3NpdBgBOERlcG9zaXRCYWxhbmNlAAEQZGF0YdgBbEJvdW5kZWRWZWM8dTgsIFN0cmluZ0xpbWl0PgABJGlzX2Zyb3plbiABEGJvb2wAADUJAAAEDBjg5AA5CQAABAjoGAA9CQAABAgY7ABBCQw4cGFsbGV0X3VuaXF1ZXMYcGFsbGV0FEVycm9yCARUAARJAAFIME5vUGVybWlzc2lvbgAABOhUaGUgc2lnbmluZyBhY2NvdW50IGhhcyBubyBwZXJtaXNzaW9uIHRvIGRvIHRoZSBvcGVyYXRpb24uRFVua25vd25Db2xsZWN0aW9uAAEEdFRoZSBnaXZlbiBpdGVtIElEIGlzIHVua25vd24uNEFscmVhZHlFeGlzdHMAAgS4VGhlIGl0ZW0gSUQgaGFzIGFscmVhZHkgYmVlbiB1c2VkIGZvciBhbiBpdGVtLihXcm9uZ093bmVyAAME6FRoZSBvd25lciB0dXJuZWQgb3V0IHRvIGJlIGRpZmZlcmVudCB0byB3aGF0IHdhcyBleHBlY3RlZC4oQmFkV2l0bmVzcwAEBGxJbnZhbGlkIHdpdG5lc3MgZGF0YSBnaXZlbi4USW5Vc2UABQR0VGhlIGl0ZW0gSUQgaXMgYWxyZWFkeSB0YWtlbi4YRnJvemVuAAYEhFRoZSBpdGVtIG9yIGNvbGxlY3Rpb24gaXMgZnJvemVuLjRXcm9uZ0RlbGVnYXRlAAcE9FRoZSBkZWxlZ2F0ZSB0dXJuZWQgb3V0IHRvIGJlIGRpZmZlcmVudCB0byB3aGF0IHdhcyBleHBlY3RlZC4oTm9EZWxlZ2F0ZQAIBHhUaGVyZSBpcyBubyBkZWxlZ2F0ZSBhcHByb3ZlZC4oVW5hcHByb3ZlZAAJBMRObyBhcHByb3ZhbCBleGlzdHMgdGhhdCB3b3VsZCBhbGxvdyB0aGUgdHJhbnNmZXIuKFVuYWNjZXB0ZWQACgQlAVRoZSBuYW1lZCBvd25lciBoYXMgbm90IHNpZ25lZCBvd25lcnNoaXAgb2YgdGhlIGNvbGxlY3Rpb24gaXMgYWNjZXB0YWJsZS4YTG9ja2VkAAsETFRoZSBpdGVtIGlzIGxvY2tlZC5ATWF4U3VwcGx5UmVhY2hlZAAMBGxBbGwgaXRlbXMgaGF2ZSBiZWVuIG1pbnRlZC5MTWF4U3VwcGx5QWxyZWFkeVNldAANBJBUaGUgbWF4IHN1cHBseSBoYXMgYWxyZWFkeSBiZWVuIHNldC5ETWF4U3VwcGx5VG9vU21hbGwADgRBAVRoZSBwcm92aWRlZCBtYXggc3VwcGx5IGlzIGxlc3MgdG8gdGhlIGFtb3VudCBvZiBpdGVtcyBhIGNvbGxlY3Rpb24gYWxyZWFkeSBoYXMuLFVua25vd25JdGVtAA8EdFRoZSBnaXZlbiBpdGVtIElEIGlzIHVua25vd24uKE5vdEZvclNhbGUAEARUSXRlbSBpcyBub3QgZm9yIHNhbGUuJEJpZFRvb0xvdwARBHBUaGUgcHJvdmlkZWQgYmlkIGlzIHRvbyBsb3cuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LkUJAAAECADIAEkJDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcQdm90ZRhWb3RpbmcUHEJhbGFuY2UBGCRBY2NvdW50SWQBACxCbG9ja051bWJlcgEQJFBvbGxJbmRleAEQIE1heFZvdGVzAAEIHENhc3RpbmcEAE0JAchDYXN0aW5nPEJhbGFuY2UsIEJsb2NrTnVtYmVyLCBQb2xsSW5kZXgsIE1heFZvdGVzPgAAAChEZWxlZ2F0aW5nBABlCQGsRGVsZWdhdGluZzxCYWxhbmNlLCBBY2NvdW50SWQsIEJsb2NrTnVtYmVyPgABAABNCQxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nEHZvdGUcQ2FzdGluZxAcQmFsYW5jZQEYLEJsb2NrTnVtYmVyARAkUG9sbEluZGV4ARAgTWF4Vm90ZXMAAAwBFHZvdGVzUQkB3EJvdW5kZWRWZWM8KFBvbGxJbmRleCwgQWNjb3VudFZvdGU8QmFsYW5jZT4pLCBNYXhWb3Rlcz4AASxkZWxlZ2F0aW9uc10JAVBEZWxlZ2F0aW9uczxCYWxhbmNlPgABFHByaW9yYQkBfFByaW9yTG9jazxCbG9ja051bWJlciwgQmFsYW5jZT4AAFEJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBVQkEUwAABABZCQEYVmVjPFQ+AABVCQAABAgQAQEAWQkAAAJVCQBdCQxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nFHR5cGVzLERlbGVnYXRpb25zBBxCYWxhbmNlARgACAEUdm90ZXMYARxCYWxhbmNlAAEcY2FwaXRhbBgBHEJhbGFuY2UAAGEJDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcQdm90ZSRQcmlvckxvY2sILEJsb2NrTnVtYmVyARAcQmFsYW5jZQEYAAgAEAEsQmxvY2tOdW1iZXIAABgBHEJhbGFuY2UAAGUJDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcQdm90ZShEZWxlZ2F0aW5nDBxCYWxhbmNlARgkQWNjb3VudElkAQAsQmxvY2tOdW1iZXIBEAAUARxiYWxhbmNlGAEcQmFsYW5jZQABGHRhcmdldAABJEFjY291bnRJZAABKGNvbnZpY3Rpb27BAgEoQ29udmljdGlvbgABLGRlbGVnYXRpb25zXQkBUERlbGVnYXRpb25zPEJhbGFuY2U+AAEUcHJpb3JhCQF8UHJpb3JMb2NrPEJsb2NrTnVtYmVyLCBCYWxhbmNlPgAAaQkMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFtCQRTAAAEAHEJARhWZWM8VD4AAG0JAAAECMgYAHEJAAACbQkAdQkMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxhwYWxsZXQURXJyb3IIBFQABEkAATAoTm90T25nb2luZwAABFBQb2xsIGlzIG5vdCBvbmdvaW5nLiBOb3RWb3RlcgABBKxUaGUgZ2l2ZW4gYWNjb3VudCBkaWQgbm90IHZvdGUgb24gdGhlIHBvbGwuME5vUGVybWlzc2lvbgACBMhUaGUgYWN0b3IgaGFzIG5vIHBlcm1pc3Npb24gdG8gY29uZHVjdCB0aGUgYWN0aW9uLjxOb1Blcm1pc3Npb25ZZXQAAwRZAVRoZSBhY3RvciBoYXMgbm8gcGVybWlzc2lvbiB0byBjb25kdWN0IHRoZSBhY3Rpb24gcmlnaHQgbm93IGJ1dCB3aWxsIGRvIGluIHRoZSBmdXR1cmUuREFscmVhZHlEZWxlZ2F0aW5nAAQEiFRoZSBhY2NvdW50IGlzIGFscmVhZHkgZGVsZWdhdGluZy40QWxyZWFkeVZvdGluZwAFCFUBVGhlIGFjY291bnQgY3VycmVudGx5IGhhcyB2b3RlcyBhdHRhY2hlZCB0byBpdCBhbmQgdGhlIG9wZXJhdGlvbiBjYW5ub3Qgc3VjY2VlZCB1bnRpbKB0aGVzZSBhcmUgcmVtb3ZlZCB0aHJvdWdoIGByZW1vdmVfdm90ZWAuREluc3VmZmljaWVudEZ1bmRzAAYE/FRvbyBoaWdoIGEgYmFsYW5jZSB3YXMgcHJvdmlkZWQgdGhhdCB0aGUgYWNjb3VudCBjYW5ub3QgYWZmb3JkLjROb3REZWxlZ2F0aW5nAAcEoFRoZSBhY2NvdW50IGlzIG5vdCBjdXJyZW50bHkgZGVsZWdhdGluZy4gTm9uc2Vuc2UACASURGVsZWdhdGlvbiB0byBvbmVzZWxmIG1ha2VzIG5vIHNlbnNlLjxNYXhWb3Rlc1JlYWNoZWQACQSATWF4aW11bSBudW1iZXIgb2Ygdm90ZXMgcmVhY2hlZC4sQ2xhc3NOZWVkZWQACgQ5AVRoZSBjbGFzcyBtdXN0IGJlIHN1cHBsaWVkIHNpbmNlIGl0IGlzIG5vdCBlYXNpbHkgZGV0ZXJtaW5hYmxlIGZyb20gdGhlIHN0YXRlLiBCYWRDbGFzcwALBIRUaGUgY2xhc3MgSUQgc3VwcGxpZWQgaXMgaW52YWxpZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQueQkMQHBhbGxldF9yZWZlcmVuZGEUdHlwZXM4UmVmZXJlbmR1bUluZm8gHFRyYWNrSWQByDRSdW50aW1lT3JpZ2luAWUBGE1vbWVudAEQEENhbGwBDQEcQmFsYW5jZQEYFFRhbGx5AVUGJEFjY291bnRJZAEAPFNjaGVkdWxlQWRkcmVzcwFNAwEYHE9uZ29pbmcEAH0JAY0BUmVmZXJlbmR1bVN0YXR1czxUcmFja0lkLCBSdW50aW1lT3JpZ2luLCBNb21lbnQsIENhbGwsIEJhbGFuY2UsIFRhbGx5LApBY2NvdW50SWQsIFNjaGVkdWxlQWRkcmVzcyw+AAAAIEFwcHJvdmVkDAAQARhNb21lbnQAAIUJAYxPcHRpb248RGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+PgAAhQkBjE9wdGlvbjxEZXBvc2l0PEFjY291bnRJZCwgQmFsYW5jZT4+AAEAIFJlamVjdGVkDAAQARhNb21lbnQAAIUJAYxPcHRpb248RGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+PgAAhQkBjE9wdGlvbjxEZXBvc2l0PEFjY291bnRJZCwgQmFsYW5jZT4+AAIAJENhbmNlbGxlZAwAEAEYTW9tZW50AACFCQGMT3B0aW9uPERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPj4AAIUJAYxPcHRpb248RGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+PgADACBUaW1lZE91dAwAEAEYTW9tZW50AACFCQGMT3B0aW9uPERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPj4AAIUJAYxPcHRpb248RGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+PgAEABhLaWxsZWQEABABGE1vbWVudAAFAAB9CQxAcGFsbGV0X3JlZmVyZW5kYRR0eXBlc0BSZWZlcmVuZHVtU3RhdHVzIBxUcmFja0lkAcg0UnVudGltZU9yaWdpbgFlARhNb21lbnQBEBBDYWxsAQ0BHEJhbGFuY2UBGBRUYWxseQFVBiRBY2NvdW50SWQBADxTY2hlZHVsZUFkZHJlc3MBTQMALAEUdHJhY2vIARxUcmFja0lkAAEYb3JpZ2luZQEBNFJ1bnRpbWVPcmlnaW4AASBwcm9wb3NhbA0BARBDYWxsAAEkZW5hY3RtZW50zQIBUERpc3BhdGNoVGltZTxNb21lbnQ+AAEkc3VibWl0dGVkEAEYTW9tZW50AAFIc3VibWlzc2lvbl9kZXBvc2l0gQkBbERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPgABQGRlY2lzaW9uX2RlcG9zaXSFCQGMT3B0aW9uPERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPj4AASBkZWNpZGluZ4kJAXhPcHRpb248RGVjaWRpbmdTdGF0dXM8TW9tZW50Pj4AARR0YWxseVUGARRUYWxseQABIGluX3F1ZXVlIAEQYm9vbAABFGFsYXJtkQkBhE9wdGlvbjwoTW9tZW50LCBTY2hlZHVsZUFkZHJlc3MpPgAAgQkMQHBhbGxldF9yZWZlcmVuZGEUdHlwZXMcRGVwb3NpdAgkQWNjb3VudElkAQAcQmFsYW5jZQEYAAgBDHdobwABJEFjY291bnRJZAABGGFtb3VudBgBHEJhbGFuY2UAAIUJBBhPcHRpb24EBFQBgQkBCBBOb25lAAAAEFNvbWUEAIEJAAABAACJCQQYT3B0aW9uBARUAY0JAQgQTm9uZQAAABBTb21lBACNCQAAAQAAjQkMQHBhbGxldF9yZWZlcmVuZGEUdHlwZXM4RGVjaWRpbmdTdGF0dXMELEJsb2NrTnVtYmVyARAACAEUc2luY2UQASxCbG9ja051bWJlcgABKGNvbmZpcm1pbmdZAQFMT3B0aW9uPEJsb2NrTnVtYmVyPgAAkQkEGE9wdGlvbgQEVAGVCQEIEE5vbmUAAAAQU29tZQQAlQkAAAEAAJUJAAAECBBNAwCZCQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAdEDBFMAAAQAMQYBGFZlYzxUPgAAnQkAAAKhCQChCQAABAjIpQkApQkMQHBhbGxldF9yZWZlcmVuZGEUdHlwZXMkVHJhY2tJbmZvCBxCYWxhbmNlARgYTW9tZW50ARAAJAEQbmFtZREHATAmJ3N0YXRpYyBzdHIAATBtYXhfZGVjaWRpbmcQAQx1MzIAAUBkZWNpc2lvbl9kZXBvc2l0GAEcQmFsYW5jZQABOHByZXBhcmVfcGVyaW9kEAEYTW9tZW50AAE8ZGVjaXNpb25fcGVyaW9kEAEYTW9tZW50AAE4Y29uZmlybV9wZXJpb2QQARhNb21lbnQAAVBtaW5fZW5hY3RtZW50X3BlcmlvZBABGE1vbWVudAABMG1pbl9hcHByb3ZhbKkJARRDdXJ2ZQABLG1pbl9zdXBwb3J0qQkBFEN1cnZlAACpCQxAcGFsbGV0X3JlZmVyZW5kYRR0eXBlcxRDdXJ2ZQABDEBMaW5lYXJEZWNyZWFzaW5nDAEYbGVuZ3Ro8QMBHFBlcmJpbGwAARRmbG9vcvEDARxQZXJiaWxsAAEQY2VpbPEDARxQZXJiaWxsAAAARFN0ZXBwZWREZWNyZWFzaW5nEAEUYmVnaW7xAwEcUGVyYmlsbAABDGVuZPEDARxQZXJiaWxsAAEQc3RlcPEDARxQZXJiaWxsAAEYcGVyaW9k8QMBHFBlcmJpbGwAAQAoUmVjaXByb2NhbAwBGGZhY3Rvcq0JASBGaXhlZEk2NAABIHhfb2Zmc2V0rQkBIEZpeGVkSTY0AAEgeV9vZmZzZXStCQEgRml4ZWRJNjQAAgAArQkMNHNwX2FyaXRobWV0aWMsZml4ZWRfcG9pbnQgRml4ZWRJNjQAAAQAsQkBDGk2NAAAsQkAAAUMALUJDEBwYWxsZXRfcmVmZXJlbmRhGHBhbGxldBRFcnJvcggEVAAESQABOChOb3RPbmdvaW5nAAAEaFJlZmVyZW5kdW0gaXMgbm90IG9uZ29pbmcuKEhhc0RlcG9zaXQAAQS4UmVmZXJlbmR1bSdzIGRlY2lzaW9uIGRlcG9zaXQgaXMgYWxyZWFkeSBwYWlkLiBCYWRUcmFjawACBJxUaGUgdHJhY2sgaWRlbnRpZmllciBnaXZlbiB3YXMgaW52YWxpZC4QRnVsbAADBDEBVGhlcmUgYXJlIGFscmVhZHkgYSBmdWxsIGNvbXBsZW1lbnQgb2YgcmVmZXJlbmRhIGluIHByb2dyZXNzIGZvciB0aGlzIHRyYWNrLihRdWV1ZUVtcHR5AAQEgFRoZSBxdWV1ZSBvZiB0aGUgdHJhY2sgaXMgZW1wdHkuNEJhZFJlZmVyZW5kdW0ABQTkVGhlIHJlZmVyZW5kdW0gaW5kZXggcHJvdmlkZWQgaXMgaW52YWxpZCBpbiB0aGlzIGNvbnRleHQuLE5vdGhpbmdUb0RvAAYErFRoZXJlIHdhcyBub3RoaW5nIHRvIGRvIGluIHRoZSBhZHZhbmNlbWVudC4cTm9UcmFjawAHBKBObyB0cmFjayBleGlzdHMgZm9yIHRoZSBwcm9wb3NhbCBvcmlnaW4uKFVuZmluaXNoZWQACAQBAUFueSBkZXBvc2l0IGNhbm5vdCBiZSByZWZ1bmRlZCB1bnRpbCBhZnRlciB0aGUgZGVjaXNpb24gaXMgb3Zlci4wTm9QZXJtaXNzaW9uAAkEqFRoZSBkZXBvc2l0IHJlZnVuZGVyIGlzIG5vdCB0aGUgZGVwb3NpdG9yLiROb0RlcG9zaXQACgTMVGhlIGRlcG9zaXQgY2Fubm90IGJlIHJlZnVuZGVkIHNpbmNlIG5vbmUgd2FzIG1hZGUuJEJhZFN0YXR1cwALBNBUaGUgcmVmZXJlbmR1bSBzdGF0dXMgaXMgaW52YWxpZCBmb3IgdGhpcyBvcGVyYXRpb24uQFByZWltYWdlTm90RXhpc3QADARwVGhlIHByZWltYWdlIGRvZXMgbm90IGV4aXN0LoRQcmVpbWFnZVN0b3JlZFdpdGhEaWZmZXJlbnRMZW5ndGgADQQVAVRoZSBwcmVpbWFnZSBpcyBzdG9yZWQgd2l0aCBhIGRpZmZlcmVudCBsZW5ndGggdGhhbiB0aGUgb25lIHByb3ZpZGVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC65CQxAcGFsbGV0X3doaXRlbGlzdBhwYWxsZXQURXJyb3IEBFQAARRMVW5hdmFpbGFibGVQcmVJbWFnZQAABMhUaGUgcHJlaW1hZ2Ugb2YgdGhlIGNhbGwgaGFzaCBjb3VsZCBub3QgYmUgbG9hZGVkLjxVbmRlY29kYWJsZUNhbGwAAQR4VGhlIGNhbGwgY291bGQgbm90IGJlIGRlY29kZWQuYEludmFsaWRDYWxsV2VpZ2h0V2l0bmVzcwACBOxUaGUgd2VpZ2h0IG9mIHRoZSBkZWNvZGVkIGNhbGwgd2FzIGhpZ2hlciB0aGFuIHRoZSB3aXRuZXNzLlBDYWxsSXNOb3RXaGl0ZWxpc3RlZAADBHRUaGUgY2FsbCB3YXMgbm90IHdoaXRlbGlzdGVkLlhDYWxsQWxyZWFkeVdoaXRlbGlzdGVkAAQEoFRoZSBjYWxsIHdhcyBhbHJlYWR5IHdoaXRlbGlzdGVkOyBOby1PcC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuvQkMVHBhbGxldF9hc3NldF9yZWdpc3RyeRR0eXBlczBBc3NldERldGFpbHMELFN0cmluZ0xpbWl0AAAcARBuYW1l3QIBZE9wdGlvbjxOYW1lPFN0cmluZ0xpbWl0Pj4AAShhc3NldF90eXBl5QIBJEFzc2V0VHlwZQABTGV4aXN0ZW50aWFsX2RlcG9zaXQYARxCYWxhbmNlAAEYc3ltYm9s3QIBbE9wdGlvbjxTeW1ib2w8U3RyaW5nTGltaXQ+PgABIGRlY2ltYWxz6QIBKE9wdGlvbjx1OD4AATh4Y21fcmF0ZV9saW1pdOABPE9wdGlvbjxCYWxhbmNlPgABNGlzX3N1ZmZpY2llbnQgARBib29sAADBCQxUcGFsbGV0X2Fzc2V0X3JlZ2lzdHJ5GHBhbGxldBRFcnJvcgQEVAABPDROb0lkQXZhaWxhYmxlAAAEcQFBc3NldCBJRCBpcyBub3QgYXZhaWxhYmxlLiBUaGlzIG9ubHkgaGFwcGVucyB3aGVuIGl0IHJlYWNoZXMgdGhlIE1BWCB2YWx1ZSBvZiBnaXZlbiBpZCB0eXBlLjRBc3NldE5vdEZvdW5kAAEEdEludmFsaWQgYXNzZXQgbmFtZSBvciBzeW1ib2wuIFRvb1Nob3J0AAIEyExlbmd0aCBvZiBuYW1lIG9yIHN5bWJvbCBpcyBsZXNzIHRoYW4gbWluLiBsZW5ndGguNEludmFsaWRTeW1ib2wAAwTQQXNzZXQncyBzeW1ib2wgY2FuJ3QgY29udGFpbiB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgLkhBc3NldE5vdFJlZ2lzdGVyZWQABATEQXNzZXQgSUQgaXMgbm90IHJlZ2lzdGVyZWQgaW4gdGhlIGFzc2V0LXJlZ2lzdHJ5LlhBc3NldEFscmVhZHlSZWdpc3RlcmVkAAUEcEFzc2V0IGlzIGFscmVhZHkgcmVnaXN0ZXJlZC5USW52YWxpZFNoYXJlZEFzc2V0TGVuAAYE7EluY29ycmVjdCBudW1iZXIgb2YgYXNzZXRzIHByb3ZpZGVkIHRvIGNyZWF0ZSBzaGFyZWQgYXNzZXQuUENhbm5vdFVwZGF0ZUxvY2F0aW9uAAcEdENhbm5vdCB1cGRhdGUgYXNzZXQgbG9jYXRpb24uSE5vdEluUmVzZXJ2ZWRSYW5nZQAIBKxTZWxlY3RlZCBhc3NldCBpZCBpcyBvdXQgb2YgcmVzZXJ2ZWQgcmFuZ2UuZExvY2F0aW9uQWxyZWFkeVJlZ2lzdGVyZWQACQTETG9jYXRpb24gYWxyZWFkeSByZWdpc3RlcmVkIHdpdGggZGlmZmVyZW50IGFzc2V0LiRGb3JiaWRkZW4ACgSgT3JpZ2luIGlzIGZvcmJpZGRlbiB0byBzZXQvdXBkYXRlIHZhbHVlLkxJbnN1ZmZpY2llbnRCYWxhbmNlAAsEQEJhbGFuY2UgdG9vIGxvdy5oRm9yYmlkZGVuU3VmZmljaWVuY3lDaGFuZ2UADATMU3VmZmljaWVudCBhc3NldHMgY2FuJ3QgYmUgY2hhbmdlZCB0byBpbnN1ZmZpY2llbnQuSEFzc2V0QWxyZWFkeUJhbm5lZAANBGBBc3NldCBpcyBhbHJlYWR5IGJhbm5lZC44QXNzZXROb3RCYW5uZWQADgRQQXNzZXQgaXMgbm90IGJhbm5lZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuxQkMNHBhbGxldF9jbGFpbXMYcGFsbGV0FEVycm9yBARUAAEMYEludmFsaWRFdGhlcmV1bVNpZ25hdHVyZQAABHxFdGhlcmV1bSBzaWduYXR1cmUgaXMgbm90IHZhbGlkXE5vQ2xhaW1PckFscmVhZHlDbGFpbWVkAAEESENsYWltIGlzIG5vdCB2YWxpZDxCYWxhbmNlT3ZlcmZsb3cAAgTcVmFsdWUgcmVhY2hlZCBtYXhpbXVtIGFuZCBjYW5ub3QgYmUgaW5jcmVtZW50ZWQgZnVydGhlcgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7JCQhYcGFsbGV0X2dlbmVzaXNfaGlzdG9yeRRDaGFpbgAACAEwZ2VuZXNpc19oYXNoNAEQSDI1NgABPGxhc3RfYmxvY2tfaGFzaDQBEEgyNTYAAM0JDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBAARTAAAEADEBARhWZWM8VD4AANEJDFxwYWxsZXRfY29sbGF0b3JfcmV3YXJkcxhwYWxsZXQURXJyb3IEBFQAAQAEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu1QkMPHBhbGxldF9vbW5pcG9vbBR0eXBlcyhBc3NldFN0YXRlBBxCYWxhbmNlARgAFAEsaHViX3Jlc2VydmUYARxCYWxhbmNlAAEYc2hhcmVzGAEcQmFsYW5jZQABPHByb3RvY29sX3NoYXJlcxgBHEJhbGFuY2UAAQxjYXAYARB1MTI4AAEgdHJhZGFibGUlAwEsVHJhZGFiaWxpdHkAANkJDDxwYWxsZXRfb21uaXBvb2wUdHlwZXMgUG9zaXRpb24IHEJhbGFuY2UBGBxBc3NldElkARAAEAEgYXNzZXRfaWQQARxBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABGHNoYXJlcxgBHEJhbGFuY2UAARRwcmljZSkDAUgoQmFsYW5jZSwgQmFsYW5jZSkAAN0JDDxwYWxsZXRfb21uaXBvb2wYcGFsbGV0FEVycm9yBARUAAGATEluc3VmZmljaWVudEJhbGFuY2UAAAQ8QmFsYW5jZSB0b28gbG93REFzc2V0QWxyZWFkeUFkZGVkAAEEcEFzc2V0IGlzIGFscmVhZHkgaW4gb21uaXBvb2w0QXNzZXROb3RGb3VuZAACBGBBc3NldCBpcyBub3QgaW4gb21uaXBvb2w4TWlzc2luZ0JhbGFuY2UAAwQZAUZhaWxlZCB0byBhZGQgdG9rZW4gdG8gT21uaXBvb2wgZHVlIHRvIGluc3VmZmljaWVudCBpbml0aWFsIGxpcXVpZGl0eS5gSW52YWxpZEluaXRpYWxBc3NldFByaWNlAAQEcEludmFsaWQgaW5pdGlhbCBhc3NldCBwcmljZS5IQnV5TGltaXROb3RSZWFjaGVkAAUE5FNsaXBwYWdlIHByb3RlY3Rpb24gLSBtaW5pbXVtIGxpbWl0IGhhcyBub3QgYmVlbiByZWFjaGVkLkRTZWxsTGltaXRFeGNlZWRlZAAGBNhTbGlwcGFnZSBwcm90ZWN0aW9uIC0gbWF4aW11bSBsaW1pdCBoYXMgYmVlbiBleGNlZWRlZC5AUG9zaXRpb25Ob3RGb3VuZAAHBHBQb3NpdGlvbiBoYXMgbm90IGJlZW4gZm91bmQuSEluc3VmZmljaWVudFNoYXJlcwAIBHxJbnN1ZmZpY2llbnQgc2hhcmVzIGluIHBvc2l0aW9uKE5vdEFsbG93ZWQACQSIQXNzZXQgaXMgbm90IGFsbG93ZWQgdG8gYmUgdHJhZGVkLiRGb3JiaWRkZW4ACgTEU2lnbmVkIGFjY291bnQgaXMgbm90IG93bmVyIG9mIHBvc2l0aW9uIGluc3RhbmNlLlhBc3NldFdlaWdodENhcEV4Y2VlZGVkAAsEjEFzc2V0IHdlaWdodCBjYXAgaGFzIGJlZW4gZXhjZWVkZWQuSEFzc2V0Tm90UmVnaXN0ZXJlZAAMBKRBc3NldCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBhc3NldCByZWdpc3RyeVRJbnN1ZmZpY2llbnRMaXF1aWRpdHkADQTEUHJvdmlkZWQgbGlxdWlkaXR5IGlzIGJlbG93IG1pbmltdW0gYWxsb3dlZCBsaW1pdGRJbnN1ZmZpY2llbnRUcmFkaW5nQW1vdW50AA4EsFRyYWRlZCBhbW91bnQgaXMgYmVsb3cgbWluaW11bSBhbGxvd2VkIGxpbWl0YFNhbWVBc3NldFRyYWRlTm90QWxsb3dlZAAPBLxTZWxsIG9yIGJ1eSB3aXRoIHNhbWUgYXNzZXQgaWRzIGlzIG5vdCBhbGxvd2VkLkxIdWJBc3NldFVwZGF0ZUVycm9yABAEyExSTkEgdXBkYXRlIGFmdGVyIHRyYWRlIHJlc3VsdHMgaW4gcG9zaXRpdmUgdmFsdWUuTEludmFsaWRTaGFyZXNBbW91bnQAEQSYQW1vdW50IG9mIHNoYXJlcyBwcm92aWRlZCBjYW5ub3QgYmUgMC5wSW52YWxpZEh1YkFzc2V0VHJhZGFibGVTdGF0ZQASBJRIdWIgYXNzZXQgaXMgb25seSBhbGxvd2VkIHRvIGJlIHNvbGQuVEFzc2V0UmVmdW5kTm90QWxsb3dlZAATBJBBc3NldCBpcyBub3QgYWxsb3dlZCB0byBiZSByZWZ1bmRlZC5MTWF4T3V0UmF0aW9FeGNlZWRlZAAUBLxNYXggZnJhY3Rpb24gb2YgYXNzZXQgdG8gYnV5IGhhcyBiZWVuIGV4Y2VlZGVkLkhNYXhJblJhdGlvRXhjZWVkZWQAFQTATWF4IGZyYWN0aW9uIG9mIGFzc2V0IHRvIHNlbGwgaGFzIGJlZW4gZXhjZWVkZWQuWFByaWNlRGlmZmVyZW5jZVRvb0hpZ2gAFgS8TWF4IGFsbG93ZWQgcHJpY2UgZGlmZmVyZW5jZSBoYXMgYmVlbiBleGNlZWRlZC5ISW52YWxpZE9yYWNsZVByaWNlABcEoEludmFsaWQgb3JhY2xlIHByaWNlIC0gZGl2aXNpb24gYnkgemVyby5QSW52YWxpZFdpdGhkcmF3YWxGZWUAGASMRmFpbGVkIHRvIGNhbGN1bGF0ZSB3aXRoZHJhd2FsIGZlZS4wRmVlT3ZlcmRyYWZ0ABkE1E1vcmUgdGhhbiBhbGxvd2VkIGFtb3VudCBvZiBmZWUgaGFzIGJlZW4gdHJhbnNmZXJyZWQuPFNoYXJlc1JlbWFpbmluZwAaBD0BVG9rZW4gY2Fubm90IGJlIHJlbW92ZWQgZnJvbSBPbW5pcG9vbCBkdWUgdG8gc2hhcmVzIHN0aWxsIG93bmVkIGJ5IG90aGVyIHVzZXJzLjhBc3NldE5vdEZyb3plbgAbBAkBVG9rZW4gY2Fubm90IGJlIHJlbW92ZWQgZnJvbSBPbW5pcG9vbCBiZWNhdXNlIGFzc2V0IGlzIG5vdCBmcm96ZW4uNFplcm9BbW91bnRPdXQAHAS4Q2FsY3VsYXRlZCBhbW91bnQgb3V0IGZyb20gc2VsbCB0cmFkZSBpcyB6ZXJvLnhFeGlzdGVudGlhbERlcG9zaXROb3RBdmFpbGFibGUAHQS4RXhpc3RlbnRpYWwgZGVwb3NpdCBvZiBhc3NldCBpcyBub3QgYXZhaWxhYmxlLjRTbGlwcGFnZUxpbWl0AB4ETFNsaXBwYWdlIHByb3RlY3Rpb25YUHJvdG9jb2xGZWVOb3RDb25zdW1lZAAfBKRFeHRyYSBwcm90b2NvbCBmZWUgaGFzIG5vdCBiZWVuIGNvbnN1bWVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7hCQAABAjlCeUJAOUJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAA6QkMYHBhbGxldF90cmFuc2FjdGlvbl9wYXVzZRhwYWxsZXQURXJyb3IEBFQAAQwsQ2Fubm90UGF1c2UAAAQ0Y2FuIG5vdCBwYXVzZUBJbnZhbGlkQ2hhcmFjdGVyAAEEaGludmFsaWQgY2hhcmFjdGVyIGVuY29kaW5nLE5hbWVUb29Mb25nAAIEoHBhbGxldCBuYW1lIG9yIGZ1bmN0aW9uIG5hbWUgaXMgdG9vIGxvbmcEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu7QkMNHBhbGxldF9kdXN0ZXIYcGFsbGV0FEVycm9yBARUAAEYSEFjY291bnRCbGFja2xpc3RlZAAABIRBY2NvdW50IGlzIGV4Y2x1ZGVkIGZyb20gZHVzdGluZy5UQWNjb3VudE5vdEJsYWNrbGlzdGVkAAEEwEFjY291bnQgaXMgbm90IHByZXNlbnQgaW4gdGhlIG5vbi1kdXN0YWJsZSBsaXN0LixaZXJvQmFsYW5jZQACBFBUaGUgYmFsYW5jZSBpcyB6ZXJvLkRCYWxhbmNlU3VmZmljaWVudAADBLxUaGUgYmFsYW5jZSBpcyBzdWZmaWNpZW50IHRvIGtlZXAgYWNjb3VudCBvcGVuLkREdXN0QWNjb3VudE5vdFNldAAEBGBEdXN0IGFjY291bnQgaXMgbm90IHNldC5QUmVzZXJ2ZUFjY291bnROb3RTZXQABQRsUmVzZXJ2ZSBhY2NvdW50IGlzIG5vdCBzZXQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LvEJDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlczhHbG9iYWxGYXJtRGF0YQgEVAAESQAASAEIaWQQATBHbG9iYWxGYXJtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABKHVwZGF0ZWRfYXQQASxQZXJpb2RPZjxUPgABOHRvdGFsX3NoYXJlc196GAEcQmFsYW5jZQABPGFjY3VtdWxhdGVkX3Jwej0BASRGaXhlZFUxMjgAATxyZXdhcmRfY3VycmVuY3kQAShUOjpBc3NldElkAAE8cGVuZGluZ19yZXdhcmRzGAEcQmFsYW5jZQABYGFjY3VtdWxhdGVkX3BhaWRfcmV3YXJkcxgBHEJhbGFuY2UAAUB5aWVsZF9wZXJfcGVyaW9kPQMBLFBlcnF1aW50aWxsAAFgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzEAEsUGVyaW9kT2Y8VD4AAURibG9ja3NfcGVyX3BlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAFIaW5jZW50aXZpemVkX2Fzc2V0EAEoVDo6QXNzZXRJZAABVG1heF9yZXdhcmRfcGVyX3BlcmlvZBgBHEJhbGFuY2UAASxtaW5fZGVwb3NpdBgBHEJhbGFuY2UAAVhsaXZlX3lpZWxkX2Zhcm1zX2NvdW50EAEMdTMyAAFcdG90YWxfeWllbGRfZmFybXNfY291bnQQAQx1MzIAAUBwcmljZV9hZGp1c3RtZW50PQEBJEZpeGVkVTEyOAABFHN0YXRl9QkBJEZhcm1TdGF0ZQAA9QkMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nFHR5cGVzJEZhcm1TdGF0ZQABDBhBY3RpdmUAAAAcU3RvcHBlZAABAChUZXJtaW5hdGVkAAIAAPkJAAAEDBAQEAD9CQxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXM0WWllbGRGYXJtRGF0YQgEVAAESQAAMAEIaWQQARhGYXJtSWQAASh1cGRhdGVkX2F0EAEsUGVyaW9kT2Y8VD4AATB0b3RhbF9zaGFyZXMYARxCYWxhbmNlAAFMdG90YWxfdmFsdWVkX3NoYXJlcxgBHEJhbGFuY2UAAUBhY2N1bXVsYXRlZF9ycHZzPQEBJEZpeGVkVTEyOAABPGFjY3VtdWxhdGVkX3Jwej0BASRGaXhlZFUxMjgAATRsb3lhbHR5X2N1cnZlQQMBUE9wdGlvbjxMb3lhbHR5Q3VydmU+AAEobXVsdGlwbGllcj0BAThGYXJtTXVsdGlwbGllcgABFHN0YXRl9QkBJEZhcm1TdGF0ZQABNGVudHJpZXNfY291bnQwAQx1NjQAAUhsZWZ0X3RvX2Rpc3RyaWJ1dGUYARxCYWxhbmNlAAE0dG90YWxfc3RvcHBlZBABLFBlcmlvZE9mPFQ+AAABCgxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXMsRGVwb3NpdERhdGEIBFQABEkAAAwBGHNoYXJlcxgBHEJhbGFuY2UAASxhbW1fcG9vbF9pZBABMFQ6OkFtbVBvb2xJZAABSHlpZWxkX2Zhcm1fZW50cmllcwUKAfRCb3VuZGVkVmVjPFlpZWxkRmFybUVudHJ5PFQsIEk+LCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AAAFCgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQkKBFMAAAQADQoBGFZlYzxUPgAACQoMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nFHR5cGVzOFlpZWxkRmFybUVudHJ5CARUAARJAAAgAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABNHZhbHVlZF9zaGFyZXMYARxCYWxhbmNlAAFAYWNjdW11bGF0ZWRfcnB2cz0BASRGaXhlZFUxMjgAAWxhY2N1bXVsYXRlZF9jbGFpbWVkX3Jld2FyZHMYARxCYWxhbmNlAAEoZW50ZXJlZF9hdBABLFBlcmlvZE9mPFQ+AAEodXBkYXRlZF9hdBABLFBlcmlvZE9mPFQ+AAFMc3RvcHBlZF9hdF9jcmVhdGlvbhABLFBlcmlvZE9mPFQ+AAANCgAAAgkKABEKDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQURXJyb3IIBFQABEkAAXRIR2xvYmFsRmFybU5vdEZvdW5kAAAEbEdsb2JhbCBmYXJtIGRvZXMgbm90IGV4aXN0LkRZaWVsZEZhcm1Ob3RGb3VuZAABBGhZaWVsZCBmYXJtIGRvZXMgbm90IGV4aXN0LkxEb3VibGVDbGFpbUluUGVyaW9kAAIEyE11bHRpcGxlIGNsYWltcyBpbiB0aGUgc2FtZSBwZXJpb2QgaXMgbm90IGFsbG93ZWQuXExpcXVpZGl0eU1pbmluZ0NhbmNlbGVkAAMEdExpcXVpZGl0eSBtaW5pbmcgaXMgY2FuY2VsZWQuXExpcXVpZGl0eU1pbmluZ0lzQWN0aXZlAAQEhExpcXVpZGl0eSBtaW5pbmcgaXMgbm90IGNhbmNlbGVkLmxMaXF1aWRpdHlNaW5pbmdJc05vdFN0b3BwZWQABQRVAUxpcXVpZGl0eSBtaW5pbmcgaXMgaW4gYGFjdGl2ZWAgb3IgYHRlcm1pbmF0ZWRgIHN0YXRlIGFuZCBhY3Rpb24gY2Fubm90IGJlIGNvbXBsZXRlZC4kRm9yYmlkZGVuAAYEpEFjY291bnQgaXMgbm90IGFsbG93ZWQgdG8gcGVyZm9ybSBhY3Rpb24uREludmFsaWRNdWx0aXBsaWVyAAcEhFlpZWxkIGZhcm0gbXVsdGlwbGllciBjYW4ndCBiZSAwLlhZaWVsZEZhcm1BbHJlYWR5RXhpc3RzAAgECQFZaWVsZCBmYXJtIHdpdGggZ2l2ZW4gYGFtbV9wb29sX2lkYCBhbHJlYWR5IGV4aXN0cyBpbiBnbG9iYWwgZmFybS54SW52YWxpZEluaXRpYWxSZXdhcmRQZXJjZW50YWdlAAkEPQFMb3lhbHR5IGN1cnZlJ3MgaW5pdGlhbCByZXdhcmQgcGVyY2VudGFnZSBpcyBub3QgdmFsaWQuIFZhbGlkIHJhbmdlIGlzOiBbMCwgMSkuUEdsb2JhbEZhcm1Jc05vdEVtcHR5AAoEtE9uZSBvciBtb3JlIHlpZWxkIGZhcm1zIGV4aXN0IGluIGdsb2JhbCBmYXJtLmBNaXNzaW5nSW5jZW50aXZpemVkQXNzZXQACwT4RmFybSdzIGBpbmNlbnRpdml6ZWRfYXNzZXRgIGlzIG1pc3NpbmcgaW4gcHJvdmlkZWQgYXNzZXQgcGFpci6ESW5zdWZmaWNpZW50UmV3YXJkQ3VycmVuY3lCYWxhbmNlAAwEqFJld2FyZCBjdXJyZW5jeSBiYWxhbmNlIGlzIG5vdCBzdWZmaWNpZW50LlhJbnZhbGlkQmxvY2tzUGVyUGVyaW9kAA0EdEJsb2NrcyBwZXIgcGVyaW9kIGNhbid0IGJlIDAuVEludmFsaWRZaWVsZFBlclBlcmlvZAAOBHBZaWVsZCBwZXIgcGVyaW9kIGNhbid0IGJlIDAuTEludmFsaWRUb3RhbFJld2FyZHMADwTEVG90YWwgcmV3YXJkcyBpcyBsZXNzIHRoYW4gYE1pblRvdGFsRmFybVJld2FyZHNgLnRJbnZhbGlkUGxhbm5lZFlpZWxkaW5nUGVyaW9kcwAQBAkBUGxhbm5lZCB5aWVsZGluZyBwZXJpb2RzIGlzIGxlc3MgdGhhbiBgTWluUGxhbm5lZFlpZWxkaW5nUGVyaW9kc2AuUE1heEVudHJpZXNQZXJEZXBvc2l0ABEEsE1heGltdW0gbnVtYmVyIG9mIGxvY2tzIHJlYWNoZWQgZm9yIGRlcG9zaXQuKERvdWJsZUxvY2sAEgTgVHJ5aW5nIHRvIGxvY2sgTFAgc2hhcmVzIGludG8gYWxyZWFkeSBsb2NrZWQgeWllbGQgZmFybS5YWWllbGRGYXJtRW50cnlOb3RGb3VuZAATBMRZaWVsZCBmYXJtIGVudHJ5IGRvZXNuJ3QgZXhpc3QgZm9yIGdpdmVuIGRlcG9zaXQuQEdsb2JhbEZhcm1Jc0Z1bGwAFAhJAU1heCBudW1iZXIgb2YgeWllbGQgZmFybXMgaW4gZ2xvYmFsIGZhcm0gd2FzIHJlYWNoZWQuIEdsb2JhbCBmYXJtIGNhbid0IGFjY2VwdCBuZXf4eWllbGQgZmFybXMgdW50aWwgc29tZSB5aWVsZCBmYXJtIGlzIG5vdCByZW1vdmVkIGZyb20gc3RvcmFnZS5ESW52YWxpZE1pbkRlcG9zaXQAFQS0SW52YWxpZCBtaW4uIGRlcG9zaXQgd2FzIHNldCBmb3IgZ2xvYmFsIGZhcm0uWEludmFsaWRQcmljZUFkanVzdG1lbnQAFgScUHJpY2UgYWRqdXN0bWVudCBtdWx0aXBsaWVyIGNhbid0IGJlIDAuREVycm9yR2V0QWNjb3VudElkABcEgEFjY291bnQgY3JlYXRpb24gZnJvbSBpZCBmYWlsZWQuVEluY29ycmVjdFZhbHVlZFNoYXJlcwAYBCUBVmFsdWUgb2YgZGVwb3NpdGVkIHNoYXJlcyBhbW91bnQgaW4gcmV3YXJkIGN1cnJlbmN5IGlzIGJlbGxvdyBtaW4uIGxpbWl0LmxSZXdhcmRDdXJyZW5jeU5vdFJlZ2lzdGVyZWQAGQTYYHJld2FyZF9jdXJyZW5jeWAgaXMgbm90IHJlZ2lzdGVyZWQgaW4gYXNzZXQgcmVnaXN0cnkueEluY2VudGl2aXplZEFzc2V0Tm90UmVnaXN0ZXJlZAAaBORgaW5jZW50aXZpemVkX2Fzc2V0YCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBhc3NldCByZWdpc3RyeS5EQW1tUG9vbElkTWlzbWF0Y2gAGwT0UHJvdmlkZWQgYGFtbV9wb29sX2lkYCBkb2Vzbid0IG1hdGNoIGRlcG9zaXQncyBgYW1tX3Bvb2xfaWRgLkRJbmNvbnNpc3RlbnRTdGF0ZQQAFQoBWEluY29uc2lzdGVudFN0YXRlRXJyb3IAHAhlAUFjdGlvbiBjYW5ub3QgYmUgY29tcGxldGVkIGJlY2F1c2UgdW5leHBlY3RlZCBlcnJvciBoYXMgb2NjdXJyZWQuIFRoaXMgc2hvdWxkIGJlIHJlcG9ydGVkYHRvIHByb3RvY29sIG1haW50YWluZXJzLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4VCgxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0WEluY29uc2lzdGVudFN0YXRlRXJyb3IAAUREWWllbGRGYXJtTm90Rm91bmQAAABIR2xvYmFsRmFybU5vdEZvdW5kAAEAUExpcXVpZGl0eUlzTm90QWN0aXZlAAIAVEdsb2JhbEZhcm1Jc05vdEFjdGl2ZQADADxEZXBvc2l0Tm90Rm91bmQABAA0SW52YWxpZFBlcmlvZAAFAGxOb3RFbm91Z2hSZXdhcmRzSW5ZaWVsZEZhcm0ABgBkSW52YWxpZExpdmVZaWVsRmFybXNDb3VudAAHAGxJbnZhbGlkVG90YWxZaWVsZEZhcm1zQ291bnQACABwSW52YWxpZFlpZWxkRmFybUVudHJpZXNDb3VudAAJAEhJbnZhbGlkVG90YWxTaGFyZXMACgBMSW52YWxpZFZhbHVlZFNoYXJlcwALAExJbnZhbGlkVG90YWxTaGFyZXNaAAwAdEludmFsaWRQYWlkQWNjdW11bGF0ZWRSZXdhcmRzAA0ANEludmFsaWRGYXJtSWQADgBgSW52YWxpZExveWFsdHlNdWx0aXBsaWVyAA8AcE5vRXhpc3RlbnRpYWxEZXBvc2l0Rm9yQXNzZXQAEAAAGQoMgHBhbGxldF9vbW5pcG9vbF9saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFcnJvcgQEVAABHDRBc3NldE5vdEZvdW5kAAAEdEFzc2V0IGlzIG5vdCBpbiB0aGUgb21uaXBvb2wuJEZvcmJpZGRlbgABBKxTaWduZWQgYWNjb3VudCBpcyBub3Qgb3duZXIgb2YgdGhlIGRlcG9zaXQuSFplcm9DbGFpbWVkUmV3YXJkcwACBFxSZXdhcmRzIHRvIGNsYWltIGFyZSAwLkRJbmNvbnNpc3RlbnRTdGF0ZQQAHQoBWEluY29uc2lzdGVudFN0YXRlRXJyb3IAAwhlAUFjdGlvbiBjYW5ub3QgYmUgY29tcGxldGVkIGJlY2F1c2UgdW5leHBlY3RlZCBlcnJvciBoYXMgb2NjdXJyZWQuIFRoaXMgc2hvdWxkIGJlIHJlcG9ydGVkYHRvIHByb3RvY29sIG1haW50YWluZXJzLkhPcmFjbGVOb3RBdmFpbGFibGUABAS8T3JhY2xlIGNvdWxkIG5vdCBiZSBmb3VuZCBmb3IgcmVxdWVzdGVkIGFzc2V0cy5sUHJpY2VBZGp1c3RtZW50Tm90QXZhaWxhYmxlAAUEMQFPcmFjbGUgcHJvdmlkaW5nIGBwcmljZV9hZGp1c3RtZW50YCBjb3VsZCBub3QgYmUgZm91bmQgZm9yIHJlcXVlc3RlZCBhc3NldHMuWE5vRmFybUVudHJpZXNTcGVjaWZpZWQABgRoTm8gZmFybXMgc3BlY2lmaWVkIHRvIGpvaW4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuHQoMgHBhbGxldF9vbW5pcG9vbF9saXF1aWRpdHlfbWluaW5nGHBhbGxldFhJbmNvbnNpc3RlbnRTdGF0ZUVycm9yAAEIRE1pc3NpbmdMcFBvc2l0aW9uAAAATERlcG9zaXREYXRhTm90Rm91bmQAAQAAIQoIKHBhbGxldF9vdGMUT3JkZXIIJEFjY291bnRJZAEAHEFzc2V0SWQBEAAYARRvd25lcgABJEFjY291bnRJZAABIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAEoYW1vdW50X291dBgBHEJhbGFuY2UAAUhwYXJ0aWFsbHlfZmlsbGFibGUgARBib29sAAAlCgwocGFsbGV0X290YxhwYWxsZXQURXJyb3IEBFQAASBIQXNzZXROb3RSZWdpc3RlcmVkAAAEgEFzc2V0IGRvZXMgbm90IGV4aXN0IGluIHJlZ2lzdHJ5NE9yZGVyTm90Rm91bmQAAQRUT3JkZXIgY2Fubm90IGJlIGZvdW5kRE9yZGVySWRPdXRPZkJvdW5kAAIEiFNpemUgb2Ygb3JkZXIgSUQgZXhjZWVkcyB0aGUgYm91bmRkT3JkZXJOb3RQYXJ0aWFsbHlGaWxsYWJsZQADBPhDYW5ub3QgcGFydGlhbGx5IGZpbGwgYW4gb3JkZXIgd2hpY2ggaXMgbm90IHBhcnRpYWxseSBmaWxsYWJsZUxPcmRlckFtb3VudFRvb1NtYWxsAAQMYQFPcmRlciBhbW91bnRfaW4gYW5kIGFtb3VudF9vdXQgbXVzdCBhdCBhbGwgdGltZXMgYmUgZ3JlYXRlciB0aGFuIHRoZSBleGlzdGVudGlhbCBkZXBvc2l09GZvciB0aGUgYXNzZXQgbXVsdGlwbGllZCBieSB0aGUgRXhpc3RlbnRpYWxEZXBvc2l0TXVsdGlwbGllci7wQSBmaWxsIG9yZGVyIG1heSBub3QgbGVhdmUgYmVoaW5kIGFtb3VudHMgc21hbGxlciB0aGFuIHRoaXMuJE1hdGhFcnJvcgAFBHBFcnJvciB3aXRoIG1hdGggY2FsY3VsYXRpb25zJEZvcmJpZGRlbgAGBOhUaGUgY2FsbGVyIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBjb21wbGV0ZSB0aGUgYWN0aW9uaEluc3VmZmljaWVudFJlc2VydmVkQW1vdW50AAcEfFJlc2VydmVkIGFtb3VudCBub3Qgc3VmZmljaWVudC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuKQoIWHBhbGxldF9jaXJjdWl0X2JyZWFrZXJAVHJhZGVWb2x1bWVMaW1pdAQEVAAADAEkdm9sdW1lX2luGAEoVDo6QmFsYW5jZQABKHZvbHVtZV9vdXQYAShUOjpCYWxhbmNlAAEUbGltaXQYAShUOjpCYWxhbmNlAAAtCghYcGFsbGV0X2NpcmN1aXRfYnJlYWtlcjhMaXF1aWRpdHlMaW1pdAQEVAAACAEkbGlxdWlkaXR5GAEoVDo6QmFsYW5jZQABFGxpbWl0GAEoVDo6QmFsYW5jZQAAMQoMWHBhbGxldF9jaXJjdWl0X2JyZWFrZXIUdHlwZXM4TG9ja2Rvd25TdGF0dXMILEJsb2NrTnVtYmVyARAcQmFsYW5jZQEYAQgYTG9ja2VkBAAQASxCbG9ja051bWJlcgAAACBVbmxvY2tlZAQA0QMBWChCbG9ja051bWJlciwgQmFsYW5jZSkAAQAANQoMWHBhbGxldF9jaXJjdWl0X2JyZWFrZXIYcGFsbGV0FEVycm9yBARUAAEkREludmFsaWRMaW1pdFZhbHVlAAAEyEludmFsaWQgdmFsdWUgZm9yIGEgbGltaXQuIExpbWl0IG11c3QgYmUgbm9uLXplcm8ufExpcXVpZGl0eUxpbWl0Tm90U3RvcmVkRm9yQXNzZXQAAQS8QWxsb3dlZCBsaXF1aWRpdHkgbGltaXQgaXMgbm90IHN0b3JlZCBmb3IgYXNzZXRgVG9rZW5PdXRmbG93TGltaXRSZWFjaGVkAAIEuFRva2VuIHRyYWRlIG91dGZsb3cgcGVyIGJsb2NrIGhhcyBiZWVuIHJlYWNoZWRcVG9rZW5JbmZsdXhMaW1pdFJlYWNoZWQAAwS0VG9rZW4gdHJhZGUgaW5mbHV4IHBlciBibG9jayBoYXMgYmVlbiByZWFjaGVkgE1heExpcXVpZGl0eUxpbWl0UGVyQmxvY2tSZWFjaGVkAAQE5E1heGltdW0gcG9vbCdzIGxpcXVpZGl0eSBsaW1pdCBwZXIgYmxvY2sgaGFzIGJlZW4gcmVhY2hlZChOb3RBbGxvd2VkAAUEkEFzc2V0IGlzIG5vdCBhbGxvd2VkIHRvIGhhdmUgYSBsaW1pdDxBc3NldEluTG9ja2Rvd24ABgw5AUFzc2V0IHN0aWxsIGluIGxvY2tkb3duIGFzIGl0IHJlYWNoZWQgdGhlIGFsbG93ZWQgZGVwb3NpdCBsaW1pdCBmb3IgdGhlIHBlcmlvZHEBUXVlcnkgdGhlIGBhc3NldF9sb2NrZG93bl9zdGF0ZWAgc3RvcmFnZSB0byBkZXRlcm1pbmUgdW50aWwgd2hpY2ggYmxvY2sgdGhlIGFzc2V0IGlzIGxvY2tlZCy4c28gdGhhdCB0aGUgZGVwb3NpdCBjYW4gYmUgcmVsZWFzZWQgYWZ0ZXJ3YXJkLkhBc3NldE5vdEluTG9ja2Rvd24ABwRoQXNzZXQgaXMgbm90IGluIGEgbG9ja2Rvd240SW52YWxpZEFtb3VudAAIBHhJbnZhbGlkIGFtb3VudCB0byBzYXZlIGRlcG9zaXQEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuOQoMVHBhbGxldF9yb3V0ZV9leGVjdXRvchhwYWxsZXQURXJyb3IEBFQAAShMVHJhZGluZ0xpbWl0UmVhY2hlZAAABIhUaGUgdHJhZGluZyBsaW1pdCBoYXMgYmVlbiByZWFjaGVkRE1heFRyYWRlc0V4Y2VlZGVkAAEEtFRoZSB0aGUgbWF4IG51bWJlciBvZiB0cmFkZXMgbGltaXQgaXMgcmVhY2hlZEBQb29sTm90U3VwcG9ydGVkAAIEyFRoZSBBTU0gcG9vbCBpcyBub3Qgc3VwcG9ydGVkIGZvciBleGVjdXRpbmcgdHJhZGVzTEluc3VmZmljaWVudEJhbGFuY2UAAwTQVGhlIHVzZXIgaGFzIG5vdCBlbm91Z2ggYmFsYW5jZSB0byBleGVjdXRlIHRoZSB0cmFkZVhSb3V0ZUNhbGN1bGF0aW9uRmFpbGVkAAQEDQFUaGUgY2FsY3VsYXRpb24gb2Ygcm91dGUgdHJhZGUgYW1vdW50cyBmYWlsZWQgaW4gdGhlIHVuZGVybHlpbmcgQU1NMEludmFsaWRSb3V0ZQAFBFBUaGUgcm91dGUgaXMgaW52YWxpZGhSb3V0ZVVwZGF0ZUlzTm90U3VjY2Vzc2Z1bAAGBIxUaGUgcm91dGUgdXBkYXRlIHdhcyBub3Qgc3VjY2Vzc2Z1bEBSb3V0ZUhhc05vT3JhY2xlAAcEtFJvdXRlIGNvbnRhaW5zIGFzc2V0cyB0aGF0IGhhcyBubyBvcmFjbGUgZGF0YVRJbnZhbGlkUm91dGVFeGVjdXRpb24ACATAVGhlIHJvdXRlIGV4ZWN1dGlvbiBmYWlsZWQgaW4gdGhlIHVuZGVybHlpbmcgQU1NKE5vdEFsbG93ZWQACQSMVHJhZGluZyBzYW1lIGFzc2V0cyBpcyBub3QgYWxsb3dlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuPQoMTHBhbGxldF9keW5hbWljX2ZlZXMUdHlwZXMgRmVlRW50cnkIDEZlZQEhAxRCbG9jawEQAAwBJGFzc2V0X2ZlZSEDAQxGZWUAATBwcm90b2NvbF9mZWUhAwEMRmVlAAEkdGltZXN0YW1wEAEUQmxvY2sAAEEKDExwYWxsZXRfZHluYW1pY19mZWVzGHBhbGxldBRFcnJvcgQEVAABBFBJbnZhbGlkRmVlUGFyYW1ldGVycwAABHxJbnZhbGlkIGZlZSBwYXJhbWV0ZXJzIHByb3ZpZGVkBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LkUKDDhwYWxsZXRfc3Rha2luZxR0eXBlcyxTdGFraW5nRGF0YQAADAEsdG90YWxfc3Rha2UYARxCYWxhbmNlAAFwYWNjdW11bGF0ZWRfcmV3YXJkX3Blcl9zdGFrZT0BASRGaXhlZFUxMjgAAVBwb3RfcmVzZXJ2ZWRfYmFsYW5jZRgBHEJhbGFuY2UAAEkKDDhwYWxsZXRfc3Rha2luZxR0eXBlcyBQb3NpdGlvbgQsQmxvY2tOdW1iZXIBEAAcARRzdGFrZRgBHEJhbGFuY2UAATRhY3Rpb25fcG9pbnRzGAEUUG9pbnQAAUByZXdhcmRfcGVyX3N0YWtlPQEBJEZpeGVkVTEyOAABKGNyZWF0ZWRfYXQQASxCbG9ja051bWJlcgABYGFjY3VtdWxhdGVkX3NsYXNoX3BvaW50cxgBFFBvaW50AAFoYWNjdW11bGF0ZWRfdW5wYWlkX3Jld2FyZHMYARxCYWxhbmNlAAFoYWNjdW11bGF0ZWRfbG9ja2VkX3Jld2FyZHMYARxCYWxhbmNlAABNCgw4cGFsbGV0X3N0YWtpbmcUdHlwZXMYVm90aW5nBCBNYXhWb3RlcwAABAEUdm90ZXNRCgG0Qm91bmRlZFZlYzwoUmVmZXJlbmR1bUluZGV4LCBWb3RlKSwgTWF4Vm90ZXM+AABRCgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAVUKBFMAAAQAYQoBGFZlYzxUPgAAVQoAAAQIEFkKAFkKDDhwYWxsZXRfc3Rha2luZxR0eXBlcxBWb3RlAAAIARhhbW91bnQYARxCYWxhbmNlAAEoY29udmljdGlvbl0KAShDb252aWN0aW9uAABdCgw4cGFsbGV0X3N0YWtpbmcUdHlwZXMoQ29udmljdGlvbgABHBBOb25lAAAAIExvY2tlZDF4AAEAIExvY2tlZDJ4AAIAIExvY2tlZDN4AAMAIExvY2tlZDR4AAQAIExvY2tlZDV4AAUAIExvY2tlZDZ4AAYAAGEKAAACVQoAZQoMOHBhbGxldF9zdGFraW5nGHBhbGxldBRFcnJvcgQEVAABNExJbnN1ZmZpY2llbnRCYWxhbmNlAAAETEJhbGFuY2UgaXMgdG9vIGxvdy5ESW5zdWZmaWNpZW50U3Rha2UAAQRkU3Rha2VkIGFtb3VudCBpcyB0b28gbG93LkBQb3NpdGlvbk5vdEZvdW5kAAIEkFN0YWtpbmcgcG9zaXRpb24gaGFzIG5vdCBiZWVuIGZvdW5kLjxNYXhWb3Rlc1JlYWNoZWQAAwToTWF4aW11bSBhbW91bnQgb2Ygdm90ZXMgd2VyZSByZWFjaGVkIGZvciBzdGFraW5nIHBvc2l0aW9uLjhOb3RJbml0aWFsaXplZAAEBGxTdGFraW5nIGlzIG5vdCBpbml0aWFsaXplZC5IQWxyZWFkeUluaXRpYWxpemVkAAUEfFN0YWtpbmcgaXMgYWxyZWFkeSBpbml0aWFsaXplZC4oQXJpdGhtZXRpYwAGBERBcml0aG1ldGljIGVycm9yLkRNaXNzaW5nUG90QmFsYW5jZQAHBFhQb3QncyBiYWxhbmNlIGlzIHplcm8uVFBvc2l0aW9uQWxyZWFkeUV4aXN0cwAIBIhBY2NvdW50J3MgcG9zaXRpb24gYWxyZWFkeSBleGlzdHMuJEZvcmJpZGRlbgAJBLxTaWduZXIgaXMgbm90IGFuIG93bmVyIG9mIHRoZSBzdGFraW5nIHBvc2l0aW9uLjRFeGlzdGluZ1ZvdGVzAAoEjFBvc2l0aW9uIGNvbnRhaW5zIHJlZ2lzdGVyZWQgdm90ZXMuWEV4aXN0aW5nUHJvY2Vzc2VkVm90ZXMACwSFAVBvc2l0aW9uIGNvbnRhaW5zIHByb2Nlc3NlZCB2b3Rlcy4gUmVtb3ZlZCB0aGVzZSB2b3RlcyBmaXJzdCBiZWZvcmUgaW5jcmVhc2luZyBzdGFrZSBvciBjbGFpbWluZy5ESW5jb25zaXN0ZW50U3RhdGUEAGkKAVhJbmNvbnNpc3RlbnRTdGF0ZUVycm9yAAwIZQFBY3Rpb24gY2Fubm90IGJlIGNvbXBsZXRlZCBiZWNhdXNlIHVuZXhwZWN0ZWQgZXJyb3IgaGFzIG9jY3VycmVkLiBUaGlzIHNob3VsZCBiZSByZXBvcnRlZGB0byBwcm90b2NvbCBtYWludGFpbmVycy4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuaQoMOHBhbGxldF9zdGFraW5nGHBhbGxldFhJbmNvbnNpc3RlbnRTdGF0ZUVycm9yAAEUQFBvc2l0aW9uTm90Rm91bmQAAABYTmVnYXRpdmVQZW5kaW5nUmV3YXJkcwABAFROZWdhdGl2ZVVucGFpZFJld2FyZHMAAgBAVG9vTWFueVBvc2l0aW9ucwADAChBcml0aG1ldGljAAQAAG0KDERwYWxsZXRfc3RhYmxlc3dhcBR0eXBlcyBQb29sSW5mbwgcQXNzZXRJZAEQLEJsb2NrTnVtYmVyARAAGAEYYXNzZXRzpQMBxEJvdW5kZWRWZWM8QXNzZXRJZCwgQ29uc3RVMzI8TUFYX0FTU0VUU19JTl9QT09MPj4AAVRpbml0aWFsX2FtcGxpZmljYXRpb26tBgEoTm9uWmVyb1UxNgABTGZpbmFsX2FtcGxpZmljYXRpb26tBgEoTm9uWmVyb1UxNgABNGluaXRpYWxfYmxvY2sQASxCbG9ja051bWJlcgABLGZpbmFsX2Jsb2NrEAEsQmxvY2tOdW1iZXIAAQxmZWUhAwEcUGVybWlsbAAAcQoMRHBhbGxldF9zdGFibGVzd2FwFHR5cGVzMFBvb2xTbmFwc2hvdAQcQXNzZXRJZAEQABgBGGFzc2V0c6UDAcRCb3VuZGVkVmVjPEFzc2V0SWQsIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AAEgcmVzZXJ2ZXN1CgHYQm91bmRlZFZlYzxBc3NldFJlc2VydmUsIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AAE0YW1wbGlmaWNhdGlvbhgBEHUxMjgAAQxmZWUhAwEcUGVybWlsbAABEHBlZ3O5BgHEQm91bmRlZFZlYzxQZWdUeXBlLCBDb25zdFUzMjxNQVhfQVNTRVRTX0lOX1BPT0w+PgABOHNoYXJlX2lzc3VhbmNlGAEcQmFsYW5jZQAAdQoMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAF5CgRTAAAEAH0KARhWZWM8VD4AAHkKEDRoeWRyYV9keF9tYXRoKHN0YWJsZXN3YXAUdHlwZXMwQXNzZXRSZXNlcnZlAAAIARhhbW91bnQYARxCYWxhbmNlAAEgZGVjaW1hbHMIAQh1OAAAfQoAAAJ5CgCBCgQ4UmFuZ2VJbmNsdXNpdmUEDElkeAGtBgAIARRzdGFydK0GAQxJZHgAAQxlbmStBgEMSWR4AACFCgxEcGFsbGV0X3N0YWJsZXN3YXAYcGFsbGV0FEVycm9yBARUAAFwPEluY29ycmVjdEFzc2V0cwAABBkBQ3JlYXRpbmcgYSBwb29sIHdpdGggc2FtZSBhc3NldHMgb3IgbGVzcyB0aGFuIDIgYXNzZXRzIGlzIG5vdCBhbGxvd2VkLkRNYXhBc3NldHNFeGNlZWRlZAABBKxNYXhpbXVtIG51bWJlciBvZiBhc3NldHMgaGFzIGJlZW4gZXhjZWVkZWQuMFBvb2xOb3RGb3VuZAACBKBBIHBvb2wgd2l0aCBnaXZlbiBhc3NldHMgZG9lcyBub3QgZXhpc3QuKFBvb2xFeGlzdHMAAwSgQSBwb29sIHdpdGggZ2l2ZW4gYXNzZXRzIGFscmVhZHkgZXhpc3RzLjhBc3NldE5vdEluUG9vbAAEBGRBc3NldCBpcyBub3QgaW4gdGhlIHBvb2wuXFNoYXJlQXNzZXROb3RSZWdpc3RlcmVkAAUEqFNoYXJlIGFzc2V0IGlzIG5vdCByZWdpc3RlcmVkIGluIFJlZ2lzdHJ5LlhTaGFyZUFzc2V0SW5Qb29sQXNzZXRzAAYEyFNoYXJlIGFzc2V0IGlzIGFtb3VudCBhc3NldHMgd2hlbiBjcmVhdGluZyBhIHBvb2wuSEFzc2V0Tm90UmVnaXN0ZXJlZAAHBNhPbmUgb3IgbW9yZSBhc3NldHMgYXJlIG5vdCByZWdpc3RlcmVkIGluIEFzc2V0UmVnaXN0cnlISW52YWxpZEFzc2V0QW1vdW50AAgEAQFJbnZhbGlkIGFzc2V0IGFtb3VudCBwcm92aWRlZC4gQW1vdW50IG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8uTEluc3VmZmljaWVudEJhbGFuY2UACQTkQmFsYW5jZSBvZiBhbiBhc3NldCBpcyBub3Qgc3VmZmljaWVudCB0byBwZXJmb3JtIGEgdHJhZGUuSEluc3VmZmljaWVudFNoYXJlcwAKBAUBQmFsYW5jZSBvZiBhIHNoYXJlIGFzc2V0IGlzIG5vdCBzdWZmaWNpZW50IHRvIHdpdGhkcmF3IGxpcXVpZGl0eS5USW5zdWZmaWNpZW50TGlxdWlkaXR5AAsEvExpcXVpZGl0eSBoYXMgbm90IHJlYWNoZWQgdGhlIHJlcXVpcmVkIG1pbmltdW0ueEluc3VmZmljaWVudExpcXVpZGl0eVJlbWFpbmluZwAMBORJbnN1ZmZpY2llbnQgbGlxdWlkaXR5IGxlZnQgaW4gdGhlIHBvb2wgYWZ0ZXIgd2l0aGRyYXdhbC5kSW5zdWZmaWNpZW50VHJhZGluZ0Ftb3VudAANBOhBbW91bnQgaXMgbGVzcyB0aGFuIHRoZSBtaW5pbXVtIHRyYWRpbmcgYW1vdW50IGNvbmZpZ3VyZWQuSEJ1eUxpbWl0Tm90UmVhY2hlZAAOBMBNaW5pbXVtIGxpbWl0IGhhcyBub3QgYmVlbiByZWFjaGVkIGR1cmluZyB0cmFkZS5EU2VsbExpbWl0RXhjZWVkZWQADwS0TWF4aW11bSBsaW1pdCBoYXMgYmVlbiBleGNlZWRlZCBkdXJpbmcgdHJhZGUuXEludmFsaWRJbml0aWFsTGlxdWlkaXR5ABAEnEluaXRpYWwgbGlxdWlkaXR5IG9mIGFzc2V0IG11c3QgYmUgPiAwLlBJbnZhbGlkQW1wbGlmaWNhdGlvbgARBKhBbXBsaWZpY2F0aW9uIGlzIG91dHNpZGUgY29uZmlndXJlZCByYW5nZS5gSW5zdWZmaWNpZW50U2hhcmVCYWxhbmNlABIEGQFSZW1haW5pbmcgYmFsYW5jZSBvZiBzaGFyZSBhc3NldCBpcyBiZWxvdyBhc3NldCdzIGV4aXN0ZW50aWFsIGRlcG9zaXQuKE5vdEFsbG93ZWQAEwTMTm90IGFsbG93ZWQgdG8gcGVyZm9ybSBhbiBvcGVyYXRpb24gb24gZ2l2ZW4gYXNzZXQuJFBhc3RCbG9jawAUBIxGdXR1cmUgYmxvY2sgbnVtYmVyIGlzIGluIHRoZSBwYXN0LkRTYW1lQW1wbGlmaWNhdGlvbgAVBMROZXcgYW1wbGlmaWNhdGlvbiBpcyBlcXVhbCB0byB0aGUgcHJldmlvdXMgdmFsdWUuNFNsaXBwYWdlTGltaXQAFgRQU2xpcHBhZ2UgcHJvdGVjdGlvbi48VW5rbm93bkRlY2ltYWxzABcEiEZhaWxlZCB0byByZXRyaWV2ZSBhc3NldCBkZWNpbWFscy5QSW5jb3JyZWN0SW5pdGlhbFBlZ3MAGASMTGlzdCBvZiBwcm92aWRlZCBwZWdzIGlzIGluY29ycmVjdC5YTWlzc2luZ1RhcmdldFBlZ09yYWNsZQAZBIBGYWlsZWQgdG8gcmV0cmlldmUgb3JhY2xlIGVudHJ5LlhJbmNvcnJlY3RBc3NldERlY2ltYWxzABoEJQFDcmVhdGluZyBwb29sIHdpdGggcGVncyBpcyBub3QgYWxsb3dlZCBmb3IgYXNzZXQgd2l0aCBkaWZmZXJlbnQgZGVjaW1hbHMuLE5vUGVnU291cmNlABsEjFBvb2wgZG9lcyBub3QgaGF2ZSBwZWdzIGNvbmZpZ3VyZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LokKAAAECBAwAI0KDDBwYWxsZXRfYm9uZHMYcGFsbGV0FEVycm9yBARUAAEcNE5vdFJlZ2lzdGVyZWQAAARMQm9uZCBub3QgcmVnaXN0ZXJlZCROb3RNYXR1cmUAAQRIQm9uZCBpcyBub3QgbWF0dXJlPEludmFsaWRNYXR1cml0eQACBGBNYXR1cml0eSBub3QgbG9uZyBlbm91Z2g8RGlzYWxsb3dlZEFzc2V0AAMErEFzc2V0IHR5cGUgbm90IGFsbG93ZWQgZm9yIHVuZGVybHlpbmcgYXNzZXQ0QXNzZXROb3RGb3VuZAAEBKhBc3NldCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBgQXNzZXRSZWdpc3RyeWA8SW52YWxpZEJvbmROYW1lAAUEcEdlbmVyYXRlZCBuYW1lIGlzIG5vdCB2YWxpZC48RmFpbFRvUGFyc2VOYW1lAAYEmEJvbmQncyBuYW1lIHBhcnNpbmcgd2FzIG5vdyBzdWNjZXNzZnVsBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LpEKDFhwYWxsZXRfb3RjX3NldHRsZW1lbnRzGHBhbGxldBRFcnJvcgQEVAABHDRPcmRlck5vdEZvdW5kAAAETE90YyBvcmRlciBub3QgZm91bmRQTm90UGFydGlhbGx5RmlsbGFibGUAAQSMT1RDIG9yZGVyIGlzIG5vdCBwYXJ0aWFsbHkgZmlsbGFibGUwSW52YWxpZFJvdXRlAAIEvFByb3ZpZGVkIHJvdXRlIGRvZXNuJ3QgbWF0Y2ggdGhlIGV4aXN0aW5nIHJvdXRlUEJhbGFuY2VJbmNvbnNpc3RlbmN5AAMEnEluaXRpYWwgYW5kIGZpbmFsIGJhbGFuY2UgYXJlIGRpZmZlcmVudEhUcmFkZUFtb3VudFRvb0hpZ2gABASIVHJhZGUgYW1vdW50IGhpZ2hlciB0aGFuIG5lY2Vzc2FyeURUcmFkZUFtb3VudFRvb0xvdwAFBIRUcmFkZSBhbW91bnQgbG93ZXIgdGhhbiBuZWNlc3NhcnlEUHJpY2VOb3RBdmFpbGFibGUABgSIUHJpY2UgZm9yIGEgcm91dGUgaXMgbm90IGF2YWlsYWJsZQSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6VCgwocGFsbGV0X2xicBhwYWxsZXQURXJyb3IEBFQAAVx4Q2Fubm90Q3JlYXRlUG9vbFdpdGhTYW1lQXNzZXRzAAAEfFBvb2wgYXNzZXRzIGNhbiBub3QgYmUgdGhlIHNhbWUgTm90T3duZXIAAQRsQWNjb3VudCBpcyBub3QgYSBwb29sIG93bmVyLFNhbGVTdGFydGVkAAIEUFNhbGUgYWxyZWFkeSBzdGFydGVkMFNhbGVOb3RFbmRlZAADBGRTYWxlIGlzIHN0aWxsIGluIHByb2dyZXNzQFNhbGVJc05vdFJ1bm5pbmcABARMU2FsZSBpcyBub3QgcnVubmluZ1xNYXhTYWxlRHVyYXRpb25FeGNlZWRlZAAFBGRTYWxlIGR1cmF0aW9uIGlzIHRvbyBsb25nWENhbm5vdEFkZFplcm9MaXF1aWRpdHkABgSgTGlxdWlkaXR5IGJlaW5nIGFkZGVkIHNob3VsZCBub3QgYmUgemVyb2BJbnN1ZmZpY2llbnRBc3NldEJhbGFuY2UABwRUQXNzZXQgYmFsYW5jZSB0b28gbG93MFBvb2xOb3RGb3VuZAAIBExQb29sIGRvZXMgbm90IGV4aXN0RFBvb2xBbHJlYWR5RXhpc3RzAAkEdFBvb2wgaGFzIGJlZW4gYWxyZWFkeSBjcmVhdGVkREludmFsaWRCbG9ja1JhbmdlAAoETEludmFsaWQgYmxvY2sgcmFuZ2VYV2VpZ2h0Q2FsY3VsYXRpb25FcnJvcgALBERDYWxjdWxhdGlvbiBlcnJvcjRJbnZhbGlkV2VpZ2h0AAwEaFdlaWdodCBzZXQgaXMgb3V0IG9mIHJhbmdlKFplcm9BbW91bnQADQSgQ2FuIG5vdCBwZXJmb3JtIGEgdHJhZGUgd2l0aCB6ZXJvIGFtb3VudEhNYXhJblJhdGlvRXhjZWVkZWQADgRgVHJhZGUgYW1vdW50IGlzIHRvbyBoaWdoTE1heE91dFJhdGlvRXhjZWVkZWQADwRgVHJhZGUgYW1vdW50IGlzIHRvbyBoaWdoQEZlZUFtb3VudEludmFsaWQAEARISW52YWxpZCBmZWUgYW1vdW50TFRyYWRpbmdMaW1pdFJlYWNoZWQAEQRUVHJhZGluZyBsaW1pdCByZWFjaGVkIE92ZXJmbG93ABIEnEFuIHVuZXhwZWN0ZWQgaW50ZWdlciBvdmVyZmxvdyBvY2N1cnJlZDxOb3RoaW5nVG9VcGRhdGUAEwRETm90aGluZyB0byB1cGRhdGVUSW5zdWZmaWNpZW50TGlxdWlkaXR5ABQEvExpcXVpZGl0eSBoYXMgbm90IHJlYWNoZWQgdGhlIHJlcXVpcmVkIG1pbmltdW0uZEluc3VmZmljaWVudFRyYWRpbmdBbW91bnQAFQSoQW1vdW50IGlzIGxlc3MgdGhhbiBtaW5pbXVtIHRyYWRpbmcgbGltaXQugEZlZUNvbGxlY3RvcldpdGhBc3NldEFscmVhZHlVc2VkABYEsE5vdCBtb3JlIHRoYW4gb25lIGZlZSBjb2xsZWN0b3IgcGVyIGFzc2V0IGlkBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LpkKDChwYWxsZXRfeHlrGHBhbGxldBRFcnJvcgQEVAABaHhDYW5ub3RDcmVhdGVQb29sV2l0aFNhbWVBc3NldHMAAATcSXQgaXMgbm90IGFsbG93ZWQgdG8gY3JlYXRlIGEgcG9vbCBiZXR3ZWVuIHNhbWUgYXNzZXRzLlRJbnN1ZmZpY2llbnRMaXF1aWRpdHkAAQS8TGlxdWlkaXR5IGhhcyBub3QgcmVhY2hlZCB0aGUgcmVxdWlyZWQgbWluaW11bS5kSW5zdWZmaWNpZW50VHJhZGluZ0Ftb3VudAACBJhBbW91bnQgaXMgbGVzcyB0aGFuIG1pbiB0cmFkaW5nIGxpbWl0LjRaZXJvTGlxdWlkaXR5AAMESExpcXVpZGl0eSBpcyB6ZXJvLkBaZXJvSW5pdGlhbFByaWNlAAQI7El0IGlzIG5vdCBhbGxvd2VkIHRvIGNyZWF0ZSBhIHBvb2wgd2l0aCB6ZXJvIGluaXRpYWwgcHJpY2UupE5vdCB1c2VkLCBrZXB0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5cENyZWF0ZVBvb2xBc3NldEFtb3VudEludmFsaWQABQggT3ZlcmZsb3ekTm90IHVzZWQsIGtlcHQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlYSW52YWxpZE1pbnRlZExpcXVpZGl0eQAGBCBPdmVyZmxvd1hJbnZhbGlkTGlxdWlkaXR5QW1vdW50AAcEIE92ZXJmbG93YEFzc2V0QW1vdW50RXhjZWVkZWRMaW1pdAAIBJhBc3NldCBhbW91bnQgaGFzIGV4Y2VlZGVkIGdpdmVuIGxpbWl0LmhBc3NldEFtb3VudE5vdFJlYWNoZWRMaW1pdAAJBKRBc3NldCBhbW91bnQgaGFzIG5vdCByZWFjaGVkIGdpdmVuIGxpbWl0LmBJbnN1ZmZpY2llbnRBc3NldEJhbGFuY2UACgSAQXNzZXQgYmFsYW5jZSBpcyBub3Qgc3VmZmljaWVudC5wSW5zdWZmaWNpZW50UG9vbEFzc2V0QmFsYW5jZQALBJxOb3QgZW5vdWdoIGFzc2V0IGxpcXVpZGl0eSBpbiB0aGUgcG9vbC6ESW5zdWZmaWNpZW50TmF0aXZlQ3VycmVuY3lCYWxhbmNlAAwEsE5vdCBlbm91Z2ggY29yZSBhc3NldCBsaXF1aWRpdHkgaW4gdGhlIHBvb2wuRFRva2VuUG9vbE5vdEZvdW5kAA0EvExpcXVpZGl0eSBwb29sIGZvciBnaXZlbiBhc3NldHMgZG9lcyBub3QgZXhpc3QuWFRva2VuUG9vbEFscmVhZHlFeGlzdHMADgS8TGlxdWlkaXR5IHBvb2wgZm9yIGdpdmVuIGFzc2V0cyBhbHJlYWR5IGV4aXN0cy5UQWRkQXNzZXRBbW91bnRJbnZhbGlkAA8EIE92ZXJmbG93YFJlbW92ZUFzc2V0QW1vdW50SW52YWxpZAAQBCBPdmVyZmxvd1hTZWxsQXNzZXRBbW91bnRJbnZhbGlkABEEIE92ZXJmbG93VEJ1eUFzc2V0QW1vdW50SW52YWxpZAASBCBPdmVyZmxvd0BGZWVBbW91bnRJbnZhbGlkABMEIE92ZXJmbG93TENhbm5vdEFwcGx5RGlzY291bnQAFAQgT3ZlcmZsb3dMTWF4T3V0UmF0aW9FeGNlZWRlZAAVBBEBTWF4IGZyYWN0aW9uIG9mIHBvb2wgdG8gYnV5IGluIHNpbmdsZSB0cmFuc2FjdGlvbiBoYXMgYmVlbiBleGNlZWRlZC5ITWF4SW5SYXRpb0V4Y2VlZGVkABYEFQFNYXggZnJhY3Rpb24gb2YgcG9vbCB0byBzZWxsIGluIHNpbmdsZSB0cmFuc2FjdGlvbiBoYXMgYmVlbiBleGNlZWRlZC4gT3ZlcmZsb3cAFwQgT3ZlcmZsb3dAQ2Fubm90Q3JlYXRlUG9vbAAYBLhQb29sIGNhbm5vdCBiZSBjcmVhdGVkIGR1ZSB0byBvdXRzaWRlIGZhY3RvcnMuNFNsaXBwYWdlTGltaXQAGQRQU2xpcHBhZ2UgcHJvdGVjdGlvbi4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQunQoAAAQI4QMYAKEKAAAECBDhAwClCgAABAwQGAAAqQoMQHBhbGxldF9yZWZlcnJhbHMYcGFsbGV0FEVycm9yBARUAAE4HFRvb0xvbmcAAARoUmVmZXJyYWwgY29kZSBpcyB0b28gbG9uZy4gVG9vU2hvcnQAAQRsUmVmZXJyYWwgY29kZSBpcyB0b28gc2hvcnQuQEludmFsaWRDaGFyYWN0ZXIAAgRNAVJlZmVycmFsIGNvZGUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIuIE9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYXJlIGFsbG93ZWQuNEFscmVhZHlFeGlzdHMAAwR0UmVmZXJyYWwgY29kZSBhbHJlYWR5IGV4aXN0cy4sSW52YWxpZENvZGUABAQhAVByb3ZpZGVkIHJlZmVycmFsIGNvZGUgaXMgaW52YWxpZC4gRWl0aGVyIGRvZXMgbm90IGV4aXN0IG9yIGlzIHRvbyBsb25nLjRBbHJlYWR5TGlua2VkAAUE2EFjY291bnQgaXMgYWxyZWFkeSBsaW5rZWQgdG8gYW5vdGhlciByZWZlcnJhbCBhY2NvdW50LihaZXJvQW1vdW50AAYEyE5vdGhpbmcgaW4gdGhlIHJlZmVycmFsIHBvdCBhY2NvdW50IGZvciB0aGUgYXNzZXQuOExpbmtOb3RBbGxvd2VkAAcE/ExpbmtpbmcgYW4gYWNjb3VudCB0byB0aGUgc2FtZSByZWZlcnJhbCBhY2NvdW50IGlzIG5vdCBhbGxvd2VkLmhJbmNvcnJlY3RSZXdhcmRDYWxjdWxhdGlvbgAIBJEBQ2FsY3VsYXRlZCByZXdhcmRzIGFyZSBtb3JlIHRoYW4gdGhlIGZlZSBhbW91bnQuIFRoaXMgY2FuIGhhcHBlbiBpZiBwZXJjZW50YWdlcyBhcmUgaW5jb3JyZWN0bHkgc2V0LmRJbmNvcnJlY3RSZXdhcmRQZXJjZW50YWdlAAkE7EdpdmVuIHJlZmVycmVyIGFuZCB0cmFkZXIgcGVyY2VudGFnZXMgZXhjZWVkcyAxMDAlIHBlcmNlbnQuREFscmVhZHlSZWdpc3RlcmVkAAoEqFRoZSBhY2NvdW50IGhhcyBhbHJlYWR5IGEgY29kZSByZWdpc3RlcmVkLjRQcmljZU5vdEZvdW5kAAsElFByaWNlIGZvciBnaXZlbiBhc3NldCBwYWlyIG5vdCBmb3VuZC6QQ29udmVyc2lvbk1pblRyYWRpbmdBbW91bnROb3RSZWFjaGVkAAwE7E1pbmltdW0gdHJhZGluZyBhbW91bnQgZm9yIGNvbnZlcnNpb24gaGFzIG5vdCBiZWVuIHJlYWNoZWQucENvbnZlcnNpb25aZXJvQW1vdW50UmVjZWl2ZWQADQSUWmVybyBhbW91bnQgcmVjZWl2ZWQgZnJvbSBjb252ZXJzaW9uLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6tCgxIcGFsbGV0X2xpcXVpZGF0aW9uGHBhbGxldBRFcnJvcgQEVAABGFRBc3NldENvbnZlcnNpb25GYWlsZWQAAASgQXNzZXRJZCB0byBFVk0gYWRkcmVzcyBjb252ZXJzaW9uIGZhaWxlZFRMaXF1aWRhdGlvbkNhbGxGYWlsZWQAAQRcTGlxdWlkYXRpb24gY2FsbCBmYWlsZWQwSW52YWxpZFJvdXRlAAIEvFByb3ZpZGVkIHJvdXRlIGRvZXNuJ3QgbWF0Y2ggdGhlIGV4aXN0aW5nIHJvdXRlNE5vdFByb2ZpdGFibGUAAwTkTGlxdWlkYXRpb24gd2FzIG5vdCBwcm9maXRhYmxlIGVub3VnaCB0byByZXBheSBmbGFzaCBsb2FuREZsYXNoTWludGVyTm90U2V0AAQEOQFGbGFzaCBtaW50ZXIgY29udHJhY3QgYWRkcmVzcyBub3Qgc2V0LiBJdCBpcyByZXF1aXJlZCBmb3IgSG9sbGFyIGxpcXVpZGF0aW9ucy5YSW52YWxpZExpcXVpZGF0aW9uRGF0YQAFBIRJbnZhbGlkIGxpcXVpZGF0aW9uIGRhdGEgcHJvdmlkZWQEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQusQoMKHBhbGxldF9oc20UdHlwZXM4Q29sbGF0ZXJhbEluZm8EHEFzc2V0SWQBEAAYARxwb29sX2lkEAEcQXNzZXRJZAABMHB1cmNoYXNlX2ZlZSEDARxQZXJtaWxsAAFkbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudD0BAUBDb2VmZmljaWVudFJhdGlvAAEwYnV5YmFja19yYXRl8QMBHFBlcmJpbGwAATBidXlfYmFja19mZWUhAwEcUGVybWlsbAABOG1heF9pbl9ob2xkaW5n4AE8T3B0aW9uPEJhbGFuY2U+AAC1CgwocGFsbGV0X2hzbRhwYWxsZXQURXJyb3IEBFQAAVhAQXNzZXROb3RBcHByb3ZlZAAADIxBc3NldCBpcyBub3QgYXBwcm92ZWQgYXMgY29sbGF0ZXJhbABlAVRoZSBvcGVyYXRpb24gYXR0ZW1wdGVkIHRvIHVzZSBhbiBhc3NldCB0aGF0IGlzIG5vdCByZWdpc3RlcmVkIGFzIGFuIGFwcHJvdmVkIGNvbGxhdGVyYWwuUEFzc2V0QWxyZWFkeUFwcHJvdmVkAAEMnEFzc2V0IGlzIGFscmVhZHkgYXBwcm92ZWQgYXMgY29sbGF0ZXJhbAAVAUF0dGVtcHRlZCB0byBhZGQgYW4gYXNzZXQgdGhhdCBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQgYXMgYSBjb2xsYXRlcmFsLmBQb29sQWxyZWFkeUhhc0NvbGxhdGVyYWwAAgzQQW5vdGhlciBhc3NldCBmcm9tIHRoZSBzYW1lIHBvb2wgaXMgYWxyZWFkeSBhcHByb3ZlZAANAU9ubHkgb25lIGFzc2V0IGZyb20gZWFjaCBTdGFibGVTd2FwIHBvb2wgY2FuIGJlIHVzZWQgYXMgY29sbGF0ZXJhbC5ASW52YWxpZEFzc2V0UGFpcgADDOhJbnZhbGlkIGFzc2V0IHBhaXIsIG11c3QgYmUgSG9sbGFyIGFuZCBhcHByb3ZlZCBjb2xsYXRlcmFsAL0BVGhlIGFzc2V0IHBhaXIgZm9yIGJ1eS9zZWxsIG9wZXJhdGlvbnMgbXVzdCBpbmNsdWRlIEhvbGxhciBhcyBvbmUgc2lkZSBhbmQgYW4gYXBwcm92ZWQgY29sbGF0ZXJhbCBhcyB0aGUgb3RoZXIuTE1heEJ1eVByaWNlRXhjZWVkZWQABAxYTWF4IGJ1eSBwcmljZSBleGNlZWRlZABJAVRoZSBjYWxjdWxhdGVkIGJ1eSBwcmljZSBleGNlZWRzIHRoZSBtYXhpbXVtIGFsbG93ZWQgYnV5IHByaWNlIGZvciB0aGUgY29sbGF0ZXJhbC5ITWF4QnV5QmFja0V4Y2VlZGVkAAUMsE1heCBidXkgYmFjayBhbW91bnQgaW4gc2luZ2xlIGJsb2NrIGV4Y2VlZGVkAKUBVGhlIGFtb3VudCBvZiBIb2xsYXIgYmVpbmcgc29sZCB0byBIU00gZXhjZWVkcyB0aGUgbWF4aW11bSBhbGxvd2VkIGluIGEgc2luZ2xlIGJsb2NrIGZvciB0aGlzIGNvbGxhdGVyYWwuSE1heEhvbGRpbmdFeGNlZWRlZAAGDKhNYXggaG9sZGluZyBhbW91bnQgZm9yIGNvbGxhdGVyYWwgZXhjZWVkZWQAdQFUaGUgb3BlcmF0aW9uIHdvdWxkIGNhdXNlIHRoZSBIU00gdG8gaG9sZCBtb3JlIG9mIHRoZSBjb2xsYXRlcmFsIHRoYW4gdGhlIGNvbmZpZ3VyZWQgbWF4aW11bS5UU2xpcHBhZ2VMaW1pdEV4Y2VlZGVkAAcMXFNsaXBwYWdlIGxpbWl0IGV4Y2VlZGVkAAEBVGhlIGNhbGN1bGF0ZWQgYW1vdW50IGlzIHdvcnNlIHRoYW4gdGhlIHByb3ZpZGVkIHNsaXBwYWdlIGxpbWl0LlRJbnZhbGlkRVZNSW50ZXJhY3Rpb24ACAyASW52YWxpZCBFVk0gY29udHJhY3QgaW50ZXJhY3Rpb24A3FRoZSBjYWxsIHRvIHRoZSBFVk0gY29udHJhY3QgKEdITyBIb2xsYXIgdG9rZW4pIGZhaWxlZC5YRGVjaW1hbFJldHJpZXZhbEZhaWxlZAAJDGBEZWNpbWFsIHJldHJpZXZhbCBmYWlsZWQA4EZhaWxlZCB0byByZXRyaWV2ZSB0aGUgZGVjaW1hbCBpbmZvcm1hdGlvbiBmb3IgYW4gYXNzZXQuWE5vQXJiaXRyYWdlT3Bwb3J0dW5pdHkACgxgTm8gYXJiaXRyYWdlIG9wcG9ydHVuaXR5ACkBVGhlcmUgaXMgbm8gcHJvZml0YWJsZSBhcmJpdHJhZ2Ugb3Bwb3J0dW5pdHkgZm9yIHRoZSBzcGVjaWZpZWQgY29sbGF0ZXJhbC5ET2ZmY2hhaW5Mb2NrRXJyb3IACwxMT2ZmY2hhaW4gbG9jayBlcnJvcgCFAUZhaWxlZCB0byBhY3F1aXJlIHRoZSBsb2NrIGZvciBvZmZjaGFpbiB3b3JrZXJzLCBsaWtlbHkgYmVjYXVzZSBhbm90aGVyIG9wZXJhdGlvbiBpcyBpbiBwcm9ncmVzcy40QXNzZXROb3RGb3VuZAAMDFRBc3NldCBub3QgaW4gdGhlIHBvb2wAuFRoZSBzcGVjaWZpZWQgYXNzZXQgd2FzIG5vdCBmb3VuZCBpbiB0aGUgcG9vbC5ASW52YWxpZFBvb2xTdGF0ZQANDHhQcm92aWRlZCBwb29sIHN0YXRlIGlzIGludmFsaWQA6FRoZSByZXRyaWV2ZWQgcG9vbCBzdGF0ZSBoYXMgaW5jb25zaXN0ZW50IG9yIGludmFsaWQgZGF0YS5IQ29sbGF0ZXJhbE5vdEVtcHR5AA4MXENvbGxhdGVyYWwgaXMgbm90IGVtcHR5AFkBQ2Fubm90IHJlbW92ZSBhIGNvbGxhdGVyYWwgYXNzZXQgdGhhdCBzdGlsbCBoYXMgYSBub24temVybyBiYWxhbmNlIGluIHRoZSBIU00gYWNjb3VudC44QXNzZXROb3RJblBvb2wADwxUQXNzZXQgbm90IGluIHRoZSBwb29sAOhUaGUgY29sbGF0ZXJhbCBhc3NldCBpcyBub3QgcHJlc2VudCBpbiB0aGUgc3BlY2lmaWVkIHBvb2wuPEhvbGxhck5vdEluUG9vbAAQDGRIb2xsYXIgaXMgbm90IGluIHRoZSBwb29sANhUaGUgSG9sbGFyIGFzc2V0IGlzIG5vdCBwcmVzZW50IGluIHRoZSBzcGVjaWZpZWQgcG9vbC50SW5zdWZmaWNpZW50Q29sbGF0ZXJhbEJhbGFuY2UAEQx8SW5zdWZmaWNpZW50IGNvbGxhdGVyYWwgYmFsYW5jZQA9AVRoZSBIU00gZG9lcyBub3QgaGF2ZSBlbm91Z2ggb2YgdGhlIGNvbGxhdGVyYWwgYXNzZXQgdG8gY29tcGxldGUgdGhlIG9wZXJhdGlvbi50SG9sbGFyQ29udHJhY3RBZGRyZXNzTm90Rm91bmQAEgx4R0hPIENvbnRyYWN0IGFkZHJlc3Mgbm90IGZvdW5kAAkBVGhlIEVWTSBhZGRyZXNzIGZvciB0aGUgR0hPIChIb2xsYXIpIHRva2VuIGNvbnRyYWN0IHdhcyBub3QgZm91bmQudE1heE51bWJlck9mQ29sbGF0ZXJhbHNSZWFjaGVkABME5EhTTSBjb250YWlucyBtYXhpbXVtIG51bWJlciBvZiBhbGxvd2VkIGNvbGxhdGVyYWwgYXNzZXRzLkRGbGFzaE1pbnRlck5vdFNldAAUBHBGbGFzaCBtaW50ZXIgYWRkcmVzcyBub3Qgc2V0UEludmFsaWRBcmJpdHJhZ2VEYXRhABUEiFByb3ZpZGVkIGFyYml0cmFnZSBkYXRhIGlzIGludmFsaWQEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuuQoMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAG9CgRTAAAEAMEKARhWZWM8VD4AAL0KCCxvcm1sX3Rva2VucyxCYWxhbmNlTG9jawQcQmFsYW5jZQEYAAgBCGlk/QEBOExvY2tJZGVudGlmaWVyAAEYYW1vdW50GAEcQmFsYW5jZQAAwQoAAAK9CgDFCggsb3JtbF90b2tlbnMsQWNjb3VudERhdGEEHEJhbGFuY2UBGAAMARBmcmVlGAEcQmFsYW5jZQABIHJlc2VydmVkGAEcQmFsYW5jZQABGGZyb3plbhgBHEJhbGFuY2UAAMkKDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBzQoEUwAABADRCgEYVmVjPFQ+AADNCggsb3JtbF90b2tlbnMsUmVzZXJ2ZURhdGEIRFJlc2VydmVJZGVudGlmaWVyAf0BHEJhbGFuY2UBGAAIAQhpZP0BAURSZXNlcnZlSWRlbnRpZmllcgABGGFtb3VudBgBHEJhbGFuY2UAANEKAAACzQoA1QoMLG9ybWxfdG9rZW5zGG1vZHVsZRRFcnJvcgQEVAABIDRCYWxhbmNlVG9vTG93AAAEWFRoZSBiYWxhbmNlIGlzIHRvbyBsb3dcQW1vdW50SW50b0JhbGFuY2VGYWlsZWQAAQScQ2Fubm90IGNvbnZlcnQgQW1vdW50IGludG8gQmFsYW5jZSB0eXBlVExpcXVpZGl0eVJlc3RyaWN0aW9ucwACBNBGYWlsZWQgYmVjYXVzZSBsaXF1aWRpdHkgcmVzdHJpY3Rpb25zIGR1ZSB0byBsb2NraW5nQE1heExvY2tzRXhjZWVkZWQAAwS0RmFpbGVkIGJlY2F1c2UgdGhlIG1heGltdW0gbG9ja3Mgd2FzIGV4Y2VlZGVkJEtlZXBBbGl2ZQAEBIxUcmFuc2Zlci9wYXltZW50IHdvdWxkIGtpbGwgYWNjb3VudEhFeGlzdGVudGlhbERlcG9zaXQABQToVmFsdWUgdG9vIGxvdyB0byBjcmVhdGUgYWNjb3VudCBkdWUgdG8gZXhpc3RlbnRpYWwgZGVwb3NpdCxEZWFkQWNjb3VudAAGBIhCZW5lZmljaWFyeSBhY2NvdW50IG11c3QgcHJlLWV4aXN0PFRvb01hbnlSZXNlcnZlcwAHAASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7ZCgxEcGFsbGV0X2N1cnJlbmNpZXMYbW9kdWxlFEVycm9yBARUAAEQXEFtb3VudEludG9CYWxhbmNlRmFpbGVkAAAEvFVuYWJsZSB0byBjb252ZXJ0IHRoZSBBbW91bnQgdHlwZSBpbnRvIEJhbGFuY2UuNEJhbGFuY2VUb29Mb3cAAQRMQmFsYW5jZSBpcyB0b28gbG93LjREZXBvc2l0RmFpbGVkAAIEeERlcG9zaXQgcmVzdWx0IGlzIG5vdCBleHBlY3RlZDBOb3RTdXBwb3J0ZWQAAwSwT3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgY3VycmVuY3kEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu3QoMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEVBARTAAAEABkEARhWZWM8VD4AAOEKDDBvcm1sX3Zlc3RpbmcYbW9kdWxlFEVycm9yBARUAAEYRFplcm9WZXN0aW5nUGVyaW9kAAAEWFZlc3RpbmcgcGVyaW9kIGlzIHplcm9YWmVyb1Zlc3RpbmdQZXJpb2RDb3VudAABBFxOdW1iZXIgb2YgdmVzdHMgaXMgemVyb2RJbnN1ZmZpY2llbnRCYWxhbmNlVG9Mb2NrAAIEmEluc3VmZmljaWVudCBhbW91bnQgb2YgYmFsYW5jZSB0byBsb2NrXFRvb01hbnlWZXN0aW5nU2NoZWR1bGVzAAMEsFRoaXMgYWNjb3VudCBoYXZlIHRvbyBtYW55IHZlc3Rpbmcgc2NoZWR1bGVzJEFtb3VudExvdwAEBJRUaGUgdmVzdGVkIHRyYW5zZmVyIGFtb3VudCBpcyB0b28gbG93bE1heFZlc3RpbmdTY2hlZHVsZXNFeGNlZWRlZAAFBORGYWlsZWQgYmVjYXVzZSB0aGUgbWF4aW11bSB2ZXN0aW5nIHNjaGVkdWxlcyB3YXMgZXhjZWVkZWQEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu5QoIKHBhbGxldF9ldm0wQ29kZU1ldGFkYXRhAAAIARBzaXplMAEMdTY0AAEQaGFzaDQBEEgyNTYAAOkKAAAECEEBNADtCgwocGFsbGV0X2V2bRhwYWxsZXQURXJyb3IEBFQAATQoQmFsYW5jZUxvdwAABJBOb3QgZW5vdWdoIGJhbGFuY2UgdG8gcGVyZm9ybSBhY3Rpb24sRmVlT3ZlcmZsb3cAAQSAQ2FsY3VsYXRpbmcgdG90YWwgZmVlIG92ZXJmbG93ZWQ8UGF5bWVudE92ZXJmbG93AAIEkENhbGN1bGF0aW5nIHRvdGFsIHBheW1lbnQgb3ZlcmZsb3dlZDhXaXRoZHJhd0ZhaWxlZAADBExXaXRoZHJhdyBmZWUgZmFpbGVkOEdhc1ByaWNlVG9vTG93AAQEVEdhcyBwcmljZSBpcyB0b28gbG93LjBJbnZhbGlkTm9uY2UABQRATm9uY2UgaXMgaW52YWxpZDhHYXNMaW1pdFRvb0xvdwAGBFRHYXMgbGltaXQgaXMgdG9vIGxvdy48R2FzTGltaXRUb29IaWdoAAcEWEdhcyBsaW1pdCBpcyB0b28gaGlnaC44SW52YWxpZENoYWluSWQACARgVGhlIGNoYWluIGlkIGlzIGludmFsaWQuQEludmFsaWRTaWduYXR1cmUACQRkdGhlIHNpZ25hdHVyZSBpcyBpbnZhbGlkLihSZWVudHJhbmN5AAoEOEVWTSByZWVudHJhbmN5aFRyYW5zYWN0aW9uTXVzdENvbWVGcm9tRU9BAAsEJEVJUC0zNjA3LCRVbmRlZmluZWQADARAVW5kZWZpbmVkIGVycm9yLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7xCgAABAwxBPUKCQsA9QoIGGZwX3JwY0RUcmFuc2FjdGlvblN0YXR1cwAAHAFAdHJhbnNhY3Rpb25faGFzaDQBEEgyNTYAAUR0cmFuc2FjdGlvbl9pbmRleBABDHUzMgABEGZyb21BAQEcQWRkcmVzcwABCHRv+QoBPE9wdGlvbjxBZGRyZXNzPgABQGNvbnRyYWN0X2FkZHJlc3P5CgE8T3B0aW9uPEFkZHJlc3M+AAEQbG9nc/0KASBWZWM8TG9nPgABKGxvZ3NfYmxvb20BCwEUQmxvb20AAPkKBBhPcHRpb24EBFQBQQEBCBBOb25lAAAAEFNvbWUEAEEBAAABAAD9CgAAAvUGAAELCCBldGhibG9vbRRCbG9vbQAABAAFCwFAW3U4OyBCTE9PTV9TSVpFXQAABQsAAAMAAQAACAAJCwwgZXRoZXJldW0ccmVjZWlwdCRSZWNlaXB0VjMAAQwYTGVnYWN5BAANCwFERUlQNjU4UmVjZWlwdERhdGEAAAAcRUlQMjkzMAQADQsBSEVJUDI5MzBSZWNlaXB0RGF0YQABABxFSVAxNTU5BAANCwFIRUlQMTU1OVJlY2VpcHREYXRhAAIAAA0LDCBldGhlcmV1bRxyZWNlaXB0REVJUDY1OFJlY2VpcHREYXRhAAAQASxzdGF0dXNfY29kZQgBCHU4AAEgdXNlZF9nYXNJAQEQVTI1NgABKGxvZ3NfYmxvb20BCwEUQmxvb20AARBsb2dz/QoBIFZlYzxMb2c+AAARCwwgZXRoZXJldW0UYmxvY2sUQmxvY2sEBFQBMQQADAEYaGVhZGVyFQsBGEhlYWRlcgABMHRyYW5zYWN0aW9ucx0LARhWZWM8VD4AARhvbW1lcnMhCwEsVmVjPEhlYWRlcj4AABULDCBldGhlcmV1bRhoZWFkZXIYSGVhZGVyAAA8ASxwYXJlbnRfaGFzaDQBEEgyNTYAASxvbW1lcnNfaGFzaDQBEEgyNTYAASxiZW5lZmljaWFyeUEBARBIMTYwAAEoc3RhdGVfcm9vdDQBEEgyNTYAAUR0cmFuc2FjdGlvbnNfcm9vdDQBEEgyNTYAATRyZWNlaXB0c19yb290NAEQSDI1NgABKGxvZ3NfYmxvb20BCwEUQmxvb20AAShkaWZmaWN1bHR5SQEBEFUyNTYAARhudW1iZXJJAQEQVTI1NgABJGdhc19saW1pdEkBARBVMjU2AAEgZ2FzX3VzZWRJAQEQVTI1NgABJHRpbWVzdGFtcDABDHU2NAABKGV4dHJhX2RhdGE4ARRCeXRlcwABIG1peF9oYXNoNAEQSDI1NgABFG5vbmNlGQsBDEg2NAAAGQsMOGV0aGVyZXVtX3R5cGVzEGhhc2gMSDY0AAAEAP0BARxbdTg7IDhdAAAdCwAAAjEEACELAAACFQsAJQsAAAIJCwApCwAAAvUKAC0LDDxwYWxsZXRfZXRoZXJldW0YcGFsbGV0FEVycm9yBARUAAEIQEludmFsaWRTaWduYXR1cmUAAARUU2lnbmF0dXJlIGlzIGludmFsaWQuMFByZUxvZ0V4aXN0cwABBNhQcmUtbG9nIGlzIHByZXNlbnQsIHRoZXJlZm9yZSB0cmFuc2FjdCBpcyBub3QgYWxsb3dlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuMQsMTHBhbGxldF9ldm1fYWNjb3VudHMYcGFsbGV0FEVycm9yBARUAAEQbFRydW5jYXRlZEFjY291bnRBbHJlYWR5VXNlZAAABIhBY3RpdmUgRVZNIGFjY291bnQgY2Fubm90IGJlIGJvdW5kTEFkZHJlc3NBbHJlYWR5Qm91bmQAAQRgQWRkcmVzcyBpcyBhbHJlYWR5IGJvdW5kYEJvdW5kQWRkcmVzc0Nhbm5vdEJlVXNlZAACBHBCb3VuZCBhZGRyZXNzIGNhbm5vdCBiZSB1c2VkVEFkZHJlc3NOb3RXaGl0ZWxpc3RlZAADBFxBZGRyZXNzIG5vdCB3aGl0ZWxpc3RlZASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC41CwxscGFsbGV0X3h5a19saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFcnJvcgQEVAABNFBDYW50RmluZERlcG9zaXRPd25lcgAABIhOZnQgcGFsbGV0IGRpZG4ndCByZXR1cm4gYW4gb3duZXIucEluc3VmZmljaWVudFh5a1NoYXJlc0JhbGFuY2UAAQTUQWNjb3VudCBiYWxhbmNlIG9mIFhZSyBwb29sIHNoYXJlcyBpcyBub3Qgc3VmZmljaWVudC5IWHlrUG9vbERvZXNudEV4aXN0AAIEXFhZSyBwb29sIGRvZXMgbm90IGV4aXN0PE5vdERlcG9zaXRPd25lcgADBHRBY2NvdW50IGlzIG5vdCBkZXBvc2l0IG93bmVyLkBDYW50R2V0WHlrQXNzZXRzAAQErFhZSyBkaWQgbm90IHJldHVybiBhc3NldHMgZm9yIGdpdmVuIHBvb2wgaWRMRGVwb3NpdERhdGFOb3RGb3VuZAAFBFhEZXBvc2l0IGRhdGEgbm90IGZvdW5kSFplcm9DbGFpbWVkUmV3YXJkcwAGBIBDYWxjdWxhdGVkIHJld2FyZCB0byBjbGFpbSBpcyAwLkxBc3NldE5vdEluQXNzZXRQYWlyAAcEgEFzc2V0IGlzIG5vdCBpbiB0aGUgYEFzc2V0UGFpcmAuQEludmFsaWRBc3NldFBhaXIACATAUHJvdmlkZWQgYEFzc2V0UGFpcmAgaXMgbm90IHVzZWQgYnkgdGhlIGRlcG9zaXQuSEFzc2V0Tm90UmVnaXN0ZXJlZAAJBKhBc3NldCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBhc3NldCByZWdpc3RyeS44RmFpbFRvR2V0UG90SWQACgSQRmFpbGVkIHRvIGNhbGN1bGF0ZSBgcG90YCdzIGFjY291bnQuQE5vRmFybXNTcGVjaWZpZWQACwTMTm8gZ2xvYmFsIGZhcm0gLSB5aWVsZCBmYXJtIHBhaXJzIHNwZWNpZmllZCB0byBqb2luTEZhaWxlZFRvVmFsdWVTaGFyZXMADAScRmFpbGVkIHRvIGNhbGN1bGF0ZSB2YWx1ZSBvZiB4eWsgc2hhcmVzBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LjkLDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlczhHbG9iYWxGYXJtRGF0YQgEVAAESQAASAEIaWQQATBHbG9iYWxGYXJtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABKHVwZGF0ZWRfYXQQASxQZXJpb2RPZjxUPgABOHRvdGFsX3NoYXJlc196GAEcQmFsYW5jZQABPGFjY3VtdWxhdGVkX3Jwej0BASRGaXhlZFUxMjgAATxyZXdhcmRfY3VycmVuY3kQAShUOjpBc3NldElkAAE8cGVuZGluZ19yZXdhcmRzGAEcQmFsYW5jZQABYGFjY3VtdWxhdGVkX3BhaWRfcmV3YXJkcxgBHEJhbGFuY2UAAUB5aWVsZF9wZXJfcGVyaW9kPQMBLFBlcnF1aW50aWxsAAFgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzEAEsUGVyaW9kT2Y8VD4AAURibG9ja3NfcGVyX3BlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAFIaW5jZW50aXZpemVkX2Fzc2V0EAEoVDo6QXNzZXRJZAABVG1heF9yZXdhcmRfcGVyX3BlcmlvZBgBHEJhbGFuY2UAASxtaW5fZGVwb3NpdBgBHEJhbGFuY2UAAVhsaXZlX3lpZWxkX2Zhcm1zX2NvdW50EAEMdTMyAAFcdG90YWxfeWllbGRfZmFybXNfY291bnQQAQx1MzIAAUBwcmljZV9hZGp1c3RtZW50PQEBJEZpeGVkVTEyOAABFHN0YXRl9QkBJEZhcm1TdGF0ZQAAPQsAAAQMABAQAEELDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlczRZaWVsZEZhcm1EYXRhCARUAARJAAAwAQhpZBABGEZhcm1JZAABKHVwZGF0ZWRfYXQQASxQZXJpb2RPZjxUPgABMHRvdGFsX3NoYXJlcxgBHEJhbGFuY2UAAUx0b3RhbF92YWx1ZWRfc2hhcmVzGAEcQmFsYW5jZQABQGFjY3VtdWxhdGVkX3JwdnM9AQEkRml4ZWRVMTI4AAE8YWNjdW11bGF0ZWRfcnB6PQEBJEZpeGVkVTEyOAABNGxveWFsdHlfY3VydmVBAwFQT3B0aW9uPExveWFsdHlDdXJ2ZT4AAShtdWx0aXBsaWVyPQEBOEZhcm1NdWx0aXBsaWVyAAEUc3RhdGX1CQEkRmFybVN0YXRlAAE0ZW50cmllc19jb3VudDABDHU2NAABSGxlZnRfdG9fZGlzdHJpYnV0ZRgBHEJhbGFuY2UAATR0b3RhbF9zdG9wcGVkEAEsUGVyaW9kT2Y8VD4AAEULDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlcyxEZXBvc2l0RGF0YQgEVAAESQAADAEYc2hhcmVzGAEcQmFsYW5jZQABLGFtbV9wb29sX2lkAAEwVDo6QW1tUG9vbElkAAFIeWllbGRfZmFybV9lbnRyaWVzSQsB9EJvdW5kZWRWZWM8WWllbGRGYXJtRW50cnk8VCwgST4sIFQ6Ok1heEZhcm1FbnRyaWVzUGVyRGVwb3NpdD4AAEkLDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBTQsEUwAABABRCwEYVmVjPFQ+AABNCwxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXM4WWllbGRGYXJtRW50cnkIBFQABEkAACABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAE0dmFsdWVkX3NoYXJlcxgBHEJhbGFuY2UAAUBhY2N1bXVsYXRlZF9ycHZzPQEBJEZpeGVkVTEyOAABbGFjY3VtdWxhdGVkX2NsYWltZWRfcmV3YXJkcxgBHEJhbGFuY2UAAShlbnRlcmVkX2F0EAEsUGVyaW9kT2Y8VD4AASh1cGRhdGVkX2F0EAEsUGVyaW9kT2Y8VD4AAUxzdG9wcGVkX2F0X2NyZWF0aW9uEAEsUGVyaW9kT2Y8VD4AAFELAAACTQsAVQsMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFcnJvcggEVAAESQABdEhHbG9iYWxGYXJtTm90Rm91bmQAAARsR2xvYmFsIGZhcm0gZG9lcyBub3QgZXhpc3QuRFlpZWxkRmFybU5vdEZvdW5kAAEEaFlpZWxkIGZhcm0gZG9lcyBub3QgZXhpc3QuTERvdWJsZUNsYWltSW5QZXJpb2QAAgTITXVsdGlwbGUgY2xhaW1zIGluIHRoZSBzYW1lIHBlcmlvZCBpcyBub3QgYWxsb3dlZC5cTGlxdWlkaXR5TWluaW5nQ2FuY2VsZWQAAwR0TGlxdWlkaXR5IG1pbmluZyBpcyBjYW5jZWxlZC5cTGlxdWlkaXR5TWluaW5nSXNBY3RpdmUABASETGlxdWlkaXR5IG1pbmluZyBpcyBub3QgY2FuY2VsZWQubExpcXVpZGl0eU1pbmluZ0lzTm90U3RvcHBlZAAFBFUBTGlxdWlkaXR5IG1pbmluZyBpcyBpbiBgYWN0aXZlYCBvciBgdGVybWluYXRlZGAgc3RhdGUgYW5kIGFjdGlvbiBjYW5ub3QgYmUgY29tcGxldGVkLiRGb3JiaWRkZW4ABgSkQWNjb3VudCBpcyBub3QgYWxsb3dlZCB0byBwZXJmb3JtIGFjdGlvbi5ESW52YWxpZE11bHRpcGxpZXIABwSEWWllbGQgZmFybSBtdWx0aXBsaWVyIGNhbid0IGJlIDAuWFlpZWxkRmFybUFscmVhZHlFeGlzdHMACAQJAVlpZWxkIGZhcm0gd2l0aCBnaXZlbiBgYW1tX3Bvb2xfaWRgIGFscmVhZHkgZXhpc3RzIGluIGdsb2JhbCBmYXJtLnhJbnZhbGlkSW5pdGlhbFJld2FyZFBlcmNlbnRhZ2UACQQ9AUxveWFsdHkgY3VydmUncyBpbml0aWFsIHJld2FyZCBwZXJjZW50YWdlIGlzIG5vdCB2YWxpZC4gVmFsaWQgcmFuZ2UgaXM6IFswLCAxKS5QR2xvYmFsRmFybUlzTm90RW1wdHkACgS0T25lIG9yIG1vcmUgeWllbGQgZmFybXMgZXhpc3QgaW4gZ2xvYmFsIGZhcm0uYE1pc3NpbmdJbmNlbnRpdml6ZWRBc3NldAALBPhGYXJtJ3MgYGluY2VudGl2aXplZF9hc3NldGAgaXMgbWlzc2luZyBpbiBwcm92aWRlZCBhc3NldCBwYWlyLoRJbnN1ZmZpY2llbnRSZXdhcmRDdXJyZW5jeUJhbGFuY2UADASoUmV3YXJkIGN1cnJlbmN5IGJhbGFuY2UgaXMgbm90IHN1ZmZpY2llbnQuWEludmFsaWRCbG9ja3NQZXJQZXJpb2QADQR0QmxvY2tzIHBlciBwZXJpb2QgY2FuJ3QgYmUgMC5USW52YWxpZFlpZWxkUGVyUGVyaW9kAA4EcFlpZWxkIHBlciBwZXJpb2QgY2FuJ3QgYmUgMC5MSW52YWxpZFRvdGFsUmV3YXJkcwAPBMRUb3RhbCByZXdhcmRzIGlzIGxlc3MgdGhhbiBgTWluVG90YWxGYXJtUmV3YXJkc2AudEludmFsaWRQbGFubmVkWWllbGRpbmdQZXJpb2RzABAECQFQbGFubmVkIHlpZWxkaW5nIHBlcmlvZHMgaXMgbGVzcyB0aGFuIGBNaW5QbGFubmVkWWllbGRpbmdQZXJpb2RzYC5QTWF4RW50cmllc1BlckRlcG9zaXQAEQSwTWF4aW11bSBudW1iZXIgb2YgbG9ja3MgcmVhY2hlZCBmb3IgZGVwb3NpdC4oRG91YmxlTG9jawASBOBUcnlpbmcgdG8gbG9jayBMUCBzaGFyZXMgaW50byBhbHJlYWR5IGxvY2tlZCB5aWVsZCBmYXJtLlhZaWVsZEZhcm1FbnRyeU5vdEZvdW5kABMExFlpZWxkIGZhcm0gZW50cnkgZG9lc24ndCBleGlzdCBmb3IgZ2l2ZW4gZGVwb3NpdC5AR2xvYmFsRmFybUlzRnVsbAAUCEkBTWF4IG51bWJlciBvZiB5aWVsZCBmYXJtcyBpbiBnbG9iYWwgZmFybSB3YXMgcmVhY2hlZC4gR2xvYmFsIGZhcm0gY2FuJ3QgYWNjZXB0IG5ld/h5aWVsZCBmYXJtcyB1bnRpbCBzb21lIHlpZWxkIGZhcm0gaXMgbm90IHJlbW92ZWQgZnJvbSBzdG9yYWdlLkRJbnZhbGlkTWluRGVwb3NpdAAVBLRJbnZhbGlkIG1pbi4gZGVwb3NpdCB3YXMgc2V0IGZvciBnbG9iYWwgZmFybS5YSW52YWxpZFByaWNlQWRqdXN0bWVudAAWBJxQcmljZSBhZGp1c3RtZW50IG11bHRpcGxpZXIgY2FuJ3QgYmUgMC5ERXJyb3JHZXRBY2NvdW50SWQAFwSAQWNjb3VudCBjcmVhdGlvbiBmcm9tIGlkIGZhaWxlZC5USW5jb3JyZWN0VmFsdWVkU2hhcmVzABgEJQFWYWx1ZSBvZiBkZXBvc2l0ZWQgc2hhcmVzIGFtb3VudCBpbiByZXdhcmQgY3VycmVuY3kgaXMgYmVsbG93IG1pbi4gbGltaXQubFJld2FyZEN1cnJlbmN5Tm90UmVnaXN0ZXJlZAAZBNhgcmV3YXJkX2N1cnJlbmN5YCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBhc3NldCByZWdpc3RyeS54SW5jZW50aXZpemVkQXNzZXROb3RSZWdpc3RlcmVkABoE5GBpbmNlbnRpdml6ZWRfYXNzZXRgIGlzIG5vdCByZWdpc3RlcmVkIGluIGFzc2V0IHJlZ2lzdHJ5LkRBbW1Qb29sSWRNaXNtYXRjaAAbBPRQcm92aWRlZCBgYW1tX3Bvb2xfaWRgIGRvZXNuJ3QgbWF0Y2ggZGVwb3NpdCdzIGBhbW1fcG9vbF9pZGAuREluY29uc2lzdGVudFN0YXRlBAAVCgFYSW5jb25zaXN0ZW50U3RhdGVFcnJvcgAcCGUBQWN0aW9uIGNhbm5vdCBiZSBjb21wbGV0ZWQgYmVjYXVzZSB1bmV4cGVjdGVkIGVycm9yIGhhcyBvY2N1cnJlZC4gVGhpcyBzaG91bGQgYmUgcmVwb3J0ZWRgdG8gcHJvdG9jb2wgbWFpbnRhaW5lcnMuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LlkLDFhwYWxsZXRfcmVsYXljaGFpbl9pbmZvGHBhbGxldBRFcnJvcgQEVAABAASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5dCwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUARAEUwAABABZAwEYVmVjPFQ+AABhCww0c3BfYXJpdGhtZXRpYyhwZXJfdGhpbmdzHFBlcmNlbnQAAAQACAEIdTgAAGULDChwYWxsZXRfZGNhGHBhbGxldBRFcnJvcgQEVAABUEBTY2hlZHVsZU5vdEZvdW5kAAAESFNjaGVkdWxlIG5vdCBleGlzdGBNaW5UcmFkZUFtb3VudE5vdFJlYWNoZWQAAQSMVGhlIG1pbiB0cmFkZSBhbW91bnQgaXMgbm90IHJlYWNoZWQkRm9yYmlkZGVuAAIE2EZvcmJpZGRlbiBhcyB0aGUgdXNlciBpcyBub3QgdGhlIG93bmVyIG9mIHRoZSBzY2hlZHVsZWBCbG9ja051bWJlcklzTm90SW5GdXR1cmUAAwTQVGhlIG5leHQgZXhlY3V0aW9uIGJsb2NrIG51bWJlciBpcyBub3QgaW4gdGhlIGZ1dHVyZTRQcmljZVVuc3RhYmxlAAQENQFQcmljZSBpcyB1bnN0YWJsZSBhcyBwcmljZSBjaGFuZ2UgZnJvbSBvcmFjbGUgZGF0YSBpcyBiaWdnZXIgdGhhbiBtYXggYWxsb3dlZBhCdW1wZWQABQSwT3JkZXIgd2FzIHJhbmRvbWx5IHJlc2NoZWR1bGVkIHRvIG5leHQgYmxvY2tUQ2FsY3VsYXRpbmdQcmljZUVycm9yAAYElEVycm9yIG9jY3VycmVkIHdoZW4gY2FsY3VsYXRpbmcgcHJpY2WEVG90YWxBbW91bnRJc1NtYWxsZXJUaGFuTWluQnVkZ2V0AAcE6FRoZSB0b3RhbCBhbW91bnQgdG8gYmUgcmVzZXJ2ZWQgaXMgc21hbGxlciB0aGFuIG1pbiBidWRnZXQwQnVkZ2V0VG9vTG93AAgE3FRoZSBidWRnZXQgaXMgdG9vIGxvdyBmb3IgZXhlY3V0aW5nIGF0IGxlYXN0IHR3byBvcmRlcnNATm9GcmVlQmxvY2tGb3VuZAAJBMhUaGVyZSBpcyBubyBmcmVlIGJsb2NrIGZvdW5kIHRvIHBsYW4gRENBIGV4ZWN1dGlvbkhNYW51YWxseVRlcm1pbmF0ZWQACgS0VGhlIERDQSBzY2hlZHVsZSBoYXMgYmVlbiBtYW51YWxseSB0ZXJtaW5hdGVkPE1heFJldHJ5UmVhY2hlZAALBKhNYXggbnVtYmVyIG9mIHJldHJpZXMgcmVhY2hlZCBmb3Igc2NoZWR1bGVEVHJhZGVMaW1pdFJlYWNoZWQADATAQWJzb2x1dGVseSB0cmFkZSBsaW1pdCByZWFjaGVkLCBsZWFkaW5nIHRvIHJldHJ5UFNsaXBwYWdlTGltaXRSZWFjaGVkAA0ECQFTbGlwcGFnZSBsaW1pdCBjYWxjdWxhdGVkIGZyb20gb3JhY2xlIGlzIHJlYWNoZWQsIGxlYWRpbmcgdG8gcmV0cnlETm9QYXJlbnRIYXNoRm91bmQADgS4Tm8gcGFyZW50IGhhc2ggaGFzIGJlZW4gZm91bmQgZnJvbSByZWxheSBjaGFpbjBJbnZhbGlkU3RhdGUADwSFAUVycm9yIHRoYXQgc2hvdWxkIG5vdCByZWFsbHkgaGFwcGVuIG9ubHkgaW4gY2FzZSBvZiBpbnZhbGlkIHN0YXRlIG9mIHRoZSBzY2hlZHVsZSBzdG9yYWdlIGVudHJpZXM4UGVyaW9kVG9vU2hvcnQAEASUUGVyaW9kIHNob3VsZCBiZSBsb25nZXIgdGhhbiA1IGJsb2Nrc2RTdGFiaWxpdHlUaHJlc2hvbGRUb29IaWdoABEEWQFTdGFiaWxpdHkgdGhyZXNob2xkIGNhbm5vdCBiZSBoaWdoZXIgdGhhbiBgTWF4Q29uZmlndXJhYmxlUHJpY2VEaWZmZXJlbmNlQmV0d2VlbkJsb2NrYEhIYXNBY3RpdmVTY2hlZHVsZXMAEgT4VXNlciBzdGlsbCBoYXMgYWN0aXZlIERDQSBzY2hlZHVsZXMgYW5kIGNhbm5vdCB1bmxvY2sgcmVzZXJ2ZXNATm9SZXNlcnZlc0xvY2tlZAATBNxObyByZXNlcnZlcyBhcmUgbG9ja2VkIGZvciB0aGUgdXNlciBmb3IgdGhlIGdpdmVuIGFzc2V0BIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LmkLDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBbQsEUwAABAB1CwEYVmVjPFQ+AABtCwQYT3B0aW9uBARUAXELAQgQTm9uZQAAABBTb21lBABxCwAAAQAAcQsIQHBhbGxldF9zY2hlZHVsZXIkU2NoZWR1bGVkFBBOYW1lAQQQQ2FsbAENASxCbG9ja051bWJlcgEQNFBhbGxldHNPcmlnaW4BZQEkQWNjb3VudElkAQAAFAEgbWF5YmVfaWQ1BwEwT3B0aW9uPE5hbWU+AAEgcHJpb3JpdHkIAUhzY2hlZHVsZTo6UHJpb3JpdHkAARBjYWxsDQEBEENhbGwAAThtYXliZV9wZXJpb2RpY3UDAZRPcHRpb248c2NoZWR1bGU6OlBlcmlvZDxCbG9ja051bWJlcj4+AAEYb3JpZ2luZQEBNFBhbGxldHNPcmlnaW4AAHULAAACbQsAeQsIQHBhbGxldF9zY2hlZHVsZXIsUmV0cnlDb25maWcEGFBlcmlvZAEQAAwBNHRvdGFsX3JldHJpZXMIAQh1OAABJHJlbWFpbmluZwgBCHU4AAEYcGVyaW9kEAEYUGVyaW9kAAB9CwxAcGFsbGV0X3NjaGVkdWxlchhwYWxsZXQURXJyb3IEBFQAARRARmFpbGVkVG9TY2hlZHVsZQAABGRGYWlsZWQgdG8gc2NoZWR1bGUgYSBjYWxsIE5vdEZvdW5kAAEEfENhbm5vdCBmaW5kIHRoZSBzY2hlZHVsZWQgY2FsbC5cVGFyZ2V0QmxvY2tOdW1iZXJJblBhc3QAAgSkR2l2ZW4gdGFyZ2V0IGJsb2NrIG51bWJlciBpcyBpbiB0aGUgcGFzdC5IUmVzY2hlZHVsZU5vQ2hhbmdlAAME8FJlc2NoZWR1bGUgZmFpbGVkIGJlY2F1c2UgaXQgZG9lcyBub3QgY2hhbmdlIHNjaGVkdWxlZCB0aW1lLhROYW1lZAAEBNBBdHRlbXB0IHRvIHVzZSBhIG5vbi1uYW1lZCBmdW5jdGlvbiBvbiBhIG5hbWVkIHRhc2suBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LoELAAAChQsAhQsMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IdW5pbmNsdWRlZF9zZWdtZW50IEFuY2VzdG9yBARIATQADAE4dXNlZF9iYW5kd2lkdGiJCwE0VXNlZEJhbmR3aWR0aAABOHBhcmFfaGVhZF9oYXNohQIBJE9wdGlvbjxIPgABYGNvbnN1bWVkX2dvX2FoZWFkX3NpZ25hbJ0LAYxPcHRpb248cmVsYXlfY2hhaW46OlVwZ3JhZGVHb0FoZWFkPgAAiQsMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IdW5pbmNsdWRlZF9zZWdtZW50NFVzZWRCYW5kd2lkdGgAAAwBNHVtcF9tc2dfY291bnQQAQx1MzIAATx1bXBfdG90YWxfYnl0ZXMQAQx1MzIAATRocm1wX291dGdvaW5njQsBjEJUcmVlTWFwPFBhcmFJZCwgSHJtcENoYW5uZWxVcGRhdGU+AACNCwQgQlRyZWVNYXAIBEsBvQEEVgGRCwAEAJULAAAAkQsMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IdW5pbmNsdWRlZF9zZWdtZW50REhybXBDaGFubmVsVXBkYXRlAAAIASRtc2dfY291bnQQAQx1MzIAASx0b3RhbF9ieXRlcxABDHUzMgAAlQsAAAKZCwCZCwAABAi9AZELAJ0LBBhPcHRpb24EBFQBoQsBCBBOb25lAAAAEFNvbWUEAKELAAABAAChCwxMcG9sa2Fkb3RfcHJpbWl0aXZlcwh2ODhVcGdyYWRlR29BaGVhZAABCBRBYm9ydAAAABxHb0FoZWFkAAEAAKULDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtSHVuaW5jbHVkZWRfc2VnbWVudDhTZWdtZW50VHJhY2tlcgQESAE0AAwBOHVzZWRfYmFuZHdpZHRoiQsBNFVzZWRCYW5kd2lkdGgAAThocm1wX3dhdGVybWFya1kBAYBPcHRpb248cmVsYXlfY2hhaW46OkJsb2NrTnVtYmVyPgABYGNvbnN1bWVkX2dvX2FoZWFkX3NpZ25hbJ0LAYxPcHRpb248cmVsYXlfY2hhaW46OlVwZ3JhZGVHb0FoZWFkPgAAqQsEGE9wdGlvbgQEVAGtCwEIEE5vbmUAAAAQU29tZQQArQsAAAEAAK0LDExwb2xrYWRvdF9wcmltaXRpdmVzCHY4SFVwZ3JhZGVSZXN0cmljdGlvbgABBBxQcmVzZW50AAAAALELDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtUHJlbGF5X3N0YXRlX3NuYXBzaG90WE1lc3NhZ2luZ1N0YXRlU25hcHNob3QAABABMGRtcV9tcWNfaGVhZDQBRHJlbGF5X2NoYWluOjpIYXNoAAGccmVsYXlfZGlzcGF0Y2hfcXVldWVfcmVtYWluaW5nX2NhcGFjaXR5tQsBjFJlbGF5RGlzcGF0Y2hRdWV1ZVJlbWFpbmluZ0NhcGFjaXR5AAFAaW5ncmVzc19jaGFubmVsc7kLAYhWZWM8KFBhcmFJZCwgQWJyaWRnZWRIcm1wQ2hhbm5lbCk+AAE8ZWdyZXNzX2NoYW5uZWxzuQsBiFZlYzwoUGFyYUlkLCBBYnJpZGdlZEhybXBDaGFubmVsKT4AALULDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtUHJlbGF5X3N0YXRlX3NuYXBzaG90jFJlbGF5RGlzcGF0Y2hRdWV1ZVJlbWFpbmluZ0NhcGFjaXR5AAAIATxyZW1haW5pbmdfY291bnQQAQx1MzIAAThyZW1haW5pbmdfc2l6ZRABDHUzMgAAuQsAAAK9CwC9CwAABAi9AcELAMELDExwb2xrYWRvdF9wcmltaXRpdmVzCHY4TEFicmlkZ2VkSHJtcENoYW5uZWwAABgBMG1heF9jYXBhY2l0eRABDHUzMgABOG1heF90b3RhbF9zaXplEAEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZRABDHUzMgABJG1zZ19jb3VudBABDHUzMgABKHRvdGFsX3NpemUQAQx1MzIAASBtcWNfaGVhZIUCATBPcHRpb248SGFzaD4AAMULDExwb2xrYWRvdF9wcmltaXRpdmVzCHY4ZEFicmlkZ2VkSG9zdENvbmZpZ3VyYXRpb24AACgBNG1heF9jb2RlX3NpemUQAQx1MzIAAUhtYXhfaGVhZF9kYXRhX3NpemUQAQx1MzIAAVhtYXhfdXB3YXJkX3F1ZXVlX2NvdW50EAEMdTMyAAFUbWF4X3Vwd2FyZF9xdWV1ZV9zaXplEAEMdTMyAAFcbWF4X3Vwd2FyZF9tZXNzYWdlX3NpemUQAQx1MzIAAZBtYXhfdXB3YXJkX21lc3NhZ2VfbnVtX3Blcl9jYW5kaWRhdGUQAQx1MzIAAYhocm1wX21heF9tZXNzYWdlX251bV9wZXJfY2FuZGlkYXRlEAEMdTMyAAFsdmFsaWRhdGlvbl91cGdyYWRlX2Nvb2xkb3duEAEsQmxvY2tOdW1iZXIAAWB2YWxpZGF0aW9uX3VwZ3JhZGVfZGVsYXkQASxCbG9ja051bWJlcgABUGFzeW5jX2JhY2tpbmdfcGFyYW1zyQsBSEFzeW5jQmFja2luZ1BhcmFtcwAAyQsQTHBvbGthZG90X3ByaW1pdGl2ZXMIdjg0YXN5bmNfYmFja2luZ0hBc3luY0JhY2tpbmdQYXJhbXMAAAgBTG1heF9jYW5kaWRhdGVfZGVwdGgQAQx1MzIAAVBhbGxvd2VkX2FuY2VzdHJ5X2xlbhABDHUzMgAAzQsIlGN1bXVsdXNfcHJpbWl0aXZlc19wYXJhY2hhaW5faW5oZXJlbnRETWVzc2FnZVF1ZXVlQ2hhaW4AAAQANAEkUmVsYXlIYXNoAADRCwQgQlRyZWVNYXAIBEsBvQEEVgHNCwAEANULAAAA1QsAAALZCwDZCwAABAi9Ac0LAN0LAAAC4QsA4QsIYHBvbGthZG90X2NvcmVfcHJpbWl0aXZlc0xPdXRib3VuZEhybXBNZXNzYWdlBAhJZAG9AQAIASRyZWNpcGllbnS9AQEISWQAARBkYXRhOAFMYWxsb2M6OnZlYzo6VmVjPHU4PgAA5QsMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW0YcGFsbGV0FEVycm9yBARUAAEgTE92ZXJsYXBwaW5nVXBncmFkZXMAAAQZAUF0dGVtcHQgdG8gdXBncmFkZSB2YWxpZGF0aW9uIGZ1bmN0aW9uIHdoaWxlIGV4aXN0aW5nIHVwZ3JhZGUgcGVuZGluZy5QUHJvaGliaXRlZEJ5UG9sa2Fkb3QAAQRNAVBvbGthZG90IGN1cnJlbnRseSBwcm9oaWJpdHMgdGhpcyBwYXJhY2hhaW4gZnJvbSB1cGdyYWRpbmcgaXRzIHZhbGlkYXRpb24gZnVuY3Rpb24uGFRvb0JpZwACCEUBVGhlIHN1cHBsaWVkIHZhbGlkYXRpb24gZnVuY3Rpb24gaGFzIGNvbXBpbGVkIGludG8gYSBibG9iIGxhcmdlciB0aGFuIFBvbGthZG90IGlzPHdpbGxpbmcgdG8gcnVuLmhWYWxpZGF0aW9uRGF0YU5vdEF2YWlsYWJsZQADBB0BVGhlIGluaGVyZW50IHdoaWNoIHN1cHBsaWVzIHRoZSB2YWxpZGF0aW9uIGRhdGEgZGlkIG5vdCBydW4gdGhpcyBibG9jay50SG9zdENvbmZpZ3VyYXRpb25Ob3RBdmFpbGFibGUABAQpAVRoZSBpbmhlcmVudCB3aGljaCBzdXBwbGllcyB0aGUgaG9zdCBjb25maWd1cmF0aW9uIGRpZCBub3QgcnVuIHRoaXMgYmxvY2suME5vdFNjaGVkdWxlZAAFBNhObyB2YWxpZGF0aW9uIGZ1bmN0aW9uIHVwZ3JhZGUgaXMgY3VycmVudGx5IHNjaGVkdWxlZC5ETm90aGluZ0F1dGhvcml6ZWQABgSQTm8gY29kZSB1cGdyYWRlIGhhcyBiZWVuIGF1dGhvcml6ZWQuMFVuYXV0aG9yaXplZAAHBLxUaGUgZ2l2ZW4gY29kZSB1cGdyYWRlIGhhcyBub3QgYmVlbiBhdXRob3JpemVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7pCwwocGFsbGV0X3hjbRhwYWxsZXQsUXVlcnlTdGF0dXMELEJsb2NrTnVtYmVyARABDBxQZW5kaW5nEAEkcmVzcG9uZGVyvQQBRFZlcnNpb25lZExvY2F0aW9uAAFMbWF5YmVfbWF0Y2hfcXVlcmllcu0LAWRPcHRpb248VmVyc2lvbmVkTG9jYXRpb24+AAEwbWF5YmVfbm90aWZ58QsBQE9wdGlvbjwodTgsIHU4KT4AARx0aW1lb3V0EAEsQmxvY2tOdW1iZXIAAAA8VmVyc2lvbk5vdGlmaWVyCAEYb3JpZ2luvQQBRFZlcnNpb25lZExvY2F0aW9uAAEkaXNfYWN0aXZlIAEQYm9vbAABABRSZWFkeQgBIHJlc3BvbnNl+QsBRFZlcnNpb25lZFJlc3BvbnNlAAEIYXQQASxCbG9ja051bWJlcgACAADtCwQYT3B0aW9uBARUAb0EAQgQTm9uZQAAABBTb21lBAC9BAAAAQAA8QsEGE9wdGlvbgQEVAH1CwEIEE5vbmUAAAAQU29tZQQA9QsAAAEAAPULAAAECAgIAPkLCAx4Y21EVmVyc2lvbmVkUmVzcG9uc2UAAQwIVjIEAAUFATB2Mjo6UmVzcG9uc2UAAgAIVjMEAFEFATB2Mzo6UmVzcG9uc2UAAwAIVjQEALkFATB2NDo6UmVzcG9uc2UABAAA/QsAAAQIEL0EAAEMAAAEDDAoEAAFDAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQkMBFMAAAQADQwBGFZlYzxUPgAACQwAAAQIvQQQAA0MAAACCQwAEQwMKHBhbGxldF94Y20YcGFsbGV0VFZlcnNpb25NaWdyYXRpb25TdGFnZQABEFxNaWdyYXRlU3VwcG9ydGVkVmVyc2lvbgAAAFxNaWdyYXRlVmVyc2lvbk5vdGlmaWVycwABAFBOb3RpZnlDdXJyZW50VGFyZ2V0cwQAFQwBPE9wdGlvbjxWZWM8dTg+PgACAGhNaWdyYXRlQW5kTm90aWZ5T2xkVGFyZ2V0cwADAAAVDAQYT3B0aW9uBARUATgBCBBOb25lAAAAEFNvbWUEADgAAAEAABkMAAAEDBAAFQYAHQwMKHBhbGxldF94Y20YcGFsbGV0aFJlbW90ZUxvY2tlZEZ1bmdpYmxlUmVjb3JkCEhDb25zdW1lcklkZW50aWZpZXIBkDBNYXhDb25zdW1lcnMAABABGGFtb3VudBgBEHUxMjgAARRvd25lcr0EAURWZXJzaW9uZWRMb2NhdGlvbgABGGxvY2tlcr0EAURWZXJzaW9uZWRMb2NhdGlvbgABJGNvbnN1bWVycyEMAdBCb3VuZGVkVmVjPChDb25zdW1lcklkZW50aWZpZXIsIHUxMjgpLCBNYXhDb25zdW1lcnM+AAAhDAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUASUMBFMAAAQAKQwBGFZlYzxUPgAAJQwAAAQIkBgAKQwAAAIlDAAtDAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUATEMBFMAAAQANQwBGFZlYzxUPgAAMQwAAAQIGL0EADUMAAACMQwAOQwMKHBhbGxldF94Y20YcGFsbGV0FEVycm9yBARUAAFgLFVucmVhY2hhYmxlAAAIXQFUaGUgZGVzaXJlZCBkZXN0aW5hdGlvbiB3YXMgdW5yZWFjaGFibGUsIGdlbmVyYWxseSBiZWNhdXNlIHRoZXJlIGlzIGEgbm8gd2F5IG9mIHJvdXRpbmcYdG8gaXQuLFNlbmRGYWlsdXJlAAEIQQFUaGVyZSB3YXMgc29tZSBvdGhlciBpc3N1ZSAoaS5lLiBub3QgdG8gZG8gd2l0aCByb3V0aW5nKSBpbiBzZW5kaW5nIHRoZSBtZXNzYWdlLshQZXJoYXBzIGEgbGFjayBvZiBzcGFjZSBmb3IgYnVmZmVyaW5nIHRoZSBtZXNzYWdlLiBGaWx0ZXJlZAACBJxUaGUgbWVzc2FnZSBleGVjdXRpb24gZmFpbHMgdGhlIGZpbHRlci5IVW53ZWlnaGFibGVNZXNzYWdlAAMEtFRoZSBtZXNzYWdlJ3Mgd2VpZ2h0IGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkLmBEZXN0aW5hdGlvbk5vdEludmVydGlibGUABATcVGhlIGRlc3RpbmF0aW9uIGBMb2NhdGlvbmAgcHJvdmlkZWQgY2Fubm90IGJlIGludmVydGVkLhRFbXB0eQAFBIBUaGUgYXNzZXRzIHRvIGJlIHNlbnQgYXJlIGVtcHR5LjhDYW5ub3RSZWFuY2hvcgAGBDUBQ291bGQgbm90IHJlLWFuY2hvciB0aGUgYXNzZXRzIHRvIGRlY2xhcmUgdGhlIGZlZXMgZm9yIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi40VG9vTWFueUFzc2V0cwAHBMRUb28gbWFueSBhc3NldHMgaGF2ZSBiZWVuIGF0dGVtcHRlZCBmb3IgdHJhbnNmZXIuNEludmFsaWRPcmlnaW4ACAR4T3JpZ2luIGlzIGludmFsaWQgZm9yIHNlbmRpbmcuKEJhZFZlcnNpb24ACQQhAVRoZSB2ZXJzaW9uIG9mIHRoZSBgVmVyc2lvbmVkYCB2YWx1ZSB1c2VkIGlzIG5vdCBhYmxlIHRvIGJlIGludGVycHJldGVkLixCYWRMb2NhdGlvbgAKCEEBVGhlIGdpdmVuIGxvY2F0aW9uIGNvdWxkIG5vdCBiZSB1c2VkIChlLmcuIGJlY2F1c2UgaXQgY2Fubm90IGJlIGV4cHJlc3NlZCBpbiB0aGVgZGVzaXJlZCB2ZXJzaW9uIG9mIFhDTSkuOE5vU3Vic2NyaXB0aW9uAAsEvFRoZSByZWZlcmVuY2VkIHN1YnNjcmlwdGlvbiBjb3VsZCBub3QgYmUgZm91bmQuREFscmVhZHlTdWJzY3JpYmVkAAwEEQFUaGUgbG9jYXRpb24gaXMgaW52YWxpZCBzaW5jZSBpdCBhbHJlYWR5IGhhcyBhIHN1YnNjcmlwdGlvbiBmcm9tIHVzLlhDYW5ub3RDaGVja091dFRlbGVwb3J0AA0EKQFDb3VsZCBub3QgY2hlY2stb3V0IHRoZSBhc3NldHMgZm9yIHRlbGVwb3J0YXRpb24gdG8gdGhlIGRlc3RpbmF0aW9uIGNoYWluLihMb3dCYWxhbmNlAA4EQQFUaGUgb3duZXIgZG9lcyBub3Qgb3duIChhbGwpIG9mIHRoZSBhc3NldCB0aGF0IHRoZXkgd2lzaCB0byBkbyB0aGUgb3BlcmF0aW9uIG9uLjBUb29NYW55TG9ja3MADwTAVGhlIGFzc2V0IG93bmVyIGhhcyB0b28gbWFueSBsb2NrcyBvbiB0aGUgYXNzZXQuTEFjY291bnROb3RTb3ZlcmVpZ24AEAQxAVRoZSBnaXZlbiBhY2NvdW50IGlzIG5vdCBhbiBpZGVudGlmaWFibGUgc292ZXJlaWduIGFjY291bnQgZm9yIGFueSBsb2NhdGlvbi4oRmVlc05vdE1ldAARBCkBVGhlIG9wZXJhdGlvbiByZXF1aXJlZCBmZWVzIHRvIGJlIHBhaWQgd2hpY2ggdGhlIGluaXRpYXRvciBjb3VsZCBub3QgbWVldC4wTG9ja05vdEZvdW5kABIE9EEgcmVtb3RlIGxvY2sgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBkYXRhIGNvdWxkIG5vdCBiZSBmb3VuZC4USW5Vc2UAEwRJAVRoZSB1bmxvY2sgb3BlcmF0aW9uIGNhbm5vdCBzdWNjZWVkIGJlY2F1c2UgdGhlcmUgYXJlIHN0aWxsIGNvbnN1bWVycyBvZiB0aGUgbG9jay5oSW52YWxpZEFzc2V0VW5rbm93blJlc2VydmUAFQTwSW52YWxpZCBhc3NldCwgcmVzZXJ2ZSBjaGFpbiBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZCBmb3IgaXQueEludmFsaWRBc3NldFVuc3VwcG9ydGVkUmVzZXJ2ZQAWBEUBSW52YWxpZCBhc3NldCwgZG8gbm90IHN1cHBvcnQgcmVtb3RlIGFzc2V0IHJlc2VydmVzIHdpdGggZGlmZmVyZW50IGZlZXMgcmVzZXJ2ZXMuPFRvb01hbnlSZXNlcnZlcwAXBEkBVG9vIG1hbnkgYXNzZXRzIHdpdGggZGlmZmVyZW50IHJlc2VydmUgbG9jYXRpb25zIGhhdmUgYmVlbiBhdHRlbXB0ZWQgZm9yIHRyYW5zZmVyLmBMb2NhbEV4ZWN1dGlvbkluY29tcGxldGUAGAR8TG9jYWwgWENNIGV4ZWN1dGlvbiBpbmNvbXBsZXRlLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC49DAxMYm91bmRlZF9jb2xsZWN0aW9uc0Rib3VuZGVkX2J0cmVlX3NldDxCb3VuZGVkQlRyZWVTZXQIBFQBvQEEUwAABABBDAEsQlRyZWVTZXQ8VD4AAEEMBCBCVHJlZVNldAQEVAG9AQAEAEUMAAAARQwAAAK9AQBJDAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAU0MBFMAAAQAVQwBGFZlYzxUPgAATQwIZGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWVYT3V0Ym91bmRDaGFubmVsRGV0YWlscwAAFAEkcmVjaXBpZW50vQEBGFBhcmFJZAABFHN0YXRlUQwBNE91dGJvdW5kU3RhdGUAATRzaWduYWxzX2V4aXN0IAEQYm9vbAABLGZpcnN0X2luZGV4yAEMdTE2AAEobGFzdF9pbmRleMgBDHUxNgAAUQwIZGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWU0T3V0Ym91bmRTdGF0ZQABCAhPawAAACRTdXNwZW5kZWQAAQAAVQwAAAJNDABZDAAABAi9AcgAXQwMTGJvdW5kZWRfY29sbGVjdGlvbnNAd2Vha19ib3VuZGVkX3ZlYzhXZWFrQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AABhDAhkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZTxRdWV1ZUNvbmZpZ0RhdGEAAAwBRHN1c3BlbmRfdGhyZXNob2xkEAEMdTMyAAE4ZHJvcF90aHJlc2hvbGQQAQx1MzIAAUByZXN1bWVfdGhyZXNob2xkEAEMdTMyAABlDAxkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZRhwYWxsZXQURXJyb3IEBFQAARQ4QmFkUXVldWVDb25maWcAAAQRAVNldHRpbmcgdGhlIHF1ZXVlIGNvbmZpZyBmYWlsZWQgc2luY2Ugb25lIG9mIGl0cyB2YWx1ZXMgd2FzIGludmFsaWQuQEFscmVhZHlTdXNwZW5kZWQAAQSMVGhlIGV4ZWN1dGlvbiBpcyBhbHJlYWR5IHN1c3BlbmRlZC44QWxyZWFkeVJlc3VtZWQAAgSEVGhlIGV4ZWN1dGlvbiBpcyBhbHJlYWR5IHJlc3VtZWQudFRvb01hbnlBY3RpdmVPdXRib3VuZENoYW5uZWxzAAMEsFRoZXJlIGFyZSB0b28gbWFueSBhY3RpdmUgb3V0Ym91bmQgY2hhbm5lbHMuGFRvb0JpZwAEBFxUaGUgbWVzc2FnZSBpcyB0b28gYmlnLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5pDAhQcGFsbGV0X21lc3NhZ2VfcXVldWUkQm9va1N0YXRlBDRNZXNzYWdlT3JpZ2luASEGABgBFGJlZ2luEAEkUGFnZUluZGV4AAEMZW5kEAEkUGFnZUluZGV4AAEUY291bnQQASRQYWdlSW5kZXgAAUByZWFkeV9uZWlnaGJvdXJzbQwBhE9wdGlvbjxOZWlnaGJvdXJzPE1lc3NhZ2VPcmlnaW4+PgABNG1lc3NhZ2VfY291bnQwAQx1NjQAARBzaXplMAEMdTY0AABtDAQYT3B0aW9uBARUAXEMAQgQTm9uZQAAABBTb21lBABxDAAAAQAAcQwIUHBhbGxldF9tZXNzYWdlX3F1ZXVlKE5laWdoYm91cnMENE1lc3NhZ2VPcmlnaW4BIQYACAEQcHJldiEGATRNZXNzYWdlT3JpZ2luAAEQbmV4dCEGATRNZXNzYWdlT3JpZ2luAAB1DAAABAghBhAAeQwIUHBhbGxldF9tZXNzYWdlX3F1ZXVlEFBhZ2UIEFNpemUBECBIZWFwU2l6ZQAAGAEkcmVtYWluaW5nEAEQU2l6ZQABOHJlbWFpbmluZ19zaXplEAEQU2l6ZQABLGZpcnN0X2luZGV4EAEQU2l6ZQABFGZpcnN0EAEQU2l6ZQABEGxhc3QQARBTaXplAAEQaGVhcH0MAZxCb3VuZGVkVmVjPHU4LCBJbnRvVTMyPEhlYXBTaXplLCBTaXplPj4AAH0MDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAgQwMUHBhbGxldF9tZXNzYWdlX3F1ZXVlGHBhbGxldBRFcnJvcgQEVAABJCxOb3RSZWFwYWJsZQAACEkBUGFnZSBpcyBub3QgcmVhcGFibGUgYmVjYXVzZSBpdCBoYXMgaXRlbXMgcmVtYWluaW5nIHRvIGJlIHByb2Nlc3NlZCBhbmQgaXMgbm90IG9sZBxlbm91Z2guGE5vUGFnZQABBIRQYWdlIHRvIGJlIHJlYXBlZCBkb2VzIG5vdCBleGlzdC4kTm9NZXNzYWdlAAIEqFRoZSByZWZlcmVuY2VkIG1lc3NhZ2UgY291bGQgbm90IGJlIGZvdW5kLkBBbHJlYWR5UHJvY2Vzc2VkAAMEAQFUaGUgbWVzc2FnZSB3YXMgYWxyZWFkeSBwcm9jZXNzZWQgYW5kIGNhbm5vdCBiZSBwcm9jZXNzZWQgYWdhaW4uGFF1ZXVlZAAEBKxUaGUgbWVzc2FnZSBpcyBxdWV1ZWQgZm9yIGZ1dHVyZSBleGVjdXRpb24uSEluc3VmZmljaWVudFdlaWdodAAFBBkBVGhlcmUgaXMgdGVtcG9yYXJpbHkgbm90IGVub3VnaCB3ZWlnaHQgdG8gY29udGludWUgc2VydmljaW5nIG1lc3NhZ2VzLmBUZW1wb3JhcmlseVVucHJvY2Vzc2FibGUABhCoVGhpcyBtZXNzYWdlIGlzIHRlbXBvcmFyaWx5IHVucHJvY2Vzc2FibGUuAFkBU3VjaCBlcnJvcnMgYXJlIGV4cGVjdGVkLCBidXQgbm90IGd1YXJhbnRlZWQsIHRvIHJlc29sdmUgdGhlbXNlbHZlcyBldmVudHVhbGx5IHRocm91Z2gkcmV0cnlpbmcuLFF1ZXVlUGF1c2VkAAcM7FRoZSBxdWV1ZSBpcyBwYXVzZWQgYW5kIG5vIG1lc3NhZ2UgY2FuIGJlIGV4ZWN1dGVkIGZyb20gaXQuAB0BVGhpcyBjYW4gY2hhbmdlIGF0IGFueSB0aW1lIGFuZCBtYXkgcmVzb2x2ZSBpbiB0aGUgZnV0dXJlIGJ5IHJlLXRyeWluZy5MUmVjdXJzaXZlRGlzYWxsb3dlZAAIBDEBQW5vdGhlciBjYWxsIGlzIGluIHByb2dyZXNzIGFuZCBuZWVkcyB0byBmaW5pc2ggYmVmb3JlIHRoaXMgY2FsbCBjYW4gaGFwcGVuLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6FDAwgb3JtbF94Y20YbW9kdWxlFEVycm9yBARUAAEMLFVucmVhY2hhYmxlAAAIDQFUaGUgbWVzc2FnZSBhbmQgZGVzdGluYXRpb24gY29tYmluYXRpb24gd2FzIG5vdCByZWNvZ25pemVkIGFzIGJlaW5nKHJlYWNoYWJsZS4sU2VuZEZhaWx1cmUAAQgFAVRoZSBtZXNzYWdlIGFuZCBkZXN0aW5hdGlvbiB3YXMgcmVjb2duaXplZCBhcyBiZWluZyByZWFjaGFibGUgYnV0lHRoZSBvcGVyYXRpb24gY291bGQgbm90IGJlIGNvbXBsZXRlZC4oQmFkVmVyc2lvbgACCOxUaGUgdmVyc2lvbiBvZiB0aGUgYFZlcnNpb25lZGAgdmFsdWUgdXNlZCBpcyBub3QgYWJsZSB0byBiZTBpbnRlcnByZXRlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuiQwMMG9ybWxfeHRva2Vucxhtb2R1bGUURXJyb3IEBFQAAVBEQXNzZXRIYXNOb1Jlc2VydmUAAAR4QXNzZXQgaGFzIG5vIHJlc2VydmUgbG9jYXRpb24uVE5vdENyb3NzQ2hhaW5UcmFuc2ZlcgABBGROb3QgY3Jvc3MtY2hhaW4gdHJhbnNmZXIuLEludmFsaWREZXN0AAIEdEludmFsaWQgdHJhbnNmZXIgZGVzdGluYXRpb24uhE5vdENyb3NzQ2hhaW5UcmFuc2ZlcmFibGVDdXJyZW5jeQADBKRDdXJyZW5jeSBpcyBub3QgY3Jvc3MtY2hhaW4gdHJhbnNmZXJhYmxlLkhVbndlaWdoYWJsZU1lc3NhZ2UABAS0VGhlIG1lc3NhZ2UncyB3ZWlnaHQgY291bGQgbm90IGJlIGRldGVybWluZWQuSFhjbUV4ZWN1dGlvbkZhaWxlZAAFBFRYQ00gZXhlY3V0aW9uIGZhaWxlZC44Q2Fubm90UmVhbmNob3IABgjoQ291bGQgbm90IHJlLWFuY2hvciB0aGUgYXNzZXRzIHRvIGRlY2xhcmUgdGhlIGZlZXMgZm9yIHRoZUhkZXN0aW5hdGlvbiBjaGFpbi48SW52YWxpZEFuY2VzdHJ5AAcExENvdWxkIG5vdCBnZXQgYW5jZXN0cnkgb2YgYXNzZXQgcmVzZXJ2ZSBsb2NhdGlvbi4wSW52YWxpZEFzc2V0AAgEVFRoZSBBc3NldCBpcyBpbnZhbGlkLmBEZXN0aW5hdGlvbk5vdEludmVydGlibGUACQTcVGhlIGRlc3RpbmF0aW9uIGBMb2NhdGlvbmAgcHJvdmlkZWQgY2Fubm90IGJlIGludmVydGVkLihCYWRWZXJzaW9uAAoI7FRoZSB2ZXJzaW9uIG9mIHRoZSBgVmVyc2lvbmVkYCB2YWx1ZSB1c2VkIGlzIG5vdCBhYmxlIHRvIGJlMGludGVycHJldGVkLnREaXN0aW5jdFJlc2VydmVGb3JBc3NldEFuZEZlZQALCPxXZSB0cmllZCBzZW5kaW5nIGRpc3RpbmN0IGFzc2V0IGFuZCBmZWUgYnV0IHRoZXkgaGF2ZSBkaWZmZXJlbnQ8cmVzZXJ2ZSBjaGFpbnMuHFplcm9GZWUADARAVGhlIGZlZSBpcyB6ZXJvLihaZXJvQW1vdW50AA0ElFRoZSB0cmFuc2ZlcmluZyBhc3NldCBhbW91bnQgaXMgemVyby5YVG9vTWFueUFzc2V0c0JlaW5nU2VudAAOBNBUaGUgbnVtYmVyIG9mIGFzc2V0cyB0byBiZSBzZW50IGlzIG92ZXIgdGhlIG1heGltdW0uVEFzc2V0SW5kZXhOb25FeGlzdGVudAAPBNhUaGUgc3BlY2lmaWVkIGluZGV4IGRvZXMgbm90IGV4aXN0IGluIGEgQXNzZXRzIHN0cnVjdC4wRmVlTm90RW5vdWdoABAESEZlZSBpcyBub3QgZW5vdWdoLlBOb3RTdXBwb3J0ZWRMb2NhdGlvbgARBFhOb3Qgc3VwcG9ydGVkIExvY2F0aW9uTE1pblhjbUZlZU5vdERlZmluZWQAEgTUTWluWGNtRmVlIG5vdCByZWdpc3RlcmVkIGZvciBjZXJ0YWluIHJlc2VydmUgbG9jYXRpb24sUmF0ZUxpbWl0ZWQAEwSkQXNzZXQgdHJhbnNmZXIgaXMgbGltaXRlZCBieSBSYXRlTGltaXRlci4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQujQwAAAQIfQF9AQCRDAAABAh9ATgAlQwMTG9ybWxfdW5rbm93bl90b2tlbnMYbW9kdWxlFEVycm9yBARUAAEMNEJhbGFuY2VUb29Mb3cAAARcVGhlIGJhbGFuY2UgaXMgdG9vIGxvdy48QmFsYW5jZU92ZXJmbG93AAEEtFRoZSBvcGVyYXRpb24gd2lsbCBjYXVzZSBiYWxhbmNlIHRvIG92ZXJmbG93LjhVbmhhbmRsZWRBc3NldAACBEBVbmhhbmRsZWQgYXNzZXQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LpkMDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBnQwEUwAABAChDAEYVmVjPFQ+AACdDAxkcGFsbGV0X2NvbGxhdG9yX3NlbGVjdGlvbhhwYWxsZXQ0Q2FuZGlkYXRlSW5mbwgkQWNjb3VudElkAQAcQmFsYW5jZQEYAAgBDHdobwABJEFjY291bnRJZAABHGRlcG9zaXQYARxCYWxhbmNlAAChDAAAAp0MAKUMDGRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uGHBhbGxldBRFcnJvcgQEVAABRERUb29NYW55Q2FuZGlkYXRlcwAABIxUaGUgcGFsbGV0IGhhcyB0b28gbWFueSBjYW5kaWRhdGVzLlxUb29GZXdFbGlnaWJsZUNvbGxhdG9ycwABBKxMZWF2aW5nIHdvdWxkIHJlc3VsdCBpbiB0b28gZmV3IGNhbmRpZGF0ZXMuQEFscmVhZHlDYW5kaWRhdGUAAgR8QWNjb3VudCBpcyBhbHJlYWR5IGEgY2FuZGlkYXRlLjBOb3RDYW5kaWRhdGUAAwRsQWNjb3VudCBpcyBub3QgYSBjYW5kaWRhdGUuUFRvb01hbnlJbnZ1bG5lcmFibGVzAAQEhFRoZXJlIGFyZSB0b28gbWFueSBJbnZ1bG5lcmFibGVzLkxBbHJlYWR5SW52dWxuZXJhYmxlAAUEjEFjY291bnQgaXMgYWxyZWFkeSBhbiBJbnZ1bG5lcmFibGUuPE5vdEludnVsbmVyYWJsZQAGBHxBY2NvdW50IGlzIG5vdCBhbiBJbnZ1bG5lcmFibGUuXE5vQXNzb2NpYXRlZFZhbGlkYXRvcklkAAcEnEFjY291bnQgaGFzIG5vIGFzc29jaWF0ZWQgdmFsaWRhdG9yIElELlhWYWxpZGF0b3JOb3RSZWdpc3RlcmVkAAgEjFZhbGlkYXRvciBJRCBpcyBub3QgeWV0IHJlZ2lzdGVyZWQubEluc2VydFRvQ2FuZGlkYXRlTGlzdEZhaWxlZAAJBJxDb3VsZCBub3QgaW5zZXJ0IGluIHRoZSBjYW5kaWRhdGUgbGlzdC50UmVtb3ZlRnJvbUNhbmRpZGF0ZUxpc3RGYWlsZWQACgSkQ291bGQgbm90IHJlbW92ZSBmcm9tIHRoZSBjYW5kaWRhdGUgbGlzdC40RGVwb3NpdFRvb0xvdwALBPROZXcgZGVwb3NpdCBhbW91bnQgd291bGQgYmUgYmVsb3cgdGhlIG1pbmltdW0gY2FuZGlkYWN5IGJvbmQuZFVwZGF0ZUNhbmRpZGF0ZUxpc3RGYWlsZWQADASQQ291bGQgbm90IHVwZGF0ZSB0aGUgY2FuZGlkYXRlIGxpc3QuQEluc3VmZmljaWVudEJvbmQADQQpAURlcG9zaXQgYW1vdW50IGlzIHRvbyBsb3cgdG8gdGFrZSB0aGUgdGFyZ2V0J3Mgc2xvdCBpbiB0aGUgY2FuZGlkYXRlIGxpc3QuUFRhcmdldElzTm90Q2FuZGlkYXRlAA4ELQFUaGUgdGFyZ2V0IGFjY291bnQgdG8gYmUgcmVwbGFjZWQgaW4gdGhlIGNhbmRpZGF0ZSBsaXN0IGlzIG5vdCBhIGNhbmRpZGF0ZS5ASWRlbnRpY2FsRGVwb3NpdAAPBA0BVGhlIHVwZGF0ZWQgZGVwb3NpdCBhbW91bnQgaXMgZXF1YWwgdG8gdGhlIGFtb3VudCBhbHJlYWR5IHJlc2VydmVkLkBJbnZhbGlkVW5yZXNlcnZlABAEPQFDYW5ub3QgbG93ZXIgY2FuZGlkYWN5IGJvbmQgd2hpbGUgb2NjdXB5aW5nIGEgZnV0dXJlIGNvbGxhdG9yIHNsb3QgaW4gdGhlIGxpc3QuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LqkMAAACrQwArQwAAAQIAD0GALEMAAAECLUMOAC1DAwcc3BfY29yZRhjcnlwdG8kS2V5VHlwZUlkAAAEAEgBHFt1ODsgNF0AALkMDDhwYWxsZXRfc2Vzc2lvbhhwYWxsZXQURXJyb3IEBFQAARQwSW52YWxpZFByb29mAAAEYEludmFsaWQgb3duZXJzaGlwIHByb29mLlxOb0Fzc29jaWF0ZWRWYWxpZGF0b3JJZAABBJxObyBhc3NvY2lhdGVkIHZhbGlkYXRvciBJRCBmb3IgYWNjb3VudC40RHVwbGljYXRlZEtleQACBGRSZWdpc3RlcmVkIGR1cGxpY2F0ZSBrZXkuGE5vS2V5cwADBKRObyBrZXlzIGFyZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBhY2NvdW50LiROb0FjY291bnQABAQZAUtleSBzZXR0aW5nIGFjY291bnQgaXMgbm90IGxpdmUsIHNvIGl0J3MgaW1wb3NzaWJsZSB0byBhc3NvY2lhdGUga2V5cy4EdEVycm9yIGZvciB0aGUgc2Vzc2lvbiBwYWxsZXQuvQwMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFBBgRTAAAEAMEMARhWZWM8VD4AAMEMAAACQQYAxQwISHNwX2NvbnNlbnN1c19zbG90cxBTbG90AAAEADABDHU2NAAAyQwAAAQIxQwQAM0MDExib3VuZGVkX2NvbGxlY3Rpb25zRGJvdW5kZWRfYnRyZWVfbWFwPEJvdW5kZWRCVHJlZU1hcAwESwHRDARWAdUMBFMAAAQA5QwBOEJUcmVlTWFwPEssIFY+AADRDAAABAj9AU0DANUMDERwYWxsZXRfZW1hX29yYWNsZRR0eXBlcyxPcmFjbGVFbnRyeQQsQmxvY2tOdW1iZXIBEAAUARRwcmljZdkMARRQcmljZQABGHZvbHVtZd0MATxWb2x1bWU8QmFsYW5jZT4AASRsaXF1aWRpdHnhDAFITGlxdWlkaXR5PEJhbGFuY2U+AAE8c2hhcmVzX2lzc3VhbmNl4AE8T3B0aW9uPEJhbGFuY2U+AAEodXBkYXRlZF9hdBABLEJsb2NrTnVtYmVyAADZDAw0aHlkcmFfZHhfbWF0aBRyYXRpbxRSYXRpbwAACAEEbhgBEHUxMjgAAQRkGAEQdTEyOAAA3QwMOGh5ZHJhZHhfdHJhaXRzGG9yYWNsZRhWb2x1bWUEHEJhbGFuY2UBGAAQARBhX2luGAEcQmFsYW5jZQABFGJfb3V0GAEcQmFsYW5jZQABFGFfb3V0GAEcQmFsYW5jZQABEGJfaW4YARxCYWxhbmNlAADhDAw4aHlkcmFkeF90cmFpdHMYb3JhY2xlJExpcXVpZGl0eQQcQmFsYW5jZQEYAAgBBGEYARxCYWxhbmNlAAEEYhgBHEJhbGFuY2UAAOUMBCBCVHJlZU1hcAgESwHRDARWAdUMAAQA6QwAAADpDAAAAu0MAO0MAAAECNEM1QwA8QwAAAQM/QFNA7kDAPUMAAAECNUMEAD5DAxMYm91bmRlZF9jb2xsZWN0aW9uc0Rib3VuZGVkX2J0cmVlX3NldDxCb3VuZGVkQlRyZWVTZXQIBFQB0QwEUwAABAD9DAEsQlRyZWVTZXQ8VD4AAP0MBCBCVHJlZVNldAQEVAHRDAAEAAENAAAAAQ0AAALRDAAFDQxEcGFsbGV0X2VtYV9vcmFjbGUYcGFsbGV0FEVycm9yBARUAAEUUFRvb01hbnlVbmlxdWVFbnRyaWVzAAAAQE9uVHJhZGVWYWx1ZVplcm8AAQA4T3JhY2xlTm90Rm91bmQAAgA0QXNzZXROb3RGb3VuZAADBDxBc3NldCBub3QgZm91bmRgUHJpY2VPdXRzaWRlQWxsb3dlZFJhbmdlAAQEuFRoZSBuZXcgcHJpY2UgaXMgb3V0c2lkZSB0aGUgbWF4IGFsbG93ZWQgcmFuZ2UEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuCQ0MTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGRBwRTAAAEAI0HARhWZWM8VD4AAA0NDEBwYWxsZXRfYnJvYWRjYXN0GHBhbGxldBRFcnJvcgQEVAABCGhFeGVjdXRpb25DYWxsU3RhY2tPdmVyZmxvdwAABPRUaGUgZXhlY3V0aW9uIGNvbnRleHQgY2FsbCBzdGFjayBoYXMgcmVhY2hlZCBpdHMgbWF4aW11bSBzaXplbEV4ZWN1dGlvbkNhbGxTdGFja1VuZGVyZmxvdwABBA0BVGhlIGV4ZWN1dGlvbiBjb250ZXh0IGNhbGwgc3RhY2sgaXMgZW1wdHksIHVuYWJsZSB0byBkZWNyZWFzZSBsZXZlbASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4RDQAABCwVDRkNHQ0hDSUNLQ0xDTUNOQ09DUUNABUNEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9uc1RjaGVja19ub25femVyb19zZW5kZXJIQ2hlY2tOb25aZXJvU2VuZGVyBARUAAAAABkNEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9uc0hjaGVja19zcGVjX3ZlcnNpb25AQ2hlY2tTcGVjVmVyc2lvbgQEVAAAAAAdDRAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnNAY2hlY2tfdHhfdmVyc2lvbjhDaGVja1R4VmVyc2lvbgQEVAAAAAAhDRAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnM0Y2hlY2tfZ2VuZXNpczBDaGVja0dlbmVzaXMEBFQAAAAAJQ0QMGZyYW1lX3N5c3RlbShleHRlbnNpb25zPGNoZWNrX21vcnRhbGl0eThDaGVja01vcnRhbGl0eQQEVAAABAApDQEMRXJhAAApDRAoc3BfcnVudGltZRxnZW5lcmljDGVyYQxFcmEAAQEEIEltbW9ydGFsAAAAHE1vcnRhbDEEAAgAAAEAHE1vcnRhbDIEAAgAAAIAHE1vcnRhbDMEAAgAAAMAHE1vcnRhbDQEAAgAAAQAHE1vcnRhbDUEAAgAAAUAHE1vcnRhbDYEAAgAAAYAHE1vcnRhbDcEAAgAAAcAHE1vcnRhbDgEAAgAAAgAHE1vcnRhbDkEAAgAAAkAIE1vcnRhbDEwBAAIAAAKACBNb3J0YWwxMQQACAAACwAgTW9ydGFsMTIEAAgAAAwAIE1vcnRhbDEzBAAIAAANACBNb3J0YWwxNAQACAAADgAgTW9ydGFsMTUEAAgAAA8AIE1vcnRhbDE2BAAIAAAQACBNb3J0YWwxNwQACAAAEQAgTW9ydGFsMTgEAAgAABIAIE1vcnRhbDE5BAAIAAATACBNb3J0YWwyMAQACAAAFAAgTW9ydGFsMjEEAAgAABUAIE1vcnRhbDIyBAAIAAAWACBNb3J0YWwyMwQACAAAFwAgTW9ydGFsMjQEAAgAABgAIE1vcnRhbDI1BAAIAAAZACBNb3J0YWwyNgQACAAAGgAgTW9ydGFsMjcEAAgAABsAIE1vcnRhbDI4BAAIAAAcACBNb3J0YWwyOQQACAAAHQAgTW9ydGFsMzAEAAgAAB4AIE1vcnRhbDMxBAAIAAAfACBNb3J0YWwzMgQACAAAIAAgTW9ydGFsMzMEAAgAACEAIE1vcnRhbDM0BAAIAAAiACBNb3J0YWwzNQQACAAAIwAgTW9ydGFsMzYEAAgAACQAIE1vcnRhbDM3BAAIAAAlACBNb3J0YWwzOAQACAAAJgAgTW9ydGFsMzkEAAgAACcAIE1vcnRhbDQwBAAIAAAoACBNb3J0YWw0MQQACAAAKQAgTW9ydGFsNDIEAAgAACoAIE1vcnRhbDQzBAAIAAArACBNb3J0YWw0NAQACAAALAAgTW9ydGFsNDUEAAgAAC0AIE1vcnRhbDQ2BAAIAAAuACBNb3J0YWw0NwQACAAALwAgTW9ydGFsNDgEAAgAADAAIE1vcnRhbDQ5BAAIAAAxACBNb3J0YWw1MAQACAAAMgAgTW9ydGFsNTEEAAgAADMAIE1vcnRhbDUyBAAIAAA0ACBNb3J0YWw1MwQACAAANQAgTW9ydGFsNTQEAAgAADYAIE1vcnRhbDU1BAAIAAA3ACBNb3J0YWw1NgQACAAAOAAgTW9ydGFsNTcEAAgAADkAIE1vcnRhbDU4BAAIAAA6ACBNb3J0YWw1OQQACAAAOwAgTW9ydGFsNjAEAAgAADwAIE1vcnRhbDYxBAAIAAA9ACBNb3J0YWw2MgQACAAAPgAgTW9ydGFsNjMEAAgAAD8AIE1vcnRhbDY0BAAIAABAACBNb3J0YWw2NQQACAAAQQAgTW9ydGFsNjYEAAgAAEIAIE1vcnRhbDY3BAAIAABDACBNb3J0YWw2OAQACAAARAAgTW9ydGFsNjkEAAgAAEUAIE1vcnRhbDcwBAAIAABGACBNb3J0YWw3MQQACAAARwAgTW9ydGFsNzIEAAgAAEgAIE1vcnRhbDczBAAIAABJACBNb3J0YWw3NAQACAAASgAgTW9ydGFsNzUEAAgAAEsAIE1vcnRhbDc2BAAIAABMACBNb3J0YWw3NwQACAAATQAgTW9ydGFsNzgEAAgAAE4AIE1vcnRhbDc5BAAIAABPACBNb3J0YWw4MAQACAAAUAAgTW9ydGFsODEEAAgAAFEAIE1vcnRhbDgyBAAIAABSACBNb3J0YWw4MwQACAAAUwAgTW9ydGFsODQEAAgAAFQAIE1vcnRhbDg1BAAIAABVACBNb3J0YWw4NgQACAAAVgAgTW9ydGFsODcEAAgAAFcAIE1vcnRhbDg4BAAIAABYACBNb3J0YWw4OQQACAAAWQAgTW9ydGFsOTAEAAgAAFoAIE1vcnRhbDkxBAAIAABbACBNb3J0YWw5MgQACAAAXAAgTW9ydGFsOTMEAAgAAF0AIE1vcnRhbDk0BAAIAABeACBNb3J0YWw5NQQACAAAXwAgTW9ydGFsOTYEAAgAAGAAIE1vcnRhbDk3BAAIAABhACBNb3J0YWw5OAQACAAAYgAgTW9ydGFsOTkEAAgAAGMAJE1vcnRhbDEwMAQACAAAZAAkTW9ydGFsMTAxBAAIAABlACRNb3J0YWwxMDIEAAgAAGYAJE1vcnRhbDEwMwQACAAAZwAkTW9ydGFsMTA0BAAIAABoACRNb3J0YWwxMDUEAAgAAGkAJE1vcnRhbDEwNgQACAAAagAkTW9ydGFsMTA3BAAIAABrACRNb3J0YWwxMDgEAAgAAGwAJE1vcnRhbDEwOQQACAAAbQAkTW9ydGFsMTEwBAAIAABuACRNb3J0YWwxMTEEAAgAAG8AJE1vcnRhbDExMgQACAAAcAAkTW9ydGFsMTEzBAAIAABxACRNb3J0YWwxMTQEAAgAAHIAJE1vcnRhbDExNQQACAAAcwAkTW9ydGFsMTE2BAAIAAB0ACRNb3J0YWwxMTcEAAgAAHUAJE1vcnRhbDExOAQACAAAdgAkTW9ydGFsMTE5BAAIAAB3ACRNb3J0YWwxMjAEAAgAAHgAJE1vcnRhbDEyMQQACAAAeQAkTW9ydGFsMTIyBAAIAAB6ACRNb3J0YWwxMjMEAAgAAHsAJE1vcnRhbDEyNAQACAAAfAAkTW9ydGFsMTI1BAAIAAB9ACRNb3J0YWwxMjYEAAgAAH4AJE1vcnRhbDEyNwQACAAAfwAkTW9ydGFsMTI4BAAIAACAACRNb3J0YWwxMjkEAAgAAIEAJE1vcnRhbDEzMAQACAAAggAkTW9ydGFsMTMxBAAIAACDACRNb3J0YWwxMzIEAAgAAIQAJE1vcnRhbDEzMwQACAAAhQAkTW9ydGFsMTM0BAAIAACGACRNb3J0YWwxMzUEAAgAAIcAJE1vcnRhbDEzNgQACAAAiAAkTW9ydGFsMTM3BAAIAACJACRNb3J0YWwxMzgEAAgAAIoAJE1vcnRhbDEzOQQACAAAiwAkTW9ydGFsMTQwBAAIAACMACRNb3J0YWwxNDEEAAgAAI0AJE1vcnRhbDE0MgQACAAAjgAkTW9ydGFsMTQzBAAIAACPACRNb3J0YWwxNDQEAAgAAJAAJE1vcnRhbDE0NQQACAAAkQAkTW9ydGFsMTQ2BAAIAACSACRNb3J0YWwxNDcEAAgAAJMAJE1vcnRhbDE0OAQACAAAlAAkTW9ydGFsMTQ5BAAIAACVACRNb3J0YWwxNTAEAAgAAJYAJE1vcnRhbDE1MQQACAAAlwAkTW9ydGFsMTUyBAAIAACYACRNb3J0YWwxNTMEAAgAAJkAJE1vcnRhbDE1NAQACAAAmgAkTW9ydGFsMTU1BAAIAACbACRNb3J0YWwxNTYEAAgAAJwAJE1vcnRhbDE1NwQACAAAnQAkTW9ydGFsMTU4BAAIAACeACRNb3J0YWwxNTkEAAgAAJ8AJE1vcnRhbDE2MAQACAAAoAAkTW9ydGFsMTYxBAAIAAChACRNb3J0YWwxNjIEAAgAAKIAJE1vcnRhbDE2MwQACAAAowAkTW9ydGFsMTY0BAAIAACkACRNb3J0YWwxNjUEAAgAAKUAJE1vcnRhbDE2NgQACAAApgAkTW9ydGFsMTY3BAAIAACnACRNb3J0YWwxNjgEAAgAAKgAJE1vcnRhbDE2OQQACAAAqQAkTW9ydGFsMTcwBAAIAACqACRNb3J0YWwxNzEEAAgAAKsAJE1vcnRhbDE3MgQACAAArAAkTW9ydGFsMTczBAAIAACtACRNb3J0YWwxNzQEAAgAAK4AJE1vcnRhbDE3NQQACAAArwAkTW9ydGFsMTc2BAAIAACwACRNb3J0YWwxNzcEAAgAALEAJE1vcnRhbDE3OAQACAAAsgAkTW9ydGFsMTc5BAAIAACzACRNb3J0YWwxODAEAAgAALQAJE1vcnRhbDE4MQQACAAAtQAkTW9ydGFsMTgyBAAIAAC2ACRNb3J0YWwxODMEAAgAALcAJE1vcnRhbDE4NAQACAAAuAAkTW9ydGFsMTg1BAAIAAC5ACRNb3J0YWwxODYEAAgAALoAJE1vcnRhbDE4NwQACAAAuwAkTW9ydGFsMTg4BAAIAAC8ACRNb3J0YWwxODkEAAgAAL0AJE1vcnRhbDE5MAQACAAAvgAkTW9ydGFsMTkxBAAIAAC/ACRNb3J0YWwxOTIEAAgAAMAAJE1vcnRhbDE5MwQACAAAwQAkTW9ydGFsMTk0BAAIAADCACRNb3J0YWwxOTUEAAgAAMMAJE1vcnRhbDE5NgQACAAAxAAkTW9ydGFsMTk3BAAIAADFACRNb3J0YWwxOTgEAAgAAMYAJE1vcnRhbDE5OQQACAAAxwAkTW9ydGFsMjAwBAAIAADIACRNb3J0YWwyMDEEAAgAAMkAJE1vcnRhbDIwMgQACAAAygAkTW9ydGFsMjAzBAAIAADLACRNb3J0YWwyMDQEAAgAAMwAJE1vcnRhbDIwNQQACAAAzQAkTW9ydGFsMjA2BAAIAADOACRNb3J0YWwyMDcEAAgAAM8AJE1vcnRhbDIwOAQACAAA0AAkTW9ydGFsMjA5BAAIAADRACRNb3J0YWwyMTAEAAgAANIAJE1vcnRhbDIxMQQACAAA0wAkTW9ydGFsMjEyBAAIAADUACRNb3J0YWwyMTMEAAgAANUAJE1vcnRhbDIxNAQACAAA1gAkTW9ydGFsMjE1BAAIAADXACRNb3J0YWwyMTYEAAgAANgAJE1vcnRhbDIxNwQACAAA2QAkTW9ydGFsMjE4BAAIAADaACRNb3J0YWwyMTkEAAgAANsAJE1vcnRhbDIyMAQACAAA3AAkTW9ydGFsMjIxBAAIAADdACRNb3J0YWwyMjIEAAgAAN4AJE1vcnRhbDIyMwQACAAA3wAkTW9ydGFsMjI0BAAIAADgACRNb3J0YWwyMjUEAAgAAOEAJE1vcnRhbDIyNgQACAAA4gAkTW9ydGFsMjI3BAAIAADjACRNb3J0YWwyMjgEAAgAAOQAJE1vcnRhbDIyOQQACAAA5QAkTW9ydGFsMjMwBAAIAADmACRNb3J0YWwyMzEEAAgAAOcAJE1vcnRhbDIzMgQACAAA6AAkTW9ydGFsMjMzBAAIAADpACRNb3J0YWwyMzQEAAgAAOoAJE1vcnRhbDIzNQQACAAA6wAkTW9ydGFsMjM2BAAIAADsACRNb3J0YWwyMzcEAAgAAO0AJE1vcnRhbDIzOAQACAAA7gAkTW9ydGFsMjM5BAAIAADvACRNb3J0YWwyNDAEAAgAAPAAJE1vcnRhbDI0MQQACAAA8QAkTW9ydGFsMjQyBAAIAADyACRNb3J0YWwyNDMEAAgAAPMAJE1vcnRhbDI0NAQACAAA9AAkTW9ydGFsMjQ1BAAIAAD1ACRNb3J0YWwyNDYEAAgAAPYAJE1vcnRhbDI0NwQACAAA9wAkTW9ydGFsMjQ4BAAIAAD4ACRNb3J0YWwyNDkEAAgAAPkAJE1vcnRhbDI1MAQACAAA+gAkTW9ydGFsMjUxBAAIAAD7ACRNb3J0YWwyNTIEAAgAAPwAJE1vcnRhbDI1MwQACAAA/QAkTW9ydGFsMjU0BAAIAAD+ACRNb3J0YWwyNTUEAAgAAP8AAC0NEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9ucyxjaGVja19ub25jZShDaGVja05vbmNlBARUAAAEAFUBASBUOjpOb25jZQAAMQ0QMGZyYW1lX3N5c3RlbShleHRlbnNpb25zMGNoZWNrX3dlaWdodCxDaGVja1dlaWdodAQEVAAAAAA1DQhocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnRgQ2hhcmdlVHJhbnNhY3Rpb25QYXltZW50BARUAAAEAC0BATBCYWxhbmNlT2Y8VD4AADkNCDRwYWxsZXRfY2xhaW1zNFZhbGlkYXRlQ2xhaW0EBFQAAAAAPQ0IdGZyYW1lX21ldGFkYXRhX2hhc2hfZXh0ZW5zaW9uRENoZWNrTWV0YWRhdGFIYXNoBARUAAAEARBtb2RlQQ0BEE1vZGUAAEENCHRmcmFtZV9tZXRhZGF0YV9oYXNoX2V4dGVuc2lvbhBNb2RlAAEIIERpc2FibGVkAAAAHEVuYWJsZWQAAQAARQ0IpGN1bXVsdXNfcHJpbWl0aXZlc19zdG9yYWdlX3dlaWdodF9yZWNsYWltUFN0b3JhZ2VXZWlnaHRSZWNsYWltBARUAAAAAEkNCDxoeWRyYWR4X3J1bnRpbWUcUnVudGltZQAAAABNDRAoc3BfcnVudGltZRxnZW5lcmljFGJsb2NrFEJsb2NrCBhIZWFkZXIBUQ0kRXh0cmluc2ljAVUNAAgBGGhlYWRlclENARhIZWFkZXIAAShleHRyaW5zaWNzXQ0BOFZlYzxFeHRyaW5zaWM+AABRDRAoc3BfcnVudGltZRxnZW5lcmljGGhlYWRlchhIZWFkZXIIGE51bWJlcgEQEEhhc2gAABQBLHBhcmVudF9oYXNoNAEwSGFzaDo6T3V0cHV0AAEYbnVtYmVyVQEBGE51bWJlcgABKHN0YXRlX3Jvb3Q0ATBIYXNoOjpPdXRwdXQAATxleHRyaW5zaWNzX3Jvb3Q0ATBIYXNoOjpPdXRwdXQAARhkaWdlc3Q8ARhEaWdlc3QAAFUNDERmcF9zZWxmX2NvbnRhaW5lZEx1bmNoZWNrZWRfZXh0cmluc2ljSFVuY2hlY2tlZEV4dHJpbnNpYxAcQWRkcmVzcwEAEENhbGwBEQEkU2lnbmF0dXJlAXECFEV4dHJhARENAAQAWQ0BJQFzcF9ydW50aW1lOjpnZW5lcmljOjpVbmNoZWNrZWRFeHRyaW5zaWM8QWRkcmVzcywgQ2FsbCwgU2lnbmF0dXJlLCBFeHRyYQo+AABZDRAoc3BfcnVudGltZRxnZW5lcmljTHVuY2hlY2tlZF9leHRyaW5zaWNIVW5jaGVja2VkRXh0cmluc2ljEBxBZGRyZXNzAQAQQ2FsbAERASRTaWduYXR1cmUBcQIURXh0cmEBEQ0ABAA4AAAAXQ0AAAJVDQBhDQgoc3BfcnVudGltZVhFeHRyaW5zaWNJbmNsdXNpb25Nb2RlAAEINEFsbEV4dHJpbnNpY3MAAAA0T25seUluaGVyZW50cwABAABlDQgcc3BfY29yZThPcGFxdWVNZXRhZGF0YQAABAA4ARxWZWM8dTg+AABpDQQYT3B0aW9uBARUAWUNAQgQTm9uZQAAABBTb21lBABlDQAAAQAAbQ0EGFJlc3VsdAgEVAGYBEUBcQ0BCAhPawQAmAAAAAAMRXJyBABxDQAAAQAAcQ0MKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlgVHJhbnNhY3Rpb25WYWxpZGl0eUVycm9yAAEIHEludmFsaWQEAHUNAUhJbnZhbGlkVHJhbnNhY3Rpb24AAAAcVW5rbm93bgQAeQ0BSFVua25vd25UcmFuc2FjdGlvbgABAAB1DQwoc3BfcnVudGltZVB0cmFuc2FjdGlvbl92YWxpZGl0eUhJbnZhbGlkVHJhbnNhY3Rpb24AASwQQ2FsbAAAABxQYXltZW50AAEAGEZ1dHVyZQACABRTdGFsZQADACBCYWRQcm9vZgAEAERBbmNpZW50QmlydGhCbG9jawAFAERFeGhhdXN0c1Jlc291cmNlcwAGABhDdXN0b20EAAgBCHU4AAcAMEJhZE1hbmRhdG9yeQAIAExNYW5kYXRvcnlWYWxpZGF0aW9uAAkAJEJhZFNpZ25lcgAKAAB5DQwoc3BfcnVudGltZVB0cmFuc2FjdGlvbl92YWxpZGl0eUhVbmtub3duVHJhbnNhY3Rpb24AAQwwQ2Fubm90TG9va3VwAAAATE5vVW5zaWduZWRWYWxpZGF0b3IAAQAYQ3VzdG9tBAAIAQh1OAACAAB9DQgwc3BfaW5oZXJlbnRzMEluaGVyZW50RGF0YQAABAEQZGF0YYENAZRCVHJlZU1hcDxJbmhlcmVudElkZW50aWZpZXIsIFZlYzx1OD4+AACBDQQgQlRyZWVNYXAIBEsB/QEEVgE4AAQAhQ0AAACFDQAAAokNAIkNAAAECP0BOACNDQgwc3BfaW5oZXJlbnRzUENoZWNrSW5oZXJlbnRzUmVzdWx0AAAMARBva2F5IAEQYm9vbAABLGZhdGFsX2Vycm9yIAEQYm9vbAABGGVycm9yc30NATBJbmhlcmVudERhdGEAAJENDChzcF9ydW50aW1lUHRyYW5zYWN0aW9uX3ZhbGlkaXR5RFRyYW5zYWN0aW9uU291cmNlAAEMHEluQmxvY2sAAAAUTG9jYWwAAQAgRXh0ZXJuYWwAAgAAlQ0EGFJlc3VsdAgEVAGZDQRFAXENAQgIT2sEAJkNAAAAAAxFcnIEAHENAAABAACZDQwoc3BfcnVudGltZVB0cmFuc2FjdGlvbl92YWxpZGl0eUBWYWxpZFRyYW5zYWN0aW9uAAAUASBwcmlvcml0eTABTFRyYW5zYWN0aW9uUHJpb3JpdHkAASByZXF1aXJlcyEBAUxWZWM8VHJhbnNhY3Rpb25UYWc+AAEgcHJvdmlkZXMhAQFMVmVjPFRyYW5zYWN0aW9uVGFnPgABJGxvbmdldml0eTABUFRyYW5zYWN0aW9uTG9uZ2V2aXR5AAEkcHJvcGFnYXRlIAEQYm9vbAAAnQ0EGE9wdGlvbgQEVAGhDQEIEE5vbmUAAAAQU29tZQQAoQ0AAAEAAKENAAACpQ0ApQ0AAAQIOLUMAKkNCEhzcF9jb25zZW5zdXNfc2xvdHMwU2xvdER1cmF0aW9uAAAEADABDHU2NAAArQ0IXGN1bXVsdXNfcHJpbWl0aXZlc19jb3JlNENvbGxhdGlvbkluZm8AABgBPHVwd2FyZF9tZXNzYWdlcyEBAUhWZWM8VXB3YXJkTWVzc2FnZT4AAUxob3Jpem9udGFsX21lc3NhZ2Vz3QsBYFZlYzxPdXRib3VuZEhybXBNZXNzYWdlPgABTG5ld192YWxpZGF0aW9uX2NvZGWxDQGMT3B0aW9uPHJlbGF5X2NoYWluOjpWYWxpZGF0aW9uQ29kZT4AAWxwcm9jZXNzZWRfZG93bndhcmRfbWVzc2FnZXMQAQx1MzIAAThocm1wX3dhdGVybWFyaxABYHJlbGF5X2NoYWluOjpCbG9ja051bWJlcgABJGhlYWRfZGF0YY0EASBIZWFkRGF0YQAAsQ0EGE9wdGlvbgQEVAG1DQEIEE5vbmUAAAAQU29tZQQAtQ0AAAEAALUNDHRwb2xrYWRvdF9wYXJhY2hhaW5fcHJpbWl0aXZlcyhwcmltaXRpdmVzOFZhbGlkYXRpb25Db2RlAAAEADgBHFZlYzx1OD4AALkNCIRwYWxsZXRfY3VycmVuY2llc19ycGNfcnVudGltZV9hcGksQWNjb3VudERhdGEEHEJhbGFuY2UBGAAMARBmcmVlGAEcQmFsYW5jZQABIHJlc2VydmVkGAEcQmFsYW5jZQABGGZyb3plbhgBHEJhbGFuY2UAAL0NAAACwQ0AwQ0AAAQIELkNAMUNDGhwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudBR0eXBlc0xSdW50aW1lRGlzcGF0Y2hJbmZvCBxCYWxhbmNlARgYV2VpZ2h0ASgADAEYd2VpZ2h0KAEYV2VpZ2h0AAEUY2xhc3NgATREaXNwYXRjaENsYXNzAAEscGFydGlhbF9mZWUYARxCYWxhbmNlAADJDQxocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQUdHlwZXMoRmVlRGV0YWlscwQcQmFsYW5jZQEYAAgBNGluY2x1c2lvbl9mZWXNDQF0T3B0aW9uPEluY2x1c2lvbkZlZTxCYWxhbmNlPj4AAQx0aXAYARxCYWxhbmNlAADNDQQYT3B0aW9uBARUAdENAQgQTm9uZQAAABBTb21lBADRDQAAAQAA0Q0MaHBhbGxldF90cmFuc2FjdGlvbl9wYXltZW50FHR5cGVzMEluY2x1c2lvbkZlZQQcQmFsYW5jZQEYAAwBIGJhc2VfZmVlGAEcQmFsYW5jZQABHGxlbl9mZWUYARxCYWxhbmNlAAFMYWRqdXN0ZWRfd2VpZ2h0X2ZlZRgBHEJhbGFuY2UAANUNDAxldm0cYmFja2VuZBRCYXNpYwAACAEcYmFsYW5jZUkBARBVMjU2AAEUbm9uY2VJAQEQVTI1NgAA2Q0EGE9wdGlvbgQEVAElBAEIEE5vbmUAAAAQU29tZQQAJQQAAAEAAN0NBBhSZXN1bHQIBFQB4Q0ERQFoAQgIT2sEAOENAAAAAAxFcnIEAGgAAAEAAOENCBhmcF9ldm08RXhlY3V0aW9uSW5mb1YyBARUATgAFAEsZXhpdF9yZWFzb279BgEoRXhpdFJlYXNvbgABFHZhbHVlOAEEVAABIHVzZWRfZ2Fz5Q0BHFVzZWRHYXMAASx3ZWlnaHRfaW5mb+kNAUhPcHRpb248V2VpZ2h0SW5mbz4AARBsb2dz/QoBIFZlYzxMb2c+AADlDQgYZnBfZXZtHFVzZWRHYXMAAAgBIHN0YW5kYXJkSQEBEFUyNTYAASRlZmZlY3RpdmVJAQEQVTI1NgAA6Q0EGE9wdGlvbgQEVAHtDQEIEE5vbmUAAAAQU29tZQQA7Q0AAAEAAO0NCBhmcF9ldm0oV2VpZ2h0SW5mbwAAEAE4cmVmX3RpbWVfbGltaXTxDQEsT3B0aW9uPHU2ND4AAUBwcm9vZl9zaXplX2xpbWl08Q0BLE9wdGlvbjx1NjQ+AAE4cmVmX3RpbWVfdXNhZ2XxDQEsT3B0aW9uPHU2ND4AAUBwcm9vZl9zaXplX3VzYWdl8Q0BLE9wdGlvbjx1NjQ+AADxDQQYT3B0aW9uBARUATABCBBOb25lAAAAEFNvbWUEADAAAAEAAPUNBBhSZXN1bHQIBFQB+Q0ERQFoAQgIT2sEAPkNAAAAAAxFcnIEAGgAAAEAAPkNCBhmcF9ldm08RXhlY3V0aW9uSW5mb1YyBARUAUEBABQBLGV4aXRfcmVhc29u/QYBKEV4aXRSZWFzb24AARR2YWx1ZUEBAQRUAAEgdXNlZF9nYXPlDQEcVXNlZEdhcwABLHdlaWdodF9pbmZv6Q0BSE9wdGlvbjxXZWlnaHRJbmZvPgABEGxvZ3P9CgEgVmVjPExvZz4AAP0NBBhPcHRpb24EBFQBEQsBCBBOb25lAAAAEFNvbWUEABELAAABAAABDgQYT3B0aW9uBARUASULAQgQTm9uZQAAABBTb21lBAAlCwAAAQAABQ4EGE9wdGlvbgQEVAEpCwEIEE5vbmUAAAAQU29tZQQAKQsAAAEAAAkOAAAEDP0NAQ4FDgANDgAABAj9DQUOABEOBBhSZXN1bHQIBFQBFQ4ERQEZDgEICE9rBAAVDgAAAAAMRXJyBAAZDgAAAQAAFQ4AAAIVBgAZDgxAeGNtX3J1bnRpbWVfYXBpcxBmZWVzFEVycm9yAAEYNFVuaW1wbGVtZW50ZWQAAABkVmVyc2lvbmVkQ29udmVyc2lvbkZhaWxlZAABAExXZWlnaHROb3RDb21wdXRhYmxlAAIATFVuaGFuZGxlZFhjbVZlcnNpb24AAwA0QXNzZXROb3RGb3VuZAAEAChVbnJvdXRhYmxlAAUAAB0OBBhSZXN1bHQIBFQBKARFARkOAQgIT2sEACgAAAAADEVycgQAGQ4AAAEAACEOBBhSZXN1bHQIBFQBGARFARkOAQgIT2sEABgAAAAADEVycgQAGQ4AAAEAACUOBBhSZXN1bHQIBFQB4QUERQEZDgEICE9rBADhBQAAAAAMRXJyBAAZDgAAAQAAKQ4EGFJlc3VsdAgEVAEtDgRFAUUOAQgIT2sEAC0OAAAAAAxFcnIEAEUOAAABAAAtDgxAeGNtX3J1bnRpbWVfYXBpcxxkcnlfcnVuRENhbGxEcnlSdW5FZmZlY3RzBBRFdmVudAFUABABQGV4ZWN1dGlvbl9yZXN1bHRdBgFoRGlzcGF0Y2hSZXN1bHRXaXRoUG9zdEluZm8AAThlbWl0dGVkX2V2ZW50czEOAShWZWM8RXZlbnQ+AAEkbG9jYWxfeGNtNQ4BYE9wdGlvbjxWZXJzaW9uZWRYY208KCk+PgABOGZvcndhcmRlZF94Y21zOQ4BvFZlYzwoVmVyc2lvbmVkTG9jYXRpb24sIFZlYzxWZXJzaW9uZWRYY208KCk+Pik+AAAxDgAAAlQANQ4EGE9wdGlvbgQEVAHdBAEIEE5vbmUAAAAQU29tZQQA3QQAAAEAADkOAAACPQ4APQ4AAAQIvQRBDgBBDgAAAt0EAEUODEB4Y21fcnVudGltZV9hcGlzHGRyeV9ydW4URXJyb3IAAQg0VW5pbXBsZW1lbnRlZAAAAGRWZXJzaW9uZWRDb252ZXJzaW9uRmFpbGVkAAEAAEkOBBhSZXN1bHQIBFQBTQ4ERQFFDgEICE9rBABNDgAAAAAMRXJyBABFDgAAAQAATQ4MQHhjbV9ydW50aW1lX2FwaXMcZHJ5X3J1bkBYY21EcnlSdW5FZmZlY3RzBBRFdmVudAFUAAwBQGV4ZWN1dGlvbl9yZXN1bHRBBwEcT3V0Y29tZQABOGVtaXR0ZWRfZXZlbnRzMQ4BKFZlYzxFdmVudD4AAThmb3J3YXJkZWRfeGNtczkOAbxWZWM8KFZlcnNpb25lZExvY2F0aW9uLCBWZWM8VmVyc2lvbmVkWGNtPCgpPj4pPgAAUQ4EGFJlc3VsdAgEVAEABEUBVQ4BCAhPawQAAAAAAAAMRXJyBABVDgAAAQAAVQ4MQHhjbV9ydW50aW1lX2FwaXMsY29udmVyc2lvbnMURXJyb3IAAQgsVW5zdXBwb3J0ZWQAAABkVmVyc2lvbmVkQ29udmVyc2lvbkZhaWxlZAABAABZDgQYT3B0aW9uBARUAV0OAQgQTm9uZQAAABBTb21lBABdDgAAAQAAXQ4AAAQQEBC5A/0BAGEOEDxoeWRyYWR4X3J1bnRpbWUMZXZtTGFhdmVfdHJhZGVfZXhlY3V0b3IgUG9vbERhdGEEHEJhbGFuY2UBGAAQARxyZXNlcnZlEAEcQXNzZXRJZAABGGF0b2tlbhABHEFzc2V0SWQAASxsaXF1ZGl0eV9pbhgBHEJhbGFuY2UAATBsaXF1ZGl0eV9vdXQYARxCYWxhbmNlAABlDgAAAmEOAGkOBBhSZXN1bHQIBFQBkARFAREHAQgIT2sEAJAAAAAADEVycgQAEQcAAAEAAG0OBBhPcHRpb24EBFQBEQcBCBBOb25lAAAAEFNvbWUEABEHAAABAABxDgAAAhEHAHUOCDxoeWRyYWR4X3J1bnRpbWUwUnVudGltZUVycm9yAAHsGFN5c3RlbQQAyQcBcGZyYW1lX3N5c3RlbTo6RXJyb3I8UnVudGltZT4AAQAgQmFsYW5jZXMEAA0IAXxwYWxsZXRfYmFsYW5jZXM6OkVycm9yPFJ1bnRpbWU+AAcAXE11bHRpVHJhbnNhY3Rpb25QYXltZW50BAAVCAHAcGFsbGV0X3RyYW5zYWN0aW9uX211bHRpX3BheW1lbnQ6OkVycm9yPFJ1bnRpbWU+AMsAIFRyZWFzdXJ5BAAtCAF8cGFsbGV0X3RyZWFzdXJ5OjpFcnJvcjxSdW50aW1lPgALABxVdGlsaXR5BAAxCAF4cGFsbGV0X3V0aWxpdHk6OkVycm9yPFJ1bnRpbWU+AA0AIFByZWltYWdlBABZCAF8cGFsbGV0X3ByZWltYWdlOjpFcnJvcjxSdW50aW1lPgAPACBJZGVudGl0eQQAmQgBfHBhbGxldF9pZGVudGl0eTo6RXJyb3I8UnVudGltZT4AEQAkRGVtb2NyYWN5BADdCAGAcGFsbGV0X2RlbW9jcmFjeTo6RXJyb3I8UnVudGltZT4AEwBIVGVjaG5pY2FsQ29tbWl0dGVlBADpCAH8cGFsbGV0X2NvbGxlY3RpdmU6OkVycm9yPFJ1bnRpbWUsIHBhbGxldF9jb2xsZWN0aXZlOjpJbnN0YW5jZTI+ABkAFFByb3h5BAANCQFwcGFsbGV0X3Byb3h5OjpFcnJvcjxSdW50aW1lPgAdACBNdWx0aXNpZwQAHQkBfHBhbGxldF9tdWx0aXNpZzo6RXJyb3I8UnVudGltZT4AHwAcVW5pcXVlcwQAQQkBeHBhbGxldF91bmlxdWVzOjpFcnJvcjxSdW50aW1lPgAgAEhTdGF0ZVRyaWVNaWdyYXRpb24EAPgBrHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbjo6RXJyb3I8UnVudGltZT4AIwBAQ29udmljdGlvblZvdGluZwQAdQkBoHBhbGxldF9jb252aWN0aW9uX3ZvdGluZzo6RXJyb3I8UnVudGltZT4AJAAkUmVmZXJlbmRhBAC1CQGAcGFsbGV0X3JlZmVyZW5kYTo6RXJyb3I8UnVudGltZT4AJQAkV2hpdGVsaXN0BAC5CQGAcGFsbGV0X3doaXRlbGlzdDo6RXJyb3I8UnVudGltZT4AJwA0QXNzZXRSZWdpc3RyeQQAwQkBlHBhbGxldF9hc3NldF9yZWdpc3RyeTo6RXJyb3I8UnVudGltZT4AMwAYQ2xhaW1zBADFCQF0cGFsbGV0X2NsYWltczo6RXJyb3I8UnVudGltZT4ANQA8Q29sbGF0b3JSZXdhcmRzBADRCQGccGFsbGV0X2NvbGxhdG9yX3Jld2FyZHM6OkVycm9yPFJ1bnRpbWU+ADkAIE9tbmlwb29sBADdCQF8cGFsbGV0X29tbmlwb29sOjpFcnJvcjxSdW50aW1lPgA7AEBUcmFuc2FjdGlvblBhdXNlBADpCQGgcGFsbGV0X3RyYW5zYWN0aW9uX3BhdXNlOjpFcnJvcjxSdW50aW1lPgA8ABhEdXN0ZXIEAO0JAXRwYWxsZXRfZHVzdGVyOjpFcnJvcjxSdW50aW1lPgA9AExPbW5pcG9vbFdhcmVob3VzZUxNBAARCgFJAXdhcmVob3VzZV9saXF1aWRpdHlfbWluaW5nOjpFcnJvcjxSdW50aW1lLCB3YXJlaG91c2VfbGlxdWlkaXR5X21pbmluZzo6Ckluc3RhbmNlMT4APgBcT21uaXBvb2xMaXF1aWRpdHlNaW5pbmcEABkKAcBwYWxsZXRfb21uaXBvb2xfbGlxdWlkaXR5X21pbmluZzo6RXJyb3I8UnVudGltZT4APwAMT1RDBAAlCgFocGFsbGV0X290Yzo6RXJyb3I8UnVudGltZT4AQAA4Q2lyY3VpdEJyZWFrZXIEADUKAZhwYWxsZXRfY2lyY3VpdF9icmVha2VyOjpFcnJvcjxSdW50aW1lPgBBABhSb3V0ZXIEADkKAZRwYWxsZXRfcm91dGVfZXhlY3V0b3I6OkVycm9yPFJ1bnRpbWU+AEMALER5bmFtaWNGZWVzBABBCgGMcGFsbGV0X2R5bmFtaWNfZmVlczo6RXJyb3I8UnVudGltZT4ARAAcU3Rha2luZwQAZQoBeHBhbGxldF9zdGFraW5nOjpFcnJvcjxSdW50aW1lPgBFAChTdGFibGVzd2FwBACFCgGEcGFsbGV0X3N0YWJsZXN3YXA6OkVycm9yPFJ1bnRpbWU+AEYAFEJvbmRzBACNCgFwcGFsbGV0X2JvbmRzOjpFcnJvcjxSdW50aW1lPgBHADhPdGNTZXR0bGVtZW50cwQAkQoBmHBhbGxldF9vdGNfc2V0dGxlbWVudHM6OkVycm9yPFJ1bnRpbWU+AEgADExCUAQAlQoBaHBhbGxldF9sYnA6OkVycm9yPFJ1bnRpbWU+AEkADFhZSwQAmQoBaHBhbGxldF94eWs6OkVycm9yPFJ1bnRpbWU+AEoAJFJlZmVycmFscwQAqQoBgHBhbGxldF9yZWZlcnJhbHM6OkVycm9yPFJ1bnRpbWU+AEsALExpcXVpZGF0aW9uBACtCgGIcGFsbGV0X2xpcXVpZGF0aW9uOjpFcnJvcjxSdW50aW1lPgBMAAxIU00EALUKAWhwYWxsZXRfaHNtOjpFcnJvcjxSdW50aW1lPgBSABhUb2tlbnMEANUKAWxvcm1sX3Rva2Vuczo6RXJyb3I8UnVudGltZT4ATQAoQ3VycmVuY2llcwQA2QoBhHBhbGxldF9jdXJyZW5jaWVzOjpFcnJvcjxSdW50aW1lPgBPABxWZXN0aW5nBADhCgFwb3JtbF92ZXN0aW5nOjpFcnJvcjxSdW50aW1lPgBRAAxFVk0EAO0KAWhwYWxsZXRfZXZtOjpFcnJvcjxSdW50aW1lPgBaACBFdGhlcmV1bQQALQsBfHBhbGxldF9ldGhlcmV1bTo6RXJyb3I8UnVudGltZT4AXAAsRVZNQWNjb3VudHMEADELAYxwYWxsZXRfZXZtX2FjY291bnRzOjpFcnJvcjxSdW50aW1lPgBdAEhYWUtMaXF1aWRpdHlNaW5pbmcEADULAaxwYWxsZXRfeHlrX2xpcXVpZGl0eV9taW5pbmc6OkVycm9yPFJ1bnRpbWU+AF8AOFhZS1dhcmVob3VzZUxNBABVCwFJAXdhcmVob3VzZV9saXF1aWRpdHlfbWluaW5nOjpFcnJvcjxSdW50aW1lLCB3YXJlaG91c2VfbGlxdWlkaXR5X21pbmluZzo6Ckluc3RhbmNlMj4AYAA4UmVsYXlDaGFpbkluZm8EAFkLAZhwYWxsZXRfcmVsYXljaGFpbl9pbmZvOjpFcnJvcjxSdW50aW1lPgDJAAxEQ0EEAGULAWhwYWxsZXRfZGNhOjpFcnJvcjxSdW50aW1lPgBCACRTY2hlZHVsZXIEAH0LAYBwYWxsZXRfc2NoZWR1bGVyOjpFcnJvcjxSdW50aW1lPgAFADxQYXJhY2hhaW5TeXN0ZW0EAOULAbxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtOjpFcnJvcjxSdW50aW1lPgBnACxQb2xrYWRvdFhjbQQAOQwBaHBhbGxldF94Y206OkVycm9yPFJ1bnRpbWU+AGsAJFhjbXBRdWV1ZQQAZQwBpGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWU6OkVycm9yPFJ1bnRpbWU+AG8AME1lc3NhZ2VRdWV1ZQQAgQwBkHBhbGxldF9tZXNzYWdlX3F1ZXVlOjpFcnJvcjxSdW50aW1lPgByABxPcm1sWGNtBACFDAFgb3JtbF94Y206OkVycm9yPFJ1bnRpbWU+AIcAHFhUb2tlbnMEAIkMAXBvcm1sX3h0b2tlbnM6OkVycm9yPFJ1bnRpbWU+AIkANFVua25vd25Ub2tlbnMEAJUMAYxvcm1sX3Vua25vd25fdG9rZW5zOjpFcnJvcjxSdW50aW1lPgCLAERDb2xsYXRvclNlbGVjdGlvbgQApQwBpHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb246OkVycm9yPFJ1bnRpbWU+AKMAHFNlc3Npb24EALkMAXhwYWxsZXRfc2Vzc2lvbjo6RXJyb3I8UnVudGltZT4ApQAkRW1hT3JhY2xlBAAFDQGEcGFsbGV0X2VtYV9vcmFjbGU6OkVycm9yPFJ1bnRpbWU+AMoAJEJyb2FkY2FzdAQADQ0BgHBhbGxldF9icm9hZGNhc3Q6OkVycm9yPFJ1bnRpbWU+AMwAACEBGFN5c3RlbQEYU3lzdGVtSBxBY2NvdW50AQEEAgAMQQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAToIFRoZSBmdWxsIGFjY291bnQgaW5mb3JtYXRpb24gZm9yIGEgcGFydGljdWxhciBhY2NvdW50IElELjhFeHRyaW5zaWNDb3VudAAAEAQABLggVG90YWwgZXh0cmluc2ljcyBjb3VudCBmb3IgdGhlIGN1cnJlbnQgYmxvY2suQEluaGVyZW50c0FwcGxpZWQBACAEAASkIFdoZXRoZXIgYWxsIGluaGVyZW50cyBoYXZlIGJlZW4gYXBwbGllZC4sQmxvY2tXZWlnaHQBACQYAAAAAAAABIggVGhlIGN1cnJlbnQgd2VpZ2h0IGZvciB0aGUgYmxvY2suQEFsbEV4dHJpbnNpY3NMZW4AABAEAARBASBUb3RhbCBsZW5ndGggKGluIGJ5dGVzKSBmb3IgYWxsIGV4dHJpbnNpY3MgcHV0IHRvZ2V0aGVyLCBmb3IgdGhlIGN1cnJlbnQgYmxvY2suJEJsb2NrSGFzaAEBBAUQNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASYIE1hcCBvZiBibG9jayBudW1iZXJzIHRvIGJsb2NrIGhhc2hlcy40RXh0cmluc2ljRGF0YQEBBAUQOAQABD0BIEV4dHJpbnNpY3MgZGF0YSBmb3IgdGhlIGN1cnJlbnQgYmxvY2sgKG1hcHMgYW4gZXh0cmluc2ljJ3MgaW5kZXggdG8gaXRzIGRhdGEpLhhOdW1iZXIBABAQAAAAAAQJASBUaGUgY3VycmVudCBibG9jayBudW1iZXIgYmVpbmcgcHJvY2Vzc2VkLiBTZXQgYnkgYGV4ZWN1dGVfYmxvY2tgLihQYXJlbnRIYXNoAQA0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHAgSGFzaCBvZiB0aGUgcHJldmlvdXMgYmxvY2suGERpZ2VzdAEAPAQABPAgRGlnZXN0IG9mIHRoZSBjdXJyZW50IGJsb2NrLCBhbHNvIHBhcnQgb2YgdGhlIGJsb2NrIGhlYWRlci4YRXZlbnRzAQBMBAAcoCBFdmVudHMgZGVwb3NpdGVkIGZvciB0aGUgY3VycmVudCBibG9jay4AHQEgTk9URTogVGhlIGl0ZW0gaXMgdW5ib3VuZCBhbmQgc2hvdWxkIHRoZXJlZm9yZSBuZXZlciBiZSByZWFkIG9uIGNoYWluLtAgSXQgY291bGQgb3RoZXJ3aXNlIGluZmxhdGUgdGhlIFBvViBzaXplIG9mIGEgYmxvY2suAC0BIEV2ZW50cyBoYXZlIGEgbGFyZ2UgaW4tbWVtb3J5IHNpemUuIEJveCB0aGUgZXZlbnRzIHRvIG5vdCBnbyBvdXQtb2YtbWVtb3J5/CBqdXN0IGluIGNhc2Ugc29tZW9uZSBzdGlsbCByZWFkcyB0aGVtIGZyb20gd2l0aGluIHRoZSBydW50aW1lLihFdmVudENvdW50AQAQEAAAAAAEuCBUaGUgbnVtYmVyIG9mIGV2ZW50cyBpbiB0aGUgYEV2ZW50czxUPmAgbGlzdC4sRXZlbnRUb3BpY3MBAQQCNFEDBAAoJQEgTWFwcGluZyBiZXR3ZWVuIGEgdG9waWMgKHJlcHJlc2VudGVkIGJ5IFQ6Okhhc2gpIGFuZCBhIHZlY3RvciBvZiBpbmRleGVzlCBvZiBldmVudHMgaW4gdGhlIGA8RXZlbnRzPFQ+PmAgbGlzdC4AUQEgQWxsIHRvcGljIHZlY3RvcnMgaGF2ZSBkZXRlcm1pbmlzdGljIHN0b3JhZ2UgbG9jYXRpb25zIGRlcGVuZGluZyBvbiB0aGUgdG9waWMuIFRoaXNFASBhbGxvd3MgbGlnaHQtY2xpZW50cyB0byBsZXZlcmFnZSB0aGUgY2hhbmdlcyB0cmllIHN0b3JhZ2UgdHJhY2tpbmcgbWVjaGFuaXNtIGFuZOQgaW4gY2FzZSBvZiBjaGFuZ2VzIGZldGNoIHRoZSBsaXN0IG9mIGV2ZW50cyBvZiBpbnRlcmVzdC4AWQEgVGhlIHZhbHVlIGhhcyB0aGUgdHlwZSBgKEJsb2NrTnVtYmVyRm9yPFQ+LCBFdmVudEluZGV4KWAgYmVjYXVzZSBpZiB3ZSB1c2VkIG9ubHkganVzdE0BIHRoZSBgRXZlbnRJbmRleGAgdGhlbiBpbiBjYXNlIGlmIHRoZSB0b3BpYyBoYXMgdGhlIHNhbWUgY29udGVudHMgb24gdGhlIG5leHQgYmxvY2sBASBubyBub3RpZmljYXRpb24gd2lsbCBiZSB0cmlnZ2VyZWQgdGh1cyB0aGUgZXZlbnQgbWlnaHQgYmUgbG9zdC5ITGFzdFJ1bnRpbWVVcGdyYWRlAACZBwQABFUBIFN0b3JlcyB0aGUgYHNwZWNfdmVyc2lvbmAgYW5kIGBzcGVjX25hbWVgIG9mIHdoZW4gdGhlIGxhc3QgcnVudGltZSB1cGdyYWRlIGhhcHBlbmVkLlRVcGdyYWRlZFRvVTMyUmVmQ291bnQBACAEAARNASBUcnVlIGlmIHdlIGhhdmUgdXBncmFkZWQgc28gdGhhdCBgdHlwZSBSZWZDb3VudGAgaXMgYHUzMmAuIEZhbHNlIChkZWZhdWx0KSBpZiBub3QuYFVwZ3JhZGVkVG9UcmlwbGVSZWZDb3VudAEAIAQACF0BIFRydWUgaWYgd2UgaGF2ZSB1cGdyYWRlZCBzbyB0aGF0IEFjY291bnRJbmZvIGNvbnRhaW5zIHRocmVlIHR5cGVzIG9mIGBSZWZDb3VudGAuIEZhbHNlSCAoZGVmYXVsdCkgaWYgbm90LjhFeGVjdXRpb25QaGFzZQAAlQcEAASIIFRoZSBleGVjdXRpb24gcGhhc2Ugb2YgdGhlIGJsb2NrLkRBdXRob3JpemVkVXBncmFkZQAAnQcEAAS4IGBTb21lYCBpZiBhIGNvZGUgdXBncmFkZSBoYXMgYmVlbiBhdXRob3JpemVkLgEVAQFYGDBCbG9ja1dlaWdodHOhB5kBYk0YbAALACBKqdEBAgBAAQMQTYRf6bABC/DWNztRARpP5wABCwCY9z5dAQIA8AABAAADEE2EX+mwAQvwXoqlxQEaTzcBAQsAIEqp0QECAEABAQcAiFJqdAIAUAADEE2EX+mwAAAABNAgQmxvY2sgJiBleHRyaW5zaWNzIHdlaWdodHM6IGJhc2UgdmFsdWVzIGFuZCBsaW1pdHMuLEJsb2NrTGVuZ3RorQcwAAA8AAAAUAAAAFAABKggVGhlIG1heGltdW0gbGVuZ3RoIG9mIGEgYmxvY2sgKGluIGJ5dGVzKS44QmxvY2tIYXNoQ291bnQQEGAJAAAEVQEgTWF4aW11bSBudW1iZXIgb2YgYmxvY2sgbnVtYmVyIHRvIGJsb2NrIGhhc2ggbWFwcGluZ3MgdG8ga2VlcCAob2xkZXN0IHBydW5lZCBmaXJzdCkuIERiV2VpZ2h0tQdAQHh9AQAAAAAA4fUFAAAAAAQJASBUaGUgd2VpZ2h0IG9mIHJ1bnRpbWUgZGF0YWJhc2Ugb3BlcmF0aW9ucyB0aGUgcnVudGltZSBjYW4gaW52b2tlLhxWZXJzaW9uuQepBBxoeWRyYWR4HGh5ZHJhZHgBAAAAUAEAAAAAAABY32rLaJkHYJsFAAAAN+OX/HyR9eQCAAAAQP461AH4lZoGAAAA0ryYl+7QjxUDAAAA94sni+U/RUwCAAAAqzwFcikf64sBAAAA3XGNXMUyYtQBAAAA6pPj8W89aWICAAAAmvhnUbcMES0BAAAAvJ2JkE9bkj8BAAAAN8i7E1CpoqgEAAAAWCIR9luxS4kFAAAA5lsA5Gzt0KoCAAAAC7Z6UvzQQP8BAAAAVCM0/k/XytoBAAAAb/Uu6Fjmxb0BAAAA173YonLKDWUBAAAAkbHIsWMo65IBAAAAn/tQWqc41pwBAAAAK19bzSRg5PABAAAAorK0hPy4aUMBAAAA+8V3uddH79YBAAAAAQAAAAEEhCBHZXQgdGhlIGNoYWluJ3MgaW4tY29kZSB2ZXJzaW9uLihTUzU4UHJlZml4yAgAABSoIFRoZSBkZXNpZ25hdGVkIFNTNTggcHJlZml4IG9mIHRoaXMgY2hhaW4uADkBIFRoaXMgcmVwbGFjZXMgdGhlICJzczU4Rm9ybWF0IiBwcm9wZXJ0eSBkZWNsYXJlZCBpbiB0aGUgY2hhaW4gc3BlYy4gUmVhc29uIGlzMQEgdGhhdCB0aGUgcnVudGltZSBzaG91bGQga25vdyBhYm91dCB0aGUgcHJlZml4IGluIG9yZGVyIHRvIG1ha2UgdXNlIG9mIGl0IGFzcCBhbiBpZGVudGlmaWVyIG9mIHRoZSBjaGFpbi4ByQcBACRUaW1lc3RhbXABJFRpbWVzdGFtcAgMTm93AQAwIAAAAAAAAAAABKAgVGhlIGN1cnJlbnQgdGltZSBmb3IgdGhlIGN1cnJlbnQgYmxvY2suJERpZFVwZGF0ZQEAIAQAENggV2hldGhlciB0aGUgdGltZXN0YW1wIGhhcyBiZWVuIHVwZGF0ZWQgaW4gdGhpcyBibG9jay4AVQEgVGhpcyB2YWx1ZSBpcyB1cGRhdGVkIHRvIGB0cnVlYCB1cG9uIHN1Y2Nlc3NmdWwgc3VibWlzc2lvbiBvZiBhIHRpbWVzdGFtcCBieSBhIG5vZGUuRQEgSXQgaXMgdGhlbiBjaGVja2VkIGF0IHRoZSBlbmQgb2YgZWFjaCBibG9jayBleGVjdXRpb24gaW4gdGhlIGBvbl9maW5hbGl6ZWAgaG9vay4BJQEABDRNaW5pbXVtUGVyaW9kMCC4CwAAAAAAABiMIFRoZSBtaW5pbXVtIHBlcmlvZCBiZXR3ZWVuIGJsb2Nrcy4ATQEgQmUgYXdhcmUgdGhhdCB0aGlzIGlzIGRpZmZlcmVudCB0byB0aGUgKmV4cGVjdGVkKiBwZXJpb2QgdGhhdCB0aGUgYmxvY2sgcHJvZHVjdGlvbkkBIGFwcGFyYXR1cyBwcm92aWRlcy4gWW91ciBjaG9zZW4gY29uc2Vuc3VzIHN5c3RlbSB3aWxsIGdlbmVyYWxseSB3b3JrIHdpdGggdGhpcyB0b2EBIGRldGVybWluZSBhIHNlbnNpYmxlIGJsb2NrIHRpbWUuIEZvciBleGFtcGxlLCBpbiB0aGUgQXVyYSBwYWxsZXQgaXQgd2lsbCBiZSBkb3VibGUgdGhpc3AgcGVyaW9kIG9uIGRlZmF1bHQgc2V0dGluZ3MuAAMAIEJhbGFuY2VzASBCYWxhbmNlcxw0VG90YWxJc3N1YW5jZQEAGEAAAAAAAAAAAAAAAAAAAAAABJggVGhlIHRvdGFsIHVuaXRzIGlzc3VlZCBpbiB0aGUgc3lzdGVtLkBJbmFjdGl2ZUlzc3VhbmNlAQAYQAAAAAAAAAAAAAAAAAAAAAAECQEgVGhlIHRvdGFsIHVuaXRzIG9mIG91dHN0YW5kaW5nIGRlYWN0aXZhdGVkIGJhbGFuY2UgaW4gdGhlIHN5c3RlbS4cQWNjb3VudAEBBAIAFAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgGAJASBUaGUgQmFsYW5jZXMgcGFsbGV0IGV4YW1wbGUgb2Ygc3RvcmluZyB0aGUgYmFsYW5jZSBvZiBhbiBhY2NvdW50LgAoICMgRXhhbXBsZQA0IGBgYG5vY29tcGlsZbAgIGltcGwgcGFsbGV0X2JhbGFuY2VzOjpDb25maWcgZm9yIFJ1bnRpbWUgexkCICAgIHR5cGUgQWNjb3VudFN0b3JlID0gU3RvcmFnZU1hcFNoaW08U2VsZjo6QWNjb3VudDxSdW50aW1lPiwgZnJhbWVfc3lzdGVtOjpQcm92aWRlcjxSdW50aW1lPiwgQWNjb3VudElkLCBTZWxmOjpBY2NvdW50RGF0YTxCYWxhbmNlPj4MICB9ECBgYGAAFQEgWW91IGNhbiBhbHNvIHN0b3JlIHRoZSBiYWxhbmNlIG9mIGFuIGFjY291bnQgaW4gdGhlIGBTeXN0ZW1gIHBhbGxldC4AKCAjIEV4YW1wbGUANCBgYGBub2NvbXBpbGWwICBpbXBsIHBhbGxldF9iYWxhbmNlczo6Q29uZmlnIGZvciBSdW50aW1lIHt0ICAgdHlwZSBBY2NvdW50U3RvcmUgPSBTeXN0ZW0MICB9ECBgYGAAUQEgQnV0IHRoaXMgY29tZXMgd2l0aCB0cmFkZW9mZnMsIHN0b3JpbmcgYWNjb3VudCBiYWxhbmNlcyBpbiB0aGUgc3lzdGVtIHBhbGxldCBzdG9yZXNtASBgZnJhbWVfc3lzdGVtYCBkYXRhIGFsb25nc2lkZSB0aGUgYWNjb3VudCBkYXRhIGNvbnRyYXJ5IHRvIHN0b3JpbmcgYWNjb3VudCBiYWxhbmNlcyBpbiB0aGUpASBgQmFsYW5jZXNgIHBhbGxldCwgd2hpY2ggdXNlcyBhIGBTdG9yYWdlTWFwYCB0byBzdG9yZSBiYWxhbmNlcyBkYXRhIG9ubHkuQQEgTk9URTogVGhpcyBpcyBvbmx5IHVzZWQgaW4gdGhlIGNhc2UgdGhhdCB0aGlzIHBhbGxldCBpcyB1c2VkIHRvIHN0b3JlIGJhbGFuY2VzLhRMb2NrcwEBBAIAzQcEABC4IEFueSBsaXF1aWRpdHkgbG9ja3Mgb24gc29tZSBhY2NvdW50IGJhbGFuY2VzLiUBIE5PVEU6IFNob3VsZCBvbmx5IGJlIGFjY2Vzc2VkIHdoZW4gc2V0dGluZywgY2hhbmdpbmcgYW5kIGZyZWVpbmcgYSBsb2NrLgCtASBVc2Ugb2YgbG9ja3MgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgZnJlZXplcy4gU2VlIGBodHRwczovL2dpdGh1Yi5jb20vcGFyaXR5dGVjaC9zdWJzdHJhdGUvcHVsbC8xMjk1MS9gIFJlc2VydmVzAQEEAgDdBwQADKQgTmFtZWQgcmVzZXJ2ZXMgb24gc29tZSBhY2NvdW50IGJhbGFuY2VzLgCxASBVc2Ugb2YgcmVzZXJ2ZXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgaG9sZHMuIFNlZSBgaHR0cHM6Ly9naXRodWIuY29tL3Bhcml0eXRlY2gvc3Vic3RyYXRlL3B1bGwvMTI5NTEvYBRIb2xkcwEBBAIA6QcEAARsIEhvbGRzIG9uIGFjY291bnQgYmFsYW5jZXMuHEZyZWV6ZXMBAQQCAAEIBAAEiCBGcmVlemUgbG9ja3Mgb24gYWNjb3VudCBiYWxhbmNlcy4BKQEBfBBIRXhpc3RlbnRpYWxEZXBvc2l0GEAAEKXU6AAAAAAAAAAAAAAAIEEBIFRoZSBtaW5pbXVtIGFtb3VudCByZXF1aXJlZCB0byBrZWVwIGFuIGFjY291bnQgb3Blbi4gTVVTVCBCRSBHUkVBVEVSIFRIQU4gWkVSTyEAWQEgSWYgeW91ICpyZWFsbHkqIG5lZWQgaXQgdG8gYmUgemVybywgeW91IGNhbiBlbmFibGUgdGhlIGZlYXR1cmUgYGluc2VjdXJlX3plcm9fZWRgIGZvcmEBIHRoaXMgcGFsbGV0LiBIb3dldmVyLCB5b3UgZG8gc28gYXQgeW91ciBvd24gcmlzazogdGhpcyB3aWxsIG9wZW4gdXAgYSBtYWpvciBEb1MgdmVjdG9yLlkBIEluIGNhc2UgeW91IGhhdmUgbXVsdGlwbGUgc291cmNlcyBvZiBwcm92aWRlciByZWZlcmVuY2VzLCB5b3UgbWF5IGFsc28gZ2V0IHVuZXhwZWN0ZWSMIGJlaGF2aW91ciBpZiB5b3Ugc2V0IHRoaXMgdG8gemVyby4A8CBCb3R0b20gbGluZTogRG8geW91cnNlbGYgYSBmYXZvdXIgYW5kIG1ha2UgaXQgYXQgbGVhc3Qgb25lISBNYXhMb2NrcxAQMgAAABD0IFRoZSBtYXhpbXVtIG51bWJlciBvZiBsb2NrcyB0aGF0IHNob3VsZCBleGlzdCBvbiBhbiBhY2NvdW50LtwgTm90IHN0cmljdGx5IGVuZm9yY2VkLCBidXQgdXNlZCBmb3Igd2VpZ2h0IGVzdGltYXRpb24uAK0BIFVzZSBvZiBsb2NrcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBmcmVlemVzLiBTZWUgYGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9wdWxsLzEyOTUxL2AsTWF4UmVzZXJ2ZXMQEDIAAAAMDQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIG5hbWVkIHJlc2VydmVzIHRoYXQgY2FuIGV4aXN0IG9uIGFuIGFjY291bnQuALEBIFVzZSBvZiByZXNlcnZlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBob2xkcy4gU2VlIGBodHRwczovL2dpdGh1Yi5jb20vcGFyaXR5dGVjaC9zdWJzdHJhdGUvcHVsbC8xMjk1MS9gKE1heEZyZWV6ZXMQEAAAAAAEYQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIGluZGl2aWR1YWwgZnJlZXplIGxvY2tzIHRoYXQgY2FuIGV4aXN0IG9uIGFuIGFjY291bnQgYXQgYW55IHRpbWUuAQ0IBwBIVHJhbnNhY3Rpb25QYXltZW50AUhUcmFuc2FjdGlvblBheW1lbnQIRE5leHRGZWVNdWx0aXBsaWVyAQA9AUAAAGSns7bgDQAAAAAAAAAAADhTdG9yYWdlVmVyc2lvbgEAEQgEAAAAAYQEYE9wZXJhdGlvbmFsRmVlTXVsdGlwbGllcggEAFRZASBBIGZlZSBtdWx0aXBsaWVyIGZvciBgT3BlcmF0aW9uYWxgIGV4dHJpbnNpY3MgdG8gY29tcHV0ZSAidmlydHVhbCB0aXAiIHRvIGJvb3N0IHRoZWlyLCBgcHJpb3JpdHlgAFEBIFRoaXMgdmFsdWUgaXMgbXVsdGlwbGllZCBieSB0aGUgYGZpbmFsX2ZlZWAgdG8gb2J0YWluIGEgInZpcnR1YWwgdGlwIiB0aGF0IGlzIGxhdGVy9CBhZGRlZCB0byBhIHRpcCBjb21wb25lbnQgaW4gcmVndWxhciBgcHJpb3JpdHlgIGNhbGN1bGF0aW9ucy5NASBJdCBtZWFucyB0aGF0IGEgYE5vcm1hbGAgdHJhbnNhY3Rpb24gY2FuIGZyb250LXJ1biBhIHNpbWlsYXJseS1zaXplZCBgT3BlcmF0aW9uYWxgQQEgZXh0cmluc2ljICh3aXRoIG5vIHRpcCksIGJ5IGluY2x1ZGluZyBhIHRpcCB2YWx1ZSBncmVhdGVyIHRoYW4gdGhlIHZpcnR1YWwgdGlwLgA8IGBgYHJ1c3QsaWdub3JlQCAvLyBGb3IgYE5vcm1hbGCMIGxldCBwcmlvcml0eSA9IHByaW9yaXR5X2NhbGModGlwKTsAVCAvLyBGb3IgYE9wZXJhdGlvbmFsYBEBIGxldCB2aXJ0dWFsX3RpcCA9IChpbmNsdXNpb25fZmVlICsgdGlwKSAqIE9wZXJhdGlvbmFsRmVlTXVsdGlwbGllcjvEIGxldCBwcmlvcml0eSA9IHByaW9yaXR5X2NhbGModGlwICsgdmlydHVhbF90aXApOxAgYGBgAFEBIE5vdGUgdGhhdCBzaW5jZSB3ZSB1c2UgYGZpbmFsX2ZlZWAgdGhlIG11bHRpcGxpZXIgYXBwbGllcyBhbHNvIHRvIHRoZSByZWd1bGFyIGB0aXBgXQEgc2VudCB3aXRoIHRoZSB0cmFuc2FjdGlvbi4gU28sIG5vdCBvbmx5IGRvZXMgdGhlIHRyYW5zYWN0aW9uIGdldCBhIHByaW9yaXR5IGJ1bXAgYmFzZWRhASBvbiB0aGUgYGluY2x1c2lvbl9mZWVgLCBidXQgd2UgYWxzbyBhbXBsaWZ5IHRoZSBpbXBhY3Qgb2YgdGlwcyBhcHBsaWVkIHRvIGBPcGVyYXRpb25hbGA4IHRyYW5zYWN0aW9ucy4ACQBcTXVsdGlUcmFuc2FjdGlvblBheW1lbnQBXE11bHRpVHJhbnNhY3Rpb25QYXltZW50EEhBY2NvdW50Q3VycmVuY3lNYXAAAQQCABAEAARUIEFjY291bnQgY3VycmVuY3kgbWFwSEFjY2VwdGVkQ3VycmVuY2llcwABBAUQPQEEAARlASBDdXJhdGVkIGxpc3Qgb2YgY3VycmVuY2llcyB3aGljaCBmZWVzIGNhbiBiZSBwYWlkIG1hcHBlZCB0byBjb3JyZXNwb25kaW5nIGZhbGxiYWNrIHByaWNlVEFjY2VwdGVkQ3VycmVuY3lQcmljZQABBAUQPQEEAAQhAiBBc3NldCBwcmljZXMgZnJvbSB0aGUgc3BvdCBwcmljZSBwcm92aWRlciBvciB0aGUgZmFsbGJhY2sgcHJpY2UgaWYgdGhlIHByaWNlIGlzIG5vdCBhdmFpbGFibGUuIFVwZGF0ZWQgYXQgdGhlIGJlZ2lubmluZyBvZiBldmVyeSBibG9jay5sVHJhbnNhY3Rpb25DdXJyZW5jeU92ZXJyaWRlAAEEBQAQBAAAATkBAYgMNE5hdGl2ZUFzc2V0SWQQEAAAAAAENCBOYXRpdmUgQXNzZXRUUG9sa2Fkb3ROYXRpdmVBc3NldElkEBAFAAAABHAgUG9sa2Fkb3QgTmF0aXZlIEFzc2V0IChET1QpKEV2bUFzc2V0SWQQEBQAAAAEKCBFVk0gQXNzZXQBFQjLACBUcmVhc3VyeQEgVHJlYXN1cnkYNFByb3Bvc2FsQ291bnQBABAQAAAAAASkIE51bWJlciBvZiBwcm9wb3NhbHMgdGhhdCBoYXZlIGJlZW4gbWFkZS4kUHJvcG9zYWxzAAEEBRAZCAQABHwgUHJvcG9zYWxzIHRoYXQgaGF2ZSBiZWVuIG1hZGUuLERlYWN0aXZhdGVkAQAYQAAAAAAAAAAAAAAAAAAAAAAE8CBUaGUgYW1vdW50IHdoaWNoIGhhcyBiZWVuIHJlcG9ydGVkIGFzIGluYWN0aXZlIHRvIEN1cnJlbmN5LiRBcHByb3ZhbHMBAB0IBAAE+CBQcm9wb3NhbCBpbmRpY2VzIHRoYXQgaGF2ZSBiZWVuIGFwcHJvdmVkIGJ1dCBub3QgeWV0IGF3YXJkZWQuKFNwZW5kQ291bnQBABAQAAAAAASkIFRoZSBjb3VudCBvZiBzcGVuZHMgdGhhdCBoYXZlIGJlZW4gbWFkZS4YU3BlbmRzAAEEBRAhCAQABNAgU3BlbmRzIHRoYXQgaGF2ZSBiZWVuIGFwcHJvdmVkIGFuZCBiZWluZyBwcm9jZXNzZWQuAVEBAYwULFNwZW5kUGVyaW9kEBBAOAAABIggUGVyaW9kIGJldHdlZW4gc3VjY2Vzc2l2ZSBzcGVuZHMuEEJ1cm4hAxAAAAAABBEBIFBlcmNlbnRhZ2Ugb2Ygc3BhcmUgZnVuZHMgKGlmIGFueSkgdGhhdCBhcmUgYnVybnQgcGVyIHNwZW5kIHBlcmlvZC4gUGFsbGV0SWQpCCBweS90cnNyeQQZASBUaGUgdHJlYXN1cnkncyBwYWxsZXQgaWQsIHVzZWQgZm9yIGRlcml2aW5nIGl0cyBzb3ZlcmVpZ24gYWNjb3VudCBJRC4wTWF4QXBwcm92YWxzEBBkAAAADBUBIFRoZSBtYXhpbXVtIG51bWJlciBvZiBhcHByb3ZhbHMgdGhhdCBjYW4gd2FpdCBpbiB0aGUgc3BlbmRpbmcgcXVldWUuAE0BIE5PVEU6IFRoaXMgcGFyYW1ldGVyIGlzIGFsc28gdXNlZCB3aXRoaW4gdGhlIEJvdW50aWVzIFBhbGxldCBleHRlbnNpb24gaWYgZW5hYmxlZC4wUGF5b3V0UGVyaW9kEBCAlwYABBkBIFRoZSBwZXJpb2QgZHVyaW5nIHdoaWNoIGFuIGFwcHJvdmVkIHRyZWFzdXJ5IHNwZW5kIGhhcyB0byBiZSBjbGFpbWVkLgEtCAsAHFV0aWxpdHkAAV0BAZQETGJhdGNoZWRfY2FsbHNfbGltaXQQEKoqAAAEqCBUaGUgbGltaXQgb24gdGhlIG51bWJlciBvZiBiYXRjaGVkIGNhbGxzLgExCA0AIFByZWltYWdlASBQcmVpbWFnZQwkU3RhdHVzRm9yAAEEBjQ1CAQABJAgVGhlIHJlcXVlc3Qgc3RhdHVzIG9mIGEgZ2l2ZW4gaGFzaC5AUmVxdWVzdFN0YXR1c0ZvcgABBAY0QQgEAASQIFRoZSByZXF1ZXN0IHN0YXR1cyBvZiBhIGdpdmVuIGhhc2guLFByZWltYWdlRm9yAAEEBlEIVQgEAAABxQEBnAABWQgPACBJZGVudGl0eQEgSWRlbnRpdHkcKElkZW50aXR5T2YAAQQFAF0IBAAQaQEgSW5mb3JtYXRpb24gdGhhdCBpcyBwZXJ0aW5lbnQgdG8gaWRlbnRpZnkgdGhlIGVudGl0eSBiZWhpbmQgYW4gYWNjb3VudC4gRmlyc3QgaXRlbSBpcyB0aGXgIHJlZ2lzdHJhdGlvbiwgc2Vjb25kIGlzIHRoZSBhY2NvdW50J3MgcHJpbWFyeSB1c2VybmFtZS4AwCBUV09YLU5PVEU6IE9LIOKAlSBgQWNjb3VudElkYCBpcyBhIHNlY3VyZSBoYXNoLhxTdXBlck9mAAEEAgBlAgQACGEBIFRoZSBzdXBlci1pZGVudGl0eSBvZiBhbiBhbHRlcm5hdGl2ZSAic3ViIiBpZGVudGl0eSB0b2dldGhlciB3aXRoIGl0cyBuYW1lLCB3aXRoaW4gdGhhdFEBIGNvbnRleHQuIElmIHRoZSBhY2NvdW50IGlzIG5vdCBzb21lIG90aGVyIGFjY291bnQncyBzdWItaWRlbnRpdHksIHRoZW4ganVzdCBgTm9uZWAuGFN1YnNPZgEBBAUAdQhEAAAAAAAAAAAAAAAAAAAAAAAUuCBBbHRlcm5hdGl2ZSAic3ViIiBpZGVudGl0aWVzIG9mIHRoaXMgYWNjb3VudC4AHQEgVGhlIGZpcnN0IGl0ZW0gaXMgdGhlIGRlcG9zaXQsIHRoZSBzZWNvbmQgaXMgYSB2ZWN0b3Igb2YgdGhlIGFjY291bnRzLgDAIFRXT1gtTk9URTogT0sg4oCVIGBBY2NvdW50SWRgIGlzIGEgc2VjdXJlIGhhc2guKFJlZ2lzdHJhcnMBAH0IBAAQTQEgVGhlIHNldCBvZiByZWdpc3RyYXJzLiBOb3QgZXhwZWN0ZWQgdG8gZ2V0IHZlcnkgYmlnIGFzIGNhbiBvbmx5IGJlIGFkZGVkIHRocm91Z2ggYaggc3BlY2lhbCBvcmlnaW4gKGxpa2VseSBhIGNvdW5jaWwgbW90aW9uKS4AKQEgVGhlIGluZGV4IGludG8gdGhpcyBjYW4gYmUgY2FzdCB0byBgUmVnaXN0cmFySW5kZXhgIHRvIGdldCBhIHZhbGlkIHZhbHVlLkxVc2VybmFtZUF1dGhvcml0aWVzAAEEBQCNCAQABPQgQSBtYXAgb2YgdGhlIGFjY291bnRzIHdobyBhcmUgYXV0aG9yaXplZCB0byBncmFudCB1c2VybmFtZXMuREFjY291bnRPZlVzZXJuYW1lAAEEAqQABAAUbQEgUmV2ZXJzZSBsb29rdXAgZnJvbSBgdXNlcm5hbWVgIHRvIHRoZSBgQWNjb3VudElkYCB0aGF0IGhhcyByZWdpc3RlcmVkIGl0LiBUaGUgdmFsdWUgc2hvdWxkZQEgYmUgYSBrZXkgaW4gdGhlIGBJZGVudGl0eU9mYCBtYXAsIGJ1dCBpdCBtYXkgbm90IGlmIHRoZSB1c2VyIGhhcyBjbGVhcmVkIHRoZWlyIGlkZW50aXR5LgBpASBNdWx0aXBsZSB1c2VybmFtZXMgbWF5IG1hcCB0byB0aGUgc2FtZSBgQWNjb3VudElkYCwgYnV0IGBJZGVudGl0eU9mYCB3aWxsIG9ubHkgbWFwIHRvIG9uZUggcHJpbWFyeSB1c2VybmFtZS5AUGVuZGluZ1VzZXJuYW1lcwABBAKklQgEABhtASBVc2VybmFtZXMgdGhhdCBhbiBhdXRob3JpdHkgaGFzIGdyYW50ZWQsIGJ1dCB0aGF0IHRoZSBhY2NvdW50IGNvbnRyb2xsZXIgaGFzIG5vdCBjb25maXJtZWRxASB0aGF0IHRoZXkgd2FudCBpdC4gVXNlZCBwcmltYXJpbHkgaW4gY2FzZXMgd2hlcmUgdGhlIGBBY2NvdW50SWRgIGNhbm5vdCBwcm92aWRlIGEgc2lnbmF0dXJlXQEgYmVjYXVzZSB0aGV5IGFyZSBhIHB1cmUgcHJveHksIG11bHRpc2lnLCBldGMuIEluIG9yZGVyIHRvIGNvbmZpcm0gaXQsIHRoZXkgc2hvdWxkIGNhbGxsIFtgQ2FsbDo6YWNjZXB0X3VzZXJuYW1lYF0uAB0BIEZpcnN0IHR1cGxlIGl0ZW0gaXMgdGhlIGFjY291bnQgYW5kIHNlY29uZCBpcyB0aGUgYWNjZXB0YW5jZSBkZWFkbGluZS4BzQEBoCAwQmFzaWNEZXBvc2l0GEAAQGNSv8YBAAAAAAAAAAAABNggVGhlIGFtb3VudCBoZWxkIG9uIGRlcG9zaXQgZm9yIGEgcmVnaXN0ZXJlZCBpZGVudGl0eS4sQnl0ZURlcG9zaXQYQACgck4YCQAAAAAAAAAAAAAEHQEgVGhlIGFtb3VudCBoZWxkIG9uIGRlcG9zaXQgcGVyIGVuY29kZWQgYnl0ZSBmb3IgYSByZWdpc3RlcmVkIGlkZW50aXR5LkRTdWJBY2NvdW50RGVwb3NpdBhAAEBjUr/GAQAAAAAAAAAAAAxlASBUaGUgYW1vdW50IGhlbGQgb24gZGVwb3NpdCBmb3IgYSByZWdpc3RlcmVkIHN1YmFjY291bnQuIFRoaXMgc2hvdWxkIGFjY291bnQgZm9yIHRoZSBmYWN0ZQEgdGhhdCBvbmUgc3RvcmFnZSBpdGVtJ3MgdmFsdWUgd2lsbCBpbmNyZWFzZSBieSB0aGUgc2l6ZSBvZiBhbiBhY2NvdW50IElELCBhbmQgdGhlcmUgd2lsbDUBIGJlIGFub3RoZXIgdHJpZSBpdGVtIHdob3NlIHZhbHVlIGlzIHRoZSBzaXplIG9mIGFuIGFjY291bnQgSUQgcGx1cyAzMiBieXRlcy44TWF4U3ViQWNjb3VudHMQEGQAAAAEDQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIHN1Yi1hY2NvdW50cyBhbGxvd2VkIHBlciBpZGVudGlmaWVkIGFjY291bnQuNE1heFJlZ2lzdHJhcnMQEBQAAAAITQEgTWF4aW11bSBudW1iZXIgb2YgcmVnaXN0cmFycyBhbGxvd2VkIGluIHRoZSBzeXN0ZW0uIE5lZWRlZCB0byBib3VuZCB0aGUgY29tcGxleGl0eXwgb2YsIGUuZy4sIHVwZGF0aW5nIGp1ZGdlbWVudHMuZFBlbmRpbmdVc2VybmFtZUV4cGlyYXRpb24QEMCJAQAEFQEgVGhlIG51bWJlciBvZiBibG9ja3Mgd2l0aGluIHdoaWNoIGEgdXNlcm5hbWUgZ3JhbnQgbXVzdCBiZSBhY2NlcHRlZC48TWF4U3VmZml4TGVuZ3RoEBAHAAAABIAgVGhlIG1heGltdW0gbGVuZ3RoIG9mIGEgc3VmZml4LkRNYXhVc2VybmFtZUxlbmd0aBAQIAAAAARhASBUaGUgbWF4aW11bSBsZW5ndGggb2YgYSB1c2VybmFtZSwgaW5jbHVkaW5nIGl0cyBzdWZmaXggYW5kIGFueSBzeXN0ZW0tYWRkZWQgZGVsaW1pdGVycy4BmQgRACREZW1vY3JhY3kBJERlbW9jcmFjeTA8UHVibGljUHJvcENvdW50AQAQEAAAAAAE9CBUaGUgbnVtYmVyIG9mIChwdWJsaWMpIHByb3Bvc2FscyB0aGF0IGhhdmUgYmVlbiBtYWRlIHNvIGZhci4sUHVibGljUHJvcHMBAJ0IBAAEBQEgVGhlIHB1YmxpYyBwcm9wb3NhbHMuIFVuc29ydGVkLiBUaGUgc2Vjb25kIGl0ZW0gaXMgdGhlIHByb3Bvc2FsLiREZXBvc2l0T2YAAQQFEKkIBAAMhCBUaG9zZSB3aG8gaGF2ZSBsb2NrZWQgYSBkZXBvc2l0LgDYIFRXT1gtTk9URTogU2FmZSwgYXMgaW5jcmVhc2luZyBpbnRlZ2VyIGtleXMgYXJlIHNhZmUuPFJlZmVyZW5kdW1Db3VudAEAEBAAAAAABDEBIFRoZSBuZXh0IGZyZWUgcmVmZXJlbmR1bSBpbmRleCwgYWthIHRoZSBudW1iZXIgb2YgcmVmZXJlbmRhIHN0YXJ0ZWQgc28gZmFyLjRMb3dlc3RVbmJha2VkAQAQEAAAAAAIJQEgVGhlIGxvd2VzdCByZWZlcmVuZHVtIGluZGV4IHJlcHJlc2VudGluZyBhbiB1bmJha2VkIHJlZmVyZW5kdW0uIEVxdWFsIHRv3CBgUmVmZXJlbmR1bUNvdW50YCBpZiB0aGVyZSBpc24ndCBhIHVuYmFrZWQgcmVmZXJlbmR1bS5AUmVmZXJlbmR1bUluZm9PZgABBAUQsQgEAAy0IEluZm9ybWF0aW9uIGNvbmNlcm5pbmcgYW55IGdpdmVuIHJlZmVyZW5kdW0uAAkBIFRXT1gtTk9URTogU0FGRSBhcyBpbmRleGVzIGFyZSBub3QgdW5kZXIgYW4gYXR0YWNrZXLigJlzIGNvbnRyb2wuIFZvdGluZ09mAQEEBQC9CNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQXQEgQWxsIHZvdGVzIGZvciBhIHBhcnRpY3VsYXIgdm90ZXIuIFdlIHN0b3JlIHRoZSBiYWxhbmNlIGZvciB0aGUgbnVtYmVyIG9mIHZvdGVzIHRoYXQgd2VdASBoYXZlIHJlY29yZGVkLiBUaGUgc2Vjb25kIGl0ZW0gaXMgdGhlIHRvdGFsIGFtb3VudCBvZiBkZWxlZ2F0aW9ucywgdGhhdCB3aWxsIGJlIGFkZGVkLgDoIFRXT1gtTk9URTogU0FGRSBhcyBgQWNjb3VudElkYHMgYXJlIGNyeXB0byBoYXNoZXMgYW55d2F5LlRMYXN0VGFibGVkV2FzRXh0ZXJuYWwBACAEAAhZASBUcnVlIGlmIHRoZSBsYXN0IHJlZmVyZW5kdW0gdGFibGVkIHdhcyBzdWJtaXR0ZWQgZXh0ZXJuYWxseS4gRmFsc2UgaWYgaXQgd2FzIGEgcHVibGljKCBwcm9wb3NhbC4wTmV4dEV4dGVybmFsAADVCAQAEFkBIFRoZSByZWZlcmVuZHVtIHRvIGJlIHRhYmxlZCB3aGVuZXZlciBpdCB3b3VsZCBiZSB2YWxpZCB0byB0YWJsZSBhbiBleHRlcm5hbCBwcm9wb3NhbC5VASBUaGlzIGhhcHBlbnMgd2hlbiBhIHJlZmVyZW5kdW0gbmVlZHMgdG8gYmUgdGFibGVkIGFuZCBvbmUgb2YgdHdvIGNvbmRpdGlvbnMgYXJlIG1ldDqkIC0gYExhc3RUYWJsZWRXYXNFeHRlcm5hbGAgaXMgYGZhbHNlYDsgb3JoIC0gYFB1YmxpY1Byb3BzYCBpcyBlbXB0eS4kQmxhY2tsaXN0AAEEBjTZCAQACFEBIEEgcmVjb3JkIG9mIHdobyB2ZXRvZWQgd2hhdC4gTWFwcyBwcm9wb3NhbCBoYXNoIHRvIGEgcG9zc2libGUgZXhpc3RlbnQgYmxvY2sgbnVtYmVy6CAodW50aWwgd2hlbiBpdCBtYXkgbm90IGJlIHJlc3VibWl0dGVkKSBhbmQgd2hvIHZldG9lZCBpdC40Q2FuY2VsbGF0aW9ucwEBBAY0IAQABCkBIFJlY29yZCBvZiBhbGwgcHJvcG9zYWxzIHRoYXQgaGF2ZSBiZWVuIHN1YmplY3QgdG8gZW1lcmdlbmN5IGNhbmNlbGxhdGlvbi4oTWV0YWRhdGFPZgABBAK4NAQAGOwgR2VuZXJhbCBpbmZvcm1hdGlvbiBjb25jZXJuaW5nIGFueSBwcm9wb3NhbCBvciByZWZlcmVuZHVtLkkBIFRoZSBgSGFzaGAgcmVmZXJzIHRvIHRoZSBwcmVpbWFnZSBvZiB0aGUgYFByZWltYWdlc2AgcHJvdmlkZXIgd2hpY2ggY2FuIGJlIGEgSlNPToggZHVtcCBvciBJUEZTIGhhc2ggb2YgYSBKU09OIGZpbGUuAHUBIENvbnNpZGVyIGEgZ2FyYmFnZSBjb2xsZWN0aW9uIGZvciBhIG1ldGFkYXRhIG9mIGZpbmlzaGVkIHJlZmVyZW5kdW1zIHRvIGB1bnJlcXVlc3RgIChyZW1vdmUpRCBsYXJnZSBwcmVpbWFnZXMuAX0CAagwPEVuYWN0bWVudFBlcmlvZBAQQDgAABToIFRoZSBwZXJpb2QgYmV0d2VlbiBhIHByb3Bvc2FsIGJlaW5nIGFwcHJvdmVkIGFuZCBlbmFjdGVkLgAxASBJdCBzaG91bGQgZ2VuZXJhbGx5IGJlIGEgbGl0dGxlIG1vcmUgdGhhbiB0aGUgdW5zdGFrZSBwZXJpb2QgdG8gZW5zdXJlIHRoYXRRASB2b3Rpbmcgc3Rha2VycyBoYXZlIGFuIG9wcG9ydHVuaXR5IHRvIHJlbW92ZSB0aGVtc2VsdmVzIGZyb20gdGhlIHN5c3RlbSBpbiB0aGUgY2FzZbQgd2hlcmUgdGhleSBhcmUgb24gdGhlIGxvc2luZyBzaWRlIG9mIGEgdm90ZS4wTGF1bmNoUGVyaW9kEBDAqAAABOQgSG93IG9mdGVuIChpbiBibG9ja3MpIG5ldyBwdWJsaWMgcmVmZXJlbmRhIGFyZSBsYXVuY2hlZC4wVm90aW5nUGVyaW9kEBDAqAAABLggSG93IG9mdGVuIChpbiBibG9ja3MpIHRvIGNoZWNrIGZvciBuZXcgdm90ZXMuRFZvdGVMb2NraW5nUGVyaW9kEBCAUQEAEJAgVGhlIG1pbmltdW0gcGVyaW9kIG9mIHZvdGUgbG9ja2luZy4AZQEgSXQgc2hvdWxkIGJlIG5vIHNob3J0ZXIgdGhhbiBlbmFjdG1lbnQgcGVyaW9kIHRvIGVuc3VyZSB0aGF0IGluIHRoZSBjYXNlIG9mIGFuIGFwcHJvdmFsLEkBIHRob3NlIHN1Y2Nlc3NmdWwgdm90ZXJzIGFyZSBsb2NrZWQgaW50byB0aGUgY29uc2VxdWVuY2VzIHRoYXQgdGhlaXIgdm90ZXMgZW50YWlsLjhNaW5pbXVtRGVwb3NpdBhAAACKXXhFYwEAAAAAAAAAAAQ1ASBUaGUgbWluaW11bSBhbW91bnQgdG8gYmUgdXNlZCBhcyBhIGRlcG9zaXQgZm9yIGEgcHVibGljIHJlZmVyZW5kdW0gcHJvcG9zYWwuOEluc3RhbnRBbGxvd2VkIAQBDFUBIEluZGljYXRvciBmb3Igd2hldGhlciBhbiBlbWVyZ2VuY3kgb3JpZ2luIGlzIGV2ZW4gYWxsb3dlZCB0byBoYXBwZW4uIFNvbWUgY2hhaW5zIG1heWEBIHdhbnQgdG8gc2V0IHRoaXMgcGVybWFuZW50bHkgdG8gYGZhbHNlYCwgb3RoZXJzIG1heSB3YW50IHRvIGNvbmRpdGlvbiBpdCBvbiB0aGluZ3Mgc3VjaKAgYXMgYW4gdXBncmFkZSBoYXZpbmcgaGFwcGVuZWQgcmVjZW50bHkuVEZhc3RUcmFja1ZvdGluZ1BlcmlvZBAQCAcAAATsIE1pbmltdW0gdm90aW5nIHBlcmlvZCBhbGxvd2VkIGZvciBhIGZhc3QtdHJhY2sgcmVmZXJlbmR1bS40Q29vbG9mZlBlcmlvZBAQwIkBAARhASBQZXJpb2QgaW4gYmxvY2tzIHdoZXJlIGFuIGV4dGVybmFsIHByb3Bvc2FsIG1heSBub3QgYmUgcmUtc3VibWl0dGVkIGFmdGVyIGJlaW5nIHZldG9lZC4gTWF4Vm90ZXMQEGQAAAAQsCBUaGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZXMgZm9yIGFuIGFjY291bnQuANQgQWxzbyB1c2VkIHRvIGNvbXB1dGUgd2VpZ2h0LCBhbiBvdmVybHkgYmlnIHZhbHVlIGNhbhUBIGxlYWQgdG8gZXh0cmluc2ljIHdpdGggdmVyeSBiaWcgd2VpZ2h0OiBzZWUgYGRlbGVnYXRlYCBmb3IgaW5zdGFuY2UuME1heFByb3Bvc2FscxAQZAAAAAQNASBUaGUgbWF4aW11bSBudW1iZXIgb2YgcHVibGljIHByb3Bvc2FscyB0aGF0IGNhbiBleGlzdCBhdCBhbnkgdGltZS4sTWF4RGVwb3NpdHMQEGQAAAAEHQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIGRlcG9zaXRzIGEgcHVibGljIHByb3Bvc2FsIG1heSBoYXZlIGF0IGFueSB0aW1lLjhNYXhCbGFja2xpc3RlZBAQZAAAAATYIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB3aGljaCBjYW4gYmUgYmxhY2tsaXN0ZWQuAd0IEwBIVGVjaG5pY2FsQ29tbWl0dGVlAUhUZWNobmljYWxDb21taXR0ZWUYJFByb3Bvc2FscwEA4QgEAASQIFRoZSBoYXNoZXMgb2YgdGhlIGFjdGl2ZSBwcm9wb3NhbHMuKFByb3Bvc2FsT2YAAQQGNBEBBAAEzCBBY3R1YWwgcHJvcG9zYWwgZm9yIGEgZ2l2ZW4gaGFzaCwgaWYgaXQncyBjdXJyZW50LhhWb3RpbmcAAQQGNOUIBAAEtCBWb3RlcyBvbiBhIGdpdmVuIHByb3Bvc2FsLCBpZiBpdCBpcyBvbmdvaW5nLjRQcm9wb3NhbENvdW50AQAQEAAAAAAESCBQcm9wb3NhbHMgc28gZmFyLhxNZW1iZXJzAQAxAQQABDkBIFRoZSBjdXJyZW50IG1lbWJlcnMgb2YgdGhlIGNvbGxlY3RpdmUuIFRoaXMgaXMgc3RvcmVkIHNvcnRlZCAoanVzdCBieSB2YWx1ZSkuFFByaW1lAAAABAAEYQEgVGhlIHByaW1lIG1lbWJlciB0aGF0IGhlbHBzIGRldGVybWluZSB0aGUgZGVmYXVsdCB2b3RlIGJlaGF2aW9yIGluIGNhc2Ugb2YgYWJzdGVudGlvbnMuAYkCAbwERE1heFByb3Bvc2FsV2VpZ2h0KCgHABCl1OgCAKAABCUBIFRoZSBtYXhpbXVtIHdlaWdodCBvZiBhIGRpc3BhdGNoIGNhbGwgdGhhdCBjYW4gYmUgcHJvcG9zZWQgYW5kIGV4ZWN1dGVkLgHpCBkAFFByb3h5ARRQcm94eQgcUHJveGllcwEBBAUA7QhEAAAAAAAAAAAAAAAAAAAAAAAIRQEgVGhlIHNldCBvZiBhY2NvdW50IHByb3hpZXMuIE1hcHMgdGhlIGFjY291bnQgd2hpY2ggaGFzIGRlbGVnYXRlZCB0byB0aGUgYWNjb3VudHMhASB3aGljaCBhcmUgYmVpbmcgZGVsZWdhdGVkIHRvLCB0b2dldGhlciB3aXRoIHRoZSBhbW91bnQgaGVsZCBvbiBkZXBvc2l0LjRBbm5vdW5jZW1lbnRzAQEEBQD9CEQAAAAAAAAAAAAAAAAAAAAAAASsIFRoZSBhbm5vdW5jZW1lbnRzIG1hZGUgYnkgdGhlIHByb3h5IChrZXkpLgGNAgHAGEBQcm94eURlcG9zaXRCYXNlGEAA4BECHrYAAAAAAAAAAAAAEBEBIFRoZSBiYXNlIGFtb3VudCBvZiBjdXJyZW5jeSBuZWVkZWQgdG8gcmVzZXJ2ZSBmb3IgY3JlYXRpbmcgYSBwcm94eS4AAQEgVGhpcyBpcyBoZWxkIGZvciBhbiBhZGRpdGlvbmFsIHN0b3JhZ2UgaXRlbSB3aG9zZSB2YWx1ZSBzaXplIGlzJQEgYHNpemVvZihCYWxhbmNlKWAgYnl0ZXMgYW5kIHdob3NlIGtleSBzaXplIGlzIGBzaXplb2YoQWNjb3VudElkKWAgYnl0ZXMuSFByb3h5RGVwb3NpdEZhY3RvchhAACyZgOYAAAAAAAAAAAAAABS8IFRoZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHBlciBwcm94eSBhZGRlZC4ANQEgVGhpcyBpcyBoZWxkIGZvciBhZGRpbmcgMzIgYnl0ZXMgcGx1cyBhbiBpbnN0YW5jZSBvZiBgUHJveHlUeXBlYCBtb3JlIGludG8gYWEBIHByZS1leGlzdGluZyBzdG9yYWdlIHZhbHVlLiBUaHVzLCB3aGVuIGNvbmZpZ3VyaW5nIGBQcm94eURlcG9zaXRGYWN0b3JgIG9uZSBzaG91bGQgdGFrZfQgaW50byBhY2NvdW50IGAzMiArIHByb3h5X3R5cGUuZW5jb2RlKCkubGVuKClgIGJ5dGVzIG9mIGRhdGEuKE1heFByb3hpZXMQECAAAAAE8CBUaGUgbWF4aW11bSBhbW91bnQgb2YgcHJveGllcyBhbGxvd2VkIGZvciBhIHNpbmdsZSBhY2NvdW50LihNYXhQZW5kaW5nEBAgAAAABEUBIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lLWRlbGF5ZWQgYW5ub3VuY2VtZW50cyB0aGF0IGFyZSBhbGxvd2VkIHRvIGJlIHBlbmRpbmcuXEFubm91bmNlbWVudERlcG9zaXRCYXNlGEAA4BECHrYAAAAAAAAAAAAAEDEBIFRoZSBiYXNlIGFtb3VudCBvZiBjdXJyZW5jeSBuZWVkZWQgdG8gcmVzZXJ2ZSBmb3IgY3JlYXRpbmcgYW4gYW5ub3VuY2VtZW50LgBJASBUaGlzIGlzIGhlbGQgd2hlbiBhIG5ldyBzdG9yYWdlIGl0ZW0gaG9sZGluZyBhIGBCYWxhbmNlYCBpcyBjcmVhdGVkICh0eXBpY2FsbHkgMTYgIGJ5dGVzKS5kQW5ub3VuY2VtZW50RGVwb3NpdEZhY3RvchhAAFgyAc0BAAAAAAAAAAAAABDUIFRoZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHBlciBhbm5vdW5jZW1lbnQgbWFkZS4AWQEgVGhpcyBpcyBoZWxkIGZvciBhZGRpbmcgYW4gYEFjY291bnRJZGAsIGBIYXNoYCBhbmQgYEJsb2NrTnVtYmVyYCAodHlwaWNhbGx5IDY4IGJ5dGVzKYwgaW50byBhIHByZS1leGlzdGluZyBzdG9yYWdlIHZhbHVlLgENCR0AIE11bHRpc2lnASBNdWx0aXNpZwQkTXVsdGlzaWdzAAEIBQIRCRUJBAAElCBUaGUgc2V0IG9mIG9wZW4gbXVsdGlzaWcgb3BlcmF0aW9ucy4BlQIBzAwsRGVwb3NpdEJhc2UYQACgN81MuAAAAAAAAAAAAAAYWQEgVGhlIGJhc2UgYW1vdW50IG9mIGN1cnJlbmN5IG5lZWRlZCB0byByZXNlcnZlIGZvciBjcmVhdGluZyBhIG11bHRpc2lnIGV4ZWN1dGlvbiBvciB0b4Qgc3RvcmUgYSBkaXNwYXRjaCBjYWxsIGZvciBsYXRlci4AAQEgVGhpcyBpcyBoZWxkIGZvciBhbiBhZGRpdGlvbmFsIHN0b3JhZ2UgaXRlbSB3aG9zZSB2YWx1ZSBzaXplIGlzMQEgYDQgKyBzaXplb2YoKEJsb2NrTnVtYmVyLCBCYWxhbmNlLCBBY2NvdW50SWQpKWAgYnl0ZXMgYW5kIHdob3NlIGtleSBzaXplIGlzgCBgMzIgKyBzaXplb2YoQWNjb3VudElkKWAgYnl0ZXMuNERlcG9zaXRGYWN0b3IYQACAdYTfAAAAAAAAAAAAAAAMVQEgVGhlIGFtb3VudCBvZiBjdXJyZW5jeSBuZWVkZWQgcGVyIHVuaXQgdGhyZXNob2xkIHdoZW4gY3JlYXRpbmcgYSBtdWx0aXNpZyBleGVjdXRpb24uACUBIFRoaXMgaXMgaGVsZCBmb3IgYWRkaW5nIDMyIGJ5dGVzIG1vcmUgaW50byBhIHByZS1leGlzdGluZyBzdG9yYWdlIHZhbHVlLjhNYXhTaWduYXRvcmllcxAQZAAAAATsIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBzaWduYXRvcmllcyBhbGxvd2VkIGluIHRoZSBtdWx0aXNpZy4BHQkfABxVbmlxdWVzARxVbmlxdWVzKBRDbGFzcwABBAIYIQkEAARkIERldGFpbHMgb2YgYSBjb2xsZWN0aW9uLkxPd25lcnNoaXBBY2NlcHRhbmNlAAEEAgAYBAAEKQEgVGhlIGNvbGxlY3Rpb24sIGlmIGFueSwgb2Ygd2hpY2ggYW4gYWNjb3VudCBpcyB3aWxsaW5nIHRvIHRha2Ugb3duZXJzaGlwLhxBY2NvdW50AAEMAgICJQmQBAAIWQEgVGhlIGl0ZW1zIGhlbGQgYnkgYW55IGdpdmVuIGFjY291bnQ7IHNldCBvdXQgdGhpcyB3YXkgc28gdGhhdCBpdGVtcyBvd25lZCBieSBhIHNpbmdsZWwgYWNjb3VudCBjYW4gYmUgZW51bWVyYXRlZC4wQ2xhc3NBY2NvdW50AAEIAgI5CJAEAAhpASBUaGUgY29sbGVjdGlvbnMgb3duZWQgYnkgYW55IGdpdmVuIGFjY291bnQ7IHNldCBvdXQgdGhpcyB3YXkgc28gdGhhdCBjb2xsZWN0aW9ucyBvd25lZCBieZAgYSBzaW5nbGUgYWNjb3VudCBjYW4gYmUgZW51bWVyYXRlZC4UQXNzZXQAAQgCAikDKQkEAATQIFRoZSBpdGVtcyBpbiBleGlzdGVuY2UgYW5kIHRoZWlyIG93bmVyc2hpcCBkZXRhaWxzLjxDbGFzc01ldGFkYXRhT2YAAQQCGC0JBAAEaCBNZXRhZGF0YSBvZiBhIGNvbGxlY3Rpb24uSEluc3RhbmNlTWV0YWRhdGFPZgABCAICKQMxCQQABFQgTWV0YWRhdGEgb2YgYW4gaXRlbS4kQXR0cmlidXRlAAEMAgICNQk5CQQABHAgQXR0cmlidXRlcyBvZiBhIGNvbGxlY3Rpb24uLEl0ZW1QcmljZU9mAAEIAgIpAz0JBAAEcCBQcmljZSBvZiBhbiBhc3NldCBpbnN0YW5jZS5MQ29sbGVjdGlvbk1heFN1cHBseQABBAIYEAQABPAgS2VlcHMgdHJhY2sgb2YgdGhlIG51bWJlciBvZiBpdGVtcyBhIGNvbGxlY3Rpb24gbWlnaHQgaGF2ZS4BnQIB1CBEQ29sbGVjdGlvbkRlcG9zaXQYQAAAAAAAAAAAAAAAAAAAAAAEAQEgVGhlIGJhc2ljIGFtb3VudCBvZiBmdW5kcyB0aGF0IG11c3QgYmUgcmVzZXJ2ZWQgZm9yIGNvbGxlY3Rpb24uLEl0ZW1EZXBvc2l0GEAAAAAAAAAAAAAAAAAAAAAABPQgVGhlIGJhc2ljIGFtb3VudCBvZiBmdW5kcyB0aGF0IG11c3QgYmUgcmVzZXJ2ZWQgZm9yIGFuIGl0ZW0uTE1ldGFkYXRhRGVwb3NpdEJhc2UYQACAxqR+jQMAAAAAAAAAAAAETQEgVGhlIGJhc2ljIGFtb3VudCBvZiBmdW5kcyB0aGF0IG11c3QgYmUgcmVzZXJ2ZWQgd2hlbiBhZGRpbmcgbWV0YWRhdGEgdG8geW91ciBpdGVtLlBBdHRyaWJ1dGVEZXBvc2l0QmFzZRhAABCl1OgAAAAAAAAAAAAAAARVASBUaGUgYmFzaWMgYW1vdW50IG9mIGZ1bmRzIHRoYXQgbXVzdCBiZSByZXNlcnZlZCB3aGVuIGFkZGluZyBhbiBhdHRyaWJ1dGUgdG8gYW4gaXRlbS44RGVwb3NpdFBlckJ5dGUYQAAQpdToAAAAAAAAAAAAAAAIWQEgVGhlIGFkZGl0aW9uYWwgZnVuZHMgdGhhdCBtdXN0IGJlIHJlc2VydmVkIGZvciB0aGUgbnVtYmVyIG9mIGJ5dGVzIHN0b3JlIGluIG1ldGFkYXRhLMAgZWl0aGVyICJub3JtYWwiIG1ldGFkYXRhIG9yIGF0dHJpYnV0ZSBtZXRhZGF0YS4sU3RyaW5nTGltaXQQEEgAAAAEsCBUaGUgbWF4aW11bSBsZW5ndGggb2YgZGF0YSBzdG9yZWQgb24tY2hhaW4uIEtleUxpbWl0EBAAAQAABKAgVGhlIG1heGltdW0gbGVuZ3RoIG9mIGFuIGF0dHJpYnV0ZSBrZXkuKFZhbHVlTGltaXQQEAAEAAAEqCBUaGUgbWF4aW11bSBsZW5ndGggb2YgYW4gYXR0cmlidXRlIHZhbHVlLgFBCSAASFN0YXRlVHJpZU1pZ3JhdGlvbgFIU3RhdGVUcmllTWlncmF0aW9uDEBNaWdyYXRpb25Qcm9jZXNzAQCxAjgAAAAAAAAAAAAAAAAAABBQIE1pZ3JhdGlvbiBwcm9ncmVzcy4AXQEgVGhpcyBzdG9yZXMgdGhlIHNuYXBzaG90IG9mIHRoZSBsYXN0IG1pZ3JhdGVkIGtleXMuIEl0IGNhbiBiZSBzZXQgaW50byBtb3Rpb24gYW5kIG1vdmXUIGZvcndhcmQgYnkgYW55IG9mIHRoZSBtZWFucyBwcm92aWRlZCBieSB0aGlzIHBhbGxldC4oQXV0b0xpbWl0cwEAqQIEAAzUIFRoZSBsaW1pdHMgdGhhdCBhcmUgaW1wb3NlZCBvbiBhdXRvbWF0aWMgbWlncmF0aW9ucy4A1CBJZiBzZXQgdG8gTm9uZSwgdGhlbiBubyBhdXRvbWF0aWMgbWlncmF0aW9uIGhhcHBlbnMuYFNpZ25lZE1pZ3JhdGlvbk1heExpbWl0cwAArQIEAAzgIFRoZSBtYXhpbXVtIGxpbWl0cyB0aGF0IHRoZSBzaWduZWQgbWlncmF0aW9uIGNvdWxkIHVzZS4AtCBJZiBub3Qgc2V0LCBubyBzaWduZWQgc3VibWlzc2lvbiBpcyBhbGxvd2VkLgGlAgHwBCRNYXhLZXlMZW4QEAACAABUtCBNYXhpbWFsIG51bWJlciBvZiBieXRlcyB0aGF0IGEga2V5IGNhbiBoYXZlLgCwIEZSQU1FIGl0c2VsZiBkb2VzIG5vdCBsaW1pdCB0aGUga2V5IGxlbmd0aC4BASBUaGUgY29uY3JldGUgdmFsdWUgbXVzdCB0aGVyZWZvcmUgZGVwZW5kIG9uIHlvdXIgc3RvcmFnZSB1c2FnZS5ZASBBIFtgZnJhbWVfc3VwcG9ydDo6c3RvcmFnZTo6U3RvcmFnZU5NYXBgXSBmb3IgZXhhbXBsZSBjYW4gaGF2ZSBhbiBhcmJpdHJhcnkgbnVtYmVyIG9mRQEga2V5cyB3aGljaCBhcmUgdGhlbiBoYXNoZWQgYW5kIGNvbmNhdGVuYXRlZCwgcmVzdWx0aW5nIGluIGFyYml0cmFyaWx5IGxvbmcga2V5cy4AQQEgVXNlIHRoZSAqc3RhdGUgbWlncmF0aW9uIFJQQyogdG8gcmV0cmlldmUgdGhlIGxlbmd0aCBvZiB0aGUgbG9uZ2VzdCBrZXkgaW4geW91cgEBIHN0b3JhZ2U6IDxodHRwczovL2dpdGh1Yi5jb20vcGFyaXR5dGVjaC9zdWJzdHJhdGUvaXNzdWVzLzExNjQyPgApASBUaGUgbWlncmF0aW9uIHdpbGwgaGFsdCB3aXRoIGEgYEhhbHRlZGAgZXZlbnQgaWYgdGhpcyB2YWx1ZSBpcyB0b28gc21hbGwuSQEgU2luY2UgdGhlcmUgaXMgbm8gcmVhbCBwZW5hbHR5IGZyb20gb3Zlci1lc3RpbWF0aW5nLCBpdCBpcyBhZHZpc2VkIHRvIHVzZSBhIGxhcmdlgCB2YWx1ZS4gVGhlIGRlZmF1bHQgaXMgNTEyIGJ5dGUuAIAgU29tZSBrZXkgbGVuZ3RocyBmb3IgcmVmZXJlbmNlOtAgLSBbYGZyYW1lX3N1cHBvcnQ6OnN0b3JhZ2U6OlN0b3JhZ2VWYWx1ZWBdOiAzMiBieXRlyCAtIFtgZnJhbWVfc3VwcG9ydDo6c3RvcmFnZTo6U3RvcmFnZU1hcGBdOiA2NCBieXRl4CAtIFtgZnJhbWVfc3VwcG9ydDo6c3RvcmFnZTo6U3RvcmFnZURvdWJsZU1hcGBdOiA5NiBieXRlAEggRm9yIG1vcmUgaW5mbyBzZWVJASA8aHR0cHM6Ly93d3cuc2hhd250YWJyaXppLmNvbS9ibG9nL3N1YnN0cmF0ZS9xdWVyeWluZy1zdWJzdHJhdGUtc3RvcmFnZS12aWEtcnBjLz4B+CMAQENvbnZpY3Rpb25Wb3RpbmcBQENvbnZpY3Rpb25Wb3RpbmcIJFZvdGluZ0ZvcgEBCAUFRQlJCdgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIdQEgQWxsIHZvdGluZyBmb3IgYSBwYXJ0aWN1bGFyIHZvdGVyIGluIGEgcGFydGljdWxhciB2b3RpbmcgY2xhc3MuIFdlIHN0b3JlIHRoZSBiYWxhbmNlIGZvciB0aGWcIG51bWJlciBvZiB2b3RlcyB0aGF0IHdlIGhhdmUgcmVjb3JkZWQuNENsYXNzTG9ja3NGb3IBAQQFAGkJBAAMaQEgVGhlIHZvdGluZyBjbGFzc2VzIHdoaWNoIGhhdmUgYSBub24temVybyBsb2NrIHJlcXVpcmVtZW50IGFuZCB0aGUgbG9jayBhbW91bnRzIHdoaWNoIHRoZXltASByZXF1aXJlLiBUaGUgYWN0dWFsIGFtb3VudCBsb2NrZWQgb24gYmVoYWxmIG9mIHRoaXMgcGFsbGV0IHNob3VsZCBhbHdheXMgYmUgdGhlIG1heGltdW0gb2YsIHRoaXMgbGlzdC4BvQIB/AggTWF4Vm90ZXMQEBkAAAAQ8CBUaGUgbWF4aW11bSBudW1iZXIgb2YgY29uY3VycmVudCB2b3RlcyBhbiBhY2NvdW50IG1heSBoYXZlLgBVASBBbHNvIHVzZWQgdG8gY29tcHV0ZSB3ZWlnaHQsIGFuIG92ZXJseSBsYXJnZSB2YWx1ZSBjYW4gbGVhZCB0byBleHRyaW5zaWNzIHdpdGggbGFyZ2XAIHdlaWdodCBlc3RpbWF0aW9uOiBzZWUgYGRlbGVnYXRlYCBmb3IgaW5zdGFuY2UuRFZvdGVMb2NraW5nUGVyaW9kEBDAiQEAEJAgVGhlIG1pbmltdW0gcGVyaW9kIG9mIHZvdGUgbG9ja2luZy4AZQEgSXQgc2hvdWxkIGJlIG5vIHNob3J0ZXIgdGhhbiBlbmFjdG1lbnQgcGVyaW9kIHRvIGVuc3VyZSB0aGF0IGluIHRoZSBjYXNlIG9mIGFuIGFwcHJvdmFsLEkBIHRob3NlIHN1Y2Nlc3NmdWwgdm90ZXJzIGFyZSBsb2NrZWQgaW50byB0aGUgY29uc2VxdWVuY2VzIHRoYXQgdGhlaXIgdm90ZXMgZW50YWlsLgF1CSQAJFJlZmVyZW5kYQEkUmVmZXJlbmRhFDxSZWZlcmVuZHVtQ291bnQBABAQAAAAAAQxASBUaGUgbmV4dCBmcmVlIHJlZmVyZW5kdW0gaW5kZXgsIGFrYSB0aGUgbnVtYmVyIG9mIHJlZmVyZW5kYSBzdGFydGVkIHNvIGZhci5EUmVmZXJlbmR1bUluZm9Gb3IAAQQCEHkJBAAEtCBJbmZvcm1hdGlvbiBjb25jZXJuaW5nIGFueSBnaXZlbiByZWZlcmVuZHVtLihUcmFja1F1ZXVlAQEEBciZCQQAEF0BIFRoZSBzb3J0ZWQgbGlzdCBvZiByZWZlcmVuZGEgcmVhZHkgdG8gYmUgZGVjaWRlZCBidXQgbm90IHlldCBiZWluZyBkZWNpZGVkLCBvcmRlcmVkIGJ5fCBjb252aWN0aW9uLXdlaWdodGVkIGFwcHJvdmFscy4AQQEgVGhpcyBzaG91bGQgYmUgZW1wdHkgaWYgYERlY2lkaW5nQ291bnRgIGlzIGxlc3MgdGhhbiBgVHJhY2tJbmZvOjptYXhfZGVjaWRpbmdgLjREZWNpZGluZ0NvdW50AQEEBcgQEAAAAAAExCBUaGUgbnVtYmVyIG9mIHJlZmVyZW5kYSBiZWluZyBkZWNpZGVkIGN1cnJlbnRseS4oTWV0YWRhdGFPZgABBAIQNAQAGAUBIFRoZSBtZXRhZGF0YSBpcyBhIGdlbmVyYWwgaW5mb3JtYXRpb24gY29uY2VybmluZyB0aGUgcmVmZXJlbmR1bS5JASBUaGUgYEhhc2hgIHJlZmVycyB0byB0aGUgcHJlaW1hZ2Ugb2YgdGhlIGBQcmVpbWFnZXNgIHByb3ZpZGVyIHdoaWNoIGNhbiBiZSBhIEpTT06IIGR1bXAgb3IgSVBGUyBoYXNoIG9mIGEgSlNPTiBmaWxlLgB1ASBDb25zaWRlciBhIGdhcmJhZ2UgY29sbGVjdGlvbiBmb3IgYSBtZXRhZGF0YSBvZiBmaW5pc2hlZCByZWZlcmVuZHVtcyB0byBgdW5yZXF1ZXN0YCAocmVtb3ZlKUQgbGFyZ2UgcHJlaW1hZ2VzLgHJAgEJARREU3VibWlzc2lvbkRlcG9zaXQYQABAehDzWgAAAAAAAAAAAAAENQEgVGhlIG1pbmltdW0gYW1vdW50IHRvIGJlIHVzZWQgYXMgYSBkZXBvc2l0IGZvciBhIHB1YmxpYyByZWZlcmVuZHVtIHByb3Bvc2FsLiRNYXhRdWV1ZWQQEGQAAAAE5CBNYXhpbXVtIHNpemUgb2YgdGhlIHJlZmVyZW5kdW0gcXVldWUgZm9yIGEgc2luZ2xlIHRyYWNrLkRVbmRlY2lkaW5nVGltZW91dBAQgBMDAAhVASBUaGUgbnVtYmVyIG9mIGJsb2NrcyBhZnRlciBzdWJtaXNzaW9uIHRoYXQgYSByZWZlcmVuZHVtIG11c3QgYmVnaW4gYmVpbmcgZGVjaWRlZCBieS7kIE9uY2UgdGhpcyBwYXNzZXMsIHRoZW4gYW55b25lIG1heSBjYW5jZWwgdGhlIHJlZmVyZW5kdW0uNEFsYXJtSW50ZXJ2YWwQEAEAAAAMXQEgUXVhbnRpemF0aW9uIGxldmVsIGZvciB0aGUgcmVmZXJlbmR1bSB3YWtldXAgc2NoZWR1bGVyLiBBIGhpZ2hlciBudW1iZXIgd2lsbCByZXN1bHQgaW5dASBmZXdlciBzdG9yYWdlIHJlYWRzL3dyaXRlcyBuZWVkZWQgZm9yIHNtYWxsZXIgdm90ZXJzLCBidXQgYWxzbyByZXN1bHQgaW4gZGVsYXlzIHRvIHRoZVUBIGF1dG9tYXRpYyByZWZlcmVuZHVtIHN0YXR1cyBjaGFuZ2VzLiBFeHBsaWNpdCBzZXJ2aWNpbmcgaW5zdHJ1Y3Rpb25zIGFyZSB1bmFmZmVjdGVkLhhUcmFja3OdCZkOKAAAEHJvb3QDAAAAAABkp7O24A0AAAAAAAAAAFgCAADAiQEAIBwAAGQAAAACkNc+DQAAAABXQ94TAAAAAFRD3hMAAAAAAADKmjsAAAAAAGXNHQEASHdoaXRlbGlzdGVkX2NhbGxlcgMAAAAAAMUuvKKxAAAAAAAAAAAAZAAAAMCoAABgCQAAZAAAAAKQ1z4NAAAAAFdD3hMAAAAAVEPeEwAAAAAC38cFAAAAAACiCAwAAAAAAExmKwEAAAAAAgBQcmVmZXJlbmR1bV9jYW5jZWxsZXIDAAAAAADZ6awteAMAAAAAAAAAAFgCAADAqAAAWAIAAGQAAAAA204PIgBlzR0Aypo7Al1veAAAAAAA6C7tAAAAAACMaIn//////wMARHJlZmVyZW5kdW1fa2lsbGVyAwAAAAAAi70GiWgKAAAAAAAAAABYAgAAwKgAAFgCAABkAAAAANtODyIAZc0dAMqaOwJdb3gAAAAAAOgu7QAAAAAAjGiJ//////8EADRnZW5lcmFsX2FkbWluAwAAAAAA2emsLXgDAAAAAAAAAABYAgAAwIkBAAgHAABkAAAAApDXPg0AAAAAV0PeEwAAAABUQ94TAAAAAAJBPLABAAAAAHVdNAMAAAAARdFl/v////8FACR0cmVhc3VyZXIDAAAAAACLvQaJaAoAAAAAAAAAAFgCAADAiQEAIBwAAGQAAAACkNc+DQAAAABXQ94TAAAAAFRD3hMAAAAAAADKmjsAAAAAgLLmDgYAHHNwZW5kZXIDAAAAAACKXXhFYwEAAAAAAAAAAFgCAADAiQEACAcAAGQAAAAAAMqaOwBlzR0Aypo7AkE8sAEAAAAAdV00AwAAAABF0WX+/////wcAGHRpcHBlcgMAAAAAAMFv8oYjAAAAAAAAAAAAWAIAAMCJAQAIBwAAZAAAAADbTg8iAGXNHQDKmjsCXW94AAAAAADoLu0AAAAAAIxoif//////CAA4b21uaXBvb2xfYWRtaW4DAAAAAADZ6awteAMAAAAAAAAAAFgCAADAiQEACAcAAGQAAAACkNc+DQAAAABXQ94TAAAAAFRD3hMAAAAAAkE8sAEAAAAAdV00AwAAAABF0WX+/////wkATGVjb25vbWljX3BhcmFtZXRlcnMDAAAAAACLvQaJaAoAAAAAAAAAAFgCAADAiQEAIBwAAGQAAAACkNc+DQAAAABXQ94TAAAAAFRD3hMAAAAAAADKmjsAAAAAgLLmDgTgIEluZm9ybWF0aW9uIGNvbmNlcm5pbmcgdGhlIGRpZmZlcmVudCByZWZlcmVuZHVtIHRyYWNrcy4BtQklABxPcmlnaW5zAAAAAAAmACRXaGl0ZWxpc3QBJFdoaXRlbGlzdAQ8V2hpdGVsaXN0ZWRDYWxsAAEEBTSQBAAAAdECAVkGAAG5CScAKERpc3BhdGNoZXIBKERpc3BhdGNoZXIISEFhdmVNYW5hZ2VyQWNjb3VudAEAAICqfgAAAAAAAAAAAAAAAAAAAAqn4AAAAAAAAAAAAAAAAAAgRXh0cmFHYXMBADAgAAAAAAAAAAAAAdUCAW0GAAAoADRBc3NldFJlZ2lzdHJ5ATRBc3NldFJlZ2lzdHJ5HBhBc3NldHMAAQQCEL0JBAAEVCBEZXRhaWxzIG9mIGFuIGFzc2V0LixOZXh0QXNzZXRJZAEAEBABAAAABF0BIE5leHQgYXZhaWxhYmxlIGFzc2V0IGlkLiBUaGlzIGlzIHNlcXVlbnRpYWwgaWQgYXNzaWduZWQgZm9yIGVhY2ggbmV3IHJlZ2lzdGVyZWQgYXNzZXQuIEFzc2V0SWRzAAEEAuECEAQABKQgTWFwcGluZyBiZXR3ZWVuIGFzc2V0IG5hbWUgYW5kIGFzc2V0IGlkLjhBc3NldExvY2F0aW9ucwABBAIQ8QIEAAR0IE5hdGl2ZSBsb2NhdGlvbiBvZiBhbiBhc3NldC4wQmFubmVkQXNzZXRzAAEEAhCQBAAEsCBOb24tbmF0aXZlIGFzc2V0cyB3aGljaCB0cmFuc2ZlciBpcyBiYW5uZWQuOExvY2F0aW9uQXNzZXRzAAEEAvECEAQABIQgTG9jYWwgYXNzZXQgZm9yIG5hdGl2ZSBsb2NhdGlvbi5kRXhpc3RlbnRpYWxEZXBvc2l0Q291bnRlcgEAGEAAAAAAAAAAAAAAAAAAAAAACC0BIE51bWJlciBvZiBhY2NvdW50cyB0aGF0IHBhaWQgZXhpc3RlbnRpYWwgZGVwb3NpdHMgZm9yIGluc3VmZmljaWVudCBhc3NldHMusCBUaGlzIHN0b3JhZ2UgaXMgdXNlZCBieSBgU3VmZmljaWVuY3lDaGVja2AuAdkCAXEGEExTZXF1ZW50aWFsSWRTdGFydEF0EBBAQg8AACxTdHJpbmdMaW1pdBAQIAAAAATgIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhIG5hbWUgb3Igc3ltYm9sIHN0b3JlZCBvbi1jaGFpbi44TWluU3RyaW5nTGltaXQQEAMAAAAE0CBUaGUgbWluIGxlbmd0aCBvZiBhIG5hbWUgb3Igc3ltYm9sIHN0b3JlZCBvbi1jaGFpbi5sUmVnRXh0ZXJuYWxXZWlnaHRNdWx0aXBsaWVyMCAKAAAAAAAAAATQIFdlaWdodCBtdWx0aXBsaWVyIGZvciBgcmVnaXN0ZXJfZXh0ZXJuYWxgIGV4dHJpbnNpYwHBCTMAGENsYWltcwEYQ2xhaW1zBBhDbGFpbXMBAQQCeQYYQAAAAAAAAAAAAAAAAAAAAAAEnCBBc3NldCBpZCBzdG9yYWdlIGZvciBlYWNoIHNoYXJlZCB0b2tlbgERAwF1BgABxQk1ADhHZW5lc2lzSGlzdG9yeQE4R2VuZXNpc0hpc3RvcnkENFByZXZpb3VzQ2hhaW4BAMkJAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZAwAAADcAPENvbGxhdG9yUmV3YXJkcwE8Q29sbGF0b3JSZXdhcmRzBCRDb2xsYXRvcnMBAQQFEM0JBAAEqCBTdG9yZXMgdGhlIGNvbGxhdG9ycyBwZXIgc2Vzc2lvbiAoaW5kZXgpLgABfQYMRFJld2FyZFBlckNvbGxhdG9yGEB4+ot1KJ4BAAAAAAAAAAAABIAgUmV3YXJkIGFtb3VudCBwZXIgb25lIGNvbGxhdG9yLkBSZXdhcmRDdXJyZW5jeUlkEBAAAAAABEAgUmV3YXJkIEFzc2V0IElkKFJld2FyZHNCYWcAgG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRCTkAIE9tbmlwb29sASBPbW5pcG9vbBAYQXNzZXRzAAEEAhDVCQQABIggU3RhdGUgb2YgYW4gYXNzZXQgaW4gdGhlIG9tbmlwb29sTEh1YkFzc2V0VHJhZGFiaWxpdHkBACUDBAEEdCBUcmFkYWJsZSBzdGF0ZSBvZiBodWIgYXNzZXQuJFBvc2l0aW9ucwABBAIY2QkEAAT0IExQIHBvc2l0aW9ucy4gTWFwcyBORlQgaW5zdGFuY2UgaWQgdG8gY29ycmVzcG9uZGluZyBwb3NpdGlvbjhOZXh0UG9zaXRpb25JZAEAGEAAAAAAAAAAAAAAAAAAAAAABFwgUG9zaXRpb24gaWRzIHNlcXVlbmNlcgEdAwGBBiQoSGR4QXNzZXRJZBAQAAAAAARAIE5hdGl2ZSBBc3NldCBJRChIdWJBc3NldElkEBABAAAABDQgSHViIEFzc2V0IElEQE1pbldpdGhkcmF3YWxGZWUhAxBkAAAABFwgTWluaW11bSB3aXRoZHJhd2FsIGZlZUxNaW5pbXVtVHJhZGluZ0xpbWl0GEDoAwAAAAAAAAAAAAAAAAAABFggTWluaW11bSB0cmFkaW5nIGxpbWl0UE1pbmltdW1Qb29sTGlxdWlkaXR5GEBAQg8AAAAAAAAAAAAAAAAABKggTWluaW11bSBwb29sIGxpcXVpZGl0eSB3aGljaCBjYW4gYmUgYWRkZWQoTWF4SW5SYXRpbxhAAwAAAAAAAAAAAAAAAAAAAATwIE1heCBmcmFjdGlvbiBvZiBhc3NldCByZXNlcnZlIHRvIHNlbGwgaW4gc2luZ2xlIHRyYW5zYWN0aW9uLE1heE91dFJhdGlvGEADAAAAAAAAAAAAAAAAAAAABOwgTWF4IGZyYWN0aW9uIG9mIGFzc2V0IHJlc2VydmUgdG8gYnV5IGluIHNpbmdsZSB0cmFuc2FjdGlvbjxORlRDb2xsZWN0aW9uSWQYQDkFAAAAAAAAAAAAAAAAAAAEWCBOb24gZnVuZ2libGUgY2xhc3MgaWQ8QnVyblByb3RvY29sRmVlIQMQIKEHAAAB3Qk7AEBUcmFuc2FjdGlvblBhdXNlAUBUcmFuc2FjdGlvblBhdXNlBEhQYXVzZWRUcmFuc2FjdGlvbnMAAQQF4QmQBAAMbCBUaGUgcGF1c2VkIHRyYW5zYWN0aW9uIG1hcADcIG1hcCAoUGFsbGV0TmFtZUJ5dGVzLCBGdW5jdGlvbk5hbWVCeXRlcykgPT4gT3B0aW9uPCgpPgEtAwGFBgAB6Qk8ABhEdXN0ZXIBGER1c3RlcgxAQWNjb3VudEJsYWNrbGlzdAABBAIAkAQABIAgQWNjb3VudHMgZXhjbHVkZWQgZnJvbSBkdXN0aW5nLjRSZXdhcmRBY2NvdW50AAAABAAEdCBBY2NvdW50IHRvIHRha2UgcmV3YXJkIGZyb20uLER1c3RBY2NvdW50AAAABAAEZCBBY2NvdW50IHRvIHNlbmQgZHVzdCB0by4BMQMBiQYMGFJld2FyZBhAAAAAAAAAAAAAAAAAAAAAAAQ4IFJld2FyZCBhbW91bnRATmF0aXZlQ3VycmVuY3lJZBAQAAAAAARAIE5hdGl2ZSBBc3NldCBJZERUcmVhc3VyeUFjY291bnRJZACAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAELQEgRGVmYXVsdCBhY2NvdW50IGZvciBgcmV3YXJkX2FjY291bnRgIGFuZCBgZHVzdF9hY2NvdW50YCBpbiBnZW5lc2lzIGNvbmZpZy4B7Qk9AExPbW5pcG9vbFdhcmVob3VzZUxNAUxPbW5pcG9vbFdhcmVob3VzZUxNGDRGYXJtU2VxdWVuY2VyAQAQEAAAAAAEvCBJZCBzZXF1ZW5jZXIgZm9yIGBHbG9iYWxGYXJtYCBhbmQgYFlpZWxkRmFybWAuQERlcG9zaXRTZXF1ZW5jZXIBABhAAAAAAAAAAAAAAAAAAAAAAAAoR2xvYmFsRmFybQABBAIQ8QkEAAAkWWllbGRGYXJtAAEMAgIC+Qn9CQQABFAgWWllbGQgZmFybSBkZXRhaWxzLhxEZXBvc2l0AAEEBRgBCgQABEQgRGVwb3NpdCBkZXRhaWxzLjxBY3RpdmVZaWVsZEZhcm0AAQgCAk0DEAQABPggQWN0aXZlKGZhcm1zIGFibGUgdG8gcmVjZWl2ZSBMUCBzaGFyZXMgZGVwb3NpdHMpIHlpZWxkIGZhcm1zLgE1AwGNBhggUGFsbGV0SWQpCCBPbW5pV2hMTQQsIFBhbGxldCBpZC5EVHJlYXN1cnlBY2NvdW50SWQAgG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAABOggVHJlYXN1cnkgYWNjb3VudCB0byByZWNlaXZlIGNsYWltZWQgcmV3YXJkcyBsb3dlciB0aGFuIEVETE1pblRvdGFsRmFybVJld2FyZHMYQAAQpdToAAAAAAAAAAAAAAAEOQEgTWluaW11bSB0b3RhbCByZXdhcmRzIHRvIGRpc3RyaWJ1dGUgZnJvbSBnbG9iYWwgZmFybSBkdXJpbmcgbGlxdWlkaXR5IG1pbmluZy5kTWluUGxhbm5lZFlpZWxkaW5nUGVyaW9kcxAQaDgAAATsIE1pbmltdW0gbnVtYmVyIG9mIHBlcmlvZHMgdG8gcnVuIGxpcXVpZGl0eSBtaW5pbmcgcHJvZ3JhbS5gTWF4RmFybUVudHJpZXNQZXJEZXBvc2l0EBAFAAAACGUBIE1heGltdW0gbnVtYmVyIG9mIHlpZWxkIGZhcm1zIHNhbWUgTFAgc2hhcmVzIGNhbiBiZSByZS9kZXBvc2l0ZWQgaW50by4gVGhpcyB2YWx1ZSBhbHdheXNcIE1VU1QgQkUgPj0gMS4gICAgICAgICBoTWF4WWllbGRGYXJtc1Blckdsb2JhbEZhcm0QEDIAAAAITQEgTWF4IG51bWJlciBvZiB5aWVsZCBmYXJtcyBjYW4gZXhpc3QgaW4gZ2xvYmFsIGZhcm0uIFRoaXMgaW5jbHVkZXMgYWxsIGZhcm1zIGluIHRoZZggc3RvcmFnZShhY3RpdmUsIHN0b3BwZWQsIHRlcm1pbmF0ZWQpLgERCj4AXE9tbmlwb29sTGlxdWlkaXR5TWluaW5nAVxPbW5pcG9vbExpcXVpZGl0eU1pbmluZwQ4T21uaVBvc2l0aW9uSWQAAQQCGBgEAATQIE1hcCBvZiBvbW5pcG9vbCBwb3NpdGlvbidzIGlkcyB0byBMTSdzIGRlcG9zaXQgaWRzLgE5AwGRBgw8TkZUQ29sbGVjdGlvbklkGEAYCgAAAAAAAAAAAAAAAAAABNwgTkZUIGNvbGxlY3Rpb24gaWQgZm9yIGxpcXVpZGl0eSBtaW5pbmcncyBkZXBvc2l0IG5mdHMuME9yYWNsZVNvdXJjZf0BIG9tbmlwb29sBIQgSWRlbnRpZmllciBvZiBvcmFjbGUgZGF0YSBzb3J1Y2UwT3JhY2xlUGVyaW9kuQMEAgSMIE9yYWNsZSdzIHByaWNlIGFnZ3JlZ2F0aW9uIHBlcmlvZC4BGQo/AAxPVEMBDE9UQwgsTmV4dE9yZGVySWQBABAQAAAAAARgIElEIHNlcXVlbmNlciBmb3IgT3JkZXJzGE9yZGVycwABBAIQIQoEAAABbQMBlQYMcEV4aXN0ZW50aWFsRGVwb3NpdE11bHRpcGxpZXIIBAUEQQEgTXVsdGlwbGllciB1c2VkIHRvIGNvbXB1dGUgbWluaW1hbCBhbW91bnRzIG9mIGFzc2V0X2luIGFuZCBhc3NldF9vdXQgaW4gYW4gT1RDLgxGZWUhAxDoAwAABHggRmVlIGRlZHVjdGVkIGZyb20gYW1vdW50X291dC4sRmVlUmVjZWl2ZXIAgG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAABDggRmVlIHJlY2VpdmVyLgElCkAAOENpcmN1aXRCcmVha2VyAThDaXJjdWl0QnJlYWtlchxgVHJhZGVWb2x1bWVMaW1pdFBlckFzc2V0AQEEAhBNAyCIEwAAECcAAAj0IFRyYWRlIHZvbHVtZSBsaW1pdHMgb2YgYXNzZXRzIHNldCBieSBzZXRfdHJhZGVfdm9sdW1lX2xpbWl0LpwgSWYgbm90IHNldCwgcmV0dXJucyB0aGUgZGVmYXVsdCBsaW1pdC58QWxsb3dlZFRyYWRlVm9sdW1lTGltaXRQZXJBc3NldAABBAIQKQoEAARgIFRyYWRlIHZvbHVtZXMgcGVyIGFzc2V0ZExpcXVpZGl0eUFkZExpbWl0UGVyQXNzZXQBAQQCEHUDJAH0AQAAECcAAAjEIExpcXVpZGl0eSBsaW1pdHMgb2YgYXNzZXRzIGZvciBhZGRpbmcgbGlxdWlkaXR5LpwgSWYgbm90IHNldCwgcmV0dXJucyB0aGUgZGVmYXVsdCBsaW1pdC6EQWxsb3dlZEFkZExpcXVpZGl0eUFtb3VudFBlckFzc2V0AAEEAhAtCgQABIAgQWRkIGxpcXVpZGl0eSB2b2x1bWVzIHBlciBhc3NldEhBc3NldExvY2tkb3duU3RhdGUAAQQCEDEKBAAAcExpcXVpZGl0eVJlbW92ZUxpbWl0UGVyQXNzZXQBAQQCEHUDJAH0AQAAECcAAAjMIExpcXVpZGl0eSBsaW1pdHMgb2YgYXNzZXRzIGZvciByZW1vdmluZyBsaXF1aWRpdHkunCBJZiBub3Qgc2V0LCByZXR1cm5zIHRoZSBkZWZhdWx0IGxpbWl0LpBBbGxvd2VkUmVtb3ZlTGlxdWlkaXR5QW1vdW50UGVyQXNzZXQAAQQCEC0KBAAEjCBSZW1vdmUgbGlxdWlkaXR5IHZvbHVtZXMgcGVyIGFzc2V0AXEDAZkGDJREZWZhdWx0TWF4TmV0VHJhZGVWb2x1bWVMaW1pdFBlckJsb2NrTQMgiBMAABAnAAAIMQEgVGhlIG1heGltdW0gcGVyY2VudGFnZSBvZiBhIHBvb2wncyBsaXF1aWRpdHkgdGhhdCBjYW4gYmUgdHJhZGVkIGluIGEgYmxvY2sudQEgUmVwcmVzZW50ZWQgYXMgYSBub24temVybyBmcmFjdGlvbiAobm9taW5hdG9yLCBkZW5vbWluYXRvcikgd2l0aCB0aGUgbWF4IHZhbHVlIGJlaW5nIDEwXzAwMC6MRGVmYXVsdE1heEFkZExpcXVpZGl0eUxpbWl0UGVyQmxvY2t1AyQB9AEAABAnAAAMLQEgVGhlIG1heGltdW0gcGVyY2VudGFnZSBvZiBhIHBvb2wncyBsaXF1aWRpdHkgdGhhdCBjYW4gYmUgYWRkZWQgaW4gYSBibG9jay6dASBSZXByZXNlbnRlZCBhcyBhbiBvcHRpb25hbCBub24temVybyBmcmFjdGlvbiAobm9taW5hdG9yLCBkZW5vbWluYXRvcikgd2l0aCB0aGUgbWF4IHZhbHVlIGJlaW5nIDEwXzAwMC60IElmIHNldCB0byBOb25lLCB0aGUgbGltaXRzIGFyZSBub3QgZW5mb3JjZWQumERlZmF1bHRNYXhSZW1vdmVMaXF1aWRpdHlMaW1pdFBlckJsb2NrdQMkAfQBAAAQJwAADDUBIFRoZSBtYXhpbXVtIHBlcmNlbnRhZ2Ugb2YgYSBwb29sJ3MgbGlxdWlkaXR5IHRoYXQgY2FuIGJlIHJlbW92ZWQgaW4gYSBibG9jay6dASBSZXByZXNlbnRlZCBhcyBhbiBvcHRpb25hbCBub24temVybyBmcmFjdGlvbiAobm9taW5hdG9yLCBkZW5vbWluYXRvcikgd2l0aCB0aGUgbWF4IHZhbHVlIGJlaW5nIDEwXzAwMC60IElmIHNldCB0byBOb25lLCB0aGUgbGltaXRzIGFyZSBub3QgZW5mb3JjZWQuATUKQQAYUm91dGVyARhSb3V0ZXIEGFJvdXRlcwABBAKNA30DBAAEfCBTdG9yaW5nIHJvdXRlcyBmb3IgYXNzZXQgcGFpcnMBeQMBnQYINE5hdGl2ZUFzc2V0SWQQEAAAAAAEQCBOYXRpdmUgQXNzZXQgSWQwT3JhY2xlUGVyaW9kuQMEAgSMIE9yYWNsZSdzIHByaWNlIGFnZ3JlZ2F0aW9uIHBlcmlvZC4BOQpDACxEeW5hbWljRmVlcwEsRHluYW1pY0ZlZXMIIEFzc2V0RmVlAAEEBRA9CgQACEkBIFN0b3JlcyBsYXN0IGNhbGN1bGF0ZWQgZmVlIG9mIGFuIGFzc2V0IGFuZCBibG9jayBudW1iZXIgaW4gd2hpY2ggaXQgd2FzIGNoYW5nZWQuLsggU3RvcmVkIGFzIChBc3NldCBmZWUsIFByb3RvY29sIGZlZSwgQmxvY2sgbnVtYmVyKVRBc3NldEZlZUNvbmZpZ3VyYXRpb24AAQQFEJUDBAAE2CBTdG9yZXMgcGVyLWFzc2V0IGZlZSBjb25maWd1cmF0aW9uIChGaXhlZCBvciBEeW5hbWljKQGRAwGhBghIQXNzZXRGZWVQYXJhbWV0ZXJzmQOgxAkAAFDDAAAAID2IeS0AAAAAAAAAAAAAAADITmdtwRsAAAAAAAAAAABUUHJvdG9jb2xGZWVQYXJhbWV0ZXJzmQOg9AEAAMQJAAAAkB7EvBYAAAAAAAAAAAAAAABkp7O24A0AAAAAAAAAAAABQQpEABxTdGFraW5nARxTdGFraW5nIBxTdGFraW5nAQBFCsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWCBHbG9iYWwgc3Rha2luZyBzdGF0ZS4kUG9zaXRpb25zAAEEAhhJCgQABFwgVXNlcidzIHBvc2l0aW9uIHN0YXRlLjhOZXh0UG9zaXRpb25JZAEAGEAAAAAAAAAAAAAAAAAAAAAABGAgUG9zaXRpb24gaWRzIHNlcXVlbmNlci4UVm90ZXMBAQQCGE0KBAAEYCBMaXN0IG9mIHBvc2l0aW9uIHZvdGVzLjRWb3Rlc1Jld2FyZGVkAAEIAgKVCFkKBAAEnQEgTGlzdCBvZiBwcm9jZXNzZWQgdm90ZS4gVXNlZCB0byBkZXRlcm1pbmUgaWYgdGhlIHZvdGUgc2hvdWxkIGJlIGxvY2tlZCBpbiBjYXNlIG9mIHZvdGluZyBub3QgaW4gZmF2b3IuNFBvc2l0aW9uVm90ZXMBAQQCGE0KBAAEaQEgTGVnYWN5IHN0b3JhZ2UhIC0gVXNlZCB0byBoYW5kbGUgZGVtb2NyYWN5IHZvdGVzIHVudGlsIGRlbW9jcmFjeSBwYWxsZXQgaXMgZnVsbHkgcmVtb3ZlZC44UHJvY2Vzc2VkVm90ZXMAAQgCApUIWQoEAASRASBMZWdhY3kgc3RvcmFnZSEgLSBVc2VkIHRvIGhhbmRsZSBkZW1vY3JhY3kgcHJvY2Vzc2VkIHZvdGVzIHVudGlsIGRlbW9jcmFjeSBwYWxsZXQgaXMgZnVsbHkgcmVtb3ZlZC5EU2l4U2VjQmxvY2tzU2luY2UBABAQ/////wTAIEJsb2NrIG51bWJlciB3aGVuIHdlIHN3aXRjaGVkIHRvIDYgc2VjLiBibG9ja3MuAZ0DAaUGLDBQZXJpb2RMZW5ndGgQECAcAAAEhCBTdGFraW5nIHBlcmlvZCBsZW5ndGggaW4gYmxvY2tzLiBQYWxsZXRJZCkIIHN0YWtpbmcjBCwgUGFsbGV0IGlkLjROYXRpdmVBc3NldElkEBAAAAAABEQgTmF0aXZlIEFzc2V0IElELiBNaW5TdGFrZRhAAIDGpH6NAwAAAAAAAAAAAARwIE1pbiBhbW91bnQgdXNlciBtdXN0IHN0YWtlLkBUaW1lUG9pbnRzV2VpZ2h0IQMQQEIPAATgIFdlaWdodCBvZiB0aGUgdGltZSBwb2ludHMgaW4gdG90YWwgcG9pbnRzIGNhbGN1bGF0aW9ucy5IQWN0aW9uUG9pbnRzV2VpZ2h08QMQAMLrCwToIFdlaWdodCBvZiB0aGUgYWN0aW9uIHBvaW50cyBpbiB0b3RhbCBwb2ludHMgY2FsY3VsYXRpb25zLkxUaW1lUG9pbnRzUGVyUGVyaW9kCAQBBNQgTnVtYmVyIG9mIHRpbWUgcG9pbnRzIHVzZXJzIHJlY2VpdmUgZm9yIGVhY2ggcGVyaW9kLkhVbmNsYWltYWJsZVBlcmlvZHMYQAEAAAAAAAAAAAAAAAAAAAAIdQEgTnVtYmVyIG9mIHBlcmlvZHMgdXNlciBjYW4ndCBjbGFpbSByZXdhcmRzIGZvci4gVXNlciBjYW4gZXhpdCBidXQgd29uJ3QgcmVjZWl2ZSBhbnkgcmV3YXJkcy5xASBJZiBoZSBzdGF5IGxvbmdlciB0aGFuIGBVbmNsYWltYWJsZVBlcmlvZHNgIGhlIHdpbGwgcmVjZWl2ZSByZXdhcmRzIGFsc28gZm9yIHRoZXNlIHBlcmlvZHMuSEN1cnJlbnRTdGFrZVdlaWdodAgEAgSxASBXZWlnaHQgb2YgdGhlIGFjdHVhbCBzdGFrZSBpbiBzbGFzaCBwb2ludHMgY2FsY3VsYXRpb24uIEJpZ2dlciB0aGUgdmFsdWUgbG93ZXIgdGhlIGNhbGN1bGF0ZWQgc2xhc2ggcG9pbnRzLiBNYXhWb3RlcxAQGQAAAATMIE1heCBhbW91bnQgb2Ygdm90ZXMgdGhlIHVzZXIgY2FuIGhhdmUgYXQgYW55IHRpbWUuPE5GVENvbGxlY3Rpb25JZBhArggAAAAAAAAAAAAAAAAAAARMIE5GVCBjb2xsZWN0aW9uIGlkLgFlCkUAKFN0YWJsZXN3YXABKFN0YWJsZXN3YXAQFFBvb2xzAAEEAhBtCgQABDwgRXhpc3RpbmcgcG9vbHMgUG9vbFBlZ3MAAQQCELUGBAAEPCBQb29sIHBlZyBpbmZvLkBBc3NldFRyYWRhYmlsaXR5AQEIAgJNA6kDBA8EiCBUcmFkYWJpbGl0eSBzdGF0ZSBvZiBwb29sIGFzc2V0cy40UG9vbFNuYXBzaG90cwABBAIQcQoEAAQ5ASBUZW1wb3JhcnkgcG9vbCBzdGF0ZSBzdG9yYWdlLiBVc2VkIHRvIHNhdmUgYSBzdGF0ZSBvZiBwb29sIGluIGEgc2luZ2xlIGJsb2NrLgGhAwGpBgxATWluUG9vbExpcXVpZGl0eRhAQEIPAAAAAAAAAAAAAAAAAARcIE1pbmltdW0gcG9vbCBsaXF1aWRpdHk8TWluVHJhZGluZ0xpbWl0GEDoAwAAAAAAAAAAAAAAAAAABFwgTWluaW11bSB0cmFkaW5nIGFtb3VudEhBbXBsaWZpY2F0aW9uUmFuZ2WBChACABAnBD0BIEFtcGxpZmljYXRpb24gaW5jbHVzaXZlIHJhbmdlLiBQb29sJ3MgYW1wIGNhbiBiZSBzZWxlY3RlZCBmcm9tIHRoZSByYW5nZSBvbmx5LgGFCkYAFEJvbmRzARRCb25kcwgcQm9uZElkcwABBAKJChAEAAhUIFJlZ2lzdGVyZWQgYm9uZCBpZHMuwCBNYXBzICh1bmRlcmx5aW5nIGFzc2V0IElELCBtYXR1cml0eSkgLT4gYm9uZCBJRBRCb25kcwABBAIQiQoEAAhIIFJlZ2lzdGVyZWQgYm9uZHMuwCBNYXBzIGJvbmQgSUQgLT4gKHVuZGVybHlpbmcgYXNzZXQgSUQsIG1hdHVyaXR5KQHBAwHBBgwgUGFsbGV0SWQpCCBwbHRib25kcwTsIFRoZSBwYWxsZXQgaWQsIHVzZWQgZm9yIGRlcml2aW5nIGl0cyBzb3ZlcmVpZ24gYWNjb3VudCBJRC4sUHJvdG9jb2xGZWUhAxAgTgAABDggUHJvdG9jb2wgZmVlLixGZWVSZWNlaXZlcgCAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAEXCBQcm90b2NvbCBmZWUgcmVjZWl2ZXIuAY0KRwA4T3RjU2V0dGxlbWVudHMAAcUDAcUGFDhQcm9maXRSZWNlaXZlcgCAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAEhCBBY2NvdW50IHdobyByZWNlaXZlcyB0aGUgcHJvZml0LkxNaW5Qcm9maXRQZXJjZW50YWdl8QMQECcAAAScIE1pbmltdW0gcHJvZml0IGluIHRlcm1zIG9mIHBlcmNlbnRhZ2UuOFByaWNlUHJlY2lzaW9uPQFAAADBb/KGIwAAAAAAAAAAAATQIERldGVybWluZXMgd2hlbiB3ZSBjb25zaWRlciBhbiBhcmJpdHJhZ2UgYXMgY2xvc2VkLjxNaW5UcmFkaW5nTGltaXQYQOgDAAAAAAAAAAAAAAAAAAAEXCBNaW5pbXVtIHRyYWRpbmcgbGltaXQuNE1heEl0ZXJhdGlvbnMQECgAAAAEbQEgTWF4aW11bSBudW1iZXIgb2YgaXRlcmF0aW9ucyB1c2VkIGluIHRoZSBiaW5hcnkgc2VhcmNoIGFsZ29yaXRobSB0byBmaW5kIHRoZSB0cmFkZSBhbW91bnQuAZEKSAAMTEJQAQxMQlAIIFBvb2xEYXRhAAEEAgDNBgQABEwgRGV0YWlscyBvZiBhIHBvb2wuVEZlZUNvbGxlY3RvcldpdGhBc3NldAEBCAIClQggBAAIyCBTdG9yYWdlIHVzZWQgZm9yIHRyYWNraW5nIGV4aXN0aW5nIGZlZSBjb2xsZWN0b3JzzCBOb3QgbW9yZSB0aGFuIG9uZSBmZWUgY29sbGVjdG9yIHBlciBhc3NldCBwb3NzaWJsZQHJAwHJBhQ8TWluVHJhZGluZ0xpbWl0GEDoAwAAAAAAAAAAAAAAAAAABCEBIE1pbmltdW0gdHJhZGluZyBsaW1pdCwgc29sZSBwdXJwb3NlIG9mIHRoaXMgaXMgdG8ga2VlcCB0aGUgbWF0aCB3b3JraW5nQE1pblBvb2xMaXF1aWRpdHkYQEBCDwAAAAAAAAAAAAAAAAAEJQEgTWluaW11bSBwb29sIGxpcXVpZGl0eSwgc29sZSBwdXJwb3NlIG9mIHRoaXMgaXMgdG8ga2VlcCB0aGUgbWF0aCB3b3JraW5nKE1heEluUmF0aW8YQAMAAAAAAAAAAAAAAAAAAAAEzCBNYXggZnJhY3Rpb24gb2YgcG9vbCB0byBzZWxsIGluIHNpbmdsZSB0cmFuc2FjdGlvbixNYXhPdXRSYXRpbxhAAwAAAAAAAAAAAAAAAAAAAATIIE1heCBmcmFjdGlvbiBvZiBwb29sIHRvIGJ1eSBpbiBzaW5nbGUgdHJhbnNhY3Rpb24kcmVwYXlfZmVlTQMgAgAAAAoAAAAAAZUKSQAMWFlLAQxYWUsMKFNoYXJlVG9rZW4BAQQCABAQAAAAAASgIEFzc2V0IGlkIHN0b3JhZ2UgZm9yIHNoYXJlZCBwb29sIHRva2VuczhUb3RhbExpcXVpZGl0eQEBBAIAGEAAAAAAAAAAAAAAAAAAAAAABGwgVG90YWwgbGlxdWlkaXR5IGluIGEgcG9vbC4oUG9vbEFzc2V0cwABBAIATQMEAARYIEFzc2V0IHBhaXIgaW4gYSBwb29sLgHVAwHRBhw0TmF0aXZlQXNzZXRJZBAQAAAAAARAIE5hdGl2ZSBBc3NldCBJZDhHZXRFeGNoYW5nZUZlZU0DIAMAAADoAwAABEQgVHJhZGluZyBmZWUgcmF0ZTxNaW5UcmFkaW5nTGltaXQYQOgDAAAAAAAAAAAAAAAAAAAEWCBNaW5pbXVtIHRyYWRpbmcgbGltaXRATWluUG9vbExpcXVpZGl0eRhAQEIPAAAAAAAAAAAAAAAAAARcIE1pbmltdW0gcG9vbCBsaXF1aWRpdHkoTWF4SW5SYXRpbxhAAwAAAAAAAAAAAAAAAAAAAATMIE1heCBmcmFjdGlvbiBvZiBwb29sIHRvIHNlbGwgaW4gc2luZ2xlIHRyYW5zYWN0aW9uLE1heE91dFJhdGlvGEADAAAAAAAAAAAAAAAAAAAABMggTWF4IGZyYWN0aW9uIG9mIHBvb2wgdG8gYnV5IGluIHNpbmdsZSB0cmFuc2FjdGlvbjBPcmFjbGVTb3VyY2X9ASBoeWRyYXh5awSoIE9yYWNsZSBzb3VyY2UgaWRlbnRpZmllciBmb3IgdGhpcyBwYWxsZXQuAZkKSgAkUmVmZXJyYWxzASRSZWZlcnJhbHMoNFJlZmVycmFsQ29kZXMAAQQC3QMABAAIPCBSZWZlcnJhbCBjb2Rlc5AgTWFwcyBhIHJlZmVycmFsIGNvZGUgdG8gYW4gYWNjb3VudC5AUmVmZXJyYWxBY2NvdW50cwABBAIA3QMEAAhIIFJlZmVycmFsIGFjY291bnRzkCBNYXBzIGFuIGFjY291bnQgdG8gYSByZWZlcnJhbCBjb2RlLjhMaW5rZWRBY2NvdW50cwABBAIAAAQACEQgTGlua2VkIGFjY291bnRzLpwgTWFwcyBhbiBhY2NvdW50IHRvIGEgcmVmZXJyYWwgYWNjb3VudC44UmVmZXJyZXJTaGFyZXMBAQQCABhAAAAAAAAAAAAAAAAAAAAAAAR0IFNoYXJlcyBvZiBhIHJlZmVycmFsIGFjY291bnQwVHJhZGVyU2hhcmVzAQEEAgAYQAAAAAAAAAAAAAAAAAAAAAAEbCBTaGFyZXMgb2YgYSB0cmFkZXIgYWNjb3VudCxUb3RhbFNoYXJlcwEAGEAAAAAAAAAAAAAAAAAAAAAABFggVG90YWwgc2hhcmUgaXNzdWFuY2UuIFJlZmVycmVyAAEEAgCdCgQADNwgUmVmZXJlciBsZXZlbCBhbmQgdG90YWwgYWNjdW11bGF0ZWQgcmV3YXJkcyBvdmVyIHRpbWUu1QEgTWFwcyByZWZlcnJlciBhY2NvdW50IHRvIChMZXZlbCwgQmFsYW5jZSkuIExldmVsIGluZGljYXRlcyBjdXJyZW50IHJld2FyZHMgYW5kIEJhbGFuY2UgaXMgdXNlZCB0byB1bmxvY2sgbmV4dCBsZXZlbC65ASBEZXYgbm90ZTogd2UgdXNlIE9wdGlvblF1ZXJ5IGhlcmUgYmVjYXVzZSB0aGlzIGhlbHBzIHRvIGVhc2lseSBkZXRlcm1pbmUgdGhhdCBhbiBhY2NvdW50IGlmIHJlZmVycmVyIGFjY291bnQuMEFzc2V0UmV3YXJkcwABCAICoQrlAwQACLAgQXNzZXQgZmVlIGRpc3RyaWJ1dGlvbiByZXdhcmRzIGluZm9ybWF0aW9uLtAgTWFwcyAoYXNzZXRfaWQsIGxldmVsKSB0byBhc3NldCByZXdhcmQgcGVyY2VudGFnZXMuSFBlbmRpbmdDb252ZXJzaW9ucwABBAIQkAQACAEBIEluZm9ybWF0aW9uIGFib3V0IGFzc2V0cyB0aGF0IGFyZSBjdXJyZW50bHkgaW4gdGhlIHJld2FyZHMgcG90Lg0BIFVzZWQgdG8gZWFzaWx5IGRldGVybWluZSBsaXN0IG9mIGFzc2V0cyB0aGF0IG5lZWQgdG8gYmUgY29udmVydGVkLnBDb3VudGVyRm9yUGVuZGluZ0NvbnZlcnNpb25zAQAQEAAAAAAErENvdW50ZXIgZm9yIHRoZSByZWxhdGVkIGNvdW50ZWQgc3RvcmFnZSBtYXAB2QMB1QYYLFJld2FyZEFzc2V0EBAAAAAABNggSUQgb2YgYW4gYXNzZXQgdGhhdCBpcyB1c2VkIHRvIGRpc3RyaWJ1dGUgcmV3YXJkcyBpbi4gUGFsbGV0SWQpCCByZWZlcnJhbARFASBQYWxsZXQgaWQuIERldGVybWluZXMgYWNjb3VudCB3aGljaCBob2xkcyBhY2N1bXVsYXRlZCByZXdhcmRzIGluIHZhcmlvdXMgYXNzZXRzLjxSZWdpc3RyYXRpb25GZWWlCtAAAAAAAOAjZ+jJAAAAAAAAAAAAAG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAACGggUmVnaXN0cmF0aW9uIGZlZSBkZXRhaWxzLiUBIChJRCBvZiBhbiBhc3NldCB3aGljaCBmZWUgaXMgdG8gYmUgcGFpZCBpbiwgQW1vdW50LCBCZW5lZmljaWFyeSBhY2NvdW50KShDb2RlTGVuZ3RoEBAKAAAABHggTWF4aW11bSByZWZlcnJhbCBjb2RlIGxlbmd0aC40TWluQ29kZUxlbmd0aBAQBAAAAAR4IE1pbmltdW0gcmVmZXJyYWwgY29kZSBsZW5ndGguQFNlZWROYXRpdmVBbW91bnQYQACgck4YCQAAAAAAAAAAAAAEtCBTZWVkIGFtb3VudCB0aGF0IHdhcyBzZW50IHRvIHRoZSByZXdhcmQgcG90LgGpCksALExpcXVpZGF0aW9uASxMaXF1aWRhdGlvbgREQm9ycm93aW5nQ29udHJhY3QBAEEBUBsC4FFoO1z6xZKcJehK2ybs+Hs4BIggQm9ycm93aW5nIG1hcmtldCBjb250cmFjdCBhZGRyZXNzAekDAd0GDCBHYXNMaW1pdDAgAAk9AAAAAAAE5CBUaGUgZ2FzIGxpbWl0IGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBsaXF1aWRhdGlvbiBjYWxsLjhQcm9maXRSZWNlaXZlcgCAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAEhCBBY2NvdW50IHdobyByZWNlaXZlcyB0aGUgcHJvZml0LiBIb2xsYXJJZBAQ3gAAAARMIEFzc2V0IElEIG9mIEhvbGxhcgGtCkwADEhTTQEMSFNNDCxDb2xsYXRlcmFscwABBAIQsQoEABToIExpc3Qgb2YgYXBwcm92ZWQgYXNzZXRzIHRoYXQgSG9sbGFyIGNhbiBiZSBwdXJjaGFzZWQgd2l0aAAtASBUaGlzIHN0b3JhZ2UgbWFwcyBhc3NldCBJRHMgdG8gdGhlaXIgY29sbGF0ZXJhbCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLikBIE9ubHkgYXNzZXRzIGluIHRoaXMgbWFwIGNhbiBiZSB1c2VkIHRvIG1pbnQgb3IgcmVkZWVtIEhvbGxhciB0aHJvdWdoIEhTTS5RASBFYWNoIGNvbGxhdGVyYWwgaGFzIHNwZWNpZmljIHBhcmFtZXRlcnMgY29udHJvbGxpbmcgaXRzIHVzYWdlIGluIHRoZSBIU00gbWVjaGFuaXNtLlBIb2xsYXJBbW91bnRSZWNlaXZlZAEBBAIQGEAAAAAAAAAAAAAAAAAAAAAAFOAgQW1vdW50IG9mIEhvbGxhciBib3VnaHQgd2l0aCBhbiBhc3NldCBpbiBhIHNpbmdsZSBibG9jawBRASBUaGlzIHN0b3JhZ2UgdHJhY2tzIGhvdyBtdWNoIEhvbGxhciBoYXMgYmVlbiBib3VnaHQgYmFjayBieSBIU00gZm9yIGVhY2ggY29sbGF0ZXJhbHUBIGFzc2V0IHdpdGhpbiB0aGUgY3VycmVudCBibG9jay4gVGhpcyBpcyB1c2VkIHRvIGVuZm9yY2UgcmF0ZSBsaW1pdGluZyBvbiBIb2xsYXIgcmVkZW1wdGlvbnMuCQEgVmFsdWVzIGFyZSByZXNldCB0byB6ZXJvIGF0IHRoZSBlbmQgb2YgZWFjaCBibG9jayBpbiBvbl9maW5hbGl6ZS4sRmxhc2hNaW50ZXIAAEEBBAAEkCBBZGRyZXNzIG9mIHRoZSBmbGFzaCBsb2FuIHJlY2VpdmVyLgHtAwHhBgwgSG9sbGFySWQQEN4AAAAETCBBc3NldCBJRCBvZiBIb2xsYXIgUGFsbGV0SWQpCCBweS9oc21vZASMIFBhbGxldCBJRCB0byBkZXRlcm1pbmUgSFNNIGFjY291bnQgR2FzTGltaXQwIAAJPQAAAAAABLQgVGhlIGdhcyBsaW1pdCBmb3IgdGhlIGV4ZWN1dGlvbiBvZiBFVk0gY2FsbHMBtQpSAChQYXJhbWV0ZXJzAShQYXJhbWV0ZXJzBCRJc1Rlc3RuZXQBACAEAAAAAAAAUwAYVG9rZW5zARhUb2tlbnMQNFRvdGFsSXNzdWFuY2UBAQQFEBhAAAAAAAAAAAAAAAAAAAAAAASQIFRoZSB0b3RhbCBpc3N1YW5jZSBvZiBhIHRva2VuIHR5cGUuFExvY2tzAQEIAgWVCLkKBAAI2CBBbnkgbGlxdWlkaXR5IGxvY2tzIG9mIGEgdG9rZW4gdHlwZSB1bmRlciBhbiBhY2NvdW50LiUBIE5PVEU6IFNob3VsZCBvbmx5IGJlIGFjY2Vzc2VkIHdoZW4gc2V0dGluZywgY2hhbmdpbmcgYW5kIGZyZWVpbmcgYSBsb2NrLiBBY2NvdW50cwEBCAIFlQjFCsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYuCBUaGUgYmFsYW5jZSBvZiBhIHRva2VuIHR5cGUgdW5kZXIgYW4gYWNjb3VudC4A/CBOT1RFOiBJZiB0aGUgdG90YWwgaXMgZXZlciB6ZXJvLCBkZWNyZWFzZSBhY2NvdW50IHJlZiBhY2NvdW50LgAZASBOT1RFOiBUaGlzIGlzIG9ubHkgdXNlZCBpbiB0aGUgY2FzZSB0aGF0IHRoaXMgbW9kdWxlIGlzIHVzZWQgdG8gc3RvcmUoIGJhbGFuY2VzLiBSZXNlcnZlcwEBCAIFlQjJCgQABKQgTmFtZWQgcmVzZXJ2ZXMgb24gc29tZSBhY2NvdW50IGJhbGFuY2VzLgEFBAHlBgggTWF4TG9ja3MQEDIAAAAALE1heFJlc2VydmVzEBAyAAAABA0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBuYW1lZCByZXNlcnZlcyB0aGF0IGNhbiBleGlzdCBvbiBhbiBhY2NvdW50LgHVCk0AKEN1cnJlbmNpZXMAAQkEAekGCDhSZXNlcnZlQWNjb3VudACAbW9kbGN1cnJlc2VyAAAAAAAAAAAAAAAAAAAAAAAAAAAATEdldE5hdGl2ZUN1cnJlbmN5SWQQEAAAAAAAAdkKTwAcVmVzdGluZwEcVmVzdGluZwRAVmVzdGluZ1NjaGVkdWxlcwEBBAIA3QoEAAyEIFZlc3Rpbmcgc2NoZWR1bGVzIG9mIGFuIGFjY291bnQuAOAgVmVzdGluZ1NjaGVkdWxlczogbWFwIEFjY291bnRJZCA9PiBWZWM8VmVzdGluZ1NjaGVkdWxlPgERBAHtBgRETWluVmVzdGVkVHJhbnNmZXIYQGQAAAAAAAAAAAAAAAAAAAAE6CBUaGUgbWluaW11bSBhbW91bnQgdHJhbnNmZXJyZWQgdG8gY2FsbCBgdmVzdGVkX3RyYW5zZmVyYC4B4QpRAAxFVk0BDEVWTRAwQWNjb3VudENvZGVzAQEEAkEBOAQAAFBBY2NvdW50Q29kZXNNZXRhZGF0YQABBAJBAeUKBAAAPEFjY291bnRTdG9yYWdlcwEBCAIC6Qo0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBTdWljaWRlZAABBAJBAZAEAAABHQQB8QYAAe0KWgAoRVZNQ2hhaW5JZAEoRVZNQ2hhaW5JZAQcQ2hhaW5JZAEAMCAAAAAAAAAAAARIIFRoZSBFVk0gY2hhaW4gSUQuAAAAAFsAIEV0aGVyZXVtASBFdGhlcmV1bRgcUGVuZGluZwABBAYQ8QoEAATQIEN1cnJlbnQgYnVpbGRpbmcgYmxvY2sncyB0cmFuc2FjdGlvbnMgYW5kIHJlY2VpcHRzLkRDb3VudGVyRm9yUGVuZGluZwEAEBAAAAAABKxDb3VudGVyIGZvciB0aGUgcmVsYXRlZCBjb3VudGVkIHN0b3JhZ2UgbWFwMEN1cnJlbnRCbG9jawAAEQsEAARwIFRoZSBjdXJyZW50IEV0aGVyZXVtIGJsb2NrLjxDdXJyZW50UmVjZWlwdHMAACULBAAEfCBUaGUgY3VycmVudCBFdGhlcmV1bSByZWNlaXB0cy5oQ3VycmVudFRyYW5zYWN0aW9uU3RhdHVzZXMAACkLBAAEiCBUaGUgY3VycmVudCB0cmFuc2FjdGlvbiBzdGF0dXNlcy4kQmxvY2tIYXNoAQEEBUkBNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLQQB+QYAAS0LXAAsRVZNQWNjb3VudHMBLEVWTUFjY291bnRzDEBBY2NvdW50RXh0ZW5zaW9uAAEEAkEBDQIEAAQFASBNYXBzIGFuIEVWTSBhZGRyZXNzIHRvIHRoZSBsYXN0IDEyIGJ5dGVzIG9mIGEgc3Vic3RyYXRlIGFjY291bnQuQENvbnRyYWN0RGVwbG95ZXIAAQQCQQGQBAAECQEgV2hpdGVsaXN0ZWQgYWRkcmVzc2VzIHRoYXQgYXJlIGFsbG93ZWQgdG8gZGVwbG95IHNtYXJ0IGNvbnRyYWN0cy5AQXBwcm92ZWRDb250cmFjdAABBAJBAZAEAAQZASBXaGl0ZWxpc3RlZCBjb250cmFjdHMgdGhhdCBhcmUgYWxsb3dlZCB0byBtYW5hZ2UgYmFsYW5jZXMgYW5kIHRva2Vucy4BVQQBHQcENEZlZU11bHRpcGxpZXIQEDIAAAAEtCBGZWUgbXVsdGlwbGllciBmb3IgdGhlIGJpbmRpbmcgb2YgYWRkcmVzc2VzLgExC10ANER5bmFtaWNFdm1GZWUBNER5bmFtaWNFdm1GZWUENEJhc2VGZWVQZXJHYXMBAEkBgMDh5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEQgQmFzZSBmZWUgcGVyIGdhcwAABCxXZXRoQXNzZXRJZBAQFAAAAAQ4IFdFVEggQXNzZXQgSWQAXgBIWFlLTGlxdWlkaXR5TWluaW5nAAFZBAEhBww8TkZUQ29sbGVjdGlvbklkGEANFQAAAAAAAAAAAAAAAAAABNwgTkZUIGNvbGxlY3Rpb24gaWQgZm9yIGxpcXVpZGl0eSBtaW5pbmcncyBkZXBvc2l0IG5mdHMuME9yYWNsZVNvdXJjZf0BIGh5ZHJheHlrBKggT3JhY2xlIHNvdXJjZSBpZGVudGlmaWVyIGZvciB0aGlzIHBhbGxldC4wT3JhY2xlUGVyaW9kuQMEAgScIE9yYWNsZSdzIGxpcXVpZGl0eSBhZ2dyZWdhdGlvbiBwZXJpb2QuATULXwA4WFlLV2FyZWhvdXNlTE0BOFhZS1dhcmVob3VzZUxNGDRGYXJtU2VxdWVuY2VyAQAQEAAAAAAEvCBJZCBzZXF1ZW5jZXIgZm9yIGBHbG9iYWxGYXJtYCBhbmQgYFlpZWxkRmFybWAuQERlcG9zaXRTZXF1ZW5jZXIBABhAAAAAAAAAAAAAAAAAAAAAAAAoR2xvYmFsRmFybQABBAIQOQsEAAAkWWllbGRGYXJtAAEMAgICPQtBCwQABFAgWWllbGQgZmFybSBkZXRhaWxzLhxEZXBvc2l0AAEEBRhFCwQABEQgRGVwb3NpdCBkZXRhaWxzLjxBY3RpdmVZaWVsZEZhcm0AAQgCApUIEAQABPggQWN0aXZlKGZhcm1zIGFibGUgdG8gcmVjZWl2ZSBMUCBzaGFyZXMgZGVwb3NpdHMpIHlpZWxkIGZhcm1zLgFpBAElBxggUGFsbGV0SWQpCCB4eWtMTXBJRAQsIFBhbGxldCBpZC5EVHJlYXN1cnlBY2NvdW50SWQAgG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAABOggVHJlYXN1cnkgYWNjb3VudCB0byByZWNlaXZlIGNsYWltZWQgcmV3YXJkcyBsb3dlciB0aGFuIEVETE1pblRvdGFsRmFybVJld2FyZHMYQAAQpdToAAAAAAAAAAAAAAAEOQEgTWluaW11bSB0b3RhbCByZXdhcmRzIHRvIGRpc3RyaWJ1dGUgZnJvbSBnbG9iYWwgZmFybSBkdXJpbmcgbGlxdWlkaXR5IG1pbmluZy5kTWluUGxhbm5lZFlpZWxkaW5nUGVyaW9kcxAQaDgAAATsIE1pbmltdW0gbnVtYmVyIG9mIHBlcmlvZHMgdG8gcnVuIGxpcXVpZGl0eSBtaW5pbmcgcHJvZ3JhbS5gTWF4RmFybUVudHJpZXNQZXJEZXBvc2l0EBAFAAAACGUBIE1heGltdW0gbnVtYmVyIG9mIHlpZWxkIGZhcm1zIHNhbWUgTFAgc2hhcmVzIGNhbiBiZSByZS9kZXBvc2l0ZWQgaW50by4gVGhpcyB2YWx1ZSBhbHdheXNcIE1VU1QgQkUgPj0gMS4gICAgICAgICBoTWF4WWllbGRGYXJtc1Blckdsb2JhbEZhcm0QEDIAAAAITQEgTWF4IG51bWJlciBvZiB5aWVsZCBmYXJtcyBjYW4gZXhpc3QgaW4gZ2xvYmFsIGZhcm0uIFRoaXMgaW5jbHVkZXMgYWxsIGZhcm1zIGluIHRoZZggc3RvcmFnZShhY3RpdmUsIHN0b3BwZWQsIHRlcm1pbmF0ZWQpLgFVC2AAOFJlbGF5Q2hhaW5JbmZvAAFtBAEpBwABWQvJAAxEQ0EBDERDQRxMU2NoZWR1bGVJZFNlcXVlbmNlcgEAEBAAAAAABGwgSWQgc2VxdWVuY2VyIGZvciBzY2hlZHVsZXMkU2NoZWR1bGVzAAEEAhB1BAQABGQgU3RvcmluZyBzY2hlZHVsZSBkZXRhaWxzRFNjaGVkdWxlT3duZXJzaGlwAAEIAgWVCJAEAARsIFN0b3Jpbmcgc2NoZWR1bGUgb3duZXJzaGlwQFJlbWFpbmluZ0Ftb3VudHMAAQQCEBgEAAT8IEtlZXAgdHJhY2tpbmcgdGhlIHJlbWFpbmluZyBhbW91bnRzIHRvIHNwZW5kIGZvciBEQ0Egc2NoZWR1bGVzOFJldHJpZXNPbkVycm9yAQEEAhAIBAAE4CBLZWVwIHRyYWNraW5nIHRoZSByZXRyeSBvbiBlcnJvciBmbGFnIGZvciBEQ0Egc2NoZWR1bGVzWFNjaGVkdWxlRXhlY3V0aW9uQmxvY2sAAQQCEBAEAAQpASBLZWVwIHRyYWNraW5nIHRoZSBibG9ja251bWJlciB3aGVuIHRoZSBzY2hlZHVsZSBpcyBwbGFubmVkIHRvIGJlIGV4ZWN1dGVkTFNjaGVkdWxlSWRzUGVyQmxvY2sBAQQCEF0LBAAE+CBLZWVwIHRyYWNraW5nIG9mIHRoZSBzY2hlZHVsZSBpZHMgdG8gYmUgZXhlY3V0ZWQgaW4gdGhlIGJsb2NrAXEEAS0HMHxNYXhQcmljZURpZmZlcmVuY2VCZXR3ZWVuQmxvY2tzIQMQmDoAAASsTWF4IHByaWNlIGRpZmZlcmVuY2UgYWxsb3dlZCBiZXR3ZWVuIGJsb2Nrc6xNYXhDb25maWd1cmFibGVQcmljZURpZmZlcmVuY2VCZXR3ZWVuQmxvY2tzIQMQUMMAAATgTWF4IGNvbmZpZ3VyYWJsZSBwcmljZSBkaWZmZXJlbmNlIGFsbG93ZWQgYmV0d2VlbiBibG9ja3NMTWF4U2NoZWR1bGVQZXJCbG9jaxAQBgAAAATQVGhlIG51bWJlciBvZiBtYXggc2NoZWR1bGVzIHRvIGJlIGV4ZWN1dGVkIHBlciBibG9ja2RNYXhOdW1iZXJPZlJldHJpZXNPbkVycm9yCAQDBNhUaGUgbnVtYmVyIG9mIG1heCByZXRyaWVzIGluIGNhc2Ugb2YgdHJhZGUgbGltaXQgZXJyb3I0TWluaW1hbFBlcmlvZBAQBQAAAASETWluaW1hbCBwZXJpb2QgYmV0d2VlbiBleGVjdXRpb25zKEJ1bXBDaGFuY2VhCwQRBIRDaGFuY2Ugb2YgdGhlIHJhbmRvbSByZXNjaGVkdWxpbmdMTWluaW11bVRyYWRpbmdMaW1pdBhA6AMAAAAAAAAAAAAAAAAAAASkIE1pbmltdW0gdHJhZGluZyBsaW1pdCBmb3IgYSBzaW5nbGUgdHJhZGU0TmF0aXZlQXNzZXRJZBAQAAAAAARAIE5hdGl2ZSBBc3NldCBJZFRQb2xrYWRvdE5hdGl2ZUFzc2V0SWQQEAUAAAAEfCBQb2xrYWRvdCBOYXRpdmUgQXNzZXQgSWQgKERPVClkTWluQnVkZ2V0SW5OYXRpdmVDdXJyZW5jeRhAAIDGpH6NAwAAAAAAAAAAAAQlAU1pbmltdW0gYnVkZ2V0IHRvIGJlIGFibGUgdG8gc2NoZWR1bGUgYSBEQ0EsIHNwZWNpZmllZCBpbiBuYXRpdmUgY3VycmVuY3ksRmVlUmVjZWl2ZXIAgG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAABJRUaGUgZmVlIHJlY2VpdmVyIGZvciB0cmFuc2FjdGlvbiBmZWVzOE5hbWVkUmVzZXJ2ZUlk/QEgZGNhb3JkZXIEKQEgTmFtZWQgcmVzZXJ2ZSBpZGVudGlmaWVyIHRvIHN0b3JlIG5hbWVkIHJlc2VydmVzIGZvciBvcmRlcnMgb2YgZWFjaCB1c2VycwFlC0IAJFNjaGVkdWxlcgEkU2NoZWR1bGVyEDxJbmNvbXBsZXRlU2luY2UAABAEAAAYQWdlbmRhAQEEBRBpCwQABE0BIEl0ZW1zIHRvIGJlIGV4ZWN1dGVkLCBpbmRleGVkIGJ5IHRoZSBibG9jayBudW1iZXIgdGhhdCB0aGV5IHNob3VsZCBiZSBleGVjdXRlZCBvbi4cUmV0cmllcwABBAJNA3kLBAAEIQEgUmV0cnkgY29uZmlndXJhdGlvbnMgZm9yIGl0ZW1zIHRvIGJlIGV4ZWN1dGVkLCBpbmRleGVkIGJ5IHRhc2sgYWRkcmVzcy4YTG9va3VwAAEEBQRNAwQAEPggTG9va3VwIGZyb20gYSBuYW1lIHRvIHRoZSBibG9jayBudW1iZXIgYW5kIGluZGV4IG9mIHRoZSB0YXNrLgBZASBGb3IgdjMgLT4gdjQgdGhlIHByZXZpb3VzbHkgdW5ib3VuZGVkIGlkZW50aXRpZXMgYXJlIEJsYWtlMi0yNTYgaGFzaGVkIHRvIGZvcm0gdGhlIHY0MCBpZGVudGl0aWVzLgF9BAExBwg0TWF4aW11bVdlaWdodCgsCwCAbod0AQIAAAEEKQEgVGhlIG1heGltdW0gd2VpZ2h0IHRoYXQgbWF5IGJlIHNjaGVkdWxlZCBwZXIgYmxvY2sgZm9yIGFueSBkaXNwYXRjaGFibGVzLlBNYXhTY2hlZHVsZWRQZXJCbG9jaxAQMgAAABQdASBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc2NoZWR1bGVkIGNhbGxzIGluIHRoZSBxdWV1ZSBmb3IgYSBzaW5nbGUgYmxvY2suABggTk9URTpRASArIERlcGVuZGVudCBwYWxsZXRzJyBiZW5jaG1hcmtzIG1pZ2h0IHJlcXVpcmUgYSBoaWdoZXIgbGltaXQgZm9yIHRoZSBzZXR0aW5nLiBTZXQgYcQgaGlnaGVyIGxpbWl0IHVuZGVyIGBydW50aW1lLWJlbmNobWFya3NgIGZlYXR1cmUuAX0LBQA8UGFyYWNoYWluU3lzdGVtATxQYXJhY2hhaW5TeXN0ZW1gRFVuaW5jbHVkZWRTZWdtZW50AQCBCwQAGEkBIExhdGVzdCBpbmNsdWRlZCBibG9jayBkZXNjZW5kYW50cyB0aGUgcnVudGltZSBhY2NlcHRlZC4gSW4gb3RoZXIgd29yZHMsIHRoZXNlIGFyZWEBIGFuY2VzdG9ycyBvZiB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyBibG9jayB3aGljaCBoYXZlIG5vdCBiZWVuIGluY2x1ZGVkIGluIHRoZSBvYnNlcnZlZEwgcmVsYXktY2hhaW4gc3RhdGUuAHUBIFRoZSBzZWdtZW50IGxlbmd0aCBpcyBsaW1pdGVkIGJ5IHRoZSBjYXBhY2l0eSByZXR1cm5lZCBmcm9tIHRoZSBbYENvbnNlbnN1c0hvb2tgXSBjb25maWd1cmVkPCBpbiB0aGUgcGFsbGV0LmxBZ2dyZWdhdGVkVW5pbmNsdWRlZFNlZ21lbnQAAKULBAAMaQEgU3RvcmFnZSBmaWVsZCB0aGF0IGtlZXBzIHRyYWNrIG9mIGJhbmR3aWR0aCB1c2VkIGJ5IHRoZSB1bmluY2x1ZGVkIHNlZ21lbnQgYWxvbmcgd2l0aCB0aGUtASBsYXRlc3QgSFJNUCB3YXRlcm1hcmsuIFVzZWQgZm9yIGxpbWl0aW5nIHRoZSBhY2NlcHRhbmNlIG9mIG5ldyBibG9ja3Mgd2l0aJAgcmVzcGVjdCB0byByZWxheSBjaGFpbiBjb25zdHJhaW50cy5UUGVuZGluZ1ZhbGlkYXRpb25Db2RlAQA4BAAYWQEgSW4gY2FzZSBvZiBhIHNjaGVkdWxlZCB1cGdyYWRlLCB0aGlzIHN0b3JhZ2UgZmllbGQgY29udGFpbnMgdGhlIHZhbGlkYXRpb24gY29kZSB0byBiZSQgYXBwbGllZC4APQEgQXMgc29vbiBhcyB0aGUgcmVsYXkgY2hhaW4gZ2l2ZXMgdXMgdGhlIGdvLWFoZWFkIHNpZ25hbCwgd2Ugd2lsbCBvdmVyd3JpdGUgdGhlcQEgW2A6Y29kZWBdW3NwX2NvcmU6OnN0b3JhZ2U6OndlbGxfa25vd25fa2V5czo6Q09ERV0gd2hpY2ggd2lsbCByZXN1bHQgdGhlIG5leHQgYmxvY2sgcHJvY2VzcwkBIHdpdGggdGhlIG5ldyB2YWxpZGF0aW9uIGNvZGUuIFRoaXMgY29uY2x1ZGVzIHRoZSB1cGdyYWRlIHByb2Nlc3MuRE5ld1ZhbGlkYXRpb25Db2RlAAA4BAAUXQEgVmFsaWRhdGlvbiBjb2RlIHRoYXQgaXMgc2V0IGJ5IHRoZSBwYXJhY2hhaW4gYW5kIGlzIHRvIGJlIGNvbW11bmljYXRlZCB0byBjb2xsYXRvciBhbmR4IGNvbnNlcXVlbnRseSB0aGUgcmVsYXktY2hhaW4uAGUBIFRoaXMgd2lsbCBiZSBjbGVhcmVkIGluIGBvbl9pbml0aWFsaXplYCBvZiBlYWNoIG5ldyBibG9jayBpZiBubyBvdGhlciBwYWxsZXQgYWxyZWFkeSBzZXQsIHRoZSB2YWx1ZS44VmFsaWRhdGlvbkRhdGEAAIkEBAAM0CBUaGUgW2BQZXJzaXN0ZWRWYWxpZGF0aW9uRGF0YWBdIHNldCBmb3IgdGhpcyBibG9jay4tASBUaGlzIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIHNldCBvbmx5IG9uY2UgcGVyIGJsb2NrIGFuZCBpdCdzIG5ldmVyIHN0b3JlZDQgaW4gdGhlIHRyaWUuUERpZFNldFZhbGlkYXRpb25Db2RlAQAgBAAE4CBXZXJlIHRoZSB2YWxpZGF0aW9uIGRhdGEgc2V0IHRvIG5vdGlmeSB0aGUgcmVsYXkgY2hhaW4/ZExhc3RSZWxheUNoYWluQmxvY2tOdW1iZXIBABAQAAAAAAwdASBUaGUgcmVsYXkgY2hhaW4gYmxvY2sgbnVtYmVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGFzdCBwYXJhY2hhaW4gYmxvY2suAIggVGhpcyBpcyB1cGRhdGVkIGluIGBvbl9maW5hbGl6ZWAuYFVwZ3JhZGVSZXN0cmljdGlvblNpZ25hbAEAqQsEABx1ASBBbiBvcHRpb24gd2hpY2ggaW5kaWNhdGVzIGlmIHRoZSByZWxheS1jaGFpbiByZXN0cmljdHMgc2lnbmFsbGluZyBhIHZhbGlkYXRpb24gY29kZSB1cGdyYWRlLmEBIEluIG90aGVyIHdvcmRzLCBpZiB0aGlzIGlzIGBTb21lYCBhbmQgW2BOZXdWYWxpZGF0aW9uQ29kZWBdIGlzIGBTb21lYCB0aGVuIHRoZSBwcm9kdWNlZGwgY2FuZGlkYXRlIHdpbGwgYmUgaW52YWxpZC4AcQEgVGhpcyBzdG9yYWdlIGl0ZW0gaXMgYSBtaXJyb3Igb2YgdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWUgZm9yIHRoZSBjdXJyZW50IHBhcmFjaGFpbiBmcm9tIHRoZW0BIHJlbGF5LWNoYWluLiBUaGlzIHZhbHVlIGlzIGVwaGVtZXJhbCB3aGljaCBtZWFucyBpdCBkb2Vzbid0IGhpdCB0aGUgc3RvcmFnZS4gVGhpcyB2YWx1ZSBpc2Agc2V0IGFmdGVyIHRoZSBpbmhlcmVudC44VXBncmFkZUdvQWhlYWQBAJ0LBAAU3CBPcHRpb25hbCB1cGdyYWRlIGdvLWFoZWFkIHNpZ25hbCBmcm9tIHRoZSByZWxheS1jaGFpbi4AcQEgVGhpcyBzdG9yYWdlIGl0ZW0gaXMgYSBtaXJyb3Igb2YgdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWUgZm9yIHRoZSBjdXJyZW50IHBhcmFjaGFpbiBmcm9tIHRoZW0BIHJlbGF5LWNoYWluLiBUaGlzIHZhbHVlIGlzIGVwaGVtZXJhbCB3aGljaCBtZWFucyBpdCBkb2Vzbid0IGhpdCB0aGUgc3RvcmFnZS4gVGhpcyB2YWx1ZSBpc2Agc2V0IGFmdGVyIHRoZSBpbmhlcmVudC48UmVsYXlTdGF0ZVByb29mAACRBAQAGMQgVGhlIHN0YXRlIHByb29mIGZvciB0aGUgbGFzdCByZWxheSBwYXJlbnQgYmxvY2suAG0BIFRoaXMgZmllbGQgaXMgbWVhbnQgdG8gYmUgdXBkYXRlZCBlYWNoIGJsb2NrIHdpdGggdGhlIHZhbGlkYXRpb24gZGF0YSBpbmhlcmVudC4gVGhlcmVmb3JlLE0BIGJlZm9yZSBwcm9jZXNzaW5nIG9mIHRoZSBpbmhlcmVudCwgZS5nLiBpbiBgb25faW5pdGlhbGl6ZWAgdGhpcyBkYXRhIG1heSBiZSBzdGFsZS4ArCBUaGlzIGRhdGEgaXMgYWxzbyBhYnNlbnQgZnJvbSB0aGUgZ2VuZXNpcy5YUmVsZXZhbnRNZXNzYWdpbmdTdGF0ZQAAsQsEABxlASBUaGUgc25hcHNob3Qgb2Ygc29tZSBzdGF0ZSByZWxhdGVkIHRvIG1lc3NhZ2luZyByZWxldmFudCB0byB0aGUgY3VycmVudCBwYXJhY2hhaW4gYXMgcGVySCB0aGUgcmVsYXkgcGFyZW50LgBtASBUaGlzIGZpZWxkIGlzIG1lYW50IHRvIGJlIHVwZGF0ZWQgZWFjaCBibG9jayB3aXRoIHRoZSB2YWxpZGF0aW9uIGRhdGEgaW5oZXJlbnQuIFRoZXJlZm9yZSxNASBiZWZvcmUgcHJvY2Vzc2luZyBvZiB0aGUgaW5oZXJlbnQsIGUuZy4gaW4gYG9uX2luaXRpYWxpemVgIHRoaXMgZGF0YSBtYXkgYmUgc3RhbGUuAKwgVGhpcyBkYXRhIGlzIGFsc28gYWJzZW50IGZyb20gdGhlIGdlbmVzaXMuREhvc3RDb25maWd1cmF0aW9uAADFCwQAGCkBIFRoZSBwYXJhY2hhaW4gaG9zdCBjb25maWd1cmF0aW9uIHRoYXQgd2FzIG9idGFpbmVkIGZyb20gdGhlIHJlbGF5IHBhcmVudC4AbQEgVGhpcyBmaWVsZCBpcyBtZWFudCB0byBiZSB1cGRhdGVkIGVhY2ggYmxvY2sgd2l0aCB0aGUgdmFsaWRhdGlvbiBkYXRhIGluaGVyZW50LiBUaGVyZWZvcmUsTQEgYmVmb3JlIHByb2Nlc3Npbmcgb2YgdGhlIGluaGVyZW50LCBlLmcuIGluIGBvbl9pbml0aWFsaXplYCB0aGlzIGRhdGEgbWF5IGJlIHN0YWxlLgCsIFRoaXMgZGF0YSBpcyBhbHNvIGFic2VudCBmcm9tIHRoZSBnZW5lc2lzLjhMYXN0RG1xTXFjSGVhZAEAzQuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ9CBUaGUgbGFzdCBkb3dud2FyZCBtZXNzYWdlIHF1ZXVlIGNoYWluIGhlYWQgd2UgaGF2ZSBvYnNlcnZlZC4AZQEgVGhpcyB2YWx1ZSBpcyBsb2FkZWQgYmVmb3JlIGFuZCBzYXZlZCBhZnRlciBwcm9jZXNzaW5nIGluYm91bmQgZG93bndhcmQgbWVzc2FnZXMgY2FycmllZGAgYnkgdGhlIHN5c3RlbSBpbmhlcmVudC5ATGFzdEhybXBNcWNIZWFkcwEA0QsEABBJASBUaGUgbWVzc2FnZSBxdWV1ZSBjaGFpbiBoZWFkcyB3ZSBoYXZlIG9ic2VydmVkIHBlciBlYWNoIGNoYW5uZWwgaW5jb21pbmcgY2hhbm5lbC4AZQEgVGhpcyB2YWx1ZSBpcyBsb2FkZWQgYmVmb3JlIGFuZCBzYXZlZCBhZnRlciBwcm9jZXNzaW5nIGluYm91bmQgZG93bndhcmQgbWVzc2FnZXMgY2FycmllZGAgYnkgdGhlIHN5c3RlbSBpbmhlcmVudC5kUHJvY2Vzc2VkRG93bndhcmRNZXNzYWdlcwEAEBAAAAAADMggTnVtYmVyIG9mIGRvd253YXJkIG1lc3NhZ2VzIHByb2Nlc3NlZCBpbiBhIGJsb2NrLgDsIFRoaXMgd2lsbCBiZSBjbGVhcmVkIGluIGBvbl9pbml0aWFsaXplYCBvZiBlYWNoIG5ldyBibG9jay40SHJtcFdhdGVybWFyawEAEBAAAAAADKAgSFJNUCB3YXRlcm1hcmsgdGhhdCB3YXMgc2V0IGluIGEgYmxvY2suAOwgVGhpcyB3aWxsIGJlIGNsZWFyZWQgaW4gYG9uX2luaXRpYWxpemVgIG9mIGVhY2ggbmV3IGJsb2NrLlBIcm1wT3V0Ym91bmRNZXNzYWdlcwEA3QsEAAykIEhSTVAgbWVzc2FnZXMgdGhhdCB3ZXJlIHNlbnQgaW4gYSBibG9jay4A7CBUaGlzIHdpbGwgYmUgY2xlYXJlZCBpbiBgb25faW5pdGlhbGl6ZWAgb2YgZWFjaCBuZXcgYmxvY2suOFVwd2FyZE1lc3NhZ2VzAQAhAQQADKwgVXB3YXJkIG1lc3NhZ2VzIHRoYXQgd2VyZSBzZW50IGluIGEgYmxvY2suAOwgVGhpcyB3aWxsIGJlIGNsZWFyZWQgaW4gYG9uX2luaXRpYWxpemVgIG9mIGVhY2ggbmV3IGJsb2NrLlRQZW5kaW5nVXB3YXJkTWVzc2FnZXMBACEBBAAEMQEgVXB3YXJkIG1lc3NhZ2VzIHRoYXQgYXJlIHN0aWxsIHBlbmRpbmcgYW5kIG5vdCB5ZXQgc2VuZCB0byB0aGUgcmVsYXkgY2hhaW4uXFVwd2FyZERlbGl2ZXJ5RmVlRmFjdG9yAQA9AUAAAGSns7bgDQAAAAAAAAAABOQgVGhlIGZhY3RvciB0byBtdWx0aXBseSB0aGUgYmFzZSBkZWxpdmVyeSBmZWUgYnkgZm9yIFVNUC6EQW5ub3VuY2VkSHJtcE1lc3NhZ2VzUGVyQ2FuZGlkYXRlAQAQEAAAAAAIZQEgVGhlIG51bWJlciBvZiBIUk1QIG1lc3NhZ2VzIHdlIG9ic2VydmVkIGluIGBvbl9pbml0aWFsaXplYCBhbmQgdGh1cyB1c2VkIHRoYXQgbnVtYmVyIGZvcvAgYW5ub3VuY2luZyB0aGUgd2VpZ2h0IG9mIGBvbl9pbml0aWFsaXplYCBhbmQgYG9uX2ZpbmFsaXplYC5oUmVzZXJ2ZWRYY21wV2VpZ2h0T3ZlcnJpZGUAACgEAAhdASBUaGUgd2VpZ2h0IHdlIHJlc2VydmUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sgZm9yIHByb2Nlc3NpbmcgWENNUCBtZXNzYWdlcy4gVGhpc7ggb3ZlcnJpZGVzIHRoZSBhbW91bnQgc2V0IGluIHRoZSBDb25maWcgdHJhaXQuZFJlc2VydmVkRG1wV2VpZ2h0T3ZlcnJpZGUAACgEAAhZASBUaGUgd2VpZ2h0IHdlIHJlc2VydmUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sgZm9yIHByb2Nlc3NpbmcgRE1QIG1lc3NhZ2VzLiBUaGlzuCBvdmVycmlkZXMgdGhlIGFtb3VudCBzZXQgaW4gdGhlIENvbmZpZyB0cmFpdC5gQ3VzdG9tVmFsaWRhdGlvbkhlYWREYXRhAAA4BAAMKQEgQSBjdXN0b20gaGVhZCBkYXRhIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkIGFzIHJlc3VsdCBvZiBgdmFsaWRhdGVfYmxvY2tgLgARASBTZWUgYFBhbGxldDo6c2V0X2N1c3RvbV92YWxpZGF0aW9uX2hlYWRfZGF0YWAgZm9yIG1vcmUgaW5mb3JtYXRpb24uAYEEATkHBChTZWxmUGFyYUlkvQEQ8gcAAAS4IFJldHVybnMgdGhlIHBhcmFjaGFpbiBJRCB3ZSBhcmUgcnVubmluZyB3aXRoLgHlC2cANFBhcmFjaGFpbkluZm8BNFBhcmFjaGFpbkluZm8ELFBhcmFjaGFpbklkAQC9ARBkAAAAAAG1BAAAAGkALFBvbGthZG90WGNtASxQb2xrYWRvdFhjbTgwUXVlcnlDb3VudGVyAQAwIAAAAAAAAAAABIggVGhlIGxhdGVzdCBhdmFpbGFibGUgcXVlcnkgaW5kZXguHFF1ZXJpZXMAAQQCMOkLBAAEVCBUaGUgb25nb2luZyBxdWVyaWVzLihBc3NldFRyYXBzAQEEBjQQEAAAAAAQaCBUaGUgZXhpc3RpbmcgYXNzZXQgdHJhcHMuAGEBIEtleSBpcyB0aGUgYmxha2UyIDI1NiBoYXNoIG9mIChvcmlnaW4sIHZlcnNpb25lZCBgQXNzZXRzYCkgcGFpci4gVmFsdWUgaXMgdGhlIG51bWJlciBvZh0BIHRpbWVzIHRoaXMgcGFpciBoYXMgYmVlbiB0cmFwcGVkICh1c3VhbGx5IGp1c3QgMSBpZiBpdCBleGlzdHMgYXQgYWxsKS44U2FmZVhjbVZlcnNpb24AABAEAAhhASBEZWZhdWx0IHZlcnNpb24gdG8gZW5jb2RlIFhDTSB3aGVuIGxhdGVzdCB2ZXJzaW9uIG9mIGRlc3RpbmF0aW9uIGlzIHVua25vd24uIElmIGBOb25lYCw9ASB0aGVuIHRoZSBkZXN0aW5hdGlvbnMgd2hvc2UgWENNIHZlcnNpb24gaXMgdW5rbm93biBhcmUgY29uc2lkZXJlZCB1bnJlYWNoYWJsZS5AU3VwcG9ydGVkVmVyc2lvbgABCAUC/QsQBAAE8CBUaGUgTGF0ZXN0IHZlcnNpb25zIHRoYXQgd2Uga25vdyB2YXJpb3VzIGxvY2F0aW9ucyBzdXBwb3J0LkBWZXJzaW9uTm90aWZpZXJzAAEIBQL9CzAEAAQFASBBbGwgbG9jYXRpb25zIHRoYXQgd2UgaGF2ZSByZXF1ZXN0ZWQgdmVyc2lvbiBub3RpZmljYXRpb25zIGZyb20uUFZlcnNpb25Ob3RpZnlUYXJnZXRzAAEIBQL9CwEMBAAIcQEgVGhlIHRhcmdldCBsb2NhdGlvbnMgdGhhdCBhcmUgc3Vic2NyaWJlZCB0byBvdXIgdmVyc2lvbiBjaGFuZ2VzLCBhcyB3ZWxsIGFzIHRoZSBtb3N0IHJlY2VudJQgb2Ygb3VyIHZlcnNpb25zIHdlIGluZm9ybWVkIHRoZW0gb2YuVFZlcnNpb25EaXNjb3ZlcnlRdWV1ZQEABQwEAAxlASBEZXN0aW5hdGlvbnMgd2hvc2UgbGF0ZXN0IFhDTSB2ZXJzaW9uIHdlIHdvdWxkIGxpa2UgdG8ga25vdy4gRHVwbGljYXRlcyBub3QgYWxsb3dlZCwgYW5kcQEgdGhlIGB1MzJgIGNvdW50ZXIgaXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGF0IGEgc2VuZCB0byB0aGUgZGVzdGluYXRpb24gaGFzIGJlZW4gYXR0ZW1wdGVkLIwgd2hpY2ggaXMgdXNlZCBhcyBhIHByaW9yaXRpemF0aW9uLkBDdXJyZW50TWlncmF0aW9uAAARDAQABJwgVGhlIGN1cnJlbnQgbWlncmF0aW9uJ3Mgc3RhZ2UsIGlmIGFueS5UUmVtb3RlTG9ja2VkRnVuZ2libGVzAAEMBQICGQwdDAQABPAgRnVuZ2libGUgYXNzZXRzIHdoaWNoIHdlIGtub3cgYXJlIGxvY2tlZCBvbiBhIHJlbW90ZSBjaGFpbi48TG9ja2VkRnVuZ2libGVzAAEEAgAtDAQABOAgRnVuZ2libGUgYXNzZXRzIHdoaWNoIHdlIGtub3cgYXJlIGxvY2tlZCBvbiB0aGlzIGNoYWluLlRYY21FeGVjdXRpb25TdXNwZW5kZWQBACAEAAS0IEdsb2JhbCBzdXNwZW5zaW9uIHN0YXRlIG9mIHRoZSBYQ00gZXhlY3V0b3IuPFNob3VsZFJlY29yZFhjbQEAIAQAHFkBIFdoZXRoZXIgb3Igbm90IGluY29taW5nIFhDTXMgKGJvdGggZXhlY3V0ZWQgbG9jYWxseSBhbmQgcmVjZWl2ZWQpIHNob3VsZCBiZSByZWNvcmRlZC7EIE9ubHkgb25lIFhDTSBwcm9ncmFtIHdpbGwgYmUgcmVjb3JkZWQgYXQgYSB0aW1lLikBIFRoaXMgaXMgbWVhbnQgdG8gYmUgdXNlZCBpbiBydW50aW1lIEFQSXMsIGFuZCBpdCdzIGFkdmlzZWQgaXQgc3RheXMgZmFsc2UNASBmb3IgYWxsIG90aGVyIHVzZSBjYXNlcywgc28gYXMgdG8gbm90IGRlZ3JhZGUgcmVndWxhciBwZXJmb3JtYW5jZS4AWQEgT25seSByZWxldmFudCBpZiB0aGlzIHBhbGxldCBpcyBiZWluZyB1c2VkIGFzIHRoZSBbYHhjbV9leGVjdXRvcjo6dHJhaXRzOjpSZWNvcmRYY21gXcggaW1wbGVtZW50YXRpb24gaW4gdGhlIFhDTSBleGVjdXRvciBjb25maWd1cmF0aW9uLixSZWNvcmRlZFhjbQAAlQUEABhJASBJZiBbYFNob3VsZFJlY29yZFhjbWBdIGlzIHNldCB0byB0cnVlLCB0aGVuIHRoZSBsYXN0IFhDTSBwcm9ncmFtIGV4ZWN1dGVkIGxvY2FsbHlUIHdpbGwgYmUgc3RvcmVkIGhlcmUuKQEgUnVudGltZSBBUElzIGNhbiBmZXRjaCB0aGUgWENNIHRoYXQgd2FzIGV4ZWN1dGVkIGJ5IGFjY2Vzc2luZyB0aGlzIHZhbHVlLgBZASBPbmx5IHJlbGV2YW50IGlmIHRoaXMgcGFsbGV0IGlzIGJlaW5nIHVzZWQgYXMgdGhlIFtgeGNtX2V4ZWN1dG9yOjp0cmFpdHM6OlJlY29yZFhjbWBdyCBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgWENNIGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24uAbkEAT0HAAE5DGsAKEN1bXVsdXNYY20AARkGAUUHAABtACRYY21wUXVldWUBJFhjbXBRdWV1ZRxQSW5ib3VuZFhjbXBTdXNwZW5kZWQBAD0MBAAgDQEgVGhlIHN1c3BlbmRlZCBpbmJvdW5kIFhDTVAgY2hhbm5lbHMuIEFsbCBvdGhlcnMgYXJlIG5vdCBzdXNwZW5kZWQuAHEBIFRoaXMgaXMgYSBgU3RvcmFnZVZhbHVlYCBpbnN0ZWFkIG9mIGEgYFN0b3JhZ2VNYXBgIHNpbmNlIHdlIGV4cGVjdCBtdWx0aXBsZSByZWFkcyBwZXIgYmxvY2tpASB0byBkaWZmZXJlbnQga2V5cyB3aXRoIGEgb25lIGJ5dGUgcGF5bG9hZC4gVGhlIGFjY2VzcyB0byBgQm91bmRlZEJUcmVlU2V0YCB3aWxsIGJlIGNhY2hlZBUBIHdpdGhpbiB0aGUgYmxvY2sgYW5kIHRoZXJlZm9yZSBvbmx5IGluY2x1ZGVkIG9uY2UgaW4gdGhlIHByb29mIHNpemUuAGUBIE5PVEU6IFRoZSBQb1YgYmVuY2htYXJraW5nIGNhbm5vdCBrbm93IHRoaXMgYW5kIHdpbGwgb3Zlci1lc3RpbWF0ZSwgYnV0IHRoZSBhY3R1YWwgcHJvb2ZEIHdpbGwgYmUgc21hbGxlci5IT3V0Ym91bmRYY21wU3RhdHVzAQBJDAQAGF0BIFRoZSBub24tZW1wdHkgWENNUCBjaGFubmVscyBpbiBvcmRlciBvZiBiZWNvbWluZyBub24tZW1wdHksIGFuZCB0aGUgaW5kZXggb2YgdGhlIGZpcnN0UQEgYW5kIGxhc3Qgb3V0Ym91bmQgbWVzc2FnZS4gSWYgdGhlIHR3byBpbmRpY2VzIGFyZSBlcXVhbCwgdGhlbiBpdCBpbmRpY2F0ZXMgYW4gZW1wdHlZASBxdWV1ZSBhbmQgdGhlcmUgbXVzdCBiZSBhIG5vbi1gT2tgIGBPdXRib3VuZFN0YXR1c2AuIFdlIGFzc3VtZSBxdWV1ZXMgZ3JvdyBubyBncmVhdGVyWQEgdGhhbiA2NTUzNSBpdGVtcy4gUXVldWUgaW5kaWNlcyBmb3Igbm9ybWFsIG1lc3NhZ2VzIGJlZ2luIGF0IG9uZTsgemVybyBpcyByZXNlcnZlZCBpbhEBIGNhc2Ugb2YgdGhlIG5lZWQgdG8gc2VuZCBhIGhpZ2gtcHJpb3JpdHkgc2lnbmFsIG1lc3NhZ2UgdGhpcyBibG9jay4JASBUaGUgYm9vbCBpcyB0cnVlIGlmIHRoZXJlIGlzIGEgc2lnbmFsIG1lc3NhZ2Ugd2FpdGluZyB0byBiZSBzZW50LlBPdXRib3VuZFhjbXBNZXNzYWdlcwEBCAIFWQxdDAQABLwgVGhlIG1lc3NhZ2VzIG91dGJvdW5kIGluIGEgZ2l2ZW4gWENNUCBjaGFubmVsLjhTaWduYWxNZXNzYWdlcwEBBAK9AV0MBAAEoCBBbnkgc2lnbmFsIG1lc3NhZ2VzIHdhaXRpbmcgdG8gYmUgc2VudC4sUXVldWVDb25maWcBAGEMMCAAAAAwAAAACAAAAAQVASBUaGUgY29uZmlndXJhdGlvbiB3aGljaCBjb250cm9scyB0aGUgZHluYW1pY3Mgb2YgdGhlIG91dGJvdW5kIHF1ZXVlLjhRdWV1ZVN1c3BlbmRlZAEAIAQABEEBIFdoZXRoZXIgb3Igbm90IHRoZSBYQ01QIHF1ZXVlIGlzIHN1c3BlbmRlZCBmcm9tIGV4ZWN1dGluZyBpbmNvbWluZyBYQ01zIG9yIG5vdC5ERGVsaXZlcnlGZWVGYWN0b3IBAQQFvQE9AUAAAGSns7bgDQAAAAAAAAAABMQgVGhlIGZhY3RvciB0byBtdWx0aXBseSB0aGUgYmFzZSBkZWxpdmVyeSBmZWUgYnkuAAFJBwxMTWF4SW5ib3VuZFN1c3BlbmRlZBAQ6AMAABRJASBUaGUgbWF4aW11bSBudW1iZXIgb2YgaW5ib3VuZCBYQ01QIGNoYW5uZWxzIHRoYXQgY2FuIGJlIHN1c3BlbmRlZCBzaW11bHRhbmVvdXNseS4AXQEgQW55IGZ1cnRoZXIgY2hhbm5lbCBzdXNwZW5zaW9ucyB3aWxsIGZhaWwgYW5kIG1lc3NhZ2VzIG1heSBnZXQgZHJvcHBlZCB3aXRob3V0IGZ1cnRoZXJFASBub3RpY2UuIENob29zaW5nIGEgaGlnaCB2YWx1ZSAoMTAwMCkgaXMgb2theTsgdGhlIHRyYWRlLW9mZiB0aGF0IGlzIGRlc2NyaWJlZCBpbtggW2BJbmJvdW5kWGNtcFN1c3BlbmRlZGBdIHN0aWxsIGFwcGxpZXMgYXQgdGhhdCBzY2FsZS5kTWF4QWN0aXZlT3V0Ym91bmRDaGFubmVscxAQgAAAACBlASBNYXhpbWFsIG51bWJlciBvZiBvdXRib3VuZCBYQ01QIGNoYW5uZWxzIHRoYXQgY2FuIGhhdmUgbWVzc2FnZXMgcXVldWVkIGF0IHRoZSBzYW1lIHRpbWUuAFUBIElmIHRoaXMgaXMgcmVhY2hlZCwgdGhlbiBubyBmdXJ0aGVyIG1lc3NhZ2VzIGNhbiBiZSBzZW50IHRvIGNoYW5uZWxzIHRoYXQgZG8gbm90IHlldF0BIGhhdmUgYSBtZXNzYWdlIHF1ZXVlZC4gVGhpcyBzaG91bGQgYmUgc2V0IHRvIHRoZSBleHBlY3RlZCBtYXhpbXVtIG9mIG91dGJvdW5kIGNoYW5uZWxzYQEgd2hpY2ggaXMgZGV0ZXJtaW5lZCBieSBbYFNlbGY6OkNoYW5uZWxJbmZvYF0uIEl0IGlzIGltcG9ydGFudCB0byBzZXQgdGhpcyBsYXJnZSBlbm91Z2gsXQEgc2luY2Ugb3RoZXJ3aXNlIHRoZSBjb25nZXN0aW9uIGNvbnRyb2wgcHJvdG9jb2wgd2lsbCBub3Qgd29yayBhcyBpbnRlbmRlZCBhbmQgbWVzc2FnZXNRASBtYXkgYmUgZHJvcHBlZC4gVGhpcyB2YWx1ZSBpbmNyZWFzZXMgdGhlIFBvViBhbmQgc2hvdWxkIHRoZXJlZm9yZSBub3QgYmUgcGlja2VkIHRvb00BIGhpZ2guIEdvdmVybmFuY2UgbmVlZHMgdG8gcGF5IGF0dGVudGlvbiB0byBub3Qgb3BlbiBtb3JlIGNoYW5uZWxzIHRoYW4gdGhpcyB2YWx1ZS4sTWF4UGFnZVNpemUQEAAAAgAUuCBUaGUgbWF4aW1hbCBwYWdlIHNpemUgZm9yIEhSTVAgbWVzc2FnZSBwYWdlcy4AYQEgQSBsb3dlciBsaW1pdCBjYW4gYmUgc2V0IGR5bmFtaWNhbGx5LCBidXQgdGhpcyBpcyB0aGUgaGFyZC1saW1pdCBmb3IgdGhlIFBvViB3b3JzdCBjYXNlVQEgYmVuY2htYXJraW5nLiBUaGUgbGltaXQgZm9yIHRoZSBzaXplIG9mIGEgbWVzc2FnZSBpcyBzbGlnaHRseSBiZWxvdyB0aGlzLCBzaW5jZSBzb21luCBvdmVyaGVhZCBpcyBpbmN1cnJlZCBmb3IgZW5jb2RpbmcgdGhlIGZvcm1hdC4BZQxvADBNZXNzYWdlUXVldWUBME1lc3NhZ2VRdWV1ZQwwQm9va1N0YXRlRm9yAQEEBSEGaQx0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEzCBUaGUgaW5kZXggb2YgdGhlIGZpcnN0IGFuZCBsYXN0IChub24tZW1wdHkpIHBhZ2VzLixTZXJ2aWNlSGVhZAAAIQYEAAS8IFRoZSBvcmlnaW4gYXQgd2hpY2ggd2Ugc2hvdWxkIGJlZ2luIHNlcnZpY2luZy4UUGFnZXMAAQgFBXUMeQwEAASIIFRoZSBtYXAgb2YgcGFnZSBpbmRpY2VzIHRvIHBhZ2VzLgEdBgFNBxAgSGVhcFNpemUQEAAMAgAUPQEgVGhlIHNpemUgb2YgdGhlIHBhZ2U7IHRoaXMgaW1wbGllcyB0aGUgbWF4aW11bSBtZXNzYWdlIHNpemUgd2hpY2ggY2FuIGJlIHNlbnQuAFkBIEEgZ29vZCB2YWx1ZSBkZXBlbmRzIG9uIHRoZSBleHBlY3RlZCBtZXNzYWdlIHNpemVzLCB0aGVpciB3ZWlnaHRzLCB0aGUgd2VpZ2h0IHRoYXQgaXNdASBhdmFpbGFibGUgZm9yIHByb2Nlc3NpbmcgdGhlbSBhbmQgdGhlIG1heGltYWwgbmVlZGVkIG1lc3NhZ2Ugc2l6ZS4gVGhlIG1heGltYWwgbWVzc2FnZREBIHNpemUgaXMgc2xpZ2h0bHkgbG93ZXIgdGhhbiB0aGlzIGFzIGRlZmluZWQgYnkgW2BNYXhNZXNzYWdlTGVuT2ZgXS4gTWF4U3RhbGUQEAgAAAAMXQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIHN0YWxlIHBhZ2VzIChpLmUuIG9mIG92ZXJ3ZWlnaHQgbWVzc2FnZXMpIGFsbG93ZWQgYmVmb3JlIGN1bGxpbmdRASBjYW4gaGFwcGVuLiBPbmNlIHRoZXJlIGFyZSBtb3JlIHN0YWxlIHBhZ2VzIHRoYW4gdGhpcywgdGhlbiBoaXN0b3JpY2FsIHBhZ2VzIG1heSBiZfwgZHJvcHBlZCwgZXZlbiBpZiB0aGV5IGNvbnRhaW4gdW5wcm9jZXNzZWQgb3ZlcndlaWdodCBtZXNzYWdlcy40U2VydmljZVdlaWdodGUGLAEHAKDbIV0CAEAAGEEBIFRoZSBhbW91bnQgb2Ygd2VpZ2h0IChpZiBhbnkpIHdoaWNoIHNob3VsZCBiZSBwcm92aWRlZCB0byB0aGUgbWVzc2FnZSBxdWV1ZSBmb3KoIHNlcnZpY2luZyBlbnF1ZXVlZCBpdGVtcyBgb25faW5pdGlhbGl6ZWAuAPwgVGhpcyBtYXkgYmUgbGVnaXRpbWF0ZWx5IGBOb25lYCBpbiB0aGUgY2FzZSB0aGF0IHlvdSB3aWxsIGNhbGxdASBgU2VydmljZVF1ZXVlczo6c2VydmljZV9xdWV1ZXNgIG1hbnVhbGx5IG9yIHNldCBbYFNlbGY6OklkbGVNYXhTZXJ2aWNlV2VpZ2h0YF0gdG8gaGF2ZVQgaXQgcnVuIGluIGBvbl9pZGxlYC5QSWRsZU1heFNlcnZpY2VXZWlnaHRlBgQAFF0BIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB3ZWlnaHQgKGlmIGFueSkgdG8gYmUgdXNlZCBmcm9tIHJlbWFpbmluZyB3ZWlnaHQgYG9uX2lkbGVgIHdoaWNoQQEgc2hvdWxkIGJlIHByb3ZpZGVkIHRvIHRoZSBtZXNzYWdlIHF1ZXVlIGZvciBzZXJ2aWNpbmcgZW5xdWV1ZWQgaXRlbXMgYG9uX2lkbGVgLj0BIFVzZWZ1bCBmb3IgcGFyYWNoYWlucyB0byBwcm9jZXNzIG1lc3NhZ2VzIGF0IHRoZSBzYW1lIGJsb2NrIHRoZXkgYXJlIHJlY2VpdmVkLgApASBJZiBgTm9uZWAsIGl0IHdpbGwgbm90IGNhbGwgYFNlcnZpY2VRdWV1ZXM6OnNlcnZpY2VfcXVldWVzYCBpbiBgb25faWRsZWAuAYEMcgAcT3JtbFhjbQABJQYBVQcAAYUMhwAcWFRva2VucwABKQYBWQcMMFNlbGZMb2NhdGlvbn0BFAEBAMkfBFQgU2VsZiBjaGFpbiBsb2NhdGlvbi40QmFzZVhjbVdlaWdodCgUAoTXFwAQRCBCYXNlIFhDTSB3ZWlnaHQuAPggVGhlIGFjdHVhbGx5IHdlaWdodCBmb3IgYW4gWENNIG1lc3NhZ2UgaXMgYFQ6OkJhc2VYY21XZWlnaHQgK2wgVDo6V2VpZ2hlcjo6d2VpZ2h0KCZtc2cpYC40UmF0ZUxpbWl0ZXJJZJAABGwgVGhlIGlkIG9mIHRoZSBSYXRlTGltaXRlci4BiQyJADRVbmtub3duVG9rZW5zATRVbmtub3duVG9rZW5zCGBDb25jcmV0ZUZ1bmdpYmxlQmFsYW5jZXMBAQgCAo0MGEAAAAAAAAAAAAAAAAAAAAAAEAUBIENvbmNyZXRlIGZ1bmdpYmxlIGJhbGFuY2VzIHVuZGVyIGEgZ2l2ZW4gbG9jYXRpb24gYW5kIGEgY29uY3JldGU0IGZ1bmdpYmxlIGlkLgCIIGRvdWJsZV9tYXA6IHdobywgYXNzZXRfaWQgPT4gdTEyOGBBYnN0cmFjdEZ1bmdpYmxlQmFsYW5jZXMBAQgCApEMGEAAAAAAAAAAAAAAAAAAAAAAEAUBIEFic3RyYWN0IGZ1bmdpYmxlIGJhbGFuY2VzIHVuZGVyIGEgZ2l2ZW4gbG9jYXRpb24gYW5kIGEgYWJzdHJhY3Q0IGZ1bmdpYmxlIGlkLgCIIGRvdWJsZV9tYXA6IHdobywgYXNzZXRfaWQgPT4gdTEyOAABXQcAAZUMiwAoQXV0aG9yc2hpcAEoQXV0aG9yc2hpcAQYQXV0aG9yAAAABAAEZCBBdXRob3Igb2YgY3VycmVudCBibG9jay4AAAAAoQBEQ29sbGF0b3JTZWxlY3Rpb24BRENvbGxhdG9yU2VsZWN0aW9uFDRJbnZ1bG5lcmFibGVzAQDNCQQABBEBIFRoZSBpbnZ1bG5lcmFibGUsIHBlcm1pc3Npb25lZCBjb2xsYXRvcnMuIFRoaXMgbGlzdCBtdXN0IGJlIHNvcnRlZC40Q2FuZGlkYXRlTGlzdAEAmQwEABRpASBUaGUgKGNvbW11bml0eSwgbGltaXRlZCkgY29sbGF0aW9uIGNhbmRpZGF0ZXMuIGBDYW5kaWRhdGVzYCBhbmQgYEludnVsbmVyYWJsZXNgIHNob3VsZCBiZVAgbXV0dWFsbHkgZXhjbHVzaXZlLgB1ASBUaGlzIGxpc3QgaXMgc29ydGVkIGluIGFzY2VuZGluZyBvcmRlciBieSBkZXBvc2l0IGFuZCB3aGVuIHRoZSBkZXBvc2l0cyBhcmUgZXF1YWwsIHRoZSBsZWFzdKAgcmVjZW50bHkgdXBkYXRlZCBpcyBjb25zaWRlcmVkIGdyZWF0ZXIuRExhc3RBdXRob3JlZEJsb2NrAQEEBQAQEAAAAAAEhCBMYXN0IGJsb2NrIGF1dGhvcmVkIGJ5IGNvbGxhdG9yLkREZXNpcmVkQ2FuZGlkYXRlcwEAEBAAAAAADHggRGVzaXJlZCBudW1iZXIgb2YgY2FuZGlkYXRlcy4AdQEgVGhpcyBzaG91bGQgaWRlYWxseSBhbHdheXMgYmUgbGVzcyB0aGFuIFtgQ29uZmlnOjpNYXhDYW5kaWRhdGVzYF0gZm9yIHdlaWdodHMgdG8gYmUgY29ycmVjdC40Q2FuZGlkYWN5Qm9uZAEAGEAAAAAAAAAAAAAAAAAAAAAADLggRml4ZWQgYW1vdW50IHRvIGRlcG9zaXQgdG8gYmVjb21lIGEgY29sbGF0b3IuAEEBIFdoZW4gYSBjb2xsYXRvciBjYWxscyBgbGVhdmVfaW50ZW50YCB0aGV5IGltbWVkaWF0ZWx5IHJlY2VpdmUgdGhlIGRlcG9zaXQgYmFjay4BNQYBYQcAAaUMowAcU2Vzc2lvbgEcU2Vzc2lvbhwoVmFsaWRhdG9ycwEAMQEEAAR8IFRoZSBjdXJyZW50IHNldCBvZiB2YWxpZGF0b3JzLjBDdXJyZW50SW5kZXgBABAQAAAAAAR4IEN1cnJlbnQgaW5kZXggb2YgdGhlIHNlc3Npb24uNFF1ZXVlZENoYW5nZWQBACAEAAg5ASBUcnVlIGlmIHRoZSB1bmRlcmx5aW5nIGVjb25vbWljIGlkZW50aXRpZXMgb3Igd2VpZ2h0aW5nIGJlaGluZCB0aGUgdmFsaWRhdG9yc6QgaGFzIGNoYW5nZWQgaW4gdGhlIHF1ZXVlZCB2YWxpZGF0b3Igc2V0LihRdWV1ZWRLZXlzAQCpDAQACD0BIFRoZSBxdWV1ZWQga2V5cyBmb3IgdGhlIG5leHQgc2Vzc2lvbi4gV2hlbiB0aGUgbmV4dCBzZXNzaW9uIGJlZ2lucywgdGhlc2Uga2V5c+Agd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSB0aGUgdmFsaWRhdG9yJ3Mgc2Vzc2lvbiBrZXlzLkhEaXNhYmxlZFZhbGlkYXRvcnMBAFkDBAAUgCBJbmRpY2VzIG9mIGRpc2FibGVkIHZhbGlkYXRvcnMuAD0BIFRoZSB2ZWMgaXMgYWx3YXlzIGtlcHQgc29ydGVkIHNvIHRoYXQgd2UgY2FuIGZpbmQgd2hldGhlciBhIGdpdmVuIHZhbGlkYXRvciBpcz0BIGRpc2FibGVkIHVzaW5nIGJpbmFyeSBzZWFyY2guIEl0IGdldHMgY2xlYXJlZCB3aGVuIGBvbl9zZXNzaW9uX2VuZGluZ2AgcmV0dXJuc2QgYSBuZXcgc2V0IG9mIGlkZW50aXRpZXMuIE5leHRLZXlzAAEEBQA9BgQABJwgVGhlIG5leHQgc2Vzc2lvbiBrZXlzIGZvciBhIHZhbGlkYXRvci4gS2V5T3duZXIAAQQFsQwABAAECQEgVGhlIG93bmVyIG9mIGEga2V5LiBUaGUga2V5IGlzIHRoZSBgS2V5VHlwZUlkYCArIHRoZSBlbmNvZGVkIGtleS4BOQYBZQcAAbkMpQAQQXVyYQEQQXVyYQgsQXV0aG9yaXRpZXMBAL0MBAAEbCBUaGUgY3VycmVudCBhdXRob3JpdHkgc2V0LixDdXJyZW50U2xvdAEAxQwgAAAAAAAAAAAMgCBUaGUgY3VycmVudCBzbG90IG9mIHRoaXMgYmxvY2suAJQgVGhpcyB3aWxsIGJlIHNldCBpbiBgb25faW5pdGlhbGl6ZWAuAAAEMFNsb3REdXJhdGlvbjAgcBcAAAAAAAAQDQEgVGhlIHNsb3QgZHVyYXRpb24gQXVyYSBzaG91bGQgcnVuIHdpdGgsIGV4cHJlc3NlZCBpbiBtaWxsaXNlY29uZHMuPQEgVGhlIGVmZmVjdGl2ZSB2YWx1ZSBvZiB0aGlzIHR5cGUgc2hvdWxkIG5vdCBjaGFuZ2Ugd2hpbGUgdGhlIGNoYWluIGlzIHJ1bm5pbmcuADUBIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBlaXRoZXIgdXNlIFtgTWluaW11bVBlcmlvZFRpbWVzVHdvYF0gb3IgYSBjb25zdC4ApwAcQXVyYUV4dAEcQXVyYUV4dAgsQXV0aG9yaXRpZXMBAL0MBAAUlCBTZXJ2ZXMgYXMgY2FjaGUgZm9yIHRoZSBhdXRob3JpdGllcy4AcQEgVGhlIGF1dGhvcml0aWVzIGluIEF1UmEgYXJlIG92ZXJ3cml0dGVuIGluIGBvbl9pbml0aWFsaXplYCB3aGVuIHdlIHN3aXRjaCB0byBhIG5ldyBzZXNzaW9uLF0BIGJ1dCB3ZSByZXF1aXJlIHRoZSBvbGQgYXV0aG9yaXRpZXMgdG8gdmVyaWZ5IHRoZSBzZWFsIHdoZW4gdmFsaWRhdGluZyBhIFBvVi4gVGhpcyB3aWxsDQEgYWx3YXlzIGJlIHVwZGF0ZWQgdG8gdGhlIGxhdGVzdCBBdVJhIGF1dGhvcml0aWVzIGluIGBvbl9maW5hbGl6ZWAuIFNsb3RJbmZvAADJDAQADNggQ3VycmVudCBzbG90IHBhaXJlZCB3aXRoIGEgbnVtYmVyIG9mIGF1dGhvcmVkIGJsb2Nrcy4AmCBVcGRhdGVkIG9uIGVhY2ggYmxvY2sgaW5pdGlhbGl6YXRpb24uAAAAAKkAJEVtYU9yYWNsZQEkRW1hT3JhY2xlDCxBY2N1bXVsYXRvcgEAzQwEAARxASBBY2N1bXVsYXRvciBmb3Igb3JhY2xlIGRhdGEgaW4gY3VycmVudCBibG9jayB0aGF0IHdpbGwgYmUgcmVjb3JkZWQgYXQgdGhlIGVuZCBvZiB0aGUgYmxvY2suHE9yYWNsZXMAAQwFBQXxDPUMBAAMdQEgT3JhY2xlIHN0b3JhZ2Uga2V5ZWQgYnkgZGF0YSBzb3VyY2UsIGludm9sdmVkIGFzc2V0IGlkcyBhbmQgdGhlIHBlcmlvZCBsZW5ndGggb2YgdGhlIG9yYWNsZS4AZQEgU3RvcmVzIHRoZSBkYXRhIGVudHJ5IGFzIHdlbGwgYXMgdGhlIGJsb2NrIG51bWJlciB3aGVuIHRoZSBvcmFjbGUgd2FzIGZpcnN0IGluaXRpYWxpemVkLkRXaGl0ZWxpc3RlZEFzc2V0cwEA+QwEAATcIEFzc2V0cyB0aGF0IGFyZSB3aGl0ZWxpc3RlZCBhbmQgdHJhY2tlZCBieSB0aGUgcGFsbGV0LgFFBgFpBwhkTWF4QWxsb3dlZFByaWNlRGlmZmVyZW5jZSEDEKCGAQAEGQEgTWF4aW11bSBhbGxvd2VkIHBlcmNlbnRhZ2UgZGlmZmVyZW5jZSBmb3IgYmlmcm9zdCBvcmFjbGUgcHJpY2UgdXBkYXRlQE1heFVuaXF1ZUVudHJpZXMQECgAAAAE/CBNYXhpbXVtIG51bWJlciBvZiB1bmlxdWUgb3JhY2xlIGVudHJpZXMgZXhwZWN0ZWQgaW4gb25lIGJsb2NrLgEFDcoAJEJyb2FkY2FzdAEkQnJvYWRjYXN0DDRJbmNyZW1lbnRhbElkAQAQEAAAAAAEeCBOZXh0IGF2YWlsYWJsZSBpbmNyZW1lbnRhbCBJREBFeGVjdXRpb25Db250ZXh0AQAJDQQABA0BIEV4ZWN1dGlvbiBjb250ZXh0IHRvIGZpZ3VyZSBvdXQgd2hlcmUgdGhlIHRyYWRlIGlzIG9yaWdpbmF0ZWQgZnJvbRxTd2FwcGVyAAAABAAEpQFJZiBmaWxsZWQsIHdlIG92ZXJ3cml0ZSB0aGUgb3JpZ2luYWwgc3dhcHBlci4gTWFpbmx5IHVzZWQgaW4gcm91dGVyIHRvIG5vdCB0byB1c2UgdGVtcG9yYXJ5IHRyYWRlIGFjY291bnQBSQYBbQcAAQ0NzAAEABEBcQIRDSxIQ2hlY2tOb25aZXJvU2VuZGVyFQ2QQENoZWNrU3BlY1ZlcnNpb24ZDRA4Q2hlY2tUeFZlcnNpb24dDRAwQ2hlY2tHZW5lc2lzIQ00OENoZWNrTW9ydGFsaXR5JQ00KENoZWNrTm9uY2UtDZAsQ2hlY2tXZWlnaHQxDZBgQ2hhcmdlVHJhbnNhY3Rpb25QYXltZW50NQ2QNFZhbGlkYXRlQ2xhaW05DZBEQ2hlY2tNZXRhZGF0YUhhc2g9DTUHUFN0b3JhZ2VXZWlnaHRSZWNsYWltRQ2QSQ1YEENvcmUMHHZlcnNpb24AuQcEkCBSZXR1cm5zIHRoZSB2ZXJzaW9uIG9mIHRoZSBydW50aW1lLjRleGVjdXRlX2Jsb2NrBBRibG9ja00NkARkIEV4ZWN1dGUgdGhlIGdpdmVuIGJsb2NrLkBpbml0aWFsaXplX2Jsb2NrBBhoZWFkZXJRDWENBEEBIEluaXRpYWxpemUgYSBibG9jayB3aXRoIHRoZSBnaXZlbiBoZWFkZXIgYW5kIHJldHVybiB0aGUgcnVudGltZSBleGVjdXRpdmUgbW9kZS4EIQEgVGhlIGBDb3JlYCBydW50aW1lIGFwaSB0aGF0IGV2ZXJ5IFN1YnN0cmF0ZSBydW50aW1lIG5lZWRzIHRvIGltcGxlbWVudC4gTWV0YWRhdGEMIG1ldGFkYXRhAGUNBIwgUmV0dXJucyB0aGUgbWV0YWRhdGEgb2YgYSBydW50aW1lLkxtZXRhZGF0YV9hdF92ZXJzaW9uBBx2ZXJzaW9uEGkNEKQgUmV0dXJucyB0aGUgbWV0YWRhdGEgYXQgYSBnaXZlbiB2ZXJzaW9uLgAFASBJZiB0aGUgZ2l2ZW4gYHZlcnNpb25gIGlzbid0IHN1cHBvcnRlZCwgdGhpcyB3aWxsIHJldHVybiBgTm9uZWAudQEgVXNlIFtgU2VsZjo6bWV0YWRhdGFfdmVyc2lvbnNgXSB0byBmaW5kIG91dCBhYm91dCBzdXBwb3J0ZWQgbWV0YWRhdGEgdmVyc2lvbiBvZiB0aGUgcnVudGltZS5EbWV0YWRhdGFfdmVyc2lvbnMAWQMMpCBSZXR1cm5zIHRoZSBzdXBwb3J0ZWQgbWV0YWRhdGEgdmVyc2lvbnMuAMAgVGhpcyBjYW4gYmUgdXNlZCB0byBjYWxsIGBtZXRhZGF0YV9hdF92ZXJzaW9uYC4EAQEgVGhlIGBNZXRhZGF0YWAgYXBpIHRyYWl0IHRoYXQgcmV0dXJucyBtZXRhZGF0YSBmb3IgdGhlIHJ1bnRpbWUuMEJsb2NrQnVpbGRlchA8YXBwbHlfZXh0cmluc2ljBCRleHRyaW5zaWNVDW0NEGwgQXBwbHkgdGhlIGdpdmVuIGV4dHJpbnNpYy4AOQEgUmV0dXJucyBhbiBpbmNsdXNpb24gb3V0Y29tZSB3aGljaCBzcGVjaWZpZXMgaWYgdGhpcyBleHRyaW5zaWMgaXMgaW5jbHVkZWQgaW5MIHRoaXMgYmxvY2sgb3Igbm90LjhmaW5hbGl6ZV9ibG9jawBRDQRoIEZpbmlzaCB0aGUgY3VycmVudCBibG9jay5MaW5oZXJlbnRfZXh0cmluc2ljcwQgaW5oZXJlbnR9DV0NBD0BIEdlbmVyYXRlIGluaGVyZW50IGV4dHJpbnNpY3MuIFRoZSBpbmhlcmVudCBkYXRhIHdpbGwgdmFyeSBmcm9tIGNoYWluIHRvIGNoYWluLjxjaGVja19pbmhlcmVudHMIFGJsb2NrTQ0QZGF0YX0NjQ0EVQEgQ2hlY2sgdGhhdCB0aGUgaW5oZXJlbnRzIGFyZSB2YWxpZC4gVGhlIGluaGVyZW50IGRhdGEgd2lsbCB2YXJ5IGZyb20gY2hhaW4gdG8gY2hhaW4uBHEBIFRoZSBgQmxvY2tCdWlsZGVyYCBhcGkgdHJhaXQgdGhhdCBwcm92aWRlcyB0aGUgcmVxdWlyZWQgZnVuY3Rpb25hbGl0eSBmb3IgYnVpbGRpbmcgYSBibG9jay5YVGFnZ2VkVHJhbnNhY3Rpb25RdWV1ZQRQdmFsaWRhdGVfdHJhbnNhY3Rpb24MGHNvdXJjZZENCHR4VQ0oYmxvY2tfaGFzaDSVDSRoIFZhbGlkYXRlIHRoZSB0cmFuc2FjdGlvbi4AZQEgVGhpcyBtZXRob2QgaXMgaW52b2tlZCBieSB0aGUgdHJhbnNhY3Rpb24gcG9vbCB0byBsZWFybiBkZXRhaWxzIGFib3V0IGdpdmVuIHRyYW5zYWN0aW9uLkUBIFRoZSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgbWFrZSBzdXJlIHRvIHZlcmlmeSB0aGUgY29ycmVjdG5lc3Mgb2YgdGhlIHRyYW5zYWN0aW9uTQEgYWdhaW5zdCBjdXJyZW50IHN0YXRlLiBUaGUgZ2l2ZW4gYGJsb2NrX2hhc2hgIGNvcnJlc3BvbmRzIHRvIHRoZSBoYXNoIG9mIHRoZSBibG9ja3wgdGhhdCBpcyB1c2VkIGFzIGN1cnJlbnQgc3RhdGUuAEUBIE5vdGUgdGhhdCB0aGlzIGNhbGwgbWF5IGJlIHBlcmZvcm1lZCBieSB0aGUgcG9vbCBtdWx0aXBsZSB0aW1lcyBhbmQgdHJhbnNhY3Rpb25zpCBtaWdodCBiZSB2ZXJpZmllZCBpbiBhbnkgcG9zc2libGUgb3JkZXIuBE0BIFRoZSBgVGFnZ2VkVHJhbnNhY3Rpb25RdWV1ZWAgYXBpIHRyYWl0IGZvciBpbnRlcmZlcmluZyB3aXRoIHRoZSB0cmFuc2FjdGlvbiBxdWV1ZS5ET2ZmY2hhaW5Xb3JrZXJBcGkEPG9mZmNoYWluX3dvcmtlcgQYaGVhZGVyUQ2QBMggU3RhcnRzIHRoZSBvZmYtY2hhaW4gdGFzayBmb3IgZ2l2ZW4gYmxvY2sgaGVhZGVyLgRkIFRoZSBvZmZjaGFpbiB3b3JrZXIgYXBpLixTZXNzaW9uS2V5cwhUZ2VuZXJhdGVfc2Vzc2lvbl9rZXlzBBBzZWVkFQw4HBUBIEdlbmVyYXRlIGEgc2V0IG9mIHNlc3Npb24ga2V5cyB3aXRoIG9wdGlvbmFsbHkgdXNpbmcgdGhlIGdpdmVuIHNlZWQuCQEgVGhlIGtleXMgc2hvdWxkIGJlIHN0b3JlZCB3aXRoaW4gdGhlIGtleXN0b3JlIGV4cG9zZWQgdmlhIHJ1bnRpbWU8IGV4dGVybmFsaXRpZXMuALAgVGhlIHNlZWQgbmVlZHMgdG8gYmUgYSB2YWxpZCBgdXRmOGAgc3RyaW5nLgDQIFJldHVybnMgdGhlIGNvbmNhdGVuYXRlZCBTQ0FMRSBlbmNvZGVkIHB1YmxpYyBrZXlzLkxkZWNvZGVfc2Vzc2lvbl9rZXlzBBxlbmNvZGVkOJ0NDJggRGVjb2RlIHRoZSBnaXZlbiBwdWJsaWMgc2Vzc2lvbiBrZXlzLgDcIFJldHVybnMgdGhlIGxpc3Qgb2YgcHVibGljIHJhdyBwdWJsaWMga2V5cyArIGtleSB0eXBlLgRoIFNlc3Npb24ga2V5cyBydW50aW1lIGFwaS4cQXVyYUFwaQg0c2xvdF9kdXJhdGlvbgCpDQyQIFJldHVybnMgdGhlIHNsb3QgZHVyYXRpb24gZm9yIEF1cmEuACUBIEN1cnJlbnRseSwgb25seSB0aGUgdmFsdWUgcHJvdmlkZWQgYnkgdGhpcyB0eXBlIGF0IGdlbmVzaXMgd2lsbCBiZSB1c2VkLixhdXRob3JpdGllcwDBDAScIFJldHVybiB0aGUgY3VycmVudCBzZXQgb2YgYXV0aG9yaXRpZXMuBLggQVBJIG5lY2Vzc2FyeSBmb3IgYmxvY2sgYXV0aG9yc2hpcCB3aXRoIGF1cmEuUENvbGxlY3RDb2xsYXRpb25JbmZvBFhjb2xsZWN0X2NvbGxhdGlvbl9pbmZvBBhoZWFkZXJRDa0NEJwgQ29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCBhIGNvbGxhdGlvbi4A9CBUaGUgZ2l2ZW4gYGhlYWRlcmAgaXMgdGhlIGhlYWRlciBvZiB0aGUgYnVpbHQgYmxvY2sgZm9yIHRoYXSoIHdlIGFyZSBjb2xsZWN0aW5nIHRoZSBjb2xsYXRpb24gaW5mbyBmb3IuBNggUnVudGltZSBhcGkgdG8gY29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCBhIGNvbGxhdGlvbi40Q3VycmVuY2llc0FwaQwcYWNjb3VudAggYXNzZXRfaWQQDHdobwC5DQAgYWNjb3VudHMEDHdobwC9DQAwZnJlZV9iYWxhbmNlCCBhc3NldF9pZBAMd2hvABgAADxBY2NvdW50Tm9uY2VBcGkENGFjY291bnRfbm9uY2UEHGFjY291bnQAEATAIEdldCBjdXJyZW50IGFjY291bnQgbm9uY2Ugb2YgZ2l2ZW4gYEFjY291bnRJZGAuBIAgVGhlIEFQSSB0byBxdWVyeSBhY2NvdW50IG5vbmNlLlRUcmFuc2FjdGlvblBheW1lbnRBcGkQKHF1ZXJ5X2luZm8IDHV4dFUNDGxlbhDFDQBEcXVlcnlfZmVlX2RldGFpbHMIDHV4dFUNDGxlbhDJDQBMcXVlcnlfd2VpZ2h0X3RvX2ZlZQQYd2VpZ2h0KBgATHF1ZXJ5X2xlbmd0aF90b19mZWUEGGxlbmd0aBAYAABURXRoZXJldW1SdW50aW1lUlBDQXBpRCBjaGFpbl9pZAAwBLQgUmV0dXJucyBydW50aW1lIGRlZmluZWQgcGFsbGV0X2V2bTo6Q2hhaW5JZC40YWNjb3VudF9iYXNpYwQcYWRkcmVzc0EB1Q0EpCBSZXR1cm5zIHBhbGxldF9ldm06OkFjY291bnRzIGJ5IGFkZHJlc3MuJGdhc19wcmljZQBJAQSUIFJldHVybnMgRml4ZWRHYXNQcmljZTo6bWluX2dhc19wcmljZTxhY2NvdW50X2NvZGVfYXQEHGFkZHJlc3NBATgE/CBGb3IgYSBnaXZlbiBhY2NvdW50IGFkZHJlc3MsIHJldHVybnMgcGFsbGV0X2V2bTo6QWNjb3VudENvZGVzLhhhdXRob3IAQQEE8CBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgRmluZEF1dGhvcjo6ZmluZF9hdXRob3IgYXV0aG9yaXR5IGlkLihzdG9yYWdlX2F0CBxhZGRyZXNzQQEUaW5kZXhJATQEMQEgRm9yIGEgZ2l2ZW4gYWNjb3VudCBhZGRyZXNzIGFuZCBpbmRleCwgcmV0dXJucyBwYWxsZXRfZXZtOjpBY2NvdW50U3RvcmFnZXMuEGNhbGwoEGZyb21BAQh0b0EBEGRhdGE4FHZhbHVlSQEkZ2FzX2xpbWl0SQE8bWF4X2ZlZV9wZXJfZ2FzIQRgbWF4X3ByaW9yaXR5X2ZlZV9wZXJfZ2FzIQQUbm9uY2UhBCBlc3RpbWF0ZSAsYWNjZXNzX2xpc3TZDd0NABhjcmVhdGUkEGZyb21BARBkYXRhOBR2YWx1ZUkBJGdhc19saW1pdEkBPG1heF9mZWVfcGVyX2dhcyEEYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhcyEEFG5vbmNlIQQgZXN0aW1hdGUgLGFjY2Vzc19saXN02Q31DQA0Y3VycmVudF9ibG9jawD9DQRoIFJldHVybiB0aGUgY3VycmVudCBibG9jay5AY3VycmVudF9yZWNlaXB0cwABDgRwIFJldHVybiB0aGUgY3VycmVudCByZWNlaXB0LnBjdXJyZW50X3RyYW5zYWN0aW9uX3N0YXR1c2VzAAUOBJwgUmV0dXJuIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIHN0YXR1cy4sY3VycmVudF9hbGwACQ4AQGV4dHJpbnNpY19maWx0ZXIEDHh0c10NHQsENQEgUmVjZWl2ZXMgYSBgVmVjPE9wYXF1ZUV4dHJpbnNpYz5gIGFuZCBmaWx0ZXJzIGFsbCB0aGUgZXRoZXJldW0gdHJhbnNhY3Rpb25zLihlbGFzdGljaXR5APUDBIggUmV0dXJuIHRoZSBlbGFzdGljaXR5IG11bHRpcGxpZXIucGdhc19saW1pdF9tdWx0aXBsaWVyX3N1cHBvcnQAkAh1ASBVc2VkIHRvIGRldGVybWluZSBpZiBnYXMgbGltaXQgbXVsdGlwbGllciBmb3Igbm9uLXRyYW5zYWN0aW9uYWwgY2FsbHMgKGV0aF9jYWxsL2VzdGltYXRlR2FzKTggaXMgc3VwcG9ydGVkLjRwZW5kaW5nX2Jsb2NrBAx4dHNdDQ0OBGggUmV0dXJuIHRoZSBwZW5kaW5nIGJsb2NrLmBpbml0aWFsaXplX3BlbmRpbmdfYmxvY2sEGGhlYWRlclENkBR4IEluaXRpYWxpemUgdGhlIHBlbmRpbmcgYmxvY2suNQEgVGhlIGJlaGF2aW9yIHNob3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgcnVudGltZSBhcGkgQ29yZV9pbml0aWFsaXplX2Jsb2NrIGJ1dFwgZm9yIGEgInBlbmRpbmciIGJsb2NrLmEBIElmIHlvdXIgcHJvamVjdCBkb24ndCBuZWVkIHRvIGhhdmUgYSBkaWZmZXJlbnQgYmVoYXZpb3IgdG8gaW5pdGlhbGl6ZSAicGVuZGluZyIgYmxvY2tzLOAgeW91IGNhbiBjb3B5IHlvdXIgQ29yZV9pbml0aWFsaXplX2Jsb2NrIGltcGxlbWVudGF0aW9uLgTAIEFQSSBuZWNlc3NhcnkgZm9yIEV0aGVyZXVtLWNvbXBhdGliaWxpdHkgbGF5ZXIucENvbnZlcnRUcmFuc2FjdGlvblJ1bnRpbWVBcGkETGNvbnZlcnRfdHJhbnNhY3Rpb24ELHRyYW5zYWN0aW9uMQRVDQAAOEV2bUFjY291bnRzQXBpDCxldm1fYWRkcmVzcwQoYWNjb3VudF9pZABBAQTAIGdldCB0aGUgRVZNIGFkZHJlc3MgZnJvbSB0aGUgc3Vic3RyYXRlIGFkZHJlc3MuQGJvdW5kX2FjY291bnRfaWQELGV2bV9hZGRyZXNzQQHsBFUBIFJldHVybiB0aGUgU3Vic3RyYXRlIGFkZHJlc3MgYm91bmQgdG8gdGhlIEVWTSBhY2NvdW50LiBJZiBub3QgYm91bmQsIHJldHVybnMgYE5vbmVgLihhY2NvdW50X2lkBCxldm1fYWRkcmVzc0EBAAjAIEdldCB0aGUgU3Vic3RyYXRlIGFkZHJlc3MgZnJvbSB0aGUgRVZNIGFkZHJlc3MuJQEgUmV0dXJucyB0aGUgdHJ1bmNhdGVkIHZlcnNpb24gb2YgdGhlIGFkZHJlc3MgaWYgdGhlIGFkZHJlc3Mgd2Fzbid0IGJpbmQuBKggVGhlIEFQSSB0byBxdWVyeSBFVk0gYWNjb3VudCBjb252ZXJzaW9ucy48RXJjMjBNYXBwaW5nQXBpCDRhc3NldF9hZGRyZXNzBCBhc3NldF9pZBBBAQSIIEdldCB0aGUgRVZNIGFkZHJlc3Mgb2YgdGhlIGFzc2V0LkBhZGRyZXNzX3RvX2Fzc2V0BBxhZGRyZXNzQQFZAQQ1ASBHZXQgdGhlIGFzc2V0IGlkIGNvcnJlc3BvbmRpbmcgdG8gRVZNIGFkZHJlc3MuIElmIG5vdCBmb3VuZCwgcmV0dXJucyBgTm9uZWAuBNggVGhlIEFQSSB0byBxdWVyeSBBc3NldElkIDwtPiBFVk0gYWRkcmVzcyBjb252ZXJzaW9ucy40WGNtUGF5bWVudEFwaRB8cXVlcnlfYWNjZXB0YWJsZV9wYXltZW50X2Fzc2V0cwQseGNtX3ZlcnNpb24QEQ4UtCBSZXR1cm5zIGEgbGlzdCBvZiBhY2NlcHRhYmxlIHBheW1lbnQgYXNzZXRzLgAwICMgQXJndW1lbnRzAGggKiBgeGNtX3ZlcnNpb25gOiBWZXJzaW9uLkBxdWVyeV94Y21fd2VpZ2h0BBxtZXNzYWdl3QQdDhSoIFJldHVybnMgYSB3ZWlnaHQgbmVlZGVkIHRvIGV4ZWN1dGUgYSBYQ00uADAgIyBBcmd1bWVudHMAdCAqIGBtZXNzYWdlYDogYFZlcnNpb25lZFhjbWAuZHF1ZXJ5X3dlaWdodF90b19hc3NldF9mZWUIGHdlaWdodCgUYXNzZXQVBiEOGOggQ29udmVydHMgYSB3ZWlnaHQgaW50byBhIGZlZSBmb3IgdGhlIHNwZWNpZmllZCBgQXNzZXRJZGAuADAgIyBBcmd1bWVudHMAiCAqIGB3ZWlnaHRgOiBjb252ZXJ0aWJsZSBgV2VpZ2h0YC58ICogYGFzc2V0YDogYFZlcnNpb25lZEFzc2V0SWRgLkxxdWVyeV9kZWxpdmVyeV9mZWVzCCxkZXN0aW5hdGlvbr0EHG1lc3NhZ2XdBCUOIB0BIEdldCBkZWxpdmVyeSBmZWVzIGZvciBzZW5kaW5nIGEgc3BlY2lmaWMgYG1lc3NhZ2VgIHRvIGEgYGRlc3RpbmF0aW9uYC70IFRoZXNlIGFsd2F5cyBjb21lIGluIGEgc3BlY2lmaWMgYXNzZXQsIGRlZmluZWQgYnkgdGhlIGNoYWluLgAwICMgQXJndW1lbnRzgQEgKiBgbWVzc2FnZWA6IFRoZSBtZXNzYWdlIHRoYXQnbGwgYmUgc2VudCwgbmVjZXNzYXJ5IGJlY2F1c2UgbW9zdCBkZWxpdmVyeSBmZWVzIGFyZSBiYXNlZCBvbiB0aGVcICAgc2l6ZSBvZiB0aGUgbWVzc2FnZS5hASAqIGBkZXN0aW5hdGlvbmA6IFRoZSBkZXN0aW5hdGlvbiB0byBzZW5kIHRoZSBtZXNzYWdlIHRvLiBEaWZmZXJlbnQgZGVzdGluYXRpb25zIG1heSB1c2XAICAgZGlmZmVyZW50IHNlbmRlcnMgdGhhdCBjaGFyZ2UgZGlmZmVyZW50IGZlZXMuLHAgQSB0cmFpdCBvZiBYQ00gcGF5bWVudCBBUEkuAKggQVBJIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgZm9yIG9idGFpbmluZzoAxCAqIHRoZSB3ZWlnaHQgcmVxdWlyZWQgdG8gZXhlY3V0ZSBhbiBYQ00gbWVzc2FnZSwFASAqIGEgbGlzdCBvZiBhY2NlcHRhYmxlIGBBc3NldElkYHMgZm9yIG1lc3NhZ2UgZXhlY3V0aW9uIHBheW1lbnQsAQEgKiB0aGUgY29zdCBvZiB0aGUgd2VpZ2h0IGluIHRoZSBzcGVjaWZpZWQgYWNjZXB0YWJsZSBgQXNzZXRJZGAuoCAqIHRoZSBmZWVzIGZvciBhbiBYQ00gbWVzc2FnZSBkZWxpdmVyeS4A8CBUbyBkZXRlcm1pbmUgdGhlIGV4ZWN1dGlvbiB3ZWlnaHQgb2YgdGhlIGNhbGxzIHJlcXVpcmVkIGZvcnUBIFtgeGNtOjpsYXRlc3Q6Okluc3RydWN0aW9uOjpUcmFuc2FjdGBdIGluc3RydWN0aW9uLCBgVHJhbnNhY3Rpb25QYXltZW50Q2FsbEFwaWAgY2FuIGJlIHVzZWQuYEF1cmFVbmluY2x1ZGVkU2VnbWVudEFwaQQ4Y2FuX2J1aWxkX3Vwb24INGluY2x1ZGVkX2hhc2g0EHNsb3TFDCAoOQEgV2hldGhlciBpdCBpcyBsZWdhbCB0byBleHRlbmQgdGhlIGNoYWluLCBhc3N1bWluZyB0aGUgZ2l2ZW4gYmxvY2sgaXMgdGhlIG1vc3Q1ASByZWNlbnRseSBpbmNsdWRlZCBvbmUgYXMtb2YgdGhlIHJlbGF5IHBhcmVudCB0aGF0IHdpbGwgYmUgYnVpbHQgYWdhaW5zdCwgYW5kQCB0aGUgZ2l2ZW4gc2xvdC4AUQEgVGhpcyBzaG91bGQgYmUgY29uc2lzdGVudCB3aXRoIHRoZSBsb2dpYyB0aGUgcnVudGltZSB1c2VzIHdoZW4gdmFsaWRhdGluZyBibG9ja3MgdG84IGF2b2lkIGlzc3Vlcy4AYQEgV2hlbiB0aGUgdW5pbmNsdWRlZCBzZWdtZW50IGlzIGVtcHR5LCBpLmUuIGBpbmNsdWRlZF9oYXNoID09IGF0YCwgd2hlcmUgYXQgaXMgdGhlIGJsb2NrYQEgd2hvc2Ugc3RhdGUgd2UgYXJlIHF1ZXJ5aW5nIGFnYWluc3QsIHRoaXMgbXVzdCBhbHdheXMgcmV0dXJuIGB0cnVlYCBhcyBsb25nIGFzIHRoZSBzbG90vCBpcyBtb3JlIHJlY2VudCB0aGFuIHRoZSBpbmNsdWRlZCBibG9jayBpdHNlbGYuKDUBIFRoaXMgcnVudGltZSBBUEkgaXMgdXNlZCB0byBpbmZvcm0gcG90ZW50aWFsIGJsb2NrIGF1dGhvcnMgd2hldGhlciB0aGV5IHdpbGwlASBoYXZlIHRoZSByaWdodCB0byBhdXRob3IgYXQgYSBzbG90LCBhc3N1bWluZyB0aGV5IGhhdmUgY2xhaW1lZCB0aGUgc2xvdC4AdQEgSW4gcGFydGljdWxhciwgdGhpcyBBUEkgYWxsb3dzIEF1cmEtYmFzZWQgcGFyYWNoYWlucyB0byByZWd1bGF0ZSB0aGVpciAidW5pbmNsdWRlZCBzZWdtZW50IixtASB3aGljaCBpcyB0aGUgc2VjdGlvbiBvZiB0aGUgaGVhZCBvZiB0aGUgY2hhaW4gd2hpY2ggaGFzIG5vdCB5ZXQgYmVlbiBtYWRlIGF2YWlsYWJsZSBpbiB0aGU0IHJlbGF5IGNoYWluLgBhASBXaGVuIHRoZSB1bmluY2x1ZGVkIHNlZ21lbnQgaXMgc2hvcnQsIEF1cmEgY2hhaW5zIHdpbGwgYWxsb3cgYXV0aG9ycyB0byBjcmVhdGUgbXVsdGlwbGVdASBibG9ja3MgcGVyIHNsb3QgaW4gb3JkZXIgdG8gYnVpbGQgYSBiYWNrbG9nLiBXaGVuIGl0IGlzIHNhdHVyYXRlZCwgdGhpcyBBUEkgd2lsbCBsaW1pdKggdGhlIGFtb3VudCBvZiBibG9ja3MgdGhhdCBjYW4gYmUgY3JlYXRlZC4kRHJ5UnVuQXBpCDBkcnlfcnVuX2NhbGwIGG9yaWdpbmUBEGNhbGwRASkOBDggRHJ5IHJ1biBjYWxsLixkcnlfcnVuX3hjbQg8b3JpZ2luX2xvY2F0aW9uvQQMeGNt5QVJDgRQIERyeSBydW4gWENNIHByb2dyYW0ksQEgQVBJIGZvciBkcnktcnVubmluZyBleHRyaW5zaWNzIGFuZCBYQ00gcHJvZ3JhbXMgdG8gZ2V0IHRoZSBwcm9ncmFtcyB0aGF0IG5lZWQgdG8gYmUgcGFzc2VkIHRvIHRoZSBmZWVzIEFQSS4AgQEgQWxsIGNhbGxzIHJldHVybiBhIHZlY3RvciBvZiB0dXBsZXMgKGxvY2F0aW9uLCB4Y20pIHdoZXJlIGVhY2ggInhjbSIgaXMgZXhlY3V0ZWQgaW4gImxvY2F0aW9uIi7kIElmIHRoZXJlJ3MgbG9jYWwgZXhlY3V0aW9uLCB0aGUgbG9jYXRpb24gd2lsbCBiZSAiSGVyZSIuHQEgVGhpcyB2ZWN0b3IgY2FuIGJlIHVzZWQgdG8gY2FsY3VsYXRlIGJvdGggZXhlY3V0aW9uIGFuZCBkZWxpdmVyeSBmZWVzLgCZASBDYWxscyBvciBYQ01zIG1pZ2h0IGZhaWwgd2hlbiBleGVjdXRlZCwgdGhpcyBkb2Vzbid0IG1lYW4gdGhlIHJlc3VsdCBvZiB0aGVzZSBjYWxscyB3aWxsIGJlIGFuIGBFcnJgLmUBIEluIHRob3NlIGNhc2VzLCB0aGVyZSBtaWdodCBzdGlsbCBiZSBhIHZhbGlkIHJlc3VsdCwgd2l0aCB0aGUgZXhlY3V0aW9uIGVycm9yIGluc2lkZSBpdC5lASBUaGUgb25seSByZWFzb25zIHdoeSB0aGVzZSBjYWxscyBtaWdodCByZXR1cm4gYW4gZXJyb3IgYXJlIGxpc3RlZCBpbiB0aGUgW2BFcnJvcmBdIGVudW0uUExvY2F0aW9uVG9BY2NvdW50QXBpBEBjb252ZXJ0X2xvY2F0aW9uBCBsb2NhdGlvbr0EUQ4EkCBDb252ZXJ0cyBgTG9jYXRpb25gIHRvIGBBY2NvdW50SWRgLgQNASBBUEkgZm9yIHVzZWZ1bCBjb252ZXJzaW9ucyBiZXR3ZWVuIFhDTSBgTG9jYXRpb25gIGFuZCBgQWNjb3VudElkYC5MQ2hhaW5saW5rQWRhcHRlckFwaQhUZW5jb2RlX29yYWNsZV9hZGRyZXNzEChhc3NldF9pZF9hEChhc3NldF9pZF9iEBhwZXJpb2S5Axhzb3VyY2X9AUEBAFRkZWNvZGVfb3JhY2xlX2FkZHJlc3MEOG9yYWNsZV9hZGRyZXNzQQFZDgAEqCBUaGUgQVBJIHRvIHF1ZXJ5IEVWTSBhY2NvdW50IGNvbnZlcnNpb25zLkRBYXZlVHJhZGVFeGVjdXRvchAUcGFpcnMAUQMAPGxpcXVpZGl0eV9kZXB0aAggYXNzZXRfaW4QJGFzc2V0X291dBDgABBwb29sCBxyZXNlcnZlEBhhdG9rZW4QYQ4AFHBvb2xzAGUOAAA4R2VuZXNpc0J1aWxkZXIMLGJ1aWxkX3N0YXRlBBBqc29uOGkOJGUBIEJ1aWxkIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgZnJvbSBhIEpTT04gYmxvYiBub3QgdXNpbmcgYW55IGRlZmF1bHRzIGFuZCBzdG9yZSBpdCBpbiB0aGUkIHN0b3JhZ2UuAPkBIEluIHRoZSBjYXNlIG9mIGEgRlJBTUUtYmFzZWQgcnVudGltZSwgdGhpcyBmdW5jdGlvbiBkZXNlcmlhbGl6ZXMgdGhlIGZ1bGwgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBmcm9tIHRoZSBnaXZlbiBKU09OIGJsb2IgYW5kWQEgcHV0cyBpdCBpbnRvIHRoZSBzdG9yYWdlLiBJZiB0aGUgcHJvdmlkZWQgSlNPTiBibG9iIGlzIGluY29ycmVjdCBvciBpbmNvbXBsZXRlIG9yIHRoZbQgZGVzZXJpYWxpemF0aW9uIGZhaWxzLCBhbiBlcnJvciBpcyByZXR1cm5lZC4AXQEgUGxlYXNlIG5vdGUgdGhhdCBwcm92aWRlZCBKU09OIGJsb2IgbXVzdCBjb250YWluIGFsbCBgUnVudGltZUdlbmVzaXNDb25maWdgIGZpZWxkcywgbm9cIGRlZmF1bHRzIHdpbGwgYmUgdXNlZC4oZ2V0X3ByZXNldAQIaWRtDhUMOGEBIFJldHVybnMgYSBKU09OIGJsb2IgcmVwcmVzZW50YXRpb24gb2YgdGhlIGJ1aWx0LWluIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgaWRlbnRpZmllZCBieRggYGlkYC4APQEgSWYgYGlkYCBpcyBgTm9uZWAgdGhlIGZ1bmN0aW9uIHJldHVybnMgSlNPTiBibG9iIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkZWZhdWx0SQEgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBzdHJ1Y3Qgb2YgdGhlIHJ1bnRpbWUuIEltcGxlbWVudGF0aW9uIG11c3QgcHJvdmlkZSBkZWZhdWx0YCBgUnVudGltZUdlbmVzaXNDb25maWdgLgAhASBPdGhlcndpc2UgZnVuY3Rpb24gcmV0dXJucyBhIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhlIGJ1aWx0LWluLCBuYW1lZFEBIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgcHJlc2V0IGlkZW50aWZpZWQgYnkgYGlkYCwgb3IgYE5vbmVgIGlmIHN1Y2ggcHJlc2V0IGRvZXMgbm90YQEgZXhpc3QuIFJldHVybmVkIGBWZWM8dTg+YCBjb250YWlucyBieXRlcyBvZiBKU09OIGJsb2IgKHBhdGNoKSB3aGljaCBjb21wcmlzZXMgYSBsaXN0IG9mTQEgKHBvdGVudGlhbGx5IG5lc3RlZCkga2V5LXZhbHVlIHBhaXJzIHRoYXQgYXJlIGludGVuZGVkIGZvciBjdXN0b21pemluZyB0aGUgZGVmYXVsdGUBIHJ1bnRpbWUgZ2VuZXNpcyBjb25maWcuIFRoZSBwYXRjaCBzaGFsbCBiZSBtZXJnZWQgKHJmYzczODYpIHdpdGggdGhlIEpTT04gcmVwcmVzZW50YXRpb25hASBvZiB0aGUgZGVmYXVsdCBgUnVudGltZUdlbmVzaXNDb25maWdgIHRvIGNyZWF0ZSBhIGNvbXByZWhlbnNpdmUgZ2VuZXNpcyBjb25maWcgdGhhdCBjYW6EIGJlIHVzZWQgaW4gYGJ1aWxkX3N0YXRlYCBtZXRob2QuMHByZXNldF9uYW1lcwBxDhBRASBSZXR1cm5zIGEgbGlzdCBvZiBpZGVudGlmaWVycyBmb3IgYXZhaWxhYmxlIGJ1aWx0aW4gYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBwcmVzZXRzLgBhASBUaGUgcHJlc2V0cyBmcm9tIHRoZSBsaXN0IGNhbiBiZSBxdWVyaWVkIHdpdGggW2BHZW5lc2lzQnVpbGRlcjo6Z2V0X3ByZXNldGBdIG1ldGhvZC4gSWYBASBubyBuYW1lZCBwcmVzZXRzIGFyZSBwcm92aWRlZCBieSB0aGUgcnVudGltZSB0aGUgbGlzdCBpcyBlbXB0eS4E6CBBUEkgdG8gaW50ZXJhY3Qgd2l0aCBSdW50aW1lR2VuZXNpc0NvbmZpZyBmb3IgdGhlIHJ1bnRpbWURAVR1DgA=";
81
+ binMeta = "bWV0YQ99DgAMHHNwX2NvcmUYY3J5cHRvLEFjY291bnRJZDMyAAAEAAQBIFt1ODsgMzJdAAAEAAADIAAAAAgACAAABQMADAgwZnJhbWVfc3lzdGVtLEFjY291bnRJbmZvCBROb25jZQEQLEFjY291bnREYXRhARQAFAEUbm9uY2UQARROb25jZQABJGNvbnN1bWVycxABIFJlZkNvdW50AAEkcHJvdmlkZXJzEAEgUmVmQ291bnQAASxzdWZmaWNpZW50cxABIFJlZkNvdW50AAEQZGF0YRQBLEFjY291bnREYXRhAAAQAAAFBQAUDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXMsQWNjb3VudERhdGEEHEJhbGFuY2UBGAAQARBmcmVlGAEcQmFsYW5jZQABIHJlc2VydmVkGAEcQmFsYW5jZQABGGZyb3plbhgBHEJhbGFuY2UAARRmbGFncxwBKEV4dHJhRmxhZ3MAABgAAAUHABwMPHBhbGxldF9iYWxhbmNlcxR0eXBlcyhFeHRyYUZsYWdzAAAEABgBEHUxMjgAACAAAAUAACQMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUGVyRGlzcGF0Y2hDbGFzcwQEVAEoAAwBGG5vcm1hbCgBBFQAASxvcGVyYXRpb25hbCgBBFQAASRtYW5kYXRvcnkoAQRUAAAoDChzcF93ZWlnaHRzJHdlaWdodF92MhhXZWlnaHQAAAgBIHJlZl90aW1lLAEMdTY0AAEocHJvb2Zfc2l6ZSwBDHU2NAAALAAABjAAMAAABQYANAg8cHJpbWl0aXZlX3R5cGVzEEgyNTYAAAQABAEgW3U4OyAzMl0AADgAAAIIADwQKHNwX3J1bnRpbWUcZ2VuZXJpYxhkaWdlc3QYRGlnZXN0AAAEARBsb2dzQAE8VmVjPERpZ2VzdEl0ZW0+AABAAAACRABEEChzcF9ydW50aW1lHGdlbmVyaWMYZGlnZXN0KERpZ2VzdEl0ZW0AARQoUHJlUnVudGltZQgASAFEQ29uc2Vuc3VzRW5naW5lSWQAADgBHFZlYzx1OD4ABgAkQ29uc2Vuc3VzCABIAURDb25zZW5zdXNFbmdpbmVJZAAAOAEcVmVjPHU4PgAEABBTZWFsCABIAURDb25zZW5zdXNFbmdpbmVJZAAAOAEcVmVjPHU4PgAFABRPdGhlcgQAOAEcVmVjPHU4PgAAAGRSdW50aW1lRW52aXJvbm1lbnRVcGRhdGVkAAgAAEgAAAMEAAAACABMAAACUABQCDBmcmFtZV9zeXN0ZW0sRXZlbnRSZWNvcmQIBEUBVARUATQADAEUcGhhc2WVBwEUUGhhc2UAARRldmVudFQBBEUAARh0b3BpY3PJAQEYVmVjPFQ+AABUCDxoeWRyYWR4X3J1bnRpbWUwUnVudGltZUV2ZW50AAH4GFN5c3RlbQQAWAFwZnJhbWVfc3lzdGVtOjpFdmVudDxSdW50aW1lPgABACBCYWxhbmNlcwQAfAF8cGFsbGV0X2JhbGFuY2VzOjpFdmVudDxSdW50aW1lPgAHAEhUcmFuc2FjdGlvblBheW1lbnQEAIQBqHBhbGxldF90cmFuc2FjdGlvbl9wYXltZW50OjpFdmVudDxSdW50aW1lPgAJAFxNdWx0aVRyYW5zYWN0aW9uUGF5bWVudAQAiAHAcGFsbGV0X3RyYW5zYWN0aW9uX211bHRpX3BheW1lbnQ6OkV2ZW50PFJ1bnRpbWU+AMsAIFRyZWFzdXJ5BACMAXxwYWxsZXRfdHJlYXN1cnk6OkV2ZW50PFJ1bnRpbWU+AAsAHFV0aWxpdHkEAJQBVHBhbGxldF91dGlsaXR5OjpFdmVudAANACBQcmVpbWFnZQQAnAF8cGFsbGV0X3ByZWltYWdlOjpFdmVudDxSdW50aW1lPgAPACBJZGVudGl0eQQAoAF8cGFsbGV0X2lkZW50aXR5OjpFdmVudDxSdW50aW1lPgARACREZW1vY3JhY3kEAKgBgHBhbGxldF9kZW1vY3JhY3k6OkV2ZW50PFJ1bnRpbWU+ABMASFRlY2huaWNhbENvbW1pdHRlZQQAvAH8cGFsbGV0X2NvbGxlY3RpdmU6OkV2ZW50PFJ1bnRpbWUsIHBhbGxldF9jb2xsZWN0aXZlOjpJbnN0YW5jZTI+ABkAFFByb3h5BADAAXBwYWxsZXRfcHJveHk6OkV2ZW50PFJ1bnRpbWU+AB0AIE11bHRpc2lnBADMAXxwYWxsZXRfbXVsdGlzaWc6OkV2ZW50PFJ1bnRpbWU+AB8AHFVuaXF1ZXMEANQBeHBhbGxldF91bmlxdWVzOjpFdmVudDxSdW50aW1lPgAgAEhTdGF0ZVRyaWVNaWdyYXRpb24EAPABrHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbjo6RXZlbnQ8UnVudGltZT4AIwBAQ29udmljdGlvblZvdGluZwQA/AGgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nOjpFdmVudDxSdW50aW1lPgAkACRSZWZlcmVuZGEEAAkBAYBwYWxsZXRfcmVmZXJlbmRhOjpFdmVudDxSdW50aW1lPgAlACRXaGl0ZWxpc3QEAFkGAYBwYWxsZXRfd2hpdGVsaXN0OjpFdmVudDxSdW50aW1lPgAnAChEaXNwYXRjaGVyBABtBgGEcGFsbGV0X2Rpc3BhdGNoZXI6OkV2ZW50PFJ1bnRpbWU+ACgANEFzc2V0UmVnaXN0cnkEAHEGAZRwYWxsZXRfYXNzZXRfcmVnaXN0cnk6OkV2ZW50PFJ1bnRpbWU+ADMAGENsYWltcwQAdQYBdHBhbGxldF9jbGFpbXM6OkV2ZW50PFJ1bnRpbWU+ADUAPENvbGxhdG9yUmV3YXJkcwQAfQYBnHBhbGxldF9jb2xsYXRvcl9yZXdhcmRzOjpFdmVudDxSdW50aW1lPgA5ACBPbW5pcG9vbAQAgQYBfHBhbGxldF9vbW5pcG9vbDo6RXZlbnQ8UnVudGltZT4AOwBAVHJhbnNhY3Rpb25QYXVzZQQAhQYBoHBhbGxldF90cmFuc2FjdGlvbl9wYXVzZTo6RXZlbnQ8UnVudGltZT4APAAYRHVzdGVyBACJBgF0cGFsbGV0X2R1c3Rlcjo6RXZlbnQ8UnVudGltZT4APQBMT21uaXBvb2xXYXJlaG91c2VMTQQAjQYBSQF3YXJlaG91c2VfbGlxdWlkaXR5X21pbmluZzo6RXZlbnQ8UnVudGltZSwgd2FyZWhvdXNlX2xpcXVpZGl0eV9taW5pbmc6OgpJbnN0YW5jZTE+AD4AXE9tbmlwb29sTGlxdWlkaXR5TWluaW5nBACRBgHAcGFsbGV0X29tbmlwb29sX2xpcXVpZGl0eV9taW5pbmc6OkV2ZW50PFJ1bnRpbWU+AD8ADE9UQwQAlQYBaHBhbGxldF9vdGM6OkV2ZW50PFJ1bnRpbWU+AEAAOENpcmN1aXRCcmVha2VyBACZBgGYcGFsbGV0X2NpcmN1aXRfYnJlYWtlcjo6RXZlbnQ8UnVudGltZT4AQQAYUm91dGVyBACdBgGUcGFsbGV0X3JvdXRlX2V4ZWN1dG9yOjpFdmVudDxSdW50aW1lPgBDACxEeW5hbWljRmVlcwQAoQYBjHBhbGxldF9keW5hbWljX2ZlZXM6OkV2ZW50PFJ1bnRpbWU+AEQAHFN0YWtpbmcEAKUGAXhwYWxsZXRfc3Rha2luZzo6RXZlbnQ8UnVudGltZT4ARQAoU3RhYmxlc3dhcAQAqQYBhHBhbGxldF9zdGFibGVzd2FwOjpFdmVudDxSdW50aW1lPgBGABRCb25kcwQAwQYBcHBhbGxldF9ib25kczo6RXZlbnQ8UnVudGltZT4ARwA4T3RjU2V0dGxlbWVudHMEAMUGAZhwYWxsZXRfb3RjX3NldHRsZW1lbnRzOjpFdmVudDxSdW50aW1lPgBIAAxMQlAEAMkGAWhwYWxsZXRfbGJwOjpFdmVudDxSdW50aW1lPgBJAAxYWUsEANEGAWhwYWxsZXRfeHlrOjpFdmVudDxSdW50aW1lPgBKACRSZWZlcnJhbHMEANUGAYBwYWxsZXRfcmVmZXJyYWxzOjpFdmVudDxSdW50aW1lPgBLACxMaXF1aWRhdGlvbgQA3QYBiHBhbGxldF9saXF1aWRhdGlvbjo6RXZlbnQ8UnVudGltZT4ATAAMSFNNBADhBgFocGFsbGV0X2hzbTo6RXZlbnQ8UnVudGltZT4AUgAYVG9rZW5zBADlBgFsb3JtbF90b2tlbnM6OkV2ZW50PFJ1bnRpbWU+AE0AKEN1cnJlbmNpZXMEAOkGAYRwYWxsZXRfY3VycmVuY2llczo6RXZlbnQ8UnVudGltZT4ATwAcVmVzdGluZwQA7QYBcG9ybWxfdmVzdGluZzo6RXZlbnQ8UnVudGltZT4AUQAMRVZNBADxBgFocGFsbGV0X2V2bTo6RXZlbnQ8UnVudGltZT4AWgAgRXRoZXJldW0EAPkGAVhwYWxsZXRfZXRoZXJldW06OkV2ZW50AFwALEVWTUFjY291bnRzBAAdBwGMcGFsbGV0X2V2bV9hY2NvdW50czo6RXZlbnQ8UnVudGltZT4AXQBIWFlLTGlxdWlkaXR5TWluaW5nBAAhBwGscGFsbGV0X3h5a19saXF1aWRpdHlfbWluaW5nOjpFdmVudDxSdW50aW1lPgBfADhYWUtXYXJlaG91c2VMTQQAJQcBSQF3YXJlaG91c2VfbGlxdWlkaXR5X21pbmluZzo6RXZlbnQ8UnVudGltZSwgd2FyZWhvdXNlX2xpcXVpZGl0eV9taW5pbmc6OgpJbnN0YW5jZTI+AGAAOFJlbGF5Q2hhaW5JbmZvBAApBwGYcGFsbGV0X3JlbGF5Y2hhaW5faW5mbzo6RXZlbnQ8UnVudGltZT4AyQAMRENBBAAtBwFocGFsbGV0X2RjYTo6RXZlbnQ8UnVudGltZT4AQgAkU2NoZWR1bGVyBAAxBwGAcGFsbGV0X3NjaGVkdWxlcjo6RXZlbnQ8UnVudGltZT4ABQA8UGFyYWNoYWluU3lzdGVtBAA5BwG8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbTo6RXZlbnQ8UnVudGltZT4AZwAsUG9sa2Fkb3RYY20EAD0HAWhwYWxsZXRfeGNtOjpFdmVudDxSdW50aW1lPgBrAChDdW11bHVzWGNtBABFBwGIY3VtdWx1c19wYWxsZXRfeGNtOjpFdmVudDxSdW50aW1lPgBtACRYY21wUXVldWUEAEkHAaRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlOjpFdmVudDxSdW50aW1lPgBvADBNZXNzYWdlUXVldWUEAE0HAZBwYWxsZXRfbWVzc2FnZV9xdWV1ZTo6RXZlbnQ8UnVudGltZT4AcgAcT3JtbFhjbQQAVQcBYG9ybWxfeGNtOjpFdmVudDxSdW50aW1lPgCHABxYVG9rZW5zBABZBwFwb3JtbF94dG9rZW5zOjpFdmVudDxSdW50aW1lPgCJADRVbmtub3duVG9rZW5zBABdBwFob3JtbF91bmtub3duX3Rva2Vuczo6RXZlbnQAiwBEQ29sbGF0b3JTZWxlY3Rpb24EAGEHAaRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uOjpFdmVudDxSdW50aW1lPgCjABxTZXNzaW9uBABlBwFUcGFsbGV0X3Nlc3Npb246OkV2ZW50AKUAJEVtYU9yYWNsZQQAaQcBhHBhbGxldF9lbWFfb3JhY2xlOjpFdmVudDxSdW50aW1lPgDKACRCcm9hZGNhc3QEAG0HAYBwYWxsZXRfYnJvYWRjYXN0OjpFdmVudDxSdW50aW1lPgDMAABYDDBmcmFtZV9zeXN0ZW0YcGFsbGV0FEV2ZW50BARUAAEcQEV4dHJpbnNpY1N1Y2Nlc3MEATRkaXNwYXRjaF9pbmZvXAEwRGlzcGF0Y2hJbmZvAAAEkEFuIGV4dHJpbnNpYyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LjxFeHRyaW5zaWNGYWlsZWQIAThkaXNwYXRjaF9lcnJvcmgBNERpc3BhdGNoRXJyb3IAATRkaXNwYXRjaF9pbmZvXAEwRGlzcGF0Y2hJbmZvAAEEUEFuIGV4dHJpbnNpYyBmYWlsZWQuLENvZGVVcGRhdGVkAAIEUGA6Y29kZWAgd2FzIHVwZGF0ZWQuKE5ld0FjY291bnQEARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAMEaEEgbmV3IGFjY291bnQgd2FzIGNyZWF0ZWQuNEtpbGxlZEFjY291bnQEARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAQEWEFuIGFjY291bnQgd2FzIHJlYXBlZC4gUmVtYXJrZWQIARhzZW5kZXIAATBUOjpBY2NvdW50SWQAARBoYXNoNAEcVDo6SGFzaAAFBHBPbiBvbi1jaGFpbiByZW1hcmsgaGFwcGVuZWQuRFVwZ3JhZGVBdXRob3JpemVkCAEkY29kZV9oYXNoNAEcVDo6SGFzaAABNGNoZWNrX3ZlcnNpb24gARBib29sAAYEaEFuIHVwZ3JhZGUgd2FzIGF1dGhvcml6ZWQuBHBFdmVudCBmb3IgdGhlIFN5c3RlbSBwYWxsZXQuXAw0ZnJhbWVfc3VwcG9ydCBkaXNwYXRjaDBEaXNwYXRjaEluZm8AAAwBGHdlaWdodCgBGFdlaWdodAABFGNsYXNzYAE0RGlzcGF0Y2hDbGFzcwABIHBheXNfZmVlZAEQUGF5cwAAYAw0ZnJhbWVfc3VwcG9ydCBkaXNwYXRjaDREaXNwYXRjaENsYXNzAAEMGE5vcm1hbAAAACxPcGVyYXRpb25hbAABACRNYW5kYXRvcnkAAgAAZAw0ZnJhbWVfc3VwcG9ydCBkaXNwYXRjaBBQYXlzAAEIDFllcwAAAAhObwABAABoCChzcF9ydW50aW1lNERpc3BhdGNoRXJyb3IAATgUT3RoZXIAAAAwQ2Fubm90TG9va3VwAAEAJEJhZE9yaWdpbgACABhNb2R1bGUEAGwBLE1vZHVsZUVycm9yAAMARENvbnN1bWVyUmVtYWluaW5nAAQALE5vUHJvdmlkZXJzAAUAQFRvb01hbnlDb25zdW1lcnMABgAUVG9rZW4EAHABKFRva2VuRXJyb3IABwAoQXJpdGhtZXRpYwQAdAE8QXJpdGhtZXRpY0Vycm9yAAgANFRyYW5zYWN0aW9uYWwEAHgBSFRyYW5zYWN0aW9uYWxFcnJvcgAJACRFeGhhdXN0ZWQACgAoQ29ycnVwdGlvbgALACxVbmF2YWlsYWJsZQAMADhSb290Tm90QWxsb3dlZAANAABsCChzcF9ydW50aW1lLE1vZHVsZUVycm9yAAAIARRpbmRleAgBCHU4AAEUZXJyb3JIAYxbdTg7IE1BWF9NT0RVTEVfRVJST1JfRU5DT0RFRF9TSVpFXQAAcAgoc3BfcnVudGltZShUb2tlbkVycm9yAAEoQEZ1bmRzVW5hdmFpbGFibGUAAAAwT25seVByb3ZpZGVyAAEAMEJlbG93TWluaW11bQACADBDYW5ub3RDcmVhdGUAAwAwVW5rbm93bkFzc2V0AAQAGEZyb3plbgAFACxVbnN1cHBvcnRlZAAGAEBDYW5ub3RDcmVhdGVIb2xkAAcANE5vdEV4cGVuZGFibGUACAAcQmxvY2tlZAAJAAB0CDRzcF9hcml0aG1ldGljPEFyaXRobWV0aWNFcnJvcgABDCRVbmRlcmZsb3cAAAAgT3ZlcmZsb3cAAQA4RGl2aXNpb25CeVplcm8AAgAAeAgoc3BfcnVudGltZUhUcmFuc2FjdGlvbmFsRXJyb3IAAQgwTGltaXRSZWFjaGVkAAAAHE5vTGF5ZXIAAQAAfAw8cGFsbGV0X2JhbGFuY2VzGHBhbGxldBRFdmVudAgEVAAESQABWBxFbmRvd2VkCAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABMGZyZWVfYmFsYW5jZRgBKFQ6OkJhbGFuY2UAAAS4QW4gYWNjb3VudCB3YXMgY3JlYXRlZCB3aXRoIHNvbWUgZnJlZSBiYWxhbmNlLiBEdXN0TG9zdAgBHGFjY291bnQAATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAEIPQFBbiBhY2NvdW50IHdhcyByZW1vdmVkIHdob3NlIGJhbGFuY2Ugd2FzIG5vbi16ZXJvIGJ1dCBiZWxvdyBFeGlzdGVudGlhbERlcG9zaXQseHJlc3VsdGluZyBpbiBhbiBvdXRyaWdodCBsb3NzLiBUcmFuc2ZlcgwBEGZyb20AATBUOjpBY2NvdW50SWQAAQh0bwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAAgRMVHJhbnNmZXIgc3VjY2VlZGVkLihCYWxhbmNlU2V0CAEMd2hvAAEwVDo6QWNjb3VudElkAAEQZnJlZRgBKFQ6OkJhbGFuY2UAAwRoQSBiYWxhbmNlIHdhcyBzZXQgYnkgcm9vdC4gUmVzZXJ2ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAQE4FNvbWUgYmFsYW5jZSB3YXMgcmVzZXJ2ZWQgKG1vdmVkIGZyb20gZnJlZSB0byByZXNlcnZlZCkuKFVucmVzZXJ2ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAUE6FNvbWUgYmFsYW5jZSB3YXMgdW5yZXNlcnZlZCAobW92ZWQgZnJvbSByZXNlcnZlZCB0byBmcmVlKS5IUmVzZXJ2ZVJlcGF0cmlhdGVkEAEQZnJvbQABMFQ6OkFjY291bnRJZAABCHRvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQABSGRlc3RpbmF0aW9uX3N0YXR1c4ABGFN0YXR1cwAGCE0BU29tZSBiYWxhbmNlIHdhcyBtb3ZlZCBmcm9tIHRoZSByZXNlcnZlIG9mIHRoZSBmaXJzdCBhY2NvdW50IHRvIHRoZSBzZWNvbmQgYWNjb3VudC7YRmluYWwgYXJndW1lbnQgaW5kaWNhdGVzIHRoZSBkZXN0aW5hdGlvbiBiYWxhbmNlIHR5cGUuHERlcG9zaXQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAcE2FNvbWUgYW1vdW50IHdhcyBkZXBvc2l0ZWQgKGUuZy4gZm9yIHRyYW5zYWN0aW9uIGZlZXMpLiBXaXRoZHJhdwgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UACAQdAVNvbWUgYW1vdW50IHdhcyB3aXRoZHJhd24gZnJvbSB0aGUgYWNjb3VudCAoZS5nLiBmb3IgdHJhbnNhY3Rpb24gZmVlcykuHFNsYXNoZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAkEAQFTb21lIGFtb3VudCB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBhY2NvdW50IChlLmcuIGZvciBtaXNiZWhhdmlvcikuGE1pbnRlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UACgScU29tZSBhbW91bnQgd2FzIG1pbnRlZCBpbnRvIGFuIGFjY291bnQuGEJ1cm5lZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UACwScU29tZSBhbW91bnQgd2FzIGJ1cm5lZCBmcm9tIGFuIGFjY291bnQuJFN1c3BlbmRlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UADAQVAVNvbWUgYW1vdW50IHdhcyBzdXNwZW5kZWQgZnJvbSBhbiBhY2NvdW50IChpdCBjYW4gYmUgcmVzdG9yZWQgbGF0ZXIpLiBSZXN0b3JlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UADQSkU29tZSBhbW91bnQgd2FzIHJlc3RvcmVkIGludG8gYW4gYWNjb3VudC4gVXBncmFkZWQEAQx3aG8AATBUOjpBY2NvdW50SWQADgRgQW4gYWNjb3VudCB3YXMgdXBncmFkZWQuGElzc3VlZAQBGGFtb3VudBgBKFQ6OkJhbGFuY2UADwQtAVRvdGFsIGlzc3VhbmNlIHdhcyBpbmNyZWFzZWQgYnkgYGFtb3VudGAsIGNyZWF0aW5nIGEgY3JlZGl0IHRvIGJlIGJhbGFuY2VkLiRSZXNjaW5kZWQEARhhbW91bnQYAShUOjpCYWxhbmNlABAEJQFUb3RhbCBpc3N1YW5jZSB3YXMgZGVjcmVhc2VkIGJ5IGBhbW91bnRgLCBjcmVhdGluZyBhIGRlYnQgdG8gYmUgYmFsYW5jZWQuGExvY2tlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAEQRgU29tZSBiYWxhbmNlIHdhcyBsb2NrZWQuIFVubG9ja2VkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQASBGhTb21lIGJhbGFuY2Ugd2FzIHVubG9ja2VkLhhGcm96ZW4IAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlABMEYFNvbWUgYmFsYW5jZSB3YXMgZnJvemVuLhhUaGF3ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlABQEYFNvbWUgYmFsYW5jZSB3YXMgdGhhd2VkLkxUb3RhbElzc3VhbmNlRm9yY2VkCAEMb2xkGAEoVDo6QmFsYW5jZQABDG5ldxgBKFQ6OkJhbGFuY2UAFQSsVGhlIGBUb3RhbElzc3VhbmNlYCB3YXMgZm9yY2VmdWxseSBjaGFuZ2VkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldIAUNGZyYW1lX3N1cHBvcnQYdHJhaXRzGHRva2VucxBtaXNjNEJhbGFuY2VTdGF0dXMAAQgQRnJlZQAAACBSZXNlcnZlZAABAACEDGhwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudBhwYWxsZXQURXZlbnQEBFQAAQRIVHJhbnNhY3Rpb25GZWVQYWlkDAEMd2hvAAEwVDo6QWNjb3VudElkAAEoYWN0dWFsX2ZlZRgBMEJhbGFuY2VPZjxUPgABDHRpcBgBMEJhbGFuY2VPZjxUPgAACFkBQSB0cmFuc2FjdGlvbiBmZWUgYGFjdHVhbF9mZWVgLCBvZiB3aGljaCBgdGlwYCB3YXMgYWRkZWQgdG8gdGhlIG1pbmltdW0gaW5jbHVzaW9uIGZlZSxcaGFzIGJlZW4gcGFpZCBieSBgd2hvYC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSIDIBwYWxsZXRfdHJhbnNhY3Rpb25fbXVsdGlfcGF5bWVudBhwYWxsZXQURXZlbnQEBFQAARAsQ3VycmVuY3lTZXQIAShhY2NvdW50X2lkAAEwVDo6QWNjb3VudElkAAEgYXNzZXRfaWQQATBBc3NldElkT2Y8VD4AAAgsQ3VycmVuY3lTZXQ8W3dobywgY3VycmVuY3ldNEN1cnJlbmN5QWRkZWQEASBhc3NldF9pZBABMEFzc2V0SWRPZjxUPgABCGxOZXcgYWNjZXB0ZWQgY3VycmVuY3kgYWRkZWQoW2N1cnJlbmN5XTxDdXJyZW5jeVJlbW92ZWQEASBhc3NldF9pZBABMEFzc2V0SWRPZjxUPgACCGRBY2NlcHRlZCBjdXJyZW5jeSByZW1vdmVkKFtjdXJyZW5jeV0wRmVlV2l0aGRyYXduFAEoYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAABIGFzc2V0X2lkEAEwQXNzZXRJZE9mPFQ+AAFEbmF0aXZlX2ZlZV9hbW91bnQYATBCYWxhbmNlT2Y8VD4AAVRub25fbmF0aXZlX2ZlZV9hbW91bnQYATBCYWxhbmNlT2Y8VD4AAVhkZXN0aW5hdGlvbl9hY2NvdW50X2lkAAEwVDo6QWNjb3VudElkAAMIrFRyYW5zYWN0aW9uIGZlZSBwYWlkIGluIG5vbi1uYXRpdmUgY3VycmVuY3lJAVtBY2NvdW50LCBDdXJyZW5jeSwgTmF0aXZlIGZlZSBhbW91bnQsIE5vbi1uYXRpdmUgZmVlIGFtb3VudCwgRGVzdGluYXRpb24gYWNjb3VudF0EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSMDDxwYWxsZXRfdHJlYXN1cnkYcGFsbGV0FEV2ZW50CARUAARJAAEwIFNwZW5kaW5nBAFAYnVkZ2V0X3JlbWFpbmluZxgBPEJhbGFuY2VPZjxULCBJPgAABORXZSBoYXZlIGVuZGVkIGEgc3BlbmQgcGVyaW9kIGFuZCB3aWxsIG5vdyBhbGxvY2F0ZSBmdW5kcy4cQXdhcmRlZAwBOHByb3Bvc2FsX2luZGV4EAE0UHJvcG9zYWxJbmRleAABFGF3YXJkGAE8QmFsYW5jZU9mPFQsIEk+AAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABBHxTb21lIGZ1bmRzIGhhdmUgYmVlbiBhbGxvY2F0ZWQuFEJ1cm50BAEsYnVybnRfZnVuZHMYATxCYWxhbmNlT2Y8VCwgST4AAgSIU29tZSBvZiBvdXIgZnVuZHMgaGF2ZSBiZWVuIGJ1cm50LiBSb2xsb3ZlcgQBQHJvbGxvdmVyX2JhbGFuY2UYATxCYWxhbmNlT2Y8VCwgST4AAwQtAVNwZW5kaW5nIGhhcyBmaW5pc2hlZDsgdGhpcyBpcyB0aGUgYW1vdW50IHRoYXQgcm9sbHMgb3ZlciB1bnRpbCBuZXh0IHNwZW5kLhxEZXBvc2l0BAEUdmFsdWUYATxCYWxhbmNlT2Y8VCwgST4ABAR8U29tZSBmdW5kcyBoYXZlIGJlZW4gZGVwb3NpdGVkLjRTcGVuZEFwcHJvdmVkDAE4cHJvcG9zYWxfaW5kZXgQATRQcm9wb3NhbEluZGV4AAEYYW1vdW50GAE8QmFsYW5jZU9mPFQsIEk+AAEsYmVuZWZpY2lhcnkAATBUOjpBY2NvdW50SWQABQScQSBuZXcgc3BlbmQgcHJvcG9zYWwgaGFzIGJlZW4gYXBwcm92ZWQuPFVwZGF0ZWRJbmFjdGl2ZQgBLHJlYWN0aXZhdGVkGAE8QmFsYW5jZU9mPFQsIEk+AAEsZGVhY3RpdmF0ZWQYATxCYWxhbmNlT2Y8VCwgST4ABgTMVGhlIGluYWN0aXZlIGZ1bmRzIG9mIHRoZSBwYWxsZXQgaGF2ZSBiZWVuIHVwZGF0ZWQuSEFzc2V0U3BlbmRBcHByb3ZlZBgBFGluZGV4EAEoU3BlbmRJbmRleAABKGFzc2V0X2tpbmSQATBUOjpBc3NldEtpbmQAARhhbW91bnQYAVBBc3NldEJhbGFuY2VPZjxULCBJPgABLGJlbmVmaWNpYXJ5AAE4VDo6QmVuZWZpY2lhcnkAASh2YWxpZF9mcm9tEAFEQmxvY2tOdW1iZXJGb3I8VD4AASRleHBpcmVfYXQQAURCbG9ja051bWJlckZvcjxUPgAHBLRBIG5ldyBhc3NldCBzcGVuZCBwcm9wb3NhbCBoYXMgYmVlbiBhcHByb3ZlZC5AQXNzZXRTcGVuZFZvaWRlZAQBFGluZGV4EAEoU3BlbmRJbmRleAAIBHRBbiBhcHByb3ZlZCBzcGVuZCB3YXMgdm9pZGVkLhBQYWlkCAEUaW5kZXgQAShTcGVuZEluZGV4AAEocGF5bWVudF9pZJABZDxUOjpQYXltYXN0ZXIgYXMgUGF5Pjo6SWQACQRMQSBwYXltZW50IGhhcHBlbmVkLjRQYXltZW50RmFpbGVkCAEUaW5kZXgQAShTcGVuZEluZGV4AAEocGF5bWVudF9pZJABZDxUOjpQYXltYXN0ZXIgYXMgUGF5Pjo6SWQACgSQQSBwYXltZW50IGZhaWxlZCBhbmQgY2FuIGJlIHJldHJpZWQuOFNwZW5kUHJvY2Vzc2VkBAEUaW5kZXgQAShTcGVuZEluZGV4AAsITQFBIHNwZW5kIHdhcyBwcm9jZXNzZWQgYW5kIHJlbW92ZWQgZnJvbSB0aGUgc3RvcmFnZS4gSXQgbWlnaHQgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseXBwYWlkIG9yIGl0IG1heSBoYXZlIGV4cGlyZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0kAAABAAAlAw4cGFsbGV0X3V0aWxpdHkYcGFsbGV0FEV2ZW50AAEYQEJhdGNoSW50ZXJydXB0ZWQIARRpbmRleBABDHUzMgABFGVycm9yaAE0RGlzcGF0Y2hFcnJvcgAACFUBQmF0Y2ggb2YgZGlzcGF0Y2hlcyBkaWQgbm90IGNvbXBsZXRlIGZ1bGx5LiBJbmRleCBvZiBmaXJzdCBmYWlsaW5nIGRpc3BhdGNoIGdpdmVuLCBhc0h3ZWxsIGFzIHRoZSBlcnJvci44QmF0Y2hDb21wbGV0ZWQAAQTIQmF0Y2ggb2YgZGlzcGF0Y2hlcyBjb21wbGV0ZWQgZnVsbHkgd2l0aCBubyBlcnJvci5gQmF0Y2hDb21wbGV0ZWRXaXRoRXJyb3JzAAIEtEJhdGNoIG9mIGRpc3BhdGNoZXMgY29tcGxldGVkIGJ1dCBoYXMgZXJyb3JzLjRJdGVtQ29tcGxldGVkAAMEHQFBIHNpbmdsZSBpdGVtIHdpdGhpbiBhIEJhdGNoIG9mIGRpc3BhdGNoZXMgaGFzIGNvbXBsZXRlZCB3aXRoIG5vIGVycm9yLihJdGVtRmFpbGVkBAEUZXJyb3JoATREaXNwYXRjaEVycm9yAAQEEQFBIHNpbmdsZSBpdGVtIHdpdGhpbiBhIEJhdGNoIG9mIGRpc3BhdGNoZXMgaGFzIGNvbXBsZXRlZCB3aXRoIGVycm9yLjBEaXNwYXRjaGVkQXMEARhyZXN1bHSYAThEaXNwYXRjaFJlc3VsdAAFBFhBIGNhbGwgd2FzIGRpc3BhdGNoZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0mAQYUmVzdWx0CARUAZAERQFoAQgIT2sEAJAAAAAADEVycgQAaAAAAQAAnAw8cGFsbGV0X3ByZWltYWdlGHBhbGxldBRFdmVudAQEVAABDBROb3RlZAQBEGhhc2g0ARxUOjpIYXNoAAAEaEEgcHJlaW1hZ2UgaGFzIGJlZW4gbm90ZWQuJFJlcXVlc3RlZAQBEGhhc2g0ARxUOjpIYXNoAAEEeEEgcHJlaW1hZ2UgaGFzIGJlZW4gcmVxdWVzdGVkLhxDbGVhcmVkBAEQaGFzaDQBHFQ6Okhhc2gAAgRsQSBwcmVpbWFnZSBoYXMgYmVuIGNsZWFyZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0oAw8cGFsbGV0X2lkZW50aXR5GHBhbGxldBRFdmVudAQEVAABRCxJZGVudGl0eVNldAQBDHdobwABMFQ6OkFjY291bnRJZAAABOxBIG5hbWUgd2FzIHNldCBvciByZXNldCAod2hpY2ggd2lsbCByZW1vdmUgYWxsIGp1ZGdlbWVudHMpLjxJZGVudGl0eUNsZWFyZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAEEzEEgbmFtZSB3YXMgY2xlYXJlZCwgYW5kIHRoZSBnaXZlbiBiYWxhbmNlIHJldHVybmVkLjhJZGVudGl0eUtpbGxlZAgBDHdobwABMFQ6OkFjY291bnRJZAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4AAgTEQSBuYW1lIHdhcyByZW1vdmVkIGFuZCB0aGUgZ2l2ZW4gYmFsYW5jZSBzbGFzaGVkLkhKdWRnZW1lbnRSZXF1ZXN0ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAATxyZWdpc3RyYXJfaW5kZXgQAThSZWdpc3RyYXJJbmRleAADBJxBIGp1ZGdlbWVudCB3YXMgYXNrZWQgZnJvbSBhIHJlZ2lzdHJhci5QSnVkZ2VtZW50VW5yZXF1ZXN0ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAATxyZWdpc3RyYXJfaW5kZXgQAThSZWdpc3RyYXJJbmRleAAEBIhBIGp1ZGdlbWVudCByZXF1ZXN0IHdhcyByZXRyYWN0ZWQuOEp1ZGdlbWVudEdpdmVuCAEYdGFyZ2V0AAEwVDo6QWNjb3VudElkAAE8cmVnaXN0cmFyX2luZGV4EAE4UmVnaXN0cmFySW5kZXgABQSUQSBqdWRnZW1lbnQgd2FzIGdpdmVuIGJ5IGEgcmVnaXN0cmFyLjhSZWdpc3RyYXJBZGRlZAQBPHJlZ2lzdHJhcl9pbmRleBABOFJlZ2lzdHJhckluZGV4AAYEWEEgcmVnaXN0cmFyIHdhcyBhZGRlZC5AU3ViSWRlbnRpdHlBZGRlZAwBDHN1YgABMFQ6OkFjY291bnRJZAABEG1haW4AATBUOjpBY2NvdW50SWQAARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAcE9EEgc3ViLWlkZW50aXR5IHdhcyBhZGRlZCB0byBhbiBpZGVudGl0eSBhbmQgdGhlIGRlcG9zaXQgcGFpZC5IU3ViSWRlbnRpdHlSZW1vdmVkDAEMc3ViAAEwVDo6QWNjb3VudElkAAEQbWFpbgABMFQ6OkFjY291bnRJZAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4ACAQJAUEgc3ViLWlkZW50aXR5IHdhcyByZW1vdmVkIGZyb20gYW4gaWRlbnRpdHkgYW5kIHRoZSBkZXBvc2l0IGZyZWVkLkhTdWJJZGVudGl0eVJldm9rZWQMAQxzdWIAATBUOjpBY2NvdW50SWQAARBtYWluAAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgAJCBkBQSBzdWItaWRlbnRpdHkgd2FzIGNsZWFyZWQsIGFuZCB0aGUgZ2l2ZW4gZGVwb3NpdCByZXBhdHJpYXRlZCBmcm9tIHRoZchtYWluIGlkZW50aXR5IGFjY291bnQgdG8gdGhlIHN1Yi1pZGVudGl0eSBhY2NvdW50LjhBdXRob3JpdHlBZGRlZAQBJGF1dGhvcml0eQABMFQ6OkFjY291bnRJZAAKBHxBIHVzZXJuYW1lIGF1dGhvcml0eSB3YXMgYWRkZWQuQEF1dGhvcml0eVJlbW92ZWQEASRhdXRob3JpdHkAATBUOjpBY2NvdW50SWQACwSEQSB1c2VybmFtZSBhdXRob3JpdHkgd2FzIHJlbW92ZWQuLFVzZXJuYW1lU2V0CAEMd2hvAAEwVDo6QWNjb3VudElkAAEgdXNlcm5hbWWkASxVc2VybmFtZTxUPgAMBHRBIHVzZXJuYW1lIHdhcyBzZXQgZm9yIGB3aG9gLjhVc2VybmFtZVF1ZXVlZAwBDHdobwABMFQ6OkFjY291bnRJZAABIHVzZXJuYW1lpAEsVXNlcm5hbWU8VD4AAShleHBpcmF0aW9uEAFEQmxvY2tOdW1iZXJGb3I8VD4ADQQZAUEgdXNlcm5hbWUgd2FzIHF1ZXVlZCwgYnV0IGB3aG9gIG11c3QgYWNjZXB0IGl0IHByaW9yIHRvIGBleHBpcmF0aW9uYC5IUHJlYXBwcm92YWxFeHBpcmVkBAEUd2hvc2UAATBUOjpBY2NvdW50SWQADgQ5AUEgcXVldWVkIHVzZXJuYW1lIHBhc3NlZCBpdHMgZXhwaXJhdGlvbiB3aXRob3V0IGJlaW5nIGNsYWltZWQgYW5kIHdhcyByZW1vdmVkLkhQcmltYXJ5VXNlcm5hbWVTZXQIAQx3aG8AATBUOjpBY2NvdW50SWQAASB1c2VybmFtZaQBLFVzZXJuYW1lPFQ+AA8EAQFBIHVzZXJuYW1lIHdhcyBzZXQgYXMgYSBwcmltYXJ5IGFuZCBjYW4gYmUgbG9va2VkIHVwIGZyb20gYHdob2AuXERhbmdsaW5nVXNlcm5hbWVSZW1vdmVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEgdXNlcm5hbWWkASxVc2VybmFtZTxUPgAQCF0BQSBkYW5nbGluZyB1c2VybmFtZSAoYXMgaW4sIGEgdXNlcm5hbWUgY29ycmVzcG9uZGluZyB0byBhbiBhY2NvdW50IHRoYXQgaGFzIHJlbW92ZWQgaXRzbGlkZW50aXR5KSBoYXMgYmVlbiByZW1vdmVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldKQMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AACoDEBwYWxsZXRfZGVtb2NyYWN5GHBhbGxldBRFdmVudAQEVAABRCBQcm9wb3NlZAgBOHByb3Bvc2FsX2luZGV4EAEkUHJvcEluZGV4AAEcZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgAABLxBIG1vdGlvbiBoYXMgYmVlbiBwcm9wb3NlZCBieSBhIHB1YmxpYyBhY2NvdW50LhhUYWJsZWQIAThwcm9wb3NhbF9pbmRleBABJFByb3BJbmRleAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4AAQTYQSBwdWJsaWMgcHJvcG9zYWwgaGFzIGJlZW4gdGFibGVkIGZvciByZWZlcmVuZHVtIHZvdGUuOEV4dGVybmFsVGFibGVkAAIElEFuIGV4dGVybmFsIHByb3Bvc2FsIGhhcyBiZWVuIHRhYmxlZC4cU3RhcnRlZAgBJHJlZl9pbmRleBABPFJlZmVyZW5kdW1JbmRleAABJHRocmVzaG9sZKwBNFZvdGVUaHJlc2hvbGQAAwRcQSByZWZlcmVuZHVtIGhhcyBiZWd1bi4YUGFzc2VkBAEkcmVmX2luZGV4EAE8UmVmZXJlbmR1bUluZGV4AAQErEEgcHJvcG9zYWwgaGFzIGJlZW4gYXBwcm92ZWQgYnkgcmVmZXJlbmR1bS4kTm90UGFzc2VkBAEkcmVmX2luZGV4EAE8UmVmZXJlbmR1bUluZGV4AAUErEEgcHJvcG9zYWwgaGFzIGJlZW4gcmVqZWN0ZWQgYnkgcmVmZXJlbmR1bS4kQ2FuY2VsbGVkBAEkcmVmX2luZGV4EAE8UmVmZXJlbmR1bUluZGV4AAYEgEEgcmVmZXJlbmR1bSBoYXMgYmVlbiBjYW5jZWxsZWQuJERlbGVnYXRlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGHRhcmdldAABMFQ6OkFjY291bnRJZAAHBNxBbiBhY2NvdW50IGhhcyBkZWxlZ2F0ZWQgdGhlaXIgdm90ZSB0byBhbm90aGVyIGFjY291bnQuLFVuZGVsZWdhdGVkBAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAAIBORBbiBhY2NvdW50IGhhcyBjYW5jZWxsZWQgYSBwcmV2aW91cyBkZWxlZ2F0aW9uIG9wZXJhdGlvbi4YVmV0b2VkDAEMd2hvAAEwVDo6QWNjb3VudElkAAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAARR1bnRpbBABREJsb2NrTnVtYmVyRm9yPFQ+AAkElEFuIGV4dGVybmFsIHByb3Bvc2FsIGhhcyBiZWVuIHZldG9lZC4sQmxhY2tsaXN0ZWQEATRwcm9wb3NhbF9oYXNoNAEcVDo6SGFzaAAKBMRBIHByb3Bvc2FsX2hhc2ggaGFzIGJlZW4gYmxhY2tsaXN0ZWQgcGVybWFuZW50bHkuFFZvdGVkDAEUdm90ZXIAATBUOjpBY2NvdW50SWQAASRyZWZfaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgAARB2b3RlsAFkQWNjb3VudFZvdGU8QmFsYW5jZU9mPFQ+PgALBJBBbiBhY2NvdW50IGhhcyB2b3RlZCBpbiBhIHJlZmVyZW5kdW0gU2Vjb25kZWQIASBzZWNvbmRlcgABMFQ6OkFjY291bnRJZAABKHByb3BfaW5kZXgQASRQcm9wSW5kZXgADASMQW4gYWNjb3VudCBoYXMgc2VjY29uZGVkIGEgcHJvcG9zYWxAUHJvcG9zYWxDYW5jZWxlZAQBKHByb3BfaW5kZXgQASRQcm9wSW5kZXgADQRgQSBwcm9wb3NhbCBnb3QgY2FuY2VsZWQuLE1ldGFkYXRhU2V0CAEUb3duZXK4ATRNZXRhZGF0YU93bmVyBDxNZXRhZGF0YSBvd25lci4BEGhhc2g0ARxUOjpIYXNoBDhQcmVpbWFnZSBoYXNoLg4E1E1ldGFkYXRhIGZvciBhIHByb3Bvc2FsIG9yIGEgcmVmZXJlbmR1bSBoYXMgYmVlbiBzZXQuPE1ldGFkYXRhQ2xlYXJlZAgBFG93bmVyuAE0TWV0YWRhdGFPd25lcgQ8TWV0YWRhdGEgb3duZXIuARBoYXNoNAEcVDo6SGFzaAQ4UHJlaW1hZ2UgaGFzaC4PBORNZXRhZGF0YSBmb3IgYSBwcm9wb3NhbCBvciBhIHJlZmVyZW5kdW0gaGFzIGJlZW4gY2xlYXJlZC5MTWV0YWRhdGFUcmFuc2ZlcnJlZAwBKHByZXZfb3duZXK4ATRNZXRhZGF0YU93bmVyBGBQcmV2aW91cyBtZXRhZGF0YSBvd25lci4BFG93bmVyuAE0TWV0YWRhdGFPd25lcgRMTmV3IG1ldGFkYXRhIG93bmVyLgEQaGFzaDQBHFQ6Okhhc2gEOFByZWltYWdlIGhhc2guEASsTWV0YWRhdGEgaGFzIGJlZW4gdHJhbnNmZXJyZWQgdG8gbmV3IG93bmVyLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldKwMQHBhbGxldF9kZW1vY3JhY3k4dm90ZV90aHJlc2hvbGQ0Vm90ZVRocmVzaG9sZAABDFBTdXBlck1ham9yaXR5QXBwcm92ZQAAAFBTdXBlck1ham9yaXR5QWdhaW5zdAABADhTaW1wbGVNYWpvcml0eQACAACwDEBwYWxsZXRfZGVtb2NyYWN5EHZvdGUsQWNjb3VudFZvdGUEHEJhbGFuY2UBGAEIIFN0YW5kYXJkCAEQdm90ZbQBEFZvdGUAARxiYWxhbmNlGAEcQmFsYW5jZQAAABRTcGxpdAgBDGF5ZRgBHEJhbGFuY2UAAQxuYXkYARxCYWxhbmNlAAEAALQMQHBhbGxldF9kZW1vY3JhY3kQdm90ZRBWb3RlAAAEAAgAAAC4DEBwYWxsZXRfZGVtb2NyYWN5FHR5cGVzNE1ldGFkYXRhT3duZXIAAQwgRXh0ZXJuYWwAAAAgUHJvcG9zYWwEABABJFByb3BJbmRleAABAChSZWZlcmVuZHVtBAAQATxSZWZlcmVuZHVtSW5kZXgAAgAAvAxEcGFsbGV0X2NvbGxlY3RpdmUYcGFsbGV0FEV2ZW50CARUAARJAAEcIFByb3Bvc2VkEAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABOHByb3Bvc2FsX2luZGV4EAE0UHJvcG9zYWxJbmRleAABNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEkdGhyZXNob2xkEAEsTWVtYmVyQ291bnQAAAhJAUEgbW90aW9uIChnaXZlbiBoYXNoKSBoYXMgYmVlbiBwcm9wb3NlZCAoYnkgZ2l2ZW4gYWNjb3VudCkgd2l0aCBhIHRocmVzaG9sZCAoZ2l2ZW48YE1lbWJlckNvdW50YCkuFFZvdGVkFAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEUdm90ZWQgARBib29sAAEMeWVzEAEsTWVtYmVyQ291bnQAAQhubxABLE1lbWJlckNvdW50AAEIBQFBIG1vdGlvbiAoZ2l2ZW4gaGFzaCkgaGFzIGJlZW4gdm90ZWQgb24gYnkgZ2l2ZW4gYWNjb3VudCwgbGVhdmluZxUBYSB0YWxseSAoeWVzIHZvdGVzIGFuZCBubyB2b3RlcyBnaXZlbiByZXNwZWN0aXZlbHkgYXMgYE1lbWJlckNvdW50YCkuIEFwcHJvdmVkBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAAgTAQSBtb3Rpb24gd2FzIGFwcHJvdmVkIGJ5IHRoZSByZXF1aXJlZCB0aHJlc2hvbGQuLERpc2FwcHJvdmVkBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAAwTQQSBtb3Rpb24gd2FzIG5vdCBhcHByb3ZlZCBieSB0aGUgcmVxdWlyZWQgdGhyZXNob2xkLiBFeGVjdXRlZAgBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQABAQhAUEgbW90aW9uIHdhcyBleGVjdXRlZDsgcmVzdWx0IHdpbGwgYmUgYE9rYCBpZiBpdCByZXR1cm5lZCB3aXRob3V0IGVycm9yLjhNZW1iZXJFeGVjdXRlZAgBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQABQRJAUEgc2luZ2xlIG1lbWJlciBkaWQgc29tZSBhY3Rpb247IHJlc3VsdCB3aWxsIGJlIGBPa2AgaWYgaXQgcmV0dXJuZWQgd2l0aG91dCBlcnJvci4YQ2xvc2VkDAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAAQx5ZXMQASxNZW1iZXJDb3VudAABCG5vEAEsTWVtYmVyQ291bnQABgRVAUEgcHJvcG9zYWwgd2FzIGNsb3NlZCBiZWNhdXNlIGl0cyB0aHJlc2hvbGQgd2FzIHJlYWNoZWQgb3IgYWZ0ZXIgaXRzIGR1cmF0aW9uIHdhcyB1cC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTADDBwYWxsZXRfcHJveHkYcGFsbGV0FEV2ZW50BARUAAEUNFByb3h5RXhlY3V0ZWQEARhyZXN1bHSYAThEaXNwYXRjaFJlc3VsdAAABLxBIHByb3h5IHdhcyBleGVjdXRlZCBjb3JyZWN0bHksIHdpdGggdGhlIGdpdmVuLixQdXJlQ3JlYXRlZBABEHB1cmUAATBUOjpBY2NvdW50SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAAShwcm94eV90eXBlxAEwVDo6UHJveHlUeXBlAAFQZGlzYW1iaWd1YXRpb25faW5kZXjIAQx1MTYAAQjcQSBwdXJlIGFjY291bnQgaGFzIGJlZW4gY3JlYXRlZCBieSBuZXcgcHJveHkgd2l0aCBnaXZlbpBkaXNhbWJpZ3VhdGlvbiBpbmRleCBhbmQgcHJveHkgdHlwZS4kQW5ub3VuY2VkDAEQcmVhbAABMFQ6OkFjY291bnRJZAABFHByb3h5AAEwVDo6QWNjb3VudElkAAEkY2FsbF9oYXNoNAE0Q2FsbEhhc2hPZjxUPgACBOBBbiBhbm5vdW5jZW1lbnQgd2FzIHBsYWNlZCB0byBtYWtlIGEgY2FsbCBpbiB0aGUgZnV0dXJlLihQcm94eUFkZGVkEAEkZGVsZWdhdG9yAAEwVDo6QWNjb3VudElkAAEkZGVsZWdhdGVlAAEwVDo6QWNjb3VudElkAAEocHJveHlfdHlwZcQBMFQ6OlByb3h5VHlwZQABFGRlbGF5EAFEQmxvY2tOdW1iZXJGb3I8VD4AAwRIQSBwcm94eSB3YXMgYWRkZWQuMFByb3h5UmVtb3ZlZBABJGRlbGVnYXRvcgABMFQ6OkFjY291bnRJZAABJGRlbGVnYXRlZQABMFQ6OkFjY291bnRJZAABKHByb3h5X3R5cGXEATBUOjpQcm94eVR5cGUAARRkZWxheRABREJsb2NrTnVtYmVyRm9yPFQ+AAQEUEEgcHJveHkgd2FzIHJlbW92ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0xAw8aHlkcmFkeF9ydW50aW1lGHN5c3RlbSRQcm94eVR5cGUAARgMQW55AAAALENhbmNlbFByb3h5AAEAKEdvdmVybmFuY2UAAgAgVHJhbnNmZXIAAwAkTGlxdWlkaXR5AAQAPExpcXVpZGl0eU1pbmluZwAFAADIAAAFBADMDDxwYWxsZXRfbXVsdGlzaWcYcGFsbGV0FEV2ZW50BARUAAEQLE5ld011bHRpc2lnDAEkYXBwcm92aW5nAAEwVDo6QWNjb3VudElkAAEgbXVsdGlzaWcAATBUOjpBY2NvdW50SWQAASRjYWxsX2hhc2gEASBDYWxsSGFzaAAABIxBIG5ldyBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZ3VuLkBNdWx0aXNpZ0FwcHJvdmFsEAEkYXBwcm92aW5nAAEwVDo6QWNjb3VudElkAAEkdGltZXBvaW500AFwVGltZXBvaW50PEJsb2NrTnVtYmVyRm9yPFQ+PgABIG11bHRpc2lnAAEwVDo6QWNjb3VudElkAAEkY2FsbF9oYXNoBAEgQ2FsbEhhc2gAAQTIQSBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZW4gYXBwcm92ZWQgYnkgc29tZW9uZS5ATXVsdGlzaWdFeGVjdXRlZBQBJGFwcHJvdmluZwABMFQ6OkFjY291bnRJZAABJHRpbWVwb2ludNABcFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4AASBtdWx0aXNpZwABMFQ6OkFjY291bnRJZAABJGNhbGxfaGFzaAQBIENhbGxIYXNoAAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQAAgScQSBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZW4gZXhlY3V0ZWQuRE11bHRpc2lnQ2FuY2VsbGVkEAEoY2FuY2VsbGluZwABMFQ6OkFjY291bnRJZAABJHRpbWVwb2ludNABcFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4AASBtdWx0aXNpZwABMFQ6OkFjY291bnRJZAABJGNhbGxfaGFzaAQBIENhbGxIYXNoAAMEoEEgbXVsdGlzaWcgb3BlcmF0aW9uIGhhcyBiZWVuIGNhbmNlbGxlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTQCDxwYWxsZXRfbXVsdGlzaWckVGltZXBvaW50BCxCbG9ja051bWJlcgEQAAgBGGhlaWdodBABLEJsb2NrTnVtYmVyAAEUaW5kZXgQAQx1MzIAANQMOHBhbGxldF91bmlxdWVzGHBhbGxldBRFdmVudAgEVAAESQABbBxDcmVhdGVkDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABHGNyZWF0b3IAATBUOjpBY2NvdW50SWQAARRvd25lcgABMFQ6OkFjY291bnRJZAAABGxBIGBjb2xsZWN0aW9uYCB3YXMgY3JlYXRlZC4wRm9yY2VDcmVhdGVkCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAEEhEEgYGNvbGxlY3Rpb25gIHdhcyBmb3JjZS1jcmVhdGVkLiREZXN0cm95ZWQEAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAIEdEEgYGNvbGxlY3Rpb25gIHdhcyBkZXN0cm95ZWQuGElzc3VlZAwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAAwRUQW4gYGl0ZW1gIHdhcyBpc3N1ZWQuLFRyYW5zZmVycmVkEAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARBmcm9tAAEwVDo6QWNjb3VudElkAAEIdG8AATBUOjpBY2NvdW50SWQABARoQW4gYGl0ZW1gIHdhcyB0cmFuc2ZlcnJlZC4YQnVybmVkDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAAFBGBBbiBgaXRlbWAgd2FzIGRlc3Ryb3llZC4YRnJvemVuCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQABgRcU29tZSBgaXRlbWAgd2FzIGZyb3plbi4YVGhhd2VkCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQABwRcU29tZSBgaXRlbWAgd2FzIHRoYXdlZC5AQ29sbGVjdGlvbkZyb3plbgQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQACAR0U29tZSBgY29sbGVjdGlvbmAgd2FzIGZyb3plbi5AQ29sbGVjdGlvblRoYXdlZAQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQACQR0U29tZSBgY29sbGVjdGlvbmAgd2FzIHRoYXdlZC4wT3duZXJDaGFuZ2VkCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABJG5ld19vd25lcgABMFQ6OkFjY291bnRJZAAKBEhUaGUgb3duZXIgY2hhbmdlZC4sVGVhbUNoYW5nZWQQAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEYaXNzdWVyAAEwVDo6QWNjb3VudElkAAEUYWRtaW4AATBUOjpBY2NvdW50SWQAARxmcmVlemVyAAEwVDo6QWNjb3VudElkAAsEcFRoZSBtYW5hZ2VtZW50IHRlYW0gY2hhbmdlZC5AQXBwcm92ZWRUcmFuc2ZlchABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAASBkZWxlZ2F0ZQABMFQ6OkFjY291bnRJZAAMCDEBQW4gYGl0ZW1gIG9mIGEgYGNvbGxlY3Rpb25gIGhhcyBiZWVuIGFwcHJvdmVkIGJ5IHRoZSBgb3duZXJgIGZvciB0cmFuc2ZlciBieTRhIGBkZWxlZ2F0ZWAuREFwcHJvdmFsQ2FuY2VsbGVkEAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABIGRlbGVnYXRlAAEwVDo6QWNjb3VudElkAA0IGQFBbiBhcHByb3ZhbCBmb3IgYSBgZGVsZWdhdGVgIGFjY291bnQgdG8gdHJhbnNmZXIgdGhlIGBpdGVtYCBvZiBhbiBpdGVtqGBjb2xsZWN0aW9uYCB3YXMgY2FuY2VsbGVkIGJ5IGl0cyBgb3duZXJgLkRJdGVtU3RhdHVzQ2hhbmdlZAQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQADgQRAUEgYGNvbGxlY3Rpb25gIGhhcyBoYWQgaXRzIGF0dHJpYnV0ZXMgY2hhbmdlZCBieSB0aGUgYEZvcmNlYCBvcmlnaW4uVENvbGxlY3Rpb25NZXRhZGF0YVNldAwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBkYXRh2AF4Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+AAEkaXNfZnJvemVuIAEQYm9vbAAPBLROZXcgbWV0YWRhdGEgaGFzIGJlZW4gc2V0IGZvciBhIGBjb2xsZWN0aW9uYC5kQ29sbGVjdGlvbk1ldGFkYXRhQ2xlYXJlZAQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAEAS0TWV0YWRhdGEgaGFzIGJlZW4gY2xlYXJlZCBmb3IgYSBgY29sbGVjdGlvbmAuLE1ldGFkYXRhU2V0EAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARBkYXRh2AF4Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+AAEkaXNfZnJvemVuIAEQYm9vbAARBJhOZXcgbWV0YWRhdGEgaGFzIGJlZW4gc2V0IGZvciBhbiBpdGVtLjxNZXRhZGF0YUNsZWFyZWQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAASBJhNZXRhZGF0YSBoYXMgYmVlbiBjbGVhcmVkIGZvciBhbiBpdGVtLixSZWRlcG9zaXRlZAgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAAUBzdWNjZXNzZnVsX2l0ZW1z3AE4VmVjPFQ6Okl0ZW1JZD4AEwSYTWV0YWRhdGEgaGFzIGJlZW4gY2xlYXJlZCBmb3IgYW4gaXRlbS4wQXR0cmlidXRlU2V0EAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABKG1heWJlX2l0ZW3gAURPcHRpb248VDo6SXRlbUlkPgABDGtleeQBbEJvdW5kZWRWZWM8dTgsIFQ6OktleUxpbWl0PgABFHZhbHVl6AF0Qm91bmRlZFZlYzx1OCwgVDo6VmFsdWVMaW1pdD4AFAQFAU5ldyBhdHRyaWJ1dGUgbWV0YWRhdGEgaGFzIGJlZW4gc2V0IGZvciBhIGBjb2xsZWN0aW9uYCBvciBgaXRlbWAuQEF0dHJpYnV0ZUNsZWFyZWQMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEobWF5YmVfaXRlbeABRE9wdGlvbjxUOjpJdGVtSWQ+AAEMa2V55AFsQm91bmRlZFZlYzx1OCwgVDo6S2V5TGltaXQ+ABUEBQFBdHRyaWJ1dGUgbWV0YWRhdGEgaGFzIGJlZW4gY2xlYXJlZCBmb3IgYSBgY29sbGVjdGlvbmAgb3IgYGl0ZW1gLmhPd25lcnNoaXBBY2NlcHRhbmNlQ2hhbmdlZAgBDHdobwABMFQ6OkFjY291bnRJZAABQG1heWJlX2NvbGxlY3Rpb27gAVxPcHRpb248VDo6Q29sbGVjdGlvbklkPgAWBMBPd25lcnNoaXAgYWNjZXB0YW5jZSBoYXMgY2hhbmdlZCBmb3IgYW4gYWNjb3VudC5YQ29sbGVjdGlvbk1heFN1cHBseVNldAgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAAShtYXhfc3VwcGx5EAEMdTMyABcEpE1heCBzdXBwbHkgaGFzIGJlZW4gc2V0IGZvciBhIGNvbGxlY3Rpb24uMEl0ZW1QcmljZVNldBABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUcHJpY2UYATxJdGVtUHJpY2U8VCwgST4AAUR3aGl0ZWxpc3RlZF9idXllcuwBUE9wdGlvbjxUOjpBY2NvdW50SWQ+ABgEjFRoZSBwcmljZSB3YXMgc2V0IGZvciB0aGUgaW5zdGFuY2UuQEl0ZW1QcmljZVJlbW92ZWQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAAZBJxUaGUgcHJpY2UgZm9yIHRoZSBpbnN0YW5jZSB3YXMgcmVtb3ZlZC4oSXRlbUJvdWdodBQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUcHJpY2UYATxJdGVtUHJpY2U8VCwgST4AARhzZWxsZXIAATBUOjpBY2NvdW50SWQAARRidXllcgABMFQ6OkFjY291bnRJZAAaBExBbiBpdGVtIHdhcyBib3VnaHQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV02AxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AANwAAAIYAOAEGE9wdGlvbgQEVAEYAQgQTm9uZQAAABBTb21lBAAYAAABAADkDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAA6AxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAOwEGE9wdGlvbgQEVAEAAQgQTm9uZQAAABBTb21lBAAAAAABAADwDGxwYWxsZXRfc3RhdGVfdHJpZV9taWdyYXRpb24YcGFsbGV0FEV2ZW50BARUAAEQIE1pZ3JhdGVkDAEMdG9wEAEMdTMyAAEUY2hpbGQQAQx1MzIAARxjb21wdXRl9AFATWlncmF0aW9uQ29tcHV0ZQAACDkBR2l2ZW4gbnVtYmVyIG9mIGAodG9wLCBjaGlsZClgIGtleXMgd2VyZSBtaWdyYXRlZCByZXNwZWN0aXZlbHksIHdpdGggdGhlIGdpdmVuKGBjb21wdXRlYC4cU2xhc2hlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgABBLRTb21lIGFjY291bnQgZ290IHNsYXNoZWQgYnkgdGhlIGdpdmVuIGFtb3VudC5UQXV0b01pZ3JhdGlvbkZpbmlzaGVkAAIEhFRoZSBhdXRvIG1pZ3JhdGlvbiB0YXNrIGZpbmlzaGVkLhhIYWx0ZWQEARRlcnJvcvgBIEVycm9yPFQ+AAME7E1pZ3JhdGlvbiBnb3QgaGFsdGVkIGR1ZSB0byBhbiBlcnJvciBvciBtaXNzLWNvbmZpZ3VyYXRpb24uBHBJbm5lciBldmVudHMgb2YgdGhpcyBwYWxsZXQu9AxscGFsbGV0X3N0YXRlX3RyaWVfbWlncmF0aW9uGHBhbGxldEBNaWdyYXRpb25Db21wdXRlAAEIGFNpZ25lZAAAABBBdXRvAAEAAPgMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQURXJyb3IEBFQAARg8TWF4U2lnbmVkTGltaXRzAAAEgE1heCBzaWduZWQgbGltaXRzIG5vdCByZXNwZWN0ZWQuKEtleVRvb0xvbmcAARy0QSBrZXkgd2FzIGxvbmdlciB0aGFuIHRoZSBjb25maWd1cmVkIG1heGltdW0uABEBVGhpcyBtZWFucyB0aGF0IHRoZSBtaWdyYXRpb24gaGFsdGVkIGF0IHRoZSBjdXJyZW50IFtgUHJvZ3Jlc3NgXSBhbmQBAWNhbiBiZSByZXN1bWVkIHdpdGggYSBsYXJnZXIgW2BjcmF0ZTo6Q29uZmlnOjpNYXhLZXlMZW5gXSB2YWx1ZS4hAVJldHJ5aW5nIHdpdGggdGhlIHNhbWUgW2BjcmF0ZTo6Q29uZmlnOjpNYXhLZXlMZW5gXSB2YWx1ZSB3aWxsIG5vdCB3b3JrLkUBVGhlIHZhbHVlIHNob3VsZCBvbmx5IGJlIGluY3JlYXNlZCB0byBhdm9pZCBhIHN0b3JhZ2UgbWlncmF0aW9uIGZvciB0aGUgY3VycmVudGx5kHN0b3JlZCBbYGNyYXRlOjpQcm9ncmVzczo6TGFzdEtleWBdLjhOb3RFbm91Z2hGdW5kcwACBJRzdWJtaXR0ZXIgZG9lcyBub3QgaGF2ZSBlbm91Z2ggZnVuZHMuKEJhZFdpdG5lc3MAAwRoQmFkIHdpdG5lc3MgZGF0YSBwcm92aWRlZC5kU2lnbmVkTWlncmF0aW9uTm90QWxsb3dlZAAEBCUBU2lnbmVkIG1pZ3JhdGlvbiBpcyBub3QgYWxsb3dlZCBiZWNhdXNlIHRoZSBtYXhpbXVtIGxpbWl0IGlzIG5vdCBzZXQgeWV0LjBCYWRDaGlsZFJvb3QABQRgQmFkIGNoaWxkIHJvb3QgcHJvdmlkZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LvwMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxhwYWxsZXQURXZlbnQIBFQABEkAARAkRGVsZWdhdGVkCAAAATBUOjpBY2NvdW50SWQAAAABMFQ6OkFjY291bnRJZAAABB0BQW4gYWNjb3VudCBoYXMgZGVsZWdhdGVkIHRoZWlyIHZvdGUgdG8gYW5vdGhlciBhY2NvdW50LiBcW3dobywgdGFyZ2V0XF0sVW5kZWxlZ2F0ZWQEAAABMFQ6OkFjY291bnRJZAABBPRBbiBcW2FjY291bnRcXSBoYXMgY2FuY2VsbGVkIGEgcHJldmlvdXMgZGVsZWdhdGlvbiBvcGVyYXRpb24uFFZvdGVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEQdm90ZQEBAXBBY2NvdW50Vm90ZTxCYWxhbmNlT2Y8VCwgST4+AAIEZEFuIGFjY291bnQgdGhhdCBoYXMgdm90ZWQsVm90ZVJlbW92ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARB2b3RlAQEBcEFjY291bnRWb3RlPEJhbGFuY2VPZjxULCBJPj4AAwRgQSB2b3RlIHRoYXQgYmVlbiByZW1vdmVkBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0AQEMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxB2b3RlLEFjY291bnRWb3RlBBxCYWxhbmNlARgBDCBTdGFuZGFyZAgBEHZvdGUFAQEQVm90ZQABHGJhbGFuY2UYARxCYWxhbmNlAAAAFFNwbGl0CAEMYXllGAEcQmFsYW5jZQABDG5heRgBHEJhbGFuY2UAAQAwU3BsaXRBYnN0YWluDAEMYXllGAEcQmFsYW5jZQABDG5heRgBHEJhbGFuY2UAARxhYnN0YWluGAEcQmFsYW5jZQACAAAFAQxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nEHZvdGUQVm90ZQAABAAIAAAACQEMQHBhbGxldF9yZWZlcmVuZGEYcGFsbGV0FEV2ZW50CARUAARJAAFAJFN1Ym1pdHRlZAwBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BFHRyYWNryAE8VHJhY2tJZE9mPFQsIEk+BCUBVGhlIHRyYWNrIChhbmQgYnkgZXh0ZW5zaW9uIHByb3Bvc2FsIGRpc3BhdGNoIG9yaWdpbikgb2YgdGhpcyByZWZlcmVuZHVtLgEgcHJvcG9zYWwNAQFMQm91bmRlZENhbGxPZjxULCBJPgSAVGhlIHByb3Bvc2FsIGZvciB0aGUgcmVmZXJlbmR1bS4ABIBBIHJlZmVyZW5kdW0gaGFzIGJlZW4gc3VibWl0dGVkLlREZWNpc2lvbkRlcG9zaXRQbGFjZWQMARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uAQx3aG8AATBUOjpBY2NvdW50SWQEjFRoZSBhY2NvdW50IHdobyBwbGFjZWQgdGhlIGRlcG9zaXQuARhhbW91bnQYATxCYWxhbmNlT2Y8VCwgST4EhFRoZSBhbW91bnQgcGxhY2VkIGJ5IHRoZSBhY2NvdW50LgEElFRoZSBkZWNpc2lvbiBkZXBvc2l0IGhhcyBiZWVuIHBsYWNlZC5cRGVjaXNpb25EZXBvc2l0UmVmdW5kZWQMARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uAQx3aG8AATBUOjpBY2NvdW50SWQEjFRoZSBhY2NvdW50IHdobyBwbGFjZWQgdGhlIGRlcG9zaXQuARhhbW91bnQYATxCYWxhbmNlT2Y8VCwgST4EhFRoZSBhbW91bnQgcGxhY2VkIGJ5IHRoZSBhY2NvdW50LgIEnFRoZSBkZWNpc2lvbiBkZXBvc2l0IGhhcyBiZWVuIHJlZnVuZGVkLjhEZXBvc2l0U2xhc2hlZAgBDHdobwABMFQ6OkFjY291bnRJZASMVGhlIGFjY291bnQgd2hvIHBsYWNlZCB0aGUgZGVwb3NpdC4BGGFtb3VudBgBPEJhbGFuY2VPZjxULCBJPgSEVGhlIGFtb3VudCBwbGFjZWQgYnkgdGhlIGFjY291bnQuAwRsQSBkZXBvc2l0IGhhcyBiZWVuIHNsYXNoZWQuPERlY2lzaW9uU3RhcnRlZBABFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BFHRyYWNryAE8VHJhY2tJZE9mPFQsIEk+BCUBVGhlIHRyYWNrIChhbmQgYnkgZXh0ZW5zaW9uIHByb3Bvc2FsIGRpc3BhdGNoIG9yaWdpbikgb2YgdGhpcyByZWZlcmVuZHVtLgEgcHJvcG9zYWwNAQFMQm91bmRlZENhbGxPZjxULCBJPgSAVGhlIHByb3Bvc2FsIGZvciB0aGUgcmVmZXJlbmR1bS4BFHRhbGx5VQYBIFQ6OlRhbGx5BLhUaGUgY3VycmVudCB0YWxseSBvZiB2b3RlcyBpbiB0aGlzIHJlZmVyZW5kdW0uBAS8QSByZWZlcmVuZHVtIGhhcyBtb3ZlZCBpbnRvIHRoZSBkZWNpZGluZyBwaGFzZS44Q29uZmlybVN0YXJ0ZWQEARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uBQA4Q29uZmlybUFib3J0ZWQEARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uBgAkQ29uZmlybWVkCAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEUdGFsbHlVBgEgVDo6VGFsbHkEsFRoZSBmaW5hbCB0YWxseSBvZiB2b3RlcyBpbiB0aGlzIHJlZmVyZW5kdW0uBwQhAUEgcmVmZXJlbmR1bSBoYXMgZW5kZWQgaXRzIGNvbmZpcm1hdGlvbiBwaGFzZSBhbmQgaXMgcmVhZHkgZm9yIGFwcHJvdmFsLiBBcHByb3ZlZAQBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4IBA0BQSByZWZlcmVuZHVtIGhhcyBiZWVuIGFwcHJvdmVkIGFuZCBpdHMgcHJvcG9zYWwgaGFzIGJlZW4gc2NoZWR1bGVkLiBSZWplY3RlZAgBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BFHRhbGx5VQYBIFQ6OlRhbGx5BLBUaGUgZmluYWwgdGFsbHkgb2Ygdm90ZXMgaW4gdGhpcyByZWZlcmVuZHVtLgkErEEgcHJvcG9zYWwgaGFzIGJlZW4gcmVqZWN0ZWQgYnkgcmVmZXJlbmR1bS4gVGltZWRPdXQIARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uARR0YWxseVUGASBUOjpUYWxseQSwVGhlIGZpbmFsIHRhbGx5IG9mIHZvdGVzIGluIHRoaXMgcmVmZXJlbmR1bS4KBNhBIHJlZmVyZW5kdW0gaGFzIGJlZW4gdGltZWQgb3V0IHdpdGhvdXQgYmVpbmcgZGVjaWRlZC4kQ2FuY2VsbGVkCAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEUdGFsbHlVBgEgVDo6VGFsbHkEsFRoZSBmaW5hbCB0YWxseSBvZiB2b3RlcyBpbiB0aGlzIHJlZmVyZW5kdW0uCwSAQSByZWZlcmVuZHVtIGhhcyBiZWVuIGNhbmNlbGxlZC4YS2lsbGVkCAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEUdGFsbHlVBgEgVDo6VGFsbHkEsFRoZSBmaW5hbCB0YWxseSBvZiB2b3RlcyBpbiB0aGlzIHJlZmVyZW5kdW0uDAR0QSByZWZlcmVuZHVtIGhhcyBiZWVuIGtpbGxlZC5kU3VibWlzc2lvbkRlcG9zaXRSZWZ1bmRlZAwBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BDHdobwABMFQ6OkFjY291bnRJZASMVGhlIGFjY291bnQgd2hvIHBsYWNlZCB0aGUgZGVwb3NpdC4BGGFtb3VudBgBPEJhbGFuY2VPZjxULCBJPgSEVGhlIGFtb3VudCBwbGFjZWQgYnkgdGhlIGFjY291bnQuDQSkVGhlIHN1Ym1pc3Npb24gZGVwb3NpdCBoYXMgYmVlbiByZWZ1bmRlZC4sTWV0YWRhdGFTZXQIARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uARBoYXNoNAEcVDo6SGFzaAQ4UHJlaW1hZ2UgaGFzaC4OBJxNZXRhZGF0YSBmb3IgYSByZWZlcmVuZHVtIGhhcyBiZWVuIHNldC48TWV0YWRhdGFDbGVhcmVkCAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEQaGFzaDQBHFQ6Okhhc2gEOFByZWltYWdlIGhhc2guDwSsTWV0YWRhdGEgZm9yIGEgcmVmZXJlbmR1bSBoYXMgYmVlbiBjbGVhcmVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldA0BEDRmcmFtZV9zdXBwb3J0GHRyYWl0cyRwcmVpbWFnZXMcQm91bmRlZAgEVAERAQRIAU0GAQwYTGVnYWN5BAEQaGFzaDQBJEg6Ok91dHB1dAAAABhJbmxpbmUEAFEGATRCb3VuZGVkSW5saW5lAAEAGExvb2t1cAgBEGhhc2g0ASRIOjpPdXRwdXQAAQxsZW4QAQx1MzIAAgAAEQEIPGh5ZHJhZHhfcnVudGltZSxSdW50aW1lQ2FsbAAB9BhTeXN0ZW0EABUBAa0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFN5c3RlbSwgUnVudGltZT4AAQAkVGltZXN0YW1wBAAlAQG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxUaW1lc3RhbXAsIFJ1bnRpbWU+AAMAIEJhbGFuY2VzBAApAQG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxCYWxhbmNlcywgUnVudGltZT4ABwBcTXVsdGlUcmFuc2FjdGlvblBheW1lbnQEADkBAfEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPE11bHRpVHJhbnNhY3Rpb25QYXltZW50LCBSdW50aW1lPgDLACBUcmVhc3VyeQQAUQEBtQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8VHJlYXN1cnksIFJ1bnRpbWU+AAsAHFV0aWxpdHkEAF0BAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFV0aWxpdHksIFJ1bnRpbWU+AA0AIFByZWltYWdlBADFAQG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQcmVpbWFnZSwgUnVudGltZT4ADwAgSWRlbnRpdHkEAM0BAbUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPElkZW50aXR5LCBSdW50aW1lPgARACREZW1vY3JhY3kEAH0CAbkBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPERlbW9jcmFjeSwgUnVudGltZT4AEwBIVGVjaG5pY2FsQ29tbWl0dGVlBACJAgHdAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxUZWNobmljYWxDb21taXR0ZWUsIFJ1bnRpbWU+ABkAFFByb3h5BACNAgGpAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQcm94eSwgUnVudGltZT4AHQAgTXVsdGlzaWcEAJUCAbUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPE11bHRpc2lnLCBSdW50aW1lPgAfABxVbmlxdWVzBACdAgGxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxVbmlxdWVzLCBSdW50aW1lPgAgAEhTdGF0ZVRyaWVNaWdyYXRpb24EAKUCAd0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFN0YXRlVHJpZU1pZ3JhdGlvbiwgUnVudGltZT4AIwBAQ29udmljdGlvblZvdGluZwQAvQIB1QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q29udmljdGlvblZvdGluZywgUnVudGltZT4AJAAkUmVmZXJlbmRhBADJAgG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxSZWZlcmVuZGEsIFJ1bnRpbWU+ACUAJFdoaXRlbGlzdAQA0QIBuQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8V2hpdGVsaXN0LCBSdW50aW1lPgAnAChEaXNwYXRjaGVyBADVAgG9AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxEaXNwYXRjaGVyLCBSdW50aW1lPgAoADRBc3NldFJlZ2lzdHJ5BADZAgHJAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxBc3NldFJlZ2lzdHJ5LCBSdW50aW1lPgAzABhDbGFpbXMEABEDAa0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPENsYWltcywgUnVudGltZT4ANQA4R2VuZXNpc0hpc3RvcnkEABkDAc0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEdlbmVzaXNIaXN0b3J5LCBSdW50aW1lPgA3ACBPbW5pcG9vbAQAHQMBtQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8T21uaXBvb2wsIFJ1bnRpbWU+ADsAQFRyYW5zYWN0aW9uUGF1c2UEAC0DAdUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFRyYW5zYWN0aW9uUGF1c2UsIFJ1bnRpbWU+ADwAGER1c3RlcgQAMQMBrQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RHVzdGVyLCBSdW50aW1lPgA9AExPbW5pcG9vbFdhcmVob3VzZUxNBAA1AwHhAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxPbW5pcG9vbFdhcmVob3VzZUxNLCBSdW50aW1lPgA+AFxPbW5pcG9vbExpcXVpZGl0eU1pbmluZwQAOQMB8QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8T21uaXBvb2xMaXF1aWRpdHlNaW5pbmcsIFJ1bnRpbWU+AD8ADE9UQwQAbQMBoQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8T1RDLCBSdW50aW1lPgBAADhDaXJjdWl0QnJlYWtlcgQAcQMBzQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q2lyY3VpdEJyZWFrZXIsIFJ1bnRpbWU+AEEAGFJvdXRlcgQAeQMBrQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Um91dGVyLCBSdW50aW1lPgBDACxEeW5hbWljRmVlcwQAkQMBwQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RHluYW1pY0ZlZXMsIFJ1bnRpbWU+AEQAHFN0YWtpbmcEAJ0DAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFN0YWtpbmcsIFJ1bnRpbWU+AEUAKFN0YWJsZXN3YXAEAKEDAb0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFN0YWJsZXN3YXAsIFJ1bnRpbWU+AEYAFEJvbmRzBADFAwGpAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxCb25kcywgUnVudGltZT4ARwA4T3RjU2V0dGxlbWVudHMEAMkDAc0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPE90Y1NldHRsZW1lbnRzLCBSdW50aW1lPgBIAAxMQlAEAM0DAaEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPExCUCwgUnVudGltZT4ASQAMWFlLBADZAwGhAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxYWUssIFJ1bnRpbWU+AEoAJFJlZmVycmFscwQA3QMBuQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8UmVmZXJyYWxzLCBSdW50aW1lPgBLACxMaXF1aWRhdGlvbgQA7QMBwQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8TGlxdWlkYXRpb24sIFJ1bnRpbWU+AEwADEhTTQQA8QMBoQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8SFNNLCBSdW50aW1lPgBSABhUb2tlbnMEAAUEAa0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFRva2VucywgUnVudGltZT4ATQAoQ3VycmVuY2llcwQACQQBvQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q3VycmVuY2llcywgUnVudGltZT4ATwAcVmVzdGluZwQAEQQBsQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8VmVzdGluZywgUnVudGltZT4AUQAMRVZNBAAdBAGhAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxFVk0sIFJ1bnRpbWU+AFoAIEV0aGVyZXVtBAAtBAG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxFdGhlcmV1bSwgUnVudGltZT4AXAAsRVZNQWNjb3VudHMEAFUEAcEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEVWTUFjY291bnRzLCBSdW50aW1lPgBdAEhYWUtMaXF1aWRpdHlNaW5pbmcEAFkEAd0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFhZS0xpcXVpZGl0eU1pbmluZywgUnVudGltZT4AXwA4WFlLV2FyZWhvdXNlTE0EAGkEAc0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFhZS1dhcmVob3VzZUxNLCBSdW50aW1lPgBgADhSZWxheUNoYWluSW5mbwQAbQQBzQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8UmVsYXlDaGFpbkluZm8sIFJ1bnRpbWU+AMkADERDQQQAcQQBoQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RENBLCBSdW50aW1lPgBCACRTY2hlZHVsZXIEAH0EAbkBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFNjaGVkdWxlciwgUnVudGltZT4ABQA8UGFyYWNoYWluU3lzdGVtBACBBAHRAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQYXJhY2hhaW5TeXN0ZW0sIFJ1bnRpbWU+AGcANFBhcmFjaGFpbkluZm8EALUEAckBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFBhcmFjaGFpbkluZm8sIFJ1bnRpbWU+AGkALFBvbGthZG90WGNtBAC5BAHBAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQb2xrYWRvdFhjbSwgUnVudGltZT4AawAoQ3VtdWx1c1hjbQQAGQYBvQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q3VtdWx1c1hjbSwgUnVudGltZT4AbQAwTWVzc2FnZVF1ZXVlBAAdBgHFAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxNZXNzYWdlUXVldWUsIFJ1bnRpbWU+AHIAHE9ybWxYY20EACUGAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPE9ybWxYY20sIFJ1bnRpbWU+AIcAHFhUb2tlbnMEACkGAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFhUb2tlbnMsIFJ1bnRpbWU+AIkARENvbGxhdG9yU2VsZWN0aW9uBAA1BgHZAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxDb2xsYXRvclNlbGVjdGlvbiwgUnVudGltZT4AowAcU2Vzc2lvbgQAOQYBsQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8U2Vzc2lvbiwgUnVudGltZT4ApQAkRW1hT3JhY2xlBABFBgG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxFbWFPcmFjbGUsIFJ1bnRpbWU+AMoAJEJyb2FkY2FzdAQASQYBuQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8QnJvYWRjYXN0LCBSdW50aW1lPgDMAAAVAQwwZnJhbWVfc3lzdGVtGHBhbGxldBBDYWxsBARUAAEsGHJlbWFyawQBGHJlbWFyazgBHFZlYzx1OD4AAAxoTWFrZSBzb21lIG9uLWNoYWluIHJlbWFyay4AiENhbiBiZSBleGVjdXRlZCBieSBldmVyeSBgb3JpZ2luYC44c2V0X2hlYXBfcGFnZXMEARRwYWdlczABDHU2NAABBPhTZXQgdGhlIG51bWJlciBvZiBwYWdlcyBpbiB0aGUgV2ViQXNzZW1ibHkgZW52aXJvbm1lbnQncyBoZWFwLiBzZXRfY29kZQQBEGNvZGU4ARxWZWM8dTg+AAIEZFNldCB0aGUgbmV3IHJ1bnRpbWUgY29kZS5cc2V0X2NvZGVfd2l0aG91dF9jaGVja3MEARBjb2RlOAEcVmVjPHU4PgADEBkBU2V0IHRoZSBuZXcgcnVudGltZSBjb2RlIHdpdGhvdXQgZG9pbmcgYW55IGNoZWNrcyBvZiB0aGUgZ2l2ZW4gYGNvZGVgLgBRAU5vdGUgdGhhdCBydW50aW1lIHVwZ3JhZGVzIHdpbGwgbm90IHJ1biBpZiB0aGlzIGlzIGNhbGxlZCB3aXRoIGEgbm90LWluY3JlYXNpbmcgc3BlYyB2ZXJzaW9uISxzZXRfc3RvcmFnZQQBFGl0ZW1zGQEBNFZlYzxLZXlWYWx1ZT4ABARoU2V0IHNvbWUgaXRlbXMgb2Ygc3RvcmFnZS4wa2lsbF9zdG9yYWdlBAEQa2V5cyEBASBWZWM8S2V5PgAFBHRLaWxsIHNvbWUgaXRlbXMgZnJvbSBzdG9yYWdlLixraWxsX3ByZWZpeAgBGHByZWZpeDgBDEtleQABHHN1YmtleXMQAQx1MzIABhARAUtpbGwgYWxsIHN0b3JhZ2UgaXRlbXMgd2l0aCBhIGtleSB0aGF0IHN0YXJ0cyB3aXRoIHRoZSBnaXZlbiBwcmVmaXguADkBKipOT1RFOioqIFdlIHJlbHkgb24gdGhlIFJvb3Qgb3JpZ2luIHRvIHByb3ZpZGUgdXMgdGhlIG51bWJlciBvZiBzdWJrZXlzIHVuZGVyPQF0aGUgcHJlZml4IHdlIGFyZSByZW1vdmluZyB0byBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSB0aGUgd2VpZ2h0IG9mIHRoaXMgZnVuY3Rpb24uRHJlbWFya193aXRoX2V2ZW50BAEYcmVtYXJrOAEcVmVjPHU4PgAHBKRNYWtlIHNvbWUgb24tY2hhaW4gcmVtYXJrIGFuZCBlbWl0IGV2ZW50LkRhdXRob3JpemVfdXBncmFkZQQBJGNvZGVfaGFzaDQBHFQ6Okhhc2gACRBhAUF1dGhvcml6ZSBhbiB1cGdyYWRlIHRvIGEgZ2l2ZW4gYGNvZGVfaGFzaGAgZm9yIHRoZSBydW50aW1lLiBUaGUgcnVudGltZSBjYW4gYmUgc3VwcGxpZWQYbGF0ZXIuAHxUaGlzIGNhbGwgcmVxdWlyZXMgUm9vdCBvcmlnaW4ugGF1dGhvcml6ZV91cGdyYWRlX3dpdGhvdXRfY2hlY2tzBAEkY29kZV9oYXNoNAEcVDo6SGFzaAAKIGEBQXV0aG9yaXplIGFuIHVwZ3JhZGUgdG8gYSBnaXZlbiBgY29kZV9oYXNoYCBmb3IgdGhlIHJ1bnRpbWUuIFRoZSBydW50aW1lIGNhbiBiZSBzdXBwbGllZBhsYXRlci4AXQFXQVJOSU5HOiBUaGlzIGF1dGhvcml6ZXMgYW4gdXBncmFkZSB0aGF0IHdpbGwgdGFrZSBwbGFjZSB3aXRob3V0IGFueSBzYWZldHkgY2hlY2tzLCBmb3JZAWV4YW1wbGUgdGhhdCB0aGUgc3BlYyBuYW1lIHJlbWFpbnMgdGhlIHNhbWUgYW5kIHRoYXQgdGhlIHZlcnNpb24gbnVtYmVyIGluY3JlYXNlcy4gTm908HJlY29tbWVuZGVkIGZvciBub3JtYWwgdXNlLiBVc2UgYGF1dGhvcml6ZV91cGdyYWRlYCBpbnN0ZWFkLgB8VGhpcyBjYWxsIHJlcXVpcmVzIFJvb3Qgb3JpZ2luLmBhcHBseV9hdXRob3JpemVkX3VwZ3JhZGUEARBjb2RlOAEcVmVjPHU4PgALJFUBUHJvdmlkZSB0aGUgcHJlaW1hZ2UgKHJ1bnRpbWUgYmluYXJ5KSBgY29kZWAgZm9yIGFuIHVwZ3JhZGUgdGhhdCBoYXMgYmVlbiBhdXRob3JpemVkLgBJAUlmIHRoZSBhdXRob3JpemF0aW9uIHJlcXVpcmVkIGEgdmVyc2lvbiBjaGVjaywgdGhpcyBjYWxsIHdpbGwgZW5zdXJlIHRoZSBzcGVjIG5hbWXocmVtYWlucyB1bmNoYW5nZWQgYW5kIHRoYXQgdGhlIHNwZWMgdmVyc2lvbiBoYXMgaW5jcmVhc2VkLgBZAURlcGVuZGluZyBvbiB0aGUgcnVudGltZSdzIGBPblNldENvZGVgIGNvbmZpZ3VyYXRpb24sIHRoaXMgZnVuY3Rpb24gbWF5IGRpcmVjdGx5IGFwcGx5EQF0aGUgbmV3IGBjb2RlYCBpbiB0aGUgc2FtZSBibG9jayBvciBhdHRlbXB0IHRvIHNjaGVkdWxlIHRoZSB1cGdyYWRlLgBgQWxsIG9yaWdpbnMgYXJlIGFsbG93ZWQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLhkBAAACHQEAHQEAAAQIODgAIQEAAAI4ACUBDEBwYWxsZXRfdGltZXN0YW1wGHBhbGxldBBDYWxsBARUAAEEDHNldAQBDG5vdywBJFQ6Ok1vbWVudAAATFRTZXQgdGhlIGN1cnJlbnQgdGltZS4AVQFUaGlzIGNhbGwgc2hvdWxkIGJlIGludm9rZWQgZXhhY3RseSBvbmNlIHBlciBibG9jay4gSXQgd2lsbCBwYW5pYyBhdCB0aGUgZmluYWxpemF0aW9u1HBoYXNlLCBpZiB0aGlzIGNhbGwgaGFzbid0IGJlZW4gaW52b2tlZCBieSB0aGF0IHRpbWUuAEEBVGhlIHRpbWVzdGFtcCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIHRoZSBwcmV2aW91cyBvbmUgYnkgdGhlIGFtb3VudCBzcGVjaWZpZWQgYnloW2BDb25maWc6Ok1pbmltdW1QZXJpb2RgXS4AxFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9Ob25lXy4AUQFUaGlzIGRpc3BhdGNoIGNsYXNzIGlzIF9NYW5kYXRvcnlfIHRvIGVuc3VyZSBpdCBnZXRzIGV4ZWN1dGVkIGluIHRoZSBibG9jay4gQmUgYXdhcmVRAXRoYXQgY2hhbmdpbmcgdGhlIGNvbXBsZXhpdHkgb2YgdGhpcyBjYWxsIGNvdWxkIHJlc3VsdCBleGhhdXN0aW5nIHRoZSByZXNvdXJjZXMgaW4gYYRibG9jayB0byBleGVjdXRlIGFueSBvdGhlciBjYWxscy4ANCMjIENvbXBsZXhpdHkxAS0gYE8oMSlgIChOb3RlIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIGBPblRpbWVzdGFtcFNldGAgbXVzdCBhbHNvIGJlIGBPKDEpYClVAS0gMSBzdG9yYWdlIHJlYWQgYW5kIDEgc3RvcmFnZSBtdXRhdGlvbiAoY29kZWMgYE8oMSlgIGJlY2F1c2Ugb2YgYERpZFVwZGF0ZTo6dGFrZWAgaW5AICBgb25fZmluYWxpemVgKdQtIDEgZXZlbnQgaGFuZGxlciBgb25fdGltZXN0YW1wX3NldGAuIE11c3QgYmUgYE8oMSlgLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4pAQw8cGFsbGV0X2JhbGFuY2VzGHBhbGxldBBDYWxsCARUAARJAAEkUHRyYW5zZmVyX2FsbG93X2RlYXRoCAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEUdmFsdWUtAQEoVDo6QmFsYW5jZQAAHNRUcmFuc2ZlciBzb21lIGxpcXVpZCBmcmVlIGJhbGFuY2UgdG8gYW5vdGhlciBhY2NvdW50LgA1AWB0cmFuc2Zlcl9hbGxvd19kZWF0aGAgd2lsbCBzZXQgdGhlIGBGcmVlQmFsYW5jZWAgb2YgdGhlIHNlbmRlciBhbmQgcmVjZWl2ZXIuEQFJZiB0aGUgc2VuZGVyJ3MgYWNjb3VudCBpcyBiZWxvdyB0aGUgZXhpc3RlbnRpYWwgZGVwb3NpdCBhcyBhIHJlc3VsdLBvZiB0aGUgdHJhbnNmZXIsIHRoZSBhY2NvdW50IHdpbGwgYmUgcmVhcGVkLgAVAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBTaWduZWRgIGJ5IHRoZSB0cmFuc2FjdG9yLjhmb3JjZV90cmFuc2ZlcgwBGHNvdXJjZQABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEUdmFsdWUtAQEoVDo6QmFsYW5jZQACCGEBRXhhY3RseSBhcyBgdHJhbnNmZXJfYWxsb3dfZGVhdGhgLCBleGNlcHQgdGhlIG9yaWdpbiBtdXN0IGJlIHJvb3QgYW5kIHRoZSBzb3VyY2UgYWNjb3VudERtYXkgYmUgc3BlY2lmaWVkLkx0cmFuc2Zlcl9rZWVwX2FsaXZlCAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEUdmFsdWUtAQEoVDo6QmFsYW5jZQADGFkBU2FtZSBhcyB0aGUgW2B0cmFuc2Zlcl9hbGxvd19kZWF0aGBdIGNhbGwsIGJ1dCB3aXRoIGEgY2hlY2sgdGhhdCB0aGUgdHJhbnNmZXIgd2lsbCBub3Rga2lsbCB0aGUgb3JpZ2luIGFjY291bnQuAOg5OSUgb2YgdGhlIHRpbWUgeW91IHdhbnQgW2B0cmFuc2Zlcl9hbGxvd19kZWF0aGBdIGluc3RlYWQuAPBbYHRyYW5zZmVyX2FsbG93X2RlYXRoYF06IHN0cnVjdC5QYWxsZXQuaHRtbCNtZXRob2QudHJhbnNmZXIwdHJhbnNmZXJfYWxsCAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEoa2VlcF9hbGl2ZSABEGJvb2wABDwFAVRyYW5zZmVyIHRoZSBlbnRpcmUgdHJhbnNmZXJhYmxlIGJhbGFuY2UgZnJvbSB0aGUgY2FsbGVyIGFjY291bnQuAFkBTk9URTogVGhpcyBmdW5jdGlvbiBvbmx5IGF0dGVtcHRzIHRvIHRyYW5zZmVyIF90cmFuc2ZlcmFibGVfIGJhbGFuY2VzLiBUaGlzIG1lYW5zIHRoYXRhAWFueSBsb2NrZWQsIHJlc2VydmVkLCBvciBleGlzdGVudGlhbCBkZXBvc2l0cyAod2hlbiBga2VlcF9hbGl2ZWAgaXMgYHRydWVgKSwgd2lsbCBub3QgYmVdAXRyYW5zZmVycmVkIGJ5IHRoaXMgZnVuY3Rpb24uIFRvIGVuc3VyZSB0aGF0IHRoaXMgZnVuY3Rpb24gcmVzdWx0cyBpbiBhIGtpbGxlZCBhY2NvdW50LEUBeW91IG1pZ2h0IG5lZWQgdG8gcHJlcGFyZSB0aGUgYWNjb3VudCBieSByZW1vdmluZyBhbnkgcmVmZXJlbmNlIGNvdW50ZXJzLCBzdG9yYWdlQGRlcG9zaXRzLCBldGMuLi4AwFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgU2lnbmVkLgCgLSBgZGVzdGA6IFRoZSByZWNpcGllbnQgb2YgdGhlIHRyYW5zZmVyLlkBLSBga2VlcF9hbGl2ZWA6IEEgYm9vbGVhbiB0byBkZXRlcm1pbmUgaWYgdGhlIGB0cmFuc2Zlcl9hbGxgIG9wZXJhdGlvbiBzaG91bGQgc2VuZCBhbGxNASAgb2YgdGhlIGZ1bmRzIHRoZSBhY2NvdW50IGhhcywgY2F1c2luZyB0aGUgc2VuZGVyIGFjY291bnQgdG8gYmUga2lsbGVkIChmYWxzZSksIG9yWQEgIHRyYW5zZmVyIGV2ZXJ5dGhpbmcgZXhjZXB0IGF0IGxlYXN0IHRoZSBleGlzdGVudGlhbCBkZXBvc2l0LCB3aGljaCB3aWxsIGd1YXJhbnRlZSB0b5wgIGtlZXAgdGhlIHNlbmRlciBhY2NvdW50IGFsaXZlICh0cnVlKS48Zm9yY2VfdW5yZXNlcnZlCAEMd2hvAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARhhbW91bnQYAShUOjpCYWxhbmNlAAUMsFVucmVzZXJ2ZSBzb21lIGJhbGFuY2UgZnJvbSBhIHVzZXIgYnkgZm9yY2UuAGxDYW4gb25seSBiZSBjYWxsZWQgYnkgUk9PVC5AdXBncmFkZV9hY2NvdW50cwQBDHdobzEBAURWZWM8VDo6QWNjb3VudElkPgAGIHBVcGdyYWRlIGEgc3BlY2lmaWVkIGFjY291bnQuAHQtIGBvcmlnaW5gOiBNdXN0IGJlIGBTaWduZWRgLpAtIGB3aG9gOiBUaGUgYWNjb3VudCB0byBiZSB1cGdyYWRlZC4AVQFUaGlzIHdpbGwgd2FpdmUgdGhlIHRyYW5zYWN0aW9uIGZlZSBpZiBhdCBsZWFzdCBhbGwgYnV0IDEwJSBvZiB0aGUgYWNjb3VudHMgbmVlZGVkIHRvQQFiZSB1cGdyYWRlZC4gKFdlIGxldCBzb21lIG5vdCBoYXZlIHRvIGJlIHVwZ3JhZGVkIGp1c3QgaW4gb3JkZXIgdG8gYWxsb3cgZm9yIHRoZVhwb3NzaWJpbGl0eSBvZiBjaHVybikuRGZvcmNlX3NldF9iYWxhbmNlCAEMd2hvAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASBuZXdfZnJlZS0BAShUOjpCYWxhbmNlAAgMrFNldCB0aGUgcmVndWxhciBiYWxhbmNlIG9mIGEgZ2l2ZW4gYWNjb3VudC4AsFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBpcyBgcm9vdGAubGZvcmNlX2FkanVzdF90b3RhbF9pc3N1YW5jZQgBJGRpcmVjdGlvbjUBAUxBZGp1c3RtZW50RGlyZWN0aW9uAAEUZGVsdGEtAQEoVDo6QmFsYW5jZQAJFLhBZGp1c3QgdGhlIHRvdGFsIGlzc3VhbmNlIGluIGEgc2F0dXJhdGluZyB3YXkuAPxDYW4gb25seSBiZSBjYWxsZWQgYnkgcm9vdCBhbmQgYWx3YXlzIG5lZWRzIGEgcG9zaXRpdmUgYGRlbHRhYC4AJCMgRXhhbXBsZRBidXJuCAEUdmFsdWUtAQEoVDo6QmFsYW5jZQABKGtlZXBfYWxpdmUgARBib29sAAoc/EJ1cm4gdGhlIHNwZWNpZmllZCBsaXF1aWQgZnJlZSBiYWxhbmNlIGZyb20gdGhlIG9yaWdpbiBhY2NvdW50LgAlAUlmIHRoZSBvcmlnaW4ncyBhY2NvdW50IGVuZHMgdXAgYmVsb3cgdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXQgYXMgYSByZXN1bHQJAW9mIHRoZSBidXJuIGFuZCBga2VlcF9hbGl2ZWAgaXMgZmFsc2UsIHRoZSBhY2NvdW50IHdpbGwgYmUgcmVhcGVkLgBRAVVubGlrZSBzZW5kaW5nIGZ1bmRzIHRvIGEgX2J1cm5fIGFkZHJlc3MsIHdoaWNoIG1lcmVseSBtYWtlcyB0aGUgZnVuZHMgaW5hY2Nlc3NpYmxlLCEBdGhpcyBgYnVybmAgb3BlcmF0aW9uIHdpbGwgcmVkdWNlIHRvdGFsIGlzc3VhbmNlIGJ5IHRoZSBhbW91bnQgX2J1cm5lZF8uBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLi0BAAAGGAAxAQAAAgAANQEMPHBhbGxldF9iYWxhbmNlcxR0eXBlc0xBZGp1c3RtZW50RGlyZWN0aW9uAAEIIEluY3JlYXNlAAAAIERlY3JlYXNlAAEAADkBDIBwYWxsZXRfdHJhbnNhY3Rpb25fbXVsdGlfcGF5bWVudBhwYWxsZXQQQ2FsbAQEVAABFDBzZXRfY3VycmVuY3kEASBjdXJyZW5jeRABMEFzc2V0SWRPZjxUPgAANKBTZXQgc2VsZWN0ZWQgY3VycmVuY3kgZm9yIGdpdmVuIGFjY291bnQuAGEBVGhpcyBhbGxvd3MgdG8gc2V0IGEgY3VycmVuY3kgZm9yIGFuIGFjY291bnQgaW4gd2hpY2ggYWxsIHRyYW5zYWN0aW9uIGZlZXMgd2lsbCBiZSBwYWlkLnxBY2NvdW50IGJhbGFuY2UgY2Fubm90IGJlIHplcm8uAG0BSW4gY2FzZSBvZiBzdWZmaWNpZW50IGFzc2V0LCB0aGUgY2hvc2VuIGN1cnJlbmN5IG11c3QgYmUgaW4gdGhlIGxpc3Qgb2YgYWNjZXB0ZWQgY3VycmVuY2llc0EBSW4gY2FzZSBvZiBpbnN1ZmZpY2llbnQgYXNzZXQsIHRoZSBjaG9zZW4gY3VycmVuY3kgbXVzdCBoYXZlIGEgWFlLIHBvb2wgd2l0aCBET1QAcQFXaGVuIGN1cnJlbmN5IGlzIHNldCwgZml4ZWQgZmVlIGlzIHdpdGhkcmF3biBmcm9tIHRoZSBhY2NvdW50IHRvIHBheSBmb3IgdGhlIGN1cnJlbmN5IGNoYW5nZQD4RVZNIGFjY291bnRzIGFyZSBub3cgYWxsb3dlZCB0byBjaGFuZ2UgdGhpZXIgcGF5bWVudCBjdXJyZW5jeS4AqEVtaXRzIGBDdXJyZW5jeVNldGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLjBhZGRfY3VycmVuY3kIASBjdXJyZW5jeRABMEFzc2V0SWRPZjxUPgABFHByaWNlPQEBFFByaWNlAAEcyEFkZCBhIGN1cnJlbmN5IHRvIHRoZSBsaXN0IG9mIGFjY2VwdGVkIGN1cnJlbmNpZXMuAJBPbmx5IG1lbWJlciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4AQQFDdXJyZW5jeSBtdXN0IG5vdCBiZSBhbHJlYWR5IGFjY2VwdGVkLiBDb3JlIGFzc2V0IGlkIGNhbm5vdCBiZSBleHBsaWNpdGx5IGFkZGVkLgCwRW1pdHMgYEN1cnJlbmN5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC48cmVtb3ZlX2N1cnJlbmN5BAEgY3VycmVuY3kQATBBc3NldElkT2Y8VD4AAhjUUmVtb3ZlIGN1cnJlbmN5IGZyb20gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGN1cnJlbmNpZXO0T25seSBzZWxlY3RlZCBtZW1iZXJzIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uAHRDb3JlIGFzc2V0IGNhbm5vdCBiZSByZW1vdmVkLgCgRW1pdHMgYEN1cnJlbmN5UmVtb3ZlZGAgd2hlbiBzdWNjZXNzZnVsLlhyZXNldF9wYXltZW50X2N1cnJlbmN5BAEoYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAADFLxSZXNldCBjdXJyZW5jeSBvZiB0aGUgc3BlY2lmaWVkIGFjY291bnQgdG8gSERYLhUBSWYgdGhlIGFjY291bnQgaXMgRVZNIGFjY291bnQsIHRoZSBwYXltZW50IGN1cnJlbmN5IGlzIHJlc2V0IHRvIFdFVEguuE9ubHkgc2VsZWN0ZWQgbWVtYmVycyBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4AkEVtaXRzIGBDdXJyZW5jeVNldGAgd2hlbiBzdWNjZXNzZnVsLjxkaXNwYXRjaF9wZXJtaXQkARBmcm9tQQEBEEgxNjAAAQh0b0EBARBIMTYwAAEUdmFsdWVJAQEQVTI1NgABEGRhdGE4ARxWZWM8dTg+AAEkZ2FzX2xpbWl0MAEMdTY0AAEgZGVhZGxpbmVJAQEQVTI1NgABBHYIAQh1OAABBHI0ARBIMjU2AAEEczQBEEgyNTYABBBQRGlzcGF0Y2ggRVZNIHBlcm1pdC7BAVRoZSBtYWluIHB1cnBvc2Ugb2YgdGhpcyBmdW5jdGlvbiBpcyB0byBhbGxvdyBFVk0gYWNjb3VudHMgdG8gcGF5IGZvciB0aGUgdHJhbnNhY3Rpb24gZmVlIGluIG5vbi1uYXRpdmUgY3VycmVuY3nQYnkgYWxsb3dpbmcgdGhlbSB0byBzZWxmLWRpc3BhdGNoIHByZS1zaWduZWQgcGVybWl0LuBUaGUgRVZNIGZlZSBpcyBwYWlkIGluIHRoZSBjdXJyZW5jeSBzZXQgZm9yIHRoZSBhY2NvdW50LgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy49AQw0c3BfYXJpdGhtZXRpYyxmaXhlZF9wb2ludCRGaXhlZFUxMjgAAAQAGAEQdTEyOAAAQQEIPHByaW1pdGl2ZV90eXBlcxBIMTYwAAAEAEUBASBbdTg7IDIwXQAARQEAAAMUAAAACABJAQg8cHJpbWl0aXZlX3R5cGVzEFUyNTYAAAQATQEBIFt1NjQ7IDRdAABNAQAAAwQAAAAwAFEBDDxwYWxsZXRfdHJlYXN1cnkYcGFsbGV0EENhbGwIBFQABEkAARgsc3BlbmRfbG9jYWwIARhhbW91bnQtAQE8QmFsYW5jZU9mPFQsIEk+AAEsYmVuZWZpY2lhcnkAAVBBY2NvdW50SWRMb29rdXBPZjxUPgADRLhQcm9wb3NlIGFuZCBhcHByb3ZlIGEgc3BlbmQgb2YgdHJlYXN1cnkgZnVuZHMuAEgjIyBEaXNwYXRjaCBPcmlnaW4ARQFNdXN0IGJlIFtgQ29uZmlnOjpTcGVuZE9yaWdpbmBdIHdpdGggdGhlIGBTdWNjZXNzYCB2YWx1ZSBiZWluZyBhdCBsZWFzdCBgYW1vdW50YC4ALCMjIyBEZXRhaWxzRQFOT1RFOiBGb3IgcmVjb3JkLWtlZXBpbmcgcHVycG9zZXMsIHRoZSBwcm9wb3NlciBpcyBkZWVtZWQgdG8gYmUgZXF1aXZhbGVudCB0byB0aGUwYmVuZWZpY2lhcnkuADgjIyMgUGFyYW1ldGVyc0EBLSBgYW1vdW50YDogVGhlIGFtb3VudCB0byBiZSB0cmFuc2ZlcnJlZCBmcm9tIHRoZSB0cmVhc3VyeSB0byB0aGUgYGJlbmVmaWNpYXJ5YC7oLSBgYmVuZWZpY2lhcnlgOiBUaGUgZGVzdGluYXRpb24gYWNjb3VudCBmb3IgdGhlIHRyYW5zZmVyLgAkIyMgRXZlbnRzALRFbWl0cyBbYEV2ZW50OjpTcGVuZEFwcHJvdmVkYF0gaWYgc3VjY2Vzc2Z1bC48cmVtb3ZlX2FwcHJvdmFsBAEscHJvcG9zYWxfaWRVAQE0UHJvcG9zYWxJbmRleAAEVC0BRm9yY2UgYSBwcmV2aW91c2x5IGFwcHJvdmVkIHByb3Bvc2FsIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgYXBwcm92YWwgcXVldWUuAEgjIyBEaXNwYXRjaCBPcmlnaW4AhE11c3QgYmUgW2BDb25maWc6OlJlamVjdE9yaWdpbmBdLgAoIyMgRGV0YWlscwDAVGhlIG9yaWdpbmFsIGRlcG9zaXQgd2lsbCBubyBsb25nZXIgYmUgcmV0dXJuZWQuADgjIyMgUGFyYW1ldGVyc6AtIGBwcm9wb3NhbF9pZGA6IFRoZSBpbmRleCBvZiBhIHByb3Bvc2FsADgjIyMgQ29tcGxleGl0eawtIE8oQSkgd2hlcmUgYEFgIGlzIHRoZSBudW1iZXIgb2YgYXBwcm92YWxzACgjIyMgRXJyb3JzRQEtIFtgRXJyb3I6OlByb3Bvc2FsTm90QXBwcm92ZWRgXTogVGhlIGBwcm9wb3NhbF9pZGAgc3VwcGxpZWQgd2FzIG5vdCBmb3VuZCBpbiB0aGVRASAgYXBwcm92YWwgcXVldWUsIGkuZS4sIHRoZSBwcm9wb3NhbCBoYXMgbm90IGJlZW4gYXBwcm92ZWQuIFRoaXMgY291bGQgYWxzbyBtZWFuIHRoZVkBICBwcm9wb3NhbCBkb2VzIG5vdCBleGlzdCBhbHRvZ2V0aGVyLCB0aHVzIHRoZXJlIGlzIG5vIHdheSBpdCB3b3VsZCBoYXZlIGJlZW4gYXBwcm92ZWRUICBpbiB0aGUgZmlyc3QgcGxhY2UuFHNwZW5kEAEoYXNzZXRfa2luZJABREJveDxUOjpBc3NldEtpbmQ+AAEYYW1vdW50LQEBUEFzc2V0QmFsYW5jZU9mPFQsIEk+AAEsYmVuZWZpY2lhcnkAAXhCb3g8QmVuZWZpY2lhcnlMb29rdXBPZjxULCBJPj4AASh2YWxpZF9mcm9tWQEBZE9wdGlvbjxCbG9ja051bWJlckZvcjxUPj4ABWi4UHJvcG9zZSBhbmQgYXBwcm92ZSBhIHNwZW5kIG9mIHRyZWFzdXJ5IGZ1bmRzLgBIIyMgRGlzcGF0Y2ggT3JpZ2luAB0BTXVzdCBiZSBbYENvbmZpZzo6U3BlbmRPcmlnaW5gXSB3aXRoIHRoZSBgU3VjY2Vzc2AgdmFsdWUgYmVpbmcgYXQgbGVhc3RVAWBhbW91bnRgIG9mIGBhc3NldF9raW5kYCBpbiB0aGUgbmF0aXZlIGFzc2V0LiBUaGUgYW1vdW50IG9mIGBhc3NldF9raW5kYCBpcyBjb252ZXJ0ZWTUZm9yIGFzc2VydGlvbiB1c2luZyB0aGUgW2BDb25maWc6OkJhbGFuY2VDb252ZXJ0ZXJgXS4AKCMjIERldGFpbHMASQFDcmVhdGUgYW4gYXBwcm92ZWQgc3BlbmQgZm9yIHRyYW5zZmVycmluZyBhIHNwZWNpZmljIGBhbW91bnRgIG9mIGBhc3NldF9raW5kYCB0byBhYQFkZXNpZ25hdGVkIGJlbmVmaWNpYXJ5LiBUaGUgc3BlbmQgbXVzdCBiZSBjbGFpbWVkIHVzaW5nIHRoZSBgcGF5b3V0YCBkaXNwYXRjaGFibGUgd2l0aGludHRoZSBbYENvbmZpZzo6UGF5b3V0UGVyaW9kYF0uADgjIyMgUGFyYW1ldGVycxUBLSBgYXNzZXRfa2luZGA6IEFuIGluZGljYXRvciBvZiB0aGUgc3BlY2lmaWMgYXNzZXQgY2xhc3MgdG8gYmUgc3BlbnQuQQEtIGBhbW91bnRgOiBUaGUgYW1vdW50IHRvIGJlIHRyYW5zZmVycmVkIGZyb20gdGhlIHRyZWFzdXJ5IHRvIHRoZSBgYmVuZWZpY2lhcnlgLrgtIGBiZW5lZmljaWFyeWA6IFRoZSBiZW5lZmljaWFyeSBvZiB0aGUgc3BlbmQuVQEtIGB2YWxpZF9mcm9tYDogVGhlIGJsb2NrIG51bWJlciBmcm9tIHdoaWNoIHRoZSBzcGVuZCBjYW4gYmUgY2xhaW1lZC4gSXQgY2FuIHJlZmVyIHRvGQEgIHRoZSBwYXN0IGlmIHRoZSByZXN1bHRpbmcgc3BlbmQgaGFzIG5vdCB5ZXQgZXhwaXJlZCBhY2NvcmRpbmcgdG8gdGhlRQEgIFtgQ29uZmlnOjpQYXlvdXRQZXJpb2RgXS4gSWYgYE5vbmVgLCB0aGUgc3BlbmQgY2FuIGJlIGNsYWltZWQgaW1tZWRpYXRlbHkgYWZ0ZXIsICBhcHByb3ZhbC4AJCMjIEV2ZW50cwDIRW1pdHMgW2BFdmVudDo6QXNzZXRTcGVuZEFwcHJvdmVkYF0gaWYgc3VjY2Vzc2Z1bC4YcGF5b3V0BAEUaW5kZXgQAShTcGVuZEluZGV4AAZMOENsYWltIGEgc3BlbmQuAEgjIyBEaXNwYXRjaCBPcmlnaW4AOE11c3QgYmUgc2lnbmVkACgjIyBEZXRhaWxzAFUBU3BlbmRzIG11c3QgYmUgY2xhaW1lZCB3aXRoaW4gc29tZSB0ZW1wb3JhbCBib3VuZHMuIEEgc3BlbmQgbWF5IGJlIGNsYWltZWQgd2l0aGluIG9uZdRbYENvbmZpZzo6UGF5b3V0UGVyaW9kYF0gZnJvbSB0aGUgYHZhbGlkX2Zyb21gIGJsb2NrLlUBSW4gY2FzZSBvZiBhIHBheW91dCBmYWlsdXJlLCB0aGUgc3BlbmQgc3RhdHVzIG11c3QgYmUgdXBkYXRlZCB3aXRoIHRoZSBgY2hlY2tfc3RhdHVzYNxkaXNwYXRjaGFibGUgYmVmb3JlIHJldHJ5aW5nIHdpdGggdGhlIGN1cnJlbnQgZnVuY3Rpb24uADgjIyMgUGFyYW1ldGVyc2wtIGBpbmRleGA6IFRoZSBzcGVuZCBpbmRleC4AJCMjIEV2ZW50cwCQRW1pdHMgW2BFdmVudDo6UGFpZGBdIGlmIHN1Y2Nlc3NmdWwuMGNoZWNrX3N0YXR1cwQBFGluZGV4EAEoU3BlbmRJbmRleAAHTCkBQ2hlY2sgdGhlIHN0YXR1cyBvZiB0aGUgc3BlbmQgYW5kIHJlbW92ZSBpdCBmcm9tIHRoZSBzdG9yYWdlIGlmIHByb2Nlc3NlZC4ASCMjIERpc3BhdGNoIE9yaWdpbgA8TXVzdCBiZSBzaWduZWQuACgjIyBEZXRhaWxzAAEBVGhlIHN0YXR1cyBjaGVjayBpcyBhIHByZXJlcXVpc2l0ZSBmb3IgcmV0cnlpbmcgYSBmYWlsZWQgcGF5b3V0LkkBSWYgYSBzcGVuZCBoYXMgZWl0aGVyIHN1Y2NlZWRlZCBvciBleHBpcmVkLCBpdCBpcyByZW1vdmVkIGZyb20gdGhlIHN0b3JhZ2UgYnkgdGhpc+xmdW5jdGlvbi4gSW4gc3VjaCBpbnN0YW5jZXMsIHRyYW5zYWN0aW9uIGZlZXMgYXJlIHJlZnVuZGVkLgA4IyMjIFBhcmFtZXRlcnNsLSBgaW5kZXhgOiBUaGUgc3BlbmQgaW5kZXguACQjIyBFdmVudHMA+EVtaXRzIFtgRXZlbnQ6OlBheW1lbnRGYWlsZWRgXSBpZiB0aGUgc3BlbmQgcGF5b3V0IGhhcyBmYWlsZWQuAQFFbWl0cyBbYEV2ZW50OjpTcGVuZFByb2Nlc3NlZGBdIGlmIHRoZSBzcGVuZCBwYXlvdXQgaGFzIHN1Y2NlZWQuKHZvaWRfc3BlbmQEARRpbmRleBABKFNwZW5kSW5kZXgACEB8Vm9pZCBwcmV2aW91c2x5IGFwcHJvdmVkIHNwZW5kLgBIIyMgRGlzcGF0Y2ggT3JpZ2luAIRNdXN0IGJlIFtgQ29uZmlnOjpSZWplY3RPcmlnaW5gXS4AKCMjIERldGFpbHMAHQFBIHNwZW5kIHZvaWQgaXMgb25seSBwb3NzaWJsZSBpZiB0aGUgcGF5b3V0IGhhcyBub3QgYmVlbiBhdHRlbXB0ZWQgeWV0LgA4IyMjIFBhcmFtZXRlcnNsLSBgaW5kZXhgOiBUaGUgc3BlbmQgaW5kZXguACQjIyBFdmVudHMAwEVtaXRzIFtgRXZlbnQ6OkFzc2V0U3BlbmRWb2lkZWRgXSBpZiBzdWNjZXNzZnVsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5VAQAABhAAWQEEGE9wdGlvbgQEVAEQAQgQTm9uZQAAABBTb21lBAAQAAABAABdAQw4cGFsbGV0X3V0aWxpdHkYcGFsbGV0EENhbGwEBFQAARgUYmF0Y2gEARRjYWxsc2EBAXxWZWM8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AABIfFNlbmQgYSBiYXRjaCBvZiBkaXNwYXRjaCBjYWxscy4AsE1heSBiZSBjYWxsZWQgZnJvbSBhbnkgb3JpZ2luIGV4Y2VwdCBgTm9uZWAuAF0BLSBgY2FsbHNgOiBUaGUgY2FsbHMgdG8gYmUgZGlzcGF0Y2hlZCBmcm9tIHRoZSBzYW1lIG9yaWdpbi4gVGhlIG51bWJlciBvZiBjYWxsIG11c3Qgbm90OQEgIGV4Y2VlZCB0aGUgY29uc3RhbnQ6IGBiYXRjaGVkX2NhbGxzX2xpbWl0YCAoYXZhaWxhYmxlIGluIGNvbnN0YW50IG1ldGFkYXRhKS4AVQFJZiBvcmlnaW4gaXMgcm9vdCB0aGVuIHRoZSBjYWxscyBhcmUgZGlzcGF0Y2hlZCB3aXRob3V0IGNoZWNraW5nIG9yaWdpbiBmaWx0ZXIuIChUaGlz7GluY2x1ZGVzIGJ5cGFzc2luZyBgZnJhbWVfc3lzdGVtOjpDb25maWc6OkJhc2VDYWxsRmlsdGVyYCkuADQjIyBDb21wbGV4aXR50C0gTyhDKSB3aGVyZSBDIGlzIHRoZSBudW1iZXIgb2YgY2FsbHMgdG8gYmUgYmF0Y2hlZC4AVQFUaGlzIHdpbGwgcmV0dXJuIGBPa2AgaW4gYWxsIGNpcmN1bXN0YW5jZXMuIFRvIGRldGVybWluZSB0aGUgc3VjY2VzcyBvZiB0aGUgYmF0Y2gsIGFuMQFldmVudCBpcyBkZXBvc2l0ZWQuIElmIGEgY2FsbCBmYWlsZWQgYW5kIHRoZSBiYXRjaCB3YXMgaW50ZXJydXB0ZWQsIHRoZW4gdGhlVQFgQmF0Y2hJbnRlcnJ1cHRlZGAgZXZlbnQgaXMgZGVwb3NpdGVkLCBhbG9uZyB3aXRoIHRoZSBudW1iZXIgb2Ygc3VjY2Vzc2Z1bCBjYWxscyBtYWRlTQFhbmQgdGhlIGVycm9yIG9mIHRoZSBmYWlsZWQgY2FsbC4gSWYgYWxsIHdlcmUgc3VjY2Vzc2Z1bCwgdGhlbiB0aGUgYEJhdGNoQ29tcGxldGVkYExldmVudCBpcyBkZXBvc2l0ZWQuNGFzX2Rlcml2YXRpdmUIARRpbmRleMgBDHUxNgABEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgABNNxTZW5kIGEgY2FsbCB0aHJvdWdoIGFuIGluZGV4ZWQgcHNldWRvbnltIG9mIHRoZSBzZW5kZXIuAFUBRmlsdGVyIGZyb20gb3JpZ2luIGFyZSBwYXNzZWQgYWxvbmcuIFRoZSBjYWxsIHdpbGwgYmUgZGlzcGF0Y2hlZCB3aXRoIGFuIG9yaWdpbiB3aGljaLx1c2UgdGhlIHNhbWUgZmlsdGVyIGFzIHRoZSBvcmlnaW4gb2YgdGhpcyBjYWxsLgBFAU5PVEU6IElmIHlvdSBuZWVkIHRvIGVuc3VyZSB0aGF0IGFueSBhY2NvdW50LWJhc2VkIGZpbHRlcmluZyBpcyBub3QgaG9ub3JlZCAoaS5lLmEBYmVjYXVzZSB5b3UgZXhwZWN0IGBwcm94eWAgdG8gaGF2ZSBiZWVuIHVzZWQgcHJpb3IgaW4gdGhlIGNhbGwgc3RhY2sgYW5kIHlvdSBkbyBub3Qgd2FudFEBdGhlIGNhbGwgcmVzdHJpY3Rpb25zIHRvIGFwcGx5IHRvIGFueSBzdWItYWNjb3VudHMpLCB0aGVuIHVzZSBgYXNfbXVsdGlfdGhyZXNob2xkXzFgfGluIHRoZSBNdWx0aXNpZyBwYWxsZXQgaW5zdGVhZC4A9E5PVEU6IFByaW9yIHRvIHZlcnNpb24gKjEyLCB0aGlzIHdhcyBjYWxsZWQgYGFzX2xpbWl0ZWRfc3ViYC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLiRiYXRjaF9hbGwEARRjYWxsc2EBAXxWZWM8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAI07FNlbmQgYSBiYXRjaCBvZiBkaXNwYXRjaCBjYWxscyBhbmQgYXRvbWljYWxseSBleGVjdXRlIHRoZW0uIQFUaGUgd2hvbGUgdHJhbnNhY3Rpb24gd2lsbCByb2xsYmFjayBhbmQgZmFpbCBpZiBhbnkgb2YgdGhlIGNhbGxzIGZhaWxlZC4AsE1heSBiZSBjYWxsZWQgZnJvbSBhbnkgb3JpZ2luIGV4Y2VwdCBgTm9uZWAuAF0BLSBgY2FsbHNgOiBUaGUgY2FsbHMgdG8gYmUgZGlzcGF0Y2hlZCBmcm9tIHRoZSBzYW1lIG9yaWdpbi4gVGhlIG51bWJlciBvZiBjYWxsIG11c3Qgbm90OQEgIGV4Y2VlZCB0aGUgY29uc3RhbnQ6IGBiYXRjaGVkX2NhbGxzX2xpbWl0YCAoYXZhaWxhYmxlIGluIGNvbnN0YW50IG1ldGFkYXRhKS4AVQFJZiBvcmlnaW4gaXMgcm9vdCB0aGVuIHRoZSBjYWxscyBhcmUgZGlzcGF0Y2hlZCB3aXRob3V0IGNoZWNraW5nIG9yaWdpbiBmaWx0ZXIuIChUaGlz7GluY2x1ZGVzIGJ5cGFzc2luZyBgZnJhbWVfc3lzdGVtOjpDb25maWc6OkJhc2VDYWxsRmlsdGVyYCkuADQjIyBDb21wbGV4aXR50C0gTyhDKSB3aGVyZSBDIGlzIHRoZSBudW1iZXIgb2YgY2FsbHMgdG8gYmUgYmF0Y2hlZC4sZGlzcGF0Y2hfYXMIASRhc19vcmlnaW5lAQFUQm94PFQ6OlBhbGxldHNPcmlnaW4+AAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAMYyERpc3BhdGNoZXMgYSBmdW5jdGlvbiBjYWxsIHdpdGggYSBwcm92aWRlZCBvcmlnaW4uAMRUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfUm9vdF8uADQjIyBDb21wbGV4aXR5HC0gTygxKS4sZm9yY2VfYmF0Y2gEARRjYWxsc2EBAXxWZWM8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAQ0fFNlbmQgYSBiYXRjaCBvZiBkaXNwYXRjaCBjYWxscy7UVW5saWtlIGBiYXRjaGAsIGl0IGFsbG93cyBlcnJvcnMgYW5kIHdvbid0IGludGVycnVwdC4AsE1heSBiZSBjYWxsZWQgZnJvbSBhbnkgb3JpZ2luIGV4Y2VwdCBgTm9uZWAuAF0BLSBgY2FsbHNgOiBUaGUgY2FsbHMgdG8gYmUgZGlzcGF0Y2hlZCBmcm9tIHRoZSBzYW1lIG9yaWdpbi4gVGhlIG51bWJlciBvZiBjYWxsIG11c3Qgbm90OQEgIGV4Y2VlZCB0aGUgY29uc3RhbnQ6IGBiYXRjaGVkX2NhbGxzX2xpbWl0YCAoYXZhaWxhYmxlIGluIGNvbnN0YW50IG1ldGFkYXRhKS4ATQFJZiBvcmlnaW4gaXMgcm9vdCB0aGVuIHRoZSBjYWxscyBhcmUgZGlzcGF0Y2ggd2l0aG91dCBjaGVja2luZyBvcmlnaW4gZmlsdGVyLiAoVGhpc+xpbmNsdWRlcyBieXBhc3NpbmcgYGZyYW1lX3N5c3RlbTo6Q29uZmlnOjpCYXNlQ2FsbEZpbHRlcmApLgA0IyMgQ29tcGxleGl0edAtIE8oQykgd2hlcmUgQyBpcyB0aGUgbnVtYmVyIG9mIGNhbGxzIHRvIGJlIGJhdGNoZWQuLHdpdGhfd2VpZ2h0CAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAEYd2VpZ2h0KAEYV2VpZ2h0AAUYxERpc3BhdGNoIGEgZnVuY3Rpb24gY2FsbCB3aXRoIGEgc3BlY2lmaWVkIHdlaWdodC4ALQFUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGNoZWNrIHRoZSB3ZWlnaHQgb2YgdGhlIGNhbGwsIGFuZCBpbnN0ZWFkIGFsbG93cyB0aGW4Um9vdCBvcmlnaW4gdG8gc3BlY2lmeSB0aGUgd2VpZ2h0IG9mIHRoZSBjYWxsLgDEVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5hAQAAAhEBAGUBCDxoeWRyYWR4X3J1bnRpbWUwT3JpZ2luQ2FsbGVyAAEcGHN5c3RlbQQAaQEBdGZyYW1lX3N5c3RlbTo6T3JpZ2luPFJ1bnRpbWU+AAEASFRlY2huaWNhbENvbW1pdHRlZQQAbQEBAQFwYWxsZXRfY29sbGVjdGl2ZTo6T3JpZ2luPFJ1bnRpbWUsIHBhbGxldF9jb2xsZWN0aXZlOjpJbnN0YW5jZTI+ABkAHE9yaWdpbnMEAHEBAXRwYWxsZXRfY3VzdG9tX29yaWdpbnM6Ok9yaWdpbgAmACBFdGhlcmV1bQQAdQEBXHBhbGxldF9ldGhlcmV1bTo6T3JpZ2luAFwALFBvbGthZG90WGNtBAB5AQFIcGFsbGV0X3hjbTo6T3JpZ2luAGsAKEN1bXVsdXNYY20EALkBAWhjdW11bHVzX3BhbGxldF94Y206Ok9yaWdpbgBtABBWb2lkBADBAQFBAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjoKX19wcml2YXRlOjpWb2lkAAYAAGkBDDRmcmFtZV9zdXBwb3J0IGRpc3BhdGNoJFJhd09yaWdpbgQkQWNjb3VudElkAQABDBBSb290AAAAGFNpZ25lZAQAAAEkQWNjb3VudElkAAEAEE5vbmUAAgAAbQEIRHBhbGxldF9jb2xsZWN0aXZlJFJhd09yaWdpbggkQWNjb3VudElkAQAESQABDBxNZW1iZXJzCAAQASxNZW1iZXJDb3VudAAAEAEsTWVtYmVyQ291bnQAAAAYTWVtYmVyBAAAASRBY2NvdW50SWQAAQAgX1BoYW50b20AAgAAcQEUPGh5ZHJhZHhfcnVudGltZShnb3Zlcm5hbmNlHG9yaWdpbnNUcGFsbGV0X2N1c3RvbV9vcmlnaW5zGE9yaWdpbgABJERXaGl0ZWxpc3RlZENhbGxlcgAAAExSZWZlcmVuZHVtQ2FuY2VsbGVyAAEAQFJlZmVyZW5kdW1LaWxsZXIAAgAwR2VuZXJhbEFkbWluAAMANE9tbmlwb29sQWRtaW4ABAAkVHJlYXN1cmVyAAUAHFNwZW5kZXIABgAYVGlwcGVyAAcASEVjb25vbWljUGFyYW1ldGVycwAIAAB1AQg8cGFsbGV0X2V0aGVyZXVtJFJhd09yaWdpbgABBExFdGhlcmV1bVRyYW5zYWN0aW9uBABBAQEQSDE2MAAAAAB5AQwocGFsbGV0X3hjbRhwYWxsZXQYT3JpZ2luAAEIDFhjbQQAfQEBIExvY2F0aW9uAAAAIFJlc3BvbnNlBAB9AQEgTG9jYXRpb24AAQAAfQEQLHN0YWdpbmdfeGNtCHY0IGxvY2F0aW9uIExvY2F0aW9uAAAIARxwYXJlbnRzCAEIdTgAASBpbnRlcmlvcoEBASRKdW5jdGlvbnMAAIEBECxzdGFnaW5nX3hjbQh2NCRqdW5jdGlvbnMkSnVuY3Rpb25zAAEkEEhlcmUAAAAIWDEEAIUBAUhBcmM8W0p1bmN0aW9uOyAxXT4AAQAIWDIEAJ0BAUhBcmM8W0p1bmN0aW9uOyAyXT4AAgAIWDMEAKEBAUhBcmM8W0p1bmN0aW9uOyAzXT4AAwAIWDQEAKUBAUhBcmM8W0p1bmN0aW9uOyA0XT4ABAAIWDUEAKkBAUhBcmM8W0p1bmN0aW9uOyA1XT4ABQAIWDYEAK0BAUhBcmM8W0p1bmN0aW9uOyA2XT4ABgAIWDcEALEBAUhBcmM8W0p1bmN0aW9uOyA3XT4ABwAIWDgEALUBAUhBcmM8W0p1bmN0aW9uOyA4XT4ACAAAhQEAAAMBAAAAiQEAiQEQLHN0YWdpbmdfeGNtCHY0IGp1bmN0aW9uIEp1bmN0aW9uAAEoJFBhcmFjaGFpbgQAVQEBDHUzMgAAACxBY2NvdW50SWQzMggBHG5ldHdvcmuNAQFET3B0aW9uPE5ldHdvcmtJZD4AAQhpZAQBIFt1ODsgMzJdAAEAOEFjY291bnRJbmRleDY0CAEcbmV0d29ya40BAURPcHRpb248TmV0d29ya0lkPgABFGluZGV4LAEMdTY0AAIAMEFjY291bnRLZXkyMAgBHG5ldHdvcmuNAQFET3B0aW9uPE5ldHdvcmtJZD4AAQxrZXlFAQEgW3U4OyAyMF0AAwA4UGFsbGV0SW5zdGFuY2UEAAgBCHU4AAQAMEdlbmVyYWxJbmRleAQALQEBEHUxMjgABQAoR2VuZXJhbEtleQgBGGxlbmd0aAgBCHU4AAEQZGF0YQQBIFt1ODsgMzJdAAYAJE9ubHlDaGlsZAAHACRQbHVyYWxpdHkIAQhpZJUBARhCb2R5SWQAARBwYXJ0mQEBIEJvZHlQYXJ0AAgAPEdsb2JhbENvbnNlbnN1cwQAkQEBJE5ldHdvcmtJZAAJAACNAQQYT3B0aW9uBARUAZEBAQgQTm9uZQAAABBTb21lBACRAQAAAQAAkQEQLHN0YWdpbmdfeGNtCHY0IGp1bmN0aW9uJE5ldHdvcmtJZAABLCRCeUdlbmVzaXMEAAQBIFt1ODsgMzJdAAAAGEJ5Rm9yawgBMGJsb2NrX251bWJlcjABDHU2NAABKGJsb2NrX2hhc2gEASBbdTg7IDMyXQABACBQb2xrYWRvdAACABhLdXNhbWEAAwAcV2VzdGVuZAAEABhSb2NvY28ABQAYV29jb2NvAAYAIEV0aGVyZXVtBAEgY2hhaW5faWQsAQx1NjQABwAsQml0Y29pbkNvcmUACAAsQml0Y29pbkNhc2gACQBAUG9sa2Fkb3RCdWxsZXRpbgAKAACVARAMeGNtCHYzIGp1bmN0aW9uGEJvZHlJZAABKBBVbml0AAAAHE1vbmlrZXIEAEgBHFt1ODsgNF0AAQAUSW5kZXgEAFUBAQx1MzIAAgAkRXhlY3V0aXZlAAMAJFRlY2huaWNhbAAEACxMZWdpc2xhdGl2ZQAFACBKdWRpY2lhbAAGABxEZWZlbnNlAAcAOEFkbWluaXN0cmF0aW9uAAgAIFRyZWFzdXJ5AAkAAJkBEAx4Y20IdjMganVuY3Rpb24gQm9keVBhcnQAARQUVm9pY2UAAAAcTWVtYmVycwQBFGNvdW50VQEBDHUzMgABACBGcmFjdGlvbggBDG5vbVUBAQx1MzIAARRkZW5vbVUBAQx1MzIAAgBEQXRMZWFzdFByb3BvcnRpb24IAQxub21VAQEMdTMyAAEUZGVub21VAQEMdTMyAAMASE1vcmVUaGFuUHJvcG9ydGlvbggBDG5vbVUBAQx1MzIAARRkZW5vbVUBAQx1MzIABAAAnQEAAAMCAAAAiQEAoQEAAAMDAAAAiQEApQEAAAMEAAAAiQEAqQEAAAMFAAAAiQEArQEAAAMGAAAAiQEAsQEAAAMHAAAAiQEAtQEAAAMIAAAAiQEAuQEMSGN1bXVsdXNfcGFsbGV0X3hjbRhwYWxsZXQYT3JpZ2luAAEIFFJlbGF5AAAAQFNpYmxpbmdQYXJhY2hhaW4EAL0BARhQYXJhSWQAAQAAvQEMdHBvbGthZG90X3BhcmFjaGFpbl9wcmltaXRpdmVzKHByaW1pdGl2ZXMISWQAAAQAEAEMdTMyAADBAQgcc3BfY29yZRBWb2lkAAEAAMUBDDxwYWxsZXRfcHJlaW1hZ2UYcGFsbGV0EENhbGwEBFQAARQ0bm90ZV9wcmVpbWFnZQQBFGJ5dGVzOAEcVmVjPHU4PgAAEHRSZWdpc3RlciBhIHByZWltYWdlIG9uLWNoYWluLgBVAUlmIHRoZSBwcmVpbWFnZSB3YXMgcHJldmlvdXNseSByZXF1ZXN0ZWQsIG5vIGZlZXMgb3IgZGVwb3NpdHMgYXJlIHRha2VuIGZvciBwcm92aWRpbmdVAXRoZSBwcmVpbWFnZS4gT3RoZXJ3aXNlLCBhIGRlcG9zaXQgaXMgdGFrZW4gcHJvcG9ydGlvbmFsIHRvIHRoZSBzaXplIG9mIHRoZSBwcmVpbWFnZS48dW5ub3RlX3ByZWltYWdlBAEQaGFzaDQBHFQ6Okhhc2gAARjcQ2xlYXIgYW4gdW5yZXF1ZXN0ZWQgcHJlaW1hZ2UgZnJvbSB0aGUgcnVudGltZSBzdG9yYWdlLgD8SWYgYGxlbmAgaXMgcHJvdmlkZWQsIHRoZW4gaXQgd2lsbCBiZSBhIG11Y2ggY2hlYXBlciBvcGVyYXRpb24uAAEBLSBgaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBwcmVpbWFnZSB0byBiZSByZW1vdmVkIGZyb20gdGhlIHN0b3JlLrgtIGBsZW5gOiBUaGUgbGVuZ3RoIG9mIHRoZSBwcmVpbWFnZSBvZiBgaGFzaGAuQHJlcXVlc3RfcHJlaW1hZ2UEARBoYXNoNAEcVDo6SGFzaAACEEEBUmVxdWVzdCBhIHByZWltYWdlIGJlIHVwbG9hZGVkIHRvIHRoZSBjaGFpbiB3aXRob3V0IHBheWluZyBhbnkgZmVlcyBvciBkZXBvc2l0cy4AVQFJZiB0aGUgcHJlaW1hZ2UgcmVxdWVzdHMgaGFzIGFscmVhZHkgYmVlbiBwcm92aWRlZCBvbi1jaGFpbiwgd2UgdW5yZXNlcnZlIGFueSBkZXBvc2l0OQFhIHVzZXIgbWF5IGhhdmUgcGFpZCwgYW5kIHRha2UgdGhlIGNvbnRyb2wgb2YgdGhlIHByZWltYWdlIG91dCBvZiB0aGVpciBoYW5kcy5IdW5yZXF1ZXN0X3ByZWltYWdlBAEQaGFzaDQBHFQ6Okhhc2gAAwy8Q2xlYXIgYSBwcmV2aW91c2x5IG1hZGUgcmVxdWVzdCBmb3IgYSBwcmVpbWFnZS4ALQFOT1RFOiBUSElTIE1VU1QgTk9UIEJFIENBTExFRCBPTiBgaGFzaGAgTU9SRSBUSU1FUyBUSEFOIGByZXF1ZXN0X3ByZWltYWdlYC44ZW5zdXJlX3VwZGF0ZWQEARhoYXNoZXPJAQEwVmVjPFQ6Okhhc2g+AAQMxEVuc3VyZSB0aGF0IHRoZSBhIGJ1bGsgb2YgcHJlLWltYWdlcyBpcyB1cGdyYWRlZC4APQFUaGUgY2FsbGVyIHBheXMgbm8gZmVlIGlmIGF0IGxlYXN0IDkwJSBvZiBwcmUtaW1hZ2VzIHdlcmUgc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLskBAAACNADNAQw8cGFsbGV0X2lkZW50aXR5GHBhbGxldBBDYWxsBARUAAFYNGFkZF9yZWdpc3RyYXIEARxhY2NvdW50AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AABx4QWRkIGEgcmVnaXN0cmFyIHRvIHRoZSBzeXN0ZW0uAPxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgVDo6UmVnaXN0cmFyT3JpZ2luYC4AqC0gYGFjY291bnRgOiB0aGUgYWNjb3VudCBvZiB0aGUgcmVnaXN0cmFyLgCURW1pdHMgYFJlZ2lzdHJhckFkZGVkYCBpZiBzdWNjZXNzZnVsLjBzZXRfaWRlbnRpdHkEARBpbmZv0QEBbEJveDxUOjpJZGVudGl0eUluZm9ybWF0aW9uPgABKCkBU2V0IGFuIGFjY291bnQncyBpZGVudGl0eSBpbmZvcm1hdGlvbiBhbmQgcmVzZXJ2ZSB0aGUgYXBwcm9wcmlhdGUgZGVwb3NpdC4AVQFJZiB0aGUgYWNjb3VudCBhbHJlYWR5IGhhcyBpZGVudGl0eSBpbmZvcm1hdGlvbiwgdGhlIGRlcG9zaXQgaXMgdGFrZW4gYXMgcGFydCBwYXltZW50UGZvciB0aGUgbmV3IGRlcG9zaXQuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AjC0gYGluZm9gOiBUaGUgaWRlbnRpdHkgaW5mb3JtYXRpb24uAIhFbWl0cyBgSWRlbnRpdHlTZXRgIGlmIHN1Y2Nlc3NmdWwuIHNldF9zdWJzBAEQc3Vic2ECAWRWZWM8KFQ6OkFjY291bnRJZCwgRGF0YSk+AAIkjFNldCB0aGUgc3ViLWFjY291bnRzIG9mIHRoZSBzZW5kZXIuAFUBUGF5bWVudDogQW55IGFnZ3JlZ2F0ZSBiYWxhbmNlIHJlc2VydmVkIGJ5IHByZXZpb3VzIGBzZXRfc3Vic2AgY2FsbHMgd2lsbCBiZSByZXR1cm5lZC0BYW5kIGFuIGFtb3VudCBgU3ViQWNjb3VudERlcG9zaXRgIHdpbGwgYmUgcmVzZXJ2ZWQgZm9yIGVhY2ggaXRlbSBpbiBgc3Vic2AuAGEBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBoYXZlIGEgcmVnaXN0ZXJlZCRpZGVudGl0eS4AsC0gYHN1YnNgOiBUaGUgaWRlbnRpdHkncyAobmV3KSBzdWItYWNjb3VudHMuOGNsZWFyX2lkZW50aXR5AAMgOQFDbGVhciBhbiBhY2NvdW50J3MgaWRlbnRpdHkgaW5mbyBhbmQgYWxsIHN1Yi1hY2NvdW50cyBhbmQgcmV0dXJuIGFsbCBkZXBvc2l0cy4A7FBheW1lbnQ6IEFsbCByZXNlcnZlZCBiYWxhbmNlcyBvbiB0aGUgYWNjb3VudCBhcmUgcmV0dXJuZWQuAGEBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBoYXZlIGEgcmVnaXN0ZXJlZCRpZGVudGl0eS4AmEVtaXRzIGBJZGVudGl0eUNsZWFyZWRgIGlmIHN1Y2Nlc3NmdWwuRHJlcXVlc3RfanVkZ2VtZW50CAEkcmVnX2luZGV4VQEBOFJlZ2lzdHJhckluZGV4AAEcbWF4X2ZlZS0BATBCYWxhbmNlT2Y8VD4ABECUUmVxdWVzdCBhIGp1ZGdlbWVudCBmcm9tIGEgcmVnaXN0cmFyLgBVAVBheW1lbnQ6IEF0IG1vc3QgYG1heF9mZWVgIHdpbGwgYmUgcmVzZXJ2ZWQgZm9yIHBheW1lbnQgdG8gdGhlIHJlZ2lzdHJhciBpZiBqdWRnZW1lbnQYZ2l2ZW4uADUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBoYXZlIGFQcmVnaXN0ZXJlZCBpZGVudGl0eS4AHQEtIGByZWdfaW5kZXhgOiBUaGUgaW5kZXggb2YgdGhlIHJlZ2lzdHJhciB3aG9zZSBqdWRnZW1lbnQgaXMgcmVxdWVzdGVkLlUBLSBgbWF4X2ZlZWA6IFRoZSBtYXhpbXVtIGZlZSB0aGF0IG1heSBiZSBwYWlkLiBUaGlzIHNob3VsZCBqdXN0IGJlIGF1dG8tcG9wdWxhdGVkIGFzOgAwYGBgbm9jb21waWxlyFJlZ2lzdHJhcnM6OjxUPjo6Z2V0KCkuZ2V0KHJlZ19pbmRleCkudW53cmFwKCkuZmVlDGBgYACkRW1pdHMgYEp1ZGdlbWVudFJlcXVlc3RlZGAgaWYgc3VjY2Vzc2Z1bC44Y2FuY2VsX3JlcXVlc3QEASRyZWdfaW5kZXgQAThSZWdpc3RyYXJJbmRleAAFKGhDYW5jZWwgYSBwcmV2aW91cyByZXF1ZXN0LgD4UGF5bWVudDogQSBwcmV2aW91c2x5IHJlc2VydmVkIGRlcG9zaXQgaXMgcmV0dXJuZWQgb24gc3VjY2Vzcy4ANQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYVByZWdpc3RlcmVkIGlkZW50aXR5LgBFAS0gYHJlZ19pbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGp1ZGdlbWVudCBpcyBubyBsb25nZXIgcmVxdWVzdGVkLgCsRW1pdHMgYEp1ZGdlbWVudFVucmVxdWVzdGVkYCBpZiBzdWNjZXNzZnVsLhxzZXRfZmVlCAEUaW5kZXhVAQE4UmVnaXN0cmFySW5kZXgAAQxmZWUtAQEwQmFsYW5jZU9mPFQ+AAYcGQFTZXQgdGhlIGZlZSByZXF1aXJlZCBmb3IgYSBqdWRnZW1lbnQgdG8gYmUgcmVxdWVzdGVkIGZyb20gYSByZWdpc3RyYXIuAFUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBiZSB0aGUgYWNjb3VudKBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGluZGV4IGlzIGBpbmRleGAuAPQtIGBpbmRleGA6IHRoZSBpbmRleCBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGZlZSBpcyB0byBiZSBzZXQuVC0gYGZlZWA6IHRoZSBuZXcgZmVlLjhzZXRfYWNjb3VudF9pZAgBFGluZGV4VQEBOFJlZ2lzdHJhckluZGV4AAEMbmV3AAFQQWNjb3VudElkTG9va3VwT2Y8VD4ABxy8Q2hhbmdlIHRoZSBhY2NvdW50IGFzc29jaWF0ZWQgd2l0aCBhIHJlZ2lzdHJhci4AVQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGJlIHRoZSBhY2NvdW50oG9mIHRoZSByZWdpc3RyYXIgd2hvc2UgaW5kZXggaXMgYGluZGV4YC4A9C0gYGluZGV4YDogdGhlIGluZGV4IG9mIHRoZSByZWdpc3RyYXIgd2hvc2UgZmVlIGlzIHRvIGJlIHNldC5wLSBgbmV3YDogdGhlIG5ldyBhY2NvdW50IElELihzZXRfZmllbGRzCAEUaW5kZXhVAQE4UmVnaXN0cmFySW5kZXgAARhmaWVsZHMwASkBPFQ6OklkZW50aXR5SW5mb3JtYXRpb24gYXMgSWRlbnRpdHlJbmZvcm1hdGlvblByb3ZpZGVyPjo6CkZpZWxkc0lkZW50aWZpZXIACByoU2V0IHRoZSBmaWVsZCBpbmZvcm1hdGlvbiBmb3IgYSByZWdpc3RyYXIuAFUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBiZSB0aGUgYWNjb3VudKBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGluZGV4IGlzIGBpbmRleGAuAPQtIGBpbmRleGA6IHRoZSBpbmRleCBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGZlZSBpcyB0byBiZSBzZXQuDQEtIGBmaWVsZHNgOiB0aGUgZmllbGRzIHRoYXQgdGhlIHJlZ2lzdHJhciBjb25jZXJucyB0aGVtc2VsdmVzIHdpdGguRHByb3ZpZGVfanVkZ2VtZW50EAEkcmVnX2luZGV4VQEBOFJlZ2lzdHJhckluZGV4AAEYdGFyZ2V0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASRqdWRnZW1lbnRpAgFcSnVkZ2VtZW50PEJhbGFuY2VPZjxUPj4AASBpZGVudGl0eTQBHFQ6Okhhc2gACTy4UHJvdmlkZSBhIGp1ZGdlbWVudCBmb3IgYW4gYWNjb3VudCdzIGlkZW50aXR5LgBVAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3QgYmUgdGhlIGFjY291bnSwb2YgdGhlIHJlZ2lzdHJhciB3aG9zZSBpbmRleCBpcyBgcmVnX2luZGV4YC4AIQEtIGByZWdfaW5kZXhgOiB0aGUgaW5kZXggb2YgdGhlIHJlZ2lzdHJhciB3aG9zZSBqdWRnZW1lbnQgaXMgYmVpbmcgbWFkZS5VAS0gYHRhcmdldGA6IHRoZSBhY2NvdW50IHdob3NlIGlkZW50aXR5IHRoZSBqdWRnZW1lbnQgaXMgdXBvbi4gVGhpcyBtdXN0IGJlIGFuIGFjY291bnR0ICB3aXRoIGEgcmVnaXN0ZXJlZCBpZGVudGl0eS5JAS0gYGp1ZGdlbWVudGA6IHRoZSBqdWRnZW1lbnQgb2YgdGhlIHJlZ2lzdHJhciBvZiBpbmRleCBgcmVnX2luZGV4YCBhYm91dCBgdGFyZ2V0YC5dAS0gYGlkZW50aXR5YDogVGhlIGhhc2ggb2YgdGhlIFtgSWRlbnRpdHlJbmZvcm1hdGlvblByb3ZpZGVyYF0gZm9yIHRoYXQgdGhlIGp1ZGdlbWVudCBpcywgIHByb3ZpZGVkLgCwTm90ZTogSnVkZ2VtZW50cyBkbyBub3QgYXBwbHkgdG8gYSB1c2VybmFtZS4AlEVtaXRzIGBKdWRnZW1lbnRHaXZlbmAgaWYgc3VjY2Vzc2Z1bC40a2lsbF9pZGVudGl0eQQBGHRhcmdldAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAowQQFSZW1vdmUgYW4gYWNjb3VudCdzIGlkZW50aXR5IGFuZCBzdWItYWNjb3VudCBpbmZvcm1hdGlvbiBhbmQgc2xhc2ggdGhlIGRlcG9zaXRzLgBhAVBheW1lbnQ6IFJlc2VydmVkIGJhbGFuY2VzIGZyb20gYHNldF9zdWJzYCBhbmQgYHNldF9pZGVudGl0eWAgYXJlIHNsYXNoZWQgYW5kIGhhbmRsZWQgYnlFAWBTbGFzaGAuIFZlcmlmaWNhdGlvbiByZXF1ZXN0IGRlcG9zaXRzIGFyZSBub3QgcmV0dXJuZWQ7IHRoZXkgc2hvdWxkIGJlIGNhbmNlbGxlZIBtYW51YWxseSB1c2luZyBgY2FuY2VsX3JlcXVlc3RgLgD4VGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgbWF0Y2ggYFQ6OkZvcmNlT3JpZ2luYC4AVQEtIGB0YXJnZXRgOiB0aGUgYWNjb3VudCB3aG9zZSBpZGVudGl0eSB0aGUganVkZ2VtZW50IGlzIHVwb24uIFRoaXMgbXVzdCBiZSBhbiBhY2NvdW50dCAgd2l0aCBhIHJlZ2lzdGVyZWQgaWRlbnRpdHkuAJRFbWl0cyBgSWRlbnRpdHlLaWxsZWRgIGlmIHN1Y2Nlc3NmdWwuHGFkZF9zdWIIAQxzdWIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABEGRhdGHdAQEQRGF0YQALHKxBZGQgdGhlIGdpdmVuIGFjY291bnQgdG8gdGhlIHNlbmRlcidzIHN1YnMuAF0BUGF5bWVudDogQmFsYW5jZSByZXNlcnZlZCBieSBhIHByZXZpb3VzIGBzZXRfc3Vic2AgY2FsbCBmb3Igb25lIHN1YiB3aWxsIGJlIHJlcGF0cmlhdGVkOHRvIHRoZSBzZW5kZXIuAGEBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBoYXZlIGEgcmVnaXN0ZXJlZFhzdWIgaWRlbnRpdHkgb2YgYHN1YmAuKHJlbmFtZV9zdWIIAQxzdWIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABEGRhdGHdAQEQRGF0YQAMEMxBbHRlciB0aGUgYXNzb2NpYXRlZCBuYW1lIG9mIHRoZSBnaXZlbiBzdWItYWNjb3VudC4AYQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYSByZWdpc3RlcmVkWHN1YiBpZGVudGl0eSBvZiBgc3ViYC4ocmVtb3ZlX3N1YgQBDHN1YgABUEFjY291bnRJZExvb2t1cE9mPFQ+AA0cwFJlbW92ZSB0aGUgZ2l2ZW4gYWNjb3VudCBmcm9tIHRoZSBzZW5kZXIncyBzdWJzLgBdAVBheW1lbnQ6IEJhbGFuY2UgcmVzZXJ2ZWQgYnkgYSBwcmV2aW91cyBgc2V0X3N1YnNgIGNhbGwgZm9yIG9uZSBzdWIgd2lsbCBiZSByZXBhdHJpYXRlZDh0byB0aGUgc2VuZGVyLgBhAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3QgaGF2ZSBhIHJlZ2lzdGVyZWRYc3ViIGlkZW50aXR5IG9mIGBzdWJgLiBxdWl0X3N1YgAOKIxSZW1vdmUgdGhlIHNlbmRlciBhcyBhIHN1Yi1hY2NvdW50LgBdAVBheW1lbnQ6IEJhbGFuY2UgcmVzZXJ2ZWQgYnkgYSBwcmV2aW91cyBgc2V0X3N1YnNgIGNhbGwgZm9yIG9uZSBzdWIgd2lsbCBiZSByZXBhdHJpYXRlZLR0byB0aGUgc2VuZGVyICgqbm90KiB0aGUgb3JpZ2luYWwgZGVwb3NpdG9yKS4AYQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYSByZWdpc3RlcmVkPHN1cGVyLWlkZW50aXR5LgBFAU5PVEU6IFRoaXMgc2hvdWxkIG5vdCBub3JtYWxseSBiZSB1c2VkLCBidXQgaXMgcHJvdmlkZWQgaW4gdGhlIGNhc2UgdGhhdCB0aGUgbm9uLREBY29udHJvbGxlciBvZiBhbiBhY2NvdW50IGlzIG1hbGljaW91c2x5IHJlZ2lzdGVyZWQgYXMgYSBzdWItYWNjb3VudC5YYWRkX3VzZXJuYW1lX2F1dGhvcml0eQwBJGF1dGhvcml0eQABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEYc3VmZml4OAEcVmVjPHU4PgABKGFsbG9jYXRpb24QAQx1MzIADxBVAUFkZCBhbiBgQWNjb3VudElkYCB3aXRoIHBlcm1pc3Npb24gdG8gZ3JhbnQgdXNlcm5hbWVzIHdpdGggYSBnaXZlbiBgc3VmZml4YCBhcHBlbmRlZC4AWQFUaGUgYXV0aG9yaXR5IGNhbiBncmFudCB1cCB0byBgYWxsb2NhdGlvbmAgdXNlcm5hbWVzLiBUbyB0b3AgdXAgdGhlaXIgYWxsb2NhdGlvbiwgdGhleUkBc2hvdWxkIGp1c3QgaXNzdWUgKG9yIHJlcXVlc3QgdmlhIGdvdmVybmFuY2UpIGEgbmV3IGBhZGRfdXNlcm5hbWVfYXV0aG9yaXR5YCBjYWxsLmRyZW1vdmVfdXNlcm5hbWVfYXV0aG9yaXR5BAEkYXV0aG9yaXR5AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AEATEUmVtb3ZlIGBhdXRob3JpdHlgIGZyb20gdGhlIHVzZXJuYW1lIGF1dGhvcml0aWVzLkBzZXRfdXNlcm5hbWVfZm9yDAEMd2hvAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASB1c2VybmFtZTgBHFZlYzx1OD4AASRzaWduYXR1cmVtAgFwT3B0aW9uPFQ6Ok9mZmNoYWluU2lnbmF0dXJlPgARJA0BU2V0IHRoZSB1c2VybmFtZSBmb3IgYHdob2AuIE11c3QgYmUgY2FsbGVkIGJ5IGEgdXNlcm5hbWUgYXV0aG9yaXR5LgBVAVRoZSBhdXRob3JpdHkgbXVzdCBoYXZlIGFuIGBhbGxvY2F0aW9uYC4gVXNlcnMgY2FuIGVpdGhlciBwcmUtc2lnbiB0aGVpciB1c2VybmFtZXMgb3JIYWNjZXB0IHRoZW0gbGF0ZXIuADxVc2VybmFtZXMgbXVzdDrYICAtIE9ubHkgY29udGFpbiBsb3dlcmNhc2UgQVNDSUkgY2hhcmFjdGVycyBvciBkaWdpdHMuNQEgIC0gV2hlbiBjb21iaW5lZCB3aXRoIHRoZSBzdWZmaXggb2YgdGhlIGlzc3VpbmcgYXV0aG9yaXR5IGJlIF9sZXNzIHRoYW5fIHRoZWAgICAgYE1heFVzZXJuYW1lTGVuZ3RoYC48YWNjZXB0X3VzZXJuYW1lBAEgdXNlcm5hbWWkASxVc2VybmFtZTxUPgASCE0BQWNjZXB0IGEgZ2l2ZW4gdXNlcm5hbWUgdGhhdCBhbiBgYXV0aG9yaXR5YCBncmFudGVkLiBUaGUgY2FsbCBtdXN0IGluY2x1ZGUgdGhlIGZ1bGyIdXNlcm5hbWUsIGFzIGluIGB1c2VybmFtZS5zdWZmaXhgLlxyZW1vdmVfZXhwaXJlZF9hcHByb3ZhbAQBIHVzZXJuYW1lpAEsVXNlcm5hbWU8VD4AEwxhAVJlbW92ZSBhbiBleHBpcmVkIHVzZXJuYW1lIGFwcHJvdmFsLiBUaGUgdXNlcm5hbWUgd2FzIGFwcHJvdmVkIGJ5IGFuIGF1dGhvcml0eSBidXQgbmV2ZXJVAWFjY2VwdGVkIGJ5IHRoZSB1c2VyIGFuZCBtdXN0IG5vdyBiZSBiZXlvbmQgaXRzIGV4cGlyYXRpb24uIFRoZSBjYWxsIG11c3QgaW5jbHVkZSB0aGWcZnVsbCB1c2VybmFtZSwgYXMgaW4gYHVzZXJuYW1lLnN1ZmZpeGAuUHNldF9wcmltYXJ5X3VzZXJuYW1lBAEgdXNlcm5hbWWkASxVc2VybmFtZTxUPgAUBDEBU2V0IGEgZ2l2ZW4gdXNlcm5hbWUgYXMgdGhlIHByaW1hcnkuIFRoZSB1c2VybmFtZSBzaG91bGQgaW5jbHVkZSB0aGUgc3VmZml4LmByZW1vdmVfZGFuZ2xpbmdfdXNlcm5hbWUEASB1c2VybmFtZaQBLFVzZXJuYW1lPFQ+ABUIVQFSZW1vdmUgYSB1c2VybmFtZSB0aGF0IGNvcnJlc3BvbmRzIHRvIGFuIGFjY291bnQgd2l0aCBubyBpZGVudGl0eS4gRXhpc3RzIHdoZW4gYSB1c2VywGdldHMgYSB1c2VybmFtZSBidXQgdGhlbiBjYWxscyBgY2xlYXJfaWRlbnRpdHlgLgRwSWRlbnRpdHkgcGFsbGV0IGRlY2xhcmF0aW9uLtEBDDxwYWxsZXRfaWRlbnRpdHkYbGVnYWN5MElkZW50aXR5SW5mbwQoRmllbGRMaW1pdAAAJAEoYWRkaXRpb25hbNUBAZBCb3VuZGVkVmVjPChEYXRhLCBEYXRhKSwgRmllbGRMaW1pdD4AARxkaXNwbGF53QEBEERhdGEAARRsZWdhbN0BARBEYXRhAAEMd2Vi3QEBEERhdGEAARByaW903QEBEERhdGEAARRlbWFpbN0BARBEYXRhAAE8cGdwX2ZpbmdlcnByaW50XQIBQE9wdGlvbjxbdTg7IDIwXT4AARRpbWFnZd0BARBEYXRhAAEcdHdpdHRlct0BARBEYXRhAADVAQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAdkBBFMAAAQAWQIBGFZlYzxUPgAA2QEAAAQI3QHdAQDdAQw8cGFsbGV0X2lkZW50aXR5FHR5cGVzEERhdGEAAZgQTm9uZQAAABBSYXcwBADhAQAAAQAQUmF3MQQA5QEAAAIAEFJhdzIEAOkBAAADABBSYXczBADtAQAABAAQUmF3NAQASAAABQAQUmF3NQQA8QEAAAYAEFJhdzYEAPUBAAAHABBSYXc3BAD5AQAACAAQUmF3OAQA/QEAAAkAEFJhdzkEAAECAAAKABRSYXcxMAQABQIAAAsAFFJhdzExBAAJAgAADAAUUmF3MTIEAA0CAAANABRSYXcxMwQAEQIAAA4AFFJhdzE0BAAVAgAADwAUUmF3MTUEABkCAAAQABRSYXcxNgQAHQIAABEAFFJhdzE3BAAhAgAAEgAUUmF3MTgEACUCAAATABRSYXcxOQQAKQIAABQAFFJhdzIwBABFAQAAFQAUUmF3MjEEAC0CAAAWABRSYXcyMgQAMQIAABcAFFJhdzIzBAA1AgAAGAAUUmF3MjQEADkCAAAZABRSYXcyNQQAPQIAABoAFFJhdzI2BABBAgAAGwAUUmF3MjcEAEUCAAAcABRSYXcyOAQASQIAAB0AFFJhdzI5BABNAgAAHgAUUmF3MzAEAFECAAAfABRSYXczMQQAVQIAACAAFFJhdzMyBAAEAAAhACxCbGFrZVR3bzI1NgQABAAAIgAYU2hhMjU2BAAEAAAjACRLZWNjYWsyNTYEAAQAACQALFNoYVRocmVlMjU2BAAEAAAlAADhAQAAAwAAAAAIAOUBAAADAQAAAAgA6QEAAAMCAAAACADtAQAAAwMAAAAIAPEBAAADBQAAAAgA9QEAAAMGAAAACAD5AQAAAwcAAAAIAP0BAAADCAAAAAgAAQIAAAMJAAAACAAFAgAAAwoAAAAIAAkCAAADCwAAAAgADQIAAAMMAAAACAARAgAAAw0AAAAIABUCAAADDgAAAAgAGQIAAAMPAAAACAAdAgAAAxAAAAAIACECAAADEQAAAAgAJQIAAAMSAAAACAApAgAAAxMAAAAIAC0CAAADFQAAAAgAMQIAAAMWAAAACAA1AgAAAxcAAAAIADkCAAADGAAAAAgAPQIAAAMZAAAACABBAgAAAxoAAAAIAEUCAAADGwAAAAgASQIAAAMcAAAACABNAgAAAx0AAAAIAFECAAADHgAAAAgAVQIAAAMfAAAACABZAgAAAtkBAF0CBBhPcHRpb24EBFQBRQEBCBBOb25lAAAAEFNvbWUEAEUBAAABAABhAgAAAmUCAGUCAAAECADdAQBpAgw8cGFsbGV0X2lkZW50aXR5FHR5cGVzJEp1ZGdlbWVudAQcQmFsYW5jZQEYARwcVW5rbm93bgAAABxGZWVQYWlkBAAYARxCYWxhbmNlAAEAKFJlYXNvbmFibGUAAgAkS25vd25Hb29kAAMAJE91dE9mRGF0ZQAEAChMb3dRdWFsaXR5AAUAJEVycm9uZW91cwAGAABtAgQYT3B0aW9uBARUAXECAQgQTm9uZQAAABBTb21lBABxAgAAAQAAcQIIKHNwX3J1bnRpbWU4TXVsdGlTaWduYXR1cmUAAQwcRWQyNTUxOQQAdQIBSGVkMjU1MTk6OlNpZ25hdHVyZQAAABxTcjI1NTE5BAB1AgFIc3IyNTUxOTo6U2lnbmF0dXJlAAEAFEVjZHNhBAB5AgFAZWNkc2E6OlNpZ25hdHVyZQACAAB1AgAAA0AAAAAIAHkCAAADQQAAAAgAfQIMQHBhbGxldF9kZW1vY3JhY3kYcGFsbGV0EENhbGwEBFQAAVAccHJvcG9zZQgBIHByb3Bvc2FsDQEBQEJvdW5kZWRDYWxsT2Y8VD4AARR2YWx1ZS0BATBCYWxhbmNlT2Y8VD4AACScUHJvcG9zZSBhIHNlbnNpdGl2ZSBhY3Rpb24gdG8gYmUgdGFrZW4uABUBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0gGhhdmUgZnVuZHMgdG8gY292ZXIgdGhlIGRlcG9zaXQuANQtIGBwcm9wb3NhbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIHByb3Bvc2FsIHByZWltYWdlLhUBLSBgdmFsdWVgOiBUaGUgYW1vdW50IG9mIGRlcG9zaXQgKG11c3QgYmUgYXQgbGVhc3QgYE1pbmltdW1EZXBvc2l0YCkuAERFbWl0cyBgUHJvcG9zZWRgLhhzZWNvbmQEASBwcm9wb3NhbFUBASRQcm9wSW5kZXgAARi0U2lnbmFscyBhZ3JlZW1lbnQgd2l0aCBhIHBhcnRpY3VsYXIgcHJvcG9zYWwuAAEBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlchEBbXVzdCBoYXZlIGZ1bmRzIHRvIGNvdmVyIHRoZSBkZXBvc2l0LCBlcXVhbCB0byB0aGUgb3JpZ2luYWwgZGVwb3NpdC4AyC0gYHByb3Bvc2FsYDogVGhlIGluZGV4IG9mIHRoZSBwcm9wb3NhbCB0byBzZWNvbmQuEHZvdGUIASRyZWZfaW5kZXhVAQE8UmVmZXJlbmR1bUluZGV4AAEQdm90ZbABZEFjY291bnRWb3RlPEJhbGFuY2VPZjxUPj4AAhwxAVZvdGUgaW4gYSByZWZlcmVuZHVtLiBJZiBgdm90ZS5pc19heWUoKWAsIHRoZSB2b3RlIGlzIHRvIGVuYWN0IHRoZSBwcm9wb3NhbDu4b3RoZXJ3aXNlIGl0IGlzIGEgdm90ZSB0byBrZWVwIHRoZSBzdGF0dXMgcXVvLgDIVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4A3C0gYHJlZl9pbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVmZXJlbmR1bSB0byB2b3RlIGZvci6ELSBgdm90ZWA6IFRoZSB2b3RlIGNvbmZpZ3VyYXRpb24uQGVtZXJnZW5jeV9jYW5jZWwEASRyZWZfaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgAAyBNAVNjaGVkdWxlIGFuIGVtZXJnZW5jeSBjYW5jZWxsYXRpb24gb2YgYSByZWZlcmVuZHVtLiBDYW5ub3QgaGFwcGVuIHR3aWNlIHRvIHRoZSBzYW1lLHJlZmVyZW5kdW0uAPhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBDYW5jZWxsYXRpb25PcmlnaW5gLgDQLWByZWZfaW5kZXhgOiBUaGUgaW5kZXggb2YgdGhlIHJlZmVyZW5kdW0gdG8gY2FuY2VsLgA8V2VpZ2h0OiBgTygxKWAuQGV4dGVybmFsX3Byb3Bvc2UEASBwcm9wb3NhbA0BAUBCb3VuZGVkQ2FsbE9mPFQ+AAQYLQFTY2hlZHVsZSBhIHJlZmVyZW5kdW0gdG8gYmUgdGFibGVkIG9uY2UgaXQgaXMgbGVnYWwgdG8gc2NoZWR1bGUgYW4gZXh0ZXJuYWwscmVmZXJlbmR1bS4A6FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYEV4dGVybmFsT3JpZ2luYC4A1C0gYHByb3Bvc2FsX2hhc2hgOiBUaGUgcHJlaW1hZ2UgaGFzaCBvZiB0aGUgcHJvcG9zYWwuZGV4dGVybmFsX3Byb3Bvc2VfbWFqb3JpdHkEASBwcm9wb3NhbA0BAUBCb3VuZGVkQ2FsbE9mPFQ+AAUsVQFTY2hlZHVsZSBhIG1ham9yaXR5LWNhcnJpZXMgcmVmZXJlbmR1bSB0byBiZSB0YWJsZWQgbmV4dCBvbmNlIGl0IGlzIGxlZ2FsIHRvIHNjaGVkdWxlXGFuIGV4dGVybmFsIHJlZmVyZW5kdW0uAOxUaGUgZGlzcGF0Y2ggb2YgdGhpcyBjYWxsIG11c3QgYmUgYEV4dGVybmFsTWFqb3JpdHlPcmlnaW5gLgDULSBgcHJvcG9zYWxfaGFzaGA6IFRoZSBwcmVpbWFnZSBoYXNoIG9mIHRoZSBwcm9wb3NhbC4ASQFVbmxpa2UgYGV4dGVybmFsX3Byb3Bvc2VgLCBibGFja2xpc3RpbmcgaGFzIG5vIGVmZmVjdCBvbiB0aGlzIGFuZCBpdCBtYXkgcmVwbGFjZSBhmHByZS1zY2hlZHVsZWQgYGV4dGVybmFsX3Byb3Bvc2VgIGNhbGwuADhXZWlnaHQ6IGBPKDEpYGBleHRlcm5hbF9wcm9wb3NlX2RlZmF1bHQEASBwcm9wb3NhbA0BAUBCb3VuZGVkQ2FsbE9mPFQ+AAYsRQFTY2hlZHVsZSBhIG5lZ2F0aXZlLXR1cm5vdXQtYmlhcyByZWZlcmVuZHVtIHRvIGJlIHRhYmxlZCBuZXh0IG9uY2UgaXQgaXMgbGVnYWwgdG+Ac2NoZWR1bGUgYW4gZXh0ZXJuYWwgcmVmZXJlbmR1bS4A6FRoZSBkaXNwYXRjaCBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgRXh0ZXJuYWxEZWZhdWx0T3JpZ2luYC4A1C0gYHByb3Bvc2FsX2hhc2hgOiBUaGUgcHJlaW1hZ2UgaGFzaCBvZiB0aGUgcHJvcG9zYWwuAEkBVW5saWtlIGBleHRlcm5hbF9wcm9wb3NlYCwgYmxhY2tsaXN0aW5nIGhhcyBubyBlZmZlY3Qgb24gdGhpcyBhbmQgaXQgbWF5IHJlcGxhY2UgYZhwcmUtc2NoZWR1bGVkIGBleHRlcm5hbF9wcm9wb3NlYCBjYWxsLgA4V2VpZ2h0OiBgTygxKWAoZmFzdF90cmFjawwBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAE0dm90aW5nX3BlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAEUZGVsYXkQAURCbG9ja051bWJlckZvcjxUPgAHQE0BU2NoZWR1bGUgdGhlIGN1cnJlbnRseSBleHRlcm5hbGx5LXByb3Bvc2VkIG1ham9yaXR5LWNhcnJpZXMgcmVmZXJlbmR1bSB0byBiZSB0YWJsZWRhAWltbWVkaWF0ZWx5LiBJZiB0aGVyZSBpcyBubyBleHRlcm5hbGx5LXByb3Bvc2VkIHJlZmVyZW5kdW0gY3VycmVudGx5LCBvciBpZiB0aGVyZSBpcyBvbmXoYnV0IGl0IGlzIG5vdCBhIG1ham9yaXR5LWNhcnJpZXMgcmVmZXJlbmR1bSB0aGVuIGl0IGZhaWxzLgDQVGhlIGRpc3BhdGNoIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBGYXN0VHJhY2tPcmlnaW5gLgD0LSBgcHJvcG9zYWxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjdXJyZW50IGV4dGVybmFsIHByb3Bvc2FsLl0BLSBgdm90aW5nX3BlcmlvZGA6IFRoZSBwZXJpb2QgdGhhdCBpcyBhbGxvd2VkIGZvciB2b3Rpbmcgb24gdGhpcyBwcm9wb3NhbC4gSW5jcmVhc2VkIHRviAlNdXN0IGJlIGFsd2F5cyBncmVhdGVyIHRoYW4gemVyby41AQlGb3IgYEZhc3RUcmFja09yaWdpbmAgbXVzdCBiZSBlcXVhbCBvciBncmVhdGVyIHRoYW4gYEZhc3RUcmFja1ZvdGluZ1BlcmlvZGAuUQEtIGBkZWxheWA6IFRoZSBudW1iZXIgb2YgYmxvY2sgYWZ0ZXIgdm90aW5nIGhhcyBlbmRlZCBpbiBhcHByb3ZhbCBhbmQgdGhpcyBzaG91bGQgYmW4ICBlbmFjdGVkLiBUaGlzIGRvZXNuJ3QgaGF2ZSBhIG1pbmltdW0gYW1vdW50LgBARW1pdHMgYFN0YXJ0ZWRgLgA4V2VpZ2h0OiBgTygxKWA0dmV0b19leHRlcm5hbAQBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAgkuFZldG8gYW5kIGJsYWNrbGlzdCB0aGUgZXh0ZXJuYWwgcHJvcG9zYWwgaGFzaC4A2FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYFZldG9PcmlnaW5gLgAtAS0gYHByb3Bvc2FsX2hhc2hgOiBUaGUgcHJlaW1hZ2UgaGFzaCBvZiB0aGUgcHJvcG9zYWwgdG8gdmV0byBhbmQgYmxhY2tsaXN0LgA8RW1pdHMgYFZldG9lZGAuAPxXZWlnaHQ6IGBPKFYgKyBsb2coVikpYCB3aGVyZSBWIGlzIG51bWJlciBvZiBgZXhpc3RpbmcgdmV0b2Vyc2BEY2FuY2VsX3JlZmVyZW5kdW0EASRyZWZfaW5kZXhVAQE8UmVmZXJlbmR1bUluZGV4AAkcUFJlbW92ZSBhIHJlZmVyZW5kdW0uAMBUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9Sb290Xy4A1C0gYHJlZl9pbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVmZXJlbmR1bSB0byBjYW5jZWwuAEQjIFdlaWdodDogYE8oMSlgLiBkZWxlZ2F0ZQwBCHRvAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAShjb252aWN0aW9ugQIBKENvbnZpY3Rpb24AARxiYWxhbmNlGAEwQmFsYW5jZU9mPFQ+AApQOQFEZWxlZ2F0ZSB0aGUgdm90aW5nIHBvd2VyICh3aXRoIHNvbWUgZ2l2ZW4gY29udmljdGlvbikgb2YgdGhlIHNlbmRpbmcgYWNjb3VudC4AVQFUaGUgYmFsYW5jZSBkZWxlZ2F0ZWQgaXMgbG9ja2VkIGZvciBhcyBsb25nIGFzIGl0J3MgZGVsZWdhdGVkLCBhbmQgdGhlcmVhZnRlciBmb3IgdGhlyHRpbWUgYXBwcm9wcmlhdGUgZm9yIHRoZSBjb252aWN0aW9uJ3MgbG9jayBwZXJpb2QuAF0BVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXywgYW5kIHRoZSBzaWduaW5nIGFjY291bnQgbXVzdCBlaXRoZXI6dCAgLSBiZSBkZWxlZ2F0aW5nIGFscmVhZHk7IG9yWQEgIC0gaGF2ZSBubyB2b3RpbmcgYWN0aXZpdHkgKGlmIHRoZXJlIGlzLCB0aGVuIGl0IHdpbGwgbmVlZCB0byBiZSByZW1vdmVkL2NvbnNvbGlkYXRlZJQgICAgdGhyb3VnaCBgcmVhcF92b3RlYCBvciBgdW52b3RlYCkuAEUBLSBgdG9gOiBUaGUgYWNjb3VudCB3aG9zZSB2b3RpbmcgdGhlIGB0YXJnZXRgIGFjY291bnQncyB2b3RpbmcgcG93ZXIgd2lsbCBmb2xsb3cuVQEtIGBjb252aWN0aW9uYDogVGhlIGNvbnZpY3Rpb24gdGhhdCB3aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSBkZWxlZ2F0ZWQgdm90ZXMuIFdoZW4gdGhlQQEgIGFjY291bnQgaXMgdW5kZWxlZ2F0ZWQsIHRoZSBmdW5kcyB3aWxsIGJlIGxvY2tlZCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgcGVyaW9kLmEBLSBgYmFsYW5jZWA6IFRoZSBhbW91bnQgb2YgdGhlIGFjY291bnQncyBiYWxhbmNlIHRvIGJlIHVzZWQgaW4gZGVsZWdhdGluZy4gVGhpcyBtdXN0IG5vdLQgIGJlIG1vcmUgdGhhbiB0aGUgYWNjb3VudCdzIGN1cnJlbnQgYmFsYW5jZS4ASEVtaXRzIGBEZWxlZ2F0ZWRgLgA9AVdlaWdodDogYE8oUilgIHdoZXJlIFIgaXMgdGhlIG51bWJlciBvZiByZWZlcmVuZHVtcyB0aGUgdm90ZXIgZGVsZWdhdGluZyB0byBoYXPIICB2b3RlZCBvbi4gV2VpZ2h0IGlzIGNoYXJnZWQgYXMgaWYgbWF4aW11bSB2b3Rlcy4odW5kZWxlZ2F0ZQALMMxVbmRlbGVnYXRlIHRoZSB2b3RpbmcgcG93ZXIgb2YgdGhlIHNlbmRpbmcgYWNjb3VudC4AXQFUb2tlbnMgbWF5IGJlIHVubG9ja2VkIGZvbGxvd2luZyBvbmNlIGFuIGFtb3VudCBvZiB0aW1lIGNvbnNpc3RlbnQgd2l0aCB0aGUgbG9jayBwZXJpb2Tcb2YgdGhlIGNvbnZpY3Rpb24gd2l0aCB3aGljaCB0aGUgZGVsZWdhdGlvbiB3YXMgaXNzdWVkLgBFAVRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzaWduaW5nIGFjY291bnQgbXVzdCBiZVRjdXJyZW50bHkgZGVsZWdhdGluZy4AUEVtaXRzIGBVbmRlbGVnYXRlZGAuAD0BV2VpZ2h0OiBgTyhSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHJlZmVyZW5kdW1zIHRoZSB2b3RlciBkZWxlZ2F0aW5nIHRvIGhhc8ggIHZvdGVkIG9uLiBXZWlnaHQgaXMgY2hhcmdlZCBhcyBpZiBtYXhpbXVtIHZvdGVzLlhjbGVhcl9wdWJsaWNfcHJvcG9zYWxzAAwUcENsZWFycyBhbGwgcHVibGljIHByb3Bvc2Fscy4AwFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgA8V2VpZ2h0OiBgTygxKWAuGHVubG9jawQBGHRhcmdldAABUEFjY291bnRJZExvb2t1cE9mPFQ+AA0coFVubG9jayB0b2tlbnMgdGhhdCBoYXZlIGFuIGV4cGlyZWQgbG9jay4AyFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uALgtIGB0YXJnZXRgOiBUaGUgYWNjb3VudCB0byByZW1vdmUgdGhlIGxvY2sgb24uALxXZWlnaHQ6IGBPKFIpYCB3aXRoIFIgbnVtYmVyIG9mIHZvdGUgb2YgdGFyZ2V0LixyZW1vdmVfdm90ZQQBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AA5sfFJlbW92ZSBhIHZvdGUgZm9yIGEgcmVmZXJlbmR1bS4ADElmOogtIHRoZSByZWZlcmVuZHVtIHdhcyBjYW5jZWxsZWQsIG9yfC0gdGhlIHJlZmVyZW5kdW0gaXMgb25nb2luZywgb3KQLSB0aGUgcmVmZXJlbmR1bSBoYXMgZW5kZWQgc3VjaCB0aGF0/CAgLSB0aGUgdm90ZSBvZiB0aGUgYWNjb3VudCB3YXMgaW4gb3Bwb3NpdGlvbiB0byB0aGUgcmVzdWx0OyBvctQgIC0gdGhlcmUgd2FzIG5vIGNvbnZpY3Rpb24gdG8gdGhlIGFjY291bnQncyB2b3RlOyBvcoQgIC0gdGhlIGFjY291bnQgbWFkZSBhIHNwbGl0IHZvdGVdAS4uLnRoZW4gdGhlIHZvdGUgaXMgcmVtb3ZlZCBjbGVhbmx5IGFuZCBhIGZvbGxvd2luZyBjYWxsIHRvIGB1bmxvY2tgIG1heSByZXN1bHQgaW4gbW9yZVhmdW5kcyBiZWluZyBhdmFpbGFibGUuAKhJZiwgaG93ZXZlciwgdGhlIHJlZmVyZW5kdW0gaGFzIGVuZGVkIGFuZDrsLSBpdCBmaW5pc2hlZCBjb3JyZXNwb25kaW5nIHRvIHRoZSB2b3RlIG9mIHRoZSBhY2NvdW50LCBhbmTcLSB0aGUgYWNjb3VudCBtYWRlIGEgc3RhbmRhcmQgdm90ZSB3aXRoIGNvbnZpY3Rpb24sIGFuZLwtIHRoZSBsb2NrIHBlcmlvZCBvZiB0aGUgY29udmljdGlvbiBpcyBub3Qgb3ZlclkBLi4udGhlbiB0aGUgbG9jayB3aWxsIGJlIGFnZ3JlZ2F0ZWQgaW50byB0aGUgb3ZlcmFsbCBhY2NvdW50J3MgbG9jaywgd2hpY2ggbWF5IGludm9sdmVZASpvdmVybG9ja2luZyogKHdoZXJlIHRoZSB0d28gbG9ja3MgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgbG9jayB0aGF0IGlzIHRoZSBtYXhpbXVt5G9mIGJvdGggdGhlIGFtb3VudCBsb2NrZWQgYW5kIHRoZSB0aW1lIGlzIGl0IGxvY2tlZCBmb3IpLgBJAVRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8sIGFuZCB0aGUgc2lnbmVyIG11c3QgaGF2ZSBhIHZvdGWIcmVnaXN0ZXJlZCBmb3IgcmVmZXJlbmR1bSBgaW5kZXhgLgD0LSBgaW5kZXhgOiBUaGUgaW5kZXggb2YgcmVmZXJlbmR1bSBvZiB0aGUgdm90ZSB0byBiZSByZW1vdmVkLgBVAVdlaWdodDogYE8oUiArIGxvZyBSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHJlZmVyZW5kYSB0aGF0IGB0YXJnZXRgIGhhcyB2b3RlZCBvbi7YICBXZWlnaHQgaXMgY2FsY3VsYXRlZCBmb3IgdGhlIG1heGltdW0gbnVtYmVyIG9mIHZvdGUuRHJlbW92ZV9vdGhlcl92b3RlCAEYdGFyZ2V0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARRpbmRleBABPFJlZmVyZW5kdW1JbmRleAAPPHxSZW1vdmUgYSB2b3RlIGZvciBhIHJlZmVyZW5kdW0uAE0BSWYgdGhlIGB0YXJnZXRgIGlzIGVxdWFsIHRvIHRoZSBzaWduZXIsIHRoZW4gdGhpcyBmdW5jdGlvbiBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8tAWByZW1vdmVfdm90ZWAuIElmIG5vdCBlcXVhbCB0byB0aGUgc2lnbmVyLCB0aGVuIHRoZSB2b3RlIG11c3QgaGF2ZSBleHBpcmVkLFUBZWl0aGVyIGJlY2F1c2UgdGhlIHJlZmVyZW5kdW0gd2FzIGNhbmNlbGxlZCwgYmVjYXVzZSB0aGUgdm90ZXIgbG9zdCB0aGUgcmVmZXJlbmR1bSBvcphiZWNhdXNlIHRoZSBjb252aWN0aW9uIHBlcmlvZCBpcyBvdmVyLgDIVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ATQEtIGB0YXJnZXRgOiBUaGUgYWNjb3VudCBvZiB0aGUgdm90ZSB0byBiZSByZW1vdmVkOyB0aGlzIGFjY291bnQgbXVzdCBoYXZlIHZvdGVkIGZvclQgIHJlZmVyZW5kdW0gYGluZGV4YC70LSBgaW5kZXhgOiBUaGUgaW5kZXggb2YgcmVmZXJlbmR1bSBvZiB0aGUgdm90ZSB0byBiZSByZW1vdmVkLgBVAVdlaWdodDogYE8oUiArIGxvZyBSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHJlZmVyZW5kYSB0aGF0IGB0YXJnZXRgIGhhcyB2b3RlZCBvbi7YICBXZWlnaHQgaXMgY2FsY3VsYXRlZCBmb3IgdGhlIG1heGltdW0gbnVtYmVyIG9mIHZvdGUuJGJsYWNrbGlzdAgBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAE8bWF5YmVfcmVmX2luZGV4WQEBXE9wdGlvbjxSZWZlcmVuZHVtSW5kZXg+ABA8RQFQZXJtYW5lbnRseSBwbGFjZSBhIHByb3Bvc2FsIGludG8gdGhlIGJsYWNrbGlzdC4gVGhpcyBwcmV2ZW50cyBpdCBmcm9tIGV2ZXIgYmVpbmc8cHJvcG9zZWQgYWdhaW4uAFEBSWYgY2FsbGVkIG9uIGEgcXVldWVkIHB1YmxpYyBvciBleHRlcm5hbCBwcm9wb3NhbCwgdGhlbiB0aGlzIHdpbGwgcmVzdWx0IGluIGl0IGJlaW5nUQFyZW1vdmVkLiBJZiB0aGUgYHJlZl9pbmRleGAgc3VwcGxpZWQgaXMgYW4gYWN0aXZlIHJlZmVyZW5kdW0gd2l0aCB0aGUgcHJvcG9zYWwgaGFzaCxodGhlbiBpdCB3aWxsIGJlIGNhbmNlbGxlZC4A7FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYEJsYWNrbGlzdE9yaWdpbmAuAPgtIGBwcm9wb3NhbF9oYXNoYDogVGhlIHByb3Bvc2FsIGhhc2ggdG8gYmxhY2tsaXN0IHBlcm1hbmVudGx5LkUBLSBgcmVmX2luZGV4YDogQW4gb25nb2luZyByZWZlcmVuZHVtIHdob3NlIGhhc2ggaXMgYHByb3Bvc2FsX2hhc2hgLCB3aGljaCB3aWxsIGJlKGNhbmNlbGxlZC4AQQFXZWlnaHQ6IGBPKHApYCAodGhvdWdoIGFzIHRoaXMgaXMgYW4gaGlnaC1wcml2aWxlZ2UgZGlzcGF0Y2gsIHdlIGFzc3VtZSBpdCBoYXMgYVAgIHJlYXNvbmFibGUgdmFsdWUpLjxjYW5jZWxfcHJvcG9zYWwEAShwcm9wX2luZGV4VQEBJFByb3BJbmRleAARHEhSZW1vdmUgYSBwcm9wb3NhbC4AAQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBDYW5jZWxQcm9wb3NhbE9yaWdpbmAuANAtIGBwcm9wX2luZGV4YDogVGhlIGluZGV4IG9mIHRoZSBwcm9wb3NhbCB0byBjYW5jZWwuAORXZWlnaHQ6IGBPKHApYCB3aGVyZSBgcCA9IFB1YmxpY1Byb3BzOjo8VD46OmRlY29kZV9sZW4oKWAwc2V0X21ldGFkYXRhCAEUb3duZXK4ATRNZXRhZGF0YU93bmVyAAEobWF5YmVfaGFzaIUCATxPcHRpb248VDo6SGFzaD4AEjzYU2V0IG9yIGNsZWFyIGEgbWV0YWRhdGEgb2YgYSBwcm9wb3NhbCBvciBhIHJlZmVyZW5kdW0uACxQYXJhbWV0ZXJzOswtIGBvcmlnaW5gOiBNdXN0IGNvcnJlc3BvbmQgdG8gdGhlIGBNZXRhZGF0YU93bmVyYC49ASAgICAtIGBFeHRlcm5hbE9yaWdpbmAgZm9yIGFuIGV4dGVybmFsIHByb3Bvc2FsIHdpdGggdGhlIGBTdXBlck1ham9yaXR5QXBwcm92ZWBAICAgICAgdGhyZXNob2xkLlkBICAgIC0gYEV4dGVybmFsRGVmYXVsdE9yaWdpbmAgZm9yIGFuIGV4dGVybmFsIHByb3Bvc2FsIHdpdGggdGhlIGBTdXBlck1ham9yaXR5QWdhaW5zdGBAICAgICAgdGhyZXNob2xkLkUBICAgIC0gYEV4dGVybmFsTWFqb3JpdHlPcmlnaW5gIGZvciBhbiBleHRlcm5hbCBwcm9wb3NhbCB3aXRoIHRoZSBgU2ltcGxlTWFqb3JpdHlgQCAgICAgIHRocmVzaG9sZC7IICAgIC0gYFNpZ25lZGAgYnkgYSBjcmVhdG9yIGZvciBhIHB1YmxpYyBwcm9wb3NhbC70ICAgIC0gYFNpZ25lZGAgdG8gY2xlYXIgYSBtZXRhZGF0YSBmb3IgYSBmaW5pc2hlZCByZWZlcmVuZHVtLuQgICAgLSBgUm9vdGAgdG8gc2V0IGEgbWV0YWRhdGEgZm9yIGFuIG9uZ29pbmcgcmVmZXJlbmR1bS60LSBgb3duZXJgOiBhbiBpZGVudGlmaWVyIG9mIGEgbWV0YWRhdGEgb3duZXIuUQEtIGBtYXliZV9oYXNoYDogVGhlIGhhc2ggb2YgYW4gb24tY2hhaW4gc3RvcmVkIHByZWltYWdlLiBgTm9uZWAgdG8gY2xlYXIgYSBtZXRhZGF0YS5EZm9yY2VfcmVtb3ZlX3ZvdGUIARh0YXJnZXQAAWxjcmF0ZTo6QWNjb3VudElkTG9va3VwT2Y8VD4AARRpbmRleBABdGNyYXRlOjp0eXBlczo6UmVmZXJlbmR1bUluZGV4ABM8uEFsbG93IHRvIGZvcmNlIHJlbW92ZSBhIHZvdGUgZm9yIGEgcmVmZXJlbmR1bS4AKQFTYW1lIGFzIGByZW1vdmVfb3RoZXJfdm90ZWAsIGV4Y2VwdCB0aGUgc2NvcGUgaXMgb3ZlcnJpZGVuIGJ5IGZvcmNlZCBmbGFnLvRUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBWb3RlUmVtb3ZhbE9yaWdpbmAuAKxPbmx5IGFsbG93ZWQgaWYgdGhlIHJlZmVyZW5kdW0gaXMgZmluaXNoZWQuAMhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBNAS0gYHRhcmdldGA6IFRoZSBhY2NvdW50IG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQ7IHRoaXMgYWNjb3VudCBtdXN0IGhhdmUgdm90ZWQgZm9yVCAgcmVmZXJlbmR1bSBgaW5kZXhgLvQtIGBpbmRleGA6IFRoZSBpbmRleCBvZiByZWZlcmVuZHVtIG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQuAFUBV2VpZ2h0OiBgTyhSICsgbG9nIFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcmVmZXJlbmRhIHRoYXQgYHRhcmdldGAgaGFzIHZvdGVkIG9uLtggIFdlaWdodCBpcyBjYWxjdWxhdGVkIGZvciB0aGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMugQIMQHBhbGxldF9kZW1vY3JhY3koY29udmljdGlvbihDb252aWN0aW9uAAEcEE5vbmUAAAAgTG9ja2VkMXgAAQAgTG9ja2VkMngAAgAgTG9ja2VkM3gAAwAgTG9ja2VkNHgABAAgTG9ja2VkNXgABQAgTG9ja2VkNngABgAAhQIEGE9wdGlvbgQEVAE0AQgQTm9uZQAAABBTb21lBAA0AAABAACJAgxEcGFsbGV0X2NvbGxlY3RpdmUYcGFsbGV0EENhbGwIBFQABEkAARgsc2V0X21lbWJlcnMMASxuZXdfbWVtYmVyczEBAURWZWM8VDo6QWNjb3VudElkPgABFHByaW1l7AFQT3B0aW9uPFQ6OkFjY291bnRJZD4AASRvbGRfY291bnQQASxNZW1iZXJDb3VudAAAYIBTZXQgdGhlIGNvbGxlY3RpdmUncyBtZW1iZXJzaGlwLgBFAS0gYG5ld19tZW1iZXJzYDogVGhlIG5ldyBtZW1iZXIgbGlzdC4gQmUgbmljZSB0byB0aGUgY2hhaW4gYW5kIHByb3ZpZGUgaXQgc29ydGVkLuAtIGBwcmltZWA6IFRoZSBwcmltZSBtZW1iZXIgd2hvc2Ugdm90ZSBzZXRzIHRoZSBkZWZhdWx0LlkBLSBgb2xkX2NvdW50YDogVGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgcHJldmlvdXMgbnVtYmVyIG9mIG1lbWJlcnMgaW4gc3RvcmFnZS4gVXNlZCBmb3JQICB3ZWlnaHQgZXN0aW1hdGlvbi4A1FRoZSBkaXNwYXRjaCBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgU2V0TWVtYmVyc09yaWdpbmAuAFEBTk9URTogRG9lcyBub3QgZW5mb3JjZSB0aGUgZXhwZWN0ZWQgYE1heE1lbWJlcnNgIGxpbWl0IG9uIHRoZSBhbW91bnQgb2YgbWVtYmVycywgYnV0IQEgICAgICB0aGUgd2VpZ2h0IGVzdGltYXRpb25zIHJlbHkgb24gaXQgdG8gZXN0aW1hdGUgZGlzcGF0Y2hhYmxlIHdlaWdodC4AKCMgV0FSTklORzoAWQFUaGUgYHBhbGxldC1jb2xsZWN0aXZlYCBjYW4gYWxzbyBiZSBtYW5hZ2VkIGJ5IGxvZ2ljIG91dHNpZGUgb2YgdGhlIHBhbGxldCB0aHJvdWdoIHRoZbhpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdHJhaXQgW2BDaGFuZ2VNZW1iZXJzYF0uVQFBbnkgY2FsbCB0byBgc2V0X21lbWJlcnNgIG11c3QgYmUgY2FyZWZ1bCB0aGF0IHRoZSBtZW1iZXIgc2V0IGRvZXNuJ3QgZ2V0IG91dCBvZiBzeW5jpHdpdGggb3RoZXIgbG9naWMgbWFuYWdpbmcgdGhlIG1lbWJlciBzZXQuADgjIyBDb21wbGV4aXR5OlAtIGBPKE1QICsgTilgIHdoZXJlOuAgIC0gYE1gIG9sZC1tZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKeAgIC0gYE5gIG5ldy1tZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKZggIC0gYFBgIHByb3Bvc2Fscy1jb3VudCAoY29kZS1ib3VuZGVkKRxleGVjdXRlCAEgcHJvcG9zYWwRAQF8Qm94PDxUIGFzIENvbmZpZzxJPj46OlByb3Bvc2FsPgABMGxlbmd0aF9ib3VuZFUBAQx1MzIAASTwRGlzcGF0Y2ggYSBwcm9wb3NhbCBmcm9tIGEgbWVtYmVyIHVzaW5nIHRoZSBgTWVtYmVyYCBvcmlnaW4uAKhPcmlnaW4gbXVzdCBiZSBhIG1lbWJlciBvZiB0aGUgY29sbGVjdGl2ZS4AOCMjIENvbXBsZXhpdHk6XC0gYE8oQiArIE0gKyBQKWAgd2hlcmU62C0gYEJgIGlzIGBwcm9wb3NhbGAgc2l6ZSBpbiBieXRlcyAobGVuZ3RoLWZlZS1ib3VuZGVkKYgtIGBNYCBtZW1iZXJzLWNvdW50IChjb2RlLWJvdW5kZWQpqC0gYFBgIGNvbXBsZXhpdHkgb2YgZGlzcGF0Y2hpbmcgYHByb3Bvc2FsYBxwcm9wb3NlDAEkdGhyZXNob2xkVQEBLE1lbWJlckNvdW50AAEgcHJvcG9zYWwRAQF8Qm94PDxUIGFzIENvbmZpZzxJPj46OlByb3Bvc2FsPgABMGxlbmd0aF9ib3VuZFUBAQx1MzIAAjj4QWRkIGEgbmV3IHByb3Bvc2FsIHRvIGVpdGhlciBiZSB2b3RlZCBvbiBvciBleGVjdXRlZCBkaXJlY3RseS4AhFJlcXVpcmVzIHRoZSBzZW5kZXIgdG8gYmUgbWVtYmVyLgBBAWB0aHJlc2hvbGRgIGRldGVybWluZXMgd2hldGhlciBgcHJvcG9zYWxgIGlzIGV4ZWN1dGVkIGRpcmVjdGx5IChgdGhyZXNob2xkIDwgMmApVG9yIHB1dCB1cCBmb3Igdm90aW5nLgA0IyMgQ29tcGxleGl0eawtIGBPKEIgKyBNICsgUDEpYCBvciBgTyhCICsgTSArIFAyKWAgd2hlcmU64CAgLSBgQmAgaXMgYHByb3Bvc2FsYCBzaXplIGluIGJ5dGVzIChsZW5ndGgtZmVlLWJvdW5kZWQp3CAgLSBgTWAgaXMgbWVtYmVycy1jb3VudCAoY29kZS0gYW5kIGdvdmVybmFuY2UtYm91bmRlZCnEICAtIGJyYW5jaGluZyBpcyBpbmZsdWVuY2VkIGJ5IGB0aHJlc2hvbGRgIHdoZXJlOvQgICAgLSBgUDFgIGlzIHByb3Bvc2FsIGV4ZWN1dGlvbiBjb21wbGV4aXR5IChgdGhyZXNob2xkIDwgMmAp/CAgICAtIGBQMmAgaXMgcHJvcG9zYWxzLWNvdW50IChjb2RlLWJvdW5kZWQpIChgdGhyZXNob2xkID49IDJgKRB2b3RlDAEgcHJvcG9zYWw0ARxUOjpIYXNoAAEUaW5kZXhVAQE0UHJvcG9zYWxJbmRleAABHGFwcHJvdmUgARBib29sAAMk8EFkZCBhbiBheWUgb3IgbmF5IHZvdGUgZm9yIHRoZSBzZW5kZXIgdG8gdGhlIGdpdmVuIHByb3Bvc2FsLgCMUmVxdWlyZXMgdGhlIHNlbmRlciB0byBiZSBhIG1lbWJlci4ASQFUcmFuc2FjdGlvbiBmZWVzIHdpbGwgYmUgd2FpdmVkIGlmIHRoZSBtZW1iZXIgaXMgdm90aW5nIG9uIGFueSBwYXJ0aWN1bGFyIHByb3Bvc2FsUQFmb3IgdGhlIGZpcnN0IHRpbWUgYW5kIHRoZSBjYWxsIGlzIHN1Y2Nlc3NmdWwuIFN1YnNlcXVlbnQgdm90ZSBjaGFuZ2VzIHdpbGwgY2hhcmdlIGEQZmVlLjQjIyBDb21wbGV4aXR5CQEtIGBPKE0pYCB3aGVyZSBgTWAgaXMgbWVtYmVycy1jb3VudCAoY29kZS0gYW5kIGdvdmVybmFuY2UtYm91bmRlZClMZGlzYXBwcm92ZV9wcm9wb3NhbAQBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAUoWQFEaXNhcHByb3ZlIGEgcHJvcG9zYWwsIGNsb3NlLCBhbmQgcmVtb3ZlIGl0IGZyb20gdGhlIHN5c3RlbSwgcmVnYXJkbGVzcyBvZiBpdHMgY3VycmVudBhzdGF0ZS4AiE11c3QgYmUgY2FsbGVkIGJ5IHRoZSBSb290IG9yaWdpbi4ALFBhcmFtZXRlcnM6HQEqIGBwcm9wb3NhbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIHByb3Bvc2FsIHRoYXQgc2hvdWxkIGJlIGRpc2FwcHJvdmVkLgA0IyMgQ29tcGxleGl0eaxPKFApIHdoZXJlIFAgaXMgdGhlIG51bWJlciBvZiBtYXggcHJvcG9zYWxzFGNsb3NlEAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAARRpbmRleFUBATRQcm9wb3NhbEluZGV4AAFUcHJvcG9zYWxfd2VpZ2h0X2JvdW5kKAEYV2VpZ2h0AAEwbGVuZ3RoX2JvdW5kVQEBDHUzMgAGYE0BQ2xvc2UgYSB2b3RlIHRoYXQgaXMgZWl0aGVyIGFwcHJvdmVkLCBkaXNhcHByb3ZlZCBvciB3aG9zZSB2b3RpbmcgcGVyaW9kIGhhcyBlbmRlZC4AVQFNYXkgYmUgY2FsbGVkIGJ5IGFueSBzaWduZWQgYWNjb3VudCBpbiBvcmRlciB0byBmaW5pc2ggdm90aW5nIGFuZCBjbG9zZSB0aGUgcHJvcG9zYWwuAEkBSWYgY2FsbGVkIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSB2b3RpbmcgcGVyaW9kIGl0IHdpbGwgb25seSBjbG9zZSB0aGUgdm90ZSBpZiBpdCBpc7xoYXMgZW5vdWdoIHZvdGVzIHRvIGJlIGFwcHJvdmVkIG9yIGRpc2FwcHJvdmVkLgBJAUlmIGNhbGxlZCBhZnRlciB0aGUgZW5kIG9mIHRoZSB2b3RpbmcgcGVyaW9kIGFic3RlbnRpb25zIGFyZSBjb3VudGVkIGFzIHJlamVjdGlvbnMlAXVubGVzcyB0aGVyZSBpcyBhIHByaW1lIG1lbWJlciBzZXQgYW5kIHRoZSBwcmltZSBtZW1iZXIgY2FzdCBhbiBhcHByb3ZhbC4AYQFJZiB0aGUgY2xvc2Ugb3BlcmF0aW9uIGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkgd2l0aCBkaXNhcHByb3ZhbCwgdGhlIHRyYW5zYWN0aW9uIGZlZSB3aWxsXQFiZSB3YWl2ZWQuIE90aGVyd2lzZSBleGVjdXRpb24gb2YgdGhlIGFwcHJvdmVkIG9wZXJhdGlvbiB3aWxsIGJlIGNoYXJnZWQgdG8gdGhlIGNhbGxlci4AYQErIGBwcm9wb3NhbF93ZWlnaHRfYm91bmRgOiBUaGUgbWF4aW11bSBhbW91bnQgb2Ygd2VpZ2h0IGNvbnN1bWVkIGJ5IGV4ZWN1dGluZyB0aGUgY2xvc2VkJHByb3Bvc2FsLmEBKyBgbGVuZ3RoX2JvdW5kYDogVGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgbGVuZ3RoIG9mIHRoZSBwcm9wb3NhbCBpbiBzdG9yYWdlLiBDaGVja2VkIHZpYTUBYHN0b3JhZ2U6OnJlYWRgIHNvIGl0IGlzIGBzaXplX29mOjo8dTMyPigpID09IDRgIGxhcmdlciB0aGFuIHRoZSBwdXJlIGxlbmd0aC4ANCMjIENvbXBsZXhpdHl0LSBgTyhCICsgTSArIFAxICsgUDIpYCB3aGVyZTrgICAtIGBCYCBpcyBgcHJvcG9zYWxgIHNpemUgaW4gYnl0ZXMgKGxlbmd0aC1mZWUtYm91bmRlZCncICAtIGBNYCBpcyBtZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKcggIC0gYFAxYCBpcyB0aGUgY29tcGxleGl0eSBvZiBgcHJvcG9zYWxgIHByZWltYWdlLqQgIC0gYFAyYCBpcyBwcm9wb3NhbC1jb3VudCAoY29kZS1ib3VuZGVkKQQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6NAgwwcGFsbGV0X3Byb3h5GHBhbGxldBBDYWxsBARUAAEoFHByb3h5DAEQcmVhbAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAFAZm9yY2VfcHJveHlfdHlwZZECAVBPcHRpb248VDo6UHJveHlUeXBlPgABEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgAAJE0BRGlzcGF0Y2ggdGhlIGdpdmVuIGBjYWxsYCBmcm9tIGFuIGFjY291bnQgdGhhdCB0aGUgc2VuZGVyIGlzIGF1dGhvcmlzZWQgZm9yIHRocm91Z2gwYGFkZF9wcm94eWAuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM6DQEtIGByZWFsYDogVGhlIGFjY291bnQgdGhhdCB0aGUgcHJveHkgd2lsbCBtYWtlIGEgY2FsbCBvbiBiZWhhbGYgb2YuYQEtIGBmb3JjZV9wcm94eV90eXBlYDogU3BlY2lmeSB0aGUgZXhhY3QgcHJveHkgdHlwZSB0byBiZSB1c2VkIGFuZCBjaGVja2VkIGZvciB0aGlzIGNhbGwu0C0gYGNhbGxgOiBUaGUgY2FsbCB0byBiZSBtYWRlIGJ5IHRoZSBgcmVhbGAgYWNjb3VudC4kYWRkX3Byb3h5DAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKHByb3h5X3R5cGXEATBUOjpQcm94eVR5cGUAARRkZWxheRABREJsb2NrTnVtYmVyRm9yPFQ+AAEkRQFSZWdpc3RlciBhIHByb3h5IGFjY291bnQgZm9yIHRoZSBzZW5kZXIgdGhhdCBpcyBhYmxlIHRvIG1ha2UgY2FsbHMgb24gaXRzIGJlaGFsZi4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgAsUGFyYW1ldGVyczoRAS0gYHByb3h5YDogVGhlIGFjY291bnQgdGhhdCB0aGUgYGNhbGxlcmAgd291bGQgbGlrZSB0byBtYWtlIGEgcHJveHku/C0gYHByb3h5X3R5cGVgOiBUaGUgcGVybWlzc2lvbnMgYWxsb3dlZCBmb3IgdGhpcyBwcm94eSBhY2NvdW50Lk0BLSBgZGVsYXlgOiBUaGUgYW5ub3VuY2VtZW50IHBlcmlvZCByZXF1aXJlZCBvZiB0aGUgaW5pdGlhbCBwcm94eS4gV2lsbCBnZW5lcmFsbHkgYmUUemVyby4wcmVtb3ZlX3Byb3h5DAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKHByb3h5X3R5cGXEATBUOjpQcm94eVR5cGUAARRkZWxheRABREJsb2NrTnVtYmVyRm9yPFQ+AAIcqFVucmVnaXN0ZXIgYSBwcm94eSBhY2NvdW50IGZvciB0aGUgc2VuZGVyLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uACxQYXJhbWV0ZXJzOiUBLSBgcHJveHlgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBgY2FsbGVyYCB3b3VsZCBsaWtlIHRvIHJlbW92ZSBhcyBhIHByb3h5LkEBLSBgcHJveHlfdHlwZWA6IFRoZSBwZXJtaXNzaW9ucyBjdXJyZW50bHkgZW5hYmxlZCBmb3IgdGhlIHJlbW92ZWQgcHJveHkgYWNjb3VudC44cmVtb3ZlX3Byb3hpZXMAAxi0VW5yZWdpc3RlciBhbGwgcHJveHkgYWNjb3VudHMgZm9yIHRoZSBzZW5kZXIuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AQQFXQVJOSU5HOiBUaGlzIG1heSBiZSBjYWxsZWQgb24gYWNjb3VudHMgY3JlYXRlZCBieSBgcHVyZWAsIGhvd2V2ZXIgaWYgZG9uZSwgdGhlblkBdGhlIHVucmVzZXJ2ZWQgZmVlcyB3aWxsIGJlIGluYWNjZXNzaWJsZS4gKipBbGwgYWNjZXNzIHRvIHRoaXMgYWNjb3VudCB3aWxsIGJlIGxvc3QuKiosY3JlYXRlX3B1cmUMAShwcm94eV90eXBlxAEwVDo6UHJveHlUeXBlAAEUZGVsYXkQAURCbG9ja051bWJlckZvcjxUPgABFGluZGV4yAEMdTE2AARIOQFTcGF3biBhIGZyZXNoIG5ldyBhY2NvdW50IHRoYXQgaXMgZ3VhcmFudGVlZCB0byBiZSBvdGhlcndpc2UgaW5hY2Nlc3NpYmxlLCBhbmT8aW5pdGlhbGl6ZSBpdCB3aXRoIGEgcHJveHkgb2YgYHByb3h5X3R5cGVgIGZvciBgb3JpZ2luYCBzZW5kZXIuAGxSZXF1aXJlcyBhIGBTaWduZWRgIG9yaWdpbi4AUQEtIGBwcm94eV90eXBlYDogVGhlIHR5cGUgb2YgdGhlIHByb3h5IHRoYXQgdGhlIHNlbmRlciB3aWxsIGJlIHJlZ2lzdGVyZWQgYXMgb3ZlciB0aGVNAW5ldyBhY2NvdW50LiBUaGlzIHdpbGwgYWxtb3N0IGFsd2F5cyBiZSB0aGUgbW9zdCBwZXJtaXNzaXZlIGBQcm94eVR5cGVgIHBvc3NpYmxlIHRveGFsbG93IGZvciBtYXhpbXVtIGZsZXhpYmlsaXR5LlEBLSBgaW5kZXhgOiBBIGRpc2FtYmlndWF0aW9uIGluZGV4LCBpbiBjYXNlIHRoaXMgaXMgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGluIHRoZSBzYW1lXQF0cmFuc2FjdGlvbiAoZS5nLiB3aXRoIGB1dGlsaXR5OjpiYXRjaGApLiBVbmxlc3MgeW91J3JlIHVzaW5nIGBiYXRjaGAgeW91IHByb2JhYmx5IGp1c3RAd2FudCB0byB1c2UgYDBgLk0BLSBgZGVsYXlgOiBUaGUgYW5ub3VuY2VtZW50IHBlcmlvZCByZXF1aXJlZCBvZiB0aGUgaW5pdGlhbCBwcm94eS4gV2lsbCBnZW5lcmFsbHkgYmUUemVyby4AUQFGYWlscyB3aXRoIGBEdXBsaWNhdGVgIGlmIHRoaXMgaGFzIGFscmVhZHkgYmVlbiBjYWxsZWQgaW4gdGhpcyB0cmFuc2FjdGlvbiwgZnJvbSB0aGWYc2FtZSBzZW5kZXIsIHdpdGggdGhlIHNhbWUgcGFyYW1ldGVycy4A5EZhaWxzIGlmIHRoZXJlIGFyZSBpbnN1ZmZpY2llbnQgZnVuZHMgdG8gcGF5IGZvciBkZXBvc2l0LiRraWxsX3B1cmUUARxzcGF3bmVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAShwcm94eV90eXBlxAEwVDo6UHJveHlUeXBlAAEUaW5kZXjIAQx1MTYAARhoZWlnaHRVAQFEQmxvY2tOdW1iZXJGb3I8VD4AASRleHRfaW5kZXhVAQEMdTMyAAVAoFJlbW92ZXMgYSBwcmV2aW91c2x5IHNwYXduZWQgcHVyZSBwcm94eS4ASQFXQVJOSU5HOiAqKkFsbCBhY2Nlc3MgdG8gdGhpcyBhY2NvdW50IHdpbGwgYmUgbG9zdC4qKiBBbnkgZnVuZHMgaGVsZCBpbiBpdCB3aWxsIGJlNGluYWNjZXNzaWJsZS4AWQFSZXF1aXJlcyBhIGBTaWduZWRgIG9yaWdpbiwgYW5kIHRoZSBzZW5kZXIgYWNjb3VudCBtdXN0IGhhdmUgYmVlbiBjcmVhdGVkIGJ5IGEgY2FsbCB0b5RgcHVyZWAgd2l0aCBjb3JyZXNwb25kaW5nIHBhcmFtZXRlcnMuADkBLSBgc3Bhd25lcmA6IFRoZSBhY2NvdW50IHRoYXQgb3JpZ2luYWxseSBjYWxsZWQgYHB1cmVgIHRvIGNyZWF0ZSB0aGlzIGFjY291bnQuOQEtIGBpbmRleGA6IFRoZSBkaXNhbWJpZ3VhdGlvbiBpbmRleCBvcmlnaW5hbGx5IHBhc3NlZCB0byBgcHVyZWAuIFByb2JhYmx5IGAwYC7sLSBgcHJveHlfdHlwZWA6IFRoZSBwcm94eSB0eXBlIG9yaWdpbmFsbHkgcGFzc2VkIHRvIGBwdXJlYC4pAS0gYGhlaWdodGA6IFRoZSBoZWlnaHQgb2YgdGhlIGNoYWluIHdoZW4gdGhlIGNhbGwgdG8gYHB1cmVgIHdhcyBwcm9jZXNzZWQuNQEtIGBleHRfaW5kZXhgOiBUaGUgZXh0cmluc2ljIGluZGV4IGluIHdoaWNoIHRoZSBjYWxsIHRvIGBwdXJlYCB3YXMgcHJvY2Vzc2VkLgA1AUZhaWxzIHdpdGggYE5vUGVybWlzc2lvbmAgaW4gY2FzZSB0aGUgY2FsbGVyIGlzIG5vdCBhIHByZXZpb3VzbHkgY3JlYXRlZCBwdXJl3GFjY291bnQgd2hvc2UgYHB1cmVgIGNhbGwgaGFzIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVycy4gYW5ub3VuY2UIARByZWFsAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASRjYWxsX2hhc2g0ATRDYWxsSGFzaE9mPFQ+AAY8BQFQdWJsaXNoIHRoZSBoYXNoIG9mIGEgcHJveHktY2FsbCB0aGF0IHdpbGwgYmUgbWFkZSBpbiB0aGUgZnV0dXJlLgBdAVRoaXMgbXVzdCBiZSBjYWxsZWQgc29tZSBudW1iZXIgb2YgYmxvY2tzIGJlZm9yZSB0aGUgY29ycmVzcG9uZGluZyBgcHJveHlgIGlzIGF0dGVtcHRlZCUBaWYgdGhlIGRlbGF5IGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJveHkgcmVsYXRpb25zaGlwIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLgARAU5vIG1vcmUgdGhhbiBgTWF4UGVuZGluZ2AgYW5ub3VuY2VtZW50cyBtYXkgYmUgbWFkZSBhdCBhbnkgb25lIHRpbWUuAAkBVGhpcyB3aWxsIHRha2UgYSBkZXBvc2l0IG9mIGBBbm5vdW5jZW1lbnREZXBvc2l0RmFjdG9yYCBhcyB3ZWxsIGFzGQFgQW5ub3VuY2VtZW50RGVwb3NpdEJhc2VgIGlmIHRoZXJlIGFyZSBubyBvdGhlciBwZW5kaW5nIGFubm91bmNlbWVudHMuACUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIGEgcHJveHkgb2YgYHJlYWxgLgAsUGFyYW1ldGVyczoNAS0gYHJlYWxgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBwcm94eSB3aWxsIG1ha2UgYSBjYWxsIG9uIGJlaGFsZiBvZi4VAS0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIG1hZGUgYnkgdGhlIGByZWFsYCBhY2NvdW50LkxyZW1vdmVfYW5ub3VuY2VtZW50CAEQcmVhbAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEkY2FsbF9oYXNoNAE0Q2FsbEhhc2hPZjxUPgAHKHBSZW1vdmUgYSBnaXZlbiBhbm5vdW5jZW1lbnQuAFkBTWF5IGJlIGNhbGxlZCBieSBhIHByb3h5IGFjY291bnQgdG8gcmVtb3ZlIGEgY2FsbCB0aGV5IHByZXZpb3VzbHkgYW5ub3VuY2VkIGFuZCByZXR1cm4wdGhlIGRlcG9zaXQuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM6DQEtIGByZWFsYDogVGhlIGFjY291bnQgdGhhdCB0aGUgcHJveHkgd2lsbCBtYWtlIGEgY2FsbCBvbiBiZWhhbGYgb2YuFQEtIGBjYWxsX2hhc2hgOiBUaGUgaGFzaCBvZiB0aGUgY2FsbCB0byBiZSBtYWRlIGJ5IHRoZSBgcmVhbGAgYWNjb3VudC5McmVqZWN0X2Fubm91bmNlbWVudAgBIGRlbGVnYXRlAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASRjYWxsX2hhc2g0ATRDYWxsSGFzaE9mPFQ+AAgosFJlbW92ZSB0aGUgZ2l2ZW4gYW5ub3VuY2VtZW50IG9mIGEgZGVsZWdhdGUuAGEBTWF5IGJlIGNhbGxlZCBieSBhIHRhcmdldCAocHJveGllZCkgYWNjb3VudCB0byByZW1vdmUgYSBjYWxsIHRoYXQgb25lIG9mIHRoZWlyIGRlbGVnYXRlcyUBKGBkZWxlZ2F0ZWApIGhhcyBhbm5vdW5jZWQgdGhleSB3YW50IHRvIGV4ZWN1dGUuIFRoZSBkZXBvc2l0IGlzIHJldHVybmVkLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uACxQYXJhbWV0ZXJzOvQtIGBkZWxlZ2F0ZWA6IFRoZSBhY2NvdW50IHRoYXQgcHJldmlvdXNseSBhbm5vdW5jZWQgdGhlIGNhbGwuvC0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIG1hZGUuPHByb3h5X2Fubm91bmNlZBABIGRlbGVnYXRlAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARByZWFsAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAUBmb3JjZV9wcm94eV90eXBlkQIBUE9wdGlvbjxUOjpQcm94eVR5cGU+AAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAksTQFEaXNwYXRjaCB0aGUgZ2l2ZW4gYGNhbGxgIGZyb20gYW4gYWNjb3VudCB0aGF0IHRoZSBzZW5kZXIgaXMgYXV0aG9yaXplZCBmb3IgdGhyb3VnaDBgYWRkX3Byb3h5YC4AqFJlbW92ZXMgYW55IGNvcnJlc3BvbmRpbmcgYW5ub3VuY2VtZW50KHMpLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uACxQYXJhbWV0ZXJzOg0BLSBgcmVhbGA6IFRoZSBhY2NvdW50IHRoYXQgdGhlIHByb3h5IHdpbGwgbWFrZSBhIGNhbGwgb24gYmVoYWxmIG9mLmEBLSBgZm9yY2VfcHJveHlfdHlwZWA6IFNwZWNpZnkgdGhlIGV4YWN0IHByb3h5IHR5cGUgdG8gYmUgdXNlZCBhbmQgY2hlY2tlZCBmb3IgdGhpcyBjYWxsLtAtIGBjYWxsYDogVGhlIGNhbGwgdG8gYmUgbWFkZSBieSB0aGUgYHJlYWxgIGFjY291bnQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLpECBBhPcHRpb24EBFQBxAEIEE5vbmUAAAAQU29tZQQAxAAAAQAAlQIMPHBhbGxldF9tdWx0aXNpZxhwYWxsZXQQQ2FsbAQEVAABEFBhc19tdWx0aV90aHJlc2hvbGRfMQgBRG90aGVyX3NpZ25hdG9yaWVzMQEBRFZlYzxUOjpBY2NvdW50SWQ+AAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAAwUQFJbW1lZGlhdGVseSBkaXNwYXRjaCBhIG11bHRpLXNpZ25hdHVyZSBjYWxsIHVzaW5nIGEgc2luZ2xlIGFwcHJvdmFsIGZyb20gdGhlIGNhbGxlci4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgA9AS0gYG90aGVyX3NpZ25hdG9yaWVzYDogVGhlIGFjY291bnRzIChvdGhlciB0aGFuIHRoZSBzZW5kZXIpIHdobyBhcmUgcGFydCBvZiB0aGUBAW11bHRpLXNpZ25hdHVyZSwgYnV0IGRvIG5vdCBwYXJ0aWNpcGF0ZSBpbiB0aGUgYXBwcm92YWwgcHJvY2Vzcy6ILSBgY2FsbGA6IFRoZSBjYWxsIHRvIGJlIGV4ZWN1dGVkLgC4UmVzdWx0IGlzIGVxdWl2YWxlbnQgdG8gdGhlIGRpc3BhdGNoZWQgcmVzdWx0LgA0IyMgQ29tcGxleGl0eRkBTyhaICsgQykgd2hlcmUgWiBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBjYWxsIGFuZCBDIGl0cyBleGVjdXRpb24gd2VpZ2h0LiBhc19tdWx0aRQBJHRocmVzaG9sZMgBDHUxNgABRG90aGVyX3NpZ25hdG9yaWVzMQEBRFZlYzxUOjpBY2NvdW50SWQ+AAE8bWF5YmVfdGltZXBvaW50mQIBkE9wdGlvbjxUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+PgABEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgABKG1heF93ZWlnaHQoARhXZWlnaHQAAZxVAVJlZ2lzdGVyIGFwcHJvdmFsIGZvciBhIGRpc3BhdGNoIHRvIGJlIG1hZGUgZnJvbSBhIGRldGVybWluaXN0aWMgY29tcG9zaXRlIGFjY291bnQgaWb4YXBwcm92ZWQgYnkgYSB0b3RhbCBvZiBgdGhyZXNob2xkIC0gMWAgb2YgYG90aGVyX3NpZ25hdG9yaWVzYC4AsElmIHRoZXJlIGFyZSBlbm91Z2gsIHRoZW4gZGlzcGF0Y2ggdGhlIGNhbGwuAC0BUGF5bWVudDogYERlcG9zaXRCYXNlYCB3aWxsIGJlIHJlc2VydmVkIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGFwcHJvdmFsLCBwbHVzPQFgdGhyZXNob2xkYCB0aW1lcyBgRGVwb3NpdEZhY3RvcmAuIEl0IGlzIHJldHVybmVkIG9uY2UgdGhpcyBkaXNwYXRjaCBoYXBwZW5zIG9yNGlzIGNhbmNlbGxlZC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBVAS0gYHRocmVzaG9sZGA6IFRoZSB0b3RhbCBudW1iZXIgb2YgYXBwcm92YWxzIGZvciB0aGlzIGRpc3BhdGNoIGJlZm9yZSBpdCBpcyBleGVjdXRlZC5BAS0gYG90aGVyX3NpZ25hdG9yaWVzYDogVGhlIGFjY291bnRzIChvdGhlciB0aGFuIHRoZSBzZW5kZXIpIHdobyBjYW4gYXBwcm92ZSB0aGlzbGRpc3BhdGNoLiBNYXkgbm90IGJlIGVtcHR5LlkBLSBgbWF5YmVfdGltZXBvaW50YDogSWYgdGhpcyBpcyB0aGUgZmlyc3QgYXBwcm92YWwsIHRoZW4gdGhpcyBtdXN0IGJlIGBOb25lYC4gSWYgaXQgaXNRAW5vdCB0aGUgZmlyc3QgYXBwcm92YWwsIHRoZW4gaXQgbXVzdCBiZSBgU29tZWAsIHdpdGggdGhlIHRpbWVwb2ludCAoYmxvY2sgbnVtYmVyIGFuZNR0cmFuc2FjdGlvbiBpbmRleCkgb2YgdGhlIGZpcnN0IGFwcHJvdmFsIHRyYW5zYWN0aW9uLogtIGBjYWxsYDogVGhlIGNhbGwgdG8gYmUgZXhlY3V0ZWQuAB0BTk9URTogVW5sZXNzIHRoaXMgaXMgdGhlIGZpbmFsIGFwcHJvdmFsLCB5b3Ugd2lsbCBnZW5lcmFsbHkgd2FudCB0byB1c2UZAWBhcHByb3ZlX2FzX211bHRpYCBpbnN0ZWFkLCBzaW5jZSBpdCBvbmx5IHJlcXVpcmVzIGEgaGFzaCBvZiB0aGUgY2FsbC4AWQFSZXN1bHQgaXMgZXF1aXZhbGVudCB0byB0aGUgZGlzcGF0Y2hlZCByZXN1bHQgaWYgYHRocmVzaG9sZGAgaXMgZXhhY3RseSBgMWAuIE90aGVyd2lzZVUBb24gc3VjY2VzcywgcmVzdWx0IGlzIGBPa2AgYW5kIHRoZSByZXN1bHQgZnJvbSB0aGUgaW50ZXJpb3IgY2FsbCwgaWYgaXQgd2FzIGV4ZWN1dGVkLNxtYXkgYmUgZm91bmQgaW4gdGhlIGRlcG9zaXRlZCBgTXVsdGlzaWdFeGVjdXRlZGAgZXZlbnQuADQjIyBDb21wbGV4aXR5UC0gYE8oUyArIFogKyBDYWxsKWAuzC0gVXAgdG8gb25lIGJhbGFuY2UtcmVzZXJ2ZSBvciB1bnJlc2VydmUgb3BlcmF0aW9uLj0BLSBPbmUgcGFzc3Rocm91Z2ggb3BlcmF0aW9uLCBvbmUgaW5zZXJ0LCBib3RoIGBPKFMpYCB3aGVyZSBgU2AgaXMgdGhlIG51bWJlciBvZkUBICBzaWduYXRvcmllcy4gYFNgIGlzIGNhcHBlZCBieSBgTWF4U2lnbmF0b3JpZXNgLCB3aXRoIHdlaWdodCBiZWluZyBwcm9wb3J0aW9uYWwuIQEtIE9uZSBjYWxsIGVuY29kZSAmIGhhc2gsIGJvdGggb2YgY29tcGxleGl0eSBgTyhaKWAgd2hlcmUgYFpgIGlzIHR4LWxlbi68LSBPbmUgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFMpYC7ULSBVcCB0byBvbmUgYmluYXJ5IHNlYXJjaCBhbmQgaW5zZXJ0IChgTyhsb2dTICsgUylgKS74LSBJL086IDEgcmVhZCBgTyhTKWAsIHVwIHRvIDEgbXV0YXRlIGBPKFMpYC4gVXAgdG8gb25lIHJlbW92ZS4wLSBPbmUgZXZlbnQubC0gVGhlIHdlaWdodCBvZiB0aGUgYGNhbGxgLk0BLSBTdG9yYWdlOiBpbnNlcnRzIG9uZSBpdGVtLCB2YWx1ZSBzaXplIGJvdW5kZWQgYnkgYE1heFNpZ25hdG9yaWVzYCwgd2l0aCBhIGRlcG9zaXQZASAgdGFrZW4gZm9yIGl0cyBsaWZldGltZSBvZiBgRGVwb3NpdEJhc2UgKyB0aHJlc2hvbGQgKiBEZXBvc2l0RmFjdG9yYC5AYXBwcm92ZV9hc19tdWx0aRQBJHRocmVzaG9sZMgBDHUxNgABRG90aGVyX3NpZ25hdG9yaWVzMQEBRFZlYzxUOjpBY2NvdW50SWQ+AAE8bWF5YmVfdGltZXBvaW50mQIBkE9wdGlvbjxUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+PgABJGNhbGxfaGFzaAQBIFt1ODsgMzJdAAEobWF4X3dlaWdodCgBGFdlaWdodAACeFUBUmVnaXN0ZXIgYXBwcm92YWwgZm9yIGEgZGlzcGF0Y2ggdG8gYmUgbWFkZSBmcm9tIGEgZGV0ZXJtaW5pc3RpYyBjb21wb3NpdGUgYWNjb3VudCBpZvhhcHByb3ZlZCBieSBhIHRvdGFsIG9mIGB0aHJlc2hvbGQgLSAxYCBvZiBgb3RoZXJfc2lnbmF0b3JpZXNgLgAtAVBheW1lbnQ6IGBEZXBvc2l0QmFzZWAgd2lsbCBiZSByZXNlcnZlZCBpZiB0aGlzIGlzIHRoZSBmaXJzdCBhcHByb3ZhbCwgcGx1cz0BYHRocmVzaG9sZGAgdGltZXMgYERlcG9zaXRGYWN0b3JgLiBJdCBpcyByZXR1cm5lZCBvbmNlIHRoaXMgZGlzcGF0Y2ggaGFwcGVucyBvcjRpcyBjYW5jZWxsZWQuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AVQEtIGB0aHJlc2hvbGRgOiBUaGUgdG90YWwgbnVtYmVyIG9mIGFwcHJvdmFscyBmb3IgdGhpcyBkaXNwYXRjaCBiZWZvcmUgaXQgaXMgZXhlY3V0ZWQuQQEtIGBvdGhlcl9zaWduYXRvcmllc2A6IFRoZSBhY2NvdW50cyAob3RoZXIgdGhhbiB0aGUgc2VuZGVyKSB3aG8gY2FuIGFwcHJvdmUgdGhpc2xkaXNwYXRjaC4gTWF5IG5vdCBiZSBlbXB0eS5ZAS0gYG1heWJlX3RpbWVwb2ludGA6IElmIHRoaXMgaXMgdGhlIGZpcnN0IGFwcHJvdmFsLCB0aGVuIHRoaXMgbXVzdCBiZSBgTm9uZWAuIElmIGl0IGlzUQFub3QgdGhlIGZpcnN0IGFwcHJvdmFsLCB0aGVuIGl0IG11c3QgYmUgYFNvbWVgLCB3aXRoIHRoZSB0aW1lcG9pbnQgKGJsb2NrIG51bWJlciBhbmTUdHJhbnNhY3Rpb24gaW5kZXgpIG9mIHRoZSBmaXJzdCBhcHByb3ZhbCB0cmFuc2FjdGlvbi7MLSBgY2FsbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIGNhbGwgdG8gYmUgZXhlY3V0ZWQuADUBTk9URTogSWYgdGhpcyBpcyB0aGUgZmluYWwgYXBwcm92YWwsIHlvdSB3aWxsIHdhbnQgdG8gdXNlIGBhc19tdWx0aWAgaW5zdGVhZC4ANCMjIENvbXBsZXhpdHkkLSBgTyhTKWAuzC0gVXAgdG8gb25lIGJhbGFuY2UtcmVzZXJ2ZSBvciB1bnJlc2VydmUgb3BlcmF0aW9uLj0BLSBPbmUgcGFzc3Rocm91Z2ggb3BlcmF0aW9uLCBvbmUgaW5zZXJ0LCBib3RoIGBPKFMpYCB3aGVyZSBgU2AgaXMgdGhlIG51bWJlciBvZkUBICBzaWduYXRvcmllcy4gYFNgIGlzIGNhcHBlZCBieSBgTWF4U2lnbmF0b3JpZXNgLCB3aXRoIHdlaWdodCBiZWluZyBwcm9wb3J0aW9uYWwuvC0gT25lIGVuY29kZSAmIGhhc2gsIGJvdGggb2YgY29tcGxleGl0eSBgTyhTKWAu1C0gVXAgdG8gb25lIGJpbmFyeSBzZWFyY2ggYW5kIGluc2VydCAoYE8obG9nUyArIFMpYCku+C0gSS9POiAxIHJlYWQgYE8oUylgLCB1cCB0byAxIG11dGF0ZSBgTyhTKWAuIFVwIHRvIG9uZSByZW1vdmUuMC0gT25lIGV2ZW50Lk0BLSBTdG9yYWdlOiBpbnNlcnRzIG9uZSBpdGVtLCB2YWx1ZSBzaXplIGJvdW5kZWQgYnkgYE1heFNpZ25hdG9yaWVzYCwgd2l0aCBhIGRlcG9zaXQZASAgdGFrZW4gZm9yIGl0cyBsaWZldGltZSBvZiBgRGVwb3NpdEJhc2UgKyB0aHJlc2hvbGQgKiBEZXBvc2l0RmFjdG9yYC48Y2FuY2VsX2FzX211bHRpEAEkdGhyZXNob2xkyAEMdTE2AAFEb3RoZXJfc2lnbmF0b3JpZXMxAQFEVmVjPFQ6OkFjY291bnRJZD4AASR0aW1lcG9pbnTQAXBUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+AAEkY2FsbF9oYXNoBAEgW3U4OyAzMl0AA1RVAUNhbmNlbCBhIHByZS1leGlzdGluZywgb24tZ29pbmcgbXVsdGlzaWcgdHJhbnNhY3Rpb24uIEFueSBkZXBvc2l0IHJlc2VydmVkIHByZXZpb3VzbHnEZm9yIHRoaXMgb3BlcmF0aW9uIHdpbGwgYmUgdW5yZXNlcnZlZCBvbiBzdWNjZXNzLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAFUBLSBgdGhyZXNob2xkYDogVGhlIHRvdGFsIG51bWJlciBvZiBhcHByb3ZhbHMgZm9yIHRoaXMgZGlzcGF0Y2ggYmVmb3JlIGl0IGlzIGV4ZWN1dGVkLkEBLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGNhbiBhcHByb3ZlIHRoaXNsZGlzcGF0Y2guIE1heSBub3QgYmUgZW1wdHkuXQEtIGB0aW1lcG9pbnRgOiBUaGUgdGltZXBvaW50IChibG9jayBudW1iZXIgYW5kIHRyYW5zYWN0aW9uIGluZGV4KSBvZiB0aGUgZmlyc3QgYXBwcm92YWx4dHJhbnNhY3Rpb24gZm9yIHRoaXMgZGlzcGF0Y2guzC0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIGV4ZWN1dGVkLgA0IyMgQ29tcGxleGl0eSQtIGBPKFMpYC7MLSBVcCB0byBvbmUgYmFsYW5jZS1yZXNlcnZlIG9yIHVucmVzZXJ2ZSBvcGVyYXRpb24uPQEtIE9uZSBwYXNzdGhyb3VnaCBvcGVyYXRpb24sIG9uZSBpbnNlcnQsIGJvdGggYE8oUylgIHdoZXJlIGBTYCBpcyB0aGUgbnVtYmVyIG9mRQEgIHNpZ25hdG9yaWVzLiBgU2AgaXMgY2FwcGVkIGJ5IGBNYXhTaWduYXRvcmllc2AsIHdpdGggd2VpZ2h0IGJlaW5nIHByb3BvcnRpb25hbC68LSBPbmUgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFMpYC4wLSBPbmUgZXZlbnQuhC0gSS9POiAxIHJlYWQgYE8oUylgLCBvbmUgcmVtb3ZlLnAtIFN0b3JhZ2U6IHJlbW92ZXMgb25lIGl0ZW0uBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLpkCBBhPcHRpb24EBFQB0AEIEE5vbmUAAAAQU29tZQQA0AAAAQAAnQIMOHBhbGxldF91bmlxdWVzGHBhbGxldBBDYWxsCARUAARJAAFoGGNyZWF0ZQgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARRhZG1pbgABUEFjY291bnRJZExvb2t1cE9mPFQ+AABACQFJc3N1ZSBhIG5ldyBjb2xsZWN0aW9uIG9mIG5vbi1mdW5naWJsZSBpdGVtcyBmcm9tIGEgcHVibGljIG9yaWdpbi4AHQFUaGlzIG5ldyBjb2xsZWN0aW9uIGhhcyBubyBpdGVtcyBpbml0aWFsbHkgYW5kIGl0cyBvd25lciBpcyB0aGUgb3JpZ2luLgBhAVRoZSBvcmlnaW4gbXVzdCBjb25mb3JtIHRvIHRoZSBjb25maWd1cmVkIGBDcmVhdGVPcmlnaW5gIGFuZCBoYXZlIHN1ZmZpY2llbnQgZnVuZHMgZnJlZS4ArGBJdGVtRGVwb3NpdGAgZnVuZHMgb2Ygc2VuZGVyIGFyZSByZXNlcnZlZC4ALFBhcmFtZXRlcnM6YQEtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIG5ldyBjb2xsZWN0aW9uLiBUaGlzIG11c3Qgbm90IGJlIGN1cnJlbnRseSBpbiB1c2UuRQEtIGBhZG1pbmA6IFRoZSBhZG1pbiBvZiB0aGlzIGNvbGxlY3Rpb24uIFRoZSBhZG1pbiBpcyB0aGUgaW5pdGlhbCBhZGRyZXNzIG9mIGVhY2iYbWVtYmVyIG9mIHRoZSBjb2xsZWN0aW9uJ3MgYWRtaW4gdGVhbS4AmEVtaXRzIGBDcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADhXZWlnaHQ6IGBPKDEpYDBmb3JjZV9jcmVhdGUMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEUb3duZXIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABMGZyZWVfaG9sZGluZyABEGJvb2wAAUQZAUlzc3VlIGEgbmV3IGNvbGxlY3Rpb24gb2Ygbm9uLWZ1bmdpYmxlIGl0ZW1zIGZyb20gYSBwcml2aWxlZ2VkIG9yaWdpbi4ArFRoaXMgbmV3IGNvbGxlY3Rpb24gaGFzIG5vIGl0ZW1zIGluaXRpYWxseS4ApFRoZSBvcmlnaW4gbXVzdCBjb25mb3JtIHRvIGBGb3JjZU9yaWdpbmAuAJxVbmxpa2UgYGNyZWF0ZWAsIG5vIGZ1bmRzIGFyZSByZXNlcnZlZC4ASQEtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIG5ldyBpdGVtLiBUaGlzIG11c3Qgbm90IGJlIGN1cnJlbnRseSBpbiB1c2UuOQEtIGBvd25lcmA6IFRoZSBvd25lciBvZiB0aGlzIGNvbGxlY3Rpb24gb2YgaXRlbXMuIFRoZSBvd25lciBoYXMgZnVsbCBzdXBlcnVzZXI0ICBwZXJtaXNzaW9ucyEBb3ZlciB0aGlzIGl0ZW0sIGJ1dCBtYXkgbGF0ZXIgY2hhbmdlIGFuZCBjb25maWd1cmUgdGhlIHBlcm1pc3Npb25zIHVzaW5nkGB0cmFuc2Zlcl9vd25lcnNoaXBgIGFuZCBgc2V0X3RlYW1gLgCsRW1pdHMgYEZvcmNlQ3JlYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgA4V2VpZ2h0OiBgTygxKWAcZGVzdHJveQgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARx3aXRuZXNzoQIBOERlc3Ryb3lXaXRuZXNzAAI8nERlc3Ryb3kgYSBjb2xsZWN0aW9uIG9mIGZ1bmdpYmxlIGl0ZW1zLgBdAVRoZSBvcmlnaW4gbXVzdCBjb25mb3JtIHRvIGBGb3JjZU9yaWdpbmAgb3IgbXVzdCBiZSBgU2lnbmVkYCBhbmQgdGhlIHNlbmRlciBtdXN0IGJlIHRoZWhvd25lciBvZiB0aGUgYGNvbGxlY3Rpb25gLgAFAS0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgY29sbGVjdGlvbiB0byBiZSBkZXN0cm95ZWQuMQEtIGB3aXRuZXNzYDogSW5mb3JtYXRpb24gb24gdGhlIGl0ZW1zIG1pbnRlZCBpbiB0aGUgY29sbGVjdGlvbi4gVGhpcyBtdXN0IGJlIGNvcnJlY3QuAKBFbWl0cyBgRGVzdHJveWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAGRXZWlnaHQ6IGBPKG4gKyBtKWAgd2hlcmU6VC0gYG4gPSB3aXRuZXNzLml0ZW1zYHgtIGBtID0gd2l0bmVzcy5pdGVtX21ldGFkYXRhc2BoLSBgYSA9IHdpdG5lc3MuYXR0cmlidXRlc2AQbWludAwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUb3duZXIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgADLKBNaW50IGFuIGl0ZW0gb2YgYSBwYXJ0aWN1bGFyIGNvbGxlY3Rpb24uAEEBVGhlIG9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBtdXN0IGJlIHRoZSBJc3N1ZXIgb2YgdGhlIGBjb2xsZWN0aW9uYC4A4C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbSB0byBiZSBtaW50ZWQuyC0gYGl0ZW1gOiBUaGUgaXRlbSB2YWx1ZSBvZiB0aGUgaXRlbSB0byBiZSBtaW50ZWQu2C0gYGJlbmVmaWNpYXJ5YDogVGhlIGluaXRpYWwgb3duZXIgb2YgdGhlIG1pbnRlZCBpdGVtLgCURW1pdHMgYElzc3VlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgA4V2VpZ2h0OiBgTygxKWAQYnVybgwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEsY2hlY2tfb3duZXLsAXBPcHRpb248QWNjb3VudElkTG9va3VwT2Y8VD4+AAQ8WERlc3Ryb3kgYSBzaW5nbGUgaXRlbS4A9E9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGJlIGVpdGhlcjqALSB0aGUgQWRtaW4gb2YgdGhlIGBjb2xsZWN0aW9uYDtoLSB0aGUgT3duZXIgb2YgdGhlIGBpdGVtYDsA4C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbSB0byBiZSBidXJuZWQusC0gYGl0ZW1gOiBUaGUgaXRlbSBvZiB0aGUgaXRlbSB0byBiZSBidXJuZWQuUQEtIGBjaGVja19vd25lcmA6IElmIGBTb21lYCB0aGVuIHRoZSBvcGVyYXRpb24gd2lsbCBmYWlsIHdpdGggYFdyb25nT3duZXJgIHVubGVzcyB0aGV4ICBpdGVtIGlzIG93bmVkIGJ5IHRoaXMgdmFsdWUuALRFbWl0cyBgQnVybmVkYCB3aXRoIHRoZSBhY3R1YWwgYW1vdW50IGJ1cm5lZC4AOFdlaWdodDogYE8oMSlgfE1vZGVzOiBgY2hlY2tfb3duZXIuaXNfc29tZSgpYC4gdHJhbnNmZXIMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgAFRMBNb3ZlIGFuIGl0ZW0gZnJvbSB0aGUgc2VuZGVyIGFjY291bnQgdG8gYW5vdGhlci4AtFRoaXMgcmVzZXRzIHRoZSBhcHByb3ZlZCBhY2NvdW50IG9mIHRoZSBpdGVtLgD0T3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2lnbmluZyBhY2NvdW50IG11c3QgYmUgZWl0aGVyOoAtIHRoZSBBZG1pbiBvZiB0aGUgYGNvbGxlY3Rpb25gO2gtIHRoZSBPd25lciBvZiB0aGUgYGl0ZW1gOzUBLSB0aGUgYXBwcm92ZWQgZGVsZWdhdGUgZm9yIHRoZSBgaXRlbWAgKGluIHRoaXMgY2FzZSwgdGhlIGFwcHJvdmFsIGlzIHJlc2V0KS4AKEFyZ3VtZW50czr0LSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIHRvIGJlIHRyYW5zZmVycmVkLsQtIGBpdGVtYDogVGhlIGl0ZW0gb2YgdGhlIGl0ZW0gdG8gYmUgdHJhbnNmZXJyZWQu3C0gYGRlc3RgOiBUaGUgYWNjb3VudCB0byByZWNlaXZlIG93bmVyc2hpcCBvZiB0aGUgaXRlbS4AUEVtaXRzIGBUcmFuc2ZlcnJlZGAuADhXZWlnaHQ6IGBPKDEpYCRyZWRlcG9zaXQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEUaXRlbXPcAThWZWM8VDo6SXRlbUlkPgAGRJhSZWV2YWx1YXRlIHRoZSBkZXBvc2l0cyBvbiBzb21lIGl0ZW1zLgA1AU9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIE93bmVyIG9mIHRoZSBgY29sbGVjdGlvbmAuALAtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gdG8gYmUgZnJvemVuLikBLSBgaXRlbXNgOiBUaGUgaXRlbXMgb2YgdGhlIGNvbGxlY3Rpb24gd2hvc2UgZGVwb3NpdHMgd2lsbCBiZSByZWV2YWx1YXRlZC4ALQFOT1RFOiBUaGlzIGV4aXN0cyBhcyBhIGJlc3QtZWZmb3J0IGZ1bmN0aW9uLiBBbnkgaXRlbXMgd2hpY2ggYXJlIHVua25vd24gb3I5AWluIHRoZSBjYXNlIHRoYXQgdGhlIG93bmVyIGFjY291bnQgZG9lcyBub3QgaGF2ZSByZXNlcnZhYmxlIGZ1bmRzIHRvIHBheSBmb3IgYU0BZGVwb3NpdCBpbmNyZWFzZSBhcmUgaWdub3JlZC4gR2VuZXJhbGx5IHRoZSBvd25lciBpc24ndCBnb2luZyB0byBjYWxsIHRoaXMgb24gaXRlbXNVAXdob3NlIGV4aXN0aW5nIGRlcG9zaXQgaXMgbGVzcyB0aGFuIHRoZSByZWZyZXNoZWQgZGVwb3NpdCBhcyBpdCB3b3VsZCBvbmx5IGNvc3QgdGhlbSx4c28gaXQncyBvZiBsaXR0bGUgY29uc2VxdWVuY2UuAFkBSXQgd2lsbCBzdGlsbCByZXR1cm4gYW4gZXJyb3IgaW4gdGhlIGNhc2UgdGhhdCB0aGUgY29sbGVjdGlvbiBpcyB1bmtub3duIG9mIHRoZSBzaWduZXJwaXMgbm90IHBlcm1pdHRlZCB0byBjYWxsIGl0LgBgV2VpZ2h0OiBgTyhpdGVtcy5sZW4oKSlgGGZyZWV6ZQgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAcoyERpc2FsbG93IGZ1cnRoZXIgdW5wcml2aWxlZ2VkIHRyYW5zZmVyIG9mIGFuIGl0ZW0uAD0BT3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgRnJlZXplciBvZiB0aGUgYGNvbGxlY3Rpb25gLgDgLSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIHRvIGJlIGZyb3plbi6wLSBgaXRlbWA6IFRoZSBpdGVtIG9mIHRoZSBpdGVtIHRvIGJlIGZyb3plbi4APEVtaXRzIGBGcm96ZW5gLgA4V2VpZ2h0OiBgTygxKWAQdGhhdwgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAgoqFJlLWFsbG93IHVucHJpdmlsZWdlZCB0cmFuc2ZlciBvZiBhbiBpdGVtLgA9AU9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIEZyZWV6ZXIgb2YgdGhlIGBjb2xsZWN0aW9uYC4A4C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbSB0byBiZSB0aGF3ZWQusC0gYGl0ZW1gOiBUaGUgaXRlbSBvZiB0aGUgaXRlbSB0byBiZSB0aGF3ZWQuADxFbWl0cyBgVGhhd2VkYC4AOFdlaWdodDogYE8oMSlgRGZyZWV6ZV9jb2xsZWN0aW9uBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAJJPxEaXNhbGxvdyBmdXJ0aGVyIHVucHJpdmlsZWdlZCB0cmFuc2ZlcnMgZm9yIGEgd2hvbGUgY29sbGVjdGlvbi4APQFPcmlnaW4gbXVzdCBiZSBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBGcmVlemVyIG9mIHRoZSBgY29sbGVjdGlvbmAuALAtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gdG8gYmUgZnJvemVuLgBkRW1pdHMgYENvbGxlY3Rpb25Gcm96ZW5gLgA4V2VpZ2h0OiBgTygxKWA8dGhhd19jb2xsZWN0aW9uBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAKJNxSZS1hbGxvdyB1bnByaXZpbGVnZWQgdHJhbnNmZXJzIGZvciBhIHdob2xlIGNvbGxlY3Rpb24uADUBT3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgQWRtaW4gb2YgdGhlIGBjb2xsZWN0aW9uYC4AsC0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiB0byBiZSB0aGF3ZWQuAGRFbWl0cyBgQ29sbGVjdGlvblRoYXdlZGAuADhXZWlnaHQ6IGBPKDEpYEh0cmFuc2Zlcl9vd25lcnNoaXAIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEkbmV3X293bmVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4ACyyEQ2hhbmdlIHRoZSBPd25lciBvZiBhIGNvbGxlY3Rpb24uADUBT3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgT3duZXIgb2YgdGhlIGBjb2xsZWN0aW9uYC4A9C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiB3aG9zZSBvd25lciBzaG91bGQgYmUgY2hhbmdlZC4JAS0gYG93bmVyYDogVGhlIG5ldyBPd25lciBvZiB0aGlzIGNvbGxlY3Rpb24uIFRoZXkgbXVzdCBoYXZlIGNhbGxlZEkBICBgc2V0X2FjY2VwdF9vd25lcnNoaXBgIHdpdGggYGNvbGxlY3Rpb25gIGluIG9yZGVyIGZvciB0aGlzIG9wZXJhdGlvbiB0byBzdWNjZWVkLgBURW1pdHMgYE93bmVyQ2hhbmdlZGAuADhXZWlnaHQ6IGBPKDEpYCBzZXRfdGVhbRABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARhpc3N1ZXIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFGFkbWluAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARxmcmVlemVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4ADDDUQ2hhbmdlIHRoZSBJc3N1ZXIsIEFkbWluIGFuZCBGcmVlemVyIG9mIGEgY29sbGVjdGlvbi4ANQFPcmlnaW4gbXVzdCBiZSBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZiB0aGUgYGNvbGxlY3Rpb25gLgDwLSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIHdob3NlIHRlYW0gc2hvdWxkIGJlIGNoYW5nZWQuuC0gYGlzc3VlcmA6IFRoZSBuZXcgSXNzdWVyIG9mIHRoaXMgY29sbGVjdGlvbi6wLSBgYWRtaW5gOiBUaGUgbmV3IEFkbWluIG9mIHRoaXMgY29sbGVjdGlvbi7ALSBgZnJlZXplcmA6IFRoZSBuZXcgRnJlZXplciBvZiB0aGlzIGNvbGxlY3Rpb24uAFBFbWl0cyBgVGVhbUNoYW5nZWRgLgA4V2VpZ2h0OiBgTygxKWBAYXBwcm92ZV90cmFuc2ZlcgwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgANOBUBQXBwcm92ZSBhbiBpdGVtIHRvIGJlIHRyYW5zZmVycmVkIGJ5IGEgZGVsZWdhdGVkIHRoaXJkLXBhcnR5IGFjY291bnQuAE0BVGhlIG9yaWdpbiBtdXN0IGNvbmZvcm0gdG8gYEZvcmNlT3JpZ2luYCBvciBtdXN0IGJlIGBTaWduZWRgIGFuZCB0aGUgc2VuZGVyIG11c3QgYmX4ZWl0aGVyIHRoZSBvd25lciBvZiB0aGUgYGl0ZW1gIG9yIHRoZSBhZG1pbiBvZiB0aGUgY29sbGVjdGlvbi4ARQEtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gb2YgdGhlIGl0ZW0gdG8gYmUgYXBwcm92ZWQgZm9yIGRlbGVnYXRlZCB0cmFuc2Zlci4VAS0gYGl0ZW1gOiBUaGUgaXRlbSBvZiB0aGUgaXRlbSB0byBiZSBhcHByb3ZlZCBmb3IgZGVsZWdhdGVkIHRyYW5zZmVyLhkBLSBgZGVsZWdhdGVgOiBUaGUgYWNjb3VudCB0byBkZWxlZ2F0ZSBwZXJtaXNzaW9uIHRvIHRyYW5zZmVyIHRoZSBpdGVtLgAZAUltcG9ydGFudCBOT1RFOiBUaGUgYGFwcHJvdmVkYCBhY2NvdW50IGdldHMgcmVzZXQgYWZ0ZXIgZWFjaCB0cmFuc2Zlci4AkEVtaXRzIGBBcHByb3ZlZFRyYW5zZmVyYCBvbiBzdWNjZXNzLgA4V2VpZ2h0OiBgTygxKWA8Y2FuY2VsX2FwcHJvdmFsDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAAVBtYXliZV9jaGVja19kZWxlZ2F0ZewBcE9wdGlvbjxBY2NvdW50SWRMb29rdXBPZjxUPj4ADkARAUNhbmNlbCB0aGUgcHJpb3IgYXBwcm92YWwgZm9yIHRoZSB0cmFuc2ZlciBvZiBhbiBpdGVtIGJ5IGEgZGVsZWdhdGUuAFhPcmlnaW4gbXVzdCBiZSBlaXRoZXI6VC0gdGhlIGBGb3JjZWAgb3JpZ2luO/wtIGBTaWduZWRgIHdpdGggdGhlIHNpZ25lciBiZWluZyB0aGUgQWRtaW4gb2YgdGhlIGBjb2xsZWN0aW9uYDvkLSBgU2lnbmVkYCB3aXRoIHRoZSBzaWduZXIgYmVpbmcgdGhlIE93bmVyIG9mIHRoZSBgaXRlbWA7AChBcmd1bWVudHM6PQEtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gb2YgdGhlIGl0ZW0gb2Ygd2hvc2UgYXBwcm92YWwgd2lsbCBiZSBjYW5jZWxsZWQuDQEtIGBpdGVtYDogVGhlIGl0ZW0gb2YgdGhlIGl0ZW0gb2Ygd2hvc2UgYXBwcm92YWwgd2lsbCBiZSBjYW5jZWxsZWQuUQEtIGBtYXliZV9jaGVja19kZWxlZ2F0ZWA6IElmIGBTb21lYCB3aWxsIGVuc3VyZSB0aGF0IHRoZSBnaXZlbiBhY2NvdW50IGlzIHRoZSBvbmUgdG+wICB3aGljaCBwZXJtaXNzaW9uIG9mIHRyYW5zZmVyIGlzIGRlbGVnYXRlZC4AlEVtaXRzIGBBcHByb3ZhbENhbmNlbGxlZGAgb24gc3VjY2Vzcy4AOFdlaWdodDogYE8oMSlgRGZvcmNlX2l0ZW1fc3RhdHVzHAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABFG93bmVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARhpc3N1ZXIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFGFkbWluAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARxmcmVlemVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AATBmcmVlX2hvbGRpbmcgARBib29sAAEkaXNfZnJvemVuIAEQYm9vbAAPQJRBbHRlciB0aGUgYXR0cmlidXRlcyBvZiBhIGdpdmVuIGl0ZW0uAHRPcmlnaW4gbXVzdCBiZSBgRm9yY2VPcmlnaW5gLgCsLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBpdGVtLpgtIGBvd25lcmA6IFRoZSBuZXcgT3duZXIgb2YgdGhpcyBpdGVtLqAtIGBpc3N1ZXJgOiBUaGUgbmV3IElzc3VlciBvZiB0aGlzIGl0ZW0umC0gYGFkbWluYDogVGhlIG5ldyBBZG1pbiBvZiB0aGlzIGl0ZW0uqC0gYGZyZWV6ZXJgOiBUaGUgbmV3IEZyZWV6ZXIgb2YgdGhpcyBpdGVtLlEBLSBgZnJlZV9ob2xkaW5nYDogV2hldGhlciBhIGRlcG9zaXQgaXMgdGFrZW4gZm9yIGhvbGRpbmcgYW4gaXRlbSBvZiB0aGlzIGNvbGxlY3Rpb24uOQEtIGBpc19mcm96ZW5gOiBXaGV0aGVyIHRoaXMgY29sbGVjdGlvbiBpcyBmcm96ZW4gZXhjZXB0IGZvciBwZXJtaXNzaW9uZWQvYWRtaW40aW5zdHJ1Y3Rpb25zLgDgRW1pdHMgYEl0ZW1TdGF0dXNDaGFuZ2VkYCB3aXRoIHRoZSBpZGVudGl0eSBvZiB0aGUgaXRlbS4AOFdlaWdodDogYE8oMSlgNHNldF9hdHRyaWJ1dGUQAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEobWF5YmVfaXRlbeABRE9wdGlvbjxUOjpJdGVtSWQ+AAEMa2V55AFsQm91bmRlZFZlYzx1OCwgVDo6S2V5TGltaXQ+AAEUdmFsdWXoAXRCb3VuZGVkVmVjPHU4LCBUOjpWYWx1ZUxpbWl0PgAQRKhTZXQgYW4gYXR0cmlidXRlIGZvciBhIGNvbGxlY3Rpb24gb3IgaXRlbS4AXQFPcmlnaW4gbXVzdCBiZSBlaXRoZXIgYEZvcmNlT3JpZ2luYCBvciBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZiB0aGU0YGNvbGxlY3Rpb25gLgBRAUlmIHRoZSBvcmlnaW4gaXMgU2lnbmVkLCB0aGVuIGZ1bmRzIG9mIHNpZ25lciBhcmUgcmVzZXJ2ZWQgYWNjb3JkaW5nIHRvIHRoZSBmb3JtdWxhOikBYE1ldGFkYXRhRGVwb3NpdEJhc2UgKyBEZXBvc2l0UGVyQnl0ZSAqIChrZXkubGVuICsgdmFsdWUubGVuKWAgdGFraW5nIGludG+MYWNjb3VudCBhbnkgYWxyZWFkeSByZXNlcnZlZCBmdW5kcy4AOQEtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGNvbGxlY3Rpb24gd2hvc2UgaXRlbSdzIG1ldGFkYXRhIHRvIHNldC4FAS0gYG1heWJlX2l0ZW1gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aG9zZSBtZXRhZGF0YSB0byBzZXQuiC0gYGtleWA6IFRoZSBrZXkgb2YgdGhlIGF0dHJpYnV0ZS7MLSBgdmFsdWVgOiBUaGUgdmFsdWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBhdHRyaWJ1dGUuAFRFbWl0cyBgQXR0cmlidXRlU2V0YC4AOFdlaWdodDogYE8oMSlgPGNsZWFyX2F0dHJpYnV0ZQwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAAShtYXliZV9pdGVt4AFET3B0aW9uPFQ6Okl0ZW1JZD4AAQxrZXnkAWxCb3VuZGVkVmVjPHU4LCBUOjpLZXlMaW1pdD4AETiwQ2xlYXIgYW4gYXR0cmlidXRlIGZvciBhIGNvbGxlY3Rpb24gb3IgaXRlbS4AXQFPcmlnaW4gbXVzdCBiZSBlaXRoZXIgYEZvcmNlT3JpZ2luYCBvciBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZiB0aGU0YGNvbGxlY3Rpb25gLgDAQW55IGRlcG9zaXQgaXMgZnJlZWQgZm9yIHRoZSBjb2xsZWN0aW9uJ3Mgb3duZXIuAEEBLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHdob3NlIGl0ZW0ncyBtZXRhZGF0YSB0byBjbGVhci4NAS0gYG1heWJlX2l0ZW1gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aG9zZSBtZXRhZGF0YSB0byBjbGVhci6ILSBga2V5YDogVGhlIGtleSBvZiB0aGUgYXR0cmlidXRlLgBkRW1pdHMgYEF0dHJpYnV0ZUNsZWFyZWRgLgA4V2VpZ2h0OiBgTygxKWAwc2V0X21ldGFkYXRhEAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARBkYXRh2AF4Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+AAEkaXNfZnJvemVuIAEQYm9vbAASRHRTZXQgdGhlIG1ldGFkYXRhIGZvciBhbiBpdGVtLgBdAU9yaWdpbiBtdXN0IGJlIGVpdGhlciBgRm9yY2VPcmlnaW5gIG9yIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIE93bmVyIG9mIHRoZTRgY29sbGVjdGlvbmAuAFEBSWYgdGhlIG9yaWdpbiBpcyBTaWduZWQsIHRoZW4gZnVuZHMgb2Ygc2lnbmVyIGFyZSByZXNlcnZlZCBhY2NvcmRpbmcgdG8gdGhlIGZvcm11bGE69GBNZXRhZGF0YURlcG9zaXRCYXNlICsgRGVwb3NpdFBlckJ5dGUgKiBkYXRhLmxlbmAgdGFraW5nIGludG+MYWNjb3VudCBhbnkgYWxyZWFkeSByZXNlcnZlZCBmdW5kcy4AOQEtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGNvbGxlY3Rpb24gd2hvc2UgaXRlbSdzIG1ldGFkYXRhIHRvIHNldC7sLSBgaXRlbWA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBpdGVtIHdob3NlIG1ldGFkYXRhIHRvIHNldC5NAS0gYGRhdGFgOiBUaGUgZ2VuZXJhbCBpbmZvcm1hdGlvbiBvZiB0aGlzIGl0ZW0uIExpbWl0ZWQgaW4gbGVuZ3RoIGJ5IGBTdHJpbmdMaW1pdGAuNQEtIGBpc19mcm96ZW5gOiBXaGV0aGVyIHRoZSBtZXRhZGF0YSBzaG91bGQgYmUgZnJvemVuIGFnYWluc3QgZnVydGhlciBjaGFuZ2VzLgBQRW1pdHMgYE1ldGFkYXRhU2V0YC4AOFdlaWdodDogYE8oMSlgOGNsZWFyX21ldGFkYXRhCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAEzR8Q2xlYXIgdGhlIG1ldGFkYXRhIGZvciBhbiBpdGVtLgBdAU9yaWdpbiBtdXN0IGJlIGVpdGhlciBgRm9yY2VPcmlnaW5gIG9yIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIE93bmVyIG9mIHRoZRxgaXRlbWAuAMBBbnkgZGVwb3NpdCBpcyBmcmVlZCBmb3IgdGhlIGNvbGxlY3Rpb24ncyBvd25lci4AQQEtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGNvbGxlY3Rpb24gd2hvc2UgaXRlbSdzIG1ldGFkYXRhIHRvIGNsZWFyLvQtIGBpdGVtYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGl0ZW0gd2hvc2UgbWV0YWRhdGEgdG8gY2xlYXIuAGBFbWl0cyBgTWV0YWRhdGFDbGVhcmVkYC4AOFdlaWdodDogYE8oMSlgXHNldF9jb2xsZWN0aW9uX21ldGFkYXRhDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGRhdGHYAXhCb3VuZGVkVmVjPHU4LCBUOjpTdHJpbmdMaW1pdD4AASRpc19mcm96ZW4gARBib29sABRAiFNldCB0aGUgbWV0YWRhdGEgZm9yIGEgY29sbGVjdGlvbi4AVQFPcmlnaW4gbXVzdCBiZSBlaXRoZXIgYEZvcmNlT3JpZ2luYCBvciBgU2lnbmVkYCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIE93bmVyIG9mRHRoZSBgY29sbGVjdGlvbmAuAFkBSWYgdGhlIG9yaWdpbiBpcyBgU2lnbmVkYCwgdGhlbiBmdW5kcyBvZiBzaWduZXIgYXJlIHJlc2VydmVkIGFjY29yZGluZyB0byB0aGUgZm9ybXVsYTr0YE1ldGFkYXRhRGVwb3NpdEJhc2UgKyBEZXBvc2l0UGVyQnl0ZSAqIGRhdGEubGVuYCB0YWtpbmcgaW50b4xhY2NvdW50IGFueSBhbHJlYWR5IHJlc2VydmVkIGZ1bmRzLgARAS0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aG9zZSBtZXRhZGF0YSB0byB1cGRhdGUuTQEtIGBkYXRhYDogVGhlIGdlbmVyYWwgaW5mb3JtYXRpb24gb2YgdGhpcyBpdGVtLiBMaW1pdGVkIGluIGxlbmd0aCBieSBgU3RyaW5nTGltaXRgLjUBLSBgaXNfZnJvemVuYDogV2hldGhlciB0aGUgbWV0YWRhdGEgc2hvdWxkIGJlIGZyb3plbiBhZ2FpbnN0IGZ1cnRoZXIgY2hhbmdlcy4AeEVtaXRzIGBDb2xsZWN0aW9uTWV0YWRhdGFTZXRgLgA4V2VpZ2h0OiBgTygxKWBkY2xlYXJfY29sbGVjdGlvbl9tZXRhZGF0YQQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAFTCQQ2xlYXIgdGhlIG1ldGFkYXRhIGZvciBhIGNvbGxlY3Rpb24uAFUBT3JpZ2luIG11c3QgYmUgZWl0aGVyIGBGb3JjZU9yaWdpbmAgb3IgYFNpZ25lZGAgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZkR0aGUgYGNvbGxlY3Rpb25gLgDAQW55IGRlcG9zaXQgaXMgZnJlZWQgZm9yIHRoZSBjb2xsZWN0aW9uJ3Mgb3duZXIuACUBLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHdob3NlIG1ldGFkYXRhIHRvIGNsZWFyLgCIRW1pdHMgYENvbGxlY3Rpb25NZXRhZGF0YUNsZWFyZWRgLgA4V2VpZ2h0OiBgTygxKWBQc2V0X2FjY2VwdF9vd25lcnNoaXAEAUBtYXliZV9jb2xsZWN0aW9u4AFcT3B0aW9uPFQ6OkNvbGxlY3Rpb25JZD4AFigRAVNldCAob3IgcmVzZXQpIHRoZSBhY2NlcHRhbmNlIG9mIG93bmVyc2hpcCBmb3IgYSBwYXJ0aWN1bGFyIGFjY291bnQuAGEBT3JpZ2luIG11c3QgYmUgYFNpZ25lZGAgYW5kIGlmIGBtYXliZV9jb2xsZWN0aW9uYCBpcyBgU29tZWAsIHRoZW4gdGhlIHNpZ25lciBtdXN0IGhhdmUgYUxwcm92aWRlciByZWZlcmVuY2UuAFEBLSBgbWF5YmVfY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHdob3NlIG93bmVyc2hpcCB0aGUgc2lnbmVyIGlzYQEgIHdpbGxpbmcgdG8gYWNjZXB0LCBvciBpZiBgTm9uZWAsIGFuIGluZGljYXRpb24gdGhhdCB0aGUgc2lnbmVyIGlzIHdpbGxpbmcgdG8gYWNjZXB0IG5vXCAgb3duZXJzaGlwIHRyYW5zZmVyYWwuAIxFbWl0cyBgT3duZXJzaGlwQWNjZXB0YW5jZUNoYW5nZWRgLmRzZXRfY29sbGVjdGlvbl9tYXhfc3VwcGx5CAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABKG1heF9zdXBwbHkQAQx1MzIAFyzgU2V0IHRoZSBtYXhpbXVtIGFtb3VudCBvZiBpdGVtcyBhIGNvbGxlY3Rpb24gY291bGQgaGF2ZS4AVQFPcmlnaW4gbXVzdCBiZSBlaXRoZXIgYEZvcmNlT3JpZ2luYCBvciBgU2lnbmVkYCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIE93bmVyIG9mRHRoZSBgY29sbGVjdGlvbmAuAOROb3RlOiBUaGlzIGZ1bmN0aW9uIGNhbiBvbmx5IHN1Y2NlZWQgb25jZSBwZXIgY29sbGVjdGlvbi4A7C0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgY29sbGVjdGlvbiB0byBjaGFuZ2UuEQEtIGBtYXhfc3VwcGx5YDogVGhlIG1heGltdW0gYW1vdW50IG9mIGl0ZW1zIGEgY29sbGVjdGlvbiBjb3VsZCBoYXZlLgDURW1pdHMgYENvbGxlY3Rpb25NYXhTdXBwbHlTZXRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4kc2V0X3ByaWNlEAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRwcmljZeABXE9wdGlvbjxJdGVtUHJpY2U8VCwgST4+AAFEd2hpdGVsaXN0ZWRfYnV5ZXLsAXBPcHRpb248QWNjb3VudElkTG9va3VwT2Y8VD4+ABgslFNldCAob3IgcmVzZXQpIHRoZSBwcmljZSBmb3IgYW4gaXRlbS4AAQFPcmlnaW4gbXVzdCBiZSBTaWduZWQgYW5kIG11c3QgYmUgdGhlIG93bmVyIG9mIHRoZSBhc3NldCBgaXRlbWAuAKwtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gb2YgdGhlIGl0ZW0uoC0gYGl0ZW1gOiBUaGUgaXRlbSB0byBzZXQgdGhlIHByaWNlIGZvci4NAS0gYHByaWNlYDogVGhlIHByaWNlIGZvciB0aGUgaXRlbS4gUGFzcyBgTm9uZWAsIHRvIHJlc2V0IHRoZSBwcmljZS70LSBgYnV5ZXJgOiBSZXN0cmljdHMgdGhlIGJ1eSBvcGVyYXRpb24gdG8gYSBzcGVjaWZpYyBhY2NvdW50LgDsRW1pdHMgYEl0ZW1QcmljZVNldGAgb24gc3VjY2VzcyBpZiB0aGUgcHJpY2UgaXMgbm90IGBOb25lYC7sRW1pdHMgYEl0ZW1QcmljZVJlbW92ZWRgIG9uIHN1Y2Nlc3MgaWYgdGhlIHByaWNlIGlzIGBOb25lYC4gYnV5X2l0ZW0MAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABJGJpZF9wcmljZRgBPEl0ZW1QcmljZTxULCBJPgAZJKhBbGxvd3MgdG8gYnV5IGFuIGl0ZW0gaWYgaXQncyB1cCBmb3Igc2FsZS4A+E9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgbXVzdCBub3QgYmUgdGhlIG93bmVyIG9mIHRoZSBgaXRlbWAuAKwtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gb2YgdGhlIGl0ZW0urC0gYGl0ZW1gOiBUaGUgaXRlbSB0aGUgc2VuZGVyIHdhbnRzIHRvIGJ1eS7YLSBgYmlkX3ByaWNlYDogVGhlIHByaWNlIHRoZSBzZW5kZXIgaXMgd2lsbGluZyB0byBwYXkuAHhFbWl0cyBgSXRlbUJvdWdodGAgb24gc3VjY2Vzcy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuoQIMOHBhbGxldF91bmlxdWVzFHR5cGVzOERlc3Ryb3lXaXRuZXNzAAAMARRpdGVtc1UBAQx1MzIAAThpdGVtX21ldGFkYXRhc1UBAQx1MzIAAShhdHRyaWJ1dGVzVQEBDHUzMgAApQIMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQQQ2FsbAQEVAABGFhjb250cm9sX2F1dG9fbWlncmF0aW9uBAEwbWF5YmVfY29uZmlnqQIBXE9wdGlvbjxNaWdyYXRpb25MaW1pdHM+AAAMgENvbnRyb2wgdGhlIGF1dG9tYXRpYyBtaWdyYXRpb24uAA0BVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBbYENvbmZpZzo6Q29udHJvbE9yaWdpbmBdLkBjb250aW51ZV9taWdyYXRlDAEYbGltaXRzrQIBPE1pZ3JhdGlvbkxpbWl0cwABPHJlYWxfc2l6ZV91cHBlchABDHUzMgABMHdpdG5lc3NfdGFza7ECAUBNaWdyYXRpb25UYXNrPFQ+AAFUuENvbnRpbnVlIHRoZSBtaWdyYXRpb24gZm9yIHRoZSBnaXZlbiBgbGltaXRzYC4A7FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIGNhbiBiZSBhbnkgc2lnbmVkIGFjY291bnQuAF0BVGhpcyB0cmFuc2FjdGlvbiBoYXMgTk8gTU9ORVRBUlkgSU5DRU5USVZFUy4gY2FsbGluZyBpdCB3aWxsIG5vdCByZXdhcmQgYW55b25lLiBBbGJlaXQs7FVwb24gc3VjY2Vzc2Z1bCBleGVjdXRpb24sIHRoZSB0cmFuc2FjdGlvbiBmZWUgaXMgcmV0dXJuZWQuAEEBVGhlIChwb3RlbnRpYWxseSBvdmVyLWVzdGltYXRlZCkgb2YgdGhlIGJ5dGUgbGVuZ3RoIG9mIGFsbCB0aGUgZGF0YSByZWFkIG11c3QgYmVZAXByb3ZpZGVkIGZvciB1cC1mcm9udCBmZWUtcGF5bWVudCBhbmQgd2VpZ2hpbmcuIEluIGVzc2VuY2UsIHRoZSBjYWxsZXIgaXMgZ3VhcmFudGVlaW5nSQF0aGF0IGV4ZWN1dGluZyB0aGUgY3VycmVudCBgTWlncmF0aW9uVGFza2Agd2l0aCB0aGUgZ2l2ZW4gYGxpbWl0c2Agd2lsbCBub3QgZXhjZWVklGByZWFsX3NpemVfdXBwZXJgIGJ5dGVzIG9mIHJlYWQgZGF0YS4ARQFUaGUgYHdpdG5lc3NfdGFza2AgaXMgbWVyZWx5IGEgaGVscGVyIHRvIHByZXZlbnQgdGhlIGNhbGxlciBmcm9tIGJlaW5nIHNsYXNoZWQgb3JdAWdlbmVyYWxseSB0cmlnZ2VyIGEgbWlncmF0aW9uIHRoYXQgdGhleSBkbyBub3QgaW50ZW5kLiBUaGlzIHBhcmFtZXRlciBpcyBqdXN0IGEgbWVzc2FnZT0BZnJvbSBjYWxsZXIsIHNheWluZyB0aGF0IHRoZXkgYmVsaWV2ZWQgYHdpdG5lc3NfdGFza2Agd2FzIHRoZSBsYXN0IHN0YXRlIG9mIHRoZVkBbWlncmF0aW9uLCBhbmQgdGhleSBvbmx5IHdpc2ggZm9yIHRoZWlyIHRyYW5zYWN0aW9uIHRvIGRvIGFueXRoaW5nLCBpZiB0aGlzIGFzc3VtcHRpb24RAWhvbGRzLiBJbiBjYXNlIGB3aXRuZXNzX3Rhc2tgIGRvZXMgbm90IG1hdGNoLCB0aGUgdHJhbnNhY3Rpb24gZmFpbHMuADkBQmFzZWQgb24gdGhlIGRvY3VtZW50YXRpb24gb2YgW2BNaWdyYXRpb25UYXNrOjptaWdyYXRlX3VudGlsX2V4aGF1c3Rpb25gXSwgdGhlTQFyZWNvbW1lbmRlZCB3YXkgb2YgZG9pbmcgdGhpcyBpcyB0byBwYXNzIGEgYGxpbWl0YCB0aGF0IG9ubHkgYm91bmRzIGBjb3VudGAsIGFzIHRoZZxgc2l6ZWAgbGltaXQgY2FuIGFsd2F5cyBiZSBvdmVyd3JpdHRlbi5IbWlncmF0ZV9jdXN0b21fdG9wCAEQa2V5cyEBATBWZWM8VmVjPHU4Pj4AATB3aXRuZXNzX3NpemUQAQx1MzIAAhAJAU1pZ3JhdGUgdGhlIGxpc3Qgb2YgdG9wIGtleXMgYnkgaXRlcmF0aW5nIGVhY2ggb2YgdGhlbSBvbmUgYnkgb25lLgBVAVRoaXMgZG9lcyBub3QgYWZmZWN0IHRoZSBnbG9iYWwgbWlncmF0aW9uIHByb2Nlc3MgdHJhY2tlciAoW2BNaWdyYXRpb25Qcm9jZXNzYF0pLCBhbmT8c2hvdWxkIG9ubHkgYmUgdXNlZCBpbiBjYXNlIGFueSBrZXlzIGFyZSBsZWZ0b3ZlciBkdWUgdG8gYSBidWcuUG1pZ3JhdGVfY3VzdG9tX2NoaWxkDAEQcm9vdDgBHFZlYzx1OD4AAShjaGlsZF9rZXlzIQEBMFZlYzxWZWM8dTg+PgABKHRvdGFsX3NpemUQAQx1MzIAAxgRAU1pZ3JhdGUgdGhlIGxpc3Qgb2YgY2hpbGQga2V5cyBieSBpdGVyYXRpbmcgZWFjaCBvZiB0aGVtIG9uZSBieSBvbmUuAA0BQWxsIG9mIHRoZSBnaXZlbiBjaGlsZCBrZXlzIG11c3QgYmUgcHJlc2VudCB1bmRlciBvbmUgYGNoaWxkX3Jvb3RgLgBVAVRoaXMgZG9lcyBub3QgYWZmZWN0IHRoZSBnbG9iYWwgbWlncmF0aW9uIHByb2Nlc3MgdHJhY2tlciAoW2BNaWdyYXRpb25Qcm9jZXNzYF0pLCBhbmT8c2hvdWxkIG9ubHkgYmUgdXNlZCBpbiBjYXNlIGFueSBrZXlzIGFyZSBsZWZ0b3ZlciBkdWUgdG8gYSBidWcuVHNldF9zaWduZWRfbWF4X2xpbWl0cwQBGGxpbWl0c60CATxNaWdyYXRpb25MaW1pdHMABAS4U2V0IHRoZSBtYXhpbXVtIGxpbWl0IG9mIHRoZSBzaWduZWQgbWlncmF0aW9uLkhmb3JjZV9zZXRfcHJvZ3Jlc3MIATBwcm9ncmVzc190b3C1AgE0UHJvZ3Jlc3NPZjxUPgABOHByb2dyZXNzX2NoaWxktQIBNFByb2dyZXNzT2Y8VD4ABSTIRm9yY2VmdWxseSBzZXQgdGhlIHByb2dyZXNzIHRoZSBydW5uaW5nIG1pZ3JhdGlvbi4AXQFUaGlzIGlzIG9ubHkgdXNlZnVsIGluIG9uZSBjYXNlOiB0aGUgbmV4dCBrZXkgdG8gbWlncmF0ZSBpcyB0b28gYmlnIHRvIGJlIG1pZ3JhdGVkIHdpdGhVAWEgc2lnbmVkIGFjY291bnQsIGluIGEgcGFyYWNoYWluIGNvbnRleHQsIGFuZCB3ZSBzaW1wbHkgd2FudCB0byBza2lwIGl0LiBBIHJlYXNvbmFibGVhAWV4YW1wbGUgb2YgdGhpcyB3b3VsZCBiZSBgOmNvZGU6YCwgd2hpY2ggaXMgYm90aCB2ZXJ5IGV4cGVuc2l2ZSB0byBtaWdyYXRlLCBhbmQgY29tbW9ubHmkdXNlZCwgc28gcHJvYmFibHkgaXQgaXMgYWxyZWFkeSBtaWdyYXRlZC4AXQFJbiBjYXNlIHlvdSBtZXNzIHRoaW5ncyB1cCwgeW91IGNhbiBhbHNvLCBpbiBwcmluY2lwbGUsIHVzZSB0aGlzIHRvIHJlc2V0IHRoZSBtaWdyYXRpb24gcHJvY2Vzcy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuqQIEGE9wdGlvbgQEVAGtAgEIEE5vbmUAAAAQU29tZQQArQIAAAEAAK0CDGxwYWxsZXRfc3RhdGVfdHJpZV9taWdyYXRpb24YcGFsbGV0PE1pZ3JhdGlvbkxpbWl0cwAACAEQc2l6ZRABDHUzMgABEGl0ZW0QAQx1MzIAALECDGxwYWxsZXRfc3RhdGVfdHJpZV9taWdyYXRpb24YcGFsbGV0NE1pZ3JhdGlvblRhc2sEBFQAABQBMHByb2dyZXNzX3RvcLUCATRQcm9ncmVzc09mPFQ+AAE4cHJvZ3Jlc3NfY2hpbGS1AgE0UHJvZ3Jlc3NPZjxUPgABEHNpemUQAQx1MzIAASR0b3BfaXRlbXMQAQx1MzIAASxjaGlsZF9pdGVtcxABDHUzMgAAtQIMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQgUHJvZ3Jlc3MEJE1heEtleUxlbgABDBxUb1N0YXJ0AAAAHExhc3RLZXkEALkCAWRCb3VuZGVkVmVjPHU4LCBNYXhLZXlMZW4+AAEAIENvbXBsZXRlAAIAALkCDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAvQIMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxhwYWxsZXQQQ2FsbAgEVAAESQABHBB2b3RlCAEocG9sbF9pbmRleFUBAURQb2xsSW5kZXhPZjxULCBJPgABEHZvdGUBAQFwQWNjb3VudFZvdGU8QmFsYW5jZU9mPFQsIEk+PgAAJBkBVm90ZSBpbiBhIHBvbGwuIElmIGB2b3RlLmlzX2F5ZSgpYCwgdGhlIHZvdGUgaXMgdG8gZW5hY3QgdGhlIHByb3Bvc2FsO7hvdGhlcndpc2UgaXQgaXMgYSB2b3RlIHRvIGtlZXAgdGhlIHN0YXR1cyBxdW8uAMhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgDILSBgcG9sbF9pbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcG9sbCB0byB2b3RlIGZvci6ELSBgdm90ZWA6IFRoZSB2b3RlIGNvbmZpZ3VyYXRpb24uABUBV2VpZ2h0OiBgTyhSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHBvbGxzIHRoZSB2b3RlciBoYXMgdm90ZWQgb24uIGRlbGVnYXRlEAEUY2xhc3PIATRDbGFzc09mPFQsIEk+AAEIdG8AAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKGNvbnZpY3Rpb27BAgEoQ29udmljdGlvbgABHGJhbGFuY2UYATxCYWxhbmNlT2Y8VCwgST4AAVxNAURlbGVnYXRlIHRoZSB2b3RpbmcgcG93ZXIgKHdpdGggc29tZSBnaXZlbiBjb252aWN0aW9uKSBvZiB0aGUgc2VuZGluZyBhY2NvdW50IGZvciBhaHBhcnRpY3VsYXIgY2xhc3Mgb2YgcG9sbHMuAFUBVGhlIGJhbGFuY2UgZGVsZWdhdGVkIGlzIGxvY2tlZCBmb3IgYXMgbG9uZyBhcyBpdCdzIGRlbGVnYXRlZCwgYW5kIHRoZXJlYWZ0ZXIgZm9yIHRoZch0aW1lIGFwcHJvcHJpYXRlIGZvciB0aGUgY29udmljdGlvbidzIGxvY2sgcGVyaW9kLgBdAVRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8sIGFuZCB0aGUgc2lnbmluZyBhY2NvdW50IG11c3QgZWl0aGVyOnQgIC0gYmUgZGVsZWdhdGluZyBhbHJlYWR5OyBvckUBICAtIGhhdmUgbm8gdm90aW5nIGFjdGl2aXR5IChpZiB0aGVyZSBpcywgdGhlbiBpdCB3aWxsIG5lZWQgdG8gYmUgcmVtb3ZlZCB0aHJvdWdoTCAgICBgcmVtb3ZlX3ZvdGVgKS4ARQEtIGB0b2A6IFRoZSBhY2NvdW50IHdob3NlIHZvdGluZyB0aGUgYHRhcmdldGAgYWNjb3VudCdzIHZvdGluZyBwb3dlciB3aWxsIGZvbGxvdy5dAS0gYGNsYXNzYDogVGhlIGNsYXNzIG9mIHBvbGxzIHRvIGRlbGVnYXRlLiBUbyBkZWxlZ2F0ZSBtdWx0aXBsZSBjbGFzc2VzLCBtdWx0aXBsZSBjYWxsc4AgIHRvIHRoaXMgZnVuY3Rpb24gYXJlIHJlcXVpcmVkLlUBLSBgY29udmljdGlvbmA6IFRoZSBjb252aWN0aW9uIHRoYXQgd2lsbCBiZSBhdHRhY2hlZCB0byB0aGUgZGVsZWdhdGVkIHZvdGVzLiBXaGVuIHRoZUEBICBhY2NvdW50IGlzIHVuZGVsZWdhdGVkLCB0aGUgZnVuZHMgd2lsbCBiZSBsb2NrZWQgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHBlcmlvZC5hAS0gYGJhbGFuY2VgOiBUaGUgYW1vdW50IG9mIHRoZSBhY2NvdW50J3MgYmFsYW5jZSB0byBiZSB1c2VkIGluIGRlbGVnYXRpbmcuIFRoaXMgbXVzdCBub3S0ICBiZSBtb3JlIHRoYW4gdGhlIGFjY291bnQncyBjdXJyZW50IGJhbGFuY2UuAEhFbWl0cyBgRGVsZWdhdGVkYC4AJQFXZWlnaHQ6IGBPKFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcG9sbHMgdGhlIHZvdGVyIGRlbGVnYXRpbmcgdG8gaGFzTQEgIHZvdGVkIG9uLiBXZWlnaHQgaXMgaW5pdGlhbGx5IGNoYXJnZWQgYXMgaWYgbWF4aW11bSB2b3RlcywgYnV0IGlzIHJlZnVuZGVkIGxhdGVyLih1bmRlbGVnYXRlBAEUY2xhc3PIATRDbGFzc09mPFQsIEk+AAI4TQFVbmRlbGVnYXRlIHRoZSB2b3RpbmcgcG93ZXIgb2YgdGhlIHNlbmRpbmcgYWNjb3VudCBmb3IgYSBwYXJ0aWN1bGFyIGNsYXNzIG9mIHBvbGxzLgBdAVRva2VucyBtYXkgYmUgdW5sb2NrZWQgZm9sbG93aW5nIG9uY2UgYW4gYW1vdW50IG9mIHRpbWUgY29uc2lzdGVudCB3aXRoIHRoZSBsb2NrIHBlcmlvZAkBb2YgdGhlIGNvbnZpY3Rpb24gd2l0aCB3aGljaCB0aGUgZGVsZWdhdGlvbiB3YXMgaXNzdWVkIGhhcyBwYXNzZWQuAEUBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGJlVGN1cnJlbnRseSBkZWxlZ2F0aW5nLgDwLSBgY2xhc3NgOiBUaGUgY2xhc3Mgb2YgcG9sbHMgdG8gcmVtb3ZlIHRoZSBkZWxlZ2F0aW9uIGZyb20uAFBFbWl0cyBgVW5kZWxlZ2F0ZWRgLgAlAVdlaWdodDogYE8oUilgIHdoZXJlIFIgaXMgdGhlIG51bWJlciBvZiBwb2xscyB0aGUgdm90ZXIgZGVsZWdhdGluZyB0byBoYXNNASAgdm90ZWQgb24uIFdlaWdodCBpcyBpbml0aWFsbHkgY2hhcmdlZCBhcyBpZiBtYXhpbXVtIHZvdGVzLCBidXQgaXMgcmVmdW5kZWQgbGF0ZXIuGHVubG9jawgBFGNsYXNzyAE0Q2xhc3NPZjxULCBJPgABGHRhcmdldAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAMkXQFSZW1vdmUgdGhlIGxvY2sgY2F1c2VkIGJ5IHByaW9yIHZvdGluZy9kZWxlZ2F0aW5nIHdoaWNoIGhhcyBleHBpcmVkIHdpdGhpbiBhIHBhcnRpY3VsYXIYY2xhc3MuAMhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgCgLSBgY2xhc3NgOiBUaGUgY2xhc3Mgb2YgcG9sbHMgdG8gdW5sb2NrLrgtIGB0YXJnZXRgOiBUaGUgYWNjb3VudCB0byByZW1vdmUgdGhlIGxvY2sgb24uALxXZWlnaHQ6IGBPKFIpYCB3aXRoIFIgbnVtYmVyIG9mIHZvdGUgb2YgdGFyZ2V0LixyZW1vdmVfdm90ZQgBFGNsYXNzxQIBVE9wdGlvbjxDbGFzc09mPFQsIEk+PgABFGluZGV4EAFEUG9sbEluZGV4T2Y8VCwgST4ABHRkUmVtb3ZlIGEgdm90ZSBmb3IgYSBwb2xsLgAMSWY6cC0gdGhlIHBvbGwgd2FzIGNhbmNlbGxlZCwgb3JkLSB0aGUgcG9sbCBpcyBvbmdvaW5nLCBvcngtIHRoZSBwb2xsIGhhcyBlbmRlZCBzdWNoIHRoYXT8ICAtIHRoZSB2b3RlIG9mIHRoZSBhY2NvdW50IHdhcyBpbiBvcHBvc2l0aW9uIHRvIHRoZSByZXN1bHQ7IG9y1CAgLSB0aGVyZSB3YXMgbm8gY29udmljdGlvbiB0byB0aGUgYWNjb3VudCdzIHZvdGU7IG9yhCAgLSB0aGUgYWNjb3VudCBtYWRlIGEgc3BsaXQgdm90ZV0BLi4udGhlbiB0aGUgdm90ZSBpcyByZW1vdmVkIGNsZWFubHkgYW5kIGEgZm9sbG93aW5nIGNhbGwgdG8gYHVubG9ja2AgbWF5IHJlc3VsdCBpbiBtb3JlWGZ1bmRzIGJlaW5nIGF2YWlsYWJsZS4AkElmLCBob3dldmVyLCB0aGUgcG9sbCBoYXMgZW5kZWQgYW5kOuwtIGl0IGZpbmlzaGVkIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHZvdGUgb2YgdGhlIGFjY291bnQsIGFuZNwtIHRoZSBhY2NvdW50IG1hZGUgYSBzdGFuZGFyZCB2b3RlIHdpdGggY29udmljdGlvbiwgYW5kvC0gdGhlIGxvY2sgcGVyaW9kIG9mIHRoZSBjb252aWN0aW9uIGlzIG5vdCBvdmVyWQEuLi50aGVuIHRoZSBsb2NrIHdpbGwgYmUgYWdncmVnYXRlZCBpbnRvIHRoZSBvdmVyYWxsIGFjY291bnQncyBsb2NrLCB3aGljaCBtYXkgaW52b2x2ZVkBKm92ZXJsb2NraW5nKiAod2hlcmUgdGhlIHR3byBsb2NrcyBhcmUgY29tYmluZWQgaW50byBhIHNpbmdsZSBsb2NrIHRoYXQgaXMgdGhlIG1heGltdW3kb2YgYm90aCB0aGUgYW1vdW50IGxvY2tlZCBhbmQgdGhlIHRpbWUgaXMgaXQgbG9ja2VkIGZvcikuAEkBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXywgYW5kIHRoZSBzaWduZXIgbXVzdCBoYXZlIGEgdm90ZXByZWdpc3RlcmVkIGZvciBwb2xsIGBpbmRleGAuANwtIGBpbmRleGA6IFRoZSBpbmRleCBvZiBwb2xsIG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQuVQEtIGBjbGFzc2A6IE9wdGlvbmFsIHBhcmFtZXRlciwgaWYgZ2l2ZW4gaXQgaW5kaWNhdGVzIHRoZSBjbGFzcyBvZiB0aGUgcG9sbC4gRm9yIHBvbGxz8CAgd2hpY2ggaGF2ZSBmaW5pc2hlZCBvciBhcmUgY2FuY2VsbGVkLCB0aGlzIG11c3QgYmUgYFNvbWVgLgBFAVdlaWdodDogYE8oUiArIGxvZyBSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHBvbGxzIHRoYXQgYHRhcmdldGAgaGFzIHZvdGVkIG9uLtggIFdlaWdodCBpcyBjYWxjdWxhdGVkIGZvciB0aGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZS5EcmVtb3ZlX290aGVyX3ZvdGUMARh0YXJnZXQAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFGNsYXNzyAE0Q2xhc3NPZjxULCBJPgABFGluZGV4EAFEUG9sbEluZGV4T2Y8VCwgST4ABUBkUmVtb3ZlIGEgdm90ZSBmb3IgYSBwb2xsLgBNAUlmIHRoZSBgdGFyZ2V0YCBpcyBlcXVhbCB0byB0aGUgc2lnbmVyLCB0aGVuIHRoaXMgZnVuY3Rpb24gaXMgZXhhY3RseSBlcXVpdmFsZW50IHRvLQFgcmVtb3ZlX3ZvdGVgLiBJZiBub3QgZXF1YWwgdG8gdGhlIHNpZ25lciwgdGhlbiB0aGUgdm90ZSBtdXN0IGhhdmUgZXhwaXJlZCwlAWVpdGhlciBiZWNhdXNlIHRoZSBwb2xsIHdhcyBjYW5jZWxsZWQsIGJlY2F1c2UgdGhlIHZvdGVyIGxvc3QgdGhlIHBvbGwgb3KYYmVjYXVzZSB0aGUgY29udmljdGlvbiBwZXJpb2QgaXMgb3Zlci4AyFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAGEBLSBgdGFyZ2V0YDogVGhlIGFjY291bnQgb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZDsgdGhpcyBhY2NvdW50IG11c3QgaGF2ZSB2b3RlZCBmb3IgcG9sbCggIGBpbmRleGAu3C0gYGluZGV4YDogVGhlIGluZGV4IG9mIHBvbGwgb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZC6ELSBgY2xhc3NgOiBUaGUgY2xhc3Mgb2YgdGhlIHBvbGwuAEUBV2VpZ2h0OiBgTyhSICsgbG9nIFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcG9sbHMgdGhhdCBgdGFyZ2V0YCBoYXMgdm90ZWQgb24u2CAgV2VpZ2h0IGlzIGNhbGN1bGF0ZWQgZm9yIHRoZSBtYXhpbXVtIG51bWJlciBvZiB2b3RlLkRmb3JjZV9yZW1vdmVfdm90ZQwBGHRhcmdldAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEUY2xhc3PIATRDbGFzc09mPFQsIEk+AAEUaW5kZXgQAURQb2xsSW5kZXhPZjxULCBJPgATOLhBbGxvdyB0byBmb3JjZSByZW1vdmUgYSB2b3RlIGZvciBhIHJlZmVyZW5kdW0uAPRUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBWb3RlUmVtb3ZhbE9yaWdpbmAuAKxPbmx5IGFsbG93ZWQgaWYgdGhlIHJlZmVyZW5kdW0gaXMgZmluaXNoZWQuAMhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBNAS0gYHRhcmdldGA6IFRoZSBhY2NvdW50IG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQ7IHRoaXMgYWNjb3VudCBtdXN0IGhhdmUgdm90ZWQgZm9yVCAgcmVmZXJlbmR1bSBgaW5kZXhgLvQtIGBpbmRleGA6IFRoZSBpbmRleCBvZiByZWZlcmVuZHVtIG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQuAFUBV2VpZ2h0OiBgTyhSICsgbG9nIFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcmVmZXJlbmRhIHRoYXQgYHRhcmdldGAgaGFzIHZvdGVkIG9uLtggIFdlaWdodCBpcyBjYWxjdWxhdGVkIGZvciB0aGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuwQIMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZyhjb252aWN0aW9uKENvbnZpY3Rpb24AARwQTm9uZQAAACBMb2NrZWQxeAABACBMb2NrZWQyeAACACBMb2NrZWQzeAADACBMb2NrZWQ0eAAEACBMb2NrZWQ1eAAFACBMb2NrZWQ2eAAGAADFAgQYT3B0aW9uBARUAcgBCBBOb25lAAAAEFNvbWUEAMgAAAEAAMkCDEBwYWxsZXRfcmVmZXJlbmRhGHBhbGxldBBDYWxsCARUAARJAAEkGHN1Ym1pdAwBPHByb3Bvc2FsX29yaWdpbmUBAVxCb3g8UGFsbGV0c09yaWdpbk9mPFQ+PgABIHByb3Bvc2FsDQEBTEJvdW5kZWRDYWxsT2Y8VCwgST4AAUBlbmFjdG1lbnRfbW9tZW50zQIBfERpc3BhdGNoVGltZTxCbG9ja051bWJlckZvcjxUPj4AACSwUHJvcG9zZSBhIHJlZmVyZW5kdW0gb24gYSBwcml2aWxlZ2VkIGFjdGlvbi4AWQEtIGBvcmlnaW5gOiBtdXN0IGJlIGBTdWJtaXRPcmlnaW5gIGFuZCB0aGUgYWNjb3VudCBtdXN0IGhhdmUgYFN1Ym1pc3Npb25EZXBvc2l0YCBmdW5kczAgIGF2YWlsYWJsZS4tAS0gYHByb3Bvc2FsX29yaWdpbmA6IFRoZSBvcmlnaW4gZnJvbSB3aGljaCB0aGUgcHJvcG9zYWwgc2hvdWxkIGJlIGV4ZWN1dGVkLmwtIGBwcm9wb3NhbGA6IFRoZSBwcm9wb3NhbC4VAS0gYGVuYWN0bWVudF9tb21lbnRgOiBUaGUgbW9tZW50IHRoYXQgdGhlIHByb3Bvc2FsIHNob3VsZCBiZSBlbmFjdGVkLgBIRW1pdHMgYFN1Ym1pdHRlZGAuWHBsYWNlX2RlY2lzaW9uX2RlcG9zaXQEARRpbmRleBABPFJlZmVyZW5kdW1JbmRleAABIKxQb3N0IHRoZSBEZWNpc2lvbiBEZXBvc2l0IGZvciBhIHJlZmVyZW5kdW0uADkBLSBgb3JpZ2luYDogbXVzdCBiZSBgU2lnbmVkYCBhbmQgdGhlIGFjY291bnQgbXVzdCBoYXZlIGZ1bmRzIGF2YWlsYWJsZSBmb3IgdGhloCAgcmVmZXJlbmR1bSdzIHRyYWNrJ3MgRGVjaXNpb24gRGVwb3NpdC5RAS0gYGluZGV4YDogVGhlIGluZGV4IG9mIHRoZSBzdWJtaXR0ZWQgcmVmZXJlbmR1bSB3aG9zZSBEZWNpc2lvbiBEZXBvc2l0IGlzIHlldCB0byBiZSQgIHBvc3RlZC4AeEVtaXRzIGBEZWNpc2lvbkRlcG9zaXRQbGFjZWRgLlxyZWZ1bmRfZGVjaXNpb25fZGVwb3NpdAQBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AAIcKQFSZWZ1bmQgdGhlIERlY2lzaW9uIERlcG9zaXQgZm9yIGEgY2xvc2VkIHJlZmVyZW5kdW0gYmFjayB0byB0aGUgZGVwb3NpdG9yLgCcLSBgb3JpZ2luYDogbXVzdCBiZSBgU2lnbmVkYCBvciBgUm9vdGAuTQEtIGBpbmRleGA6IFRoZSBpbmRleCBvZiBhIGNsb3NlZCByZWZlcmVuZHVtIHdob3NlIERlY2lzaW9uIERlcG9zaXQgaGFzIG5vdCB5ZXQgYmVlbiwgIHJlZnVuZGVkLgCARW1pdHMgYERlY2lzaW9uRGVwb3NpdFJlZnVuZGVkYC4YY2FuY2VsBAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgAAxh0Q2FuY2VsIGFuIG9uZ29pbmcgcmVmZXJlbmR1bS4AnC0gYG9yaWdpbmA6IG11c3QgYmUgdGhlIGBDYW5jZWxPcmlnaW5gLtwtIGBpbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVmZXJlbmR1bSB0byBiZSBjYW5jZWxsZWQuAEhFbWl0cyBgQ2FuY2VsbGVkYC4Qa2lsbAQBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AAQY0ENhbmNlbCBhbiBvbmdvaW5nIHJlZmVyZW5kdW0gYW5kIHNsYXNoIHRoZSBkZXBvc2l0cy4AlC0gYG9yaWdpbmA6IG11c3QgYmUgdGhlIGBLaWxsT3JpZ2luYC7cLSBgaW5kZXhgOiBUaGUgaW5kZXggb2YgdGhlIHJlZmVyZW5kdW0gdG8gYmUgY2FuY2VsbGVkLgCQRW1pdHMgYEtpbGxlZGAgYW5kIGBEZXBvc2l0U2xhc2hlZGAuQG51ZGdlX3JlZmVyZW5kdW0EARRpbmRleBABPFJlZmVyZW5kdW1JbmRleAAFEB0BQWR2YW5jZSBhIHJlZmVyZW5kdW0gb250byBpdHMgbmV4dCBsb2dpY2FsIHN0YXRlLiBPbmx5IHVzZWQgaW50ZXJuYWxseS4AbC0gYG9yaWdpbmA6IG11c3QgYmUgYFJvb3RgLqQtIGBpbmRleGA6IHRoZSByZWZlcmVuZHVtIHRvIGJlIGFkdmFuY2VkLkhvbmVfZmV3ZXJfZGVjaWRpbmcEARR0cmFja8gBPFRyYWNrSWRPZjxULCBJPgAGJAkBQWR2YW5jZSBhIHRyYWNrIG9udG8gaXRzIG5leHQgbG9naWNhbCBzdGF0ZS4gT25seSB1c2VkIGludGVybmFsbHkuAGwtIGBvcmlnaW5gOiBtdXN0IGJlIGBSb290YC6QLSBgdHJhY2tgOiB0aGUgdHJhY2sgdG8gYmUgYWR2YW5jZWQuAFEBQWN0aW9uIGl0ZW0gZm9yIHdoZW4gdGhlcmUgaXMgbm93IG9uZSBmZXdlciByZWZlcmVuZHVtIGluIHRoZSBkZWNpZGluZyBwaGFzZSBhbmQgdGhlFQFgRGVjaWRpbmdDb3VudGAgaXMgbm90IHlldCB1cGRhdGVkLiBUaGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIGVpdGhlcjolAS0gYmVnaW4gZGVjaWRpbmcgYW5vdGhlciByZWZlcmVuZHVtIChhbmQgbGVhdmUgYERlY2lkaW5nQ291bnRgIGFsb25lKTsgb3JwLSBkZWNyZW1lbnQgYERlY2lkaW5nQ291bnRgLmRyZWZ1bmRfc3VibWlzc2lvbl9kZXBvc2l0BAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgABxwxAVJlZnVuZCB0aGUgU3VibWlzc2lvbiBEZXBvc2l0IGZvciBhIGNsb3NlZCByZWZlcmVuZHVtIGJhY2sgdG8gdGhlIGRlcG9zaXRvci4AnC0gYG9yaWdpbmA6IG11c3QgYmUgYFNpZ25lZGAgb3IgYFJvb3RgLlUBLSBgaW5kZXhgOiBUaGUgaW5kZXggb2YgYSBjbG9zZWQgcmVmZXJlbmR1bSB3aG9zZSBTdWJtaXNzaW9uIERlcG9zaXQgaGFzIG5vdCB5ZXQgYmVlbiwgIHJlZnVuZGVkLgCIRW1pdHMgYFN1Ym1pc3Npb25EZXBvc2l0UmVmdW5kZWRgLjBzZXRfbWV0YWRhdGEIARRpbmRleBABPFJlZmVyZW5kdW1JbmRleAABKG1heWJlX2hhc2iFAgE8T3B0aW9uPFQ6Okhhc2g+AAgcmFNldCBvciBjbGVhciBtZXRhZGF0YSBvZiBhIHJlZmVyZW5kdW0uACxQYXJhbWV0ZXJzOkUBLSBgb3JpZ2luYDogTXVzdCBiZSBgU2lnbmVkYCBieSBhIGNyZWF0b3Igb2YgYSByZWZlcmVuZHVtIG9yIGJ5IGFueW9uZSB0byBjbGVhciBhkCAgbWV0YWRhdGEgb2YgYSBmaW5pc2hlZCByZWZlcmVuZHVtLg0BLSBgaW5kZXhgOiAgVGhlIGluZGV4IG9mIGEgcmVmZXJlbmR1bSB0byBzZXQgb3IgY2xlYXIgbWV0YWRhdGEgZm9yLlEBLSBgbWF5YmVfaGFzaGA6IFRoZSBoYXNoIG9mIGFuIG9uLWNoYWluIHN0b3JlZCBwcmVpbWFnZS4gYE5vbmVgIHRvIGNsZWFyIGEgbWV0YWRhdGEuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLs0CEDRmcmFtZV9zdXBwb3J0GHRyYWl0cyBzY2hlZHVsZTBEaXNwYXRjaFRpbWUELEJsb2NrTnVtYmVyARABCAhBdAQAEAEsQmxvY2tOdW1iZXIAAAAUQWZ0ZXIEABABLEJsb2NrTnVtYmVyAAEAANECDEBwYWxsZXRfd2hpdGVsaXN0GHBhbGxldBBDYWxsBARUAAEQOHdoaXRlbGlzdF9jYWxsBAEkY2FsbF9oYXNoNAEcVDo6SGFzaAAAAFxyZW1vdmVfd2hpdGVsaXN0ZWRfY2FsbAQBJGNhbGxfaGFzaDQBHFQ6Okhhc2gAAQBkZGlzcGF0Y2hfd2hpdGVsaXN0ZWRfY2FsbAwBJGNhbGxfaGFzaDQBHFQ6Okhhc2gAAUBjYWxsX2VuY29kZWRfbGVuEAEMdTMyAAFMY2FsbF93ZWlnaHRfd2l0bmVzcygBGFdlaWdodAACAJxkaXNwYXRjaF93aGl0ZWxpc3RlZF9jYWxsX3dpdGhfcHJlaW1hZ2UEARBjYWxsEQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AAwAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMu1QIMRHBhbGxldF9kaXNwYXRjaGVyGHBhbGxldBBDYWxsBARUAAEUUGRpc3BhdGNoX2FzX3RyZWFzdXJ5BAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAAAYGRpc3BhdGNoX2FzX2FhdmVfbWFuYWdlcgQBEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgABAERub3RlX2FhdmVfbWFuYWdlcgQBHGFjY291bnQAATBUOjpBY2NvdW50SWQAAhglAVNldHMgdGhlIEFhdmUgbWFuYWdlciBhY2NvdW50IHRvIGJlIHVzZWQgYXMgb3JpZ2luIGZvciBkaXNwYXRjaGluZyBjYWxscy4AyFRoaXMgZG9lc24ndCBhY3R1YWxseSBjaGFuZ2VzIGFueSBBQ0wgaW4gdGhlIHBvb2wuAFUBVGhpcyBpcyBpbnRlbnRlZCB0byBiZSBtYWlubHkgdXNlZCBpbiB0ZXN0bmV0IGVudmlyb25tZW50cywgd2hlcmUgdGhlIG1hbmFnZXIgYWNjb3VudERjYW4gYmUgZGlmZmVyZW50LlxkaXNwYXRjaF93aXRoX2V4dHJhX2dhcwgBEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgABJGV4dHJhX2dhczABDHU2NAADEHxEaXNwYXRjaCBhIGNhbGwgd2l0aCBleHRyYSBnYXMuAPxUaGlzIGFsbG93cyBleGVjdXRpbmcgY2FsbHMgd2l0aCBhZGRpdGlvbmFsIHdlaWdodCAoZ2FzKSBsaW1pdC7AVGhlIGV4dHJhIGdhcyBpcyBub3QgcmVmdW5kZWQsIGV2ZW4gaWYgbm90IHVzZWQuRGRpc3BhdGNoX2V2bV9jYWxsBAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAQkaEV4ZWN1dGUgYSBzaW5nbGUgRVZNIGNhbGwu9QFUaGlzIGV4dHJpbnNpYyB3aWxsIGZhaWwgaWYgdGhlIEVWTSBjYWxsIHJldHVybnMgYW55IG90aGVyIEV4aXRSZWFzb24gdGhhbiBgRXhpdFN1Y2NlZWQoUmV0dXJuZWQpYCBvciBgRXhpdFN1Y2NlZWQoU3RvcHBlZClgLj0BTG9vayB0aGUgW2h5ZHJhZHhfcnVudGltZTo6ZXZtOjpydW5uZXI6OldyYXBSdW5uZXJdIGltcGxlbWVudGF0aW9uIGZvciBkZXRhaWxzLgAsUGFyYW1ldGVyczpoLSBgb3JpZ2luYDogU2lnbmVkIG9yaWdpbi4VAS0gYGNhbGxgOiBwcmVzdW1hYmx5IGBwYWxsZXRfZXZtOjpDYWxsOjpjYWxsYCBhcyBib3hlZCBgUnVudGltZUNhbGxgLgCgRW1pdHMgYEV2bUNhbGxGYWlsZWRgIGV2ZW50IHdoZW4gZmFpbGVkLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7ZAgxUcGFsbGV0X2Fzc2V0X3JlZ2lzdHJ5GHBhbGxldBBDYWxsBARUAAEUIHJlZ2lzdGVyJAEgYXNzZXRfaWRZAQFIT3B0aW9uPFQ6OkFzc2V0SWQ+AAEQbmFtZd0CAXBPcHRpb248TmFtZTxUOjpTdHJpbmdMaW1pdD4+AAEoYXNzZXRfdHlwZeUCASRBc3NldFR5cGUAAUxleGlzdGVudGlhbF9kZXBvc2l04AE8T3B0aW9uPEJhbGFuY2U+AAEYc3ltYm9s3QIBeE9wdGlvbjxTeW1ib2w8VDo6U3RyaW5nTGltaXQ+PgABIGRlY2ltYWxz6QIBKE9wdGlvbjx1OD4AASBsb2NhdGlvbu0CAXhPcHRpb248VDo6QXNzZXROYXRpdmVMb2NhdGlvbj4AATh4Y21fcmF0ZV9saW1pdOABPE9wdGlvbjxCYWxhbmNlPgABNGlzX3N1ZmZpY2llbnQgARBib29sAAAwVFJlZ2lzdGVyIGEgbmV3IGFzc2V0LgDYTmV3IGFzc2V0IGlzIGdpdmVuIGBOZXh0QXNzZXRJZGAgLSBzZXF1ZW50aWFsIGFzc2V0IGlkADkBQXNzZXQncyBpZCBpcyBvcHRpb25hbCBhbmQgaXQgY2FuJ3QgYmUgdXNlZCBieSBhbm90aGVyIGFzc2V0IGlmIGl0J3MgcHJvdmlkZWQu3FByb3ZpZGVkIGBhc3NldF9pZGAgbXVzdCBiZSBmcm9tIHdpdGhpbiByZXNlcnZlZCByYW5nZS4JAUlmIGBhc3NldF9pZGAgaXMgYE5vbmVgLCBuZXcgYXNzZXQgaXMgZ2l2ZW4gaWQgZm9yIHNlcXVlbnRpYWwgaWRzLgBBAUFzc2V0J3MgbmFtZSBpcyBvcHRpb25hbCBhbmQgaXQgY2FuJ3QgYmUgdXNlZCBieSBhbm90aGVyIGFzc2V0IGlmIGl0J3MgcHJvdmlkZWQuWQJBZGRzIG1hcHBpbmcgYmV0d2VlbiBgbmFtZWAgYW5kIGFzc2lnbmVkIGBhc3NldF9pZGAgc28gYXNzZXQgaWQgY2FuIGJlIHJldHJpZXZlZCBieSBuYW1lIHRvbyAoTm90ZTogdGhpcyBhcHByb2FjaCBpcyB1c2VkIGluIEFNTSBpbXBsZW1lbnRhdGlvbiAoeHlrKSkApEVtaXRzICdSZWdpc3RlcmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuGHVwZGF0ZSQBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABEG5hbWXdAgFwT3B0aW9uPE5hbWU8VDo6U3RyaW5nTGltaXQ+PgABKGFzc2V0X3R5cGUJAwFET3B0aW9uPEFzc2V0VHlwZT4AAUxleGlzdGVudGlhbF9kZXBvc2l04AE8T3B0aW9uPEJhbGFuY2U+AAE4eGNtX3JhdGVfbGltaXTgATxPcHRpb248QmFsYW5jZT4AATRpc19zdWZmaWNpZW50DQMBME9wdGlvbjxib29sPgABGHN5bWJvbN0CAXhPcHRpb248U3ltYm9sPFQ6OlN0cmluZ0xpbWl0Pj4AASBkZWNpbWFsc+kCAShPcHRpb248dTg+AAEgbG9jYXRpb27tAgF4T3B0aW9uPFQ6OkFzc2V0TmF0aXZlTG9jYXRpb24+AAEoYFVwZGF0ZSByZWdpc3RlcmVkIGFzc2V0LgAlAUFsbCBwYXJhbWV0ZXJlcyBhcmUgb3B0aW9uYWwgYW5kIHZhbHVlIGlzIG5vdCB1cGRhdGVkIGlmIHBhcmFtIGlzIGBOb25lYC4AMQFgZGVjaW1hbHNgIC0gY2FuIGJlIHVwZGF0ZSBieSBgVXBkYXRlT3JpZ2luYCBvbmx5IGlmIGl0IHdhc24ndCBzZXQgeWV0LiBPbmx5AQFgUmVnaXN0cnlPcmlnaW5gIGNhbiB1cGRhdGUgYGRlY2ltYWxzYCBpZiBpdCB3YXMgcHJldmlvdXNseSBzZXQuANRgbG9jYXRpb25gIC0gY2FuIGJlIHVwZGF0ZWQgb25seSBieSBgUmVnaXN0cnlPcmlnaW5gLgCYRW1pdHMgYFVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5EcmVnaXN0ZXJfZXh0ZXJuYWwEASBsb2NhdGlvbvECAVhUOjpBc3NldE5hdGl2ZUxvY2F0aW9uAAQAJGJhbl9hc3NldAQBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAAFACx1bmJhbl9hc3NldAQBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAAGAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7dAgQYT3B0aW9uBARUAeECAQgQTm9uZQAAABBTb21lBADhAgAAAQAA4QIMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AADlAgxUcGFsbGV0X2Fzc2V0X3JlZ2lzdHJ5FHR5cGVzJEFzc2V0VHlwZQABGBRUb2tlbgAAAAxYWUsAAQAoU3RhYmxlU3dhcAACABBCb25kAAMAIEV4dGVybmFsAAQAFEVyYzIwAAUAAOkCBBhPcHRpb24EBFQBCAEIEE5vbmUAAAAQU29tZQQACAAAAQAA7QIEGE9wdGlvbgQEVAHxAgEIEE5vbmUAAAAQU29tZQQA8QIAAAEAAPECDDxoeWRyYWR4X3J1bnRpbWUMeGNtNEFzc2V0TG9jYXRpb24AAAQA9QIBaHBvbGthZG90X3hjbTo6djM6OkxvY2F0aW9uAAD1AhAsc3RhZ2luZ194Y20IdjM0bXVsdGlsb2NhdGlvbjRNdWx0aUxvY2F0aW9uAAAIARxwYXJlbnRzCAEIdTgAASBpbnRlcmlvcvkCASRKdW5jdGlvbnMAAPkCEAx4Y20IdjMkanVuY3Rpb25zJEp1bmN0aW9ucwABJBBIZXJlAAAACFgxBAD9AgEgSnVuY3Rpb24AAQAIWDIIAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAIACFgzDAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAMACFg0EAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24ABAAIWDUUAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAUACFg2GAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAYACFg3HAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24ABwAIWDggAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAD9AgEgSnVuY3Rpb24AAP0CASBKdW5jdGlvbgAA/QIBIEp1bmN0aW9uAAgAAP0CEAx4Y20IdjMganVuY3Rpb24gSnVuY3Rpb24AASgkUGFyYWNoYWluBABVAQEMdTMyAAAALEFjY291bnRJZDMyCAEcbmV0d29yawEDAURPcHRpb248TmV0d29ya0lkPgABCGlkBAEgW3U4OyAzMl0AAQA4QWNjb3VudEluZGV4NjQIARxuZXR3b3JrAQMBRE9wdGlvbjxOZXR3b3JrSWQ+AAEUaW5kZXgsAQx1NjQAAgAwQWNjb3VudEtleTIwCAEcbmV0d29yawEDAURPcHRpb248TmV0d29ya0lkPgABDGtleUUBASBbdTg7IDIwXQADADhQYWxsZXRJbnN0YW5jZQQACAEIdTgABAAwR2VuZXJhbEluZGV4BAAtAQEQdTEyOAAFAChHZW5lcmFsS2V5CAEYbGVuZ3RoCAEIdTgAARBkYXRhBAEgW3U4OyAzMl0ABgAkT25seUNoaWxkAAcAJFBsdXJhbGl0eQgBCGlklQEBGEJvZHlJZAABEHBhcnSZAQEgQm9keVBhcnQACAA8R2xvYmFsQ29uc2Vuc3VzBAAFAwEkTmV0d29ya0lkAAkAAAEDBBhPcHRpb24EBFQBBQMBCBBOb25lAAAAEFNvbWUEAAUDAAABAAAFAxAMeGNtCHYzIGp1bmN0aW9uJE5ldHdvcmtJZAABLCRCeUdlbmVzaXMEAAQBIFt1ODsgMzJdAAAAGEJ5Rm9yawgBMGJsb2NrX251bWJlcjABDHU2NAABKGJsb2NrX2hhc2gEASBbdTg7IDMyXQABACBQb2xrYWRvdAACABhLdXNhbWEAAwAcV2VzdGVuZAAEABhSb2NvY28ABQAYV29jb2NvAAYAIEV0aGVyZXVtBAEgY2hhaW5faWQsAQx1NjQABwAsQml0Y29pbkNvcmUACAAsQml0Y29pbkNhc2gACQBAUG9sa2Fkb3RCdWxsZXRpbgAKAAAJAwQYT3B0aW9uBARUAeUCAQgQTm9uZQAAABBTb21lBADlAgAAAQAADQMEGE9wdGlvbgQEVAEgAQgQTm9uZQAAABBTb21lBAAgAAABAAARAww0cGFsbGV0X2NsYWltcxhwYWxsZXQQQ2FsbAQEVAABBBRjbGFpbQQBSGV0aGVyZXVtX3NpZ25hdHVyZRUDAThFY2RzYVNpZ25hdHVyZQAABPRDbGFpbSB4SERYIGJ5IHByb3ZpZGluZyBzaWduZWQgbWVzc2FnZSB3aXRoIEV0aGVyZXVtIGFkZHJlc3MuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLhUDDDRwYWxsZXRfY2xhaW1zGHRyYWl0czhFY2RzYVNpZ25hdHVyZQAABAB5AgEgW3U4OyA2NV0AABkDDFhwYWxsZXRfZ2VuZXNpc19oaXN0b3J5GHBhbGxldBBDYWxsBARUAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLh0DDDxwYWxsZXRfb21uaXBvb2wYcGFsbGV0EENhbGwEBFQAATQkYWRkX3Rva2VuEAEUYXNzZXQQAShUOjpBc3NldElkAAE0aW5pdGlhbF9wcmljZT0BARRQcmljZQABKHdlaWdodF9jYXAhAwEcUGVybWlsbAABOHBvc2l0aW9uX293bmVyAAEwVDo6QWNjb3VudElkAAFAHQFBZGQgbmV3IHRva2VuIHRvIG9tbmlwb29sIGluIHF1YW50aXR5IGBhbW91bnRgIGF0IHByaWNlIGBpbml0aWFsX3ByaWNlYADFAUluaXRpYWwgbGlxdWlkaXR5IG11c3QgYmUgdHJhbnNmZXJyZWQgdG8gcG9vbCdzIGFjY291bnQgZm9yIHRoaXMgbmV3IHRva2VuIG1hbnVhbGx5IHByaW9yIHRvIGNhbGxpbmcgYGFkZF90b2tlbmAuAORJbml0aWFsIGxpcXVpZGl0eSBpcyBwb29sJ3MgYWNjb3VudCBiYWxhbmNlIG9mIHRoZSB0b2tlbi4AyFBvc2l0aW9uIE5GVCB0b2tlbiBpcyBtaW50ZWQgZm9yIGBwb3NpdGlvbl9vd25lcmAuACxQYXJhbWV0ZXJzOokBLSBgYXNzZXRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgbmV3IGFzc2V0IGFkZGVkIHRvIHRoZSBwb29sLiBNdXN0IGJlIHJlZ2lzdGVyZWQgaW4gQXNzZXQgcmVnaXN0cnmALSBgaW5pdGlhbF9wcmljZWA6IEluaXRpYWwgcHJpY2U1AS0gYHBvc2l0aW9uX293bmVyYDogYWNjb3VudCBpZCBmb3Igd2hpY2ggc2hhcmUgYXJlIGRpc3RyaWJ1dGVkIGluIGZvcm0gb24gTkZUgC0gYHdlaWdodF9jYXBgOiBhc3NldCB3ZWlnaHQgY2FwAKRFbWl0cyBgVG9rZW5BZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgA0YWRkX2xpcXVpZGl0eQgBFGFzc2V0EAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAAlD8QWRkIGxpcXVpZGl0eSBvZiBhc3NldCBgYXNzZXRgIGluIHF1YW50aXR5IGBhbW91bnRgIHRvIE9tbmlwb29sAGEBYGFkZF9saXF1aWRpdHlgIGFkZHMgc3BlY2lmaWVkIGFzc2V0IGFtb3VudCB0byBPbW5pcG9vbCBhbmQgaW4gZXhjaGFuZ2UgZ2l2ZXMgdGhlIG9yaWdpbvBjb3JyZXNwb25kaW5nIHNoYXJlcyBhbW91bnQgaW4gZm9ybSBvZiBORlQgYXQgY3VycmVudCBwcmljZS4AhQFBc3NldCdzIHRyYWRhYmxlIHN0YXRlIG11c3QgY29udGFpbiBBRERfTElRVUlESVRZIGZsYWcsIG90aGVyd2lzZSBgTm90QWxsb3dlZGAgZXJyb3IgaXMgcmV0dXJuZWQuAGEBTkZUIGlzIG1pbnRlZCB1c2luZyBOVEZIYW5kbGVyIHdoaWNoIGltcGxlbWVudHMgbm9uLWZ1bmdpYmxlcyB0cmFpdHMgZnJvbSBmcmFtZV9zdXBwb3J0LgBZAUFzc2V0IHdlaWdodCBjYXAgbXVzdCBiZSByZXNwZWN0ZWQsIG90aGVyd2lzZSBgQXNzZXRXZWlnaHRFeGNlZWRlZGAgZXJyb3IgaXMgcmV0dXJuZWQueQFBc3NldCB3ZWlnaHQgaXMgcmF0aW8gYmV0d2VlbiBuZXcgSHViQXNzZXQgcmVzZXJ2ZSBhbmQgdG90YWwgcmVzZXJ2ZSBvZiBIdWIgYXNzZXQgaW4gT21uaXBvb2wuANUBQWRkIGxpcXVpZGl0eSBmYWlscyBpZiBwcmljZSBkaWZmZXJlbmNlIGJldHdlZW4gc3BvdCBwcmljZSBhbmQgb3JhY2xlIHByaWNlIGlzIGhpZ2hlciB0aGFuIGFsbG93ZWQgYnkgYFByaWNlQmFycmllcmAuACxQYXJhbWV0ZXJzOmUBLSBgYXNzZXRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgbmV3IGFzc2V0IGFkZGVkIHRvIHRoZSBwb29sLiBNdXN0IGJlIGFscmVhZHkgaW4gdGhlIHBvb2y0LSBgYW1vdW50YDogQW1vdW50IG9mIGFzc2V0IGFkZGVkIHRvIG9tbmlwb29sALRFbWl0cyBgTGlxdWlkaXR5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AYGFkZF9saXF1aWRpdHlfd2l0aF9saW1pdAwBFGFzc2V0EAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAAUBtaW5fc2hhcmVzX2xpbWl0GAEcQmFsYW5jZQANXAEBQWRkIGxpcXVpZGl0eSBvZiBhc3NldCBgYXNzZXRgIGluIHF1YW50aXR5IGBhbW91bnRgIHRvIE9tbmlwb29sLgBwTGltaXQgcHJvdGVjdGlvbiBpcyBhcHBsaWVkLgBhAWBhZGRfbGlxdWlkaXR5YCBhZGRzIHNwZWNpZmllZCBhc3NldCBhbW91bnQgdG8gT21uaXBvb2wgYW5kIGluIGV4Y2hhbmdlIGdpdmVzIHRoZSBvcmlnaW7wY29ycmVzcG9uZGluZyBzaGFyZXMgYW1vdW50IGluIGZvcm0gb2YgTkZUIGF0IGN1cnJlbnQgcHJpY2UuAIUBQXNzZXQncyB0cmFkYWJsZSBzdGF0ZSBtdXN0IGNvbnRhaW4gQUREX0xJUVVJRElUWSBmbGFnLCBvdGhlcndpc2UgYE5vdEFsbG93ZWRgIGVycm9yIGlzIHJldHVybmVkLgBhAU5GVCBpcyBtaW50ZWQgdXNpbmcgTlRGSGFuZGxlciB3aGljaCBpbXBsZW1lbnRzIG5vbi1mdW5naWJsZXMgdHJhaXRzIGZyb20gZnJhbWVfc3VwcG9ydC4AWQFBc3NldCB3ZWlnaHQgY2FwIG11c3QgYmUgcmVzcGVjdGVkLCBvdGhlcndpc2UgYEFzc2V0V2VpZ2h0RXhjZWVkZWRgIGVycm9yIGlzIHJldHVybmVkLnkBQXNzZXQgd2VpZ2h0IGlzIHJhdGlvIGJldHdlZW4gbmV3IEh1YkFzc2V0IHJlc2VydmUgYW5kIHRvdGFsIHJlc2VydmUgb2YgSHViIGFzc2V0IGluIE9tbmlwb29sLgDVAUFkZCBsaXF1aWRpdHkgZmFpbHMgaWYgcHJpY2UgZGlmZmVyZW5jZSBiZXR3ZWVuIHNwb3QgcHJpY2UgYW5kIG9yYWNsZSBwcmljZSBpcyBoaWdoZXIgdGhhbiBhbGxvd2VkIGJ5IGBQcmljZUJhcnJpZXJgLgAsUGFyYW1ldGVyczplAS0gYGFzc2V0YDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIG5ldyBhc3NldCBhZGRlZCB0byB0aGUgcG9vbC4gTXVzdCBiZSBhbHJlYWR5IGluIHRoZSBwb29stC0gYGFtb3VudGA6IEFtb3VudCBvZiBhc3NldCBhZGRlZCB0byBvbW5pcG9vbIUBLSBgbWluX3NoYXJlc19saW1pdGA6IFRoZSBtaW4gYW1vdW50IG9mIGRlbHRhIHNoYXJlIGFzc2V0IHRoZSB1c2VyIHNob3VsZCByZWNlaXZlIGluIHRoZSBwb3NpdGlvbgC0RW1pdHMgYExpcXVpZGl0eUFkZGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAEByZW1vdmVfbGlxdWlkaXR5CAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAABGGFtb3VudBgBHEJhbGFuY2UAA0wRAVJlbW92ZSBsaXF1aWRpdHkgb2YgYXNzZXQgYGFzc2V0YCBpbiBxdWFudGl0eSBgYW1vdW50YCBmcm9tIE9tbmlwb29sAGEBYHJlbW92ZV9saXF1aWRpdHlgIHJlbW92ZXMgc3BlY2lmaWVkIHNoYXJlcyBhbW91bnQgZnJvbSBnaXZlbiBQb3NpdGlvbklkIChORlQgaW5zdGFuY2UpLgCRAUFzc2V0J3MgdHJhZGFibGUgc3RhdGUgbXVzdCBjb250YWluIFJFTU9WRV9MSVFVSURJVFkgZmxhZywgb3RoZXJ3aXNlIGBOb3RBbGxvd2VkYCBlcnJvciBpcyByZXR1cm5lZC4AXQFpZiBhbGwgc2hhcmVzIGZyb20gZ2l2ZW4gcG9zaXRpb24gYXJlIHJlbW92ZWQsIHBvc2l0aW9uIGlzIGRlc3Ryb3llZCBhbmQgTkZUIGlzIGJ1cm5lZC4A4QFSZW1vdmUgbGlxdWlkaXR5IGZhaWxzIGlmIHByaWNlIGRpZmZlcmVuY2UgYmV0d2VlbiBzcG90IHByaWNlIGFuZCBvcmFjbGUgcHJpY2UgaXMgaGlnaGVyIHRoYW4gYWxsb3dlZCBieSBgUHJpY2VCYXJyaWVyYC4A5QFEeW5hbWljIHdpdGhkcmF3YWwgZmVlIGlzIGFwcGxpZWQgaWYgd2l0aGRyYXdhbCBpcyBub3Qgc2FmZS4gSXQgaXMgY2FsY3VsYXRlZCB1c2luZyBzcG90IHByaWNlIGFuZCBleHRlcm5hbCBwcmljZSBvcmFjbGUu3FdpdGhkcmF3YWwgaXMgY29uc2lkZXJlZCBzYWZlIHdoZW4gdHJhZGluZyBpcyBkaXNhYmxlZC4ALFBhcmFtZXRlcnM6MQEtIGBwb3NpdGlvbl9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIHBvc2l0aW9uIHdoaWNoIGxpcXVpZGl0eSBpcyByZW1vdmVkIGZyb20uyC0gYGFtb3VudGA6IEFtb3VudCBvZiBzaGFyZXMgcmVtb3ZlZCBmcm9tIG9tbmlwb29sALxFbWl0cyBgTGlxdWlkaXR5UmVtb3ZlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBscmVtb3ZlX2xpcXVpZGl0eV93aXRoX2xpbWl0DAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAABGGFtb3VudBgBHEJhbGFuY2UAASRtaW5fbGltaXQYARxCYWxhbmNlAA5YEQFSZW1vdmUgbGlxdWlkaXR5IG9mIGFzc2V0IGBhc3NldGAgaW4gcXVhbnRpdHkgYGFtb3VudGAgZnJvbSBPbW5pcG9vbABwTGltaXQgcHJvdGVjdGlvbiBpcyBhcHBsaWVkLgBhAWByZW1vdmVfbGlxdWlkaXR5YCByZW1vdmVzIHNwZWNpZmllZCBzaGFyZXMgYW1vdW50IGZyb20gZ2l2ZW4gUG9zaXRpb25JZCAoTkZUIGluc3RhbmNlKS4AkQFBc3NldCdzIHRyYWRhYmxlIHN0YXRlIG11c3QgY29udGFpbiBSRU1PVkVfTElRVUlESVRZIGZsYWcsIG90aGVyd2lzZSBgTm90QWxsb3dlZGAgZXJyb3IgaXMgcmV0dXJuZWQuAF0BaWYgYWxsIHNoYXJlcyBmcm9tIGdpdmVuIHBvc2l0aW9uIGFyZSByZW1vdmVkLCBwb3NpdGlvbiBpcyBkZXN0cm95ZWQgYW5kIE5GVCBpcyBidXJuZWQuAOEBUmVtb3ZlIGxpcXVpZGl0eSBmYWlscyBpZiBwcmljZSBkaWZmZXJlbmNlIGJldHdlZW4gc3BvdCBwcmljZSBhbmQgb3JhY2xlIHByaWNlIGlzIGhpZ2hlciB0aGFuIGFsbG93ZWQgYnkgYFByaWNlQmFycmllcmAuAOUBRHluYW1pYyB3aXRoZHJhd2FsIGZlZSBpcyBhcHBsaWVkIGlmIHdpdGhkcmF3YWwgaXMgbm90IHNhZmUuIEl0IGlzIGNhbGN1bGF0ZWQgdXNpbmcgc3BvdCBwcmljZSBhbmQgZXh0ZXJuYWwgcHJpY2Ugb3JhY2xlLtxXaXRoZHJhd2FsIGlzIGNvbnNpZGVyZWQgc2FmZSB3aGVuIHRyYWRpbmcgaXMgZGlzYWJsZWQuACxQYXJhbWV0ZXJzOjEBLSBgcG9zaXRpb25faWRgOiBUaGUgaWRlbnRpZmllciBvZiBwb3NpdGlvbiB3aGljaCBsaXF1aWRpdHkgaXMgcmVtb3ZlZCBmcm9tLsgtIGBhbW91bnRgOiBBbW91bnQgb2Ygc2hhcmVzIHJlbW92ZWQgZnJvbSBvbW5pcG9vbAUBLSBgbWluX2xpbWl0YDogVGhlIG1pbiBhbW91bnQgb2YgYXNzZXQgdG8gYmUgcmVtb3ZlZCBmb3IgdGhlIHVzZXIAvEVtaXRzIGBMaXF1aWRpdHlSZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAEhzYWNyaWZpY2VfcG9zaXRpb24EASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAQcnFNhY3JpZmljZSBMUCBwb3NpdGlvbiBpbiBmYXZvciBvZiBwb29sLgA9AUEgcG9zaXRpb24gaXMgZGVzdHJveWVkIGFuZCBsaXF1aWRpdHkgb3duZWQgYnkgTFAgYmVjb21lcyBwb29sIG93bmVkIGxpcXVpZGl0eS4AvE9ubHkgb3duZXIgb2YgcG9zaXRpb24gY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uAGhFbWl0cyBgUG9zaXRpb25EZXN0cm95ZWRgLhBzZWxsEAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAAThtaW5fYnV5X2Ftb3VudBgBHEJhbGFuY2UABUS0RXhlY3V0ZSBhIHN3YXAgb2YgYGFzc2V0X2luYCBmb3IgYGFzc2V0X291dGAuAJBQcmljZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBPbW5pcG9vbC4AfEh1YiBhc3NldCBpcyB0cmFkZWQgc2VwYXJhdGVseS4ABQJBc3NldCdzIHRyYWRhYmxlIHN0YXRlcyBtdXN0IGNvbnRhaW4gU0VMTCBmbGFnIGZvciBhc3NldF9pbiBhbmQgQlVZIGZsYWcgZm9yIGFzc2V0X291dCwgb3RoZXJ3aXNlIGBOb3RBbGxvd2VkYCBlcnJvciBpcyByZXR1cm5lZC4ALFBhcmFtZXRlcnM6qC0gYGFzc2V0X2luYDogSUQgb2YgYXNzZXQgc29sZCB0byB0aGUgcG9vbLwtIGBhc3NldF9vdXRgOiBJRCBvZiBhc3NldCBib3VnaHQgZnJvbSB0aGUgcG9vbIAtIGBhbW91bnRgOiBBbW91bnQgb2YgYXNzZXQgc29sZNgtIGBtaW5fYnV5X2Ftb3VudGA6IE1pbmltdW0gYW1vdW50IHJlcXVpcmVkIHRvIHJlY2VpdmUA3EVtaXRzIGBTZWxsRXhlY3V0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4gRGVwcmVjYXRlZC7gRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ADGJ1eRABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAE8bWF4X3NlbGxfYW1vdW50GAEcQmFsYW5jZQAGRLRFeGVjdXRlIGEgc3dhcCBvZiBgYXNzZXRfb3V0YCBmb3IgYGFzc2V0X2luYC4AkFByaWNlIGlzIGRldGVybWluZWQgYnkgdGhlIE9tbmlwb29sLgB8SHViIGFzc2V0IGlzIHRyYWRlZCBzZXBhcmF0ZWx5LgAFAkFzc2V0J3MgdHJhZGFibGUgc3RhdGVzIG11c3QgY29udGFpbiBTRUxMIGZsYWcgZm9yIGFzc2V0X2luIGFuZCBCVVkgZmxhZyBmb3IgYXNzZXRfb3V0LCBvdGhlcndpc2UgYE5vdEFsbG93ZWRgIGVycm9yIGlzIHJldHVybmVkLgAsUGFyYW1ldGVyczqoLSBgYXNzZXRfaW5gOiBJRCBvZiBhc3NldCBzb2xkIHRvIHRoZSBwb29svC0gYGFzc2V0X291dGA6IElEIG9mIGFzc2V0IGJvdWdodCBmcm9tIHRoZSBwb29sgC0gYGFtb3VudGA6IEFtb3VudCBvZiBhc3NldCBzb2xkvC0gYG1heF9zZWxsX2Ftb3VudGA6IE1heGltdW0gYW1vdW50IHRvIGJlIHNvbGQuANhFbWl0cyBgQnV5RXhlY3V0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4gRGVwcmVjYXRlZC7gRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AYHNldF9hc3NldF90cmFkYWJsZV9zdGF0ZQgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABFHN0YXRlJQMBLFRyYWRhYmlsaXR5AAcgeFVwZGF0ZSBhc3NldCdzIHRyYWRhYmxlIHN0YXRlLgAsUGFyYW1ldGVyczpYLSBgYXNzZXRfaWRgOiBhc3NldCBpZFAtIGBzdGF0ZWA6IG5ldyBzdGF0ZQDMRW1pdHMgYFRyYWRhYmxlU3RhdGVVcGRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAFByZWZ1bmRfcmVmdXNlZF9hc3NldAwBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAASRyZWNpcGllbnQAATBUOjpBY2NvdW50SWQACCSwUmVmdW5kIGdpdmVuIGFtb3VudCBvZiBhc3NldCB0byBhIHJlY2lwaWVudC4AWQJBIHJlZnVuZCBpcyBuZWVkZWQgd2hlbiBhIHRva2VuIGlzIHJlZnVzZWQgdG8gYmUgYWRkZWQgdG8gT21uaXBvb2wsIGFuZCBpbml0aWFsIGxpcXVpZGl0eSBvZiB0aGUgYXNzZXQgaGFzIGJlZW4gYWxyZWFkeSB0cmFuc2ZlcnJlZCB0byBwb29sJ3MgYWNjb3VudC4AjQFUcmFuc2ZlciBjYW4gYmUgZXhlY3V0ZWQgb25seSBpZiBhc3NldCBpcyBub3QgaW4gT21uaXBvb2wgYW5kIHBvb2wncyBiYWxhbmNlIGhhcyBzdWZmaWNpZW50IGFtb3VudC4AyE9ubHkgYEF1dGhvcml0eU9yaWdpbmAgY2FuIHBlcmZvcm0gdGhpcyBvcGVyYXRpb24uAFRFbWl0cyBgQXNzZXRSZWZ1bmRlZGBQc2V0X2Fzc2V0X3dlaWdodF9jYXAIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAQxjYXAhAwEcUGVybWlsbAAJIGRVcGRhdGUgYXNzZXQncyB3ZWlnaHQgY2FwACxQYXJhbWV0ZXJzOlgtIGBhc3NldF9pZGA6IGFzc2V0IGlkXC0gYGNhcGA6IG5ldyB3ZWlnaHQgY2FwANBFbWl0cyBgQXNzZXRXZWlnaHRDYXBVcGRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAGx3aXRoZHJhd19wcm90b2NvbF9saXF1aWRpdHkQASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEUcHJpY2UpAwFIKEJhbGFuY2UsIEJhbGFuY2UpAAEQZGVzdAABMFQ6OkFjY291bnRJZAALLGxSZW1vdmVzIHByb3RvY29sIGxpcXVpZGl0eS4AhQFQcm90b2NvbCBsaXF1aWRpdHkgaXMgbGlxdWlkaXR5IGZyb20gc2FjcmlmaWNlZCBwb3NpdGlvbnMuIEluIG9yZGVyIHRvIHJlbW92ZSBwcm90b2NvbCBsaXF1aWRpdHkseQF3ZSBuZWVkIHRoZSBrbm93IHRoZSBwcmljZSBvZiB0aGUgcG9zaXRpb24gYXQgdGhlIHRpbWUgb2Ygc2FjcmlmaWNlLiBIZW5jZSB0aGlzIHNwZWNpZmljIGNhbGwuALRPbmx5IGBBdXRob3JpdHlPcmlnaW5gIGNhbiBwZXJmb3JtIHRoaXMgY2FsbC4AeQFOb3RlIHRoYXQgc2FjcmlmaWNlIHBvc2l0aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBmdXR1cmUuIFRoZXJlIGlzIG5vIGxvbmdlciBhIG5lZWQgZm9yIHRoYXQuAGEBSXQgd29ya3MgdGhlIHNhbWUgd2F5IGFzIHJlbW92ZSBsaXF1aWRpdHkgY2FsbCwgYnV0IHBvc2l0aW9uIGlzIHRlbXBvcmFyeSByZWNvbnN0cnVjdGVkLgAwcmVtb3ZlX3Rva2VuCAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEsYmVuZWZpY2lhcnkAATBUOjpBY2NvdW50SWQADCxwUmVtb3ZlcyB0b2tlbiBmcm9tIE9tbmlwb29sLgBFAUFzc2V0J3MgdHJhZGFiaWxpdHkgbXVzdCBiZSBGUk9aRU4sIG90aGVyd2lzZSBgQXNzZXROb3RGcm96ZW5gIGVycm9yIGlzIHJldHVybmVkLgBhAVJlbWFpbmluZyBzaGFyZXMgbXVzdCBiZWxvbmcgdG8gcHJvdG9jb2wsIG90aGVyd2lzZSBgU2hhcmVzUmVtYWluaW5nYCBlcnJvciBpcyByZXR1cm5lZC4AeQFQcm90b2NvbCdzIGxpcXVpZGl0eSBpcyB0cmFuc2ZlcnJlZCB0byB0aGUgYmVuZWZpY2lhcnkgYWNjb3VudCBhbmQgaHViIGFzc2V0IGFtb3VudCBpcyBidXJuZWQuALRPbmx5IGBBdXRob3JpdHlPcmlnaW5gIGNhbiBwZXJmb3JtIHRoaXMgY2FsbC4ArEVtaXRzIGBUb2tlblJlbW92ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuIQMMNHNwX2FyaXRobWV0aWMocGVyX3RoaW5ncxxQZXJtaWxsAAAEABABDHUzMgAAJQMMPHBhbGxldF9vbW5pcG9vbBR0eXBlcyxUcmFkYWJpbGl0eQAABAEQYml0cwgBCHU4AAApAwAABAgYGAAtAwxgcGFsbGV0X3RyYW5zYWN0aW9uX3BhdXNlGHBhbGxldBBDYWxsBARUAAEIRHBhdXNlX3RyYW5zYWN0aW9uCAEscGFsbGV0X25hbWU4ARxWZWM8dTg+AAE0ZnVuY3Rpb25fbmFtZTgBHFZlYzx1OD4AAABMdW5wYXVzZV90cmFuc2FjdGlvbggBLHBhbGxldF9uYW1lOAEcVmVjPHU4PgABNGZ1bmN0aW9uX25hbWU4ARxWZWM8dTg+AAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLjEDDDRwYWxsZXRfZHVzdGVyGHBhbGxldBBDYWxsBARUAAEMMGR1c3RfYWNjb3VudAgBHGFjY291bnQAATBUOjpBY2NvdW50SWQAASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAABRcRHVzdCBzcGVjaWZpZWQgYWNjb3VudC51AUlGIGFjY291bnQgYmFsYW5jZSBpcyA8IG1pbi4gZXhpc3RlbnRpYWwgZGVwb3NpdCBvZiBnaXZlbiBjdXJyZW5jeSwgYW5kIGFjY291bnQgaXMgYWxsb3dlZCB0b10BYmUgZHVzdGVkLCB0aGUgcmVtYWluaW5nIGJhbGFuY2UgaXMgdHJhbnNmZXJyZWQgdG8gc2VsZWN0ZWQgYWNjb3VudCAodXN1YWxseSB0cmVhc3VyeSkuAORDYWxsZXIgaXMgcmV3YXJkZWQgd2l0aCBjaG9zZW4gcmV3YXJkIGluIG5hdGl2ZSBjdXJyZW5jeS5cYWRkX25vbmR1c3RhYmxlX2FjY291bnQEARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAEMVQFBZGQgYWNjb3VudCB0byBsaXN0IG9mIG5vbi1kdXN0YWJsZSBhY2NvdW50LiBBY2NvdW50IHdoaWhjIGFyZSBleGNsdWRlZCBmcm9tIHVkc3RpbmcuKQFJZiBzdWNoIGFjY291bnQgc2hvdWxkIGJlIGR1c3RlZCAtIGBBY2NvdW50QmxhY2tsaXN0ZWRgIGVycm9yIGlzIHJldHVybmVkLohPbmx5IHJvb3QgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uaHJlbW92ZV9ub25kdXN0YWJsZV9hY2NvdW50BAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAACBGkBUmVtb3ZlIGFjY291bnQgZnJvbSBsaXN0IG9mIG5vbi1kdXN0YWJsZSBhY2NvdW50cy4gVGhhdCBtZWFucyBhY2NvdW50IGNhbiBiZSBkdXN0ZWQgYWdhaW4uBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLjUDDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQQQ2FsbAgEVAAESQABAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy45AwyAcGFsbGV0X29tbmlwb29sX2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0EENhbGwEBFQAAUBIY3JlYXRlX2dsb2JhbF9mYXJtIAE0dG90YWxfcmV3YXJkcxgBHEJhbGFuY2UAAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMQASxQZXJpb2RPZjxUPgABRGJsb2Nrc19wZXJfcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4AATxyZXdhcmRfY3VycmVuY3kQAShUOjpBc3NldElkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAAUB5aWVsZF9wZXJfcGVyaW9kPQMBLFBlcnF1aW50aWxsAAEsbWluX2RlcG9zaXQYARxCYWxhbmNlAAFUbHJuYV9wcmljZV9hZGp1c3RtZW50PQEBJEZpeGVkVTEyOAAAcPxDcmVhdGUgYSBuZXcgbGlxdWlkaXR5IG1pbmluZyBwcm9ncmFtIHdpdGggcHJvdmlkZWQgcGFyYW1ldGVycy4ARQFgb3duZXJgIGFjY291bnQgaGFzIHRvIGhhdmUgYXQgbGVhc3QgYHRvdGFsX3Jld2FyZHNgIGJhbGFuY2UuIFRoZXNlIGZ1bmRzIHdpbGwgYmWkdHJhbnNmZXJyZWQgZnJvbSBgb3duZXJgIHRvIGZhcm0gYWNjb3VudC4A8FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBUOjpDcmVhdGVPcmlnaW5gLlUBISEhV0FSTjogYFQ6OkNyZWF0ZU9yaWdpbmAgaGFzIHBvd2VyIG92ZXIgZnVuZHMgb2YgYG93bmVyYCdzIGFjY291bnQgYW5kIGl0IHNob3VsZCBiZdBjb25maWd1cmVkIHRvIHRydXN0ZWQgb3JpZ2luIGUuZyBTdWRvIG9yIEdvdmVybmFuY2UuACxQYXJhbWV0ZXJzOlUBLSBgb3JpZ2luYDogYWNjb3VudCBhbGxvd2VkIHRvIGNyZWF0ZSBuZXcgbGlxdWlkaXR5IG1pbmluZyBwcm9ncmFtKHJvb3QsIGdvdmVybmFuY2UpLjUBLSBgdG90YWxfcmV3YXJkc2A6IHRvdGFsIHJld2FyZHMgcGxhbm5lZCB0byBkaXN0cmlidXRlLiBUaGVzZSByZXdhcmRzIHdpbGwgYmXcZGlzdHJpYnV0ZWQgYmV0d2VlbiBhbGwgeWllbGQgZmFybXMgaW4gdGhlIGdsb2JhbCBmYXJtLlkBLSBgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzYDogcGxhbm5lZCBudW1iZXIgb2YgcGVyaW9kcyB0byBkaXN0cmlidXRlIGB0b3RhbF9yZXdhcmRzYC4pAVdBUk46IFRISVMgSVMgTk9UIEhBUkQgREVBRExJTkUuIE5vdCBhbGwgcmV3YXJkcyBoYXZlIHRvIGJlIGRpc3RyaWJ1dGVkIGluXQFgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzYC4gUmV3YXJkcyBhcmUgZGlzdHJpYnV0ZWQgYmFzZWQgb24gdGhlIHNpdHVhdGlvbiBpbiB0aGUgeWllbGRBAWZhcm1zIGFuZCBjYW4gYmUgZGlzdHJpYnV0ZWQgaW4gYSBsb25nZXIsIHRob3VnaCBuZXZlciBpbiBhIHNob3J0ZXIsIHRpbWUgZnJhbWUuWQEtIGBibG9ja3NfcGVyX3BlcmlvZGA6ICBudW1iZXIgb2YgYmxvY2tzIGluIGEgc2luZ2xlIHBlcmlvZC4gTWluLiBudW1iZXIgb2YgYmxvY2tzIHBlcjBwZXJpb2QgaXMgMS7ALSBgcmV3YXJkX2N1cnJlbmN5YDogcGF5b2ZmIGN1cnJlbmN5IG9mIHJld2FyZHMuOQEtIGBvd25lcmA6IGxpcS4gbWluaW5nIGZhcm0gb3duZXIuIFRoaXMgYWNjb3VudCB3aWxsIGJlIGFibGUgdG8gbWFuYWdlIGNyZWF0ZWRkbGlxdWlkaXR5IG1pbmluZyBwcm9ncmFtLikBLSBgeWllbGRfcGVyX3BlcmlvZGA6IHBlcmNlbnRhZ2UgcmV0dXJuIG9uIGByZXdhcmRfY3VycmVuY3lgIG9mIGFsbCBmYXJtcy6RAS0gYG1pbl9kZXBvc2l0YDogbWluaW11bSBhbW91bnQgb2YgTFAgc2hhcmVzIHRvIGJlIGRlcG9zaXRlZCBpbnRvIHRoZSBsaXF1aWRpdHkgbWluaW5nIGJ5IGVhY2ggdXNlci5NAS0gYGxybmFfcHJpY2VfYWRqdXN0bWVudGA6IHByaWNlIGFkanVzdG1lbnQgYmV0d2VlbiBgW0xSTkFdYCBhbmQgYHJld2FyZF9jdXJyZW5jeWAuAKhFbWl0cyBgR2xvYmFsRmFybUNyZWF0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4AVHRlcm1pbmF0ZV9nbG9iYWxfZmFybQQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAI0nFRlcm1pbmF0ZSBleGlzdGluZyBsaXEuIG1pbmluZyBwcm9ncmFtLgCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgARAVdBUk46IFRvIHN1Y2Nlc3NmdWxseSB0ZXJtaW5hdGUgYSBnbG9iYWwgZmFybSwgZmFybSBoYXZlIHRvIGJlIGVtcHR54ChhbGwgeWllbGQgZmFybXMgaW4gdGhlIGdsb2JhbCBmYXJtIG11c3QgYmUgdGVybWluYXRlZCkuACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLtwtIGBnbG9iYWxfZmFybV9pZGA6IGlkIG9mIGdsb2JhbCBmYXJtIHRvIGJlIHRlcm1pbmF0ZWQuAMxFbWl0cyBgR2xvYmFsRmFybVRlcm1pbmF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ARGNyZWF0ZV95aWVsZF9mYXJtEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAShtdWx0aXBsaWVyPQEBOEZhcm1NdWx0aXBsaWVyAAE0bG95YWx0eV9jdXJ2ZUEDAVBPcHRpb248TG95YWx0eUN1cnZlPgADSNxDcmVhdGUgeWllbGQgZmFybSBmb3IgZ2l2ZW4gYGFzc2V0X2lkYCBpbiB0aGUgb21uaXBvb2wuBCCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgDsQXNzZXQgd2l0aCBgYXNzZXRfaWRgIGhhcyB0byBiZSByZWdpc3RlcmVkIGluIHRoZSBvbW5pcG9vbC5VAUF0IG1vc3Qgb25lIGBhY3RpdmVgIHlpZWxkIGZhcm0gY2FuIGV4aXN0IGluIG9uZSBnbG9iYWwgZmFybSBmb3IgdGhlIHNhbWUgYGFzc2V0X2lkYC4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuHQEtIGBnbG9iYWxfZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkIHRvIHdoaWNoIGEgeWllbGQgZmFybSB3aWxsIGJlIGFkZGVkLh0BLSBgYXNzZXRfaWRgOiBpZCBvZiBhIGFzc2V0IGluIHRoZSBvbW5pcG9vbC4gWWllbGQgZmFybSB3aWxsIGJlIGNyZWF0ZWRhAWZvciB0aGlzIGFzc2V0IGFuZCB1c2VyIHdpbGwgYmUgYWJsZSB0byBsb2NrIExQIHNoYXJlcyBpbnRvIHRoaXMgeWllbGQgZmFybSBpbW1lZGlhdGVseS6gLSBgbXVsdGlwbGllcmA6IHlpZWxkIGZhcm0ncyBtdWx0aXBsaWVyLl0BLSBgbG95YWx0eV9jdXJ2ZWA6IGN1cnZlIHRvIGNhbGN1bGF0ZSBsb3lhbHR5IG11bHRpcGxpZXIgdG8gZGlzdHJpYnV0ZSByZXdhcmRzIHRvIHVzZXJz4HdpdGggdGltZSBpbmNlbnRpdmUuIGBOb25lYCBtZWFucyBubyBsb3lhbHR5IG11bHRpcGxpZXIuALxFbWl0cyBgWWllbGRGYXJtQ3JlYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBEdXBkYXRlX3lpZWxkX2Zhcm0MAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABKG11bHRpcGxpZXI9AQE4RmFybU11bHRpcGxpZXIABDB8VXBkYXRlIHlpZWxkIGZhcm0ncyBtdWx0aXBsaWVyLgQgoE9ubHkgZmFybSBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuHQEtIGBnbG9iYWxfZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkIGluIHdoaWNoIHlpZWxkIGZhcm0gd2lsbCBiZSB1cGRhdGVkLiEBLSBgYXNzZXRfaWRgOiBpZCBvZiB0aGUgYXNzZXQgaWRlbnRpZnlpbmcgeWllbGQgZmFybSBpbiB0aGUgZ2xvYmFsIGZhcm0usC0gYG11bHRpcGxpZXJgOiBuZXcgeWllbGQgZmFybSdzIG11bHRpcGxpZXIuALxFbWl0cyBgWWllbGRGYXJtVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgA8c3RvcF95aWVsZF9mYXJtCAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQABUC4U3RvcCBsaXF1aWRpdHkgbWltaW5nIGZvciBzcGVjaWZpYyB5aWVsZCBmYXJtLgAxAVRoaXMgZnVuY3Rpb24gY2xhaW1zIHJld2FyZHMgZnJvbSBgR2xvYmFsRmFybWAgbGFzdCB0aW1lIGFuZCBzdG9wIHlpZWxkIGZhcm0hAWluY2VudGl2aXphdGlvbiBmcm9tIGEgYEdsb2JhbEZhcm1gLiBVc2VycyB3aWxsIGJlIGFibGUgdG8gb25seSB3aXRoZHJhd8hzaGFyZXMod2l0aCBjbGFpbWluZykgYWZ0ZXIgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLuBgZGVwb3NpdF9zaGFyZXMoKWAgaXMgbm90IGFsbG93ZWQgb24gc3RvcHBlZCB5aWVsZCBmYXJtLgQgoE9ubHkgZmFybSBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuBQEtIGBnbG9iYWxfZmFybV9pZGA6IGZhcm0gaWQgaW4gd2hpY2ggeWllbGQgZmFybSB3aWxsIGJlIGNhbmNlbGVkLiEBLSBgYXNzZXRfaWRgOiBpZCBvZiB0aGUgYXNzZXQgaWRlbnRpZnlpbmcgeWllbGQgZmFybSBpbiB0aGUgZ2xvYmFsIGZhcm0uALxFbWl0cyBgWWllbGRGYXJtU3RvcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBEcmVzdW1lX3lpZWxkX2Zhcm0QAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABKG11bHRpcGxpZXI9AQE4RmFybU11bHRpcGxpZXIABkz4UmVzdW1lIGluY2VudGl2aXphdGlvbiBvZiB0aGUgYXNzZXQgcmVwcmVzZW50ZWQgYnkgeWllbGQgZmFybS4ALQFUaGlzIGZ1bmN0aW9uIHJlc3VtZSBpbmNlbnRpdml6YXRpb24gb2YgdGhlIGFzc2V0IGZyb20gdGhlIGBHbG9iYWxGYXJtYCBhbmQxAXJlc3RvcmUgZnVsbCBmdW5jdGlvbmFsaXR5IG9yIHRoZSB5aWVsZCBmYXJtLiBVc2VycyB3aWxsIGJlIGFibGUgdG8gZGVwb3NpdCxkY2xhaW0gYW5kIHdpdGhkcmF3IGFnYWluLgARAVdBUk46IFlpZWxkIGZhcm0oYW5kIHVzZXJzKSBpcyBOT1QgcmV3YXJkZWQgZm9yIHRpbWUgaXQgd2FzIHN0b3BwZWQuAKBPbmx5IGZhcm0gb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLh0BLSBgZ2xvYmFsX2Zhcm1faWRgOiBnbG9iYWwgZmFybSBpZCBpbiB3aGljaCB5aWVsZCBmYXJtIHdpbGwgYmUgcmVzdW1lZC7YLSBgeWllbGRfZmFybV9pZGA6IGlkIG9mIHRoZSB5aWVsZCBmYXJtIHRvIGJlIHJlc3VtZWQuIQEtIGBhc3NldF9pZGA6IGlkIG9mIHRoZSBhc3NldCBpZGVudGlmeWluZyB5aWVsZCBmYXJtIGluIHRoZSBnbG9iYWwgZmFybS6YLSBgbXVsdGlwbGllcmA6IHlpZWxkIGZhcm0gbXVsdGlwbGllci4AvEVtaXRzIGBZaWVsZEZhcm1SZXN1bWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAFB0ZXJtaW5hdGVfeWllbGRfZmFybQwBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAdQVFRlcm1pbmF0ZSB5aWVsZCBmYXJtLgCBAVRoaXMgZnVuY3Rpb24gbWFya3MgYSB5aWVsZCBmYXJtIGFzIHJlYWR5IHRvIGJlIHJlbW92ZWQgZnJvbSBzdG9yYWdlIHdoZW4gaXQncyBlbXB0eS4gVXNlcnMgd2lsbGUBYmUgYWJsZSB0byBvbmx5IHdpdGhkcmF3IHNoYXJlcyh3aXRob3V0IGNsYWltaW5nIHJld2FyZHMgZnJvbSB5aWVsZCBmYXJtKS4gVW5wYWlkIHJld2FyZHN9AXdpbGwgYmUgdHJhbnNmZXJyZWQgYmFjayB0byBnbG9iYWwgZmFybSBhbmQgaXQgd2lsbCBiZSB1c2VkIHRvIGRpc3RyaWJ1dGUgdG8gb3RoZXIgeWllbGQgZmFybXMuANxZaWVsZCBmYXJtIG11c3QgYmUgc3RvcHBlZCBiZWZvcmUgaXQgY2FuIGJlIHRlcm1pbmF0ZWQuAHEBT25seSBnbG9iYWwgZmFybSdzIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLiBZaWVsZCBmYXJtIHN0YXlzIGluIHRoZSBzdG9yYWdlIHVudGlsIGl0J3NtAWVtcHR5KGFsbCBmYXJtIGVudHJpZXMgYXJlIHdpdGhkcmF3bikuIExhc3Qgd2l0aGRyYXduIGZyb20geWllbGQgZmFybSB0cmlnZ2VyIHJlbW92aW5nIGZyb20wdGhlIHN0b3JhZ2UuACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLjEBLSBgZ2xvYmFsX2Zhcm1faWRgOiBnbG9iYWwgZmFybSBpZCBpbiB3aGljaCB5aWVsZCBmYXJtIHNob3VsZCBiZSB0ZXJtaW5hdGVkLtQtIGB5aWVsZF9mYXJtX2lkYDogaWQgb2YgeWllbGQgZmFybSB0byBiZSB0ZXJtaW5hdGVkLtQtIGBhc3NldF9pZGA6IGlkIG9mIHRoZSBhc3NldCBpZGVudGlmeWluZyB5aWVsZCBmYXJtLgDIRW1pdHMgYFlpZWxkRmFybVRlcm1pbmF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AOGRlcG9zaXRfc2hhcmVzDAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAg47ERlcG9zaXQgb21uaXBvb2wgcG9zaXRpb24oTFAgc2hhcmVzKSB0byBhIGxpcXVpZGl0eSBtaW5pbmcuAHEBVGhpcyBmdW5jdGlvbiB0cmFuc2ZlcnMgb21uaXBvb2wgcG9zaXRpb24gZnJvbSBgb3JpZ2luYCB0byBwYWxsZXQncyBhY2NvdW50IGFuZCBtaW50IE5GVCBmb3JFAWBvcmlnaW5gIGFjY291bnQuIE1pbnRlZCBORlQgcmVwcmVzZW50cyBkZXBvc2l0IGluIHRoZSBsaXF1aWRpdHkgbWluaW5nLiBVc2VyIGNhbiEBZGVwb3NpdCBvbW5pcG9vbCBwb3NpdGlvbiBhcyBhIHdob2xlKGFsbCB0aGUgTFAgc2hhcmVzIGluIHRoZSBwb3NpdGlvbikuACxQYXJhbWV0ZXJzOkEBLSBgb3JpZ2luYDogb3duZXIgb2YgdGhlIG9tbmlwb29sIHBvc2l0aW9uIHRvIGRlcG9zaXQgaW50byB0aGUgbGlxdWlkaXR5IG1pbmluZy49AS0gYGdsb2JhbF9mYXJtX2lkYDogaWQgb2YgZ2xvYmFsIGZhcm0gdG8gd2hpY2ggdXNlciB3YW50cyB0byBkZXBvc2l0IExQIHNoYXJlcy7ILSBgeWllbGRfZmFybV9pZGA6IGlkIG9mIHlpZWxkIGZhcm0gdG8gZGVwb3NpdCB0by5dAS0gYHBvc2l0aW9uX2lkYDogaWQgb2YgdGhlIG9tbmlwb29sIHBvc2l0aW9uIHRvIGJlIGRlcG9zaXRlZCBpbnRvIHRoZSBsaXF1aWRpdHkgbWluaW5nLgC4RW1pdHMgYFNoYXJlc0RlcG9zaXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBAcmVkZXBvc2l0X3NoYXJlcwwBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAAJPPBSZWRlcG9zaXQgTFAgc2hhcmVzIGluIHRoZSBhbHJlYWR5IGxvY2tlZCBvbW5pcG9vbCBwb3NpdGlvbi4AUQFUaGlzIGZ1bmN0aW9uIGNyZWF0ZSB5aWVsZCBmYXJtIGVudHJ5IGZvciBleGlzdGluZyBkZXBvc2l0LiBBbW91bnQgb2YgcmVkZXBvc2l0ZWQgTFAtAXNoYXJlcyBpcyBzYW1lIGFzIGFtb3VudCBzaGFyZXMgd2hpY2ggYXJlIGFscmVhZHkgZGVwb3NpdGVkIGluIHRoZSBkZXBvc2l0LgC4VGhpcyBmdW5jdGlvbiBET0VTTidUIGNyZWF0ZSBuZXcgZGVwb3NpdChORlQpLgAsUGFyYW1ldGVyczq4LSBgb3JpZ2luYDogb3duZXIgb2YgdGhlIGRlcG9zaXQgdG8gcmVkZXBvc2l0LlUBLSBgZ2xvYmFsX2Zhcm1faWRgOiBpZCBvZiB0aGUgZ2xvYmFsIGZhcm0gdG8gd2hpY2ggdXNlciB3YW50cyB0byByZWRlcG9zaXQgTFAgc2hhcmVzLuAtIGB5aWVsZF9mYXJtX2lkYDogaWQgb2YgdGhlIHlpZWxkIGZhcm0gdG8gcmVkZXBvc2l0IHRvLtwtIGBkZXBvc2l0X2lkYDogaWRlbnRpZmllciBvZiB0aGUgZGVwb3NpdCB0byByZWRlcG9zaXQuAMBFbWl0cyBgU2hhcmVzUmVkZXBvc2l0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ANGNsYWltX3Jld2FyZHMIAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAowYQFDbGFpbSByZXdhcmRzIGZyb20gbGlxdWlkaXR5IG1pbmluZyBwcm9ncmFtIGZvciBkZXBvc2l0IHJlcHJlc2VudGVkIGJ5IHRoZSBgZGVwb3NpdF9pZGAuAG0BVGhpcyBmdW5jdGlvbiBjYWxjdWxhdGUgdXNlciByZXdhcmRzIGZyb20gbGlxdWlkaXR5IG1pbmluZyBhbmQgdHJhbnNmZXIgcmV3YXJkcyB0byBgb3JpZ2luYPxhY2NvdW50LiBDbGFpbWluZyBtdWx0aXBsZSB0aW1lIHRoZSBzYW1lIHBlcmlvZCBpcyBub3QgYWxsb3dlZC4ALFBhcmFtZXRlcnM6dC0gYG9yaWdpbmA6IG93bmVyIG9mIGRlcG9zaXQu3C0gYGRlcG9zaXRfaWRgOiBpZCBvZiB0aGUgZGVwb3NpdCB0byBjbGFpbSByZXdhcmRzIGZvci74LSBgeWllbGRfZmFybV9pZGA6IGlkIG9mIHRoZSB5aWVsZCBmYXJtIHRvIGNsYWltIHJld2FyZHMgZnJvbS4AsEVtaXRzIGBSZXdhcmRDbGFpbWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADx3aXRoZHJhd19zaGFyZXMIAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAtQVQFUaGlzIGZ1bmN0aW9uIGNsYWltIHJld2FyZHMgYW5kIHdpdGhkcmF3IExQIHNoYXJlcyBmcm9tIHlpZWxkIGZhcm0uIE9tbmlwb29sIHBvc2l0aW9uUQFpcyB0cmFuc2ZlcnJlZCB0byBvcmlnaW4gb25seSBpZiB0aGlzIGlzIGxhc3Qgd2l0aGRyYXcgaW4gdGhlIGRlcG9zaXQgYW5kIGRlcG9zaXQgaXNRAWRlc3Ryb3llZC4gVGhpcyBmdW5jdGlvbiBjbGFpbSByZXdhcmRzIG9ubHkgaWYgeWllbGQgZmFybSBpcyBub3QgdGVybWluYXRlZCBhbmQgdXNlcrxkaWRuJ3QgYWxyZWFkeSBjbGFpbSByZXdhcmRzIGluIGN1cnJlbnQgcGVyaW9kLgBNAVVuY2xhaW1hYmxlIHJld2FyZHMgcmVwcmVzZW50cyByZXdhcmRzIHdoaWNoIHVzZXIgd29uJ3QgYmUgYWJsZSB0byBjbGFpbSBiZWNhdXNlIG9mSQFleGl0aW5nIGVhcmx5IGFuZCB0aGVzZSByZXdhcmRzIHdpbGwgYmUgdHJhbnNmZXJyZWQgYmFjayB0byBnbG9iYWwgZmFybSBmb3IgZnV0dXJlPHJlZGlzdHJpYnV0aW9uLgAsUGFyYW1ldGVyczp0LSBgb3JpZ2luYDogb3duZXIgb2YgZGVwb3NpdC7cLSBgZGVwb3NpdF9pZGA6IGlkIG9mIHRoZSBkZXBvc2l0IHRvIGNsYWltIHJld2FyZHMgZm9yLvgtIGB5aWVsZF9mYXJtX2lkYDogaWQgb2YgdGhlIHlpZWxkIGZhcm0gdG8gY2xhaW0gcmV3YXJkcyBmcm9tLgAYRW1pdHM6xCogYFJld2FyZENsYWltZWRgIGV2ZW50IGlmIGNsYWltZWQgcmV3YXJkcyBpcyA+IDCkKiBgU2hhcmVzV2l0aGRyYXduYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWxdASogYERlcG9zaXREZXN0cm95ZWRgIGV2ZW50IHdoZW4gdGhpcyB3YXMgbGFzdCB3aXRoZHJhdyBmcm9tIHRoZSBkZXBvc2l0IGFuZCBkZXBvc2l0IHdhcyhkZXN0cm95ZWQuAEh1cGRhdGVfZ2xvYmFsX2Zhcm0QAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcxABSGNyYXRlOjpQZXJpb2RPZjxUPgABQHlpZWxkX3Blcl9wZXJpb2Q9AwEsUGVycXVpbnRpbGwAASxtaW5fZGVwb3NpdBgBHEJhbGFuY2UADDjUVGhpcyBleHRyaW5zaWMgdXBkYXRlcyBnbG9iYWwgZmFybSdzIG1haW4gcGFyYW1ldGVycy4A8FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBUOjpDcmVhdGVPcmlnaW5gLlUBISEhV0FSTjogYFQ6OkNyZWF0ZU9yaWdpbmAgaGFzIHBvd2VyIG92ZXIgZnVuZHMgb2YgYG93bmVyYCdzIGFjY291bnQgYW5kIGl0IHNob3VsZCBiZdBjb25maWd1cmVkIHRvIHRydXN0ZWQgb3JpZ2luIGUuZyBTdWRvIG9yIEdvdmVybmFuY2UuACxQYXJhbWV0ZXJzOlUBLSBgb3JpZ2luYDogYWNjb3VudCBhbGxvd2VkIHRvIGNyZWF0ZSBuZXcgbGlxdWlkaXR5IG1pbmluZyBwcm9ncmFtKHJvb3QsIGdvdmVybmFuY2UpLtAtIGBnbG9iYWxfZmFybV9pZGA6IGlkIG9mIHRoZSBnbG9iYWwgZmFybSB0byB1cGRhdGUuWQEtIGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHNgOiBwbGFubmVkIG51bWJlciBvZiBwZXJpb2RzIHRvIGRpc3RyaWJ1dGUgYHRvdGFsX3Jld2FyZHNgLikBLSBgeWllbGRfcGVyX3BlcmlvZGA6IHBlcmNlbnRhZ2UgcmV0dXJuIG9uIGByZXdhcmRfY3VycmVuY3lgIG9mIGFsbCBmYXJtcy6RAS0gYG1pbl9kZXBvc2l0YDogbWluaW11bSBhbW91bnQgb2YgTFAgc2hhcmVzIHRvIGJlIGRlcG9zaXRlZCBpbnRvIHRoZSBsaXF1aWRpdHkgbWluaW5nIGJ5IGVhY2ggdXNlci4AwEVtaXRzIGBHbG9iYWxGYXJtVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLihqb2luX2Zhcm1zCAEwZmFybV9lbnRyaWVzSQMBEQFCb3VuZGVkVmVjPChHbG9iYWxGYXJtSWQsIFlpZWxkRmFybUlkKSwgVDo6TWF4RmFybUVudHJpZXNQZXJEZXBvc2l0PgABLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQADSRFAVRoaXMgZnVuY3Rpb24gYWxsb3dzIHVzZXIgdG8gam9pbiBtdWx0aXBsZSBmYXJtcyB3aXRoIGEgc2luZ2xlIG9tbmlwb29sIHBvc2l0aW9uLgAsUGFyYW1ldGVyczpBAS0gYG9yaWdpbmA6IG93bmVyIG9mIHRoZSBvbW5pcG9vbCBwb3NpdGlvbiB0byBkZXBvc2l0IGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcuoC0gYGZhcm1fZW50cmllc2A6IGxpc3Qgb2YgZmFybXMgdG8gam9pbi5dAS0gYHBvc2l0aW9uX2lkYDogaWQgb2YgdGhlIG9tbmlwb29sIHBvc2l0aW9uIHRvIGJlIGRlcG9zaXRlZCBpbnRvIHRoZSBsaXF1aWRpdHkgbWluaW5nLgDYRW1pdHMgYFNoYXJlc0RlcG9zaXRlZGAgZXZlbnQgZm9yIHRoZSBmaXJzdCBmYXJtIGVudHJ5HQFFbWl0cyBgU2hhcmVzUmVkZXBvc2l0ZWRgIGV2ZW50IGZvciBlYWNoIGZhcm0gZW50cnkgYWZ0ZXIgdGhlIGZpcnN0IG9uZXBhZGRfbGlxdWlkaXR5X2FuZF9qb2luX2Zhcm1zEAEwZmFybV9lbnRyaWVzSQMBEQFCb3VuZGVkVmVjPChHbG9iYWxGYXJtSWQsIFlpZWxkRmFybUlkKSwgVDo6TWF4RmFybUVudHJpZXNQZXJEZXBvc2l0PgABFGFzc2V0EAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAAUBtaW5fc2hhcmVzX2xpbWl04AE8T3B0aW9uPEJhbGFuY2U+AA4sXQFUaGlzIGZ1bmN0aW9uIGFsbG93cyB1c2VyIHRvIGFkZCBsaXF1aWRpdHkgdGhlbiB1c2UgdGhhdCBzaGFyZXMgdG8gam9pbiBtdWx0aXBsZSBmYXJtcy4ALFBhcmFtZXRlcnM6QQEtIGBvcmlnaW5gOiBvd25lciBvZiB0aGUgb21uaXBvb2wgcG9zaXRpb24gdG8gZGVwb3NpdCBpbnRvIHRoZSBsaXF1aWRpdHkgbWluaW5nLqAtIGBmYXJtX2VudHJpZXNgOiBsaXN0IG9mIGZhcm1zIHRvIGpvaW4uFQEtIGBhc3NldGA6IGlkIG9mIHRoZSBhc3NldCB0byBiZSBkZXBvc2l0ZWQgaW50byB0aGUgbGlxdWlkaXR5IG1pbmluZy4pAS0gYGFtb3VudGA6IGFtb3VudCBvZiB0aGUgYXNzZXQgdG8gYmUgZGVwb3NpdGVkIGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcuhQEtIGBtaW5fc2hhcmVzX2xpbWl0YDogVGhlIG1pbiBhbW91bnQgb2YgZGVsdGEgc2hhcmUgYXNzZXQgdGhlIHVzZXIgc2hvdWxkIHJlY2VpdmUgaW4gdGhlIHBvc2l0aW9uANhFbWl0cyBgU2hhcmVzRGVwb3NpdGVkYCBldmVudCBmb3IgdGhlIGZpcnN0IGZhcm0gZW50cnkdAUVtaXRzIGBTaGFyZXNSZWRlcG9zaXRlZGAgZXZlbnQgZm9yIGVhY2ggZmFybSBlbnRyeSBhZnRlciB0aGUgZmlyc3Qgb25lKGV4aXRfZmFybXMIAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAE4eWllbGRfZmFybV9pZHNVAwHQQm91bmRlZFZlYzxZaWVsZEZhcm1JZCwgVDo6TWF4RmFybUVudHJpZXNQZXJEZXBvc2l0PgAPPIxFeGl0IGZyb20gYWxsIHNwZWNpZmllZCB5aWVsZCBmYXJtcwBdAVRoaXMgZnVuY3Rpb24gd2lsbCBhdHRlbXB0IHRvIHdpdGhkcmF3IHNoYXJlcyBhbmQgY2xhaW0gcmV3YXJkcyAoaWYgYXZhaWxhYmxlKSBmcm9tIGFsbKhzcGVjaWZpZWQgeWllbGQgZmFybXMgZm9yIGEgZ2l2ZW4gZGVwb3NpdC4ALFBhcmFtZXRlcnM6qC0gYG9yaWdpbmA6IGFjY291bnQgb3duZXIgb2YgZGVwb3NpdChuZnQpLtwtIGBkZXBvc2l0X2lkYDogaWQgb2YgdGhlIGRlcG9zaXQgdG8gY2xhaW0gcmV3YXJkcyBmb3Iu4C0gYHlpZWxkX2Zhcm1faWRzYDogaWQocykgb2YgeWllbGQgZmFybShzKSB0byBleGl0IGZyb20uABhFbWl0czqsKiBgUmV3YXJkQ2xhaW1lZGAgZm9yIGVhY2ggc3VjY2Vzc2Z1bCBjbGFpbcgqIGBTaGFyZXNXaXRoZHJhd25gIGZvciBlYWNoIHN1Y2Nlc3NmdWwgd2l0aGRyYXdhbNgqIGBEZXBvc2l0RGVzdHJveWVkYCBpZiB0aGUgZGVwb3NpdCBpcyBmdWxseSB3aXRoZHJhd24AwGFkZF9saXF1aWRpdHlfc3RhYmxlc3dhcF9vbW5pcG9vbF9hbmRfam9pbl9mYXJtcwwBOHN0YWJsZV9wb29sX2lkEAEoVDo6QXNzZXRJZAABUHN0YWJsZV9hc3NldF9hbW91bnRzXQMBBQFCb3VuZGVkVmVjPEFzc2V0QW1vdW50PFQ6OkFzc2V0SWQ+LCBDb25zdFUzMjxNQVhfQVNTRVRTX0lOX1BPT0w+PgABMGZhcm1fZW50cmllc2kDATUBT3B0aW9uPEJvdW5kZWRWZWM8KEdsb2JhbEZhcm1JZCwgWWllbGRGYXJtSWQpLCBUOjoKTWF4RmFybUVudHJpZXNQZXJEZXBvc2l0Pj4AEED4VGhpcyBmdW5jdGlvbiBhbGxvd3MgdXNlciB0byBhZGQgbGlxdWlkaXR5IHRvIHN0YWJsZXN3YXAgcG9vbCzYdGhlbiBhZGRpbmcgdGhlIHN0YWJsZSBzaGFyZXMgYXMgbGlxdWlkaXR5IHRvIG9tbmlwb29s1HRoZW4gdXNlIHRoYXQgb21uaXBvb2wgc2hhcmVzIHRvIGpvaW4gbXVsdGlwbGUgZmFybXMuAI0BSWYgZmFybSBlbnRyaWVzIGFyZSBub3Qgc3BlY2lmaWVkIChlbXB0eSB2ZWN0b28pLCB0aGVuIHRoZSBsaXF1aWRpdGllcyBhcmUgc3RpbGwgYWRkZWQgdG8gdGhlIHBvb2xzACxQYXJhbWV0ZXJzOkEBLSBgb3JpZ2luYDogb3duZXIgb2YgdGhlIG9tbmlwb29sIHBvc2l0aW9uIHRvIGRlcG9zaXQgaW50byB0aGUgbGlxdWlkaXR5IG1pbmluZy4JAS0gYHN0YWJsZV9wb29sX2lkYDogaWQgb2YgdGhlIHN0YWJsZXN3YXAgcG9vbCB0byBhZGQgbGlxdWlkaXR5IHRvLmEBLSBgc3RhYmxlX2Fzc2V0X2Ftb3VudHNgOiBhbW91bnQgb2YgZWFjaCBhc3NldCB0byBiZSBkZXBvc2l0ZWQgaW50byB0aGUgc3RhYmxlc3dhcCBwb29sLqAtIGBmYXJtX2VudHJpZXNgOiBsaXN0IG9mIGZhcm1zIHRvIGpvaW4uALBFbWl0cyBgTGlxdWlkaXR5QWRkZWRgIGV2ZW50cyBmcm9tIGJvdGggcG9vbNhFbWl0cyBgU2hhcmVzRGVwb3NpdGVkYCBldmVudCBmb3IgdGhlIGZpcnN0IGZhcm0gZW50cnkdAUVtaXRzIGBTaGFyZXNSZWRlcG9zaXRlZGAgZXZlbnQgZm9yIGVhY2ggZmFybSBlbnRyeSBhZnRlciB0aGUgZmlyc3Qgb25lAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy49Aww0c3BfYXJpdGhtZXRpYyhwZXJfdGhpbmdzLFBlcnF1aW50aWxsAAAEADABDHU2NAAAQQMEGE9wdGlvbgQEVAFFAwEIEE5vbmUAAAAQU29tZQQARQMAAAEAAEUDDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlczBMb3lhbHR5Q3VydmUAAAgBZGluaXRpYWxfcmV3YXJkX3BlcmNlbnRhZ2U9AQEkRml4ZWRVMTI4AAEoc2NhbGVfY29lZhABDHUzMgAASQMMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFNAwRTAAAEAFEDARhWZWM8VD4AAE0DAAAECBAQAFEDAAACTQMAVQMMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEQBFMAAAQAWQMBGFZlYzxUPgAAWQMAAAIQAF0DDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBYQMEUwAABABlAwEYVmVjPFQ+AABhAww4aHlkcmFkeF90cmFpdHMoc3RhYmxlc3dhcCxBc3NldEFtb3VudAQcQXNzZXRJZAEQAAgBIGFzc2V0X2lkEAEcQXNzZXRJZAABGGFtb3VudBgBEHUxMjgAAGUDAAACYQMAaQMEGE9wdGlvbgQEVAFJAwEIEE5vbmUAAAAQU29tZQQASQMAAAEAAG0DDChwYWxsZXRfb3RjGHBhbGxldBBDYWxsBARUAAEQLHBsYWNlX29yZGVyFAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABSHBhcnRpYWxseV9maWxsYWJsZSABEGJvb2wAAEhYQ3JlYXRlIGEgbmV3IE9UQyBvcmRlcgQgLFBhcmFtZXRlcnM6pC0gYGFzc2V0X2luYDogQXNzZXQgd2hpY2ggaXMgYmVpbmcgYm91Z2h0oC0gYGFzc2V0X291dGA6IEFzc2V0IHdoaWNoIGlzIGJlaW5nIHNvbGTYLSBgYW1vdW50X2luYDogQW1vdW50IHRoYXQgdGhlIG9yZGVyIGlzIHNlZWtpbmcgdG8gYnV5wC0gYGFtb3VudF9vdXRgOiBBbW91bnQgdGhhdCB0aGUgb3JkZXIgaXMgc2VsbGluZ0kBLSBgcGFydGlhbGx5X2ZpbGxhYmxlYDogRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdXNlcnMgY2FuIGZpbGwgdGhlIG9yZGVyIHBhcnRpYWxseQAwVmFsaWRhdGlvbnM6dC0gYXNzZXRfaW4gbXVzdCBiZSByZWdpc3RlcmVkRQEtIGFtb3VudF9pbiBtdXN0IGJlIGhpZ2hlciB0aGFuIHRoZSBleGlzdGVudGlhbCBkZXBvc2l0IG9mIGFzc2V0X2luIG11bHRpcGxpZWQgYnl4ICBFeGlzdGVudGlhbERlcG9zaXRNdWx0aXBsaWVyTQEtIGFtb3VudF9vdXQgbXVzdCBiZSBoaWdoZXIgdGhhbiB0aGUgZXhpc3RlbnRpYWwgZGVwb3NpdCBvZiBhc3NldF9vdXQgbXVsdGlwbGllZCBieXggIEV4aXN0ZW50aWFsRGVwb3NpdE11bHRpcGxpZXIAHEV2ZW50czqELSBgUGxhY2VkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuSHBhcnRpYWxfZmlsbF9vcmRlcggBIG9yZGVyX2lkEAEcT3JkZXJJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAUB0RmlsbCBhbiBPVEMgb3JkZXIgKHBhcnRpYWxseSkEICxQYXJhbWV0ZXJzOnQtIGBvcmRlcl9pZGA6IElEIG9mIHRoZSBvcmRlcugtIGBhbW91bnRfaW5gOiBBbW91bnQgd2l0aCB3aGljaCB0aGUgb3JkZXIgaXMgYmVpbmcgZmlsbGVkADBWYWxpZGF0aW9uczqILSBvcmRlciBtdXN0IGJlIHBhcnRpYWxseV9maWxsYWJsZY0BLSBhZnRlciB0aGUgcGFydGlhbF9maWxsLCB0aGUgcmVtYWluaW5nIG9yZGVyLmFtb3VudF9pbiBtdXN0IGJlIGhpZ2hlciB0aGFuIHRoZSBleGlzdGVudGlhbCBkZXBvc2l04CAgb2YgYXNzZXRfaW4gbXVsdGlwbGllZCBieSBFeGlzdGVudGlhbERlcG9zaXRNdWx0aXBsaWVykQEtIGFmdGVyIHRoZSBwYXJ0aWFsX2ZpbGwsIHRoZSByZW1haW5pbmcgb3JkZXIuYW1vdW50X291dCBtdXN0IGJlIGhpZ2hlciB0aGFuIHRoZSBleGlzdGVudGlhbCBkZXBvc2l05CAgb2YgYXNzZXRfb3V0IG11bHRpcGxpZWQgYnkgRXhpc3RlbnRpYWxEZXBvc2l0TXVsdGlwbGllcgAcRXZlbnRzOtBgUGFydGlhbGx5RmlsbGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuIERlcHJlY2F0ZWQuyGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuKGZpbGxfb3JkZXIEASBvcmRlcl9pZBABHE9yZGVySWQAAiB4RmlsbCBhbiBPVEMgb3JkZXIgKGNvbXBsZXRlbHkpBCAsUGFyYW1ldGVyczp0LSBgb3JkZXJfaWRgOiBJRCBvZiB0aGUgb3JkZXIAHEV2ZW50czqsYEZpbGxlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLshgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLjBjYW5jZWxfb3JkZXIEASBvcmRlcl9pZBABHE9yZGVySWQAAyxgQ2FuY2VsIGFuIG9wZW4gT1RDIG9yZGVyBCAsUGFyYW1ldGVyczp0LSBgb3JkZXJfaWRgOiBJRCBvZiB0aGUgb3JkZXKYLSBgYXNzZXRgOiBBc3NldCB3aGljaCBpcyBiZWluZyBmaWxsZWSgLSBgYW1vdW50YDogQW1vdW50IHdoaWNoIGlzIGJlaW5nIGZpbGxlZAAwVmFsaWRhdGlvbnM6XC0gY2FsbGVyIGlzIG9yZGVyIG93bmVyAKBFbWl0cyBgQ2FuY2VsbGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLnEDDFhwYWxsZXRfY2lyY3VpdF9icmVha2VyGHBhbGxldBBDYWxsBARUAAEYWHNldF90cmFkZV92b2x1bWVfbGltaXQIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAUh0cmFkZV92b2x1bWVfbGltaXRNAwEoKHUzMiwgdTMyKQAAJJBTZXQgdHJhZGUgdm9sdW1lIGxpbWl0IGZvciBhbiBhc3NldC4ALFBhcmFtZXRlcnM6LQEtIGBvcmlnaW5gOiBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwuIE11c3QgYmUgYFVwZGF0ZUxpbWl0c09yaWdpbmCgLSBgYXNzZXRfaWRgOiBUaGUgaWRlbnRpZmllciBvZiBhbiBhc3NldCkBLSBgdHJhZGVfdm9sdW1lX2xpbWl0YDogTmV3IHRyYWRlIHZvbHVtZSBsaW1pdCByZXByZXNlbnRlZCBhcyBhIHBlcmNlbnRhZ2UA2EVtaXRzIGBUcmFkZVZvbHVtZUxpbWl0Q2hhbmdlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBcc2V0X2FkZF9saXF1aWRpdHlfbGltaXQIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAATxsaXF1aWRpdHlfbGltaXR1AwFIT3B0aW9uPCh1MzIsIHUzMik+AAEklFNldCBhZGQgbGlxdWlkaXR5IGxpbWl0IGZvciBhbiBhc3NldC4ALFBhcmFtZXRlcnM6LQEtIGBvcmlnaW5gOiBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwuIE11c3QgYmUgYFVwZGF0ZUxpbWl0c09yaWdpbmCgLSBgYXNzZXRfaWRgOiBUaGUgaWRlbnRpZmllciBvZiBhbiBhc3NldDUBLSBgbGlxdWlkaXR5X2xpbWl0YDogT3B0aW9uYWwgYWRkIGxpcXVpZGl0eSBsaW1pdCByZXByZXNlbnRlZCBhcyBhIHBlcmNlbnRhZ2UA3EVtaXRzIGBBZGRMaXF1aWRpdHlMaW1pdENoYW5nZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AaHNldF9yZW1vdmVfbGlxdWlkaXR5X2xpbWl0CAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAE8bGlxdWlkaXR5X2xpbWl0dQMBSE9wdGlvbjwodTMyLCB1MzIpPgACJKBTZXQgcmVtb3ZlIGxpcXVpZGl0eSBsaW1pdCBmb3IgYW4gYXNzZXQuACxQYXJhbWV0ZXJzOi0BLSBgb3JpZ2luYDogVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsLiBNdXN0IGJlIGBVcGRhdGVMaW1pdHNPcmlnaW5goC0gYGFzc2V0X2lkYDogVGhlIGlkZW50aWZpZXIgb2YgYW4gYXNzZXRBAS0gYGxpcXVpZGl0eV9saW1pdGA6IE9wdGlvbmFsIHJlbW92ZSBsaXF1aWRpdHkgbGltaXQgcmVwcmVzZW50ZWQgYXMgYSBwZXJjZW50YWdlAOhFbWl0cyBgUmVtb3ZlTGlxdWlkaXR5TGltaXRDaGFuZ2VkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADhsb2NrZG93bl9hc3NldAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABFHVudGlsEAFEQmxvY2tOdW1iZXJGb3I8VD4AAyh0TG9ja2Rvd24gYW4gYXNzZXQgZm9yIG1pbnRpbmcApENhbiBiZSBjYWxsZWQgb25seSBieSBhbiBhdXRob3JpdHkgb3JpZ2luACxQYXJhbWV0ZXJzOiEBLSBgb3JpZ2luYDogVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsLiBNdXN0IGJlIGBBdXRob3JpdHlPcmlnaW5goC0gYGFzc2V0X2lkYDogVGhlIGlkZW50aWZpZXIgb2YgYW4gYXNzZXTsLSBgdW50aWxgOiBUaGUgYmxvY2sgbnVtYmVyIHVudGlsIHdoaWNoIHRoZSBhc3NldCBpcyBsb2NrZWQAyC8vLyBFbWl0cyBgQXNzZXRMb2NrZG93bmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuTGZvcmNlX2xpZnRfbG9ja2Rvd24EASBhc3NldF9pZBABKFQ6OkFzc2V0SWQABCi4UmVtb3ZlIGFzc2V0IGxvY2tkb3duIHJlZ2FyZGxlc3Mgb2YgdGhlIHN0YXRlLgCkQ2FuIGJlIGNhbGxlZCBvbmx5IGJ5IGFuIGF1dGhvcml0eSBvcmlnaW4ALFBhcmFtZXRlcnM6ACEBLSBgb3JpZ2luYDogVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsLiBNdXN0IGJlIGBBdXRob3JpdHlPcmlnaW5goC0gYGFzc2V0X2lkYDogVGhlIGlkZW50aWZpZXIgb2YgYW4gYXNzZXQAzEVtaXRzIGBBc3NldExvY2tkb3duUmVtb3ZlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLjxyZWxlYXNlX2RlcG9zaXQIAQx3aG8AATBUOjpBY2NvdW50SWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQABThwUmVsZWFzZSBkZXBvc2l0IG9mIGFuIGFzc2V0LgA5AUl0IHJlbGVhc2VzIGFsbCB0aGUgcGFsbGV0IHJlc2VydmVkIGJhbGFuY2Ugb2YgdGhlIGFzc2V0IGZvciB0aGUgZ2l2ZW4gYWNjb3VudAA1AUNhbiBiZSBjYWxsZWQgYnkgYW55IG9yaWdpbiwgYnV0IG9ubHkgaWYgdGhlIGFzc2V0IGlzIG5vdCBpbiBhY3RpdmUgbG9ja2Rvd24uANBUaGUgY2FsbGVyIGRvZXMgbm90IHBheSBmb3IgdGhpcyBjYWxsIGlmIHN1Y2Nlc3NmdWwuACxQYXJhbWV0ZXJzOhUBLSBgb3JpZ2luYDogVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsLiBDYW4gYmUgc2lnbmVkIG9yIHJvb3QuwC0gYHdob2A6IFRoZSBhY2NvdW50IHRoYXQgaXMgc2F2aW5nIHRoZSBkZXBvc2l0LqgtIGBhc3NldF9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldC4AuEVtaXRzIGBEZXBvc2l0UmVsZWFzZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMudQMEGE9wdGlvbgQEVAFNAwEIEE5vbmUAAAAQU29tZQQATQMAAAEAAHkDDFRwYWxsZXRfcm91dGVfZXhlY3V0b3IYcGFsbGV0EENhbGwEBFQAARQQc2VsbBQBIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YAShUOjpCYWxhbmNlAAE4bWluX2Ftb3VudF9vdXQYAShUOjpCYWxhbmNlAAEUcm91dGV9AwFEUm91dGU8VDo6QXNzZXRJZD4AADT8RXhlY3V0ZXMgYSBzZWxsIHdpdGggYSBzZXJpZXMgb2YgdHJhZGVzIHNwZWNpZmllZCBpbiB0aGUgcm91dGUuAQFUaGUgcHJpY2UgZm9yIGVhY2ggdHJhZGUgaXMgZGV0ZXJtaW5lZCBieSB0aGUgY29ycmVzcG9uZGluZyBBTU0uAJQtIGBvcmlnaW5gOiBUaGUgZXhlY3V0b3Igb2YgdGhlIHRyYWRlxC0gYGFzc2V0X2luYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IHRvIHNlbGzULSBgYXNzZXRfb3V0YDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IHRvIHJlY2VpdmW8LSBgYW1vdW50X2luYDogVGhlIGFtb3VudCBvZiBgYXNzZXRfaW5gIHRvIHNlbGwFAS0gYG1pbl9hbW91bnRfb3V0YDogVGhlIG1pbmltdW0gYW1vdW50IG9mIGBhc3NldF9vdXRgIHRvIHJlY2VpdmUu0QItIGByb3V0ZWA6IFNlcmllcyBvZiBbYFRyYWRlPEFzc2V0SWQ+YF0gdG8gYmUgZXhlY3V0ZWQuIEEgW2BUcmFkZTxBc3NldElkPmBdIHNwZWNpZmllcyB0aGUgYXNzZXQgcGFpciAoYGFzc2V0X2luYCwgYGFzc2V0X291dGApIGFuZCB0aGUgQU1NIChgcG9vbGApIGluIHdoaWNoIHRoZSB0cmFkZSBpcyBleGVjdXRlZC7cCQkgICBJZiBub3Qgc3BlY2lmaWVkLCB0aGFuIHRoZSBvbi1jaGFpbiByb3V0ZSBpcyB1c2VkLhkBCQkgICBJZiBubyBvbi1jaGFpbiBpcyBwcmVzZW50LCB0aGVuIG9tbmlwb29sIHJvdXRlIGlzIHVzZWQgYXMgZGVmYXVsdACYRW1pdHMgYFJvdXRlRXhlY3V0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4MYnV5FAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABKGFtb3VudF9vdXQYAShUOjpCYWxhbmNlAAE0bWF4X2Ftb3VudF9pbhgBKFQ6OkJhbGFuY2UAARRyb3V0ZX0DAURSb3V0ZTxUOjpBc3NldElkPgABNPhFeGVjdXRlcyBhIGJ1eSB3aXRoIGEgc2VyaWVzIG9mIHRyYWRlcyBzcGVjaWZpZWQgaW4gdGhlIHJvdXRlLgEBVGhlIHByaWNlIGZvciBlYWNoIHRyYWRlIGlzIGRldGVybWluZWQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgQU1NLgCULSBgb3JpZ2luYDogVGhlIGV4ZWN1dG9yIG9mIHRoZSB0cmFkZSkBLSBgYXNzZXRfaW5gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgdG8gYmUgc3dhcHBlZCB0byBidXkgYGFzc2V0X291dGDELSBgYXNzZXRfb3V0YDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IHRvIGJ1ecAtIGBhbW91bnRfb3V0YDogVGhlIGFtb3VudCBvZiBgYXNzZXRfb3V0YCB0byBidXkRAS0gYG1heF9hbW91bnRfaW5gOiBUaGUgbWF4IGFtb3VudCBvZiBgYXNzZXRfaW5gIHRvIHNwZW5kIG9uIHRoZSBidXku0QItIGByb3V0ZWA6IFNlcmllcyBvZiBbYFRyYWRlPEFzc2V0SWQ+YF0gdG8gYmUgZXhlY3V0ZWQuIEEgW2BUcmFkZTxBc3NldElkPmBdIHNwZWNpZmllcyB0aGUgYXNzZXQgcGFpciAoYGFzc2V0X2luYCwgYGFzc2V0X291dGApIGFuZCB0aGUgQU1NIChgcG9vbGApIGluIHdoaWNoIHRoZSB0cmFkZSBpcyBleGVjdXRlZC7cCQkgICBJZiBub3Qgc3BlY2lmaWVkLCB0aGFuIHRoZSBvbi1jaGFpbiByb3V0ZSBpcyB1c2VkLhkBCQkgICBJZiBubyBvbi1jaGFpbiBpcyBwcmVzZW50LCB0aGVuIG9tbmlwb29sIHJvdXRlIGlzIHVzZWQgYXMgZGVmYXVsdACYRW1pdHMgYFJvdXRlRXhlY3V0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4kc2V0X3JvdXRlCAEoYXNzZXRfcGFpco0DAVRBc3NldFBhaXI8VDo6QXNzZXRJZD4AASRuZXdfcm91dGV9AwFEUm91dGU8VDo6QXNzZXRJZD4AAlS8U2V0cyB0aGUgb24tY2hhaW4gcm91dGUgZm9yIGEgZ2l2ZW4gYXNzZXQgcGFpci4A+FRoZSBuZXcgcm91dGUgaXMgdmFsaWRhdGVkIGJ5IGJlaW5nIGV4ZWN1dGVkIGluIGEgZHJ5LXJ1biBtb2RlAIUBSWYgdGhlcmUgaXMgbm8gcm91dGUgZXhwbGljaXRseSBzZXQgZm9yIGFuIGFzc2V0IHBhaXIsIHRoZW4gd2UgdXNlIHRoZSBvbW5pcG9vbCByb3V0ZSBhcyBkZWZhdWx0LgApAVdoZW4gYSBuZXcgcm91dGUgaXMgc2V0LCB3ZSBjb21wYXJlIGl0IHRvIHRoZSBleGlzdGluZyAob3IgZGVmYXVsdCkgcm91dGUuoQFUaGUgY29tcGFyaXNvbiBoYXBwZW5zIGJ5IGNhbGN1bGF0aW5nIHNlbGwgYW1vdW50X291dHMgZm9yIHRoZSByb3V0ZXMsIGJ1dCBhbHNvIGZvciB0aGUgaW52ZXJzZWQgcm91dGVzLgBlAVRoZSByb3V0ZSBpcyBzdG9yZWQgaW4gYW4gb3JkZXJlZCBtYW5uZXIsIGJhc2VkIG9uIHRoZSBvZGVyIG9mIHRoZSBpZHMgaW4gdGhlIGFzc2V0IHBhaXIuAPRJZiB0aGUgcm91dGUgaXMgc2V0IHN1Y2Nlc3NmdWxseSwgdGhlbiB0aGUgZmVlIGlzIHBheWVkIGJhY2suAKgtIGBvcmlnaW5gOiBUaGUgb3JpZ2luIG9mIHRoZSByb3V0ZSBzZXR0ZXItAS0gYGFzc2V0X3BhaXJgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQtcGFpciBmb3Igd2hpY2ggdGhlIHJvdXRlIGlzIHNldOECLSBgbmV3X3JvdXRlYDogU2VyaWVzIG9mIFtgVHJhZGU8QXNzZXRJZD5gXSB0byBiZSBleGVjdXRlZC4gQSBbYFRyYWRlPEFzc2V0SWQ+YF0gc3BlY2lmaWVzIHRoZSBhc3NldCBwYWlyIChgYXNzZXRfaW5gLCBgYXNzZXRfb3V0YCkgYW5kIHRoZSBBTU0gKGBwb29sYCkgaW4gd2hpY2ggdGhlIHRyYWRlIGlzIGV4ZWN1dGVkLgCURW1pdHMgYFJvdXRlVXBkYXRlZGAgd2hlbiBzdWNjZXNzZnVsLgApAUZhaWxzIHdpdGggYFJvdXRlVXBkYXRlSXNOb3RTdWNjZXNzZnVsYCBlcnJvciB3aGVuIGZhaWxlZCB0byBzZXQgdGhlIHJvdXRlAEhmb3JjZV9pbnNlcnRfcm91dGUIAShhc3NldF9wYWlyjQMBVEFzc2V0UGFpcjxUOjpBc3NldElkPgABJG5ld19yb3V0ZX0DAURSb3V0ZTxUOjpBc3NldElkPgADOJEBRm9yY2UgaW5zZXJ0cyB0aGUgb24tY2hhaW4gcm91dGUgZm9yIGEgZ2l2ZW4gYXNzZXQgcGFpciwgc28gdGhlcmUgaXMgbm8gYW55IHZhbGlkYXRpb24gZm9yIHRoZSByb3V0ZQCoQ2FuIG9ubHkgYmUgY2FsbGVkIGJ5IFQ6OkZvcmNlSW5zZXJ0T3JpZ2luAGUBVGhlIHJvdXRlIGlzIHN0b3JlZCBpbiBhbiBvcmRlcmVkIG1hbm5lciwgYmFzZWQgb24gdGhlIG9kZXIgb2YgdGhlIGlkcyBpbiB0aGUgYXNzZXQgcGFpci4A9ElmIHRoZSByb3V0ZSBpcyBzZXQgc3VjY2Vzc2Z1bGx5LCB0aGVuIHRoZSBmZWUgaXMgcGF5ZWQgYmFjay4AqC0gYG9yaWdpbmA6IFRoZSBvcmlnaW4gb2YgdGhlIHJvdXRlIHNldHRlci0BLSBgYXNzZXRfcGFpcmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldC1wYWlyIGZvciB3aGljaCB0aGUgcm91dGUgaXMgc2V04QItIGBuZXdfcm91dGVgOiBTZXJpZXMgb2YgW2BUcmFkZTxBc3NldElkPmBdIHRvIGJlIGV4ZWN1dGVkLiBBIFtgVHJhZGU8QXNzZXRJZD5gXSBzcGVjaWZpZXMgdGhlIGFzc2V0IHBhaXIgKGBhc3NldF9pbmAsIGBhc3NldF9vdXRgKSBhbmQgdGhlIEFNTSAoYHBvb2xgKSBpbiB3aGljaCB0aGUgdHJhZGUgaXMgZXhlY3V0ZWQuAJRFbWl0cyBgUm91dGVVcGRhdGVkYCB3aGVuIHN1Y2Nlc3NmdWwuACBzZWxsX2FsbBABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAAThtaW5fYW1vdW50X291dBgBKFQ6OkJhbGFuY2UAARRyb3V0ZX0DAURSb3V0ZTxUOjpBc3NldElkPgAEOPxFeGVjdXRlcyBhIHNlbGwgd2l0aCBhIHNlcmllcyBvZiB0cmFkZXMgc3BlY2lmaWVkIGluIHRoZSByb3V0ZS7ESXQgc2VsbHMgYWxsIHJlZHVjaWJsZSB1c2VyIGJhbGFuY2Ugb2YgYGFzc2V0X2luYAEBVGhlIHByaWNlIGZvciBlYWNoIHRyYWRlIGlzIGRldGVybWluZWQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgQU1NLgCULSBgb3JpZ2luYDogVGhlIGV4ZWN1dG9yIG9mIHRoZSB0cmFkZcQtIGBhc3NldF9pbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCB0byBzZWxs1C0gYGFzc2V0X291dGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCB0byByZWNlaXZlBQEtIGBtaW5fYW1vdW50X291dGA6IFRoZSBtaW5pbXVtIGFtb3VudCBvZiBgYXNzZXRfb3V0YCB0byByZWNlaXZlLtECLSBgcm91dGVgOiBTZXJpZXMgb2YgW2BUcmFkZTxBc3NldElkPmBdIHRvIGJlIGV4ZWN1dGVkLiBBIFtgVHJhZGU8QXNzZXRJZD5gXSBzcGVjaWZpZXMgdGhlIGFzc2V0IHBhaXIgKGBhc3NldF9pbmAsIGBhc3NldF9vdXRgKSBhbmQgdGhlIEFNTSAoYHBvb2xgKSBpbiB3aGljaCB0aGUgdHJhZGUgaXMgZXhlY3V0ZWQu3AkJICAgSWYgbm90IHNwZWNpZmllZCwgdGhhbiB0aGUgb24tY2hhaW4gcm91dGUgaXMgdXNlZC4ZAQkJICAgSWYgbm8gb24tY2hhaW4gaXMgcHJlc2VudCwgdGhlbiBvbW5pcG9vbCByb3V0ZSBpcyB1c2VkIGFzIGRlZmF1bHQAmEVtaXRzIGBSb3V0ZUV4ZWN1dGVkYCB3aGVuIHN1Y2Nlc3NmdWwuAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy59AwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAYEDBFMAAAQAiQMBGFZlYzxUPgAAgQMMOGh5ZHJhZHhfdHJhaXRzGHJvdXRlchRUcmFkZQQcQXNzZXRJZAEQAAwBEHBvb2yFAwFEUG9vbFR5cGU8QXNzZXRJZD4AASBhc3NldF9pbhABHEFzc2V0SWQAASRhc3NldF9vdXQQARxBc3NldElkAACFAww4aHlkcmFkeF90cmFpdHMYcm91dGVyIFBvb2xUeXBlBBxBc3NldElkARABGAxYWUsAAAAMTEJQAAEAKFN0YWJsZXN3YXAEABABHEFzc2V0SWQAAgAgT21uaXBvb2wAAwAQQWF2ZQAEAAxIU00ABQAAiQMAAAKBAwCNAww4aHlkcmFkeF90cmFpdHMYcm91dGVyJEFzc2V0UGFpcgQcQXNzZXRJZAEQAAgBIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAAJEDDExwYWxsZXRfZHluYW1pY19mZWVzGHBhbGxldBBDYWxsBARUAAEINHNldF9hc3NldF9mZWUIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARhjb25maWeVAwFYQXNzZXRGZWVDb25maWc8VDo6RmVlPgAAIIhTZXQgZmVlIGNvbmZpZ3VyYXRpb24gZm9yIGFuIGFzc2V0AHEBVGhpcyBmdW5jdGlvbiBhbGxvd3Mgc2V0dGluZyBlaXRoZXIgZml4ZWQgb3IgZHluYW1pYyBmZWUgY29uZmlndXJhdGlvbiBmb3IgYSBzcGVjaWZpYyBhc3NldC4ALCMgQXJndW1lbnRzmCogYG9yaWdpbmAgLSBBdXRob3JpdHkgb3JpZ2luIHJlcXVpcmVkoCogYGFzc2V0X2lkYCAtIFRoZSBhc3NldCBJRCB0byBjb25maWd1cmXEKiBgY29uZmlnYCAtIEZlZSBjb25maWd1cmF0aW9uIChGaXhlZCBvciBEeW5hbWljKUByZW1vdmVfYXNzZXRfZmVlBAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEgDQFSZW1vdmUgZmVlIGNvbmZpZ3VyYXRpb24gZm9yIGFuIGFzc2V0ICh3aWxsIHVzZSBkZWZhdWx0IHBhcmFtZXRlcnMpAC0BVGhpcyBmdW5jdGlvbiByZW1vdmVzIGFueSBjdXN0b20gZmVlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgYXNzZXQufQFBZnRlciByZW1vdmFsLCB0aGUgYXNzZXQgd2lsbCB1c2UgdGhlIGRlZmF1bHQgZHluYW1pYyBmZWUgcGFyYW1ldGVycyBjb25maWd1cmVkIGluIHRoZSBydW50aW1lLgAsIyBBcmd1bWVudHOYKiBgb3JpZ2luYCAtIEF1dGhvcml0eSBvcmlnaW4gcmVxdWlyZWTcKiBgYXNzZXRfaWRgIC0gVGhlIGFzc2V0IElEIHRvIHJlbW92ZSBjb25maWd1cmF0aW9uIGZvcgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6VAwxMcGFsbGV0X2R5bmFtaWNfZmVlcxR0eXBlczhBc3NldEZlZUNvbmZpZwQMRmVlASEDAQgURml4ZWQIASRhc3NldF9mZWUhAwEMRmVlAAEwcHJvdG9jb2xfZmVlIQMBDEZlZQAAABxEeW5hbWljCAFAYXNzZXRfZmVlX3BhcmFtc5kDAThGZWVQYXJhbXM8RmVlPgABTHByb3RvY29sX2ZlZV9wYXJhbXOZAwE4RmVlUGFyYW1zPEZlZT4AAQAAmQMMTHBhbGxldF9keW5hbWljX2ZlZXMUdHlwZXMkRmVlUGFyYW1zBAxGZWUBIQMAEAEcbWluX2ZlZSEDAQxGZWUAARxtYXhfZmVlIQMBDEZlZQABFGRlY2F5PQEBJEZpeGVkVTEyOAABNGFtcGxpZmljYXRpb249AQEkRml4ZWRVMTI4AACdAww4cGFsbGV0X3N0YWtpbmcYcGFsbGV0EENhbGwEBFQAARRIaW5pdGlhbGl6ZV9zdGFraW5nAAAcRQFTdGFraW5nIHBhbGxldCBpbml0aWFsaXphdGlvbi4gVGhpcyBjYWxsIHdpbGwgcmVzZXJ2ZWQgYHBvdGAncyBiYWxhbmNlIHRvIHByZXZlbnQFAWFjY291bnQgZHVzdGluZyBhbmQgc3RhcnQgY29sbGVjdGluZyBmZWVzIGZyb20gdHJhZGVzIGFzIHJld2FyZHMuAGkBYHBvdGDigJlzIGFjY291bnQgaGFzIHRvIGhhdmUgYSBiYWxhbmNlIHdoaWNoIHdpbGwgYmUgcmVzZXJ2ZWQgdG8gcHJldmVudCBhY2NvdW50IGR1c3RpbmcuAMRFbWl0cyBgU3Rha2luZ0luaXRpYWxpemVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuABRzdGFrZQQBGGFtb3VudBgBHEJhbGFuY2UAATisU3Rha2UgYGFtb3VudGAgaW50byBhIG5ldyBzdGFraW5nIHBvc2l0aW9uLgBZAWBzdGFrZWAgbG9ja3Mgc3BlY2lmaWVkIGBhbW91bnRgIGludG8gc3Rha2luZyBhbmQgY3JlYXRlcyBuZXcgTkZUIHJlcHJlc2VudGluZyBzdGFraW5nJHBvc2l0aW9uLjkBVXNlcnMgY2FuIHN0YWtlIGBOYXRpdmVBc3NldElkYCBiYWxhbmNlIHdoaWNoIGlzIG5vdCB2ZXN0ZWQgb3IgYWxyZWFkeSBzdGFrZWQuADEBU3Rha2luZyBwYWxsZXQgbXVzdCBiZSBpbml0aWFsaXplZCBvdGhlcndpc2UgZXh0cmluc2ljIHdpbGwgZmFpbCB3aXRoIGVycm9yLgAsUGFyYW1ldGVyczpRAS0gYGFtb3VudGA6IEFtb3VudCBvZiBuYXRpdmUgYXNzZXQgdG8gYmUgc3Rha2VkLiBgYW1vdW50YCBjYW4ndCBiZSB2ZXN0ZWQgb3IgYWxyZWFkeRhzdGFrZWQAuEVtaXRzIGBQb3NpdGlvbkNyZWF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AOGluY3JlYXNlX3N0YWtlCAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAABGGFtb3VudBgBHEJhbGFuY2UAAkBdAUV4dHJpbnNpYyB0byBpbmNyZWFzZSBzdGFrZWQgYW1vdW50IG9mIGV4aXN0aW5nIHN0YWtpbmcgcG9zaXRpb24gYnkgc3BlY2lmaWVkIGBhbW91bnRgLgBVAWBpbmNyZWFzZV9zdGFrZWAgaW5jcmVhc2VzIHN0YWtlZCBhbW91bnQgb2YgcG9zaXRpb24gc3BlY2lmaWVkIGJ5IGBwb3N0aW9uX2lkYCBieSB0aGV8YGFtb3VudGAgc3BlY2lmaWVkIGJ5IHRoZSB1c2VyLjUBU3Rha2luZyBwb3NpdGlvbiBtdXN0IGV4aXN0IGFuZCBgb3JpZ2luYCBoYXMgdG8gYmUgdGhlIG93bmVyIG9mIHRoZSBwb3NpdGlvbi74VXNlcnMgY2FuIHN0YWtlIHRva2VucyB3aGljaCBhcmUgbm90IHZlc3RlZCBvciBhbHJlYWR5IHN0YWtlZC41AVBvc2l0aW9uJ3MgcGFyYW1zIGUuZyBwb2ludHMgYXJlIHVwZGF0ZWQgdG8gb2Zmc2V0IHN0YWtlIGluY3JlYXNlIGFuZCByZXdhcmRz9GFjY3VtdWxhdGVkIHVudGlsIHRoaXMgcG9pbnQgYXJlIHBhaWQgYW5kIGxvY2tlZCB0byB0aGUgdXNlci4ALFBhcmFtZXRlcnM6OQEtIGBwb3NpdGlvbl9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBwb3NpdGlvbiB3aGljaCBzdGFrZSB3aWxsIGJlIGluY3JlYXNlZC5xAS0gYGFtb3VudGA6IEFtb3VudCBvZiBuYXRpdmUgYXNzZXQgdG8gYmUgYWRkZWQgdG8gc3Rha2VkIGFtb3VudC4gYGFtb3VudGAgY2FuJ3QgYmUgdmVzdGVkIG9yOGFscmVhZHkgc3Rha2VkAKRFbWl0cyBgU3Rha2VBZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAUY2xhaW0EASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAM44ENsYWltIHJld2FyZHMgYWNjdW11bGF0ZWQgZm9yIHNwZWNpZmljIHN0YWtpbmcgcG9zaXRpb24uAFEBRnVuY3Rpb24gY2FsY3VsYXRlcyBhbW91bnQgb2YgcmV3YXJkcyB0byBwYXkgZm9yIHNwZWNpZmllZCBzdGFraW5nIHBvc2l0aW9uIGJhc2VkIG9uXQF0aGUgYW1vdW50IG9mIHBvaW50cyBwb3NpdGlvbiBhY2N1bXVsYXRlZC4gRnVuY3Rpb24gYWxzbyB1bmxvY2tzIGFsbCB0aGUgcmV3YXJkcyBsb2NrZWTgZnJvbSBgaW5jcmVhc2Vfc3Rha2VgIGJhc2VkIG9uIHRoZSBhbW91bnQgb2YgdGhlIHBvaW50cy4AaQFUaGlzIGFjdGlvbiBpcyBwZW5hbGl6ZWQgYnkgcmVtb3ZpbmcgYWxsIHRoZSBwb2ludHMgYW5kIHJldHVybmluZyBhbGxvY2F0ZWQgdW5wYWlkIHJld2FyZHNMZm9yIHJlZGlzdHJpYnV0aW9uLgAsUGFyYW1ldGVyczoVAS0gYHBvc2l0aW9uX2lkYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHBvc2l0aW9uIHRvIGNsYWltIHJld2FyZHMgZm9yLgC0RW1pdHMgYFJld2FyZHNDbGFpbWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuABx1bnN0YWtlBAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAAEMEkBRnVuY3Rpb24gcGF5cyByZXdhcmRzLCB1bmxvY2tzIGFsbCB0aGUgc3Rha2VkIGFzc2V0cyBhbmQgZGVzdHJveXMgc3Rha2luZyBwb3NpdGlvbmxzcGVjaWZpZWQgYnkgYHBvc2l0aW9uX2lkYC4AWQFGdW5jdGlvbiBjYWxjdWxhdGVzIGFuZCBwYXlzIGxhdGVzdCByZXdhcmRzLCB1bmxvY2tzIGFsbCB0aGUgbG9ja2VkIHJld2FyZHMgYW5kIHN0YWtlZCEBdG9rZW5zIGZvciBzdGFraW5nIHBvc2l0aW9uIGFuZCBidXJucyBORlQgcmVwcmVzZW50aW5nIHN0YWtpbmcgcG9zaXRpb24uIQFVbnBhaWQgYWxsb2NhdGVkIHJld2FyZHMgYXJlIHJldHVybmVkIHRvIHRoZSBTdGFraW5nIGZvciByZWRpc3RyaWJ1dGlvbi4ALFBhcmFtZXRlcnM6AQEtIGBwb3NpdGlvbl9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBwb3NpdGlvbiB0byBiZSBkZXN0cm95ZWQuAPRFbWl0cyBgUmV3YXJkc0NsYWltZWRgIGFuZCBgVW5zdGFrZWRgIGV2ZW50cyB3aGVuIHN1Y2Nlc3NmdWwuAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6hAwxEcGFsbGV0X3N0YWJsZXN3YXAYcGFsbGV0EENhbGwEBFQAATwsY3JlYXRlX3Bvb2wQASxzaGFyZV9hc3NldBABKFQ6OkFzc2V0SWQAARhhc3NldHOlAwHQQm91bmRlZFZlYzxUOjpBc3NldElkLCBDb25zdFUzMjxNQVhfQVNTRVRTX0lOX1BPT0w+PgABNGFtcGxpZmljYXRpb27IAQx1MTYAAQxmZWUhAwEcUGVybWlsbAAAOLxDcmVhdGUgYSBzdGFibGUgcG9vbCB3aXRoIGdpdmVuIGxpc3Qgb2YgYXNzZXRzLgD4QWxsIGFzc2V0cyBtdXN0IGJlIGNvcnJlY3RseSByZWdpc3RlcmVkIGluIGBUOjpBc3NldFJlZ2lzdHJ5YC5tAU5vdGUgdGhhdCB0aGlzIGRvZXMgbm90IHNlZWQgdGhlIHBvb2wgd2l0aCBsaXF1aWRpdHkuIFVzZSBgYWRkX2Fzc2V0c19saXF1aWRpdHlgIHRvIHByb3ZpZGVIaW5pdGlhbCBsaXF1aWRpdHkuACxQYXJhbWV0ZXJzOpgtIGBvcmlnaW5gOiBNdXN0IGJlIFQ6OkF1dGhvcml0eU9yaWdpbtQtIGBzaGFyZV9hc3NldGA6IFByZXJlZ2lzdGVyZWQgc2hhcmUgYXNzZXQgaWRlbnRpZmllcnQtIGBhc3NldHNgOiBMaXN0IG9mIEFzc2V0IGlkc5QtIGBhbXBsaWZpY2F0aW9uYDogUG9vbCBhbXBsaWZpY2F0aW9u8C0gYGZlZWA6IGZlZSB0byBiZSBhcHBsaWVkIG9uIHRyYWRlIGFuZCBsaXF1aWRpdHkgb3BlcmF0aW9ucwCgRW1pdHMgYFBvb2xDcmVhdGVkYCBldmVudCBpZiBzdWNjZXNzZnVsLjx1cGRhdGVfcG9vbF9mZWUIARxwb29sX2lkEAEoVDo6QXNzZXRJZAABDGZlZSEDARxQZXJtaWxsAAEoSFVwZGF0ZSBwb29sJ3MgZmVlLgDMaWYgcG9vbCBkb2VzIG5vdCBleGlzdCwgYFBvb2xOb3RGb3VuZGAgaXMgcmV0dXJuZWQuACxQYXJhbWV0ZXJzOpgtIGBvcmlnaW5gOiBNdXN0IGJlIFQ6OkF1dGhvcml0eU9yaWdpbmwtIGBwb29sX2lkYDogcG9vbCB0byB1cGRhdGVULSBgZmVlYDogbmV3IHBvb2wgZmVlAJxFbWl0cyBgRmVlVXBkYXRlZGAgZXZlbnQgaWYgc3VjY2Vzc2Z1bC5QdXBkYXRlX2FtcGxpZmljYXRpb24QARxwb29sX2lkEAEoVDo6QXNzZXRJZAABTGZpbmFsX2FtcGxpZmljYXRpb27IAQx1MTYAASxzdGFydF9ibG9jaxABREJsb2NrTnVtYmVyRm9yPFQ+AAEkZW5kX2Jsb2NrEAFEQmxvY2tOdW1iZXJGb3I8VD4AAihwVXBkYXRlIHBvb2wncyBhbXBsaWZpY2F0aW9uLgAsUGFyYW1ldGVyczqYLSBgb3JpZ2luYDogTXVzdCBiZSBUOjpBdXRob3JpdHlPcmlnaW5sLSBgcG9vbF9pZGA6IHBvb2wgdG8gdXBkYXRl3C0gYGZpbmFsX2FtcGxpZmljYXRpb25gOiBuZXcgZGVzaXJlZCBwb29sIGFtcGxpZmljYXRpb251AS0gYHN0YXJ0X2Jsb2NrYDogYmxvY2sgbnVtYmVyIHdoZW4gdGhlIGFtcGxpZmljYXRpb24gc3RhcnRzIHRvIG1vdmUgdG93YXJkcyBmaW5hbF9hbXBsaWNhdGlvbjkBLSBgZW5kX2Jsb2NrYDogYmxvY2sgbnVtYmVyIHdoZW4gdGhlIGFtcGxpZmljYXRpb24gcmVhY2hlcyBmaW5hbF9hbXBsaWZpY2F0aW9uAMRFbWl0cyBgQW1wbGlmaWNhdGlvblVwZGF0ZWRgIGV2ZW50IGlmIHN1Y2Nlc3NmdWwuNGFkZF9saXF1aWRpdHkIARxwb29sX2lkEAEoVDo6QXNzZXRJZAABGGFzc2V0c10DAQUBQm91bmRlZFZlYzxBc3NldEFtb3VudDxUOjpBc3NldElkPiwgQ29uc3RVMzI8TUFYX0FTU0VUU19JTl9QT09MPj4AA1B8QWRkIGxpcXVpZGl0eSB0byBzZWxlY3RlZCBwb29sLgCMVXNlIGBhZGRfYXNzZXRzX2xpcXVpZGl0eWAgaW5zdGVhZC64VGhpcyBleHRyaW5zaWNzIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgZnV0dXJlLgA1AUZpcnN0IGNhbGwgb2YgYGFkZF9saXF1aWRpdHlgIG11c3QgcHJvdmlkZSAiaW5pdGlhbCBsaXF1aWRpdHkiIG9mIGFsbCBhc3NldHMuAIUBSWYgdGhlcmUgaXMgbGlxdWlkaXR5IGFscmVhZHkgaW4gdGhlIHBvb2wsIExQIGNhbiBwcm92aWRlIGxpcXVpZGl0eSBvZiBhbnkgbnVtYmVyIG9mIHBvb2wgYXNzZXRzLgC0TFAgbXVzdCBoYXZlIHN1ZmZpY2llbnQgYW1vdW50IG9mIGVhY2ggYXNzZXQuALxPcmlnaW4gaXMgZ2l2ZW4gY29ycmVzcG9uZGluZyBhbW91bnQgb2Ygc2hhcmVzLgAsUGFyYW1ldGVyczp4LSBgb3JpZ2luYDogbGlxdWlkaXR5IHByb3ZpZGVyUC0gYHBvb2xfaWRgOiBQb29sIElkyC0gYGFzc2V0c2A6IGFzc2V0IGlkIGFuZCBsaXF1aWRpdHkgYW1vdW50IHByb3ZpZGVkALRFbWl0cyBgTGlxdWlkaXR5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC7gRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5QYWRkX2xpcXVpZGl0eV9zaGFyZXMQARxwb29sX2lkEAEoVDo6QXNzZXRJZAABGHNoYXJlcxgBHEJhbGFuY2UAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAUBtYXhfYXNzZXRfYW1vdW50GAEcQmFsYW5jZQAEPB0BQWRkIGxpcXVpZGl0eSB0byBzZWxlY3RlZCBwb29sIGdpdmVuIGV4YWN0IGFtb3VudCBvZiBzaGFyZXMgdG8gcmVjZWl2ZS4AOQFTaW1pbGFyIHRvIGBhZGRfbGlxdWlkaXR5YCBidXQgTFAgc3BlY2lmaWVzIGV4YWN0IGFtb3VudCBvZiBzaGFyZXMgdG8gcmVjZWl2ZS4A3QFUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgdXNlZCBtYWlubHkgYnkgb24tY2hhaW4gcm91dGluZyB3aGVuIGEgc3dhcCBiZXR3ZWVuIE9tbmlwb29sIGFzc2V0IGFuZCBzdGFibGUgYXNzZXQgaXMgcGVyZm9ybWVkLgAsUGFyYW1ldGVyczp4LSBgb3JpZ2luYDogbGlxdWlkaXR5IHByb3ZpZGVyUC0gYHBvb2xfaWRgOiBQb29sIElknC0gYHNoYXJlc2A6IGFtb3VudCBvZiBzaGFyZXMgdG8gcmVjZWl2ZegtIGBhc3NldF9pZGA6IGFzc2V0IGlkIG9mIGFuIGFzc2V0IHRvIHByb3ZpZGUgYXMgbGlxdWlkaXR56C0gYG1heF9hc3NldF9hbW91bnRgOiBzbGlwcGFnZSBsaW1pdC4gTWF4IGFtb3VudCBvZiBhc3NldC4AtEVtaXRzIGBMaXF1aWRpdHlBZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLmhyZW1vdmVfbGlxdWlkaXR5X29uZV9hc3NldBABHHBvb2xfaWQQAShUOjpBc3NldElkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEwc2hhcmVfYW1vdW50GAEcQmFsYW5jZQABOG1pbl9hbW91bnRfb3V0GAEcQmFsYW5jZQAFRJBSZW1vdmUgbGlxdWlkaXR5IGZyb20gc2VsZWN0ZWQgcG9vbC4AyFdpdGhkcmF3cyBsaXF1aWRpdHkgb2Ygc2VsZWN0ZWQgYXNzZXQgZnJvbSBhIHBvb2wuADEBU2hhcmUgYW1vdW50IGlzIGJ1cm5lZCBhbmQgTFAgcmVjZWl2ZXMgY29ycmVzcG9uZGluZyBhbW91bnQgb2YgY2hvc2VuIGFzc2V0LgCwV2l0aGRyYXcgZmVlIGlzIGFwcGxpZWQgdG8gdGhlIGFzc2V0IGFtb3VudC4ALFBhcmFtZXRlcnM6eC0gYG9yaWdpbmA6IGxpcXVpZGl0eSBwcm92aWRlclAtIGBwb29sX2lkYDogUG9vbCBJZJAtIGBhc3NldF9pZGA6IGlkIG9mIGFzc2V0IHRvIHJlY2VpdmW4LSAnc2hhcmVfYW1vdW50JzogYW1vdW50IG9mIHNoYXJlcyB0byB3aXRoZHJhd7QtICdtaW5fYW1vdW50X291dCc6IG1pbmltdW0gYW1vdW50IHRvIHJlY2VpdmUAvEVtaXRzIGBMaXF1aWRpdHlSZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuVHdpdGhkcmF3X2Fzc2V0X2Ftb3VudBABHHBvb2xfaWQQAShUOjpBc3NldElkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABQG1heF9zaGFyZV9hbW91bnQYARxCYWxhbmNlAAY0TQFSZW1vdmUgbGlxdWlkaXR5IGZyb20gc2VsZWN0ZWQgcG9vbCBieSBzcGVjaWZ5aW5nIGV4YWN0IGFtb3VudCBvZiBhc3NldCB0byByZWNlaXZlLgDJAVNpbWlsYXIgdG8gYHJlbW92ZV9saXF1aWRpdHlfb25lX2Fzc2V0YCBidXQgTFAgc3BlY2lmaWVzIGV4YWN0IGFtb3VudCBvZiBhc3NldCB0byByZWNlaXZlIGluc3RlYWQgb2Ygc2hhcmUgYW1vdW50LgAsUGFyYW1ldGVyczp4LSBgb3JpZ2luYDogbGlxdWlkaXR5IHByb3ZpZGVyUC0gYHBvb2xfaWRgOiBQb29sIElkkC0gYGFzc2V0X2lkYDogaWQgb2YgYXNzZXQgdG8gcmVjZWl2ZZgtICdhbW91bnQnOiBhbW91bnQgb2YgYXNzZXQgdG8gcmVjZWl2ZQ0BLSAnbWF4X3NoYXJlX2Ftb3VudCc6IFNsaXBwYWdlIGxpbWl0LiBNYXggYW1vdW50IG9mIHNoYXJlcyB0byBidXJuLgC8RW1pdHMgYExpcXVpZGl0eVJlbW92ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC7gRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4Qc2VsbBQBHHBvb2xfaWQQAShUOjpBc3NldElkAAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAThtaW5fYnV5X2Ftb3VudBgBHEJhbGFuY2UABzS0RXhlY3V0ZSBhIHN3YXAgb2YgYGFzc2V0X2luYCBmb3IgYGFzc2V0X291dGAuACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBvcmlnaW4gb2YgdGhlIGNhbGxlcmQtIGBwb29sX2lkYDogSWQgb2YgYSBwb29sqC0gYGFzc2V0X2luYDogSUQgb2YgYXNzZXQgc29sZCB0byB0aGUgcG9vbLwtIGBhc3NldF9vdXRgOiBJRCBvZiBhc3NldCBib3VnaHQgZnJvbSB0aGUgcG9vbNQtIGBhbW91bnRfaW5gOiBBbW91bnQgb2YgYXNzZXQgdG8gYmUgc29sZCB0byB0aGUgcG9vbNgtIGBtaW5fYnV5X2Ftb3VudGA6IE1pbmltdW0gYW1vdW50IHJlcXVpcmVkIHRvIHJlY2VpdmUA3EVtaXRzIGBTZWxsRXhlY3V0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4gRGVwcmVjYXRlZC7gRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ADGJ1eRQBHHBvb2xfaWQQAShUOjpBc3NldElkAAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABKGFtb3VudF9vdXQYARxCYWxhbmNlAAE8bWF4X3NlbGxfYW1vdW50GAEcQmFsYW5jZQAINLRFeGVjdXRlIGEgc3dhcCBvZiBgYXNzZXRfb3V0YCBmb3IgYGFzc2V0X2luYC4ALFBhcmFtZXRlcnM6LC0gYG9yaWdpbmA6ZC0gYHBvb2xfaWRgOiBJZCBvZiBhIHBvb2y8LSBgYXNzZXRfb3V0YDogSUQgb2YgYXNzZXQgYm91Z2h0IGZyb20gdGhlIHBvb2yoLSBgYXNzZXRfaW5gOiBJRCBvZiBhc3NldCBzb2xkIHRvIHRoZSBwb29s4C0gYGFtb3VudF9vdXRgOiBBbW91bnQgb2YgYXNzZXQgdG8gcmVjZWl2ZSBmcm9tIHRoZSBwb29s2C0gYG1heF9zZWxsX2Ftb3VudGA6IE1heGltdW0gYW1vdW50IGFsbG93ZWQgdG8gYmUgc29sZADYRW1pdHMgYEJ1eUV4ZWN1dGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuIERlcHJlY2F0ZWQu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAGBzZXRfYXNzZXRfdHJhZGFibGVfc3RhdGUMARxwb29sX2lkEAEoVDo6QXNzZXRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABFHN0YXRlqQMBLFRyYWRhYmlsaXR5AAlA4FVwZGF0ZSB0aGUgdHJhZGFibGUgc3RhdGUgb2YgYSBzcGVjaWZpYyBhc3NldCBpbiBhIHBvb2wuAJ0DVGhpcyBmdW5jdGlvbiBhbGxvd3MgdXBkYXRpbmcgdGhlIHRyYWRhYmlsaXR5IHN0YXRlIG9mIGFuIGFzc2V0IHdpdGhpbiBhIHBvb2wuIFRoZSB0cmFkYWJpbGl0eSBzdGF0ZSBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGFzc2V0IGNhbiBiZSB1c2VkIGZvciBzcGVjaWZpYyBvcGVyYXRpb25zIHN1Y2ggYXMgYWRkaW5nIGxpcXVpZGl0eSwgcmVtb3ZpbmcgbGlxdWlkaXR5LCBidXlpbmcsIG9yIHNlbGxpbmcuACxQYXJhbWV0ZXJzOsQtIGBvcmlnaW5gOiBNdXN0IGJlIGBUOjpVcGRhdGVUcmFkYWJpbGl0eU9yaWdpbmAu1C0gYHBvb2xfaWRgOiBUaGUgSUQgb2YgdGhlIHBvb2wgY29udGFpbmluZyB0aGUgYXNzZXQuLQEtIGBhc3NldF9pZGA6IFRoZSBJRCBvZiB0aGUgYXNzZXQgd2hvc2UgdHJhZGFiaWxpdHkgc3RhdGUgaXMgdG8gYmUgdXBkYXRlZC7ILSBgc3RhdGVgOiBUaGUgbmV3IHRyYWRhYmlsaXR5IHN0YXRlIG9mIHRoZSBhc3NldC4AzEVtaXRzIGBUcmFkYWJsZVN0YXRlVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAgIyBFcnJvcnPcLSBgUG9vbE5vdEZvdW5kYDogSWYgdGhlIHNwZWNpZmllZCBwb29sIGRvZXMgbm90IGV4aXN0Lg0BLSBgQXNzZXROb3RJblBvb2xgOiBJZiB0aGUgc3BlY2lmaWVkIGFzc2V0IGlzIG5vdCBwYXJ0IG9mIHRoZSBwb29sLgBAcmVtb3ZlX2xpcXVpZGl0eQwBHHBvb2xfaWQQAShUOjpBc3NldElkAAEwc2hhcmVfYW1vdW50GAEcQmFsYW5jZQABPG1pbl9hbW91bnRzX291dF0DAQUBQm91bmRlZFZlYzxBc3NldEFtb3VudDxUOjpBc3NldElkPiwgQ29uc3RVMzI8TUFYX0FTU0VUU19JTl9QT09MPj4ACmzAUmVtb3ZlIGxpcXVpZGl0eSBmcm9tIGEgc2VsZWN0ZWQgcG9vbCB1bmlmb3JtbHkuADEBVGhpcyBmdW5jdGlvbiBhbGxvd3MgYSBsaXF1aWRpdHkgcHJvdmlkZXIgdG8gd2l0aGRyYXcgbGlxdWlkaXR5IGZyb20gYSBwb29sLpUBVGhlIHByb3ZpZGVyIHNwZWNpZmllcyB0aGUgYW1vdW50IG9mIHNoYXJlcyB0byBidXJuIGFuZCB0aGUgbWluaW11bSBhbW91bnRzIG9mIGVhY2ggYXNzZXQgdG8gcmVjZWl2ZS4ALFBhcmFtZXRlcnM6jC0gYG9yaWdpbmA6IFRoZSBsaXF1aWRpdHkgcHJvdmlkZXIu/C0gYHBvb2xfaWRgOiBUaGUgSUQgb2YgdGhlIHBvb2wgZnJvbSB3aGljaCB0byByZW1vdmUgbGlxdWlkaXR5LrwtIGBzaGFyZV9hbW91bnRgOiBUaGUgYW1vdW50IG9mIHNoYXJlcyB0byBidXJuLnkBLSBgbWluX2Ftb3VudHNfb3V0YDogQSBib3VuZGVkIHZlY3RvciBzcGVjaWZ5aW5nIHRoZSBtaW5pbXVtIGFtb3VudHMgb2YgZWFjaCBhc3NldCB0byByZWNlaXZlLgC8RW1pdHMgYExpcXVpZGl0eVJlbW92ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC7gRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AICMgRXJyb3Jz2C0gYEludmFsaWRBc3NldEFtb3VudGA6IElmIHRoZSBgc2hhcmVfYW1vdW50YCBpcyB6ZXJvLhEBLSBgSW5zdWZmaWNpZW50U2hhcmVzYDogSWYgdGhlIHByb3ZpZGVyIGRvZXMgbm90IGhhdmUgZW5vdWdoIHNoYXJlcy7cLSBgUG9vbE5vdEZvdW5kYDogSWYgdGhlIHNwZWNpZmllZCBwb29sIGRvZXMgbm90IGV4aXN0LvwtIGBVbmtub3duRGVjaW1hbHNgOiBJZiB0aGUgYXNzZXQgZGVjaW1hbHMgY2Fubm90IGJlIHJldHJpZXZlZC5ZAS0gYEluY29ycmVjdEFzc2V0c2A6IElmIHRoZSBwcm92aWRlZCBgbWluX2Ftb3VudHNfb3V0YCBkb2VzIG5vdCBtYXRjaCB0aGUgcG9vbCBhc3NldHMu+C0gYE5vdEFsbG93ZWRgOiBJZiB0aGUgYXNzZXQgaXMgbm90IGFsbG93ZWQgZm9yIHRoZSBvcGVyYXRpb24uUQEtIGBTbGlwcGFnZUxpbWl0YDogSWYgdGhlIGFtb3VudCByZWNlaXZlZCBpcyBsZXNzIHRoYW4gdGhlIHNwZWNpZmllZCBtaW5pbXVtIGFtb3VudC6lAS0gYEluc3VmZmljaWVudExpcXVpZGl0eVJlbWFpbmluZ2A6IElmIHRoZSByZW1haW5pbmcgbGlxdWlkaXR5IGluIHRoZSBwb29sIGlzIGJlbG93IHRoZSBtaW5pbXVtIHJlcXVpcmVkLgAwIyBJbnZhcmlhbnRzRQEtIEVuc3VyZXMgdGhhdCB0aGUgcG9vbCdzIHJlc2VydmVzIGFyZSB1cGRhdGVkIGNvcnJlY3RseSBhZnRlciBsaXF1aWRpdHkgcmVtb3ZhbC7ILSBFbnN1cmVzIHRoYXQgdGhlIHBvb2wncyBpbnZhcmlhbnQgaXMgbWFpbnRhaW5lZC5UY3JlYXRlX3Bvb2xfd2l0aF9wZWdzGAEsc2hhcmVfYXNzZXQQAShUOjpBc3NldElkAAEYYXNzZXRzpQMB0EJvdW5kZWRWZWM8VDo6QXNzZXRJZCwgQ29uc3RVMzI8TUFYX0FTU0VUU19JTl9QT09MPj4AATRhbXBsaWZpY2F0aW9uyAEMdTE2AAEMZmVlIQMBHFBlcm1pbGwAAShwZWdfc291cmNlrQMBdEJvdW5kZWRQZWdTb3VyY2VzPFQ6OkFzc2V0SWQ+AAE4bWF4X3BlZ191cGRhdGXBAwEcUGVyYmlsbAALdOhDcmVhdGUgYSBzdGFibGUgcG9vbCB3aXRoIGEgZ2l2ZW4gbGlzdCBvZiBhc3NldHMgYW5kIHBlZ3MuAG0CVGhpcyBmdW5jdGlvbiBhbGxvd3MgdGhlIGNyZWF0aW9uIG9mIGEgbmV3IHN0YWJsZSBwb29sIHdpdGggc3BlY2lmaWVkIGFzc2V0cywgYW1wbGlmaWNhdGlvbiwgZmVlLCBhbmQgcGVnIHNvdXJjZXMuIFRoZSBwb29sIGlzIGlkZW50aWZpZWQgYnkgYSBzaGFyZSBhc3NldC4AjQJQZWcgdGFyZ2V0IHByaWNlIGlzIGRldGVybWluZWQgYnkgcmV0cmlldmluZyB0aGUgdGFyZ2V0IHBlZyBmcm9tIHRoZSBvcmFjbGUgLSBpdCBpcyB0aGUgcHJpY2Ugb2YgdGhlIGFzc2V0IGZyb20gdGhlIHBlZyBzb3VyY2VkZW5vbWluYXRlZCBpbiB0aGUgb3RoZXIgcG9vbCBhc3NldHMuACxQYXJhbWV0ZXJzOqQtIGBvcmlnaW5gOiBNdXN0IGJlIGBUOjpBdXRob3JpdHlPcmlnaW5gLtgtIGBzaGFyZV9hc3NldGA6IFByZXJlZ2lzdGVyZWQgc2hhcmUgYXNzZXQgaWRlbnRpZmllci7kLSBgYXNzZXRzYDogTGlzdCBvZiBhc3NldCBJRHMgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHBvb2wuwC0gYGFtcGxpZmljYXRpb25gOiBQb29sIGFtcGxpZmljYXRpb24gcGFyYW1ldGVyLvQtIGBmZWVgOiBGZWUgdG8gYmUgYXBwbGllZCBvbiB0cmFkZSBhbmQgbGlxdWlkaXR5IG9wZXJhdGlvbnMuPQEtIGBwZWdfc291cmNlYDogQm91bmRlZCB2ZWN0b3Igc3BlY2lmeWluZyB0aGUgc291cmNlIG9mIHRoZSBwZWcgZm9yIGVhY2ggYXNzZXQu5C0gYG1heF9wZWdfdXBkYXRlYDogTWF4aW11bSBhbGxvd2VkIHBlZyB1cGRhdGUgcGVyIGJsb2NrLgCgRW1pdHMgYFBvb2xDcmVhdGVkYCBldmVudCBpZiBzdWNjZXNzZnVsLshFbWl0cyBgQW1wbGlmaWNhdGlvbkNoYW5naW5nYCBldmVudCBpZiBzdWNjZXNzZnVsLgAgIyBFcnJvcnNNAS0gYEluY29ycmVjdEFzc2V0c2A6IElmIHRoZSBhc3NldHMgYXJlIHRoZSBzYW1lIG9yIGxlc3MgdGhhbiAyIGFzc2V0cyBhcmUgcHJvdmlkZWQuDQEtIGBNYXhBc3NldHNFeGNlZWRlZGA6IElmIHRoZSBtYXhpbXVtIG51bWJlciBvZiBhc3NldHMgaXMgZXhjZWVkZWQu/C0gYFBvb2xFeGlzdHNgOiBJZiBhIHBvb2wgd2l0aCB0aGUgZ2l2ZW4gYXNzZXRzIGFscmVhZHkgZXhpc3RzLiEBLSBgU2hhcmVBc3NldEluUG9vbEFzc2V0c2A6IElmIHRoZSBzaGFyZSBhc3NldCBpcyBhbW9uZyB0aGUgcG9vbCBhc3NldHMuWQEtIGBBc3NldE5vdFJlZ2lzdGVyZWRgOiBJZiBvbmUgb3IgbW9yZSBhc3NldHMgYXJlIG5vdCByZWdpc3RlcmVkIGluIHRoZSBBc3NldFJlZ2lzdHJ5LhEBLSBgSW52YWxpZEFtcGxpZmljYXRpb25gOiBJZiB0aGUgYW1wbGlmaWNhdGlvbiBwYXJhbWV0ZXIgaXMgaW52YWxpZC7wLSBgSW5jb3JyZWN0SW5pdGlhbFBlZ3NgOiBJZiB0aGUgaW5pdGlhbCBwZWdzIGFyZSBpbmNvcnJlY3QuGQEtIGBNaXNzaW5nVGFyZ2V0UGVnT3JhY2xlYDogSWYgdGhlIHRhcmdldCBwZWcgb3JhY2xlIGVudHJ5IGlzIG1pc3NpbmcuCQEtIGBJbmNvcnJlY3RBc3NldERlY2ltYWxzYDogSWYgdGhlIGFzc2V0cyBoYXZlIGRpZmZlcmVudCBkZWNpbWFscy4AUGFkZF9hc3NldHNfbGlxdWlkaXR5DAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAARhhc3NldHNdAwEFAUJvdW5kZWRWZWM8QXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4sIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AAEobWluX3NoYXJlcxgBHEJhbGFuY2UADEh8QWRkIGxpcXVpZGl0eSB0byBzZWxlY3RlZCBwb29sLgBRAUZpcnN0IGNhbGwgb2YgYGFkZF9hc3NldHNfbGlxdWlkaXR5YCBtdXN0IHByb3ZpZGUgImluaXRpYWwgbGlxdWlkaXR5IiBvZiBhbGwgYXNzZXRzLgCFAUlmIHRoZXJlIGlzIGxpcXVpZGl0eSBhbHJlYWR5IGluIHRoZSBwb29sLCBMUCBjYW4gcHJvdmlkZSBsaXF1aWRpdHkgb2YgYW55IG51bWJlciBvZiBwb29sIGFzc2V0cy4AtExQIG11c3QgaGF2ZSBzdWZmaWNpZW50IGFtb3VudCBvZiBlYWNoIGFzc2V0LgC8T3JpZ2luIGlzIGdpdmVuIGNvcnJlc3BvbmRpbmcgYW1vdW50IG9mIHNoYXJlcy4ALFBhcmFtZXRlcnM6eC0gYG9yaWdpbmA6IGxpcXVpZGl0eSBwcm92aWRlclAtIGBwb29sX2lkYDogUG9vbCBJZMgtIGBhc3NldHNgOiBhc3NldCBpZCBhbmQgbGlxdWlkaXR5IGFtb3VudCBwcm92aWRlZMwtIGBtaW5fc2hhcmVzYDogbWluaW11bSBhbW91bnQgb2Ygc2hhcmVzIHRvIHJlY2VpdmUAtEVtaXRzIGBMaXF1aWRpdHlBZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLlx1cGRhdGVfYXNzZXRfcGVnX3NvdXJjZQwBHHBvb2xfaWQQAShUOjpBc3NldElkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEocGVnX3NvdXJjZbEDAVRQZWdTb3VyY2U8VDo6QXNzZXRJZD4ADUzUVXBkYXRlIHRoZSBwZWcgc291cmNlIGZvciBhIHNwZWNpZmljIGFzc2V0IGluIGEgcG9vbC4AIQFUaGlzIGZ1bmN0aW9uIGFsbG93cyB1cGRhdGluZyB0aGUgcGVnIHNvdXJjZSBmb3IgYW4gYXNzZXQgd2l0aGluIGEgcG9vbC5FAVRoZSBwb29sIG11c3QgZXhpc3QgYW5kIGhhdmUgcGVncyBjb25maWd1cmVkLiBUaGUgYXNzZXQgbXVzdCBiZSBwYXJ0IG9mIHRoZSBwb29sLg0BVGhlIGN1cnJlbnQgcHJpY2UgaXMgYWx3YXlzIHByZXNlcnZlZCB3aGVuIHVwZGF0aW5nIHRoZSBwZWcgc291cmNlLgAsUGFyYW1ldGVyczqkLSBgb3JpZ2luYDogTXVzdCBiZSBgVDo6QXV0aG9yaXR5T3JpZ2luYC7ULSBgcG9vbF9pZGA6IFRoZSBJRCBvZiB0aGUgcG9vbCBjb250YWluaW5nIHRoZSBhc3NldC4RAS0gYGFzc2V0X2lkYDogVGhlIElEIG9mIHRoZSBhc3NldCB3aG9zZSBwZWcgc291cmNlIGlzIHRvIGJlIHVwZGF0ZWQuxC0gYHBlZ19zb3VyY2VgOiBUaGUgbmV3IHBlZyBzb3VyY2UgZm9yIHRoZSBhc3NldC4AzEVtaXRzIGBQb29sUGVnU291cmNlVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAgIyBFcnJvcnPcLSBgUG9vbE5vdEZvdW5kYDogSWYgdGhlIHNwZWNpZmllZCBwb29sIGRvZXMgbm90IGV4aXN0LuwtIGBOb1BlZ1NvdXJjZWA6IElmIHRoZSBwb29sIGRvZXMgbm90IGhhdmUgcGVncyBjb25maWd1cmVkLg0BLSBgQXNzZXROb3RJblBvb2xgOiBJZiB0aGUgc3BlY2lmaWVkIGFzc2V0IGlzIG5vdCBwYXJ0IG9mIHRoZSBwb29sLgBodXBkYXRlX3Bvb2xfbWF4X3BlZ191cGRhdGUIARxwb29sX2lkEAEoVDo6QXNzZXRJZAABOG1heF9wZWdfdXBkYXRlwQMBHFBlcmJpbGwADkDQVXBkYXRlIHRoZSBtYXhpbXVtIHBlZyB1cGRhdGUgcGVyY2VudGFnZSBmb3IgYSBwb29sLgAhAVRoaXMgZnVuY3Rpb24gYWxsb3dzIHVwZGF0aW5nIHRoZSBtYXhpbXVtIHBlcmNlbnRhZ2UgYnkgd2hpY2ggcGVnIHZhbHVlc6hjYW4gY2hhbmdlIGluIGEgcG9vbCB3aXRoIHBlZ3MgY29uZmlndXJlZC4ALFBhcmFtZXRlcnM6pC0gYG9yaWdpbmA6IE11c3QgYmUgYFQ6OkF1dGhvcml0eU9yaWdpbmAuqC0gYHBvb2xfaWRgOiBUaGUgSUQgb2YgdGhlIHBvb2wgdG8gdXBkYXRlLugtIGBtYXhfcGVnX3VwZGF0ZWA6IFRoZSBuZXcgbWF4aW11bSBwZWcgdXBkYXRlIHBlcmNlbnRhZ2UuANhFbWl0cyBgUG9vbE1heFBlZ1VwZGF0ZVVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AICMgRXJyb3Jz3C0gYFBvb2xOb3RGb3VuZGA6IElmIHRoZSBzcGVjaWZpZWQgcG9vbCBkb2VzIG5vdCBleGlzdC7sLSBgTm9QZWdTb3VyY2VgOiBJZiB0aGUgcG9vbCBkb2VzIG5vdCBoYXZlIHBlZ3MgY29uZmlndXJlZC4ABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLqUDDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBEARTAAAEAFkDARhWZWM8VD4AAKkDDERwYWxsZXRfc3RhYmxlc3dhcBR0eXBlcyxUcmFkYWJpbGl0eQAABAEQYml0cwgBCHU4AACtAwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAbEDBFMAAAQAvQMBGFZlYzxUPgAAsQMMRHBhbGxldF9zdGFibGVzd2FwFHR5cGVzJFBlZ1NvdXJjZQQcQXNzZXRJZAEQAQwUVmFsdWUEACkDARxQZWdUeXBlAAAAGE9yYWNsZQQAtQMBfChTb3VyY2UsIE9yYWNsZVBlcmlvZCwgQXNzZXRJZCkAAQAgTU1PcmFjbGUEAEEBAShFdm1BZGRyZXNzAAIAALUDAAAEDP0BuQMQALkDDDhoeWRyYWR4X3RyYWl0cxhvcmFjbGUwT3JhY2xlUGVyaW9kAAEYJExhc3RCbG9jawAAABRTaG9ydAABAChUZW5NaW51dGVzAAIAEEhvdXIAAwAMRGF5AAQAEFdlZWsABQAAvQMAAAKxAwDBAww0c3BfYXJpdGhtZXRpYyhwZXJfdGhpbmdzHFBlcmJpbGwAAAQAEAEMdTMyAADFAwwwcGFsbGV0X2JvbmRzGHBhbGxldBBDYWxsBARUAAEIFGlzc3VlDAEgYXNzZXRfaWQQARxBc3NldElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQABIG1hdHVyaXR5MAEYTW9tZW50AABUZElzc3VlIG5ldyBmdW5naWJsZSBib25kcy7UTmV3IGFzc2V0IGlkIGlzIHJlZ2lzdGVyZWQgYW5kIGFzc2lnbmVkIHRvIHRoZSBib25kcy5ZAVRoZSBudW1iZXIgb2YgYm9uZHMgdGhlIGlzc3VlciByZWNlaXZlcyBpcyAxOjEgdG8gdGhlIGBhbW91bnRgIG9mIHRoZSB1bmRlcmx5aW5nIGFzc2V0XG1pbnVzIHRoZSBwcm90b2NvbCBmZWUuGQFUaGUgYm9uZCBhc3NldCBpcyByZWdpc3RlcmVkIHdpdGggdGhlIGVtcHR5IHN0cmluZyBmb3IgdGhlIGFzc2V0IG5hbWUsBQFhbmQgd2l0aCB0aGUgc2FtZSBleGlzdGVudGlhbCBkZXBvc2l0IGFzIG9mIHRoZSB1bmRlcmx5aW5nIGFzc2V0LuxCb25kcyBjYW4gYmUgcmVkZWVtZWQgZm9yIHRoZSB1bmRlcmx5aW5nIGFzc2V0IG9uY2UgbWF0dXJlLi0BUHJvdG9jb2wgZmVlIGlzIGFwcGxpZWQgdG8gdGhlIGFtb3VudCwgYW5kIHRyYW5zZmVycmVkIHRvIGBUOjpGZWVSZWNlaXZlcmAuaQFXaGVuIGlzc3VpbmcgbmV3IGJvbmRzIHdpdGggdGhlIHVuZGVybHlpbmcgYXNzZXQgYW5kIG1hdHVyaXR5IHRoYXQgbWF0Y2hlcyBleGlzdGluZyBib25kcyw9AW5ldyBhbW91bnQgb2YgdGhlc2UgZXhpc3RpbmcgYm9uZHMgaXMgaXNzdWVkLCBpbnN0ZWFkIG9mIHJlZ2lzdGVyaW5nIG5ldyBib25kcy4NAUl0J3MgcG9zc2libGUgdG8gaXNzdWUgbmV3IGJvbmRzIGZvciBib25kcyB0aGF0IGFyZSBhbHJlYWR5IG1hdHVyZS4ALFBhcmFtZXRlcnM69C0gYG9yaWdpbmA6IGlzc3VlciBvZiBuZXcgYm9uZHMsIG5lZWRzIHRvIGJlIGBUOjpJc3N1ZU9yaWdpbmCELSBgYXNzZXRfaWRgOiB1bmRlcmx5aW5nIGFzc2V0IGlkuC0gYGFtb3VudGA6IHRoZSBhbW91bnQgb2YgdGhlIHVuZGVybHlpbmcgYXNzZXQdAS0gYG1hdHVyaXR5YDogVW5peCB0aW1lIGluIG1pbGxpc2Vjb25kcywgd2hlbiB0aGUgYm9uZHMgd2lsbCBiZSBtYXR1cmUuADUBRW1pdHMgYEJvbmRUb2tlbkNyZWF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bCBhbmQgbmV3IGJvbmRzIHdlcmUgcmVnaXN0ZXJlZC6oRW1pdHMgYEJvbmRzSXNzdWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuABhyZWRlZW0IARxib25kX2lkEAEcQXNzZXRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAATCYUmVkZWVtIGJvbmRzIGZvciB0aGUgdW5kZXJseWluZyBhc3NldC51AVRoZSBhbW91bnQgb2YgdGhlIHVuZGVybHlpbmcgYXNzZXQgdGhlIGBvcmlnaW5gIHJlY2VpdmVzIGlzIDE6MSB0byB0aGUgYGFtb3VudGAgb2YgdGhlIGJvbmRzLshBbnlvbmUgd2hvIGhvbGRzIHRoZSBib25kcyBpcyBhYmxlIHRvIHJlZGVlbSB0aGVtLrhCb25kcyBjYW4gYmUgYm90aCBwYXJ0aWFsbHkgb3IgZnVsbHkgcmVkZWVtZWQuACxQYXJhbWV0ZXJzOlgtIGBvcmlnaW5gOiBhY2NvdW50IGlkbC0gYGFzc2V0X2lkYDogYm9uZCBhc3NldCBpZBkBLSBgYW1vdW50YDogdGhlIGFtb3VudCBvZiB0aGUgYm9uZHMgdG8gcmVkZWVtIGZvciB0aGUgdW5kZXJseWluZyBhc3NldACwRW1pdHMgYEJvbmRzUmVkZWVtZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLskDDFhwYWxsZXRfb3RjX3NldHRsZW1lbnRzGHBhbGxldBBDYWxsBARUAAEEQHNldHRsZV9vdGNfb3JkZXIMARhvdGNfaWQQARxPcmRlcklkAAEYYW1vdW50GAEcQmFsYW5jZQABFHJvdXRlfQMBTFJvdXRlPEFzc2V0SWRPZjxUPj4AAFCwQ2xvc2UgYW4gZXhpc3RpbmcgT1RDIGFyYml0cmFnZSBvcHBvcnR1bml0eS4A1EV4ZWN1dGVzIGEgdHJhZGUgYmV0d2VlbiBhbiBPVEMgb3JkZXIgYW5kIHNvbWUgcm91dGUuVQFJZiB0aGUgT1RDIG9yZGVyIGlzIHBhcnRpYWxseSBmaWxsYWJsZSwgdGhlIGV4dHJpbnNpYyBmYWlscyBpZiB0aGUgZXhpc3RpbmcgYXJiaXRyYWdl1G9wcG9ydHVuaXR5IGlzIG5vdCBjbG9zZWQgb3IgcmVkdWNlZCBhZnRlciB0aGUgdHJhZGUuYQFJZiB0aGUgT1RDIG9yZGVyIGlzIG5vdCBwYXJ0aWFsbHkgZmlsbGFibGUsIGZhaWxzIGlmIHRoZXJlIGlzIG5vIHByb2ZpdCBhZnRlciB0aGUgdHJhZGUuABEBYE9yaWdpbmAgY2FsbGluZyB0aGlzIGV4dHJpbnNpYyBpcyBub3QgcGF5aW5nIG9yIHJlY2VpdmluZyBhbnl0aGluZy4AJQFUaGUgcHJvZml0IG1hZGUgYnkgY2xvc2luZyB0aGUgYXJiaXRyYWdlIGlzIHRyYW5zZmVycmVkIHRvIGBGZWVSZWNlaXZlcmAuACxQYXJhbWV0ZXJzOjkBLSBgb3JpZ2luYDogU2lnbmVkIG9yIHVuc2lnbmVkIG9yaWdpbi4gVW5zaWduZWQgb3JpZ2luIGRvZXNuJ3QgcGF5IHRoZSBUWCBmZWUsrAkJCWJ1dCBjYW4gYmUgc3VibWl0dGVkIG9ubHkgYnkgYSBjb2xsYXRvci4RAS0gYG90Y19pZGA6IElEIG9mIHRoZSBPVEMgb3JkZXIgd2l0aCBleGlzdGluZyBhcmJpdHJhZ2Ugb3Bwb3J0dW5pdHkuuC0gYGFtb3VudGA6IEFtb3VudCBuZWNlc3NhcnkgdG8gY2xvc2UgdGhlIGFyYi4hAS0gYHJvdXRlYDogVGhlIHJvdXRlIHdlIHRyYWRlIGFnYWluc3QuIFJlcXVpcmVkIGZvciB0aGUgZmVlIGNhbGN1bGF0aW9uLgCcRW1pdHMgYEV4ZWN1dGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7NAwwocGFsbGV0X2xicBhwYWxsZXQQQ2FsbAQEVAABGCxjcmVhdGVfcG9vbCwBKHBvb2xfb3duZXIAATBUOjpBY2NvdW50SWQAARxhc3NldF9hEAEcQXNzZXRJZAABOGFzc2V0X2FfYW1vdW50GAEcQmFsYW5jZQABHGFzc2V0X2IQARxBc3NldElkAAE4YXNzZXRfYl9hbW91bnQYARxCYWxhbmNlAAE4aW5pdGlhbF93ZWlnaHQQASRMQlBXZWlnaHQAATBmaW5hbF93ZWlnaHQQASRMQlBXZWlnaHQAATB3ZWlnaHRfY3VydmXRAwE8V2VpZ2h0Q3VydmVUeXBlAAEMZmVlTQMBKCh1MzIsIHUzMikAATRmZWVfY29sbGVjdG9yAAEwVDo6QWNjb3VudElkAAEwcmVwYXlfdGFyZ2V0GAEcQmFsYW5jZQAAhPxDcmVhdGUgYSBuZXcgbGlxdWlkaXR5IGJvb3RzdHJhcHBpbmcgcG9vbCBmb3IgZ2l2ZW4gYXNzZXQgcGFpci4A2EZvciBhbnkgYXNzZXQgcGFpciwgb25seSBvbmUgcG9vbCBjYW4gZXhpc3QgYXQgYSB0aW1lLgABAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBUOjpDcmVhdGVQb29sT3JpZ2luYC5VAVRoZSBwb29sIGlzIGNyZWF0ZWQgd2l0aCBpbml0aWFsIGxpcXVpZGl0eSBwcm92aWRlZCBieSB0aGUgYHBvb2xfb3duZXJgIHdobyBtdXN0IGhhdmVYc3VmZmljaWVudCBmdW5kcyBmcmVlLgChAVRoZSBwb29sIHN0YXJ0cyB1bmluaXRpYWxpemVkIGFuZCB1cGRhdGVfcG9vbCBjYWxsIHNob3VsZCBiZSBjYWxsZWQgb25jZSBjcmVhdGVkIHRvIHNldCB0aGUgc3RhcnQgYmxvY2suADkBVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgZGlzcGF0Y2hlZCBmcm9tIGdvdmVybmluZyBlbnRpdHkgYFQ6OkNyZWF0ZVBvb2xPcmlnaW5gACxQYXJhbWV0ZXJzOsQtIGBwb29sX293bmVyYDogdGhlIGZ1dHVyZSBvd25lciBvZiB0aGUgbmV3IHBvb2wuIQEtIGBhc3NldF9hYDogeyBhc3NldF9pZCwgYW1vdW50IH0gQXNzZXQgSUQgYW5kIGluaXRpYWwgbGlxdWlkaXR5IGFtb3VudC4hAS0gYGFzc2V0X2JgOiB7IGFzc2V0X2lkLCBhbW91bnQgfSBBc3NldCBJRCBhbmQgaW5pdGlhbCBsaXF1aWRpdHkgYW1vdW50LqEBLSBgaW5pdGlhbF93ZWlnaHRgOiBJbml0aWFsIHdlaWdodCBvZiB0aGUgYXNzZXRfYS4gMV8wMDBfMDAwIGNvcnJlc3BvbmRpbmcgdG8gMSUgYW5kIDEwMF8wMDBfMDAwIHRvIDEwMCWcdGhpcyBzaG91bGQgYmUgaGlnaGVyIHRoYW4gZmluYWwgd2VpZ2h0kQEtIGBmaW5hbF93ZWlnaHRgOiBGaW5hbCB3ZWlnaHQgb2YgdGhlIGFzc2V0X2EuIDFfMDAwXzAwMCBjb3JyZXNwb25kaW5nIHRvIDElIGFuZCAxMDBfMDAwXzAwMCB0byAxMDAloHRoaXMgc2hvdWxkIGJlIGxvd2VyIHRoYW4gaW5pdGlhbCB3ZWlnaHRBAS0gYHdlaWdodF9jdXJ2ZWA6IFRoZSB3ZWlnaHQgZnVuY3Rpb24gdXNlZCB0byB1cGRhdGUgdGhlIExCUCB3ZWlnaHRzLiBDdXJyZW50bHksDQF0aGVyZSBpcyBvbmx5IG9uZSB3ZWlnaHQgZnVuY3Rpb24gaW1wbGVtZW50ZWQsIHRoZSBsaW5lYXIgZnVuY3Rpb24uPQEtIGBmZWVgOiBUaGUgdHJhZGluZyBmZWUgY2hhcmdlZCBvbiBldmVyeSB0cmFkZSBkaXN0cmlidXRlZCB0byBgZmVlX2NvbGxlY3RvcmAuJQEtIGBmZWVfY29sbGVjdG9yYDogVGhlIGFjY291bnQgdG8gd2hpY2ggdHJhZGluZyBmZWVzIHdpbGwgYmUgdHJhbnNmZXJyZWQunQEtIGByZXBheV90YXJnZXRgOiBUaGUgYW1vdW50IG9mIHRva2VucyB0byByZXBheSB0byBzZXBhcmF0ZSBmZWVfY29sbGVjdG9yIGFjY291bnQuIFVudGlsIHRoaXMgYW1vdW50IGlz9HJlYWNoZWQsIGZlZSB3aWxsIGJlIGluY3JlYXNlZCB0byAyMCUgYW5kIHRha2VuIGZyb20gdGhlIHBvb2wAqEVtaXRzIGBQb29sQ3JlYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgCdAUJFV0FSRTogV2UgYXJlIHRha2luZyB0aGUgZmVlIGZyb20gdGhlIGFjY3VtdWxhdGVkIGFzc2V0LiBJZiB0aGUgYWNjdW11bGF0ZWQgYXNzZXQgaXMgc29sZCB0byB0aGUgcG9vbCx5AXRoZSBmZWUgY29zdCBpcyB0cmFuc2ZlcnJlZCB0byB0aGUgcG9vbC4gSWYgaXRzIGJvdWdodCBmcm9tIHRoZSBwb29sIHRoZSBidXllciBiZWFycyB0aGUgY29zdC5pAVRoaXMgaW5jcmVhc2VzIHRoZSBwcmljZSBvZiB0aGUgc29sZCBhc3NldCBvbiBldmVyeSB0cmFkZS4gTWFrZSBzdXJlIHRvIG9ubHkgcnVuIHRoaXMgd2l0aGxwcmV2aW91c2x5IGlsbGlxdWlkIGFzc2V0cy5AdXBkYXRlX3Bvb2xfZGF0YSQBHHBvb2xfaWQAASRQb29sSWQ8VD4AAShwb29sX293bmVy7AFQT3B0aW9uPFQ6OkFjY291bnRJZD4AARRzdGFydFkBAWRPcHRpb248QmxvY2tOdW1iZXJGb3I8VD4+AAEMZW5kWQEBZE9wdGlvbjxCbG9ja051bWJlckZvcjxUPj4AAThpbml0aWFsX3dlaWdodFkBAURPcHRpb248TEJQV2VpZ2h0PgABMGZpbmFsX3dlaWdodFkBAURPcHRpb248TEJQV2VpZ2h0PgABDGZlZXUDAUhPcHRpb248KHUzMiwgdTMyKT4AATRmZWVfY29sbGVjdG9y7AFQT3B0aW9uPFQ6OkFjY291bnRJZD4AATByZXBheV90YXJnZXTgATxPcHRpb248QmFsYW5jZT4AAUhsVXBkYXRlIHBvb2wgZGF0YSBvZiBhIHBvb2wuAA0BVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgc2lnbmVkIGJ5IHRoZSBwb29sIG93bmVyLgAFAVRoZSBwb29sIGNhbiBiZSB1cGRhdGVkIG9ubHkgaWYgdGhlIHNhbGUgaGFzIG5vdCBhbHJlYWR5IHN0YXJ0ZWQuABkBQXQgbGVhc3Qgb25lIG9mIHRoZSBmb2xsb3dpbmcgb3B0aW9uYWwgcGFyYW1ldGVycyBoYXMgdG8gYmUgc3BlY2lmaWVkLgAsUGFyYW1ldGVyczrYLSBgcG9vbF9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBwb29sIHRvIGJlIHVwZGF0ZWQuJQEtIGBzdGFydGA6IFRoZSBuZXcgc3RhcnRpbmcgdGltZSBvZiB0aGUgc2FsZS4gVGhpcyBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuFQEtIGBlbmRgOiBUaGUgbmV3IGVuZGluZyB0aW1lIG9mIHRoZSBzYWxlLiBUaGlzIHBhcmFtZXRlciBpcyBvcHRpb25hbC4dAS0gYGluaXRpYWxfd2VpZ2h0YDogVGhlIG5ldyBpbml0aWFsIHdlaWdodC4gVGhpcyBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuDQEtIGBmaW5hbF93ZWlnaHRgOiBUaGUgbmV3IGZpbmFsIHdlaWdodC4gVGhpcyBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuQQEtIGBmZWVgOiBUaGUgbmV3IHRyYWRpbmcgZmVlIGNoYXJnZWQgb24gZXZlcnkgdHJhZGUuIFRoaXMgcGFyYW1ldGVyIGlzIG9wdGlvbmFsLkEBLSBgZmVlX2NvbGxlY3RvcmA6IFRoZSBuZXcgcmVjZWl2ZXIgb2YgdHJhZGluZyBmZWVzLiBUaGlzIHBhcmFtZXRlciBpcyBvcHRpb25hbC4AqEVtaXRzIGBQb29sVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLjRhZGRfbGlxdWlkaXR5CAEgYW1vdW50X2HVAwFcKEFzc2V0SWQsIEJhbGFuY2VPZjxUPikAASBhbW91bnRfYtUDAVwoQXNzZXRJZCwgQmFsYW5jZU9mPFQ+KQACMGBBZGQgbGlxdWlkaXR5IHRvIGEgcG9vbC4ATQFBc3NldHMgdG8gYWRkIGhhcyB0byBtYXRjaCB0aGUgcG9vbCBhc3NldHMuIEF0IGxlYXN0IG9uZSBhbW91bnQgaGFzIHRvIGJlIG5vbi16ZXJvLgANAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHNpZ25lZCBieSB0aGUgcG9vbCBvd25lci4ALFBhcmFtZXRlcnM6nC0gYHBvb2xfaWRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgcG9vbAEBLSBgYW1vdW50X2FgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgYW5kIHRoZSBhbW91bnQgdG8gYWRkLh0BLSBgYW1vdW50X2JgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgc2Vjb25kIGFzc2V0IGFuZCB0aGUgYW1vdW50IHRvIGFkZC4AtEVtaXRzIGBMaXF1aWRpdHlBZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLkByZW1vdmVfbGlxdWlkaXR5BAEccG9vbF9pZAABJFBvb2xJZDxUPgADLE0BVHJhbnNmZXIgYWxsIHRoZSBsaXF1aWRpdHkgZnJvbSBhIHBvb2wgYmFjayB0byB0aGUgcG9vbCBvd25lciBhbmQgZGVzdHJveSB0aGUgcG9vbC7AVGhlIHBvb2wgZGF0YSBhcmUgYWxzbyByZW1vdmVkIGZyb20gdGhlIHN0b3JhZ2UuALBUaGUgcG9vbCBjYW4ndCBiZSBkZXN0cm95ZWQgZHVyaW5nIHRoZSBzYWxlLgANAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHNpZ25lZCBieSB0aGUgcG9vbCBvd25lci4ALFBhcmFtZXRlcnM6AQEtIGBhbW91bnRfYWA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCBhbmQgdGhlIGFtb3VudCB0byBhZGQuAKRFbWl0cyAnTGlxdWlkaXR5UmVtb3ZlZCcgd2hlbiBzdWNjZXNzZnVsLhBzZWxsEAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgABJG1heF9saW1pdBgBMEJhbGFuY2VPZjxUPgAEPIRUcmFkZSBgYXNzZXRfaW5gIGZvciBgYXNzZXRfb3V0YC4AVQFFeGVjdXRlcyBhIHN3YXAgb2YgYGFzc2V0X2luYCBmb3IgYGFzc2V0X291dGAuIFByaWNlIGlzIGRldGVybWluZWQgYnkgdGhlIHBvb2wgYW5kIGlzJQFhZmZlY3RlZCBieSB0aGUgYW1vdW50IGFuZCBwcm9wb3J0aW9uIG9mIHRoZSBwb29sIGFzc2V0cyBhbmQgdGhlIHdlaWdodHMuANBUcmFkaW5nIGBmZWVgIGlzIGRpc3RyaWJ1dGVkIHRvIHRoZSBgZmVlX2NvbGxlY3RvcmAuACxQYXJhbWV0ZXJzOmUBLSBgYXNzZXRfaW5gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgYmVpbmcgdHJhbnNmZXJyZWQgZnJvbSB0aGUgYWNjb3VudCB0byB0aGUgcG9vbC5pAS0gYGFzc2V0X291dGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCBiZWluZyB0cmFuc2ZlcnJlZCBmcm9tIHRoZSBwb29sIHRvIHRoZSBhY2NvdW50LpAtIGBhbW91bnRgOiBUaGUgYW1vdW50IG9mIGBhc3NldF9pbmDtAS0gYG1heF9saW1pdGA6IG1pbmltdW0gYW1vdW50IG9mIGBhc3NldF9vdXRgIC8gYW1vdW50IG9mIGFzc2V0X291dCB0byBiZSBvYnRhaW5lZCBmcm9tIHRoZSBwb29sIGluIGV4Y2hhbmdlIGZvciBgYXNzZXRfaW5gLgDERW1pdHMgYFNlbGxFeGVjdXRlZGAgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLshFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgd2hlbiBzdWNjZXNzZnVsLgxidXkQASRhc3NldF9vdXQQARxBc3NldElkAAEgYXNzZXRfaW4QARxBc3NldElkAAEYYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAEkbWF4X2xpbWl0GAEwQmFsYW5jZU9mPFQ+AAU8hFRyYWRlIGBhc3NldF9pbmAgZm9yIGBhc3NldF9vdXRgLgBVAUV4ZWN1dGVzIGEgc3dhcCBvZiBgYXNzZXRfaW5gIGZvciBgYXNzZXRfb3V0YC4gUHJpY2UgaXMgZGV0ZXJtaW5lZCBieSB0aGUgcG9vbCBhbmQgaXM1AWFmZmVjdGVkIGJ5IHRoZSBhbW91bnQgYW5kIHRoZSBwcm9wb3J0aW9uIG9mIHRoZSBwb29sIGFzc2V0cyBhbmQgdGhlIHdlaWdodHMuANBUcmFkaW5nIGBmZWVgIGlzIGRpc3RyaWJ1dGVkIHRvIHRoZSBgZmVlX2NvbGxlY3RvcmAuACxQYXJhbWV0ZXJzOmUBLSBgYXNzZXRfaW5gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgYmVpbmcgdHJhbnNmZXJyZWQgZnJvbSB0aGUgYWNjb3VudCB0byB0aGUgcG9vbC5pAS0gYGFzc2V0X291dGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCBiZWluZyB0cmFuc2ZlcnJlZCBmcm9tIHRoZSBwb29sIHRvIHRoZSBhY2NvdW50LpgtIGBhbW91bnRgOiBUaGUgYW1vdW50IG9mIGBhc3NldF9vdXRgLk0BLSBgbWF4X2xpbWl0YDogbWF4aW11bSBhbW91bnQgb2YgYGFzc2V0X2luYCB0byBiZSBzb2xkIGluIGV4Y2hhbmdlIGZvciBgYXNzZXRfb3V0YC4AwEVtaXRzIGBCdXlFeGVjdXRlZGAgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLshFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgd2hlbiBzdWNjZXNzZnVsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7RAwgocGFsbGV0X2xicDxXZWlnaHRDdXJ2ZVR5cGUAAQQYTGluZWFyAAAAANUDAAAECBAYANkDDChwYWxsZXRfeHlrGHBhbGxldBBDYWxsBARUAAEcLGNyZWF0ZV9wb29sEAEcYXNzZXRfYRABHEFzc2V0SWQAASBhbW91bnRfYRgBHEJhbGFuY2UAARxhc3NldF9iEAEcQXNzZXRJZAABIGFtb3VudF9iGAEcQmFsYW5jZQAAJJRDcmVhdGUgbmV3IHBvb2wgZm9yIGdpdmVuIGFzc2V0IHBhaXIuAFEBUmVnaXN0ZXJzIG5ldyBwb29sIGZvciBnaXZlbiBhc3NldCBwYWlyIChgYXNzZXQgYWAgYW5kIGBhc3NldCBiYCkgaW4gYXNzZXQgcmVnaXN0cnkucQFBc3NldCByZWdpc3RyeSBjcmVhdGVzIG5ldyBpZCBvciByZXR1cm5zIHByZXZpb3VzbHkgY3JlYXRlZCBvbmUgaWYgc3VjaCBwb29sIGV4aXN0ZWQgYmVmb3JlLgDwUG9vbCBpcyBjcmVhdGVkIHdpdGggaW5pdGlhbCBsaXF1aWRpdHkgcHJvdmlkZWQgYnkgYG9yaWdpbmAueQFTaGFyZXMgYXJlIGlzc3VlZCB3aXRoIHNwZWNpZmllZCBpbml0aWFsIHByaWNlIGFuZCByZXByZXNlbnRzIHByb3BvcnRpb24gb2YgYXNzZXQgaW4gdGhlIHBvb2wuAKhFbWl0cyBgUG9vbENyZWF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC40YWRkX2xpcXVpZGl0eRABHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAASBhbW91bnRfYRgBHEJhbGFuY2UAAUhhbW91bnRfYl9tYXhfbGltaXQYARxCYWxhbmNlAAEU0EFkZCBsaXF1aWRpdHkgdG8gcHJldmlvdXNseSBjcmVhdGVkIGFzc2V0IHBhaXIgcG9vbC4AlFNoYXJlcyBhcmUgaXNzdWVkIHdpdGggY3VycmVudCBwcmljZS4AtEVtaXRzIGBMaXF1aWRpdHlBZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLmRhZGRfbGlxdWlkaXR5X3dpdGhfbGltaXRzFAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABIGFtb3VudF9hGAEcQmFsYW5jZQABSGFtb3VudF9iX21heF9saW1pdBgBHEJhbGFuY2UAAShtaW5fc2hhcmVzGAEcQmFsYW5jZQAFAEByZW1vdmVfbGlxdWlkaXR5DAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABMHNoYXJlX2Ftb3VudBgBHEJhbGFuY2UAAhgxAVJlbW92ZSBsaXF1aWRpdHkgZnJvbSBzcGVjaWZpYyBsaXF1aWRpdHkgcG9vbCBpbiB0aGUgZm9ybSBvZiBidXJuaW5nIHNoYXJlcy4A0ElmIGxpcXVpZGl0eSBpbiB0aGUgcG9vbCByZWFjaGVzIDAsIGl0IGlzIGRlc3Ryb3llZC4ApEVtaXRzICdMaXF1aWRpdHlSZW1vdmVkJyB3aGVuIHN1Y2Nlc3NmdWwutEVtaXRzICdQb29sRGVzdHJveWVkJyB3aGVuIHBvb2wgaXMgZGVzdHJveWVkLnByZW1vdmVfbGlxdWlkaXR5X3dpdGhfbGltaXRzFAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABMHNoYXJlX2Ftb3VudBgBHEJhbGFuY2UAATBtaW5fYW1vdW50X2EYARxCYWxhbmNlAAEwbWluX2Ftb3VudF9iGAEcQmFsYW5jZQAGABBzZWxsFAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAASRtYXhfbGltaXQYARxCYWxhbmNlAAEgZGlzY291bnQgARBib29sAAMgdFRyYWRlIGFzc2V0IGluIGZvciBhc3NldCBvdXQuAGUBRXhlY3V0ZXMgYSBzd2FwIG9mIGBhc3NldF9pbmAgZm9yIGBhc3NldF9vdXRgLiBQcmljZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBsaXF1aWRpdHkgcG9vbC4A6QFgbWF4X2xpbWl0YCAtIG1pbmltdW0gYW1vdW50IG9mIGBhc3NldF9vdXRgIC8gYW1vdW50IG9mIGFzc2V0X291dCB0byBiZSBvYnRhaW5lZCBmcm9tIHRoZSBwb29sIGluIGV4Y2hhbmdlIGZvciBgYXNzZXRfaW5gLgDERW1pdHMgYFNlbGxFeGVjdXRlZGAgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLshFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgd2hlbiBzdWNjZXNzZnVsLgxidXkUASRhc3NldF9vdXQQARxBc3NldElkAAEgYXNzZXRfaW4QARxBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABJG1heF9saW1pdBgBHEJhbGFuY2UAASBkaXNjb3VudCABEGJvb2wABBx0VHJhZGUgYXNzZXQgaW4gZm9yIGFzc2V0IG91dC4AZQFFeGVjdXRlcyBhIHN3YXAgb2YgYGFzc2V0X2luYCBmb3IgYGFzc2V0X291dGAuIFByaWNlIGlzIGRldGVybWluZWQgYnkgdGhlIGxpcXVpZGl0eSBwb29sLgBJAWBtYXhfbGltaXRgIC0gbWF4aW11bSBhbW91bnQgb2YgYGFzc2V0X2luYCB0byBiZSBzb2xkIGluIGV4Y2hhbmdlIGZvciBgYXNzZXRfb3V0YC7ARW1pdHMgYEJ1eUV4ZWN1dGVkYCB3aGVuIHN1Y2Nlc3NmdWwuIERlcHJlY2F0ZWQuyEVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCB3aGVuIHN1Y2Nlc3NmdWwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLt0DDEBwYWxsZXRfcmVmZXJyYWxzGHBhbGxldBBDYWxsBARUAAEUNHJlZ2lzdGVyX2NvZGUEARBjb2Rl4QMBbFJlZmVycmFsQ29kZTxUOjpDb2RlTGVuZ3RoPgAANGxSZWdpc3RlciBuZXcgcmVmZXJyYWwgY29kZS4AjGBvcmlnaW5gIHBheXMgdGhlIHJlZ2lzdHJhdGlvbiBmZWUuqGBjb2RlYCBpcyBhc3NpZ25lZCB0byB0aGUgZ2l2ZW4gYGFjY291bnRgLgDkTGVuZ3RoIG9mIHRoZSBgY29kZWAgbXVzdCBiZSBhdCBsZWFzdCBgVDo6TWluQ29kZUxlbmd0aGAutE1heGltdW0gbGVuZ3RoIGlzIGxpbWl0ZWQgdG8gYFQ6OkNvZGVMZW5ndGhgLpEBYGNvZGVgIG11c3QgY29udGFpbiBvbmx5IGFsZmEtbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCBhbGwgY2hhcmFjdGVycyB3aWxsIGJlIGNvbnZlcnRlZCB0byB1cHBlciBjYXNlLgAsUGFyYW1ldGVyczrkLSBgY29kZWA6IENvZGUgdG8gcmVnaXN0ZXIuIE11c3QgZm9sbG93IHRoZSByZXN0cmljdGlvbnMuALRFbWl0cyBgQ29kZVJlZ2lzdGVyZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4kbGlua19jb2RlBAEQY29kZeEDAWxSZWZlcnJhbENvZGU8VDo6Q29kZUxlbmd0aD4AAShoTGluayBhIGNvZGUgdG8gYW4gYWNjb3VudC4AKQFgQ29kZWAgbXVzdCBiZSB2YWxpZCByZWdpc3RlcmVkIGNvZGUuIE90aGVyd2lzZSBgSW52YWxpZENvZGVgIGlzIHJldHVybmVkLgD0U2lnbmVyIGFjY291bnQgaXMgbGlua2VkIHRvIHRoZSByZWZlcnJhbCBhY2NvdW50IG9mIHRoZSBjb2RlLgAsUGFyYW1ldGVyczrQLSBgY29kZWA6IENvZGUgdG8gdXNlIHRvIGxpbmsgdGhlIHNpZ25lciBhY2NvdW50IHRvLgCkRW1pdHMgYENvZGVMaW5rZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4cY29udmVydAQBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAACGMBDb252ZXJ0IGFjY3J1ZWQgYXNzZXQgYW1vdW50IHRvIHJld2FyZCBjdXJyZW5jeS4ALFBhcmFtZXRlcnM63C0gYGFzc2V0X2lkYDogSWQgb2YgYW4gYXNzZXQgdG8gY29udmVydCB0byBSZXdhcmRBc3NldC4AoEVtaXRzIGBDb252ZXJ0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC40Y2xhaW1fcmV3YXJkcwADJGRDbGFpbSBhY2N1bXVsYXRlZCByZXdhcmRzAEkBSUYgdGhlcmUgaXMgYW55IGFzc2V0IGluIHRoZSByZXdhcmQgcG90LCBhbGwgaXMgY29udmVydGVkIHRvIFJld2FyZEN1cnJlbmN5IGZpcnN0LgAZAVJld2FyZCBhbW91bnQgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgc2hhcmVzIG9mIHRoZSBzaWduZXIgYWNjb3VudC4A1QFpZiB0aGUgc2lnbmVyIGFjY291bnQgaXMgcmVmZXJyZXIgYWNjb3VudCwgdG90YWwgYWNjdW11bGF0ZWQgcmV3YXJkcyBpcyB1cGRhdGVkIGFzIHdlbGwgYXMgcmVmZXJyZXIgbGV2ZWwgaWYgcmVhY2hlZC4AmEVtaXRzIGBDbGFpbWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuVHNldF9yZXdhcmRfcGVyY2VudGFnZQwBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABFGxldmVs5QMBFExldmVsAAEccmV3YXJkc+kDATxGZWVEaXN0cmlidXRpb24ABCBwU2V0IGFzc2V0IHJld2FyZCBwZXJjZW50YWdlcwAsUGFyYW1ldGVyczpYLSBgYXNzZXRfaWRgOiBhc3NldCBpZEAtIGBsZXZlbGA6IGxldmVsjC0gYHJld2FyZHNgOiByZXdhcmQgZmVlIHBlcmNlbnRhZ2VzAMhFbWl0cyBgQXNzZXRSZXdhcmRzVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7hAwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAOUDCEBwYWxsZXRfcmVmZXJyYWxzFExldmVsAAEYEE5vbmUAAAAUVGllcjAAAQAUVGllcjEAAgAUVGllcjIAAwAUVGllcjMABAAUVGllcjQABQAA6QMIQHBhbGxldF9yZWZlcnJhbHM8RmVlRGlzdHJpYnV0aW9uAAAMASByZWZlcnJlciEDARxQZXJtaWxsAAEYdHJhZGVyIQMBHFBlcm1pbGwAASBleHRlcm5hbCEDARxQZXJtaWxsAADtAwxIcGFsbGV0X2xpcXVpZGF0aW9uGHBhbGxldBBDYWxsBARUAAEIJGxpcXVpZGF0ZRQBQGNvbGxhdGVyYWxfYXNzZXQQARxBc3NldElkAAEoZGVidF9hc3NldBABHEFzc2V0SWQAARB1c2VyQQEBKEV2bUFkZHJlc3MAATRkZWJ0X3RvX2NvdmVyGAEcQmFsYW5jZQABFHJvdXRlfQMBOFJvdXRlPEFzc2V0SWQ+AABAtExpcXVpZGF0ZXMgYW4gZXhpc3RpbmcgbW9uZXkgbWFya2V0IHBvc2l0aW9uLoBDYW4gYmUgYm90aCBzaWduZWQgYW5kIHVuc2lnbmVkLgDcUGVyZm9ybXMgYSBmbGFzaCBsb2FuIHRvIGdldCBmdW5kcyB0byBwYXkgZm9yIHRoZSBkZWJ0LjkBUmVjZWl2ZWQgY29sbGF0ZXJhbCBpcyBzd2FwcGVkIGFuZCB0aGUgcHJvZml0IGlzIHRyYW5zZmVycmVkIHRvIGBGZWVSZWNlaXZlcmAuACxQYXJhbWV0ZXJzOmgtIGBvcmlnaW5gOiBTaWduZWQgb3JpZ2luLhUBLSBgY29sbGF0ZXJhbF9hc3NldGA6IEFzc2V0IElEIHVzZWQgYXMgY29sbGF0ZXJhbCBpbiB0aGUgTU0gcG9zaXRpb24u5C0gYGRlYnRfYXNzZXRgOiBBc3NldCBJRCB1c2VkIGFzIGRlYnQgaW4gdGhlIE1NIHBvc2l0aW9uLg0BLSBgdXNlcmA6IEVWTSBhZGRyZXNzIG9mIHRoZSBNTSBwb3NpdGlvbiB0aGF0IHdlIHdhbnQgdG8gbGlxdWlkYXRlLtwtIGBkZWJ0X3RvX2NvdmVyYDogQW1vdW50IG9mIGRlYnQgd2Ugd2FudCB0byBsaXF1aWRhdGUuIQEtIGByb3V0ZWA6IFRoZSByb3V0ZSB3ZSB0cmFkZSBhZ2FpbnN0LiBSZXF1aXJlZCBmb3IgdGhlIGZlZSBjYWxjdWxhdGlvbi4ApEVtaXRzIGBMaXF1aWRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAFhzZXRfYm9ycm93aW5nX2NvbnRyYWN0BAEgY29udHJhY3RBAQEoRXZtQWRkcmVzcwABBKhTZXQgdGhlIGJvcnJvd2luZyBtYXJrZXQgY29udHJhY3QgYWRkcmVzcy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMu8QMMKHBhbGxldF9oc20YcGFsbGV0EENhbGwEBFQAARxQYWRkX2NvbGxhdGVyYWxfYXNzZXQcASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARxwb29sX2lkEAEoVDo6QXNzZXRJZAABMHB1cmNoYXNlX2ZlZSEDARxQZXJtaWxsAAFkbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudD0BAUBDb2VmZmljaWVudFJhdGlvAAEwYnV5X2JhY2tfZmVlIQMBHFBlcm1pbGwAATBidXliYWNrX3JhdGXBAwEcUGVyYmlsbAABOG1heF9pbl9ob2xkaW5n4AE8T3B0aW9uPEJhbGFuY2U+AABgaEFkZCBhIG5ldyBjb2xsYXRlcmFsIGFzc2V0AFUBVGhpcyBmdW5jdGlvbiBhZGRzIGEgbmV3IGFzc2V0IGFzIGFuIGFwcHJvdmVkIGNvbGxhdGVyYWwgZm9yIEhvbGxhci4gT25seSBjYWxsYWJsZSBieXR0aGUgZ292ZXJuYW5jZSAocm9vdCBvcmlnaW4pLgAsUGFyYW1ldGVyczpgLSBgb3JpZ2luYDogTXVzdCBiZSBSb290wC0gYGFzc2V0X2lkYDogQXNzZXQgSUQgdG8gYmUgYWRkZWQgYXMgY29sbGF0ZXJhbBkBLSBgcG9vbF9pZGA6IFN0YWJsZVN3YXAgcG9vbCBJRCB3aGVyZSB0aGlzIGFzc2V0IGFuZCBIb2xsYXIgYXJlIHBhaXJlZGkBLSBgcHVyY2hhc2VfZmVlYDogRmVlIGFwcGxpZWQgd2hlbiBidXlpbmcgSG9sbGFyIHdpdGggdGhpcyBhc3NldCAoYWRkZWQgdG8gcHVyY2hhc2UgcHJpY2UpXQEtIGBtYXhfYnV5X3ByaWNlX2NvZWZmaWNpZW50YDogTWF4aW11bSBidXkgcHJpY2UgY29lZmZpY2llbnQgZm9yIEhTTSB0byBidXkgYmFjayBIb2xsYXJFAS0gYGJ1eV9iYWNrX2ZlZWA6IEZlZSBhcHBsaWVkIHdoZW4gYnV5aW5nIGJhY2sgSG9sbGFyIChzdWJ0cmFjdGVkIGZyb20gYnV5IHByaWNlKWEBLSBgYnV5YmFja19yYXRlYDogUGFyYW1ldGVyIHRoYXQgY29udHJvbHMgaG93IHF1aWNrbHkgSFNNIGNhbiBidXkgSG9sbGFyIHdpdGggdGhpcyBhc3NldBkBLSBgbWF4X2luX2hvbGRpbmdgOiBPcHRpb25hbCBtYXhpbXVtIGFtb3VudCBvZiBjb2xsYXRlcmFsIEhTTSBjYW4gaG9sZAAYRW1pdHM69C0gYENvbGxhdGVyYWxBZGRlZGAgd2hlbiB0aGUgY29sbGF0ZXJhbCBpcyBzdWNjZXNzZnVsbHkgYWRkZWQAHEVycm9yczotAS0gYEFzc2V0QWxyZWFkeUFwcHJvdmVkYCBpZiB0aGUgYXNzZXQgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGFzIGEgY29sbGF0ZXJhbFEBLSBgUG9vbEFscmVhZHlIYXNDb2xsYXRlcmFsYCBpZiBhbm90aGVyIGFzc2V0IGZyb20gdGhlIHNhbWUgcG9vbCBpcyBhbHJlYWR5IGFwcHJvdmVkAQEtIGBIb2xsYXJOb3RJblBvb2xgIGlmIEhvbGxhciBpcyBub3QgZm91bmQgaW4gdGhlIHNwZWNpZmllZCBwb29sNQEtIGBBc3NldE5vdEluUG9vbGAgaWYgdGhlIGNvbGxhdGVyYWwgYXNzZXQgaXMgbm90IGZvdW5kIGluIHRoZSBzcGVjaWZpZWQgcG9vbJAtIE90aGVyIGVycm9ycyBmcm9tIHVuZGVybHlpbmcgY2FsbHNccmVtb3ZlX2NvbGxhdGVyYWxfYXNzZXQEASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAATxkUmVtb3ZlIGEgY29sbGF0ZXJhbCBhc3NldACNAVJlbW92ZXMgYW4gYXNzZXQgZnJvbSB0aGUgYXBwcm92ZWQgY29sbGF0ZXJhbHMgbGlzdC4gT25seSBjYWxsYWJsZSBieSB0aGUgZ292ZXJuYW5jZSAocm9vdCBvcmlnaW4pLlEBVGhlIGNvbGxhdGVyYWwgbXVzdCBoYXZlIGEgemVybyBiYWxhbmNlIGluIHRoZSBIU00gYWNjb3VudCBiZWZvcmUgaXQgY2FuIGJlIHJlbW92ZWQuACxQYXJhbWV0ZXJzOmAtIGBvcmlnaW5gOiBNdXN0IGJlIFJvb3TELSBgYXNzZXRfaWRgOiBBc3NldCBJRCB0byByZW1vdmUgZnJvbSBjb2xsYXRlcmFscwAYRW1pdHM6BQEtIGBDb2xsYXRlcmFsUmVtb3ZlZGAgd2hlbiB0aGUgY29sbGF0ZXJhbCBpcyBzdWNjZXNzZnVsbHkgcmVtb3ZlZAAcRXJyb3JzOgEBLSBgQXNzZXROb3RBcHByb3ZlZGAgaWYgdGhlIGFzc2V0IGlzIG5vdCBhIHJlZ2lzdGVyZWQgY29sbGF0ZXJhbCEBLSBgQ29sbGF0ZXJhbE5vdEVtcHR5YCBpZiB0aGUgSFNNIGFjY291bnQgc3RpbGwgaG9sZHMgc29tZSBvZiB0aGlzIGFzc2V0XHVwZGF0ZV9jb2xsYXRlcmFsX2Fzc2V0GAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEwcHVyY2hhc2VfZmVl9QMBPE9wdGlvbjxQZXJtaWxsPgABZG1heF9idXlfcHJpY2VfY29lZmZpY2llbnT5AwFgT3B0aW9uPENvZWZmaWNpZW50UmF0aW8+AAEwYnV5X2JhY2tfZmVl9QMBPE9wdGlvbjxQZXJtaWxsPgABMGJ1eWJhY2tfcmF0Zf0DATxPcHRpb248UGVyYmlsbD4AAThtYXhfaW5faG9sZGluZwEEAVxPcHRpb248T3B0aW9uPEJhbGFuY2U+PgACTIhVcGRhdGUgY29sbGF0ZXJhbCBhc3NldCBwYXJhbWV0ZXJzAJ0BVXBkYXRlcyB0aGUgcGFyYW1ldGVycyBmb3IgYW4gZXhpc3RpbmcgY29sbGF0ZXJhbCBhc3NldC4gT25seSBjYWxsYWJsZSBieSB0aGUgZ292ZXJuYW5jZSAocm9vdCBvcmlnaW4pLiEBRWFjaCBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwgYW5kIG9ubHkgcHJvdmlkZWQgcGFyYW1ldGVycyB3aWxsIGJlIHVwZGF0ZWQuACxQYXJhbWV0ZXJzOmAtIGBvcmlnaW5gOiBNdXN0IGJlIFJvb3SALSBgYXNzZXRfaWRgOiBBc3NldCBJRCB0byB1cGRhdGW0LSBgcHVyY2hhc2VfZmVlYDogTmV3IHB1cmNoYXNlIGZlZSAob3B0aW9uYWwpHQEtIGBtYXhfYnV5X3ByaWNlX2NvZWZmaWNpZW50YDogTmV3IG1heCBidXkgcHJpY2UgY29lZmZpY2llbnQgKG9wdGlvbmFsKbQtIGBidXlfYmFja19mZWVgOiBOZXcgYnV5IGJhY2sgZmVlIChvcHRpb25hbCncLSBgYnV5YmFja19yYXRlYDogTmV3IGJ1eWJhY2sgcmF0ZSBwYXJhbWV0ZXIgKG9wdGlvbmFsKeQtIGBtYXhfaW5faG9sZGluZ2A6IE5ldyBtYXhpbXVtIGhvbGRpbmcgYW1vdW50IChvcHRpb25hbCkAGEVtaXRzOgUBLSBgQ29sbGF0ZXJhbFVwZGF0ZWRgIHdoZW4gdGhlIGNvbGxhdGVyYWwgaXMgc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQAHEVycm9yczoBAS0gYEFzc2V0Tm90QXBwcm92ZWRgIGlmIHRoZSBhc3NldCBpcyBub3QgYSByZWdpc3RlcmVkIGNvbGxhdGVyYWwQc2VsbBABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAE4c2xpcHBhZ2VfbGltaXQYARxCYWxhbmNlAANsRFNlbGwgYXNzZXQgdG8gSFNNAHhUaGlzIGZ1bmN0aW9uIGFsbG93cyB1c2VycyB0bzrwMS4gU2VsbCBIb2xsYXIgYmFjayB0byBIU00gaW4gZXhjaGFuZ2UgZm9yIGNvbGxhdGVyYWwgYXNzZXRzEQEyLiBTZWxsIGNvbGxhdGVyYWwgYXNzZXRzIHRvIEhTTSBpbiBleGNoYW5nZSBmb3IgbmV3bHkgbWludGVkIEhvbGxhcgB1AVRoZSB2YWxpZCBwYWlycyBtdXN0IGluY2x1ZGUgSG9sbGFyIGFzIG9uZSBzaWRlIGFuZCBhbiBhcHByb3ZlZCBjb2xsYXRlcmFsIGFzIHRoZSBvdGhlciBzaWRlLgAsUGFyYW1ldGVyczqULSBgb3JpZ2luYDogQWNjb3VudCBzZWxsaW5nIHRoZSBhc3NldIQtIGBhc3NldF9pbmA6IEFzc2V0IElEIGJlaW5nIHNvbGSQLSBgYXNzZXRfb3V0YDogQXNzZXQgSUQgYmVpbmcgYm91Z2h0pC0gYGFtb3VudF9pbmA6IEFtb3VudCBvZiBhc3NldF9pbiB0byBzZWxs+C0gYHNsaXBwYWdlX2xpbWl0YDogTWluaW11bSBhbW91bnQgb3V0IGZvciBzbGlwcGFnZSBwcm90ZWN0aW9uABhFbWl0czqgLSBgU3dhcHBlZDNgIHdoZW4gdGhlIHNlbGwgaXMgc3VjY2Vzc2Z1bAAcRXJyb3JzOiUBLSBgSW52YWxpZEFzc2V0UGFpcmAgaWYgdGhlIHBhaXIgaXMgbm90IEhvbGxhciBhbmQgYW4gYXBwcm92ZWQgY29sbGF0ZXJhbPQtIGBBc3NldE5vdEFwcHJvdmVkYCBpZiB0aGUgY29sbGF0ZXJhbCBhc3NldCBpc24ndCByZWdpc3RlcmVkQQEtIGBTbGlwcGFnZUxpbWl0RXhjZWVkZWRgIGlmIHRoZSBhbW91bnQgcmVjZWl2ZWQgaXMgbGVzcyB0aGFuIHRoZSBzbGlwcGFnZSBsaW1pdCUBLSBgTWF4QnV5QmFja0V4Y2VlZGVkYCBpZiB0aGUgc2VsbCB3b3VsZCBleGNlZWQgdGhlIG1heGltdW0gYnV5IGJhY2sgcmF0ZRkBLSBgTWF4QnV5UHJpY2VFeGNlZWRlZGAgaWYgdGhlIHNlbGwgd291bGQgZXhjZWVkIHRoZSBtYXhpbXVtIGJ1eSBwcmljZR0BLSBgSW5zdWZmaWNpZW50Q29sbGF0ZXJhbEJhbGFuY2VgIGlmIEhTTSBkb2Vzbid0IGhhdmUgZW5vdWdoIGNvbGxhdGVyYWxhAS0gYEludmFsaWRFVk1JbnRlcmFjdGlvbmAgaWYgdGhlcmUncyBhbiBlcnJvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBIb2xsYXIgRVJDMjAgY29udHJhY3SQLSBPdGhlciBlcnJvcnMgZnJvbSB1bmRlcmx5aW5nIGNhbGxzDGJ1eRABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABOHNsaXBwYWdlX2xpbWl0GAEcQmFsYW5jZQAEZEhCdXkgYXNzZXQgZnJvbSBIU00AeFRoaXMgZnVuY3Rpb24gYWxsb3dzIHVzZXJzIHRvOrgxLiBCdXkgSG9sbGFyIGZyb20gSFNNIHVzaW5nIGNvbGxhdGVyYWwgYXNzZXRzuDIuIEJ1eSBjb2xsYXRlcmFsIGFzc2V0cyBmcm9tIEhTTSB1c2luZyBIb2xsYXIAdQFUaGUgdmFsaWQgcGFpcnMgbXVzdCBpbmNsdWRlIEhvbGxhciBhcyBvbmUgc2lkZSBhbmQgYW4gYXBwcm92ZWQgY29sbGF0ZXJhbCBhcyB0aGUgb3RoZXIgc2lkZS4ALFBhcmFtZXRlcnM6kC0gYG9yaWdpbmA6IEFjY291bnQgYnV5aW5nIHRoZSBhc3NldLQtIGBhc3NldF9pbmA6IEFzc2V0IElEIGJlaW5nIHNvbGQgYnkgdGhlIHVzZXLALSBgYXNzZXRfb3V0YDogQXNzZXQgSUQgYmVpbmcgYm91Z2h0IGJ5IHRoZSB1c2VyqC0gYGFtb3VudF9vdXRgOiBBbW91bnQgb2YgYXNzZXRfb3V0IHRvIGJ1efQtIGBzbGlwcGFnZV9saW1pdGA6IE1heGltdW0gYW1vdW50IGluIGZvciBzbGlwcGFnZSBwcm90ZWN0aW9uABhFbWl0czqcLSBgU3dhcHBlZDNgIHdoZW4gdGhlIGJ1eSBpcyBzdWNjZXNzZnVsABxFcnJvcnM6JQEtIGBJbnZhbGlkQXNzZXRQYWlyYCBpZiB0aGUgcGFpciBpcyBub3QgSG9sbGFyIGFuZCBhbiBhcHByb3ZlZCBjb2xsYXRlcmFs9C0gYEFzc2V0Tm90QXBwcm92ZWRgIGlmIHRoZSBjb2xsYXRlcmFsIGFzc2V0IGlzbid0IHJlZ2lzdGVyZWQhAS0gYFNsaXBwYWdlTGltaXRFeGNlZWRlZGAgaWYgdGhlIGFtb3VudCBpbnB1dCBleGNlZWRzIHRoZSBzbGlwcGFnZSBsaW1pdD0BLSBgTWF4SG9sZGluZ0V4Y2VlZGVkYCBpZiB0aGUgYnV5IHdvdWxkIGNhdXNlIEhTTSB0byBleGNlZWQgaXRzIG1heGltdW0gaG9sZGluZ2EBLSBgSW52YWxpZEVWTUludGVyYWN0aW9uYCBpZiB0aGVyZSdzIGFuIGVycm9yIGludGVyYWN0aW5nIHdpdGggdGhlIEhvbGxhciBFUkMyMCBjb250cmFjdJAtIE90aGVyIGVycm9ycyBmcm9tIHVuZGVybHlpbmcgY2FsbHNEZXhlY3V0ZV9hcmJpdHJhZ2UIAUxjb2xsYXRlcmFsX2Fzc2V0X2lkEAEoVDo6QXNzZXRJZAABMGZsYXNoX2Ftb3VudOABPE9wdGlvbjxCYWxhbmNlPgAFYBEBRXhlY3V0ZSBhcmJpdHJhZ2Ugb3Bwb3J0dW5pdHkgYmV0d2VlbiBIU00gYW5kIGNvbGxhdGVyYWwgc3RhYmxlIHBvb2wAMQFUaGlzIGNhbGwgaXMgZGVzaWduZWQgdG8gYmUgdHJpZ2dlcmVkIGF1dG9tYXRpY2FsbHkgYnkgb2ZmY2hhaW4gd29ya2Vycy4gSXQ6KQExLiBEZXRlY3RzIHByaWNlIGltYmFsYW5jZXMgYmV0d2VlbiBIU00gYW5kIGEgc3RhYmxlIHBvb2wgZm9yIGEgY29sbGF0ZXJhbCUBMi4gSWYgYW4gb3Bwb3J0dW5pdHkgZXhpc3RzLCBtaW50cyBIb2xsYXIsIHN3YXBzIGl0IGZvciBjb2xsYXRlcmFsIG9uIEhTTdgzLiBTd2FwcyB0aGF0IGNvbGxhdGVyYWwgZm9yIEhvbGxhciBvbiB0aGUgc3RhYmxlIHBvb2y8NC4gQnVybnMgdGhlIEhvbGxhciByZWNlaXZlZCBmcm9tIHRoZSBhcmJpdHJhZ2UAYQFUaGlzIGhlbHBzIG1haW50YWluIHRoZSBwZWcgb2YgSG9sbGFyIGJ5IHByb2ZpdGluZyBmcm9tIGFuZCBjb3JyZWN0aW5nIHByaWNlIGltYmFsYW5jZXMuFQFUaGUgY2FsbCBpcyB1bnNpZ25lZCBhbmQgc2hvdWxkIG9ubHkgYmUgZXhlY3V0ZWQgYnkgb2ZmY2hhaW4gd29ya2Vycy4ALFBhcmFtZXRlcnM6jC0gYG9yaWdpbmA6IE11c3QgYmUgTm9uZSAodW5zaWduZWQpOQEtIGBjb2xsYXRlcmFsX2Fzc2V0X2lkYDogVGhlIElEIG9mIHRoZSBjb2xsYXRlcmFsIGFzc2V0IHRvIGNoZWNrIGZvciBhcmJpdHJhZ2UAGEVtaXRzOtgtIGBBcmJpdHJhZ2VFeGVjdXRlZGAgd2hlbiB0aGUgYXJiaXRyYWdlIGlzIHN1Y2Nlc3NmdWwAHEVycm9yczoBAS0gYEFzc2V0Tm90QXBwcm92ZWRgIGlmIHRoZSBhc3NldCBpcyBub3QgYSByZWdpc3RlcmVkIGNvbGxhdGVyYWwlAS0gYE5vQXJiaXRyYWdlT3Bwb3J0dW5pdHlgIGlmIHRoZXJlJ3Mgbm8gcHJvZml0YWJsZSBhcmJpdHJhZ2Ugb3Bwb3J0dW5pdHktAS0gYE1heEJ1eVByaWNlRXhjZWVkZWRgIGlmIHRoZSBhcmJpdHJhZ2Ugd291bGQgZXhjZWVkIHRoZSBtYXhpbXVtIGJ1eSBwcmljZWEBLSBgSW52YWxpZEVWTUludGVyYWN0aW9uYCBpZiB0aGVyZSdzIGFuIGVycm9yIGludGVyYWN0aW5nIHdpdGggdGhlIEhvbGxhciBFUkMyMCBjb250cmFjdJAtIE90aGVyIGVycm9ycyBmcm9tIHVuZGVybHlpbmcgY2FsbHNAc2V0X2ZsYXNoX21pbnRlcgQBRGZsYXNoX21pbnRlcl9hZGRyQQEBKEV2bUFkZHJlc3MABgAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMu9QMEGE9wdGlvbgQEVAEhAwEIEE5vbmUAAAAQU29tZQQAIQMAAAEAAPkDBBhPcHRpb24EBFQBPQEBCBBOb25lAAAAEFNvbWUEAD0BAAABAAD9AwQYT3B0aW9uBARUAcEDAQgQTm9uZQAAABBTb21lBADBAwAAAQAAAQQEGE9wdGlvbgQEVAHgAQgQTm9uZQAAABBTb21lBADgAAABAAAFBAwsb3JtbF90b2tlbnMYbW9kdWxlEENhbGwEBFQAARQgdHJhbnNmZXIMARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARhhbW91bnQtAQEoVDo6QmFsYW5jZQAANNRUcmFuc2ZlciBzb21lIGxpcXVpZCBmcmVlIGJhbGFuY2UgdG8gYW5vdGhlciBhY2NvdW50LgAFAWB0cmFuc2ZlcmAgd2lsbCBzZXQgdGhlIGBGcmVlQmFsYW5jZWAgb2YgdGhlIHNlbmRlciBhbmQgcmVjZWl2ZXIu4El0IHdpbGwgZGVjcmVhc2UgdGhlIHRvdGFsIGlzc3VhbmNlIG9mIHRoZSBzeXN0ZW0gYnkgdGhl/GBUcmFuc2ZlckZlZWAuIElmIHRoZSBzZW5kZXIncyBhY2NvdW50IGlzIGJlbG93IHRoZSBleGlzdGVudGlhbAEBZGVwb3NpdCBhcyBhIHJlc3VsdCBvZiB0aGUgdHJhbnNmZXIsIHRoZSBhY2NvdW50IHdpbGwgYmUgcmVhcGVkLgDkVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFNpZ25lZGAgYnkgdGhlLHRyYW5zYWN0b3IuAKAtIGBkZXN0YDogVGhlIHJlY2lwaWVudCBvZiB0aGUgdHJhbnNmZXIufC0gYGN1cnJlbmN5X2lkYDogY3VycmVuY3kgdHlwZS6sLSBgYW1vdW50YDogZnJlZSBiYWxhbmNlIGFtb3VudCB0byB0cmFuZmVyLjB0cmFuc2Zlcl9hbGwMARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAShrZWVwX2FsaXZlIAEQYm9vbAABTNBUcmFuc2ZlciBhbGwgcmVtYWluaW5nIGJhbGFuY2UgdG8gdGhlIGdpdmVuIGFjY291bnQuAPBOT1RFOiBUaGlzIGZ1bmN0aW9uIG9ubHkgYXR0ZW1wdHMgdG8gdHJhbnNmZXIgX3RyYW5zZmVyYWJsZV/4YmFsYW5jZXMuIFRoaXMgbWVhbnMgdGhhdCBhbnkgbG9ja2VkLCByZXNlcnZlZCwgb3IgZXhpc3RlbnRpYWwJAWRlcG9zaXRzICh3aGVuIGBrZWVwX2FsaXZlYCBpcyBgdHJ1ZWApLCB3aWxsIG5vdCBiZSB0cmFuc2ZlcnJlZCBiefx0aGlzIGZ1bmN0aW9uLiBUbyBlbnN1cmUgdGhhdCB0aGlzIGZ1bmN0aW9uIHJlc3VsdHMgaW4gYSBraWxsZWT4YWNjb3VudCwgeW91IG1pZ2h0IG5lZWQgdG8gcHJlcGFyZSB0aGUgYWNjb3VudCBieSByZW1vdmluZyBhbnmwcmVmZXJlbmNlIGNvdW50ZXJzLCBzdG9yYWdlIGRlcG9zaXRzLCBldGMuLi4A5FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBTaWduZWRgIGJ5IHRoZSx0cmFuc2FjdG9yLgCgLSBgZGVzdGA6IFRoZSByZWNpcGllbnQgb2YgdGhlIHRyYW5zZmVyLnwtIGBjdXJyZW5jeV9pZGA6IGN1cnJlbmN5IHR5cGUu8C0gYGtlZXBfYWxpdmVgOiBBIGJvb2xlYW4gdG8gZGV0ZXJtaW5lIGlmIHRoZSBgdHJhbnNmZXJfYWxsYAUBICBvcGVyYXRpb24gc2hvdWxkIHNlbmQgYWxsIG9mIHRoZSBmdW5kcyB0aGUgYWNjb3VudCBoYXMsIGNhdXNpbmcFASAgdGhlIHNlbmRlciBhY2NvdW50IHRvIGJlIGtpbGxlZCAoZmFsc2UpLCBvciB0cmFuc2ZlciBldmVyeXRoaW5nCQEgIGV4Y2VwdCBhdCBsZWFzdCB0aGUgZXhpc3RlbnRpYWwgZGVwb3NpdCwgd2hpY2ggd2lsbCBndWFyYW50ZWUgdG+cICBrZWVwIHRoZSBzZW5kZXIgYWNjb3VudCBhbGl2ZSAodHJ1ZSkuTHRyYW5zZmVyX2tlZXBfYWxpdmUMARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARhhbW91bnQtAQEoVDo6QmFsYW5jZQACLAUBU2FtZSBhcyB0aGUgW2B0cmFuc2ZlcmBdIGNhbGwsIGJ1dCB3aXRoIGEgY2hlY2sgdGhhdCB0aGUgdHJhbnNmZXKEd2lsbCBub3Qga2lsbCB0aGUgb3JpZ2luIGFjY291bnQuALg5OSUgb2YgdGhlIHRpbWUgeW91IHdhbnQgW2B0cmFuc2ZlcmBdIGluc3RlYWQuAORUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgU2lnbmVkYCBieSB0aGUsdHJhbnNhY3Rvci4AoC0gYGRlc3RgOiBUaGUgcmVjaXBpZW50IG9mIHRoZSB0cmFuc2Zlci58LSBgY3VycmVuY3lfaWRgOiBjdXJyZW5jeSB0eXBlLqwtIGBhbW91bnRgOiBmcmVlIGJhbGFuY2UgYW1vdW50IHRvIHRyYW5mZXIuOGZvcmNlX3RyYW5zZmVyEAEYc291cmNlAAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARhhbW91bnQtAQEoVDo6QmFsYW5jZQADJBEBRXhhY3RseSBhcyBgdHJhbnNmZXJgLCBleGNlcHQgdGhlIG9yaWdpbiBtdXN0IGJlIHJvb3QgYW5kIHRoZSBzb3VyY2VkYWNjb3VudCBtYXkgYmUgc3BlY2lmaWVkLgDEVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgCcLSBgc291cmNlYDogVGhlIHNlbmRlciBvZiB0aGUgdHJhbnNmZXIuoC0gYGRlc3RgOiBUaGUgcmVjaXBpZW50IG9mIHRoZSB0cmFuc2Zlci58LSBgY3VycmVuY3lfaWRgOiBjdXJyZW5jeSB0eXBlLqwtIGBhbW91bnRgOiBmcmVlIGJhbGFuY2UgYW1vdW50IHRvIHRyYW5mZXIuLHNldF9iYWxhbmNlEAEMd2hvAAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAASBuZXdfZnJlZS0BAShUOjpCYWxhbmNlAAEwbmV3X3Jlc2VydmVkLQEBKFQ6OkJhbGFuY2UABCCQU2V0IHRoZSBiYWxhbmNlcyBvZiBhIGdpdmVuIGFjY291bnQuAAkBVGhpcyB3aWxsIGFsdGVyIGBGcmVlQmFsYW5jZWAgYW5kIGBSZXNlcnZlZEJhbGFuY2VgIGluIHN0b3JhZ2UuIGl0zHdpbGwgYWxzbyBkZWNyZWFzZSB0aGUgdG90YWwgaXNzdWFuY2Ugb2YgdGhlIHN5c3RlbQ0BKGBUb3RhbElzc3VhbmNlYCkuIElmIHRoZSBuZXcgZnJlZSBvciByZXNlcnZlZCBiYWxhbmNlIGlzIGJlbG93IHRoZdBleGlzdGVudGlhbCBkZXBvc2l0LCBpdCB3aWxsIHJlYXAgdGhlIGBBY2NvdW50SW5mb2AuALBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgaXMgYHJvb3RgLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4JBAxEcGFsbGV0X2N1cnJlbmNpZXMYbW9kdWxlEENhbGwEBFQAAQwgdHJhbnNmZXIMARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABPEN1cnJlbmN5SWRPZjxUPgABGGFtb3VudC0BATBCYWxhbmNlT2Y8VD4AABD0VHJhbnNmZXIgc29tZSBiYWxhbmNlIHRvIGFub3RoZXIgYWNjb3VudCB1bmRlciBgY3VycmVuY3lfaWRgLgDkVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFNpZ25lZGAgYnkgdGhlLHRyYW5zYWN0b3IuYHRyYW5zZmVyX25hdGl2ZV9jdXJyZW5jeQgBEGRlc3QAAYw8VDo6TG9va3VwIGFzIFN0YXRpY0xvb2t1cD46OlNvdXJjZQABGGFtb3VudC0BATBCYWxhbmNlT2Y8VD4AARDEVHJhbnNmZXIgc29tZSBuYXRpdmUgY3VycmVuY3kgdG8gYW5vdGhlciBhY2NvdW50LgDkVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFNpZ25lZGAgYnkgdGhlLHRyYW5zYWN0b3IuOHVwZGF0ZV9iYWxhbmNlDAEMd2hvAAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABPEN1cnJlbmN5SWRPZjxUPgABGGFtb3VudA0EASxBbW91bnRPZjxUPgACDMx1cGRhdGUgYW1vdW50IG9mIGFjY291bnQgYHdob2AgdW5kZXIgYGN1cnJlbmN5X2lkYC4AwFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4NBAAABQ0AEQQMMG9ybWxfdmVzdGluZxhtb2R1bGUQQ2FsbAQEVAABEBRjbGFpbQAAADx2ZXN0ZWRfdHJhbnNmZXIIARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASBzY2hlZHVsZRUEAVBWZXN0aW5nU2NoZWR1bGVPZjxUPgABAGB1cGRhdGVfdmVzdGluZ19zY2hlZHVsZXMIAQx3aG8AAYw8VDo6TG9va3VwIGFzIFN0YXRpY0xvb2t1cD46OlNvdXJjZQABRHZlc3Rpbmdfc2NoZWR1bGVzGQQBZFZlYzxWZXN0aW5nU2NoZWR1bGVPZjxUPj4AAgAkY2xhaW1fZm9yBAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAMABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLhUECDBvcm1sX3Zlc3Rpbmc8VmVzdGluZ1NjaGVkdWxlCCxCbG9ja051bWJlcgEQHEJhbGFuY2UBGAAQARRzdGFydBABLEJsb2NrTnVtYmVyAAEYcGVyaW9kEAEsQmxvY2tOdW1iZXIAATBwZXJpb2RfY291bnQQAQx1MzIAAShwZXJfcGVyaW9kLQEBHEJhbGFuY2UAABkEAAACFQQAHQQMKHBhbGxldF9ldm0YcGFsbGV0EENhbGwEBFQAARAgd2l0aGRyYXcIARxhZGRyZXNzQQEBEEgxNjAAARR2YWx1ZRgBMEJhbGFuY2VPZjxUPgAABOBXaXRoZHJhdyBiYWxhbmNlIGZyb20gRVZNIGludG8gY3VycmVuY3kvYmFsYW5jZXMgcGFsbGV0LhBjYWxsJAEYc291cmNlQQEBEEgxNjAAARh0YXJnZXRBAQEQSDE2MAABFGlucHV0OAEcVmVjPHU4PgABFHZhbHVlSQEBEFUyNTYAASRnYXNfbGltaXQwAQx1NjQAATxtYXhfZmVlX3Blcl9nYXNJAQEQVTI1NgABYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhcyEEATBPcHRpb248VTI1Nj4AARRub25jZSEEATBPcHRpb248VTI1Nj4AASxhY2Nlc3NfbGlzdCUEAVhWZWM8KEgxNjAsIFZlYzxIMjU2Pik+AAEEXQFJc3N1ZSBhbiBFVk0gY2FsbCBvcGVyYXRpb24uIFRoaXMgaXMgc2ltaWxhciB0byBhIG1lc3NhZ2UgY2FsbCB0cmFuc2FjdGlvbiBpbiBFdGhlcmV1bS4YY3JlYXRlIAEYc291cmNlQQEBEEgxNjAAARBpbml0OAEcVmVjPHU4PgABFHZhbHVlSQEBEFUyNTYAASRnYXNfbGltaXQwAQx1NjQAATxtYXhfZmVlX3Blcl9nYXNJAQEQVTI1NgABYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhcyEEATBPcHRpb248VTI1Nj4AARRub25jZSEEATBPcHRpb248VTI1Nj4AASxhY2Nlc3NfbGlzdCUEAVhWZWM8KEgxNjAsIFZlYzxIMjU2Pik+AAIIUQFJc3N1ZSBhbiBFVk0gY3JlYXRlIG9wZXJhdGlvbi4gVGhpcyBpcyBzaW1pbGFyIHRvIGEgY29udHJhY3QgY3JlYXRpb24gdHJhbnNhY3Rpb24gaW4kRXRoZXJldW0uHGNyZWF0ZTIkARhzb3VyY2VBAQEQSDE2MAABEGluaXQ4ARxWZWM8dTg+AAEQc2FsdDQBEEgyNTYAARR2YWx1ZUkBARBVMjU2AAEkZ2FzX2xpbWl0MAEMdTY0AAE8bWF4X2ZlZV9wZXJfZ2FzSQEBEFUyNTYAAWBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXMhBAEwT3B0aW9uPFUyNTY+AAEUbm9uY2UhBAEwT3B0aW9uPFUyNTY+AAEsYWNjZXNzX2xpc3QlBAFYVmVjPChIMTYwLCBWZWM8SDI1Nj4pPgADBHxJc3N1ZSBhbiBFVk0gY3JlYXRlMiBvcGVyYXRpb24uBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLiEEBBhPcHRpb24EBFQBSQEBCBBOb25lAAAAEFNvbWUEAEkBAAABAAAlBAAAAikEACkEAAAECEEByQEALQQMPHBhbGxldF9ldGhlcmV1bRhwYWxsZXQQQ2FsbAQEVAABBCB0cmFuc2FjdAQBLHRyYW5zYWN0aW9uMQQBLFRyYW5zYWN0aW9uAAAEhFRyYW5zYWN0IGFuIEV0aGVyZXVtIHRyYW5zYWN0aW9uLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4xBAwgZXRoZXJldW0sdHJhbnNhY3Rpb240VHJhbnNhY3Rpb25WMgABDBhMZWdhY3kEADUEAURMZWdhY3lUcmFuc2FjdGlvbgAAABxFSVAyOTMwBABFBAFIRUlQMjkzMFRyYW5zYWN0aW9uAAEAHEVJUDE1NTkEAFEEAUhFSVAxNTU5VHJhbnNhY3Rpb24AAgAANQQMIGV0aGVyZXVtLHRyYW5zYWN0aW9uRExlZ2FjeVRyYW5zYWN0aW9uAAAcARRub25jZUkBARBVMjU2AAEkZ2FzX3ByaWNlSQEBEFUyNTYAASRnYXNfbGltaXRJAQEQVTI1NgABGGFjdGlvbjkEAURUcmFuc2FjdGlvbkFjdGlvbgABFHZhbHVlSQEBEFUyNTYAARRpbnB1dDgBFEJ5dGVzAAEkc2lnbmF0dXJlPQQBUFRyYW5zYWN0aW9uU2lnbmF0dXJlAAA5BAwgZXRoZXJldW0sdHJhbnNhY3Rpb25EVHJhbnNhY3Rpb25BY3Rpb24AAQgQQ2FsbAQAQQEBEEgxNjAAAAAYQ3JlYXRlAAEAAD0EDCBldGhlcmV1bSx0cmFuc2FjdGlvblBUcmFuc2FjdGlvblNpZ25hdHVyZQAADAEEdkEEAVRUcmFuc2FjdGlvblJlY292ZXJ5SWQAAQRyNAEQSDI1NgABBHM0ARBIMjU2AABBBAwgZXRoZXJldW0sdHJhbnNhY3Rpb25UVHJhbnNhY3Rpb25SZWNvdmVyeUlkAAAEADABDHU2NAAARQQMIGV0aGVyZXVtLHRyYW5zYWN0aW9uSEVJUDI5MzBUcmFuc2FjdGlvbgAALAEgY2hhaW5faWQwAQx1NjQAARRub25jZUkBARBVMjU2AAEkZ2FzX3ByaWNlSQEBEFUyNTYAASRnYXNfbGltaXRJAQEQVTI1NgABGGFjdGlvbjkEAURUcmFuc2FjdGlvbkFjdGlvbgABFHZhbHVlSQEBEFUyNTYAARRpbnB1dDgBFEJ5dGVzAAEsYWNjZXNzX2xpc3RJBAEoQWNjZXNzTGlzdAABMG9kZF95X3Bhcml0eSABEGJvb2wAAQRyNAEQSDI1NgABBHM0ARBIMjU2AABJBAAAAk0EAE0EDCBldGhlcmV1bSx0cmFuc2FjdGlvbjhBY2Nlc3NMaXN0SXRlbQAACAEcYWRkcmVzc0EBARxBZGRyZXNzAAEwc3RvcmFnZV9rZXlzyQEBJFZlYzxIMjU2PgAAUQQMIGV0aGVyZXVtLHRyYW5zYWN0aW9uSEVJUDE1NTlUcmFuc2FjdGlvbgAAMAEgY2hhaW5faWQwAQx1NjQAARRub25jZUkBARBVMjU2AAFgbWF4X3ByaW9yaXR5X2ZlZV9wZXJfZ2FzSQEBEFUyNTYAATxtYXhfZmVlX3Blcl9nYXNJAQEQVTI1NgABJGdhc19saW1pdEkBARBVMjU2AAEYYWN0aW9uOQQBRFRyYW5zYWN0aW9uQWN0aW9uAAEUdmFsdWVJAQEQVTI1NgABFGlucHV0OAEUQnl0ZXMAASxhY2Nlc3NfbGlzdEkEAShBY2Nlc3NMaXN0AAEwb2RkX3lfcGFyaXR5IAEQYm9vbAABBHI0ARBIMjU2AAEEczQBEEgyNTYAAFUEDExwYWxsZXRfZXZtX2FjY291bnRzGHBhbGxldBBDYWxsBARUAAEYQGJpbmRfZXZtX2FkZHJlc3MAACykQmluZHMgYSBTdWJzdHJhdGUgYWRkcmVzcyB0byBFVk0gYWRkcmVzcy5tAUFmdGVyIGJpbmRpbmcsIHRoZSBFVk0gaXMgYWJsZSB0byBjb252ZXJ0IGFuIEVWTSBhZGRyZXNzIHRvIHRoZSBvcmlnaW5hbCBTdWJzdHJhdGUgYWRkcmVzcy6tAVdpdGhvdXQgYmluZGluZywgdGhlIEVWTSBjb252ZXJ0cyBhbiBFVk0gYWRkcmVzcyB0byBhIHRydW5jYXRlZCBTdWJzdHJhdGUgYWRkcmVzcywgd2hpY2ggZG9lc24ndCBjb3JyZXNwb25kWHRvIHRoZSBvcmlnaW4gYWRkcmVzcy4ABQFCaW5kaW5nIGFuIGFkZHJlc3MgaXMgbm90IG5lY2Vzc2FyeSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgRVZNLgAsUGFyYW1ldGVyczrALSBgb3JpZ2luYDogU3Vic3RyYXRlIGFjY291bnQgYmluZGluZyBhbiBhZGRyZXNzALhFbWl0cyBgRXZtQWNjb3VudEJvdW5kYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuVGFkZF9jb250cmFjdF9kZXBsb3llcgQBHGFkZHJlc3NBAQEoRXZtQWRkcmVzcwABHGEBQWRkcyBhbiBFVk0gYWRkcmVzcyB0byB0aGUgbGlzdCBvZiBhZGRyZXNzZXMgdGhhdCBhcmUgYWxsb3dlZCB0byBkZXBsb3kgc21hcnQgY29udHJhY3RzLgAsUGFyYW1ldGVyczpJAS0gYG9yaWdpbmA6IFN1YnN0cmF0ZSBhY2NvdW50IHdoaXRlbGlzdGluZyBhbiBhZGRyZXNzLiBNdXN0IGJlIGBDb250cm9sbGVyT3JpZ2luYC6wLSBgYWRkcmVzc2A6IEVWTSBhZGRyZXNzIHRoYXQgaXMgd2hpdGVsaXN0ZWQAsEVtaXRzIGBEZXBsb3llckFkZGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuYHJlbW92ZV9jb250cmFjdF9kZXBsb3llcgQBHGFkZHJlc3NBAQEoRXZtQWRkcmVzcwACHHUBUmVtb3ZlcyBhbiBFVk0gYWRkcmVzcyBmcm9tIHRoZSBsaXN0IG9mIGFkZHJlc3NlcyB0aGF0IGFyZSBhbGxvd2VkIHRvIGRlcGxveSBzbWFydCBjb250cmFjdHMuACxQYXJhbWV0ZXJzOpkBLSBgb3JpZ2luYDogU3Vic3RyYXRlIGFjY291bnQgcmVtb3ZpbmcgdGhlIEVWTSBhZGRyZXNzIGZyb20gdGhlIHdoaXRlbGlzdC4gTXVzdCBiZSBgQ29udHJvbGxlck9yaWdpbmAu7C0gYGFkZHJlc3NgOiBFVk0gYWRkcmVzcyB0aGF0IGlzIHJlbW92ZWQgZnJvbSB0aGUgd2hpdGVsaXN0ALhFbWl0cyBgRGVwbG95ZXJSZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuaHJlbm91bmNlX2NvbnRyYWN0X2RlcGxveWVyAAMcoQFSZW1vdmVzIHRoZSBhY2NvdW50J3MgRVZNIGFkZHJlc3MgZnJvbSB0aGUgbGlzdCBvZiBhZGRyZXNzZXMgdGhhdCBhcmUgYWxsb3dlZCB0byBkZXBsb3kgc21hcnQgY29udHJhY3RzLtkBQmFzZWQgb24gdGhlIGJlc3QgcHJhY3RpY2VzLCB0aGlzIGV4dHJpbnNpYyBjYW4gYmUgY2FsbGVkIGJ5IGFueSB3aGl0ZWxpc3RlZCBhY2NvdW50IHRvIHJlbm91bmNlIHRoZWlyIG93biBwZXJtaXNzaW9uLgAsUGFyYW1ldGVyczoxAS0gYG9yaWdpbmA6IFN1YnN0cmF0ZSBhY2NvdW50IHJlbW92aW5nIHRoZWlyIEVWTSBhZGRyZXNzIGZyb20gdGhlIHdoaXRlbGlzdC4AuEVtaXRzIGBEZXBsb3llclJlbW92ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5AYXBwcm92ZV9jb250cmFjdAQBHGFkZHJlc3NBAQEoRXZtQWRkcmVzcwAEJEkBQWRkcyBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0byB0aGUgbGlzdCBvZiBhcHByb3ZlZCBjb250cmFjdHMgdG8gbWFuYWdlIGJhbGFuY2VzLgD8RWZmZWN0aXZlbHkgZ2l2aW5nIGl0IGFsbG93YW5jZSB0byBmb3IgYW55IGJhbGFuY2VzIGFuZCB0b2tlbnMuACxQYXJhbWV0ZXJzOqAtIGBvcmlnaW5gOiAgTXVzdCBiZSBgQ29udHJvbGxlck9yaWdpbmAuzC0gYGFkZHJlc3NgOiBDb250cmFjdCBhZGRyZXNzIHRoYXQgd2lsbCBiZSBhcHByb3ZlZAC8RW1pdHMgYENvbnRyYWN0QXBwcm92ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5MZGlzYXBwcm92ZV9jb250cmFjdAQBHGFkZHJlc3NBAQEoRXZtQWRkcmVzcwAFHF0BUmVtb3ZlcyBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCBmcm9tIHRoZSBsaXN0IG9mIGFwcHJvdmVkIGNvbnRyYWN0cyB0byBtYW5hZ2UgYmFsYW5jZXMuACxQYXJhbWV0ZXJzOqAtIGBvcmlnaW5gOiAgTXVzdCBiZSBgQ29udHJvbGxlck9yaWdpbmAu2C0gYGFkZHJlc3NgOiBDb250cmFjdCBhZGRyZXNzIHRoYXQgd2lsbCBiZSBkaXNhcHByb3ZlZADIRW1pdHMgYENvbnRyYWN0RGlzYXBwcm92ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuWQQMbHBhbGxldF94eWtfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQQQ2FsbAQEVAABPEhjcmVhdGVfZ2xvYmFsX2Zhcm0kATR0b3RhbF9yZXdhcmRzGAEcQmFsYW5jZQABYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcxABLFBlcmlvZE9mPFQ+AAFEYmxvY2tzX3Blcl9wZXJpb2QQAURCbG9ja051bWJlckZvcjxUPgABSGluY2VudGl2aXplZF9hc3NldBABHEFzc2V0SWQAATxyZXdhcmRfY3VycmVuY3kQARxBc3NldElkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAAUB5aWVsZF9wZXJfcGVyaW9kPQMBLFBlcnF1aW50aWxsAAEsbWluX2RlcG9zaXQYARxCYWxhbmNlAAFAcHJpY2VfYWRqdXN0bWVudD0BASRGaXhlZFUxMjgAAHT0Q3JlYXRlIG5ldyBsaXF1aWRpdHkgbWluaW5nIHByb2dyYW0gd2l0aCBwcm92aWRlZCBwYXJhbWV0ZXJzLgA9AWBvd25lcmAgYWNjb3VudCBoYXMgdG8gaGF2ZSBhdCBsZWFzdCBgdG90YWxfcmV3YXJkc2AgYmFsYW5jZS4gVGhpcyBmdW5kIHdpbGwgYmWkdHJhbnNmZXJyZWQgZnJvbSBgb3duZXJgIHRvIGZhcm0gYWNjb3VudC5lAUluIGNhc2Ugb2YgYHJld2FyZF9jdXJyZW5jeWAgaXMgaW5zdWZmaWNpZW50IGFzc2V0LCBmYXJtJ3MgYG93bmVyYCBoYXMgdG8gcGF5IGV4aXN0ZW50aWFsHQFkZXBvc2l0IGZvciBnbG9iYWwgZmFybSBhY2NvdW50IGFuZCBmb3IgbGlxdWlkaXR5IG1pbmluZyBgcG90YCBhY2NvdW50LgDwVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFQ6OkNyZWF0ZU9yaWdpbmAuVQEhISFXQVJOOiBgVDo6Q3JlYXRlT3JpZ2luYCBoYXMgcG93ZXIgb3ZlciBmdW5kcyBvZiBgb3duZXJgJ3MgYWNjb3VudCBhbmQgaXQgc2hvdWxkIGJl0GNvbmZpZ3VyZWQgdG8gdHJ1c3RlZCBvcmlnaW4gZS5nIFN1ZG8gb3IgR292ZXJuYW5jZS4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuMQEtIGB0b3RhbF9yZXdhcmRzYDogdG90YWwgcmV3YXJkcyBwbGFubmVkIHRvIGRpc3RyaWJ1dGUuIFRoaXMgcmV3YXJkcyB3aWxsIGJl3GRpc3RyaWJ1dGVkIGJldHdlZW4gYWxsIHlpZWxkIGZhcm1zIGluIHRoZSBnbG9iYWwgZmFybS5ZAS0gYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kc2A6IHBsYW5uZWQgbnVtYmVyIG9mIHBlcmlvZHMgdG8gZGlzdHJpYnV0ZSBgdG90YWxfcmV3YXJkc2AuKQFXQVJOOiBUSElTIElTIE5PVCBIQVJEIERFQURMSU5FLiBOb3QgYWxsIHJld2FyZHMgaGF2ZSB0byBiZSBkaXN0cmlidXRlZCBpbl0BYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kc2AuIFJld2FyZHMgYXJlIGRpc3RyaWJ1dGVkIGJhc2VkIG9uIHRoZSBzaXR1YXRpb24gaW4gdGhlIHlpZWxkYQFmYXJtcyBhbmQgY2FuIGJlIGRpc3RyaWJ1dGVkIGluIGEgbG9uZ2VyIHRpbWUgZnJhbWUgYnV0IG5ldmVyIGluIHRoZSBzaG9ydGVyIHRpbWUgZnJhbWUuWQEtIGBibG9ja3NfcGVyX3BlcmlvZGA6ICBudW1iZXIgb2YgYmxvY2tzIGluIGEgc2luZ2xlIHBlcmlvZC4gTWluLiBudW1iZXIgb2YgYmxvY2tzIHBlcjBwZXJpb2QgaXMgMS5lAS0gYGluY2VudGl2aXplZF9hc3NldGA6IGFzc2V0IHRvIGJlIGluY2VudGl2aXplZCBpbiBYWUsgcG9vbHMuIEFsbCB5aWVsZCBmYXJtcyBhZGRlZCBpbnRvEQFsaXEuIG1pbmluZyBwcm9ncmFtIGhhdmUgdG8gaGF2ZSBgaW5jZW50aXZpemVkX2Fzc2V0YCBpbiB0aGVpciBwYWlyLsAtIGByZXdhcmRfY3VycmVuY3lgOiBwYXlvZmYgY3VycmVuY3kgb2YgcmV3YXJkcy6ULSBgb3duZXJgOiBsaXEuIG1pbmluZyBwcm9ncmFtIG93bmVyLjkBLSBgeWllbGRfcGVyX3BlcmlvZGA6IHBlcmNlbnRhZ2UgcmV0dXJuIG9uIGByZXdhcmRfY3VycmVuY3lgIG9mIGFsbCBmYXJtcyBwLmEuCQEtIGBtaW5fZGVwb3NpdGA6IG1pbmltdW0gYW1vdW50IHdoaWNoIGNhbiBiZSBkZXBvc2l0ZWQgdG8gdGhlIGZhcm1ULSBgcHJpY2VfYWRqdXN0bWVudGA6wEVtaXRzIGBHbG9iYWxGYXJtQ3JlYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLkh1cGRhdGVfZ2xvYmFsX2Zhcm0IAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABQHByaWNlX2FkanVzdG1lbnQ9AQEkRml4ZWRVMTI4AAEonFVwZGF0ZSBnbG9iYWwgZmFybSdzIHByaWNlcyBhZGp1c3RtZW50LgCoT25seSBmYXJtJ3Mgb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLswtIGBnbG9iYWxfZmFybV9pZGA6IGlkIG9mIHRoZSBnbG9iYWwgZmFybSB0byB1cGRhdGXQLSBgcHJpY2VfYWRqdXN0bWVudGA6IG5ldyB2YWx1ZSBmb3IgcHJpY2UgYWRqdXN0bWVudADARW1pdHMgYEdsb2JhbEZhcm1VcGRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuVHRlcm1pbmF0ZV9nbG9iYWxfZmFybQQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAIsnFRlcm1pbmF0ZSBleGlzdGluZyBsaXEuIG1pbmluZyBwcm9ncmFtLgCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgDRAVdBUk46IFRvIHN1Y2Nlc3NmdWxseSB0ZXJtaW5hdGUgYSBmYXJtLCBmYXJtIGhhdmUgdG8gYmUgZW1wdHkoYWxsIHlpZWxkIGZhcm1zIGluIGhlIGdsb2JhbCBmYXJtIG11c3QgYmUgdGVybWluYXRlZCkuACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLtwtIGBnbG9iYWxfZmFybV9pZGA6IGlkIG9mIGdsb2JhbCBmYXJtIHRvIGJlIHRlcm1pbmF0ZWQuAMxFbWl0cyBgR2xvYmFsRmFybVRlcm1pbmF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5EY3JlYXRlX3lpZWxkX2Zhcm0QAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABKGFzc2V0X3BhaXJdBAEkQXNzZXRQYWlyAAEobXVsdGlwbGllcj0BAThGYXJtTXVsdGlwbGllcgABNGxveWFsdHlfY3VydmVBAwFQT3B0aW9uPExveWFsdHlDdXJ2ZT4AA0i8QWRkIHlpZWxkIGZhcm0gZm9yIGdpdmVuIGBhc3NldF9wYWlyYCBYWUsgcG9vbC4EIKBPbmx5IGZhcm0gb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uAFUBT25seSBYWUtzIHdpdGggYGFzc2V0X3BhaXJgIHdpdGggYGluY2VudGl2aXplZF9hc3NldGAgY2FuIGJlIGFkZGVkIGludG8gdGhlIGZhcm0uIFhZSxUBcG9vbCBmb3IgYGFzc2V0X3BhaXJgIGhhcyB0byBleGlzdCB0byBzdWNjZXNzZnVsbHkgY3JlYXRlIHlpZWxkIGZhcm0uIQFZaWVsZCBmYXJtIGZvciBzYW1lIGBhc3NldF9wYWlyYCBjYW4gZXhpc3Qgb25seSBvbmNlIGluIHRoZSBnbG9iYWwgZmFybS4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuAQEtIGBmYXJtX2lkYDogZ2xvYmFsIGZhcm0gaWQgdG8gd2hpY2ggYSB5aWVsZCBmYXJtIHdpbGwgYmUgYWRkZWQuXQEtIGBhc3NldF9wYWlyYDogYXNzZXQgcGFpciBpZGVudGlmeWluZyB5aWVsZCBmYXJtLiBMaXEuIG1pbmluZyB3aWxsIGJlIGFsbG93ZWQgZm9yIHRoaXMxAWBhc3NldF9wYWlyYCBhbmQgb25lIG9mIHRoZSBhc3NldHMgaW4gdGhlIHBhaXIgbXVzdCBiZSBgaW5jZW50aXZpemVkX2Fzc2V0YC6YLSBgbXVsdGlwbGllcmA6IHlpZWxkIGZhcm0gbXVsdGlwbGllci5dAS0gYGxveWFsdHlfY3VydmVgOiBjdXJ2ZSB0byBjYWxjdWxhdGUgbG95YWx0eSBtdWx0aXBsaWVyIHRvIGRpc3RyaWJ1dGUgcmV3YXJkcyB0byB1c2Vyc+B3aXRoIHRpbWUgaW5jZW50aXZlLiBgTm9uZWAgbWVhbnMgbm8gbG95YWx0eSBtdWx0aXBsaWVyLgC8RW1pdHMgYFlpZWxkRmFybUNyZWF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5EdXBkYXRlX3lpZWxkX2Zhcm0MAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABKGFzc2V0X3BhaXJdBAEkQXNzZXRQYWlyAAEobXVsdGlwbGllcj0BAThGYXJtTXVsdGlwbGllcgAELHRVcGRhdGUgeWllbGQgZmFybSBtdWx0aXBsaWVyLgQgoE9ubHkgZmFybSBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuHQEtIGBnbG9iYWxfZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkIGluIHdoaWNoIHlpZWxkIGZhcm0gd2lsbCBiZSB1cGRhdGVkLgUBLSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgeWllbGQgZmFybSBpbiBnbG9iYWwgZmFybS6oLSBgbXVsdGlwbGllcmA6IG5ldyB5aWVsZCBmYXJtIG11bHRpcGxpZXIuALxFbWl0cyBgWWllbGRGYXJtVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLjxzdG9wX3lpZWxkX2Zhcm0IAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABKGFzc2V0X3BhaXJdBAEkQXNzZXRQYWlyAAU8pFN0b3AgbGlxLiBtaW1pbmcgZm9yIHNwZWNpZmljIHlpZWxkIGZhcm0uADUBVGhpcyBmdW5jdGlvbiBjbGFpbXMgcmV3YXJkcyBmcm9tIGBHbG9iYWxGYXJtYCBsYXN0IHRpbWUgYW5kIHN0b3BzIHlpZWxkIGZhcm0hAWluY2VudGl2aXphdGlvbiBmcm9tIGEgYEdsb2JhbEZhcm1gLiBVc2VycyB3aWxsIGJlIGFibGUgdG8gb25seSB3aXRoZHJhd8hzaGFyZXMod2l0aCBjbGFpbWluZykgYWZ0ZXIgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLkEBYGRlcG9zaXRfc2hhcmVzKClgIGFuZCBgY2xhaW1fcmV3YXJkcygpYCBhcmUgbm90IGFsbG93ZWQgb24gY2FuY2VsZWQgeWllbGQgZmFybS4EIKBPbmx5IGZhcm0gb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLgUBLSBgZ2xvYmFsX2Zhcm1faWRgOiBmYXJtIGlkIGluIHdoaWNoIHlpZWxkIGZhcm0gd2lsbCBiZSBjYW5jZWxlZC74LSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgeWllbGQgZmFybSBpbiB0aGUgZmFybS4AvEVtaXRzIGBZaWVsZEZhcm1TdG9wcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuRHJlc3VtZV95aWVsZF9mYXJtEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShhc3NldF9wYWlyXQQBJEFzc2V0UGFpcgABKG11bHRpcGxpZXI9AQE4RmFybU11bHRpcGxpZXIABkSkUmVzdW1lIHlpZWxkIGZhcm0gZm9yIHN0b3BwZWQgeWllbGQgZmFybS4AVQFUaGlzIGZ1bmN0aW9uIHJlc3VtZSBpbmNlbnRpdml6YXRpb24gZnJvbSBgR2xvYmFsRmFybWAgYW5kIHJlc3RvcmUgZnVsbCBmdW5jdGlvbmFsaXR5IQFmb3IgeWllbGQgZmFybS4gVXNlcnMgd2lsbCBiZSBhYmxlIHRvIGRlcG9zaXQsIGNsYWltIGFuZCB3aXRoZHJhdyBhZ2Fpbi4A5FdBUk46IFlpZWxkIGZhcm0gaXMgTk9UIHJld2FyZGVkIGZvciB0aW1lIGl0IHdhcyBzdG9wcGVkLgCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4dAS0gYGdsb2JhbF9mYXJtX2lkYDogZ2xvYmFsIGZhcm0gaWQgaW4gd2hpY2ggeWllbGQgZmFybSB3aWxsIGJlIHJlc3VtZWQuyC0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB5aWVsZCBmYXJtIHRvIGJlIHJlc3VtZWQuBQEtIGBhc3NldF9wYWlyYDogYXNzZXQgcGFpciBpZGVudGlmeWluZyB5aWVsZCBmYXJtIGluIGdsb2JhbCBmYXJtLsgtIGBtdWx0aXBsaWVyYDogeWllbGQgZmFybSBtdWx0aXBsaWVyIGluIHRoZSBmYXJtLgC8RW1pdHMgYFlpZWxkRmFybVJlc3VtZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5QdGVybWluYXRlX3lpZWxkX2Zhcm0MAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABKGFzc2V0X3BhaXJdBAEkQXNzZXRQYWlyAAdMRFJlbW92ZSB5aWVsZCBmYXJtAIEBVGhpcyBmdW5jdGlvbiBtYXJrcyBhIHlpZWxkIGZhcm0gYXMgcmVhZHkgdG8gYmUgcmVtb3ZlZCBmcm9tIHN0b3JhZ2Ugd2hlbiBpdCdzIGVtcHR5LiBVc2VycyB3aWxsZQFiZSBhYmxlIHRvIG9ubHkgd2l0aGRyYXcgc2hhcmVzKHdpdGhvdXQgY2xhaW1pbmcgcmV3YXJkcyBmcm9tIHlpZWxkIGZhcm0pLiBVbnBhaWQgcmV3YXJkc3EBd2lsbCBiZSB0cmFuc2ZlcnJlZCBiYWNrIHRvIGdsb2JhbCBmYXJtIGFuZCB3aWxsIGJlIHVzZWQgdG8gZGlzdHJpYnV0ZSB0byBvdGhlciB5aWVsZCBmYXJtcy4A4FlpZWxkIGZhcm0gbXVzdCBiZSBzdG9wcGVkIGJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uAHEBT25seSBnbG9iYWwgZmFybSdzIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLiBZaWVsZCBmYXJtIHN0YXlzIGluIHRoZSBzdG9yYWdlIHVudGlsIGl0J3NtAWVtcHR5KGFsbCBmYXJtIGVudHJpZXMgYXJlIHdpdGhkcmF3bikuIExhc3Qgd2l0aGRyYXduIGZyb20geWllbGQgZmFybSB0cmlnZ2VyIHJlbW92aW5nIGZyb20wdGhlIHN0b3JhZ2UuACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLh0BLSBgZ2xvYmFsX2Zhcm1faWRgOiBmYXJtIGlkIGZyb20gd2hpY2ggeWllbGQgZmFybSBzaG91bGQgYmUgdGVybWluYXRlZC7ULSBgeWllbGRfZmFybV9pZGA6IGlkIG9mIHlpZWxkIGZhcm0gdG8gYmUgdGVybWluYXRlZC4VAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0gaW4gdGhlIGdsb2JhbCBmYXJtLgDIRW1pdHMgYFlpZWxkRmFybVRlcm1pbmF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC44ZGVwb3NpdF9zaGFyZXMQAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABKGFzc2V0X3BhaXJdBAEkQXNzZXRQYWlyAAE0c2hhcmVzX2Ftb3VudBgBHEJhbGFuY2UACDiMRGVwb3NpdCBMUCBzaGFyZXMgdG8gYSBsaXEuIG1pbmluZy4AUQFUaGlzIGZ1bmN0aW9uIHRyYW5zZmVycyBMUCBzaGFyZXMgZnJvbSBgb3JpZ2luYCB0byBwYWxsZXQncyBhY2NvdW50IGFuZCBtaW50IG5mdCBmb3INAWBvcmlnaW5gIGFjY291bnQuIE1pbnRlZCBuZnQgcmVwcmVzZW50cyBkZXBvc2l0IGluIHRoZSBsaXEuIG1pbmluZy4ALFBhcmFtZXRlcnM6LQEtIGBvcmlnaW5gOiBhY2NvdW50IGRlcG9zaXRpbmcgTFAgc2hhcmVzLiBUaGlzIGFjY291bnQgaGFzIHRvIGhhdmUgYXQgbGVhc3R0YHNoYXJlc19hbW91bnRgIG9mIExQIHNoYXJlcy49AS0gYGdsb2JhbF9mYXJtX2lkYDogaWQgb2YgZ2xvYmFsIGZhcm0gdG8gd2hpY2ggdXNlciB3YW50cyB0byBkZXBvc2l0IExQIHNoYXJlcy7ILSBgeWllbGRfZmFybV9pZGA6IGlkIG9mIHlpZWxkIGZhcm0gdG8gZGVwb3NpdCB0by4dAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIExQIHNoYXJlcyB1c2VyIHdhbnRzIHRvIGRlcG9zaXQu9C0gYHNoYXJlc19hbW91bnRgOiBhbW91bnQgb2YgTFAgc2hhcmVzIHVzZXIgd2FudHMgdG8gZGVwb3NpdC4AuEVtaXRzIGBTaGFyZXNEZXBvc2l0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4oam9pbl9mYXJtcwwBMGZhcm1fZW50cmllc2EEAREBQm91bmRlZFZlYzwoR2xvYmFsRmFybUlkLCBZaWVsZEZhcm1JZCksIFQ6Ok1heEZhcm1FbnRyaWVzUGVyRGVwb3NpdD4AAShhc3NldF9wYWlyXQQBJEFzc2V0UGFpcgABNHNoYXJlc19hbW91bnQYARxCYWxhbmNlAAw0tEpvaW4gbXVsdGlwbGUgZmFybXMgd2l0aCBhIGdpdmVuIHNoYXJlIGFtb3VudAD8VGhlIHNoYXJlIGlzIGRlcG9zaXRlZCB0byB0aGUgZmlyc3QgZmFybSBvZiB0aGUgc3BlY2lmaWVkIGZhbXMs0GFuZCB0aGVuIHJlZGVwb3NpdCB0aGUgc2hhcmVzIHRvIHRoZSByZW1haW5pbmcgZmFybXMALFBhcmFtZXRlcnM6LQEtIGBvcmlnaW5gOiBhY2NvdW50IGRlcG9zaXRpbmcgTFAgc2hhcmVzLiBUaGlzIGFjY291bnQgaGFzIHRvIGhhdmUgYXQgbGVhc3QhAS0gYGZhcm1fZW50cmllc2A6IGxpc3Qgb2YgZ2xvYmFsIGZhcm0gaWQgYW5kIHlpZWxkIGZhcm0gaWQgcGFpcnMgdG8gam9pbh0BLSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgTFAgc2hhcmVzIHVzZXIgd2FudHMgdG8gZGVwb3NpdC70LSBgc2hhcmVzX2Ftb3VudGA6IGFtb3VudCBvZiBMUCBzaGFyZXMgdXNlciB3YW50cyB0byBkZXBvc2l0LgDYRW1pdHMgYFNoYXJlc0RlcG9zaXRlZGAgZXZlbnQgZm9yIHRoZSBmaXJzdCBmYXJtIGVudHJ5HQFFbWl0cyBgU2hhcmVzUmVkZXBvc2l0ZWRgIGV2ZW50IGZvciBlYWNoIGZhcm0gZW50cnkgYWZ0ZXIgdGhlIGZpcnN0IG9uZXBhZGRfbGlxdWlkaXR5X2FuZF9qb2luX2Zhcm1zFAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABIGFtb3VudF9hGAEcQmFsYW5jZQABSGFtb3VudF9iX21heF9saW1pdBgBHEJhbGFuY2UAATBmYXJtX2VudHJpZXNhBAERAUJvdW5kZWRWZWM8KEdsb2JhbEZhcm1JZCwgWWllbGRGYXJtSWQpLCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AA08LQFBZGQgbGlxdWlkaXR5IHRvIFhZSyBwb29sIGFuZCBqb2luIG11bHRpcGxlIGZhcm1zIHdpdGggYSBnaXZlbiBzaGFyZSBhbW91bnQACQFUaGUgc2hhcmUgaXMgZGVwb3NpdGVkIHRvIHRoZSBmaXJzdCBmYXJtIG9mIHRoZSBzcGVjaWZpZWQgZW50cmllcyzQYW5kIHRoZW4gcmVkZXBvc2l0IHRoZSBzaGFyZXMgdG8gdGhlIHJlbWFpbmluZyBmYXJtcwAsUGFyYW1ldGVyczotAS0gYG9yaWdpbmA6IGFjY291bnQgZGVwb3NpdGluZyBMUCBzaGFyZXMuIFRoaXMgYWNjb3VudCBoYXMgdG8gaGF2ZSBhdCBsZWFzdNAtIGBhc3NldF9hYDogYXNzZXQgaWQgb2YgdGhlIGZpcnN0IGFzc2V0IGluIHRoZSBwYWly1C0gYGFzc2V0X2JgOiBhc3NldCBpZCBvZiB0aGUgc2Vjb25kIGFzc2V0IGluIHRoZSBwYWlyyC0gYGFtb3VudF9hYDogYW1vdW50IG9mIHRoZSBmaXJzdCBhc3NldCB0byBkZXBvc2l0FQEtIGBhbW91bnRfYl9tYXhfbGltaXRgOiBtYXhpbXVtIGFtb3VudCBvZiB0aGUgc2Vjb25kIGFzc2V0IHRvIGRlcG9zaXQhAS0gYGZhcm1fZW50cmllc2A6IGxpc3Qgb2YgZ2xvYmFsIGZhcm0gaWQgYW5kIHlpZWxkIGZhcm0gaWQgcGFpcnMgdG8gam9pbgDYRW1pdHMgYFNoYXJlc0RlcG9zaXRlZGAgZXZlbnQgZm9yIHRoZSBmaXJzdCBmYXJtIGVudHJ5HQFFbWl0cyBgU2hhcmVzUmVkZXBvc2l0ZWRgIGV2ZW50IGZvciBlYWNoIGZhcm0gZW50cnkgYWZ0ZXIgdGhlIGZpcnN0IG9uZUByZWRlcG9zaXRfc2hhcmVzEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShhc3NldF9wYWlyXQQBJEFzc2V0UGFpcgABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQACTzkUmVkZXBvc2l0IGFscmVhZHkgbG9ja2VkIExQIHNoYXJlcyB0byBhbm90aGVyIHlpZWxkIGZhcm0uAGUBVGhpcyBmdW5jdGlvbiBjcmVhdGUgeWllbGQgZmFybSBlbnRyeSBmb3IgZXhpc3RpbmcgZGVwb3NpdC4gTFAgc2hhcmVzIGFyZSBub3QgdHJhbnNmZXJyZWTUYW5kIGFtb3VudCBvZiBMUCBzaGFyZXMgaXMgYmFzZWQgb24gZXhpc3RpbmcgZGVwb3NpdC4ApFRoaXMgZnVuY3Rpb24gRE9FU04nVCBjcmVhdGUgbmV3IGRlcG9zaXQuACxQYXJhbWV0ZXJzOjEBLSBgb3JpZ2luYDogYWNjb3VudCBkZXBvc2l0aW5nIExQIHNoYXJlcy4gVGhpcyBhY2NvdW50IGhhdmUgdG8gaGF2ZSBhdCBsZWFzdKwtIGBnbG9iYWxfZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkZW50aWZpZXIu5C0gYHlpZWxkX2Zhcm1faWRgOiB5aWVsZCBmYXJtIGlkZW50aWZpZXIgcmVkZXBvc2l0aW5nIHRvLhkBLSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgTFAgc2hhcmVzIHVzZXIgd2FudCB0byBkZXBvc2l0LqgtIGBkZXBvc2l0X2lkYDogaWRlbnRpZmllciBvZiB0aGUgZGVwb3NpdC4AwEVtaXRzIGBTaGFyZXNSZWRlcG9zaXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLjRjbGFpbV9yZXdhcmRzCAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAAKLA0BQ2xhaW0gcmV3YXJkcyBmcm9tIGxpcS4gbWluaW5nIGZvciBkZXBvc2l0IHJlcHJlc2VudGVkIGJ5IGBuZnRfaWRgLgBZAVRoaXMgZnVuY3Rpb24gY2FsY3VsYXRlIHVzZXIgcmV3YXJkcyBmcm9tIGxpcS4gbWluaW5nIGFuZCB0cmFuc2ZlciByZXdhcmRzIHRvIGBvcmlnaW5g6GFjY291bnQuIENsYWltaW5nIGluIHRoZSBzYW1lIHBlcmlvZCBpcyBhbGxvd2VkIG9ubHkgb25jZS4ALFBhcmFtZXRlcnM6qC0gYG9yaWdpbmA6IGFjY291bnQgb3duZXIgb2YgZGVwb3NpdChuZnQpLvgtIGBkZXBvc2l0X2lkYDogbmZ0IGlkIHJlcHJlc2VudGluZyBkZXBvc2l0IGluIHRoZSB5aWVsZCBmYXJtLvwtIGB5aWVsZF9mYXJtX2lkYDogeWllbGQgZmFybSBpZGVudGlmaWVyIHRvIGNsYWltIHJld2FyZHMgZnJvbS4AsEVtaXRzIGBSZXdhcmRDbGFpbWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuPHdpdGhkcmF3X3NoYXJlcwwBKGRlcG9zaXRfaWQYASREZXBvc2l0SWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShhc3NldF9wYWlyXQQBJEFzc2V0UGFpcgALWBUBV2l0aGRyYXcgTFAgc2hhcmVzIGZyb20gbGlxLiBtaW5pbmcgd2l0aCByZXdhcmQgY2xhaW1pbmcgaWYgcG9zc2libGUuABUBTGlzdCBvZiBwb3NzaWJsZSBjYXNlcyBvZiB0cmFuc2ZlcnMgb2YgTFAgc2hhcmVzIGFuZCBjbGFpbWVkIHJld2FyZHM6AFEBKiB5aWVsZCBmYXJtIGlzIGFjdGl2ZSh5aWVsZCBmYXJtIGlzIG5vdCBzdG9wcGVkKSAtIGNsYWltIGFuZCB0cmFuc2ZlciByZXdhcmRzKGlmIGl02Hdhc24ndCBjbGFpbWVkIGluIHRoaXMgcGVyaW9kKSBhbmQgdHJhbnNmZXIgTFAgc2hhcmVzLuwqIGxpcS4gbWluaW5nIGlzIHN0b3BwZWQgLSBjbGFpbSBhbmQgdHJhbnNmZXIgcmV3YXJkcyhpZiBpdNh3YXNuJ3QgY2xhaW1lZCBpbiB0aGlzIHBlcmlvZCkgYW5kIHRyYW5zZmVyIExQIHNoYXJlcy4FASogeWllbGQgZmFybSB3YXMgdGVybWluYXRlZCAtIG9ubHkgTFAgc2hhcmVzIHdpbGwgYmUgdHJhbnNmZXJyZWQu7CogZmFybSB3YXMgdGVybWluYXRlZCAtIG9ubHkgTFAgc2hhcmVzIHdpbGwgYmUgdHJhbnNmZXJyZWQuADUBVXNlcidzIHVuY2xhaW1hYmxlIHJld2FyZHMgd2lsbCBiZSB0cmFuc2ZlcnJlZCBiYWNrIHRvIGdsb2JhbCBmYXJtJ3MgYWNjb3VudC4ALFBhcmFtZXRlcnM6qC0gYG9yaWdpbmA6IGFjY291bnQgb3duZXIgb2YgZGVwb3NpdChuZnQpLvgtIGBkZXBvc2l0X2lkYDogbmZ0IGlkIHJlcHJlc2VudGluZyBkZXBvc2l0IGluIHRoZSB5aWVsZCBmYXJtLgUBLSBgeWllbGRfZmFybV9pZGA6IHlpZWxkIGZhcm0gaWRlbnRpZmllciB0byBkaXRoZHJhdyBzaGFyZXMgZnJvbS4FAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0gaW4gZ2xvYmFsIGZhcm0uABhFbWl0czqEKiBgUmV3YXJkQ2xhaW1lZGAgaWYgY2xhaW0gaGFwcGVupCogYFNoYXJlc1dpdGhkcmF3bmAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsKGV4aXRfZmFybXMMAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAEoYXNzZXRfcGFpcl0EASRBc3NldFBhaXIAATBmYXJtX2VudHJpZXNlBAHQQm91bmRlZFZlYzxZaWVsZEZhcm1JZCwgVDo6TWF4RmFybUVudHJpZXNQZXJEZXBvc2l0PgAOQIxFeGl0IGZyb20gYWxsIHNwZWNpZmllZCB5aWVsZCBmYXJtcwBdAVRoaXMgZnVuY3Rpb24gd2lsbCBhdHRlbXB0IHRvIHdpdGhkcmF3IHNoYXJlcyBhbmQgY2xhaW0gcmV3YXJkcyAoaWYgYXZhaWxhYmxlKSBmcm9tIGFsbKhzcGVjaWZpZWQgeWllbGQgZmFybXMgZm9yIGEgZ2l2ZW4gZGVwb3NpdC4ALFBhcmFtZXRlcnM6qC0gYG9yaWdpbmA6IGFjY291bnQgb3duZXIgb2YgZGVwb3NpdChuZnQpLvgtIGBkZXBvc2l0X2lkYDogbmZ0IGlkIHJlcHJlc2VudGluZyBkZXBvc2l0IGluIHRoZSB5aWVsZCBmYXJtLh0BLSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgeWllbGQgZmFybShzKSBpbiBnbG9iYWwgZmFybShzKS7YLSBgZmFybV9lbnRyaWVzYDogaWQocykgb2YgeWllbGQgZmFybShzKSB0byBleGl0IGZyb20uABhFbWl0czqsKiBgUmV3YXJkQ2xhaW1lZGAgZm9yIGVhY2ggc3VjY2Vzc2Z1bCBjbGFpbcgqIGBTaGFyZXNXaXRoZHJhd25gIGZvciBlYWNoIHN1Y2Nlc3NmdWwgd2l0aGRyYXdhbNgqIGBEZXBvc2l0RGVzdHJveWVkYCBpZiB0aGUgZGVwb3NpdCBpcyBmdWxseSB3aXRoZHJhd24ABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLl0EDChwYWxsZXRfeHlrFHR5cGVzJEFzc2V0UGFpcgAACAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAAAYQQMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFNAwRTAAAEAFEDARhWZWM8VD4AAGUEDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBEARTAAAEAFkDARhWZWM8VD4AAGkEDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQQQ2FsbAgEVAAESQABAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5tBAxYcGFsbGV0X3JlbGF5Y2hhaW5faW5mbxhwYWxsZXQQQ2FsbAQEVAABAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5xBAwocGFsbGV0X2RjYRhwYWxsZXQQQ2FsbAQEVAABDCBzY2hlZHVsZQgBIHNjaGVkdWxldQQB1FNjaGVkdWxlPFQ6OkFjY291bnRJZCwgVDo6QXNzZXRJZCwgQmxvY2tOdW1iZXJGb3I8VD4+AAFUc3RhcnRfZXhlY3V0aW9uX2Jsb2NrWQEBZE9wdGlvbjxCbG9ja051bWJlckZvcjxUPj4AAGQ9AUNyZWF0ZXMgYSBuZXcgRENBIChEb2xsYXItQ29zdCBBdmVyYWdpbmcpIHNjaGVkdWxlIGFuZCBwbGFucyB0aGUgbmV4dCBleGVjdXRpb25gZm9yIHRoZSBzcGVjaWZpZWQgYmxvY2suAC0BSWYgdGhlIGJsb2NrIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBleGVjdXRpb24gaXMgcGxhbm5lZCBmb3IgdGhlIG5leHQgYmxvY2suSQFJZiB0aGUgZ2l2ZW4gYmxvY2sgaXMgZnVsbCwgdGhlIGV4ZWN1dGlvbiB3aWxsIGJlIHBsYW5uZWQgaW4gdGhlIHN1YnNlcXVlbnQgYmxvY2suAFEBT25jZSB0aGUgc2NoZWR1bGUgaXMgY3JlYXRlZCwgdGhlIHNwZWNpZmllZCBgdG90YWxfYW1vdW50YCB3aWxsIGJlIHJlc2VydmVkIGZvciBEQ0EuHQFUaGUgcmVzZXJ2YXRpb24gY3VycmVuY3kgd2lsbCBiZSB0aGUgYGFtb3VudF9pbmAgY3VycmVuY3kgb2YgdGhlIG9yZGVyLgDgVHJhZGVzIGFyZSBleGVjdXRlZCBhcyBsb25nIGFzIHRoZXJlIGlzIGJ1ZGdldCByZW1haW5pbmdNAWZyb20gdGhlIGluaXRpYWwgYHRvdGFsX2Ftb3VudGAgYWxsb2NhdGlvbiwgdW5sZXNzIGB0b3RhbF9hbW91bnRgIGlzIDAsIHRoZW4gdHJhZGVzqGFyZSBleGVjdXRlZCB1bnRpbCBzY2hlZHVsZSBpcyB0ZXJtaW5hdGVkLgBVAUlmIGEgdHJhZGUgZmFpbHMgZHVlIHRvIHNsaXBwYWdlIGxpbWl0IG9yIHByaWNlIHN0YWJpbGl0eSBlcnJvcnMsIGl0IHdpbGwgYmUgcmV0cmllZC7USWYgdGhlIG51bWJlciBvZiByZXRyaWVzIHJlYWNoZXMgdGhlIG1heGltdW0gYWxsb3dlZCywdGhlIHNjaGVkdWxlIHdpbGwgYmUgdGVybWluYXRlZCBwZXJtYW5lbnRseS74SW4gdGhlIGNhc2Ugb2YgYSBzdWNjZXNzZnVsIHRyYWRlLCB0aGUgcmV0cnkgY291bnRlciBpcyByZXNldC4ALFBhcmFtZXRlcnM6aC0gYG9yaWdpbmA6IHNjaGVkdWxlIG93bmVyeC0gYHNjaGVkdWxlYDogc2NoZWR1bGUgZGV0YWlscykBLSBgc3RhcnRfZXhlY3V0aW9uX2Jsb2NrYDogZmlyc3QgcG9zc2libGUgZXhlY3V0aW9uIGJsb2NrIGZvciB0aGUgc2NoZWR1bGUA/EVtaXRzIGBTY2hlZHVsZWRgIGFuZCBgRXhlY3V0aW9uUGxhbm5lZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAkdGVybWluYXRlCAEsc2NoZWR1bGVfaWQQAShTY2hlZHVsZUlkAAFQbmV4dF9leGVjdXRpb25fYmxvY2tZAQFkT3B0aW9uPEJsb2NrTnVtYmVyRm9yPFQ+PgABLAkBVGVybWluYXRlcyBhIERDQSBzY2hlZHVsZSBhbmQgcmVtb3ZlIGl0IGNvbXBsZXRlbHkgZnJvbSB0aGUgY2hhaW4uAEEBVGhpcyBjYW4gYmUgY2FsbGVkIGJ5IGJvdGggc2NoZWR1bGUgb3duZXIgb3IgdGhlIGNvbmZpZ3VyZWQgYFQ6OlRlcm1pbmF0ZU9yaWdpbmAALFBhcmFtZXRlcnM6aC0gYG9yaWdpbmA6IHNjaGVkdWxlIG93bmVycC0gYHNjaGVkdWxlX2lkYDogc2NoZWR1bGUgaWQVAS0gYG5leHRfZXhlY3V0aW9uX2Jsb2NrYDogYmxvY2sgbnVtYmVyIHdoZXJlIHRoZSBzY2hlZHVsZSBpcyBwbGFubmVkLgCkRW1pdHMgYFRlcm1pbmF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4APHVubG9ja19yZXNlcnZlcwgBDHdobwABMFQ6OkFjY291bnRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAACNF0BVW5sb2NrcyBEQ0EgcmVzZXJ2ZXMgb2YgcHJvdmlkZWQgYXNzZXQgZm9yIHRoZSBjYWxsZXIgaWYgdGhleSBoYXZlIG5vIGFjdGl2ZSBzY2hlZHVsZXMuADUBVGhpcyBpcyBhIHV0aWxpdHkgZnVuY3Rpb24gdG8gaGVscCB1c2VycyByZWNvdmVyIHRoZWlyIHJlc2VydmVkIGZ1bmRzIGluIGNhc2X0YSBEQ0Egc2NoZWR1bGUgd2FzIHRlcm1pbmF0ZWQgYnV0IGxlZnQgc29tZSByZXNlcnZlZCBhbW91bnRzLgAJAVRoaXMgY2FuIG9ubHkgYmUgY2FsbGVkIHdoZW4gdGhlIHVzZXIgaGFzIG5vIGFjdGl2ZSBEQ0Egc2NoZWR1bGVzLgAsUGFyYW1ldGVyczr8LSBgb3JpZ2luYDogVGhlIGFjY291bnQgdG8gdW5sb2NrIHJlc2VydmVzIGZvciAobXVzdCBiZSBzaWduZWQpBQEtIGBhc3NldF9pZGA6IFRoZSBhc3NldCBJRCBmb3Igd2hpY2ggcmVzZXJ2ZXMgc2hvdWxkIGJlIHVubG9ja2VkLgC4RW1pdHMgYFJlc2VydmVVbmxvY2tlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMudQQMKHBhbGxldF9kY2EUdHlwZXMgU2NoZWR1bGUMJEFjY291bnRJZAEAHEFzc2V0SWQBECxCbG9ja051bWJlcgEQABwBFG93bmVyAAEkQWNjb3VudElkAAEYcGVyaW9kEAEsQmxvY2tOdW1iZXIAATB0b3RhbF9hbW91bnQYARxCYWxhbmNlAAEsbWF4X3JldHJpZXPpAgEoT3B0aW9uPHU4PgABTHN0YWJpbGl0eV90aHJlc2hvbGT1AwE8T3B0aW9uPFBlcm1pbGw+AAEgc2xpcHBhZ2X1AwE8T3B0aW9uPFBlcm1pbGw+AAEUb3JkZXJ5BAE4T3JkZXI8QXNzZXRJZD4AAHkEDChwYWxsZXRfZGNhFHR5cGVzFE9yZGVyBBxBc3NldElkARABCBBTZWxsFAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAThtaW5fYW1vdW50X291dBgBHEJhbGFuY2UAARRyb3V0ZX0DAehCb3VuZGVkVmVjPFRyYWRlPEFzc2V0SWQ+LCBDb25zdFUzMjxNQVhfTlVNQkVSX09GX1RSQURFUz4+AAAADEJ1eRQBIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABNG1heF9hbW91bnRfaW4YARxCYWxhbmNlAAEUcm91dGV9AwHoQm91bmRlZFZlYzxUcmFkZTxBc3NldElkPiwgQ29uc3RVMzI8TUFYX05VTUJFUl9PRl9UUkFERVM+PgABAAB9BAxAcGFsbGV0X3NjaGVkdWxlchhwYWxsZXQQQ2FsbAQEVAABKCBzY2hlZHVsZRABEHdoZW4QAURCbG9ja051bWJlckZvcjxUPgABOG1heWJlX3BlcmlvZGljdQMBrE9wdGlvbjxzY2hlZHVsZTo6UGVyaW9kPEJsb2NrTnVtYmVyRm9yPFQ+Pj4AASBwcmlvcml0eQgBSHNjaGVkdWxlOjpQcmlvcml0eQABEGNhbGwRAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgAABHBBbm9ueW1vdXNseSBzY2hlZHVsZSBhIHRhc2suGGNhbmNlbAgBEHdoZW4QAURCbG9ja051bWJlckZvcjxUPgABFGluZGV4EAEMdTMyAAEElENhbmNlbCBhbiBhbm9ueW1vdXNseSBzY2hlZHVsZWQgdGFzay44c2NoZWR1bGVfbmFtZWQUAQhpZAQBIFRhc2tOYW1lAAEQd2hlbhABREJsb2NrTnVtYmVyRm9yPFQ+AAE4bWF5YmVfcGVyaW9kaWN1AwGsT3B0aW9uPHNjaGVkdWxlOjpQZXJpb2Q8QmxvY2tOdW1iZXJGb3I8VD4+PgABIHByaW9yaXR5CAFIc2NoZWR1bGU6OlByaW9yaXR5AAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAIEWFNjaGVkdWxlIGEgbmFtZWQgdGFzay4wY2FuY2VsX25hbWVkBAEIaWQEASBUYXNrTmFtZQADBHhDYW5jZWwgYSBuYW1lZCBzY2hlZHVsZWQgdGFzay44c2NoZWR1bGVfYWZ0ZXIQARRhZnRlchABREJsb2NrTnVtYmVyRm9yPFQ+AAE4bWF5YmVfcGVyaW9kaWN1AwGsT3B0aW9uPHNjaGVkdWxlOjpQZXJpb2Q8QmxvY2tOdW1iZXJGb3I8VD4+PgABIHByaW9yaXR5CAFIc2NoZWR1bGU6OlByaW9yaXR5AAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAQEqEFub255bW91c2x5IHNjaGVkdWxlIGEgdGFzayBhZnRlciBhIGRlbGF5LlBzY2hlZHVsZV9uYW1lZF9hZnRlchQBCGlkBAEgVGFza05hbWUAARRhZnRlchABREJsb2NrTnVtYmVyRm9yPFQ+AAE4bWF5YmVfcGVyaW9kaWN1AwGsT3B0aW9uPHNjaGVkdWxlOjpQZXJpb2Q8QmxvY2tOdW1iZXJGb3I8VD4+PgABIHByaW9yaXR5CAFIc2NoZWR1bGU6OlByaW9yaXR5AAEQY2FsbBEBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAUEkFNjaGVkdWxlIGEgbmFtZWQgdGFzayBhZnRlciBhIGRlbGF5LiRzZXRfcmV0cnkMARB0YXNrTQMBeFRhc2tBZGRyZXNzPEJsb2NrTnVtYmVyRm9yPFQ+PgABHHJldHJpZXMIAQh1OAABGHBlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAYwWQFTZXQgYSByZXRyeSBjb25maWd1cmF0aW9uIGZvciBhIHRhc2sgc28gdGhhdCwgaW4gY2FzZSBpdHMgc2NoZWR1bGVkIHJ1biBmYWlscywgaXQgd2lsbFUBYmUgcmV0cmllZCBhZnRlciBgcGVyaW9kYCBibG9ja3MsIGZvciBhIHRvdGFsIGFtb3VudCBvZiBgcmV0cmllc2AgcmV0cmllcyBvciB1bnRpbCBpdCRzdWNjZWVkcy4AVQFUYXNrcyB3aGljaCBuZWVkIHRvIGJlIHNjaGVkdWxlZCBmb3IgYSByZXRyeSBhcmUgc3RpbGwgc3ViamVjdCB0byB3ZWlnaHQgbWV0ZXJpbmcgYW5kUQFhZ2VuZGEgc3BhY2UsIHNhbWUgYXMgYSByZWd1bGFyIHRhc2suIElmIGEgcGVyaW9kaWMgdGFzayBmYWlscywgaXQgd2lsbCBiZSBzY2hlZHVsZWSQbm9ybWFsbHkgd2hpbGUgdGhlIHRhc2sgaXMgcmV0cnlpbmcuAFEBVGFza3Mgc2NoZWR1bGVkIGFzIGEgcmVzdWx0IG9mIGEgcmV0cnkgZm9yIGEgcGVyaW9kaWMgdGFzayBhcmUgdW5uYW1lZCwgbm9uLXBlcmlvZGljPQFjbG9uZXMgb2YgdGhlIG9yaWdpbmFsIHRhc2suIFRoZWlyIHJldHJ5IGNvbmZpZ3VyYXRpb24gd2lsbCBiZSBkZXJpdmVkIGZyb20gdGhlTQFvcmlnaW5hbCB0YXNrJ3MgY29uZmlndXJhdGlvbiwgYnV0IHdpbGwgaGF2ZSBhIGxvd2VyIHZhbHVlIGZvciBgcmVtYWluaW5nYCB0aGFuIHRoZWRvcmlnaW5hbCBgdG90YWxfcmV0cmllc2AuPHNldF9yZXRyeV9uYW1lZAwBCGlkBAEgVGFza05hbWUAARxyZXRyaWVzCAEIdTgAARhwZXJpb2QQAURCbG9ja051bWJlckZvcjxUPgAHMF0BU2V0IGEgcmV0cnkgY29uZmlndXJhdGlvbiBmb3IgYSBuYW1lZCB0YXNrIHNvIHRoYXQsIGluIGNhc2UgaXRzIHNjaGVkdWxlZCBydW4gZmFpbHMsIGl0XQF3aWxsIGJlIHJldHJpZWQgYWZ0ZXIgYHBlcmlvZGAgYmxvY2tzLCBmb3IgYSB0b3RhbCBhbW91bnQgb2YgYHJldHJpZXNgIHJldHJpZXMgb3IgdW50aWwwaXQgc3VjY2VlZHMuAFUBVGFza3Mgd2hpY2ggbmVlZCB0byBiZSBzY2hlZHVsZWQgZm9yIGEgcmV0cnkgYXJlIHN0aWxsIHN1YmplY3QgdG8gd2VpZ2h0IG1ldGVyaW5nIGFuZFEBYWdlbmRhIHNwYWNlLCBzYW1lIGFzIGEgcmVndWxhciB0YXNrLiBJZiBhIHBlcmlvZGljIHRhc2sgZmFpbHMsIGl0IHdpbGwgYmUgc2NoZWR1bGVkkG5vcm1hbGx5IHdoaWxlIHRoZSB0YXNrIGlzIHJldHJ5aW5nLgBRAVRhc2tzIHNjaGVkdWxlZCBhcyBhIHJlc3VsdCBvZiBhIHJldHJ5IGZvciBhIHBlcmlvZGljIHRhc2sgYXJlIHVubmFtZWQsIG5vbi1wZXJpb2RpYz0BY2xvbmVzIG9mIHRoZSBvcmlnaW5hbCB0YXNrLiBUaGVpciByZXRyeSBjb25maWd1cmF0aW9uIHdpbGwgYmUgZGVyaXZlZCBmcm9tIHRoZU0Bb3JpZ2luYWwgdGFzaydzIGNvbmZpZ3VyYXRpb24sIGJ1dCB3aWxsIGhhdmUgYSBsb3dlciB2YWx1ZSBmb3IgYHJlbWFpbmluZ2AgdGhhbiB0aGVkb3JpZ2luYWwgYHRvdGFsX3JldHJpZXNgLjBjYW5jZWxfcmV0cnkEARB0YXNrTQMBeFRhc2tBZGRyZXNzPEJsb2NrTnVtYmVyRm9yPFQ+PgAIBKhSZW1vdmVzIHRoZSByZXRyeSBjb25maWd1cmF0aW9uIG9mIGEgdGFzay5IY2FuY2VsX3JldHJ5X25hbWVkBAEIaWQEASBUYXNrTmFtZQAJBLxDYW5jZWwgdGhlIHJldHJ5IGNvbmZpZ3VyYXRpb24gb2YgYSBuYW1lZCB0YXNrLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6BBAx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbRhwYWxsZXQQQ2FsbAQEVAABCExzZXRfdmFsaWRhdGlvbl9kYXRhBAEQZGF0YYUEAVRQYXJhY2hhaW5JbmhlcmVudERhdGEAACSAU2V0IHRoZSBjdXJyZW50IHZhbGlkYXRpb24gZGF0YS4AQQFUaGlzIHNob3VsZCBiZSBpbnZva2VkIGV4YWN0bHkgb25jZSBwZXIgYmxvY2suIEl0IHdpbGwgcGFuaWMgYXQgdGhlIGZpbmFsaXphdGlvbohwaGFzZSBpZiB0aGUgY2FsbCB3YXMgbm90IGludm9rZWQuANBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgSW5oZXJlbnRgACEBQXMgYSBzaWRlIGVmZmVjdCwgdGhpcyBmdW5jdGlvbiB1cGdyYWRlcyB0aGUgY3VycmVudCB2YWxpZGF0aW9uIGZ1bmN0aW9uhGlmIHRoZSBhcHByb3ByaWF0ZSB0aW1lIGhhcyBjb21lLmBzdWRvX3NlbmRfdXB3YXJkX21lc3NhZ2UEARxtZXNzYWdlOAE0VXB3YXJkTWVzc2FnZQABAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6FBAiUY3VtdWx1c19wcmltaXRpdmVzX3BhcmFjaGFpbl9pbmhlcmVudFRQYXJhY2hhaW5JbmhlcmVudERhdGEAABABPHZhbGlkYXRpb25fZGF0YYkEAVxQZXJzaXN0ZWRWYWxpZGF0aW9uRGF0YQABRHJlbGF5X2NoYWluX3N0YXRlkQQBVHNwX3RyaWU6OlN0b3JhZ2VQcm9vZgABRGRvd253YXJkX21lc3NhZ2VzmQQBbFZlYzxJbmJvdW5kRG93bndhcmRNZXNzYWdlPgABTGhvcml6b250YWxfbWVzc2FnZXOhBAGkQlRyZWVNYXA8UGFyYUlkLCBWZWM8SW5ib3VuZEhybXBNZXNzYWdlPj4AAIkEDExwb2xrYWRvdF9wcmltaXRpdmVzCHY4XFBlcnNpc3RlZFZhbGlkYXRpb25EYXRhCARIATQETgEQABABLHBhcmVudF9oZWFkjQQBIEhlYWREYXRhAAFMcmVsYXlfcGFyZW50X251bWJlchABBE4AAWRyZWxheV9wYXJlbnRfc3RvcmFnZV9yb290NAEESAABMG1heF9wb3Zfc2l6ZRABDHUzMgAAjQQMdHBvbGthZG90X3BhcmFjaGFpbl9wcmltaXRpdmVzKHByaW1pdGl2ZXMgSGVhZERhdGEAAAQAOAEcVmVjPHU4PgAAkQQMHHNwX3RyaWU0c3RvcmFnZV9wcm9vZjBTdG9yYWdlUHJvb2YAAAQBKHRyaWVfbm9kZXOVBAFEQlRyZWVTZXQ8VmVjPHU4Pj4AAJUEBCBCVHJlZVNldAQEVAE4AAQAIQEAAACZBAAAAp0EAJ0ECGBwb2xrYWRvdF9jb3JlX3ByaW1pdGl2ZXNYSW5ib3VuZERvd253YXJkTWVzc2FnZQQsQmxvY2tOdW1iZXIBEAAIARxzZW50X2F0EAEsQmxvY2tOdW1iZXIAAQxtc2c4ATxEb3dud2FyZE1lc3NhZ2UAAKEEBCBCVHJlZU1hcAgESwG9AQRWAaUEAAQArQQAAAClBAAAAqkEAKkECGBwb2xrYWRvdF9jb3JlX3ByaW1pdGl2ZXNISW5ib3VuZEhybXBNZXNzYWdlBCxCbG9ja051bWJlcgEQAAgBHHNlbnRfYXQQASxCbG9ja051bWJlcgABEGRhdGE4AUxhbGxvYzo6dmVjOjpWZWM8dTg+AACtBAAAArEEALEEAAAECL0BpQQAtQQMWHN0YWdpbmdfcGFyYWNoYWluX2luZm8YcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuuQQMKHBhbGxldF94Y20YcGFsbGV0EENhbGwEBFQAATgQc2VuZAgBEGRlc3S9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABHG1lc3NhZ2XdBAFUQm94PFZlcnNpb25lZFhjbTwoKT4+AAAAPHRlbGVwb3J0X2Fzc2V0cxABEGRlc3S9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABLGJlbmVmaWNpYXJ5vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AARhhc3NldHPhBQFQQm94PFZlcnNpb25lZEFzc2V0cz4AAThmZWVfYXNzZXRfaXRlbRABDHUzMgABSBEBVGVsZXBvcnQgc29tZSBhc3NldHMgZnJvbSB0aGUgbG9jYWwgY2hhaW4gdG8gc29tZSBkZXN0aW5hdGlvbiBjaGFpbi4AHQEqKlRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZDogVXNlIGBsaW1pdGVkX3RlbGVwb3J0X2Fzc2V0c2AgaW5zdGVhZC4qKgBRAUZlZSBwYXltZW50IG9uIHRoZSBkZXN0aW5hdGlvbiBzaWRlIGlzIG1hZGUgZnJvbSB0aGUgYXNzZXQgaW4gdGhlIGBhc3NldHNgIHZlY3RvciBvZmEBaW5kZXggYGZlZV9hc3NldF9pdGVtYC4gVGhlIHdlaWdodCBsaW1pdCBmb3IgZmVlcyBpcyBub3QgcHJvdmlkZWQgYW5kIHRodXMgaXMgdW5saW1pdGVkLLR3aXRoIGFsbCBmZWVzIHRha2VuIGFzIG5lZWRlZCBmcm9tIHRoZSBhc3NldC4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLiUBLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBbUGFyZW50LGEBICBQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tIHBhcmFjaGFpbiB0byBwYXJhY2hhaW4sIG9yIGBbUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbVQgIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlaCAgZmVlIG9uIHRoZSBgZGVzdGAgY2hhaW4uTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuXHJlc2VydmVfdHJhbnNmZXJfYXNzZXRzEAEQZGVzdL0EAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnm9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c+EFAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABOGZlZV9hc3NldF9pdGVtEAEMdTMyAAJ4XQFUcmFuc2ZlciBzb21lIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byB0aGUgZGVzdGluYXRpb24gY2hhaW4gdGhyb3VnaCB0aGVpciBsb2NhbCx4ZGVzdGluYXRpb24gb3IgcmVtb3RlIHJlc2VydmUuAD0BYGFzc2V0c2AgbXVzdCBoYXZlIHNhbWUgcmVzZXJ2ZSBsb2NhdGlvbiBhbmQgbWF5IG5vdCBiZSB0ZWxlcG9ydGFibGUgdG8gYGRlc3RgLk0BIC0gYGFzc2V0c2AgaGF2ZSBsb2NhbCByZXNlcnZlOiB0cmFuc2ZlciBhc3NldHMgdG8gc292ZXJlaWduIGFjY291bnQgb2YgZGVzdGluYXRpb25NASAgIGNoYWluIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIFhDTSB0byBgZGVzdGAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkbCAgIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLlUBIC0gYGFzc2V0c2AgaGF2ZSBkZXN0aW5hdGlvbiByZXNlcnZlOiBidXJuIGxvY2FsIGFzc2V0cyBhbmQgZm9yd2FyZCBhIG5vdGlmaWNhdGlvbiB0b1kBICAgYGRlc3RgIGNoYWluIHRvIHdpdGhkcmF3IHRoZSByZXNlcnZlIGFzc2V0cyBmcm9tIHRoaXMgY2hhaW4ncyBzb3ZlcmVpZ24gYWNjb3VudCBhbmSEICAgZGVwb3NpdCB0aGVtIHRvIGBiZW5lZmljaWFyeWAuYQEgLSBgYXNzZXRzYCBoYXZlIHJlbW90ZSByZXNlcnZlOiBidXJuIGxvY2FsIGFzc2V0cywgZm9yd2FyZCBYQ00gdG8gcmVzZXJ2ZSBjaGFpbiB0byBtb3ZlYQEgICByZXNlcnZlcyBmcm9tIHRoaXMgY2hhaW4ncyBTQSB0byBgZGVzdGAgY2hhaW4ncyBTQSwgYW5kIGZvcndhcmQgYW5vdGhlciBYQ00gdG8gYGRlc3Rg9CAgIHRvIG1pbnQgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZCBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC4APQEqKlRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZDogVXNlIGBsaW1pdGVkX3Jlc2VydmVfdHJhbnNmZXJfYXNzZXRzYCBpbnN0ZWFkLioqAFEBRmVlIHBheW1lbnQgb24gdGhlIGRlc3RpbmF0aW9uIHNpZGUgaXMgbWFkZSBmcm9tIHRoZSBhc3NldCBpbiB0aGUgYGFzc2V0c2AgdmVjdG9yIG9mYQFpbmRleCBgZmVlX2Fzc2V0X2l0ZW1gLiBUaGUgd2VpZ2h0IGxpbWl0IGZvciBmZWVzIGlzIG5vdCBwcm92aWRlZCBhbmQgdGh1cyBpcyB1bmxpbWl0ZWQstHdpdGggYWxsIGZlZXMgdGFrZW4gYXMgbmVlZGVkIGZyb20gdGhlIGFzc2V0LgApAS0gYG9yaWdpbmA6IE11c3QgYmUgY2FwYWJsZSBvZiB3aXRoZHJhd2luZyB0aGUgYGFzc2V0c2AgYW5kIGV4ZWN1dGluZyBYQ00uJQEtIGBkZXN0YDogRGVzdGluYXRpb24gY29udGV4dCBmb3IgdGhlIGFzc2V0cy4gV2lsbCB0eXBpY2FsbHkgYmUgYFtQYXJlbnQsYQEgIFBhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb20gcGFyYWNoYWluIHRvIHBhcmFjaGFpbiwgb3IgYFtQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tVCAgcmVsYXkgdG8gcGFyYWNoYWluLlUBLSBgYmVuZWZpY2lhcnlgOiBBIGJlbmVmaWNpYXJ5IGxvY2F0aW9uIGZvciB0aGUgYXNzZXRzIGluIHRoZSBjb250ZXh0IG9mIGBkZXN0YC4gV2lsbJggIGdlbmVyYWxseSBiZSBhbiBgQWNjb3VudElkMzJgIHZhbHVlLlkBLSBgYXNzZXRzYDogVGhlIGFzc2V0cyB0byBiZSB3aXRoZHJhd24uIFRoaXMgc2hvdWxkIGluY2x1ZGUgdGhlIGFzc2V0cyB1c2VkIHRvIHBheSB0aGXIICBmZWUgb24gdGhlIGBkZXN0YCAoYW5kIHBvc3NpYmx5IHJlc2VydmUpIGNoYWlucy5NAS0gYGZlZV9hc3NldF9pdGVtYDogVGhlIGluZGV4IGludG8gYGFzc2V0c2Agb2YgdGhlIGl0ZW0gd2hpY2ggc2hvdWxkIGJlIHVzZWQgdG8gcGF5HCAgZmVlcy4cZXhlY3V0ZQgBHG1lc3NhZ2XlBQG0Qm94PFZlcnNpb25lZFhjbTw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4+AAEobWF4X3dlaWdodCgBGFdlaWdodAADINBFeGVjdXRlIGFuIFhDTSBtZXNzYWdlIGZyb20gYSBsb2NhbCwgc2lnbmVkLCBvcmlnaW4uAE0BQW4gZXZlbnQgaXMgZGVwb3NpdGVkIGluZGljYXRpbmcgd2hldGhlciBgbXNnYCBjb3VsZCBiZSBleGVjdXRlZCBjb21wbGV0ZWx5IG9yIG9ubHkocGFydGlhbGx5LgBdAU5vIG1vcmUgdGhhbiBgbWF4X3dlaWdodGAgd2lsbCBiZSB1c2VkIGluIGl0cyBhdHRlbXB0ZWQgZXhlY3V0aW9uLiBJZiB0aGlzIGlzIGxlc3MgdGhhbkEBdGhlIG1heGltdW0gYW1vdW50IG9mIHdlaWdodCB0aGF0IHRoZSBtZXNzYWdlIGNvdWxkIHRha2UgdG8gYmUgZXhlY3V0ZWQsIHRoZW4gbm98ZXhlY3V0aW9uIGF0dGVtcHQgd2lsbCBiZSBtYWRlLkRmb3JjZV94Y21fdmVyc2lvbggBIGxvY2F0aW9ufQEBNEJveDxMb2NhdGlvbj4AARx2ZXJzaW9uEAEoWGNtVmVyc2lvbgAEGEkBRXh0b2xsIHRoYXQgYSBwYXJ0aWN1bGFyIGRlc3RpbmF0aW9uIGNhbiBiZSBjb21tdW5pY2F0ZWQgd2l0aCB0aHJvdWdoIGEgcGFydGljdWxhcjx2ZXJzaW9uIG9mIFhDTS4A3C0gYG9yaWdpbmA6IE11c3QgYmUgYW4gb3JpZ2luIHNwZWNpZmllZCBieSBBZG1pbk9yaWdpbi7YLSBgbG9jYXRpb25gOiBUaGUgZGVzdGluYXRpb24gdGhhdCBpcyBiZWluZyBkZXNjcmliZWQuEQEtIGB4Y21fdmVyc2lvbmA6IFRoZSBsYXRlc3QgdmVyc2lvbiBvZiBYQ00gdGhhdCBgbG9jYXRpb25gIHN1cHBvcnRzLmRmb3JjZV9kZWZhdWx0X3hjbV92ZXJzaW9uBAFEbWF5YmVfeGNtX3ZlcnNpb25ZAQFIT3B0aW9uPFhjbVZlcnNpb24+AAUUWQFTZXQgYSBzYWZlIFhDTSB2ZXJzaW9uICh0aGUgdmVyc2lvbiB0aGF0IFhDTSBzaG91bGQgYmUgZW5jb2RlZCB3aXRoIGlmIHRoZSBtb3N0IHJlY2VudLR2ZXJzaW9uIGEgZGVzdGluYXRpb24gY2FuIGFjY2VwdCBpcyB1bmtub3duKS4A3C0gYG9yaWdpbmA6IE11c3QgYmUgYW4gb3JpZ2luIHNwZWNpZmllZCBieSBBZG1pbk9yaWdpbi45AS0gYG1heWJlX3hjbV92ZXJzaW9uYDogVGhlIGRlZmF1bHQgWENNIGVuY29kaW5nIHZlcnNpb24sIG9yIGBOb25lYCB0byBkaXNhYmxlLnhmb3JjZV9zdWJzY3JpYmVfdmVyc2lvbl9ub3RpZnkEASBsb2NhdGlvbr0EAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAYQOQFBc2sgYSBsb2NhdGlvbiB0byBub3RpZnkgdXMgcmVnYXJkaW5nIHRoZWlyIFhDTSB2ZXJzaW9uIGFuZCBhbnkgY2hhbmdlcyB0byBpdC4A3C0gYG9yaWdpbmA6IE11c3QgYmUgYW4gb3JpZ2luIHNwZWNpZmllZCBieSBBZG1pbk9yaWdpbi5ZAS0gYGxvY2F0aW9uYDogVGhlIGxvY2F0aW9uIHRvIHdoaWNoIHdlIHNob3VsZCBzdWJzY3JpYmUgZm9yIFhDTSB2ZXJzaW9uIG5vdGlmaWNhdGlvbnMugGZvcmNlX3Vuc3Vic2NyaWJlX3ZlcnNpb25fbm90aWZ5BAEgbG9jYXRpb269BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgAHGEkBUmVxdWlyZSB0aGF0IGEgcGFydGljdWxhciBkZXN0aW5hdGlvbiBzaG91bGQgbm8gbG9uZ2VyIG5vdGlmeSB1cyByZWdhcmRpbmcgYW55IFhDTUB2ZXJzaW9uIGNoYW5nZXMuANwtIGBvcmlnaW5gOiBNdXN0IGJlIGFuIG9yaWdpbiBzcGVjaWZpZWQgYnkgQWRtaW5PcmlnaW4uPQEtIGBsb2NhdGlvbmA6IFRoZSBsb2NhdGlvbiB0byB3aGljaCB3ZSBhcmUgY3VycmVudGx5IHN1YnNjcmliZWQgZm9yIFhDTSB2ZXJzaW9uqCAgbm90aWZpY2F0aW9ucyB3aGljaCB3ZSBubyBsb25nZXIgZGVzaXJlLnxsaW1pdGVkX3Jlc2VydmVfdHJhbnNmZXJfYXNzZXRzFAEQZGVzdL0EAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnm9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c+EFAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABOGZlZV9hc3NldF9pdGVtEAEMdTMyAAEwd2VpZ2h0X2xpbWl0kQUBLFdlaWdodExpbWl0AAh4XQFUcmFuc2ZlciBzb21lIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byB0aGUgZGVzdGluYXRpb24gY2hhaW4gdGhyb3VnaCB0aGVpciBsb2NhbCx4ZGVzdGluYXRpb24gb3IgcmVtb3RlIHJlc2VydmUuAD0BYGFzc2V0c2AgbXVzdCBoYXZlIHNhbWUgcmVzZXJ2ZSBsb2NhdGlvbiBhbmQgbWF5IG5vdCBiZSB0ZWxlcG9ydGFibGUgdG8gYGRlc3RgLk0BIC0gYGFzc2V0c2AgaGF2ZSBsb2NhbCByZXNlcnZlOiB0cmFuc2ZlciBhc3NldHMgdG8gc292ZXJlaWduIGFjY291bnQgb2YgZGVzdGluYXRpb25NASAgIGNoYWluIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIFhDTSB0byBgZGVzdGAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkbCAgIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLlUBIC0gYGFzc2V0c2AgaGF2ZSBkZXN0aW5hdGlvbiByZXNlcnZlOiBidXJuIGxvY2FsIGFzc2V0cyBhbmQgZm9yd2FyZCBhIG5vdGlmaWNhdGlvbiB0b1kBICAgYGRlc3RgIGNoYWluIHRvIHdpdGhkcmF3IHRoZSByZXNlcnZlIGFzc2V0cyBmcm9tIHRoaXMgY2hhaW4ncyBzb3ZlcmVpZ24gYWNjb3VudCBhbmSEICAgZGVwb3NpdCB0aGVtIHRvIGBiZW5lZmljaWFyeWAuYQEgLSBgYXNzZXRzYCBoYXZlIHJlbW90ZSByZXNlcnZlOiBidXJuIGxvY2FsIGFzc2V0cywgZm9yd2FyZCBYQ00gdG8gcmVzZXJ2ZSBjaGFpbiB0byBtb3ZlYQEgICByZXNlcnZlcyBmcm9tIHRoaXMgY2hhaW4ncyBTQSB0byBgZGVzdGAgY2hhaW4ncyBTQSwgYW5kIGZvcndhcmQgYW5vdGhlciBYQ00gdG8gYGRlc3Rg9CAgIHRvIG1pbnQgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZCBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC4AUQFGZWUgcGF5bWVudCBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBtYWRlIGZyb20gdGhlIGFzc2V0IGluIHRoZSBgYXNzZXRzYCB2ZWN0b3Igb2ZhAWluZGV4IGBmZWVfYXNzZXRfaXRlbWAsIHVwIHRvIGVub3VnaCB0byBwYXkgZm9yIGB3ZWlnaHRfbGltaXRgIG9mIHdlaWdodC4gSWYgbW9yZSB3ZWlnaHRZAWlzIG5lZWRlZCB0aGFuIGB3ZWlnaHRfbGltaXRgLCB0aGVuIHRoZSBvcGVyYXRpb24gd2lsbCBmYWlsIGFuZCB0aGUgc2VudCBhc3NldHMgbWF5IGJlIGF0IHJpc2suACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4lAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgW1BhcmVudCxhASAgUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgW1BhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb21UICByZWxheSB0byBwYXJhY2hhaW4uVQEtIGBiZW5lZmljaWFyeWA6IEEgYmVuZWZpY2lhcnkgbG9jYXRpb24gZm9yIHRoZSBhc3NldHMgaW4gdGhlIGNvbnRleHQgb2YgYGRlc3RgLiBXaWxsmCAgZ2VuZXJhbGx5IGJlIGFuIGBBY2NvdW50SWQzMmAgdmFsdWUuWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZcggIGZlZSBvbiB0aGUgYGRlc3RgIChhbmQgcG9zc2libHkgcmVzZXJ2ZSkgY2hhaW5zLk0BLSBgZmVlX2Fzc2V0X2l0ZW1gOiBUaGUgaW5kZXggaW50byBgYXNzZXRzYCBvZiB0aGUgaXRlbSB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBwYXkcICBmZWVzLkUBLSBgd2VpZ2h0X2xpbWl0YDogVGhlIHJlbW90ZS1zaWRlIHdlaWdodCBsaW1pdCwgaWYgYW55LCBmb3IgdGhlIFhDTSBmZWUgcHVyY2hhc2UuXGxpbWl0ZWRfdGVsZXBvcnRfYXNzZXRzFAEQZGVzdL0EAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnm9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c+EFAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABOGZlZV9hc3NldF9pdGVtEAEMdTMyAAEwd2VpZ2h0X2xpbWl0kQUBLFdlaWdodExpbWl0AAlIEQFUZWxlcG9ydCBzb21lIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byBzb21lIGRlc3RpbmF0aW9uIGNoYWluLgBRAUZlZSBwYXltZW50IG9uIHRoZSBkZXN0aW5hdGlvbiBzaWRlIGlzIG1hZGUgZnJvbSB0aGUgYXNzZXQgaW4gdGhlIGBhc3NldHNgIHZlY3RvciBvZmEBaW5kZXggYGZlZV9hc3NldF9pdGVtYCwgdXAgdG8gZW5vdWdoIHRvIHBheSBmb3IgYHdlaWdodF9saW1pdGAgb2Ygd2VpZ2h0LiBJZiBtb3JlIHdlaWdodFkBaXMgbmVlZGVkIHRoYW4gYHdlaWdodF9saW1pdGAsIHRoZW4gdGhlIG9wZXJhdGlvbiB3aWxsIGZhaWwgYW5kIHRoZSBzZW50IGFzc2V0cyBtYXkgYmUgYXQgcmlzay4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLiUBLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBbUGFyZW50LGEBICBQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tIHBhcmFjaGFpbiB0byBwYXJhY2hhaW4sIG9yIGBbUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbVQgIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlaCAgZmVlIG9uIHRoZSBgZGVzdGAgY2hhaW4uTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS5AZm9yY2Vfc3VzcGVuc2lvbgQBJHN1c3BlbmRlZCABEGJvb2wAChD0U2V0IG9yIHVuc2V0IHRoZSBnbG9iYWwgc3VzcGVuc2lvbiBzdGF0ZSBvZiB0aGUgWENNIGV4ZWN1dG9yLgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLtAtIGBzdXNwZW5kZWRgOiBgdHJ1ZWAgdG8gc3VzcGVuZCwgYGZhbHNlYCB0byByZXN1bWUuPHRyYW5zZmVyX2Fzc2V0cxQBEGRlc3S9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABLGJlbmVmaWNpYXJ5vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AARhhc3NldHPhBQFQQm94PFZlcnNpb25lZEFzc2V0cz4AAThmZWVfYXNzZXRfaXRlbRABDHUzMgABMHdlaWdodF9saW1pdJEFASxXZWlnaHRMaW1pdAALhF0BVHJhbnNmZXIgc29tZSBhc3NldHMgZnJvbSB0aGUgbG9jYWwgY2hhaW4gdG8gdGhlIGRlc3RpbmF0aW9uIGNoYWluIHRocm91Z2ggdGhlaXIgbG9jYWws0GRlc3RpbmF0aW9uIG9yIHJlbW90ZSByZXNlcnZlLCBvciB0aHJvdWdoIHRlbGVwb3J0cy4AUQFGZWUgcGF5bWVudCBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBtYWRlIGZyb20gdGhlIGFzc2V0IGluIHRoZSBgYXNzZXRzYCB2ZWN0b3Igb2Y1AWluZGV4IGBmZWVfYXNzZXRfaXRlbWAgKGhlbmNlIHJlZmVycmVkIHRvIGFzIGBmZWVzYCksIHVwIHRvIGVub3VnaCB0byBwYXkgZm9yQQFgd2VpZ2h0X2xpbWl0YCBvZiB3ZWlnaHQuIElmIG1vcmUgd2VpZ2h0IGlzIG5lZWRlZCB0aGFuIGB3ZWlnaHRfbGltaXRgLCB0aGVuIHRoZdxvcGVyYXRpb24gd2lsbCBmYWlsIGFuZCB0aGUgc2VudCBhc3NldHMgbWF5IGJlIGF0IHJpc2suAGEBYGFzc2V0c2AgKGV4Y2x1ZGluZyBgZmVlc2ApIG11c3QgaGF2ZSBzYW1lIHJlc2VydmUgbG9jYXRpb24gb3Igb3RoZXJ3aXNlIGJlIHRlbGVwb3J0YWJsZbB0byBgZGVzdGAsIG5vIGxpbWl0YXRpb25zIGltcG9zZWQgb24gYGZlZXNgLk0BIC0gZm9yIGxvY2FsIHJlc2VydmU6IHRyYW5zZmVyIGFzc2V0cyB0byBzb3ZlcmVpZ24gYWNjb3VudCBvZiBkZXN0aW5hdGlvbiBjaGFpbiBhbmRNASAgIGZvcndhcmQgYSBub3RpZmljYXRpb24gWENNIHRvIGBkZXN0YCB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWQgYXNzZXRzIHRvRCAgIGBiZW5lZmljaWFyeWAuYQEgLSBmb3IgZGVzdGluYXRpb24gcmVzZXJ2ZTogYnVybiBsb2NhbCBhc3NldHMgYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gdG8gYGRlc3RgIGNoYWluWQEgICB0byB3aXRoZHJhdyB0aGUgcmVzZXJ2ZSBhc3NldHMgZnJvbSB0aGlzIGNoYWluJ3Mgc292ZXJlaWduIGFjY291bnQgYW5kIGRlcG9zaXQgdGhlbVAgICB0byBgYmVuZWZpY2lhcnlgLl0BIC0gZm9yIHJlbW90ZSByZXNlcnZlOiBidXJuIGxvY2FsIGFzc2V0cywgZm9yd2FyZCBYQ00gdG8gcmVzZXJ2ZSBjaGFpbiB0byBtb3ZlIHJlc2VydmVzXQEgICBmcm9tIHRoaXMgY2hhaW4ncyBTQSB0byBgZGVzdGAgY2hhaW4ncyBTQSwgYW5kIGZvcndhcmQgYW5vdGhlciBYQ00gdG8gYGRlc3RgIHRvIG1pbnTUICAgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZCBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC5RASAtIGZvciB0ZWxlcG9ydHM6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIFhDTSB0byBgZGVzdGAgY2hhaW4gdG8gbWludC90ZWxlcG9ydLAgICBhc3NldHMgYW5kIGRlcG9zaXQgdGhlbSB0byBgYmVuZWZpY2lhcnlgLgApAS0gYG9yaWdpbmA6IE11c3QgYmUgY2FwYWJsZSBvZiB3aXRoZHJhd2luZyB0aGUgYGFzc2V0c2AgYW5kIGV4ZWN1dGluZyBYQ00uLQEtIGBkZXN0YDogRGVzdGluYXRpb24gY29udGV4dCBmb3IgdGhlIGFzc2V0cy4gV2lsbCB0eXBpY2FsbHkgYmUgYFgyKFBhcmVudCxVASAgUGFyYWNoYWluKC4uKSlgIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgWDEoUGFyYWNoYWluKC4uKSlgIHRvIHNlbmRoICBmcm9tIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlyCAgZmVlIG9uIHRoZSBgZGVzdGAgKGFuZCBwb3NzaWJseSByZXNlcnZlKSBjaGFpbnMuTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS4wY2xhaW1fYXNzZXRzCAEYYXNzZXRz4QUBUEJveDxWZXJzaW9uZWRBc3NldHM+AAEsYmVuZWZpY2lhcnm9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgAMGFUBQ2xhaW1zIGFzc2V0cyB0cmFwcGVkIG9uIHRoaXMgcGFsbGV0IGJlY2F1c2Ugb2YgbGVmdG92ZXIgYXNzZXRzIGR1cmluZyBYQ00gZXhlY3V0aW9uLgCsLSBgb3JpZ2luYDogQW55b25lIGNhbiBjYWxsIHRoaXMgZXh0cmluc2ljLl0BLSBgYXNzZXRzYDogVGhlIGV4YWN0IGFzc2V0cyB0aGF0IHdlcmUgdHJhcHBlZC4gVXNlIHRoZSB2ZXJzaW9uIHRvIHNwZWNpZnkgd2hhdCB2ZXJzaW9umHdhcyB0aGUgbGF0ZXN0IHdoZW4gdGhleSB3ZXJlIHRyYXBwZWQuRQEtIGBiZW5lZmljaWFyeWA6IFRoZSBsb2NhdGlvbi9hY2NvdW50IHdoZXJlIHRoZSBjbGFpbWVkIGFzc2V0cyB3aWxsIGJlIGRlcG9zaXRlZC6MdHJhbnNmZXJfYXNzZXRzX3VzaW5nX3R5cGVfYW5kX3RoZW4cARBkZXN0vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AARhhc3NldHPhBQFQQm94PFZlcnNpb25lZEFzc2V0cz4AAVBhc3NldHNfdHJhbnNmZXJfdHlwZREGAURCb3g8VHJhbnNmZXJUeXBlPgABOHJlbW90ZV9mZWVzX2lkFQYBVEJveDxWZXJzaW9uZWRBc3NldElkPgABSGZlZXNfdHJhbnNmZXJfdHlwZREGAURCb3g8VHJhbnNmZXJUeXBlPgABSGN1c3RvbV94Y21fb25fZGVzdN0EAVRCb3g8VmVyc2lvbmVkWGNtPCgpPj4AATB3ZWlnaHRfbGltaXSRBQEsV2VpZ2h0TGltaXQADcBVAVRyYW5zZmVyIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byB0aGUgZGVzdGluYXRpb24gY2hhaW4gdXNpbmcgZXhwbGljaXQgdHJhbnNmZXJodHlwZXMgZm9yIGFzc2V0cyBhbmQgZmVlcy4AWQFgYXNzZXRzYCBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIG9yIG1heSBiZSB0ZWxlcG9ydGFibGUgdG8gYGRlc3RgLiBDYWxsZXIgbXVzdOxwcm92aWRlIHRoZSBgYXNzZXRzX3RyYW5zZmVyX3R5cGVgIHRvIGJlIHVzZWQgZm9yIGBhc3NldHNgOlEBIC0gYFRyYW5zZmVyVHlwZTo6TG9jYWxSZXNlcnZlYDogdHJhbnNmZXIgYXNzZXRzIHRvIHNvdmVyZWlnbiBhY2NvdW50IG9mIGRlc3RpbmF0aW9uTQEgICBjaGFpbiBhbmQgZm9yd2FyZCBhIG5vdGlmaWNhdGlvbiBYQ00gdG8gYGRlc3RgIHRvIG1pbnQgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZGwgICBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC5ZASAtIGBUcmFuc2ZlclR5cGU6OkRlc3RpbmF0aW9uUmVzZXJ2ZWA6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvWQEgICBgZGVzdGAgY2hhaW4gdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZIQgICBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC5ZASAtIGBUcmFuc2ZlclR5cGU6OlJlbW90ZVJlc2VydmUocmVzZXJ2ZSlgOiBidXJuIGxvY2FsIGFzc2V0cywgZm9yd2FyZCBYQ00gdG8gYHJlc2VydmVgYQEgICBjaGFpbiB0byBtb3ZlIHJlc2VydmVzIGZyb20gdGhpcyBjaGFpbidzIFNBIHRvIGBkZXN0YCBjaGFpbidzIFNBLCBhbmQgZm9yd2FyZCBhbm90aGVyVQEgICBYQ00gdG8gYGRlc3RgIHRvIG1pbnQgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZCBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC4gVHlwaWNhbGx5lCAgIHRoZSByZW1vdGUgYHJlc2VydmVgIGlzIEFzc2V0IEh1Yi5FASAtIGBUcmFuc2ZlclR5cGU6OlRlbGVwb3J0YDogYnVybiBsb2NhbCBhc3NldHMgYW5kIGZvcndhcmQgWENNIHRvIGBkZXN0YCBjaGFpbiB0b+ggICBtaW50L3RlbGVwb3J0IGFzc2V0cyBhbmQgZGVwb3NpdCB0aGVtIHRvIGBiZW5lZmljaWFyeWAuAFUBT24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLCBhcyB3ZWxsIGFzIGFueSBpbnRlcm1lZGlhcnkgaG9wcywgYEJ1eUV4ZWN1dGlvbmAgaXMgdXNlZCB0byEBYnV5IGV4ZWN1dGlvbiB1c2luZyB0cmFuc2ZlcnJlZCBgYXNzZXRzYCBpZGVudGlmaWVkIGJ5IGByZW1vdGVfZmVlc19pZGAuWQFNYWtlIHN1cmUgZW5vdWdoIG9mIHRoZSBzcGVjaWZpZWQgYHJlbW90ZV9mZWVzX2lkYCBhc3NldCBpcyBpbmNsdWRlZCBpbiB0aGUgZ2l2ZW4gbGlzdGEBb2YgYGFzc2V0c2AuIGByZW1vdGVfZmVlc19pZGAgc2hvdWxkIGJlIGVub3VnaCB0byBwYXkgZm9yIGB3ZWlnaHRfbGltaXRgLiBJZiBtb3JlIHdlaWdodFkBaXMgbmVlZGVkIHRoYW4gYHdlaWdodF9saW1pdGAsIHRoZW4gdGhlIG9wZXJhdGlvbiB3aWxsIGZhaWwgYW5kIHRoZSBzZW50IGFzc2V0cyBtYXkgYmUgYXQgcmlzay4ARQFgcmVtb3RlX2ZlZXNfaWRgIG1heSB1c2UgZGlmZmVyZW50IHRyYW5zZmVyIHR5cGUgdGhhbiByZXN0IG9mIGBhc3NldHNgIGFuZCBjYW4gYmWcc3BlY2lmaWVkIHRocm91Z2ggYGZlZXNfdHJhbnNmZXJfdHlwZWAuAGEBVGhlIGNhbGxlciBuZWVkcyB0byBzcGVjaWZ5IHdoYXQgc2hvdWxkIGhhcHBlbiB0byB0aGUgdHJhbnNmZXJyZWQgYXNzZXRzIG9uY2UgdGhleSByZWFjaEEBdGhlIGBkZXN0YCBjaGFpbi4gVGhpcyBpcyBkb25lIHRocm91Z2ggdGhlIGBjdXN0b21feGNtX29uX2Rlc3RgIHBhcmFtZXRlciwgd2hpY2j8Y29udGFpbnMgdGhlIGluc3RydWN0aW9ucyB0byBleGVjdXRlIG9uIGBkZXN0YCBhcyBhIGZpbmFsIHN0ZXAufCAgVGhpcyBpcyB1c3VhbGx5IGFzIHNpbXBsZSBhczpRASAgYFhjbSh2ZWMhW0RlcG9zaXRBc3NldCB7IGFzc2V0czogV2lsZChBbGxDb3VudGVkKGFzc2V0cy5sZW4oKSkpLCBiZW5lZmljaWFyeSB9XSlgLDEBICBidXQgY291bGQgYmUgc29tZXRoaW5nIG1vcmUgZXhvdGljIGxpa2Ugc2VuZGluZyB0aGUgYGFzc2V0c2AgZXZlbiBmdXJ0aGVyLgApAS0gYG9yaWdpbmA6IE11c3QgYmUgY2FwYWJsZSBvZiB3aXRoZHJhd2luZyB0aGUgYGFzc2V0c2AgYW5kIGV4ZWN1dGluZyBYQ00uJQEtIGBkZXN0YDogRGVzdGluYXRpb24gY29udGV4dCBmb3IgdGhlIGFzc2V0cy4gV2lsbCB0eXBpY2FsbHkgYmUgYFtQYXJlbnQsYQEgIFBhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb20gcGFyYWNoYWluIHRvIHBhcmFjaGFpbiwgb3IgYFtQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tPQEgIHJlbGF5IHRvIHBhcmFjaGFpbiwgb3IgYChwYXJlbnRzOiAyLCAoR2xvYmFsQ29uc2Vuc3VzKC4uKSwgLi4pKWAgdG8gc2VuZCBmcm9t9CAgcGFyYWNoYWluIGFjcm9zcyBhIGJyaWRnZSB0byBhbm90aGVyIGVjb3N5c3RlbSBkZXN0aW5hdGlvbi5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlyCAgZmVlIG9uIHRoZSBgZGVzdGAgKGFuZCBwb3NzaWJseSByZXNlcnZlKSBjaGFpbnMuPQEtIGBhc3NldHNfdHJhbnNmZXJfdHlwZWA6IFRoZSBYQ00gYFRyYW5zZmVyVHlwZWAgdXNlZCB0byB0cmFuc2ZlciB0aGUgYGFzc2V0c2AuIQEtIGByZW1vdGVfZmVlc19pZGA6IE9uZSBvZiB0aGUgaW5jbHVkZWQgYGFzc2V0c2AgdG8gYmUgdXNlZCB0byBwYXkgZmVlcy5JAS0gYGZlZXNfdHJhbnNmZXJfdHlwZWA6IFRoZSBYQ00gYFRyYW5zZmVyVHlwZWAgdXNlZCB0byB0cmFuc2ZlciB0aGUgYGZlZXNgIGFzc2V0cy5ZAS0gYGN1c3RvbV94Y21fb25fZGVzdGA6IFRoZSBYQ00gdG8gYmUgZXhlY3V0ZWQgb24gYGRlc3RgIGNoYWluIGFzIHRoZSBsYXN0IHN0ZXAgb2YgdGhlWQEgIHRyYW5zZmVyLCB3aGljaCBhbHNvIGRldGVybWluZXMgd2hhdCBoYXBwZW5zIHRvIHRoZSBhc3NldHMgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLkUBLSBgd2VpZ2h0X2xpbWl0YDogVGhlIHJlbW90ZS1zaWRlIHdlaWdodCBsaW1pdCwgaWYgYW55LCBmb3IgdGhlIFhDTSBmZWUgcHVyY2hhc2UuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLr0ECAx4Y21EVmVyc2lvbmVkTG9jYXRpb24AAQwIVjIEAMEEAUR2Mjo6TXVsdGlMb2NhdGlvbgABAAhWMwQA9QIBRHYzOjpNdWx0aUxvY2F0aW9uAAMACFY0BAB9AQEwdjQ6OkxvY2F0aW9uAAQAAMEEEAx4Y20IdjI0bXVsdGlsb2NhdGlvbjRNdWx0aUxvY2F0aW9uAAAIARxwYXJlbnRzCAEIdTgAASBpbnRlcmlvcsUEASRKdW5jdGlvbnMAAMUEEAx4Y20IdjI0bXVsdGlsb2NhdGlvbiRKdW5jdGlvbnMAASQQSGVyZQAAAAhYMQQAyQQBIEp1bmN0aW9uAAEACFgyCADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgACAAhYMwwAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgADAAhYNBAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAAQACFg1FADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAFAAhYNhgAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAGAAhYNxwAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAAcACFg4IADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAAyQQBIEp1bmN0aW9uAADJBAEgSnVuY3Rpb24AAMkEASBKdW5jdGlvbgAIAADJBBAMeGNtCHYyIGp1bmN0aW9uIEp1bmN0aW9uAAEkJFBhcmFjaGFpbgQAVQEBDHUzMgAAACxBY2NvdW50SWQzMggBHG5ldHdvcmvNBAEkTmV0d29ya0lkAAEIaWQEASBbdTg7IDMyXQABADhBY2NvdW50SW5kZXg2NAgBHG5ldHdvcmvNBAEkTmV0d29ya0lkAAEUaW5kZXgsAQx1NjQAAgAwQWNjb3VudEtleTIwCAEcbmV0d29ya80EASROZXR3b3JrSWQAAQxrZXlFAQEgW3U4OyAyMF0AAwA4UGFsbGV0SW5zdGFuY2UEAAgBCHU4AAQAMEdlbmVyYWxJbmRleAQALQEBEHUxMjgABQAoR2VuZXJhbEtleQQA0QQBgFdlYWtCb3VuZGVkVmVjPHU4LCBDb25zdFUzMjwzMj4+AAYAJE9ubHlDaGlsZAAHACRQbHVyYWxpdHkIAQhpZNUEARhCb2R5SWQAARBwYXJ02QQBIEJvZHlQYXJ0AAgAAM0EDAx4Y20IdjIkTmV0d29ya0lkAAEQDEFueQAAABROYW1lZAQA0QQBgFdlYWtCb3VuZGVkVmVjPHU4LCBDb25zdFUzMjwzMj4+AAEAIFBvbGthZG90AAIAGEt1c2FtYQADAADRBAxMYm91bmRlZF9jb2xsZWN0aW9uc0B3ZWFrX2JvdW5kZWRfdmVjOFdlYWtCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AANUEDAx4Y20IdjIYQm9keUlkAAEoEFVuaXQAAAAUTmFtZWQEANEEAYBXZWFrQm91bmRlZFZlYzx1OCwgQ29uc3RVMzI8MzI+PgABABRJbmRleAQAVQEBDHUzMgACACRFeGVjdXRpdmUAAwAkVGVjaG5pY2FsAAQALExlZ2lzbGF0aXZlAAUAIEp1ZGljaWFsAAYAHERlZmVuc2UABwA4QWRtaW5pc3RyYXRpb24ACAAgVHJlYXN1cnkACQAA2QQMDHhjbQh2MiBCb2R5UGFydAABFBRWb2ljZQAAABxNZW1iZXJzBAEUY291bnRVAQEMdTMyAAEAIEZyYWN0aW9uCAEMbm9tVQEBDHUzMgABFGRlbm9tVQEBDHUzMgACAERBdExlYXN0UHJvcG9ydGlvbggBDG5vbVUBAQx1MzIAARRkZW5vbVUBAQx1MzIAAwBITW9yZVRoYW5Qcm9wb3J0aW9uCAEMbm9tVQEBDHUzMgABFGRlbm9tVQEBDHUzMgAEAADdBAgMeGNtMFZlcnNpb25lZFhjbQQsUnVudGltZUNhbGwAAQwIVjIEAOEEAVB2Mjo6WGNtPFJ1bnRpbWVDYWxsPgACAAhWMwQALQUBUHYzOjpYY208UnVudGltZUNhbGw+AAMACFY0BACVBQFQdjQ6OlhjbTxSdW50aW1lQ2FsbD4ABAAA4QQMDHhjbQh2MgxYY20ELFJ1bnRpbWVDYWxsAAAEAOUEAXRWZWM8SW5zdHJ1Y3Rpb248UnVudGltZUNhbGw+PgAA5QQAAALpBADpBAwMeGNtCHYyLEluc3RydWN0aW9uBCxSdW50aW1lQ2FsbAABcDRXaXRoZHJhd0Fzc2V0BADtBAEsTXVsdGlBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBADtBAEsTXVsdGlBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQA7QQBLE11bHRpQXNzZXRzAAIANFF1ZXJ5UmVzcG9uc2UMASBxdWVyeV9pZCwBHFF1ZXJ5SWQAASByZXNwb25zZQUFASBSZXNwb25zZQABKG1heF93ZWlnaHQsAQx1NjQAAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c+0EASxNdWx0aUFzc2V0cwABLGJlbmVmaWNpYXJ5wQQBNE11bHRpTG9jYXRpb24ABABQVHJhbnNmZXJSZXNlcnZlQXNzZXQMARhhc3NldHPtBAEsTXVsdGlBc3NldHMAARBkZXN0wQQBNE11bHRpTG9jYXRpb24AAQx4Y23hBAEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl90eXBlFQUBKE9yaWdpbktpbmQAAVhyZXF1aXJlX3dlaWdodF9hdF9tb3N0LAEMdTY0AAEQY2FsbBkFAWhEb3VibGVFbmNvZGVkPFJ1bnRpbWVDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyVQEBDHUzMgABQG1heF9tZXNzYWdlX3NpemVVAQEMdTMyAAEwbWF4X2NhcGFjaXR5VQEBDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50VQEBDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JVAQEMdTMyAAEYc2VuZGVyVQEBDHUzMgABJHJlY2lwaWVudFUBAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQAxQQBVEludGVyaW9yTXVsdGlMb2NhdGlvbgALACxSZXBvcnRFcnJvcgwBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABEGRlc3TBBAE0TXVsdGlMb2NhdGlvbgABTG1heF9yZXNwb25zZV93ZWlnaHQsAQx1NjQADAAwRGVwb3NpdEFzc2V0DAEYYXNzZXRzHQUBQE11bHRpQXNzZXRGaWx0ZXIAAShtYXhfYXNzZXRzVQEBDHUzMgABLGJlbmVmaWNpYXJ5wQQBNE11bHRpTG9jYXRpb24ADQBMRGVwb3NpdFJlc2VydmVBc3NldBABGGFzc2V0cx0FAUBNdWx0aUFzc2V0RmlsdGVyAAEobWF4X2Fzc2V0c1UBAQx1MzIAARBkZXN0wQQBNE11bHRpTG9jYXRpb24AAQx4Y23hBAEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0CAEQZ2l2ZR0FAUBNdWx0aUFzc2V0RmlsdGVyAAEccmVjZWl2Ze0EASxNdWx0aUFzc2V0cwAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0cx0FAUBNdWx0aUFzc2V0RmlsdGVyAAEccmVzZXJ2ZcEEATRNdWx0aUxvY2F0aW9uAAEMeGNt4QQBHFhjbTwoKT4AEABASW5pdGlhdGVUZWxlcG9ydAwBGGFzc2V0cx0FAUBNdWx0aUFzc2V0RmlsdGVyAAEQZGVzdMEEATRNdWx0aUxvY2F0aW9uAAEMeGNt4QQBHFhjbTwoKT4AEQAwUXVlcnlIb2xkaW5nEAEgcXVlcnlfaWQsARxRdWVyeUlkAAEQZGVzdMEEATRNdWx0aUxvY2F0aW9uAAEYYXNzZXRzHQUBQE11bHRpQXNzZXRGaWx0ZXIAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0LAEMdTY0ABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXP1BAEoTXVsdGlBc3NldAABMHdlaWdodF9saW1pdCkFASxXZWlnaHRMaW1pdAATADRSZWZ1bmRTdXJwbHVzABQAPFNldEVycm9ySGFuZGxlcgQA4QQBQFhjbTxSdW50aW1lQ2FsbD4AFQAsU2V0QXBwZW5kaXgEAOEEAUBYY208UnVudGltZUNhbGw+ABYAKENsZWFyRXJyb3IAFwAoQ2xhaW1Bc3NldAgBGGFzc2V0c+0EASxNdWx0aUFzc2V0cwABGHRpY2tldMEEATRNdWx0aUxvY2F0aW9uABgAEFRyYXAEACwBDHU2NAAZAEBTdWJzY3JpYmVWZXJzaW9uCAEgcXVlcnlfaWQsARxRdWVyeUlkAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCwBDHU2NAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAA7QQQDHhjbQh2MihtdWx0aWFzc2V0LE11bHRpQXNzZXRzAAAEAPEEATxWZWM8TXVsdGlBc3NldD4AAPEEAAAC9QQA9QQQDHhjbQh2MihtdWx0aWFzc2V0KE11bHRpQXNzZXQAAAgBCGlk+QQBHEFzc2V0SWQAAQxmdW79BAEsRnVuZ2liaWxpdHkAAPkEEAx4Y20IdjIobXVsdGlhc3NldBxBc3NldElkAAEIIENvbmNyZXRlBADBBAE0TXVsdGlMb2NhdGlvbgAAACBBYnN0cmFjdAQAOAEcVmVjPHU4PgABAAD9BBAMeGNtCHYyKG11bHRpYXNzZXQsRnVuZ2liaWxpdHkAAQggRnVuZ2libGUEAC0BARB1MTI4AAAALE5vbkZ1bmdpYmxlBAABBQE0QXNzZXRJbnN0YW5jZQABAAABBRAMeGNtCHYyKG11bHRpYXNzZXQ0QXNzZXRJbnN0YW5jZQABHCRVbmRlZmluZWQAAAAUSW5kZXgEAC0BARB1MTI4AAEAGEFycmF5NAQASAEcW3U4OyA0XQACABhBcnJheTgEAP0BARxbdTg7IDhdAAMAHEFycmF5MTYEAB0CASBbdTg7IDE2XQAEABxBcnJheTMyBAAEASBbdTg7IDMyXQAFABBCbG9iBAA4ARxWZWM8dTg+AAYAAAUFDAx4Y20IdjIgUmVzcG9uc2UAARAQTnVsbAAAABhBc3NldHMEAO0EASxNdWx0aUFzc2V0cwABADxFeGVjdXRpb25SZXN1bHQEAAkFAVBPcHRpb248KHUzMiwgRXJyb3IpPgACABxWZXJzaW9uBAAQAThzdXBlcjo6VmVyc2lvbgADAAAJBQQYT3B0aW9uBARUAQ0FAQgQTm9uZQAAABBTb21lBAANBQAAAQAADQUAAAQIEBEFABEFEAx4Y20IdjIYdHJhaXRzFEVycm9yAAFoIE92ZXJmbG93AAAANFVuaW1wbGVtZW50ZWQAAQBgVW50cnVzdGVkUmVzZXJ2ZUxvY2F0aW9uAAIAZFVudHJ1c3RlZFRlbGVwb3J0TG9jYXRpb24AAwBETXVsdGlMb2NhdGlvbkZ1bGwABABoTXVsdGlMb2NhdGlvbk5vdEludmVydGlibGUABQAkQmFkT3JpZ2luAAYAPEludmFsaWRMb2NhdGlvbgAHADRBc3NldE5vdEZvdW5kAAgAVEZhaWxlZFRvVHJhbnNhY3RBc3NldAAJADxOb3RXaXRoZHJhd2FibGUACgBITG9jYXRpb25DYW5ub3RIb2xkAAsAVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQAMAFhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAA0AJFRyYW5zcG9ydAAOAChVbnJvdXRhYmxlAA8AMFVua25vd25DbGFpbQAQADhGYWlsZWRUb0RlY29kZQARAEBNYXhXZWlnaHRJbnZhbGlkABIAOE5vdEhvbGRpbmdGZWVzABMAMFRvb0V4cGVuc2l2ZQAUABBUcmFwBAAwAQx1NjQAFQBMVW5oYW5kbGVkWGNtVmVyc2lvbgAWAEhXZWlnaHRMaW1pdFJlYWNoZWQEADABGFdlaWdodAAXABxCYXJyaWVyABgATFdlaWdodE5vdENvbXB1dGFibGUAGQAAFQUMDHhjbQh2MihPcmlnaW5LaW5kAAEQGE5hdGl2ZQAAAEBTb3ZlcmVpZ25BY2NvdW50AAEAJFN1cGVydXNlcgACAAxYY20AAwAAGQUMDHhjbThkb3VibGVfZW5jb2RlZDREb3VibGVFbmNvZGVkBARUAAAEARxlbmNvZGVkOAEcVmVjPHU4PgAAHQUQDHhjbQh2MihtdWx0aWFzc2V0QE11bHRpQXNzZXRGaWx0ZXIAAQggRGVmaW5pdGUEAO0EASxNdWx0aUFzc2V0cwAAABBXaWxkBAAhBQE4V2lsZE11bHRpQXNzZXQAAQAAIQUQDHhjbQh2MihtdWx0aWFzc2V0OFdpbGRNdWx0aUFzc2V0AAEIDEFsbAAAABRBbGxPZggBCGlk+QQBHEFzc2V0SWQAAQxmdW4lBQE8V2lsZEZ1bmdpYmlsaXR5AAEAACUFEAx4Y20IdjIobXVsdGlhc3NldDxXaWxkRnVuZ2liaWxpdHkAAQggRnVuZ2libGUAAAAsTm9uRnVuZ2libGUAAQAAKQUMDHhjbQh2MixXZWlnaHRMaW1pdAABCCRVbmxpbWl0ZWQAAAAcTGltaXRlZAQALAEMdTY0AAEAAC0FDAx4Y20IdjMMWGNtBBBDYWxsAAAEADEFAVhWZWM8SW5zdHJ1Y3Rpb248Q2FsbD4+AAAxBQAAAjUFADUFDAx4Y20IdjMsSW5zdHJ1Y3Rpb24EEENhbGwAAcA0V2l0aGRyYXdBc3NldAQAOQUBLE11bHRpQXNzZXRzAAAAVFJlc2VydmVBc3NldERlcG9zaXRlZAQAOQUBLE11bHRpQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEADkFASxNdWx0aUFzc2V0cwACADRRdWVyeVJlc3BvbnNlEAEgcXVlcnlfaWQsARxRdWVyeUlkAAEgcmVzcG9uc2VRBQEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0KAEYV2VpZ2h0AAEccXVlcmllcnkFAVRPcHRpb248TXVsdGlMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0czkFASxNdWx0aUFzc2V0cwABLGJlbmVmaWNpYXJ59QIBNE11bHRpTG9jYXRpb24ABABQVHJhbnNmZXJSZXNlcnZlQXNzZXQMARhhc3NldHM5BQEsTXVsdGlBc3NldHMAARBkZXN09QIBNE11bHRpTG9jYXRpb24AAQx4Y20tBQEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl9raW5kfQUBKE9yaWdpbktpbmQAAVhyZXF1aXJlX3dlaWdodF9hdF9tb3N0KAEYV2VpZ2h0AAEQY2FsbBkFAUxEb3VibGVFbmNvZGVkPENhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJVAQEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZVUBAQx1MzIAATBtYXhfY2FwYWNpdHlVAQEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRVAQEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvclUBAQx1MzIAARhzZW5kZXJVAQEMdTMyAAEkcmVjaXBpZW50VQEBDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBAD5AgFUSW50ZXJpb3JNdWx0aUxvY2F0aW9uAAsALFJlcG9ydEVycm9yBACBBQFEUXVlcnlSZXNwb25zZUluZm8ADAAwRGVwb3NpdEFzc2V0CAEYYXNzZXRzhQUBQE11bHRpQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyefUCATRNdWx0aUxvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQMARhhc3NldHOFBQFATXVsdGlBc3NldEZpbHRlcgABEGRlc3T1AgE0TXVsdGlMb2NhdGlvbgABDHhjbS0FARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQMARBnaXZlhQUBQE11bHRpQXNzZXRGaWx0ZXIAARB3YW50OQUBLE11bHRpQXNzZXRzAAEcbWF4aW1hbCABEGJvb2wADwBcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcMARhhc3NldHOFBQFATXVsdGlBc3NldEZpbHRlcgABHHJlc2VydmX1AgE0TXVsdGlMb2NhdGlvbgABDHhjbS0FARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHOFBQFATXVsdGlBc3NldEZpbHRlcgABEGRlc3T1AgE0TXVsdGlMb2NhdGlvbgABDHhjbS0FARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZvgQUBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRzhQUBQE11bHRpQXNzZXRGaWx0ZXIAEgAwQnV5RXhlY3V0aW9uCAEQZmVlc0EFAShNdWx0aUFzc2V0AAEwd2VpZ2h0X2xpbWl0kQUBLFdlaWdodExpbWl0ABMANFJlZnVuZFN1cnBsdXMAFAA8U2V0RXJyb3JIYW5kbGVyBAAtBQEkWGNtPENhbGw+ABUALFNldEFwcGVuZGl4BAAtBQEkWGNtPENhbGw+ABYAKENsZWFyRXJyb3IAFwAoQ2xhaW1Bc3NldAgBGGFzc2V0czkFASxNdWx0aUFzc2V0cwABGHRpY2tldPUCATRNdWx0aUxvY2F0aW9uABgAEFRyYXAEACwBDHU2NAAZAEBTdWJzY3JpYmVWZXJzaW9uCAEgcXVlcnlfaWQsARxRdWVyeUlkAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCgBGFdlaWdodAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAkQnVybkFzc2V0BAA5BQEsTXVsdGlBc3NldHMAHAAsRXhwZWN0QXNzZXQEADkFASxNdWx0aUFzc2V0cwAdADBFeHBlY3RPcmlnaW4EAHkFAVRPcHRpb248TXVsdGlMb2NhdGlvbj4AHgAsRXhwZWN0RXJyb3IEAFUFAVBPcHRpb248KHUzMiwgRXJyb3IpPgAfAFBFeHBlY3RUcmFuc2FjdFN0YXR1cwQAcQUBOE1heWJlRXJyb3JDb2RlACAALFF1ZXJ5UGFsbGV0CAEsbW9kdWxlX25hbWU4ARxWZWM8dTg+AAE0cmVzcG9uc2VfaW5mb4EFAURRdWVyeVJlc3BvbnNlSW5mbwAhADBFeHBlY3RQYWxsZXQUARRpbmRleFUBAQx1MzIAARBuYW1lOAEcVmVjPHU4PgABLG1vZHVsZV9uYW1lOAEcVmVjPHU4PgABLGNyYXRlX21ham9yVQEBDHUzMgABPG1pbl9jcmF0ZV9taW5vclUBAQx1MzIAIgBQUmVwb3J0VHJhbnNhY3RTdGF0dXMEAIEFAURRdWVyeVJlc3BvbnNlSW5mbwAjAExDbGVhclRyYW5zYWN0U3RhdHVzACQAPFVuaXZlcnNhbE9yaWdpbgQA/QIBIEp1bmN0aW9uACUANEV4cG9ydE1lc3NhZ2UMARxuZXR3b3JrBQMBJE5ldHdvcmtJZAABLGRlc3RpbmF0aW9u+QIBVEludGVyaW9yTXVsdGlMb2NhdGlvbgABDHhjbS0FARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0QQUBKE11bHRpQXNzZXQAASB1bmxvY2tlcvUCATRNdWx0aUxvY2F0aW9uACcALFVubG9ja0Fzc2V0CAEUYXNzZXRBBQEoTXVsdGlBc3NldAABGHRhcmdldPUCATRNdWx0aUxvY2F0aW9uACgAOE5vdGVVbmxvY2thYmxlCAEUYXNzZXRBBQEoTXVsdGlBc3NldAABFG93bmVy9QIBNE11bHRpTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0QQUBKE11bHRpQXNzZXQAARhsb2NrZXL1AgE0TXVsdGlMb2NhdGlvbgAqACxTZXRGZWVzTW9kZQQBMGppdF93aXRoZHJhdyABEGJvb2wAKwAgU2V0VG9waWMEAAQBIFt1ODsgMzJdACwAKENsZWFyVG9waWMALQAsQWxpYXNPcmlnaW4EAPUCATRNdWx0aUxvY2F0aW9uAC4APFVucGFpZEV4ZWN1dGlvbggBMHdlaWdodF9saW1pdJEFASxXZWlnaHRMaW1pdAABMGNoZWNrX29yaWdpbnkFAVRPcHRpb248TXVsdGlMb2NhdGlvbj4ALwAAOQUQDHhjbQh2MyhtdWx0aWFzc2V0LE11bHRpQXNzZXRzAAAEAD0FATxWZWM8TXVsdGlBc3NldD4AAD0FAAACQQUAQQUQDHhjbQh2MyhtdWx0aWFzc2V0KE11bHRpQXNzZXQAAAgBCGlkRQUBHEFzc2V0SWQAAQxmdW5JBQEsRnVuZ2liaWxpdHkAAEUFEAx4Y20IdjMobXVsdGlhc3NldBxBc3NldElkAAEIIENvbmNyZXRlBAD1AgE0TXVsdGlMb2NhdGlvbgAAACBBYnN0cmFjdAQABAEgW3U4OyAzMl0AAQAASQUQDHhjbQh2MyhtdWx0aWFzc2V0LEZ1bmdpYmlsaXR5AAEIIEZ1bmdpYmxlBAAtAQEQdTEyOAAAACxOb25GdW5naWJsZQQATQUBNEFzc2V0SW5zdGFuY2UAAQAATQUQDHhjbQh2MyhtdWx0aWFzc2V0NEFzc2V0SW5zdGFuY2UAARgkVW5kZWZpbmVkAAAAFEluZGV4BAAtAQEQdTEyOAABABhBcnJheTQEAEgBHFt1ODsgNF0AAgAYQXJyYXk4BAD9AQEcW3U4OyA4XQADABxBcnJheTE2BAAdAgEgW3U4OyAxNl0ABAAcQXJyYXkzMgQABAEgW3U4OyAzMl0ABQAAUQUMDHhjbQh2MyBSZXNwb25zZQABGBBOdWxsAAAAGEFzc2V0cwQAOQUBLE11bHRpQXNzZXRzAAEAPEV4ZWN1dGlvblJlc3VsdAQAVQUBUE9wdGlvbjwodTMyLCBFcnJvcik+AAIAHFZlcnNpb24EABABOHN1cGVyOjpWZXJzaW9uAAMALFBhbGxldHNJbmZvBABhBQGYQm91bmRlZFZlYzxQYWxsZXRJbmZvLCBNYXhQYWxsZXRzSW5mbz4ABAA4RGlzcGF0Y2hSZXN1bHQEAHEFAThNYXliZUVycm9yQ29kZQAFAABVBQQYT3B0aW9uBARUAVkFAQgQTm9uZQAAABBTb21lBABZBQAAAQAAWQUAAAQIEF0FAF0FEAx4Y20IdjMYdHJhaXRzFEVycm9yAAGgIE92ZXJmbG93AAAANFVuaW1wbGVtZW50ZWQAAQBgVW50cnVzdGVkUmVzZXJ2ZUxvY2F0aW9uAAIAZFVudHJ1c3RlZFRlbGVwb3J0TG9jYXRpb24AAwAwTG9jYXRpb25GdWxsAAQAVExvY2F0aW9uTm90SW52ZXJ0aWJsZQAFACRCYWRPcmlnaW4ABgA8SW52YWxpZExvY2F0aW9uAAcANEFzc2V0Tm90Rm91bmQACABURmFpbGVkVG9UcmFuc2FjdEFzc2V0AAkAPE5vdFdpdGhkcmF3YWJsZQAKAEhMb2NhdGlvbkNhbm5vdEhvbGQACwBURXhjZWVkc01heE1lc3NhZ2VTaXplAAwAWERlc3RpbmF0aW9uVW5zdXBwb3J0ZWQADQAkVHJhbnNwb3J0AA4AKFVucm91dGFibGUADwAwVW5rbm93bkNsYWltABAAOEZhaWxlZFRvRGVjb2RlABEAQE1heFdlaWdodEludmFsaWQAEgA4Tm90SG9sZGluZ0ZlZXMAEwAwVG9vRXhwZW5zaXZlABQAEFRyYXAEADABDHU2NAAVAEBFeHBlY3RhdGlvbkZhbHNlABYAOFBhbGxldE5vdEZvdW5kABcAME5hbWVNaXNtYXRjaAAYAExWZXJzaW9uSW5jb21wYXRpYmxlABkAUEhvbGRpbmdXb3VsZE92ZXJmbG93ABoALEV4cG9ydEVycm9yABsAOFJlYW5jaG9yRmFpbGVkABwAGE5vRGVhbAAdAChGZWVzTm90TWV0AB4AJExvY2tFcnJvcgAfADBOb1Blcm1pc3Npb24AIAAoVW5hbmNob3JlZAAhADhOb3REZXBvc2l0YWJsZQAiAExVbmhhbmRsZWRYY21WZXJzaW9uACMASFdlaWdodExpbWl0UmVhY2hlZAQAKAEYV2VpZ2h0ACQAHEJhcnJpZXIAJQBMV2VpZ2h0Tm90Q29tcHV0YWJsZQAmAERFeGNlZWRzU3RhY2tMaW1pdAAnAABhBQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAWUFBFMAAAQAbQUBGFZlYzxUPgAAZQUMDHhjbQh2MyhQYWxsZXRJbmZvAAAYARRpbmRleFUBAQx1MzIAARBuYW1laQUBgEJvdW5kZWRWZWM8dTgsIE1heFBhbGxldE5hbWVMZW4+AAEsbW9kdWxlX25hbWVpBQGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AARRtYWpvclUBAQx1MzIAARRtaW5vclUBAQx1MzIAARRwYXRjaFUBAQx1MzIAAGkFDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAbQUAAAJlBQBxBQwMeGNtCHYzOE1heWJlRXJyb3JDb2RlAAEMHFN1Y2Nlc3MAAAAURXJyb3IEAHUFAYxCb3VuZGVkVmVjPHU4LCBNYXhEaXNwYXRjaEVycm9yTGVuPgABADhUcnVuY2F0ZWRFcnJvcgQAdQUBjEJvdW5kZWRWZWM8dTgsIE1heERpc3BhdGNoRXJyb3JMZW4+AAIAAHUFDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAeQUEGE9wdGlvbgQEVAH1AgEIEE5vbmUAAAAQU29tZQQA9QIAAAEAAH0FDAx4Y20IdjMoT3JpZ2luS2luZAABEBhOYXRpdmUAAABAU292ZXJlaWduQWNjb3VudAABACRTdXBlcnVzZXIAAgAMWGNtAAMAAIEFDAx4Y20IdjNEUXVlcnlSZXNwb25zZUluZm8AAAwBLGRlc3RpbmF0aW9u9QIBNE11bHRpTG9jYXRpb24AASBxdWVyeV9pZCwBHFF1ZXJ5SWQAAShtYXhfd2VpZ2h0KAEYV2VpZ2h0AACFBRAMeGNtCHYzKG11bHRpYXNzZXRATXVsdGlBc3NldEZpbHRlcgABCCBEZWZpbml0ZQQAOQUBLE11bHRpQXNzZXRzAAAAEFdpbGQEAIkFAThXaWxkTXVsdGlBc3NldAABAACJBRAMeGNtCHYzKG11bHRpYXNzZXQ4V2lsZE11bHRpQXNzZXQAARAMQWxsAAAAFEFsbE9mCAEIaWRFBQEcQXNzZXRJZAABDGZ1bo0FATxXaWxkRnVuZ2liaWxpdHkAAQAoQWxsQ291bnRlZAQAVQEBDHUzMgACADBBbGxPZkNvdW50ZWQMAQhpZEUFARxBc3NldElkAAEMZnVujQUBPFdpbGRGdW5naWJpbGl0eQABFGNvdW50VQEBDHUzMgADAACNBRAMeGNtCHYzKG11bHRpYXNzZXQ8V2lsZEZ1bmdpYmlsaXR5AAEIIEZ1bmdpYmxlAAAALE5vbkZ1bmdpYmxlAAEAAJEFDAx4Y20IdjMsV2VpZ2h0TGltaXQAAQgkVW5saW1pdGVkAAAAHExpbWl0ZWQEACgBGFdlaWdodAABAACVBQwsc3RhZ2luZ194Y20IdjQMWGNtBBBDYWxsAAAEAJkFAVhWZWM8SW5zdHJ1Y3Rpb248Q2FsbD4+AACZBQAAAp0FAJ0FDCxzdGFnaW5nX3hjbQh2NCxJbnN0cnVjdGlvbgQQQ2FsbAABwDRXaXRoZHJhd0Fzc2V0BAChBQEYQXNzZXRzAAAAVFJlc2VydmVBc3NldERlcG9zaXRlZAQAoQUBGEFzc2V0cwABAFhSZWNlaXZlVGVsZXBvcnRlZEFzc2V0BAChBQEYQXNzZXRzAAIANFF1ZXJ5UmVzcG9uc2UQASBxdWVyeV9pZCwBHFF1ZXJ5SWQAASByZXNwb25zZbkFASBSZXNwb25zZQABKG1heF93ZWlnaHQoARhXZWlnaHQAARxxdWVyaWVyzQUBQE9wdGlvbjxMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c6EFARhBc3NldHMAASxiZW5lZmljaWFyeX0BASBMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c6EFARhBc3NldHMAARBkZXN0fQEBIExvY2F0aW9uAAEMeGNtlQUBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZH0FAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdCgBGFdlaWdodAABEGNhbGwZBQFMRG91YmxlRW5jb2RlZDxDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyVQEBDHUzMgABQG1heF9tZXNzYWdlX3NpemVVAQEMdTMyAAEwbWF4X2NhcGFjaXR5VQEBDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50VQEBDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JVAQEMdTMyAAEYc2VuZGVyVQEBDHUzMgABJHJlY2lwaWVudFUBAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQAgQEBQEludGVyaW9yTG9jYXRpb24ACwAsUmVwb3J0RXJyb3IEANEFAURRdWVyeVJlc3BvbnNlSW5mbwAMADBEZXBvc2l0QXNzZXQIARhhc3NldHPVBQEsQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyeX0BASBMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0DAEYYXNzZXRz1QUBLEFzc2V0RmlsdGVyAAEQZGVzdH0BASBMb2NhdGlvbgABDHhjbZUFARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQMARBnaXZl1QUBLEFzc2V0RmlsdGVyAAEQd2FudKEFARhBc3NldHMAARxtYXhpbWFsIAEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0c9UFASxBc3NldEZpbHRlcgABHHJlc2VydmV9AQEgTG9jYXRpb24AAQx4Y22VBQEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRz1QUBLEFzc2V0RmlsdGVyAAEQZGVzdH0BASBMb2NhdGlvbgABDHhjbZUFARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZv0QUBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRz1QUBLEFzc2V0RmlsdGVyABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXOpBQEUQXNzZXQAATB3ZWlnaHRfbGltaXSRBQEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEAJUFASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEAJUFASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRzoQUBGEFzc2V0cwABGHRpY2tldH0BASBMb2NhdGlvbgAYABBUcmFwBAAsAQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHQoARhXZWlnaHQAGgBIVW5zdWJzY3JpYmVWZXJzaW9uABsAJEJ1cm5Bc3NldAQAoQUBGEFzc2V0cwAcACxFeHBlY3RBc3NldAQAoQUBGEFzc2V0cwAdADBFeHBlY3RPcmlnaW4EAM0FAUBPcHRpb248TG9jYXRpb24+AB4ALEV4cGVjdEVycm9yBABVBQFQT3B0aW9uPCh1MzIsIEVycm9yKT4AHwBQRXhwZWN0VHJhbnNhY3RTdGF0dXMEAHEFAThNYXliZUVycm9yQ29kZQAgACxRdWVyeVBhbGxldAgBLG1vZHVsZV9uYW1lOAEcVmVjPHU4PgABNHJlc3BvbnNlX2luZm/RBQFEUXVlcnlSZXNwb25zZUluZm8AIQAwRXhwZWN0UGFsbGV0FAEUaW5kZXhVAQEMdTMyAAEQbmFtZTgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZTgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvclUBAQx1MzIAATxtaW5fY3JhdGVfbWlub3JVAQEMdTMyACIAUFJlcG9ydFRyYW5zYWN0U3RhdHVzBADRBQFEUXVlcnlSZXNwb25zZUluZm8AIwBMQ2xlYXJUcmFuc2FjdFN0YXR1cwAkADxVbml2ZXJzYWxPcmlnaW4EAIkBASBKdW5jdGlvbgAlADRFeHBvcnRNZXNzYWdlDAEcbmV0d29ya5EBASROZXR3b3JrSWQAASxkZXN0aW5hdGlvboEBAUBJbnRlcmlvckxvY2F0aW9uAAEMeGNtlQUBHFhjbTwoKT4AJgAkTG9ja0Fzc2V0CAEUYXNzZXSpBQEUQXNzZXQAASB1bmxvY2tlcn0BASBMb2NhdGlvbgAnACxVbmxvY2tBc3NldAgBFGFzc2V0qQUBFEFzc2V0AAEYdGFyZ2V0fQEBIExvY2F0aW9uACgAOE5vdGVVbmxvY2thYmxlCAEUYXNzZXSpBQEUQXNzZXQAARRvd25lcn0BASBMb2NhdGlvbgApADRSZXF1ZXN0VW5sb2NrCAEUYXNzZXSpBQEUQXNzZXQAARhsb2NrZXJ9AQEgTG9jYXRpb24AKgAsU2V0RmVlc01vZGUEATBqaXRfd2l0aGRyYXcgARBib29sACsAIFNldFRvcGljBAAEASBbdTg7IDMyXQAsAChDbGVhclRvcGljAC0ALEFsaWFzT3JpZ2luBAB9AQEgTG9jYXRpb24ALgA8VW5wYWlkRXhlY3V0aW9uCAEwd2VpZ2h0X2xpbWl0kQUBLFdlaWdodExpbWl0AAEwY2hlY2tfb3JpZ2luzQUBQE9wdGlvbjxMb2NhdGlvbj4ALwAAoQUQLHN0YWdpbmdfeGNtCHY0FGFzc2V0GEFzc2V0cwAABAClBQEoVmVjPEFzc2V0PgAApQUAAAKpBQCpBRAsc3RhZ2luZ194Y20IdjQUYXNzZXQUQXNzZXQAAAgBCGlkrQUBHEFzc2V0SWQAAQxmdW6xBQEsRnVuZ2liaWxpdHkAAK0FECxzdGFnaW5nX3hjbQh2NBRhc3NldBxBc3NldElkAAAEAH0BASBMb2NhdGlvbgAAsQUQLHN0YWdpbmdfeGNtCHY0FGFzc2V0LEZ1bmdpYmlsaXR5AAEIIEZ1bmdpYmxlBAAtAQEQdTEyOAAAACxOb25GdW5naWJsZQQAtQUBNEFzc2V0SW5zdGFuY2UAAQAAtQUQLHN0YWdpbmdfeGNtCHY0FGFzc2V0NEFzc2V0SW5zdGFuY2UAARgkVW5kZWZpbmVkAAAAFEluZGV4BAAtAQEQdTEyOAABABhBcnJheTQEAEgBHFt1ODsgNF0AAgAYQXJyYXk4BAD9AQEcW3U4OyA4XQADABxBcnJheTE2BAAdAgEgW3U4OyAxNl0ABAAcQXJyYXkzMgQABAEgW3U4OyAzMl0ABQAAuQUMLHN0YWdpbmdfeGNtCHY0IFJlc3BvbnNlAAEYEE51bGwAAAAYQXNzZXRzBAChBQEYQXNzZXRzAAEAPEV4ZWN1dGlvblJlc3VsdAQAVQUBUE9wdGlvbjwodTMyLCBFcnJvcik+AAIAHFZlcnNpb24EABABOHN1cGVyOjpWZXJzaW9uAAMALFBhbGxldHNJbmZvBAC9BQGYQm91bmRlZFZlYzxQYWxsZXRJbmZvLCBNYXhQYWxsZXRzSW5mbz4ABAA4RGlzcGF0Y2hSZXN1bHQEAHEFAThNYXliZUVycm9yQ29kZQAFAAC9BQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAcEFBFMAAAQAyQUBGFZlYzxUPgAAwQUMLHN0YWdpbmdfeGNtCHY0KFBhbGxldEluZm8AABgBFGluZGV4VQEBDHUzMgABEG5hbWXFBQGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AASxtb2R1bGVfbmFtZcUFAYBCb3VuZGVkVmVjPHU4LCBNYXhQYWxsZXROYW1lTGVuPgABFG1ham9yVQEBDHUzMgABFG1pbm9yVQEBDHUzMgABFHBhdGNoVQEBDHUzMgAAxQUMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AADJBQAAAsEFAM0FBBhPcHRpb24EBFQBfQEBCBBOb25lAAAAEFNvbWUEAH0BAAABAADRBQwsc3RhZ2luZ194Y20IdjREUXVlcnlSZXNwb25zZUluZm8AAAwBLGRlc3RpbmF0aW9ufQEBIExvY2F0aW9uAAEgcXVlcnlfaWQsARxRdWVyeUlkAAEobWF4X3dlaWdodCgBGFdlaWdodAAA1QUQLHN0YWdpbmdfeGNtCHY0FGFzc2V0LEFzc2V0RmlsdGVyAAEIIERlZmluaXRlBAChBQEYQXNzZXRzAAAAEFdpbGQEANkFASRXaWxkQXNzZXQAAQAA2QUQLHN0YWdpbmdfeGNtCHY0FGFzc2V0JFdpbGRBc3NldAABEAxBbGwAAAAUQWxsT2YIAQhpZK0FARxBc3NldElkAAEMZnVu3QUBPFdpbGRGdW5naWJpbGl0eQABAChBbGxDb3VudGVkBABVAQEMdTMyAAIAMEFsbE9mQ291bnRlZAwBCGlkrQUBHEFzc2V0SWQAAQxmdW7dBQE8V2lsZEZ1bmdpYmlsaXR5AAEUY291bnRVAQEMdTMyAAMAAN0FECxzdGFnaW5nX3hjbQh2NBRhc3NldDxXaWxkRnVuZ2liaWxpdHkAAQggRnVuZ2libGUAAAAsTm9uRnVuZ2libGUAAQAA4QUIDHhjbTxWZXJzaW9uZWRBc3NldHMAAQwIVjIEAO0EATx2Mjo6TXVsdGlBc3NldHMAAQAIVjMEADkFATx2Mzo6TXVsdGlBc3NldHMAAwAIVjQEAKEFASh2NDo6QXNzZXRzAAQAAOUFCAx4Y20wVmVyc2lvbmVkWGNtBCxSdW50aW1lQ2FsbAABDAhWMgQA6QUBUHYyOjpYY208UnVudGltZUNhbGw+AAIACFYzBAD5BQFQdjM6OlhjbTxSdW50aW1lQ2FsbD4AAwAIVjQEAAUGAVB2NDo6WGNtPFJ1bnRpbWVDYWxsPgAEAADpBQwMeGNtCHYyDFhjbQQsUnVudGltZUNhbGwAAAQA7QUBdFZlYzxJbnN0cnVjdGlvbjxSdW50aW1lQ2FsbD4+AADtBQAAAvEFAPEFDAx4Y20IdjIsSW5zdHJ1Y3Rpb24ELFJ1bnRpbWVDYWxsAAFwNFdpdGhkcmF3QXNzZXQEAO0EASxNdWx0aUFzc2V0cwAAAFRSZXNlcnZlQXNzZXREZXBvc2l0ZWQEAO0EASxNdWx0aUFzc2V0cwABAFhSZWNlaXZlVGVsZXBvcnRlZEFzc2V0BADtBAEsTXVsdGlBc3NldHMAAgA0UXVlcnlSZXNwb25zZQwBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABIHJlc3BvbnNlBQUBIFJlc3BvbnNlAAEobWF4X3dlaWdodCwBDHU2NAADADRUcmFuc2ZlckFzc2V0CAEYYXNzZXRz7QQBLE11bHRpQXNzZXRzAAEsYmVuZWZpY2lhcnnBBAE0TXVsdGlMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c+0EASxNdWx0aUFzc2V0cwABEGRlc3TBBAE0TXVsdGlMb2NhdGlvbgABDHhjbeEEARxYY208KCk+AAUAIFRyYW5zYWN0DAEsb3JpZ2luX3R5cGUVBQEoT3JpZ2luS2luZAABWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3QsAQx1NjQAARBjYWxs9QUBaERvdWJsZUVuY29kZWQ8UnVudGltZUNhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJVAQEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZVUBAQx1MzIAATBtYXhfY2FwYWNpdHlVAQEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRVAQEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvclUBAQx1MzIAARhzZW5kZXJVAQEMdTMyAAEkcmVjaXBpZW50VQEBDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBADFBAFUSW50ZXJpb3JNdWx0aUxvY2F0aW9uAAsALFJlcG9ydEVycm9yDAEgcXVlcnlfaWQsARxRdWVyeUlkAAEQZGVzdMEEATRNdWx0aUxvY2F0aW9uAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCwBDHU2NAAMADBEZXBvc2l0QXNzZXQMARhhc3NldHMdBQFATXVsdGlBc3NldEZpbHRlcgABKG1heF9hc3NldHNVAQEMdTMyAAEsYmVuZWZpY2lhcnnBBAE0TXVsdGlMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0EAEYYXNzZXRzHQUBQE11bHRpQXNzZXRGaWx0ZXIAAShtYXhfYXNzZXRzVQEBDHUzMgABEGRlc3TBBAE0TXVsdGlMb2NhdGlvbgABDHhjbeEEARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQIARBnaXZlHQUBQE11bHRpQXNzZXRGaWx0ZXIAARxyZWNlaXZl7QQBLE11bHRpQXNzZXRzAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRzHQUBQE11bHRpQXNzZXRGaWx0ZXIAARxyZXNlcnZlwQQBNE11bHRpTG9jYXRpb24AAQx4Y23hBAEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRzHQUBQE11bHRpQXNzZXRGaWx0ZXIAARBkZXN0wQQBNE11bHRpTG9jYXRpb24AAQx4Y23hBAEcWGNtPCgpPgARADBRdWVyeUhvbGRpbmcQASBxdWVyeV9pZCwBHFF1ZXJ5SWQAARBkZXN0wQQBNE11bHRpTG9jYXRpb24AARhhc3NldHMdBQFATXVsdGlBc3NldEZpbHRlcgABTG1heF9yZXNwb25zZV93ZWlnaHQsAQx1NjQAEgAwQnV5RXhlY3V0aW9uCAEQZmVlc/UEAShNdWx0aUFzc2V0AAEwd2VpZ2h0X2xpbWl0KQUBLFdlaWdodExpbWl0ABMANFJlZnVuZFN1cnBsdXMAFAA8U2V0RXJyb3JIYW5kbGVyBADpBQFAWGNtPFJ1bnRpbWVDYWxsPgAVACxTZXRBcHBlbmRpeAQA6QUBQFhjbTxSdW50aW1lQ2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRz7QQBLE11bHRpQXNzZXRzAAEYdGlja2V0wQQBNE11bHRpTG9jYXRpb24AGAAQVHJhcAQALAEMdTY0ABkAQFN1YnNjcmliZVZlcnNpb24IASBxdWVyeV9pZCwBHFF1ZXJ5SWQAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0LAEMdTY0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbAAD1BQwMeGNtOGRvdWJsZV9lbmNvZGVkNERvdWJsZUVuY29kZWQEBFQAAAQBHGVuY29kZWQ4ARxWZWM8dTg+AAD5BQwMeGNtCHYzDFhjbQQQQ2FsbAAABAD9BQFYVmVjPEluc3RydWN0aW9uPENhbGw+PgAA/QUAAAIBBgABBgwMeGNtCHYzLEluc3RydWN0aW9uBBBDYWxsAAHANFdpdGhkcmF3QXNzZXQEADkFASxNdWx0aUFzc2V0cwAAAFRSZXNlcnZlQXNzZXREZXBvc2l0ZWQEADkFASxNdWx0aUFzc2V0cwABAFhSZWNlaXZlVGVsZXBvcnRlZEFzc2V0BAA5BQEsTXVsdGlBc3NldHMAAgA0UXVlcnlSZXNwb25zZRABIHF1ZXJ5X2lkLAEcUXVlcnlJZAABIHJlc3BvbnNlUQUBIFJlc3BvbnNlAAEobWF4X3dlaWdodCgBGFdlaWdodAABHHF1ZXJpZXJ5BQFUT3B0aW9uPE11bHRpTG9jYXRpb24+AAMANFRyYW5zZmVyQXNzZXQIARhhc3NldHM5BQEsTXVsdGlBc3NldHMAASxiZW5lZmljaWFyefUCATRNdWx0aUxvY2F0aW9uAAQAUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0DAEYYXNzZXRzOQUBLE11bHRpQXNzZXRzAAEQZGVzdPUCATRNdWx0aUxvY2F0aW9uAAEMeGNtLQUBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZH0FAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdCgBGFdlaWdodAABEGNhbGz1BQFMRG91YmxlRW5jb2RlZDxDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyVQEBDHUzMgABQG1heF9tZXNzYWdlX3NpemVVAQEMdTMyAAEwbWF4X2NhcGFjaXR5VQEBDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50VQEBDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JVAQEMdTMyAAEYc2VuZGVyVQEBDHUzMgABJHJlY2lwaWVudFUBAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQA+QIBVEludGVyaW9yTXVsdGlMb2NhdGlvbgALACxSZXBvcnRFcnJvcgQAgQUBRFF1ZXJ5UmVzcG9uc2VJbmZvAAwAMERlcG9zaXRBc3NldAgBGGFzc2V0c4UFAUBNdWx0aUFzc2V0RmlsdGVyAAEsYmVuZWZpY2lhcnn1AgE0TXVsdGlMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0DAEYYXNzZXRzhQUBQE11bHRpQXNzZXRGaWx0ZXIAARBkZXN09QIBNE11bHRpTG9jYXRpb24AAQx4Y20tBQEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0DAEQZ2l2ZYUFAUBNdWx0aUFzc2V0RmlsdGVyAAEQd2FudDkFASxNdWx0aUFzc2V0cwABHG1heGltYWwgARBib29sAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRzhQUBQE11bHRpQXNzZXRGaWx0ZXIAARxyZXNlcnZl9QIBNE11bHRpTG9jYXRpb24AAQx4Y20tBQEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRzhQUBQE11bHRpQXNzZXRGaWx0ZXIAARBkZXN09QIBNE11bHRpTG9jYXRpb24AAQx4Y20tBQEcWGNtPCgpPgARADRSZXBvcnRIb2xkaW5nCAE0cmVzcG9uc2VfaW5mb4EFAURRdWVyeVJlc3BvbnNlSW5mbwABGGFzc2V0c4UFAUBNdWx0aUFzc2V0RmlsdGVyABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXNBBQEoTXVsdGlBc3NldAABMHdlaWdodF9saW1pdJEFASxXZWlnaHRMaW1pdAATADRSZWZ1bmRTdXJwbHVzABQAPFNldEVycm9ySGFuZGxlcgQA+QUBJFhjbTxDYWxsPgAVACxTZXRBcHBlbmRpeAQA+QUBJFhjbTxDYWxsPgAWAChDbGVhckVycm9yABcAKENsYWltQXNzZXQIARhhc3NldHM5BQEsTXVsdGlBc3NldHMAARh0aWNrZXT1AgE0TXVsdGlMb2NhdGlvbgAYABBUcmFwBAAsAQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHQoARhXZWlnaHQAGgBIVW5zdWJzY3JpYmVWZXJzaW9uABsAJEJ1cm5Bc3NldAQAOQUBLE11bHRpQXNzZXRzABwALEV4cGVjdEFzc2V0BAA5BQEsTXVsdGlBc3NldHMAHQAwRXhwZWN0T3JpZ2luBAB5BQFUT3B0aW9uPE11bHRpTG9jYXRpb24+AB4ALEV4cGVjdEVycm9yBABVBQFQT3B0aW9uPCh1MzIsIEVycm9yKT4AHwBQRXhwZWN0VHJhbnNhY3RTdGF0dXMEAHEFAThNYXliZUVycm9yQ29kZQAgACxRdWVyeVBhbGxldAgBLG1vZHVsZV9uYW1lOAEcVmVjPHU4PgABNHJlc3BvbnNlX2luZm+BBQFEUXVlcnlSZXNwb25zZUluZm8AIQAwRXhwZWN0UGFsbGV0FAEUaW5kZXhVAQEMdTMyAAEQbmFtZTgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZTgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvclUBAQx1MzIAATxtaW5fY3JhdGVfbWlub3JVAQEMdTMyACIAUFJlcG9ydFRyYW5zYWN0U3RhdHVzBACBBQFEUXVlcnlSZXNwb25zZUluZm8AIwBMQ2xlYXJUcmFuc2FjdFN0YXR1cwAkADxVbml2ZXJzYWxPcmlnaW4EAP0CASBKdW5jdGlvbgAlADRFeHBvcnRNZXNzYWdlDAEcbmV0d29yawUDASROZXR3b3JrSWQAASxkZXN0aW5hdGlvbvkCAVRJbnRlcmlvck11bHRpTG9jYXRpb24AAQx4Y20tBQEcWGNtPCgpPgAmACRMb2NrQXNzZXQIARRhc3NldEEFAShNdWx0aUFzc2V0AAEgdW5sb2NrZXL1AgE0TXVsdGlMb2NhdGlvbgAnACxVbmxvY2tBc3NldAgBFGFzc2V0QQUBKE11bHRpQXNzZXQAARh0YXJnZXT1AgE0TXVsdGlMb2NhdGlvbgAoADhOb3RlVW5sb2NrYWJsZQgBFGFzc2V0QQUBKE11bHRpQXNzZXQAARRvd25lcvUCATRNdWx0aUxvY2F0aW9uACkANFJlcXVlc3RVbmxvY2sIARRhc3NldEEFAShNdWx0aUFzc2V0AAEYbG9ja2Vy9QIBNE11bHRpTG9jYXRpb24AKgAsU2V0RmVlc01vZGUEATBqaXRfd2l0aGRyYXcgARBib29sACsAIFNldFRvcGljBAAEASBbdTg7IDMyXQAsAChDbGVhclRvcGljAC0ALEFsaWFzT3JpZ2luBAD1AgE0TXVsdGlMb2NhdGlvbgAuADxVbnBhaWRFeGVjdXRpb24IATB3ZWlnaHRfbGltaXSRBQEsV2VpZ2h0TGltaXQAATBjaGVja19vcmlnaW55BQFUT3B0aW9uPE11bHRpTG9jYXRpb24+AC8AAAUGDCxzdGFnaW5nX3hjbQh2NAxYY20EEENhbGwAAAQACQYBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AAAkGAAACDQYADQYMLHN0YWdpbmdfeGNtCHY0LEluc3RydWN0aW9uBBBDYWxsAAHANFdpdGhkcmF3QXNzZXQEAKEFARhBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBAChBQEYQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAKEFARhBc3NldHMAAgA0UXVlcnlSZXNwb25zZRABIHF1ZXJ5X2lkLAEcUXVlcnlJZAABIHJlc3BvbnNluQUBIFJlc3BvbnNlAAEobWF4X3dlaWdodCgBGFdlaWdodAABHHF1ZXJpZXLNBQFAT3B0aW9uPExvY2F0aW9uPgADADRUcmFuc2ZlckFzc2V0CAEYYXNzZXRzoQUBGEFzc2V0cwABLGJlbmVmaWNpYXJ5fQEBIExvY2F0aW9uAAQAUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0DAEYYXNzZXRzoQUBGEFzc2V0cwABEGRlc3R9AQEgTG9jYXRpb24AAQx4Y22VBQEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl9raW5kfQUBKE9yaWdpbktpbmQAAVhyZXF1aXJlX3dlaWdodF9hdF9tb3N0KAEYV2VpZ2h0AAEQY2FsbPUFAUxEb3VibGVFbmNvZGVkPENhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJVAQEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZVUBAQx1MzIAATBtYXhfY2FwYWNpdHlVAQEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRVAQEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvclUBAQx1MzIAARhzZW5kZXJVAQEMdTMyAAEkcmVjaXBpZW50VQEBDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBACBAQFASW50ZXJpb3JMb2NhdGlvbgALACxSZXBvcnRFcnJvcgQA0QUBRFF1ZXJ5UmVzcG9uc2VJbmZvAAwAMERlcG9zaXRBc3NldAgBGGFzc2V0c9UFASxBc3NldEZpbHRlcgABLGJlbmVmaWNpYXJ5fQEBIExvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQMARhhc3NldHPVBQEsQXNzZXRGaWx0ZXIAARBkZXN0fQEBIExvY2F0aW9uAAEMeGNtlQUBHFhjbTwoKT4ADgA0RXhjaGFuZ2VBc3NldAwBEGdpdmXVBQEsQXNzZXRGaWx0ZXIAARB3YW50oQUBGEFzc2V0cwABHG1heGltYWwgARBib29sAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRz1QUBLEFzc2V0RmlsdGVyAAEccmVzZXJ2ZX0BASBMb2NhdGlvbgABDHhjbZUFARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHPVBQEsQXNzZXRGaWx0ZXIAARBkZXN0fQEBIExvY2F0aW9uAAEMeGNtlQUBHFhjbTwoKT4AEQA0UmVwb3J0SG9sZGluZwgBNHJlc3BvbnNlX2luZm/RBQFEUXVlcnlSZXNwb25zZUluZm8AARhhc3NldHPVBQEsQXNzZXRGaWx0ZXIAEgAwQnV5RXhlY3V0aW9uCAEQZmVlc6kFARRBc3NldAABMHdlaWdodF9saW1pdJEFASxXZWlnaHRMaW1pdAATADRSZWZ1bmRTdXJwbHVzABQAPFNldEVycm9ySGFuZGxlcgQABQYBJFhjbTxDYWxsPgAVACxTZXRBcHBlbmRpeAQABQYBJFhjbTxDYWxsPgAWAChDbGVhckVycm9yABcAKENsYWltQXNzZXQIARhhc3NldHOhBQEYQXNzZXRzAAEYdGlja2V0fQEBIExvY2F0aW9uABgAEFRyYXAEACwBDHU2NAAZAEBTdWJzY3JpYmVWZXJzaW9uCAEgcXVlcnlfaWQsARxRdWVyeUlkAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCgBGFdlaWdodAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAkQnVybkFzc2V0BAChBQEYQXNzZXRzABwALEV4cGVjdEFzc2V0BAChBQEYQXNzZXRzAB0AMEV4cGVjdE9yaWdpbgQAzQUBQE9wdGlvbjxMb2NhdGlvbj4AHgAsRXhwZWN0RXJyb3IEAFUFAVBPcHRpb248KHUzMiwgRXJyb3IpPgAfAFBFeHBlY3RUcmFuc2FjdFN0YXR1cwQAcQUBOE1heWJlRXJyb3JDb2RlACAALFF1ZXJ5UGFsbGV0CAEsbW9kdWxlX25hbWU4ARxWZWM8dTg+AAE0cmVzcG9uc2VfaW5mb9EFAURRdWVyeVJlc3BvbnNlSW5mbwAhADBFeHBlY3RQYWxsZXQUARRpbmRleFUBAQx1MzIAARBuYW1lOAEcVmVjPHU4PgABLG1vZHVsZV9uYW1lOAEcVmVjPHU4PgABLGNyYXRlX21ham9yVQEBDHUzMgABPG1pbl9jcmF0ZV9taW5vclUBAQx1MzIAIgBQUmVwb3J0VHJhbnNhY3RTdGF0dXMEANEFAURRdWVyeVJlc3BvbnNlSW5mbwAjAExDbGVhclRyYW5zYWN0U3RhdHVzACQAPFVuaXZlcnNhbE9yaWdpbgQAiQEBIEp1bmN0aW9uACUANEV4cG9ydE1lc3NhZ2UMARxuZXR3b3JrkQEBJE5ldHdvcmtJZAABLGRlc3RpbmF0aW9ugQEBQEludGVyaW9yTG9jYXRpb24AAQx4Y22VBQEcWGNtPCgpPgAmACRMb2NrQXNzZXQIARRhc3NldKkFARRBc3NldAABIHVubG9ja2VyfQEBIExvY2F0aW9uACcALFVubG9ja0Fzc2V0CAEUYXNzZXSpBQEUQXNzZXQAARh0YXJnZXR9AQEgTG9jYXRpb24AKAA4Tm90ZVVubG9ja2FibGUIARRhc3NldKkFARRBc3NldAABFG93bmVyfQEBIExvY2F0aW9uACkANFJlcXVlc3RVbmxvY2sIARRhc3NldKkFARRBc3NldAABGGxvY2tlcn0BASBMb2NhdGlvbgAqACxTZXRGZWVzTW9kZQQBMGppdF93aXRoZHJhdyABEGJvb2wAKwAgU2V0VG9waWMEAAQBIFt1ODsgMzJdACwAKENsZWFyVG9waWMALQAsQWxpYXNPcmlnaW4EAH0BASBMb2NhdGlvbgAuADxVbnBhaWRFeGVjdXRpb24IATB3ZWlnaHRfbGltaXSRBQEsV2VpZ2h0TGltaXQAATBjaGVja19vcmlnaW7NBQFAT3B0aW9uPExvY2F0aW9uPgAvAAARBhBQc3RhZ2luZ194Y21fZXhlY3V0b3IYdHJhaXRzOGFzc2V0X3RyYW5zZmVyMFRyYW5zZmVyVHlwZQABECBUZWxlcG9ydAAAADBMb2NhbFJlc2VydmUAAQBIRGVzdGluYXRpb25SZXNlcnZlAAIANFJlbW90ZVJlc2VydmUEAL0EAURWZXJzaW9uZWRMb2NhdGlvbgADAAAVBggMeGNtQFZlcnNpb25lZEFzc2V0SWQAAQgIVjMEAEUFASx2Mzo6QXNzZXRJZAADAAhWNAQArQUBLHY0OjpBc3NldElkAAQAABkGDEhjdW11bHVzX3BhbGxldF94Y20YcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuHQYMUHBhbGxldF9tZXNzYWdlX3F1ZXVlGHBhbGxldBBDYWxsBARUAAEIJHJlYXBfcGFnZQgBOG1lc3NhZ2Vfb3JpZ2luIQYBSE1lc3NhZ2VPcmlnaW5PZjxUPgABKHBhZ2VfaW5kZXgQASRQYWdlSW5kZXgAAAQ9AVJlbW92ZSBhIHBhZ2Ugd2hpY2ggaGFzIG5vIG1vcmUgbWVzc2FnZXMgcmVtYWluaW5nIHRvIGJlIHByb2Nlc3NlZCBvciBpcyBzdGFsZS5IZXhlY3V0ZV9vdmVyd2VpZ2h0EAE4bWVzc2FnZV9vcmlnaW4hBgFITWVzc2FnZU9yaWdpbk9mPFQ+AAEQcGFnZRABJFBhZ2VJbmRleAABFGluZGV4EAEcVDo6U2l6ZQABMHdlaWdodF9saW1pdCgBGFdlaWdodAABNHhFeGVjdXRlIGFuIG92ZXJ3ZWlnaHQgbWVzc2FnZS4ATQFUZW1wb3JhcnkgcHJvY2Vzc2luZyBlcnJvcnMgd2lsbCBiZSBwcm9wYWdhdGVkIHdoZXJlYXMgcGVybWFuZW50IGVycm9ycyBhcmUgdHJlYXRlZFRhcyBzdWNjZXNzIGNvbmRpdGlvbi4AdC0gYG9yaWdpbmA6IE11c3QgYmUgYFNpZ25lZGAuNQEtIGBtZXNzYWdlX29yaWdpbmA6IFRoZSBvcmlnaW4gZnJvbSB3aGljaCB0aGUgbWVzc2FnZSB0byBiZSBleGVjdXRlZCBhcnJpdmVkLj0BLSBgcGFnZWA6IFRoZSBwYWdlIGluIHRoZSBxdWV1ZSBpbiB3aGljaCB0aGUgbWVzc2FnZSB0byBiZSBleGVjdXRlZCBpcyBzaXR0aW5nLgkBLSBgaW5kZXhgOiBUaGUgaW5kZXggaW50byB0aGUgcXVldWUgb2YgdGhlIG1lc3NhZ2UgdG8gYmUgZXhlY3V0ZWQuWQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgbWF4aW11bSBhbW91bnQgb2Ygd2VpZ2h0IGFsbG93ZWQgdG8gYmUgY29uc3VtZWQgaW4gdGhlIGV4ZWN1dGlvbkQgIG9mIHRoZSBtZXNzYWdlLgD0QmVuY2htYXJrIGNvbXBsZXhpdHkgY29uc2lkZXJhdGlvbnM6IE8oaW5kZXggKyB3ZWlnaHRfbGltaXQpLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4hBghcY3VtdWx1c19wcmltaXRpdmVzX2NvcmVYQWdncmVnYXRlTWVzc2FnZU9yaWdpbgABDBBIZXJlAAAAGFBhcmVudAABABxTaWJsaW5nBAC9AQEYUGFyYUlkAAIAACUGDCBvcm1sX3hjbRhtb2R1bGUQQ2FsbAQEVAABBERzZW5kX2FzX3NvdmVyZWlnbggBEGRlc3S9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABHG1lc3NhZ2XdBAFUQm94PFZlcnNpb25lZFhjbTwoKT4+AAAErFNlbmQgYW4gWENNIG1lc3NhZ2UgYXMgcGFyYWNoYWluIHNvdmVyZWlnbi4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuKQYMMG9ybWxfeHRva2Vucxhtb2R1bGUQQ2FsbAQEVAABGCB0cmFuc2ZlchABLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAARBkZXN0vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AAURkZXN0X3dlaWdodF9saW1pdJEFASxXZWlnaHRMaW1pdAAAMGxUcmFuc2ZlciBuYXRpdmUgY3VycmVuY2llcy4A/GBkZXN0X3dlaWdodF9saW1pdGAgaXMgdGhlIHdlaWdodCBmb3IgWENNIGV4ZWN1dGlvbiBvbiB0aGUgZGVzdAkBY2hhaW4sIGFuZCBpdCB3b3VsZCBiZSBjaGFyZ2VkIGZyb20gdGhlIHRyYW5zZmVycmVkIGFzc2V0cy4gSWYgc2V0BQFiZWxvdyByZXF1aXJlbWVudHMsIHRoZSBleGVjdXRpb24gbWF5IGZhaWwgYW5kIGFzc2V0cyB3b3VsZG4ndCBiZSRyZWNlaXZlZC4AEQFJdCdzIGEgbm8tb3AgaWYgYW55IGVycm9yIG9uIGxvY2FsIFhDTSBleGVjdXRpb24gb3IgbWVzc2FnZSBzZW5kaW5nLvhOb3RlIHNlbmRpbmcgYXNzZXRzIG91dCBwZXIgc2UgZG9lc24ndCBndWFyYW50ZWUgdGhleSB3b3VsZCBiZREBcmVjZWl2ZWQuIFJlY2VpdmluZyBkZXBlbmRzIG9uIGlmIHRoZSBYQ00gbWVzc2FnZSBjb3VsZCBiZSBkZWxpdmVyZWTcYnkgdGhlIG5ldHdvcmssIGFuZCBpZiB0aGUgcmVjZWl2aW5nIGNoYWluIHdvdWxkIGhhbmRsZUxtZXNzYWdlcyBjb3JyZWN0bHkuTHRyYW5zZmVyX211bHRpYXNzZXQMARRhc3NldC0GAUxCb3g8VmVyc2lvbmVkQXNzZXQ+AAEQZGVzdL0EAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAFEZGVzdF93ZWlnaHRfbGltaXSRBQEsV2VpZ2h0TGltaXQAATBEVHJhbnNmZXIgYEFzc2V0YC4A/GBkZXN0X3dlaWdodF9saW1pdGAgaXMgdGhlIHdlaWdodCBmb3IgWENNIGV4ZWN1dGlvbiBvbiB0aGUgZGVzdAkBY2hhaW4sIGFuZCBpdCB3b3VsZCBiZSBjaGFyZ2VkIGZyb20gdGhlIHRyYW5zZmVycmVkIGFzc2V0cy4gSWYgc2V0BQFiZWxvdyByZXF1aXJlbWVudHMsIHRoZSBleGVjdXRpb24gbWF5IGZhaWwgYW5kIGFzc2V0cyB3b3VsZG4ndCBiZSRyZWNlaXZlZC4AEQFJdCdzIGEgbm8tb3AgaWYgYW55IGVycm9yIG9uIGxvY2FsIFhDTSBleGVjdXRpb24gb3IgbWVzc2FnZSBzZW5kaW5nLvhOb3RlIHNlbmRpbmcgYXNzZXRzIG91dCBwZXIgc2UgZG9lc24ndCBndWFyYW50ZWUgdGhleSB3b3VsZCBiZREBcmVjZWl2ZWQuIFJlY2VpdmluZyBkZXBlbmRzIG9uIGlmIHRoZSBYQ00gbWVzc2FnZSBjb3VsZCBiZSBkZWxpdmVyZWTcYnkgdGhlIG5ldHdvcmssIGFuZCBpZiB0aGUgcmVjZWl2aW5nIGNoYWluIHdvdWxkIGhhbmRsZUxtZXNzYWdlcyBjb3JyZWN0bHkuRHRyYW5zZmVyX3dpdGhfZmVlFAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQABDGZlZRgBKFQ6OkJhbGFuY2UAARBkZXN0vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AAURkZXN0X3dlaWdodF9saW1pdJEFASxXZWlnaHRMaW1pdAACVOxUcmFuc2ZlciBuYXRpdmUgY3VycmVuY2llcyBzcGVjaWZ5aW5nIHRoZSBmZWUgYW5kIGFtb3VudCBhcyRzZXBhcmF0ZS4A/GBkZXN0X3dlaWdodF9saW1pdGAgaXMgdGhlIHdlaWdodCBmb3IgWENNIGV4ZWN1dGlvbiBvbiB0aGUgZGVzdAkBY2hhaW4sIGFuZCBpdCB3b3VsZCBiZSBjaGFyZ2VkIGZyb20gdGhlIHRyYW5zZmVycmVkIGFzc2V0cy4gSWYgc2V0BQFiZWxvdyByZXF1aXJlbWVudHMsIHRoZSBleGVjdXRpb24gbWF5IGZhaWwgYW5kIGFzc2V0cyB3b3VsZG4ndCBiZSRyZWNlaXZlZC4ADQFgZmVlYCBpcyB0aGUgYW1vdW50IHRvIGJlIHNwZW50IHRvIHBheSBmb3IgZXhlY3V0aW9uIGluIGRlc3RpbmF0aW9u+GNoYWluLiBCb3RoIGZlZSBhbmQgYW1vdW50IHdpbGwgYmUgc3VidHJhY3RlZCBmb3JtIHRoZSBjYWxsZXJzIGJhbGFuY2UuAA0BSWYgYGZlZWAgaXMgbm90IGhpZ2ggZW5vdWdoIHRvIGNvdmVyIGZvciB0aGUgZXhlY3V0aW9uIGNvc3RzIGluIHRoZeRkZXN0aW5hdGlvbiBjaGFpbiwgdGhlbiB0aGUgYXNzZXRzIHdpbGwgYmUgdHJhcHBlZCBpbiB0aGVEZGVzdGluYXRpb24gY2hhaW4AEQFJdCdzIGEgbm8tb3AgaWYgYW55IGVycm9yIG9uIGxvY2FsIFhDTSBleGVjdXRpb24gb3IgbWVzc2FnZSBzZW5kaW5nLvhOb3RlIHNlbmRpbmcgYXNzZXRzIG91dCBwZXIgc2UgZG9lc24ndCBndWFyYW50ZWUgdGhleSB3b3VsZCBiZREBcmVjZWl2ZWQuIFJlY2VpdmluZyBkZXBlbmRzIG9uIGlmIHRoZSBYQ00gbWVzc2FnZSBjb3VsZCBiZSBkZWxpdmVyZWTcYnkgdGhlIG5ldHdvcmssIGFuZCBpZiB0aGUgcmVjZWl2aW5nIGNoYWluIHdvdWxkIGhhbmRsZUxtZXNzYWdlcyBjb3JyZWN0bHkucHRyYW5zZmVyX211bHRpYXNzZXRfd2l0aF9mZWUQARRhc3NldC0GAUxCb3g8VmVyc2lvbmVkQXNzZXQ+AAEMZmVlLQYBTEJveDxWZXJzaW9uZWRBc3NldD4AARBkZXN0vQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AAURkZXN0X3dlaWdodF9saW1pdJEFASxXZWlnaHRMaW1pdAADVOxUcmFuc2ZlciBgQXNzZXRgIHNwZWNpZnlpbmcgdGhlIGZlZSBhbmQgYW1vdW50IGFzIHNlcGFyYXRlLgD8YGRlc3Rfd2VpZ2h0X2xpbWl0YCBpcyB0aGUgd2VpZ2h0IGZvciBYQ00gZXhlY3V0aW9uIG9uIHRoZSBkZXN0CQFjaGFpbiwgYW5kIGl0IHdvdWxkIGJlIGNoYXJnZWQgZnJvbSB0aGUgdHJhbnNmZXJyZWQgYXNzZXRzLiBJZiBzZXQFAWJlbG93IHJlcXVpcmVtZW50cywgdGhlIGV4ZWN1dGlvbiBtYXkgZmFpbCBhbmQgYXNzZXRzIHdvdWxkbid0IGJlJHJlY2VpdmVkLgDYYGZlZWAgaXMgdGhlIEFzc2V0IHRvIGJlIHNwZW50IHRvIHBheSBmb3IgZXhlY3V0aW9uIGluCQFkZXN0aW5hdGlvbiBjaGFpbi4gQm90aCBmZWUgYW5kIGFtb3VudCB3aWxsIGJlIHN1YnRyYWN0ZWQgZm9ybSB0aGURAWNhbGxlcnMgYmFsYW5jZSBGb3Igbm93IHdlIG9ubHkgYWNjZXB0IGZlZSBhbmQgYXNzZXQgaGF2aW5nIHRoZSBzYW1lOGBMb2NhdGlvbmAgaWQuAA0BSWYgYGZlZWAgaXMgbm90IGhpZ2ggZW5vdWdoIHRvIGNvdmVyIGZvciB0aGUgZXhlY3V0aW9uIGNvc3RzIGluIHRoZeRkZXN0aW5hdGlvbiBjaGFpbiwgdGhlbiB0aGUgYXNzZXRzIHdpbGwgYmUgdHJhcHBlZCBpbiB0aGVEZGVzdGluYXRpb24gY2hhaW4AEQFJdCdzIGEgbm8tb3AgaWYgYW55IGVycm9yIG9uIGxvY2FsIFhDTSBleGVjdXRpb24gb3IgbWVzc2FnZSBzZW5kaW5nLvhOb3RlIHNlbmRpbmcgYXNzZXRzIG91dCBwZXIgc2UgZG9lc24ndCBndWFyYW50ZWUgdGhleSB3b3VsZCBiZREBcmVjZWl2ZWQuIFJlY2VpdmluZyBkZXBlbmRzIG9uIGlmIHRoZSBYQ00gbWVzc2FnZSBjb3VsZCBiZSBkZWxpdmVyZWTcYnkgdGhlIG5ldHdvcmssIGFuZCBpZiB0aGUgcmVjZWl2aW5nIGNoYWluIHdvdWxkIGhhbmRsZUxtZXNzYWdlcyBjb3JyZWN0bHkuYHRyYW5zZmVyX211bHRpY3VycmVuY2llcxABKGN1cnJlbmNpZXMxBgGAVmVjPChUOjpDdXJyZW5jeUlkLCBUOjpCYWxhbmNlKT4AASBmZWVfaXRlbRABDHUzMgABEGRlc3S9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABRGRlc3Rfd2VpZ2h0X2xpbWl0kQUBLFdlaWdodExpbWl0AAQ8BQFUcmFuc2ZlciBzZXZlcmFsIGN1cnJlbmNpZXMgc3BlY2lmeWluZyB0aGUgaXRlbSB0byBiZSB1c2VkIGFzIGZlZQD8YGRlc3Rfd2VpZ2h0X2xpbWl0YCBpcyB0aGUgd2VpZ2h0IGZvciBYQ00gZXhlY3V0aW9uIG9uIHRoZSBkZXN0CQFjaGFpbiwgYW5kIGl0IHdvdWxkIGJlIGNoYXJnZWQgZnJvbSB0aGUgdHJhbnNmZXJyZWQgYXNzZXRzLiBJZiBzZXQFAWJlbG93IHJlcXVpcmVtZW50cywgdGhlIGV4ZWN1dGlvbiBtYXkgZmFpbCBhbmQgYXNzZXRzIHdvdWxkbid0IGJlJHJlY2VpdmVkLgANAWBmZWVfaXRlbWAgaXMgaW5kZXggb2YgdGhlIGN1cnJlbmNpZXMgdHVwbGUgdGhhdCB3ZSB3YW50IHRvIHVzZSBmb3IccGF5bWVudAARAUl0J3MgYSBuby1vcCBpZiBhbnkgZXJyb3Igb24gbG9jYWwgWENNIGV4ZWN1dGlvbiBvciBtZXNzYWdlIHNlbmRpbmcu+E5vdGUgc2VuZGluZyBhc3NldHMgb3V0IHBlciBzZSBkb2Vzbid0IGd1YXJhbnRlZSB0aGV5IHdvdWxkIGJlEQFyZWNlaXZlZC4gUmVjZWl2aW5nIGRlcGVuZHMgb24gaWYgdGhlIFhDTSBtZXNzYWdlIGNvdWxkIGJlIGRlbGl2ZXJlZNxieSB0aGUgbmV0d29yaywgYW5kIGlmIHRoZSByZWNlaXZpbmcgY2hhaW4gd291bGQgaGFuZGxlTG1lc3NhZ2VzIGNvcnJlY3RseS5QdHJhbnNmZXJfbXVsdGlhc3NldHMQARhhc3NldHPhBQFQQm94PFZlcnNpb25lZEFzc2V0cz4AASBmZWVfaXRlbRABDHUzMgABEGRlc3S9BAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABRGRlc3Rfd2VpZ2h0X2xpbWl0kQUBLFdlaWdodExpbWl0AAU8+FRyYW5zZmVyIHNldmVyYWwgYEFzc2V0YCBzcGVjaWZ5aW5nIHRoZSBpdGVtIHRvIGJlIHVzZWQgYXMgZmVlAPxgZGVzdF93ZWlnaHRfbGltaXRgIGlzIHRoZSB3ZWlnaHQgZm9yIFhDTSBleGVjdXRpb24gb24gdGhlIGRlc3QJAWNoYWluLCBhbmQgaXQgd291bGQgYmUgY2hhcmdlZCBmcm9tIHRoZSB0cmFuc2ZlcnJlZCBhc3NldHMuIElmIHNldAUBYmVsb3cgcmVxdWlyZW1lbnRzLCB0aGUgZXhlY3V0aW9uIG1heSBmYWlsIGFuZCBhc3NldHMgd291bGRuJ3QgYmUkcmVjZWl2ZWQuAORgZmVlX2l0ZW1gIGlzIGluZGV4IG9mIHRoZSBBc3NldHMgdGhhdCB3ZSB3YW50IHRvIHVzZSBmb3IccGF5bWVudAARAUl0J3MgYSBuby1vcCBpZiBhbnkgZXJyb3Igb24gbG9jYWwgWENNIGV4ZWN1dGlvbiBvciBtZXNzYWdlIHNlbmRpbmcu+E5vdGUgc2VuZGluZyBhc3NldHMgb3V0IHBlciBzZSBkb2Vzbid0IGd1YXJhbnRlZSB0aGV5IHdvdWxkIGJlEQFyZWNlaXZlZC4gUmVjZWl2aW5nIGRlcGVuZHMgb24gaWYgdGhlIFhDTSBtZXNzYWdlIGNvdWxkIGJlIGRlbGl2ZXJlZNxieSB0aGUgbmV0d29yaywgYW5kIGlmIHRoZSByZWNlaXZpbmcgY2hhaW4gd291bGQgaGFuZGxlTG1lc3NhZ2VzIGNvcnJlY3RseS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuLQYIDHhjbThWZXJzaW9uZWRBc3NldAABDAhWMgQA9QQBOHYyOjpNdWx0aUFzc2V0AAEACFYzBABBBQE4djM6Ok11bHRpQXNzZXQAAwAIVjQEAKkFASR2NDo6QXNzZXQABAAAMQYAAALVAwA1BgxkcGFsbGV0X2NvbGxhdG9yX3NlbGVjdGlvbhhwYWxsZXQQQ2FsbAQEVAABJERzZXRfaW52dWxuZXJhYmxlcwQBDG5ldzEBAURWZWM8VDo6QWNjb3VudElkPgAANDEBU2V0IHRoZSBsaXN0IG9mIGludnVsbmVyYWJsZSAoZml4ZWQpIGNvbGxhdG9ycy4gVGhlc2UgY29sbGF0b3JzIG11c3QgZG8gc29tZdBwcmVwYXJhdGlvbiwgbmFtZWx5IHRvIGhhdmUgcmVnaXN0ZXJlZCBzZXNzaW9uIGtleXMuAFkBVGhlIGNhbGwgd2lsbCByZW1vdmUgYW55IGFjY291bnRzIHRoYXQgaGF2ZSBub3QgcmVnaXN0ZXJlZCBrZXlzIGZyb20gdGhlIHNldC4gVGhhdCBpcyxdAWl0IGlzIG5vbi1hdG9taWM7IHRoZSBjYWxsZXIgYWNjZXB0cyBhbGwgYEFjY291bnRJZGBzIHBhc3NlZCBpbiBgbmV3YCBfaW5kaXZpZHVhbGx5XyBhczEBYWNjZXB0YWJsZSBJbnZ1bG5lcmFibGVzLCBhbmQgaXMgbm90IHByb3Bvc2luZyBhIF9zZXRfIG9mIG5ldyBJbnZ1bG5lcmFibGVzLgBZAVRoaXMgY2FsbCBkb2VzIG5vdCBtYWludGFpbiBtdXR1YWwgZXhjbHVzaXZpdHkgb2YgYEludnVsbmVyYWJsZXNgIGFuZCBgQ2FuZGlkYXRlc2AuIEl0YQFpcyByZWNvbW1lbmRlZCB0byB1c2UgYSBiYXRjaCBvZiBgYWRkX2ludnVsbmVyYWJsZWAgYW5kIGByZW1vdmVfaW52dWxuZXJhYmxlYCBpbnN0ZWFkLiBBUQFgYmF0Y2hfYWxsYCBjYW4gYWxzbyBiZSB1c2VkIHRvIGVuZm9yY2UgYXRvbWljaXR5LiBJZiBhbnkgY2FuZGlkYXRlcyBhcmUgaW5jbHVkZWQgaW5NAWBuZXdgLCB0aGV5IHNob3VsZCBiZSByZW1vdmVkIHdpdGggYHJlbW92ZV9pbnZ1bG5lcmFibGVfY2FuZGlkYXRlYCBhZnRlciBleGVjdXRpb24uAJRNdXN0IGJlIGNhbGxlZCBieSB0aGUgYFVwZGF0ZU9yaWdpbmAuWHNldF9kZXNpcmVkX2NhbmRpZGF0ZXMEAQxtYXgQAQx1MzIAARRVAVNldCB0aGUgaWRlYWwgbnVtYmVyIG9mIG5vbi1pbnZ1bG5lcmFibGUgY29sbGF0b3JzLiBJZiBsb3dlcmluZyB0aGlzIG51bWJlciwgdGhlbiB0aGVhAW51bWJlciBvZiBydW5uaW5nIGNvbGxhdG9ycyBjb3VsZCBiZSBoaWdoZXIgdGhhbiB0aGlzIGZpZ3VyZS4gQXNpZGUgZnJvbSB0aGF0IGVkZ2UgY2FzZSw1AXRoZXJlIHNob3VsZCBiZSBubyBvdGhlciB3YXkgdG8gaGF2ZSBtb3JlIGNhbmRpZGF0ZXMgdGhhbiB0aGUgZGVzaXJlZCBudW1iZXIuANBUaGUgb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSB0aGUgYFVwZGF0ZU9yaWdpbmAuSHNldF9jYW5kaWRhY3lfYm9uZAQBEGJvbmQYATBCYWxhbmNlT2Y8VD4AAhx4U2V0IHRoZSBjYW5kaWRhY3kgYm9uZCBhbW91bnQuAFEBSWYgdGhlIGNhbmRpZGFjeSBib25kIGlzIGluY3JlYXNlZCBieSB0aGlzIGNhbGwsIGFsbCBjdXJyZW50IGNhbmRpZGF0ZXMgd2hpY2ggaGF2ZSBhTQFkZXBvc2l0IGxvd2VyIHRoYW4gdGhlIG5ldyBib25kIHdpbGwgYmUga2lja2VkIGZyb20gdGhlIGxpc3QgYW5kIGdldCB0aGVpciBkZXBvc2l0cxRiYWNrLgDQVGhlIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgdGhlIGBVcGRhdGVPcmlnaW5gLlRyZWdpc3Rlcl9hc19jYW5kaWRhdGUAAxBBAVJlZ2lzdGVyIHRoaXMgYWNjb3VudCBhcyBhIGNvbGxhdG9yIGNhbmRpZGF0ZS4gVGhlIGFjY291bnQgbXVzdCAoYSkgYWxyZWFkeSBoYXZlHQFyZWdpc3RlcmVkIHNlc3Npb24ga2V5cyBhbmQgKGIpIGJlIGFibGUgdG8gcmVzZXJ2ZSB0aGUgYENhbmRpZGFjeUJvbmRgLgDcVGhpcyBjYWxsIGlzIG5vdCBhdmFpbGFibGUgdG8gYEludnVsbmVyYWJsZWAgY29sbGF0b3JzLjBsZWF2ZV9pbnRlbnQABBRVAURlcmVnaXN0ZXIgYG9yaWdpbmAgYXMgYSBjb2xsYXRvciBjYW5kaWRhdGUuIE5vdGUgdGhhdCB0aGUgY29sbGF0b3IgY2FuIG9ubHkgbGVhdmUgb24NAXNlc3Npb24gY2hhbmdlLiBUaGUgYENhbmRpZGFjeUJvbmRgIHdpbGwgYmUgdW5yZXNlcnZlZCBpbW1lZGlhdGVseS4AGQFUaGlzIGNhbGwgd2lsbCBmYWlsIGlmIHRoZSB0b3RhbCBudW1iZXIgb2YgY2FuZGlkYXRlcyB3b3VsZCBkcm9wIGJlbG93XGBNaW5FbGlnaWJsZUNvbGxhdG9yc2AuQGFkZF9pbnZ1bG5lcmFibGUEAQx3aG8AATBUOjpBY2NvdW50SWQABRBFAUFkZCBhIG5ldyBhY2NvdW50IGB3aG9gIHRvIHRoZSBsaXN0IG9mIGBJbnZ1bG5lcmFibGVzYCBjb2xsYXRvcnMuIGB3aG9gIG11c3QgaGF2ZR0BcmVnaXN0ZXJlZCBzZXNzaW9uIGtleXMuIElmIGB3aG9gIGlzIGEgY2FuZGlkYXRlLCB0aGV5IHdpbGwgYmUgcmVtb3ZlZC4A0FRoZSBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHRoZSBgVXBkYXRlT3JpZ2luYC5McmVtb3ZlX2ludnVsbmVyYWJsZQQBDHdobwABMFQ6OkFjY291bnRJZAAGEGEBUmVtb3ZlIGFuIGFjY291bnQgYHdob2AgZnJvbSB0aGUgbGlzdCBvZiBgSW52dWxuZXJhYmxlc2AgY29sbGF0b3JzLiBgSW52dWxuZXJhYmxlc2AgbXVzdChiZSBzb3J0ZWQuANBUaGUgb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSB0aGUgYFVwZGF0ZU9yaWdpbmAuLHVwZGF0ZV9ib25kBAEsbmV3X2RlcG9zaXQYATBCYWxhbmNlT2Y8VD4ABxxdAVVwZGF0ZSB0aGUgY2FuZGlkYWN5IGJvbmQgb2YgY29sbGF0b3IgY2FuZGlkYXRlIGBvcmlnaW5gIHRvIGEgbmV3IGFtb3VudCBgbmV3X2RlcG9zaXRgLgBBAVNldHRpbmcgYSBgbmV3X2RlcG9zaXRgIHRoYXQgaXMgbG93ZXIgdGhhbiB0aGUgY3VycmVudCBkZXBvc2l0IHdoaWxlIGBvcmlnaW5gIGlz4G9jY3VweWluZyBhIHRvcC1gRGVzaXJlZENhbmRpZGF0ZXNgIHNsb3QgaXMgbm90IGFsbG93ZWQuAFkBVGhpcyBjYWxsIHdpbGwgZmFpbCBpZiBgb3JpZ2luYCBpcyBub3QgYSBjb2xsYXRvciBjYW5kaWRhdGUsIHRoZSB1cGRhdGVkIGJvbmQgaXMgbG93ZXIZAXRoYW4gdGhlIG1pbmltdW0gY2FuZGlkYWN5IGJvbmQsIGFuZC9vciB0aGUgYW1vdW50IGNhbm5vdCBiZSByZXNlcnZlZC5MdGFrZV9jYW5kaWRhdGVfc2xvdAgBHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4AARh0YXJnZXQAATBUOjpBY2NvdW50SWQACBxNAVRoZSBjYWxsZXIgYG9yaWdpbmAgcmVwbGFjZXMgYSBjYW5kaWRhdGUgYHRhcmdldGAgaW4gdGhlIGNvbGxhdG9yIGNhbmRpZGF0ZSBsaXN0IGJ5VQFyZXNlcnZpbmcgYGRlcG9zaXRgLiBUaGUgYW1vdW50IGBkZXBvc2l0YCByZXNlcnZlZCBieSB0aGUgY2FsbGVyIG11c3QgYmUgZ3JlYXRlciB0aGFu4HRoZSBleGlzdGluZyBib25kIG9mIHRoZSB0YXJnZXQgaXQgaXMgdHJ5aW5nIHRvIHJlcGxhY2UuAFkBVGhpcyBjYWxsIHdpbGwgZmFpbCBpZiB0aGUgY2FsbGVyIGlzIGFscmVhZHkgYSBjb2xsYXRvciBjYW5kaWRhdGUgb3IgaW52dWxuZXJhYmxlLCB0aGVVAWNhbGxlciBkb2VzIG5vdCBoYXZlIHJlZ2lzdGVyZWQgc2Vzc2lvbiBrZXlzLCB0aGUgdGFyZ2V0IGlzIG5vdCBhIGNvbGxhdG9yIGNhbmRpZGF0ZSy8YW5kL29yIHRoZSBgZGVwb3NpdGAgYW1vdW50IGNhbm5vdCBiZSByZXNlcnZlZC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuOQYMOHBhbGxldF9zZXNzaW9uGHBhbGxldBBDYWxsBARUAAEIIHNldF9rZXlzCAEQa2V5cz0GARxUOjpLZXlzAAEUcHJvb2Y4ARxWZWM8dTg+AAAk5FNldHMgdGhlIHNlc3Npb24ga2V5KHMpIG9mIHRoZSBmdW5jdGlvbiBjYWxsZXIgdG8gYGtleXNgLh0BQWxsb3dzIGFuIGFjY291bnQgdG8gc2V0IGl0cyBzZXNzaW9uIGtleSBwcmlvciB0byBiZWNvbWluZyBhIHZhbGlkYXRvci7AVGhpcyBkb2Vzbid0IHRha2UgZWZmZWN0IHVudGlsIHRoZSBuZXh0IHNlc3Npb24uANBUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgZnVuY3Rpb24gbXVzdCBiZSBzaWduZWQuADQjIyBDb21wbGV4aXR5WQEtIGBPKDEpYC4gQWN0dWFsIGNvc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGxlbmd0aCBvZiBgVDo6S2V5czo6a2V5X2lkcygpYCB3aGljaCBpcyAgIGZpeGVkLihwdXJnZV9rZXlzAAEwyFJlbW92ZXMgYW55IHNlc3Npb24ga2V5KHMpIG9mIHRoZSBmdW5jdGlvbiBjYWxsZXIuAMBUaGlzIGRvZXNuJ3QgdGFrZSBlZmZlY3QgdW50aWwgdGhlIG5leHQgc2Vzc2lvbi4AVQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgZnVuY3Rpb24gbXVzdCBiZSBTaWduZWQgYW5kIHRoZSBhY2NvdW50IG11c3QgYmUgZWl0aGVyIGJlXQFjb252ZXJ0aWJsZSB0byBhIHZhbGlkYXRvciBJRCB1c2luZyB0aGUgY2hhaW4ncyB0eXBpY2FsIGFkZHJlc3Npbmcgc3lzdGVtICh0aGlzIHVzdWFsbHlRAW1lYW5zIGJlaW5nIGEgY29udHJvbGxlciBhY2NvdW50KSBvciBkaXJlY3RseSBjb252ZXJ0aWJsZSBpbnRvIGEgdmFsaWRhdG9yIElEICh3aGljaJR1c3VhbGx5IG1lYW5zIGJlaW5nIGEgc3Rhc2ggYWNjb3VudCkuADQjIyBDb21wbGV4aXR5PQEtIGBPKDEpYCBpbiBudW1iZXIgb2Yga2V5IHR5cGVzLiBBY3R1YWwgY29zdCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgbGVuZ3RoIG9mmCAgYFQ6OktleXM6OmtleV9pZHMoKWAgd2hpY2ggaXMgZml4ZWQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLj0GDDxoeWRyYWR4X3J1bnRpbWUYb3BhcXVlLFNlc3Npb25LZXlzAAAEARBhdXJhQQYBxDxBdXJhIGFzICRjcmF0ZTo6Qm91bmRUb1J1bnRpbWVBcHBQdWJsaWM+OjpQdWJsaWMAAEEGEERzcF9jb25zZW5zdXNfYXVyYRxzcjI1NTE5LGFwcF9zcjI1NTE5GFB1YmxpYwAABAAEATxzcjI1NTE5OjpQdWJsaWMAAEUGDERwYWxsZXRfZW1hX29yYWNsZRhwYWxsZXQQQ2FsbAQEVAABDChhZGRfb3JhY2xlCAEYc291cmNl/QEBGFNvdXJjZQABGGFzc2V0c00DAUgoQXNzZXRJZCwgQXNzZXRJZCkAAAA0cmVtb3ZlX29yYWNsZQgBGHNvdXJjZf0BARhTb3VyY2UAARhhc3NldHNNAwFIKEFzc2V0SWQsIEFzc2V0SWQpAAEAVHVwZGF0ZV9iaWZyb3N0X29yYWNsZQwBHGFzc2V0X2G9BAGQQm94PHBvbGthZG90X3hjbTo6VmVyc2lvbmVkTG9jYXRpb24+AAEcYXNzZXRfYr0EAZBCb3g8cG9sa2Fkb3RfeGNtOjpWZXJzaW9uZWRMb2NhdGlvbj4AARRwcmljZSkDAUgoQmFsYW5jZSwgQmFsYW5jZSkAAgAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuSQYMQHBhbGxldF9icm9hZGNhc3QYcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuTQYMKHNwX3J1bnRpbWUYdHJhaXRzLEJsYWtlVHdvMjU2AAAAAFEGDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAVQYMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxR0eXBlcxRUYWxseQgUVm90ZXMBGBRUb3RhbAAADAEQYXllcxgBFFZvdGVzAAEQbmF5cxgBFFZvdGVzAAEcc3VwcG9ydBgBFFZvdGVzAABZBgxAcGFsbGV0X3doaXRlbGlzdBhwYWxsZXQURXZlbnQEBFQAAQw8Q2FsbFdoaXRlbGlzdGVkBAEkY2FsbF9oYXNoNAEcVDo6SGFzaAAAAFhXaGl0ZWxpc3RlZENhbGxSZW1vdmVkBAEkY2FsbF9oYXNoNAEcVDo6SGFzaAABAGRXaGl0ZWxpc3RlZENhbGxEaXNwYXRjaGVkCAEkY2FsbF9oYXNoNAEcVDo6SGFzaAABGHJlc3VsdF0GAWhEaXNwYXRjaFJlc3VsdFdpdGhQb3N0SW5mbwACAAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldF0GBBhSZXN1bHQIBFQBYQYERQFpBgEICE9rBABhBgAAAAAMRXJyBABpBgAAAQAAYQYMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUG9zdERpc3BhdGNoSW5mbwAACAE0YWN0dWFsX3dlaWdodGUGAThPcHRpb248V2VpZ2h0PgABIHBheXNfZmVlZAEQUGF5cwAAZQYEGE9wdGlvbgQEVAEoAQgQTm9uZQAAABBTb21lBAAoAAABAABpBggoc3BfcnVudGltZWREaXNwYXRjaEVycm9yV2l0aFBvc3RJbmZvBBBJbmZvAWEGAAgBJHBvc3RfaW5mb2EGARBJbmZvAAEUZXJyb3JoATREaXNwYXRjaEVycm9yAABtBgxEcGFsbGV0X2Rpc3BhdGNoZXIYcGFsbGV0FEV2ZW50BARUAAEIdFRyZWFzdXJ5TWFuYWdlckNhbGxEaXNwYXRjaGVkCAEkY2FsbF9oYXNoNAEcVDo6SGFzaAABGHJlc3VsdF0GAWhEaXNwYXRjaFJlc3VsdFdpdGhQb3N0SW5mbwAAAGRBYXZlTWFuYWdlckNhbGxEaXNwYXRjaGVkCAEkY2FsbF9oYXNoNAEcVDo6SGFzaAABGHJlc3VsdF0GAWhEaXNwYXRjaFJlc3VsdFdpdGhQb3N0SW5mbwABAAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldHEGDFRwYWxsZXRfYXNzZXRfcmVnaXN0cnkYcGFsbGV0FEV2ZW50BARUAAEYWEV4aXN0ZW50aWFsRGVwb3NpdFBhaWQMAQx3aG8AATBUOjpBY2NvdW50SWQAASRmZWVfYXNzZXQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQAACNBFeGlzdGVudGlhbCBkZXBvc2l0IGZvciBpbnN1ZmZpY2luZXQgYXNzZXQgd2FzIHBhaWQunGBTdWZmaWNpZW5jeUNoZWNrYCB0cmlnZ2VycyB0aGlzIGV2ZW50LihSZWdpc3RlcmVkIAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEoYXNzZXRfbmFtZd0CAZhPcHRpb248Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+PgABKGFzc2V0X3R5cGXlAgEkQXNzZXRUeXBlAAFMZXhpc3RlbnRpYWxfZGVwb3NpdBgBHEJhbGFuY2UAATh4Y21fcmF0ZV9saW1pdOABPE9wdGlvbjxCYWxhbmNlPgABGHN5bWJvbN0CAZhPcHRpb248Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+PgABIGRlY2ltYWxz6QIBKE9wdGlvbjx1OD4AATRpc19zdWZmaWNpZW50IAEQYm9vbAABBFRBc3NldCB3YXMgcmVnaXN0ZXJlZC4cVXBkYXRlZCABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABKGFzc2V0X25hbWXdAgGYT3B0aW9uPEJvdW5kZWRWZWM8dTgsIFQ6OlN0cmluZ0xpbWl0Pj4AAShhc3NldF90eXBl5QIBJEFzc2V0VHlwZQABTGV4aXN0ZW50aWFsX2RlcG9zaXQYARxCYWxhbmNlAAE4eGNtX3JhdGVfbGltaXTgATxPcHRpb248QmFsYW5jZT4AARhzeW1ib2zdAgGYT3B0aW9uPEJvdW5kZWRWZWM8dTgsIFQ6OlN0cmluZ0xpbWl0Pj4AASBkZWNpbWFsc+kCAShPcHRpb248dTg+AAE0aXNfc3VmZmljaWVudCABEGJvb2wAAgRIQXNzZXQgd2FzIHVwZGF0ZWQuLExvY2F0aW9uU2V0CAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEgbG9jYXRpb27xAgFYVDo6QXNzZXROYXRpdmVMb2NhdGlvbgADBIROYXRpdmUgbG9jYXRpb24gc2V0IGZvciBhbiBhc3NldC4sQXNzZXRCYW5uZWQEASBhc3NldF9pZBABKFQ6OkFzc2V0SWQABAREQXNzZXQgd2FzIGJhbm5lZC40QXNzZXRVbmJhbm5lZAQBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAAFBGBBc3NldCdzIGJhbiB3YXMgcmVtb3ZlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXR1Bgw0cGFsbGV0X2NsYWltcxhwYWxsZXQURXZlbnQEBFQAAQQUQ2xhaW0MAAABMFQ6OkFjY291bnRJZAAAeQYBPEV0aGVyZXVtQWRkcmVzcwAAGAEwQmFsYW5jZU9mPFQ+AAAABHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0eQYMNHBhbGxldF9jbGFpbXMYdHJhaXRzPEV0aGVyZXVtQWRkcmVzcwAABABFAQEgW3U4OyAyMF0AAH0GDFxwYWxsZXRfY29sbGF0b3JfcmV3YXJkcxhwYWxsZXQURXZlbnQEBFQAAQRAQ29sbGF0b3JSZXdhcmRlZAwBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAASBjdXJyZW5jeRABNFQ6OkN1cnJlbmN5SWQAAARYQ29sbGF0b3Igd2FzIHJld2FyZGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldIEGDDxwYWxsZXRfb21uaXBvb2wYcGFsbGV0FEV2ZW50BARUAAE0KFRva2VuQWRkZWQMASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAThpbml0aWFsX2Ftb3VudBgBHEJhbGFuY2UAATRpbml0aWFsX3ByaWNlPQEBFFByaWNlAAAEeEFuIGFzc2V0IHdhcyBhZGRlZCB0byBPbW5pcG9vbDBUb2tlblJlbW92ZWQMASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAE0aHViX3dpdGhkcmF3bhgBHEJhbGFuY2UAAQSIQW4gYXNzZXQgd2FzIHJlbW92ZWQgZnJvbSBPbW5pcG9vbDhMaXF1aWRpdHlBZGRlZBABDHdobwABMFQ6OkFjY291bnRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAIEsExpcXVpZGl0eSBvZiBhbiBhc3NldCB3YXMgYWRkZWQgdG8gT21uaXBvb2wuQExpcXVpZGl0eVJlbW92ZWQUAQx3aG8AATBUOjpBY2NvdW50SWQAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAE4c2hhcmVzX3JlbW92ZWQYARxCYWxhbmNlAAEMZmVlPQEBJEZpeGVkVTEyOAADBMBMaXF1aWRpdHkgb2YgYW4gYXNzZXQgd2FzIHJlbW92ZWQgZnJvbSBPbW5pcG9vbC5gUHJvdG9jb2xMaXF1aWRpdHlSZW1vdmVkFAEMd2hvAAEwVDo6QWNjb3VudElkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABKGh1Yl9hbW91bnQYARxCYWxhbmNlAAE4c2hhcmVzX3JlbW92ZWQYARxCYWxhbmNlAAQEtFBSb3RvY29sIExpcXVpZGl0eSB3YXMgcmVtb3ZlZCBmcm9tIE9tbmlwb29sLjBTZWxsRXhlY3V0ZWQkAQx3aG8AATBUOjpBY2NvdW50SWQAASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAE0aHViX2Ftb3VudF9pbhgBHEJhbGFuY2UAAThodWJfYW1vdW50X291dBgBHEJhbGFuY2UAAUBhc3NldF9mZWVfYW1vdW50GAEcQmFsYW5jZQABTHByb3RvY29sX2ZlZV9hbW91bnQYARxCYWxhbmNlAAUIUFNlbGwgdHJhZGUgZXhlY3V0ZWQuxERlcHJlY2F0ZWQuIFJlcGxhY2VkIGJ5IHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWQsQnV5RXhlY3V0ZWQkAQx3aG8AATBUOjpBY2NvdW50SWQAASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAE0aHViX2Ftb3VudF9pbhgBHEJhbGFuY2UAAThodWJfYW1vdW50X291dBgBHEJhbGFuY2UAAUBhc3NldF9mZWVfYW1vdW50GAEcQmFsYW5jZQABTHByb3RvY29sX2ZlZV9hbW91bnQYARxCYWxhbmNlAAYITEJ1eSB0cmFkZSBleGVjdXRlZC7ERGVwcmVjYXRlZC4gUmVwbGFjZWQgYnkgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZDxQb3NpdGlvbkNyZWF0ZWQYASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAARRhc3NldBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEYc2hhcmVzGAEcQmFsYW5jZQABFHByaWNlPQEBFFByaWNlAAcEwExQIFBvc2l0aW9uIHdhcyBjcmVhdGVkIGFuZCBORlQgaW5zdGFuY2UgbWludGVkLkRQb3NpdGlvbkRlc3Ryb3llZAgBLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAAIBMhMUCBQb3NpdGlvbiB3YXMgZGVzdHJveWVkIGFuZCBORlQgaW5zdGFuY2UgYnVybmVkLjxQb3NpdGlvblVwZGF0ZWQYASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAARRhc3NldBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEYc2hhcmVzGAEcQmFsYW5jZQABFHByaWNlPQEBFFByaWNlAAkEYExQIFBvc2l0aW9uIHdhcyB1cGRhdGVkLlBUcmFkYWJsZVN0YXRlVXBkYXRlZAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABFHN0YXRlJQMBLFRyYWRhYmlsaXR5AAoEoEFzc2V0J3MgdHJhZGFibGUgc3RhdGUgaGFzIGJlZW4gdXBkYXRlZC40QXNzZXRSZWZ1bmRlZAwBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAASRyZWNpcGllbnQAATBUOjpBY2NvdW50SWQACwRJAUFtb3VudCBoYXMgYmVlbiByZWZ1bmRlZCBmb3IgYXNzZXQgd2hpY2ggaGFzIG5vdCBiZWVuIGFjY2VwdGVkIHRvIGFkZCB0byBvbW5pcG9vbC5UQXNzZXRXZWlnaHRDYXBVcGRhdGVkCAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEMY2FwIQMBHFBlcm1pbGwADASQQXNzZXQncyB3ZWlnaHQgY2FwIGhhcyBiZWVuIHVwZGF0ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0hQYMYHBhbGxldF90cmFuc2FjdGlvbl9wYXVzZRhwYWxsZXQURXZlbnQEBFQAAQhEVHJhbnNhY3Rpb25QYXVzZWQIAURwYWxsZXRfbmFtZV9ieXRlczgBHFZlYzx1OD4AAUxmdW5jdGlvbl9uYW1lX2J5dGVzOAEcVmVjPHU4PgAABEhQYXVzZWQgdHJhbnNhY3Rpb25MVHJhbnNhY3Rpb25VbnBhdXNlZAgBRHBhbGxldF9uYW1lX2J5dGVzOAEcVmVjPHU4PgABTGZ1bmN0aW9uX25hbWVfYnl0ZXM4ARxWZWM8dTg+AAEEUFVucGF1c2VkIHRyYW5zYWN0aW9uBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0iQYMNHBhbGxldF9kdXN0ZXIYcGFsbGV0FEV2ZW50BARUAAEMGER1c3RlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAAAQ8QWNjb3VudCBkdXN0ZWQuFEFkZGVkBAEMd2hvAAEwVDo6QWNjb3VudElkAAEEjEFjY291bnQgYWRkZWQgdG8gbm9uLWR1c3RhYmxlIGxpc3QuHFJlbW92ZWQEAQx3aG8AATBUOjpBY2NvdW50SWQAAgScQWNjb3VudCByZW1vdmVkIGZyb20gbm9uLWR1c3RhYmxlIGxpc3QuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0jQYMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFdmVudAgEVAAESQABDFxHbG9iYWxGYXJtQWNjUlBaVXBkYXRlZAwBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE8YWNjdW11bGF0ZWRfcnB6PQEBJEZpeGVkVTEyOAABOHRvdGFsX3NoYXJlc196GAEcQmFsYW5jZQAABNRHbG9iYWwgZmFybSBhY2N1bXVsYXRlZCByZXdhcmQgcGVyIHNoYXJlIHdhcyB1cGRhdGVkLlxZaWVsZEZhcm1BY2NSUFZTVXBkYXRlZBABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAFAYWNjdW11bGF0ZWRfcnB2cz0BASRGaXhlZFUxMjgAAUx0b3RhbF92YWx1ZWRfc2hhcmVzGAEcQmFsYW5jZQABBOxZaWVsZCBmYXJtIGFjY3VtdWxhdGVkIHJld2FyZCBwZXIgdmFsdWVkIHNoYXJlIHdhcyB1cGRhdGVkLlRBbGxSZXdhcmRzRGlzdHJpYnV0ZWQEAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAACBPBHbG9iYWwgZmFybSBoYXMgbm8gbW9yZSByZXdhcmRzIHRvIGRpc3RyaWJ1dGUgaW4gdGhlIG1vbWVudC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSRBgyAcGFsbGV0X29tbmlwb29sX2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0FEV2ZW50BARUAAE0REdsb2JhbEZhcm1DcmVhdGVkKAEIaWQQATBHbG9iYWxGYXJtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABNHRvdGFsX3Jld2FyZHMYARxCYWxhbmNlAAE8cmV3YXJkX2N1cnJlbmN5EAEoVDo6QXNzZXRJZAABQHlpZWxkX3Blcl9wZXJpb2Q9AwEsUGVycXVpbnRpbGwAAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMQASxQZXJpb2RPZjxUPgABRGJsb2Nrc19wZXJfcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4AAVRtYXhfcmV3YXJkX3Blcl9wZXJpb2QYARxCYWxhbmNlAAEsbWluX2RlcG9zaXQYARxCYWxhbmNlAAFUbHJuYV9wcmljZV9hZGp1c3RtZW50PQEBJEZpeGVkVTEyOAAABHBOZXcgZ2xvYmFsIGZhcm0gd2FzIGNyZWF0ZWQuREdsb2JhbEZhcm1VcGRhdGVkEAEIaWQQATBHbG9iYWxGYXJtSWQAAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMQASxQZXJpb2RPZjxUPgABQHlpZWxkX3Blcl9wZXJpb2Q9AwEsUGVycXVpbnRpbGwAASxtaW5fZGVwb3NpdBgBHEJhbGFuY2UAAQRcR2xvYmFsIGZhcm0gd2FzIHVwZGF0ZWRQR2xvYmFsRmFybVRlcm1pbmF0ZWQQAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABPHJld2FyZF9jdXJyZW5jeRABKFQ6OkFzc2V0SWQAAVR1bmRpc3RyaWJ1dGVkX3Jld2FyZHMYARxCYWxhbmNlAAIEbEdsb2JhbCBmYXJtIHdhcyB0ZXJtaW5hdGVkLkBZaWVsZEZhcm1DcmVhdGVkFAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAShtdWx0aXBsaWVyPQEBOEZhcm1NdWx0aXBsaWVyAAE0bG95YWx0eV9jdXJ2ZUEDAVBPcHRpb248TG95YWx0eUN1cnZlPgADBJROZXcgeWllbGQgZmFybSB3YXMgYWRkZWQgdG8gdGhlIGZhcm0uQFlpZWxkRmFybVVwZGF0ZWQUAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABDHdobwABMFQ6OkFjY291bnRJZAABKG11bHRpcGxpZXI9AQE4RmFybU11bHRpcGxpZXIABASIWWllbGQgZmFybSBtdWx0aXBsaWVyIHdhcyB1cGRhdGVkLkBZaWVsZEZhcm1TdG9wcGVkEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAQx3aG8AATBUOjpBY2NvdW50SWQABQSYWWllbGQgZmFybSBmb3IgYGFzc2V0X2lkYCB3YXMgc3RvcHBlZC5AWWllbGRGYXJtUmVzdW1lZBQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEobXVsdGlwbGllcj0BAThGYXJtTXVsdGlwbGllcgAGBJhZaWVsZCBmYXJtIGZvciBgYXNzZXRfaWRgIHdhcyByZXN1bWVkLkxZaWVsZEZhcm1UZXJtaW5hdGVkEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAQx3aG8AATBUOjpBY2NvdW50SWQABwS8WWllbGQgZmFybSB3YXMgdGVybWluYXRlZCBmcm9tIHRoZSBnbG9iYWwgZmFybS48U2hhcmVzRGVwb3NpdGVkHAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEMd2hvAAEwVDo6QWNjb3VudElkAAE0c2hhcmVzX2Ftb3VudBgBHEJhbGFuY2UAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAgEqE5ldyBMUCBzaGFyZXMoTFAgcG9zaXRpb24pIHdlcmUgZGVwb3NpdGVkLkRTaGFyZXNSZWRlcG9zaXRlZBwBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABDHdobwABMFQ6OkFjY291bnRJZAABNHNoYXJlc19hbW91bnQYARxCYWxhbmNlAAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAAJBAEBQWxyZWFkeSBsb2NrZWQgTFAgc2hhcmVzIHdlcmUgcmVkZXBvc2l0ZWQgdG8gYW5vdGhlciB5aWVsZCBmYXJtLjRSZXdhcmRDbGFpbWVkGAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARxjbGFpbWVkGAEcQmFsYW5jZQABPHJld2FyZF9jdXJyZW5jeRABKFQ6OkFzc2V0SWQAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAoEVFJld2FyZHMgd2VyZSBjbGFpbWVkLjxTaGFyZXNXaXRoZHJhd24UAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBHEJhbGFuY2UAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAsEZExQIHNoYXJlcyB3ZXJlIHdpdGhkcmF3bi5ARGVwb3NpdERlc3Ryb3llZAgBDHdobwABMFQ6OkFjY291bnRJZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQADAQdAUFsbCBMUCBzaGFyZXMgd2VyZSB1bmxvY2tlZCBhbmQgTkZUIHJlcHJlc2VudGluZyBkZXBvc2l0IHdhcyBkZXN0cm95ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0lQYMKHBhbGxldF9vdGMYcGFsbGV0FEV2ZW50BARUAAEQJENhbmNlbGxlZAQBIG9yZGVyX2lkEAEcT3JkZXJJZAAABGxBbiBPcmRlciBoYXMgYmVlbiBjYW5jZWxsZWQYRmlsbGVkFAEgb3JkZXJfaWQQARxPcmRlcklkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAEMZmVlGAEcQmFsYW5jZQABCIxBbiBPcmRlciBoYXMgYmVlbiBjb21wbGV0ZWx5IGZpbGxlZMREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkPFBhcnRpYWxseUZpbGxlZBQBIG9yZGVyX2lkEAEcT3JkZXJJZAABDHdobwABMFQ6OkFjY291bnRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABDGZlZRgBHEJhbGFuY2UAAgiIQW4gT3JkZXIgaGFzIGJlZW4gcGFydGlhbGx5IGZpbGxlZMREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkGFBsYWNlZBgBIG9yZGVyX2lkEAEcT3JkZXJJZAABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAEoYW1vdW50X291dBgBHEJhbGFuY2UAAUhwYXJ0aWFsbHlfZmlsbGFibGUgARBib29sAAMEYEFuIE9yZGVyIGhhcyBiZWVuIHBsYWNlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldJkGDFhwYWxsZXRfY2lyY3VpdF9icmVha2VyGHBhbGxldBRFdmVudAQEVAABGFxUcmFkZVZvbHVtZUxpbWl0Q2hhbmdlZAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABSHRyYWRlX3ZvbHVtZV9saW1pdE0DASgodTMyLCB1MzIpAAAErFRyYWRlIHZvbHVtZSBsaW1pdCBvZiBhbiBhc3NldCB3YXMgY2hhbmdlZC5gQWRkTGlxdWlkaXR5TGltaXRDaGFuZ2VkCAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAE8bGlxdWlkaXR5X2xpbWl0dQMBSE9wdGlvbjwodTMyLCB1MzIpPgABBLBBZGQgbGlxdWlkaXR5IGxpbWl0IG9mIGFuIGFzc2V0IHdhcyBjaGFuZ2VkLmxSZW1vdmVMaXF1aWRpdHlMaW1pdENoYW5nZWQIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAATxsaXF1aWRpdHlfbGltaXR1AwFIT3B0aW9uPCh1MzIsIHUzMik+AAIEvFJlbW92ZSBsaXF1aWRpdHkgbGltaXQgb2YgYW4gYXNzZXQgd2FzIGNoYW5nZWQuNEFzc2V0TG9ja2Rvd24IASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARR1bnRpbBABREJsb2NrTnVtYmVyRm9yPFQ+AAMEWEFzc2V0IHdlbnQgdG8gbG9ja2Rvd25QQXNzZXRMb2NrZG93blJlbW92ZWQEASBhc3NldF9pZBABKFQ6OkFzc2V0SWQABARoQXNzZXQgbG9ja2Rvd24gd2FzIHJlbW92ZWQ8RGVwb3NpdFJlbGVhc2VkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAUErEFsbCByZXNlcnZlZCBhbW91bnQgb2YgZGVwb3NpdCB3YXMgcmVsZWFzZWQEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSdBgxUcGFsbGV0X3JvdXRlX2V4ZWN1dG9yGHBhbGxldBRFdmVudAQEVAABCCBFeGVjdXRlZBQBIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YAShUOjpCYWxhbmNlAAEoYW1vdW50X291dBgBKFQ6OkJhbGFuY2UAASBldmVudF9pZBABREluY3JlbWVudGFsSWRUeXBlAAAE0FRoZSByb3V0ZSB3aXRoIHRyYWRlcyBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgZXhlY3V0ZWQwUm91dGVVcGRhdGVkBAEkYXNzZXRfaWRzWQMBPFZlYzxUOjpBc3NldElkPgABBNBUaGUgcm91dGUgd2l0aCB0cmFkZXMgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGV4ZWN1dGVkBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0oQYMTHBhbGxldF9keW5hbWljX2ZlZXMYcGFsbGV0FEV2ZW50BARUAAEIREFzc2V0RmVlQ29uZmlnU2V0CAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEYcGFyYW1zlQMBWEFzc2V0RmVlQ29uZmlnPFQ6OkZlZT4AAASQQXNzZXQgZmVlIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gc2V0VEFzc2V0RmVlQ29uZmlnUmVtb3ZlZAQBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABBKBBc3NldCBmZWUgY29uZmlndXJhdGlvbiBoYXMgYmVlbiByZW1vdmVkBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0pQYMOHBhbGxldF9zdGFraW5nGHBhbGxldBRFdmVudAQEVAABGDxQb3NpdGlvbkNyZWF0ZWQMAQx3aG8AATBUOjpBY2NvdW50SWQAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEUc3Rha2UYARxCYWxhbmNlAAAE0E5ldyBzdGFraW5nIHBvc2l0aW9uIHdhcyBjcmVhdGVkIGFuZCBORlQgd2FzIG1pbnRlZC4oU3Rha2VBZGRlZBwBDHdobwABMFQ6OkFjY291bnRJZAABLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAARRzdGFrZRgBHEJhbGFuY2UAASx0b3RhbF9zdGFrZRgBHEJhbGFuY2UAAThsb2NrZWRfcmV3YXJkcxgBHEJhbGFuY2UAAThzbGFzaGVkX3BvaW50cxgBFFBvaW50AAFIcGF5YWJsZV9wZXJjZW50YWdlPQEBJEZpeGVkVTEyOAABBMhTdGFrZWQgYW1vdW50IGZvciBleGlzdGluZyBwb3NpdGlvbiB3YXMgaW5jcmVhc2VkLjhSZXdhcmRzQ2xhaW1lZBwBDHdobwABMFQ6OkFjY291bnRJZAABLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAATBwYWlkX3Jld2FyZHMYARxCYWxhbmNlAAFAdW5sb2NrZWRfcmV3YXJkcxgBHEJhbGFuY2UAAThzbGFzaGVkX3BvaW50cxgBFFBvaW50AAFYc2xhc2hlZF91bnBhaWRfcmV3YXJkcxgBHEJhbGFuY2UAAUhwYXlhYmxlX3BlcmNlbnRhZ2U9AQEkRml4ZWRVMTI4AAIEVFJld2FyZHMgd2VyZSBjbGFpbWVkLiBVbnN0YWtlZAwBDHdobwABMFQ6OkFjY291bnRJZAABLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAATh1bmxvY2tlZF9zdGFrZRgBHEJhbGFuY2UAAwS8U3Rha2VkIGFtb3VudCB3YXMgd2l0aGRyYXduIGFuZCBORlQgd2FzIGJ1cm5lZC5IU3Rha2luZ0luaXRpYWxpemVkBAFQbm9uX2R1c3RhYmxlX2JhbGFuY2UYARxCYWxhbmNlAAQEYFN0YWtpbmcgd2FzIGluaXRpYWxpemVkLlRBY2N1bXVsYXRlZFJwc1VwZGF0ZWQIATxhY2N1bXVsYXRlZF9ycHM9AQEkRml4ZWRVMTI4AAEsdG90YWxfc3Rha2UYARxCYWxhbmNlAAUE1FN0YWtpbmcncyBgYWNjdW11bGF0ZWRfcmV3YXJkX3Blcl9zdGFrZWAgd2FzIHVwZGF0ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0qQYMRHBhbGxldF9zdGFibGVzd2FwGHBhbGxldBRFdmVudAQEVAABLCxQb29sQ3JlYXRlZBQBHHBvb2xfaWQQAShUOjpBc3NldElkAAEYYXNzZXRzWQMBPFZlYzxUOjpBc3NldElkPgABNGFtcGxpZmljYXRpb26tBgEoTm9uWmVyb1UxNgABDGZlZSEDARxQZXJtaWxsAAEMcGVnsQYBfE9wdGlvbjxQb29sUGVnSW5mbzxUOjpBc3NldElkPj4AAARMQSBwb29sIHdhcyBjcmVhdGVkLihGZWVVcGRhdGVkCAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAAQxmZWUhAwEcUGVybWlsbAABBGhQb29sIGZlZSBoYXMgYmVlbiB1cGRhdGVkLjhMaXF1aWRpdHlBZGRlZBABHHBvb2xfaWQQAShUOjpBc3NldElkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYc2hhcmVzGAEcQmFsYW5jZQABGGFzc2V0c2UDAXBWZWM8QXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4+AAIEqExpcXVpZGl0eSBvZiBhbiBhc3NldCB3YXMgYWRkZWQgdG8gYSBwb29sLkBMaXF1aWRpdHlSZW1vdmVkFAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhzaGFyZXMYARxCYWxhbmNlAAEcYW1vdW50c2UDAXBWZWM8QXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4+AAEMZmVlGAEcQmFsYW5jZQADBEhMaXF1aWRpdHkgcmVtb3ZlZC4wU2VsbEV4ZWN1dGVkHAEMd2hvAAEwVDo6QWNjb3VudElkAAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAEMZmVlGAEcQmFsYW5jZQAECI0BU2VsbCB0cmFkZSBleGVjdXRlZC4gVHJhZGUgZmVlIHBhaWQgaW4gYXNzZXQgbGVhdmluZyB0aGUgcG9vbCAoYWxyZWFkeSBzdWJ0cmFjdGVkIGZyb20gYW1vdW50X291dCkuxERlcHJlY2F0ZWQuIFJlcGxhY2VkIGJ5IHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWQsQnV5RXhlY3V0ZWQcAQx3aG8AATBUOjpBY2NvdW50SWQAARxwb29sX2lkEAEoVDo6QXNzZXRJZAABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAEoYW1vdW50X291dBgBHEJhbGFuY2UAAQxmZWUYARxCYWxhbmNlAAUIeQFCdXkgdHJhZGUgZXhlY3V0ZWQuIFRyYWRlIGZlZSBwYWlkIGluIGFzc2V0IGVudGVyaW5nIHRoZSBwb29sIChhbHJlYWR5IGluY2x1ZGVkIGluIGFtb3VudF9pbikuxERlcHJlY2F0ZWQuIFJlcGxhY2VkIGJ5IHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRQVHJhZGFibGVTdGF0ZVVwZGF0ZWQMARxwb29sX2lkEAEoVDo6QXNzZXRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABFHN0YXRlqQMBLFRyYWRhYmlsaXR5AAYEoEFzc2V0J3MgdHJhZGFibGUgc3RhdGUgaGFzIGJlZW4gdXBkYXRlZC5UQW1wbGlmaWNhdGlvbkNoYW5naW5nFAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAAVRjdXJyZW50X2FtcGxpZmljYXRpb26tBgEoTm9uWmVyb1UxNgABTGZpbmFsX2FtcGxpZmljYXRpb26tBgEoTm9uWmVyb1UxNgABLHN0YXJ0X2Jsb2NrEAFEQmxvY2tOdW1iZXJGb3I8VD4AASRlbmRfYmxvY2sQAURCbG9ja051bWJlckZvcjxUPgAHBNRBbXBsaWZpY2F0aW9uIG9mIGEgcG9vbCBoYXMgYmVlbiBzY2hlZHVsZWQgdG8gY2hhbmdlLjRQb29sRGVzdHJveWVkBAEccG9vbF9pZBABKFQ6OkFzc2V0SWQACARoQSBwb29sIGhhcyBiZWVuIGRlc3Ryb3llZC5QUG9vbFBlZ1NvdXJjZVVwZGF0ZWQMARxwb29sX2lkEAEoVDo6QXNzZXRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABKHBlZ19zb3VyY2WxAwFUUGVnU291cmNlPFQ6OkFzc2V0SWQ+AAkEhFBvb2wgcGVnIHNvdXJjZSBoYXMgYmVlbiB1cGRhdGVkLlxQb29sTWF4UGVnVXBkYXRlVXBkYXRlZAgBHHBvb2xfaWQQAShUOjpBc3NldElkAAE4bWF4X3BlZ191cGRhdGXBAwEcUGVyYmlsbAAKBJRQb29sIG1heCBwZWcgdXBkYXRlIGhhcyBiZWVuIHVwZGF0ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0rQYEKE5vblplcm9VMTYAAAQAyAAAALEGBBhPcHRpb24EBFQBtQYBCBBOb25lAAAAEFNvbWUEALUGAAABAAC1BgxEcGFsbGV0X3N0YWJsZXN3YXAUdHlwZXMsUG9vbFBlZ0luZm8EHEFzc2V0SWQBEAAMARhzb3VyY2WtAwFoQm91bmRlZFBlZ1NvdXJjZXM8QXNzZXRJZD4AAThtYXhfcGVnX3VwZGF0ZcEDARxQZXJiaWxsAAEcY3VycmVudLkGASxCb3VuZGVkUGVncwAAuQYMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEpAwRTAAAEAL0GARhWZWM8VD4AAL0GAAACKQMAwQYMMHBhbGxldF9ib25kcxhwYWxsZXQURXZlbnQEBFQAAQwwVG9rZW5DcmVhdGVkEAEYaXNzdWVyAAEwVDo6QWNjb3VudElkAAEgYXNzZXRfaWQQARxBc3NldElkAAEcYm9uZF9pZBABHEFzc2V0SWQAASBtYXR1cml0eTABGE1vbWVudAAABGxBIGJvbmQgYXNzZXQgd2FzIHJlZ2lzdGVyZWQYSXNzdWVkEAEYaXNzdWVyAAEwVDo6QWNjb3VudElkAAEcYm9uZF9pZBABHEFzc2V0SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAEMZmVlGAEoVDo6QmFsYW5jZQABBFBOZXcgYm9uZCB3ZXJlIGlzc3VlZCBSZWRlZW1lZAwBDHdobwABMFQ6OkFjY291bnRJZAABHGJvbmRfaWQQARxBc3NldElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQACBExCb25kcyB3ZXJlIHJlZGVlbWVkBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0xQYMWHBhbGxldF9vdGNfc2V0dGxlbWVudHMYcGFsbGV0FEV2ZW50BARUAAEEIEV4ZWN1dGVkCAEgYXNzZXRfaWQQATBBc3NldElkT2Y8VD4AARhwcm9maXQYARxCYWxhbmNlAAAEZEEgdHJhZGUgaGFzIGJlZW4gZXhlY3V0ZWQEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTJBgwocGFsbGV0X2xicBhwYWxsZXQURXZlbnQEBFQAARgsUG9vbENyZWF0ZWQIARBwb29sAAEkUG9vbElkPFQ+AAEQZGF0Yc0GAZRQb29sPFQ6OkFjY291bnRJZCwgQmxvY2tOdW1iZXJGb3I8VD4+AAAEsFBvb2wgd2FzIGNyZWF0ZWQgYnkgdGhlIGBDcmVhdGVQb29sYCBvcmlnaW4uLFBvb2xVcGRhdGVkCAEQcG9vbAABJFBvb2xJZDxUPgABEGRhdGHNBgGUUG9vbDxUOjpBY2NvdW50SWQsIEJsb2NrTnVtYmVyRm9yPFQ+PgABBFxQb29sIGRhdGEgd2VyZSB1cGRhdGVkLjhMaXF1aWRpdHlBZGRlZBQBDHdobwABMFQ6OkFjY291bnRJZAABHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAASBhbW91bnRfYRgBMEJhbGFuY2VPZjxUPgABIGFtb3VudF9iGAEwQmFsYW5jZU9mPFQ+AAIEnE5ldyBsaXF1aWRpdHkgd2FzIHByb3ZpZGVkIHRvIHRoZSBwb29sLkBMaXF1aWRpdHlSZW1vdmVkFAEMd2hvAAEwVDo6QWNjb3VudElkAAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABIGFtb3VudF9hGAEwQmFsYW5jZU9mPFQ+AAEgYW1vdW50X2IYATBCYWxhbmNlT2Y8VD4AAwT8TGlxdWlkaXR5IHdhcyByZW1vdmVkIGZyb20gdGhlIHBvb2wgYW5kIHRoZSBwb29sIHdhcyBkZXN0cm95ZWQuMFNlbGxFeGVjdXRlZBwBDHdobwABMFQ6OkFjY291bnRJZAABIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4AAShzYWxlX3ByaWNlGAEwQmFsYW5jZU9mPFQ+AAEkZmVlX2Fzc2V0EAEcQXNzZXRJZAABKGZlZV9hbW91bnQYATBCYWxhbmNlT2Y8VD4ABAg4U2FsZSBleGVjdXRlZC7ERGVwcmVjYXRlZC4gUmVwbGFjZWQgYnkgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZCxCdXlFeGVjdXRlZBwBDHdobwABMFQ6OkFjY291bnRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAASBhc3NldF9pbhABHEFzc2V0SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4AASRidXlfcHJpY2UYATBCYWxhbmNlT2Y8VD4AASRmZWVfYXNzZXQQARxBc3NldElkAAEoZmVlX2Ftb3VudBgBMEJhbGFuY2VPZjxUPgAFCEhQdXJjaGFzZSBleGVjdXRlZC7ERGVwcmVjYXRlZC4gUmVwbGFjZWQgYnkgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldM0GCChwYWxsZXRfbGJwEFBvb2wIJEFjY291bnRJZAEALEJsb2NrTnVtYmVyARAAKAEUb3duZXIAASRBY2NvdW50SWQAARRzdGFydFkBAUxPcHRpb248QmxvY2tOdW1iZXI+AAEMZW5kWQEBTE9wdGlvbjxCbG9ja051bWJlcj4AARhhc3NldHNNAwFIKEFzc2V0SWQsIEFzc2V0SWQpAAE4aW5pdGlhbF93ZWlnaHQQASRMQlBXZWlnaHQAATBmaW5hbF93ZWlnaHQQASRMQlBXZWlnaHQAATB3ZWlnaHRfY3VydmXRAwE8V2VpZ2h0Q3VydmVUeXBlAAEMZmVlTQMBKCh1MzIsIHUzMikAATRmZWVfY29sbGVjdG9yAAEkQWNjb3VudElkAAEwcmVwYXlfdGFyZ2V0GAEcQmFsYW5jZQAA0QYMKHBhbGxldF94eWsYcGFsbGV0FEV2ZW50BARUAAEYOExpcXVpZGl0eUFkZGVkFAEMd2hvAAEwVDo6QWNjb3VudElkAAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABIGFtb3VudF9hGAEcQmFsYW5jZQABIGFtb3VudF9iGAEcQmFsYW5jZQAABJxOZXcgbGlxdWlkaXR5IHdhcyBwcm92aWRlZCB0byB0aGUgcG9vbC5ATGlxdWlkaXR5UmVtb3ZlZBABDHdobwABMFQ6OkFjY291bnRJZAABHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAARhzaGFyZXMYARxCYWxhbmNlAAEEkExpcXVpZGl0eSB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBwb29sLixQb29sQ3JlYXRlZBgBDHdobwABMFQ6OkFjY291bnRJZAABHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAAVRpbml0aWFsX3NoYXJlc19hbW91bnQYARxCYWxhbmNlAAEsc2hhcmVfdG9rZW4QARxBc3NldElkAAEQcG9vbAABMFQ6OkFjY291bnRJZAACBERQb29sIHdhcyBjcmVhdGVkLjRQb29sRGVzdHJveWVkFAEMd2hvAAEwVDo6QWNjb3VudElkAAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABLHNoYXJlX3Rva2VuEAEcQXNzZXRJZAABEHBvb2wAATBUOjpBY2NvdW50SWQAAwRMUG9vbCB3YXMgZGVzdHJveWVkLjBTZWxsRXhlY3V0ZWQgAQx3aG8AATBUOjpBY2NvdW50SWQAASBhc3NldF9pbhABHEFzc2V0SWQAASRhc3NldF9vdXQQARxBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABKHNhbGVfcHJpY2UYARxCYWxhbmNlAAEkZmVlX2Fzc2V0EAEcQXNzZXRJZAABKGZlZV9hbW91bnQYARxCYWxhbmNlAAEQcG9vbAABMFQ6OkFjY291bnRJZAAECFBBc3NldCBzYWxlIGV4ZWN1dGVkLsREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkLEJ1eUV4ZWN1dGVkIAEMd2hvAAEwVDo6QWNjb3VudElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABIGFzc2V0X2luEAEcQXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAASRidXlfcHJpY2UYARxCYWxhbmNlAAEkZmVlX2Fzc2V0EAEcQXNzZXRJZAABKGZlZV9hbW91bnQYARxCYWxhbmNlAAEQcG9vbAABMFQ6OkFjY291bnRJZAAFCGBBc3NldCBwdXJjaGFzZSBleGVjdXRlZC7ERGVwcmVjYXRlZC4gUmVwbGFjZWQgYnkgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldNUGDEBwYWxsZXRfcmVmZXJyYWxzGHBhbGxldBRFdmVudAQEVAABGDhDb2RlUmVnaXN0ZXJlZAgBEGNvZGXhAwFsUmVmZXJyYWxDb2RlPFQ6OkNvZGVMZW5ndGg+AAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAAABIhSZWZlcnJhbCBjb2RlIGhhcyBiZWVuIHJlZ2lzdGVyZWQuKENvZGVMaW5rZWQMARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAEQY29kZeEDAWxSZWZlcnJhbENvZGU8VDo6Q29kZUxlbmd0aD4AAUByZWZlcnJhbF9hY2NvdW50AAEwVDo6QWNjb3VudElkAAEEsFJlZmVycmFsIGNvZGUgaGFzIGJlZW4gbGlua2VkIHRvIGFuIGFjY291bnQuJENvbnZlcnRlZAgBEGZyb23ZBgFcQXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4AAQh0b9kGAVxBc3NldEFtb3VudDxUOjpBc3NldElkPgACBKBBc3NldCBoYXMgYmVlbiBjb252ZXJ0ZWQgdG8gUmV3YXJkQXNzZXQuHENsYWltZWQMAQx3aG8AATBUOjpBY2NvdW50SWQAAUByZWZlcnJlcl9yZXdhcmRzGAEcQmFsYW5jZQABNHRyYWRlX3Jld2FyZHMYARxCYWxhbmNlAAMEQFJld2FyZHMgY2xhaW1lZC5MQXNzZXRSZXdhcmRzVXBkYXRlZAwBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABFGxldmVs5QMBFExldmVsAAEccmV3YXJkc+kDATxGZWVEaXN0cmlidXRpb24ABAR8TmV3IGFzc2V0IHJld2FyZHMgaGFzIGJlZW4gc2V0LhxMZXZlbFVwCAEMd2hvAAEwVDo6QWNjb3VudElkAAEUbGV2ZWzlAwEUTGV2ZWwABQRsUmVmZXJyZXIgcmVhY2hlZCBuZXcgbGV2ZWwuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV02QYIQHBhbGxldF9yZWZlcnJhbHMsQXNzZXRBbW91bnQEHEFzc2V0SWQBEAAIASBhc3NldF9pZBABHEFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAADdBgxIcGFsbGV0X2xpcXVpZGF0aW9uGHBhbGxldBRFdmVudAQEVAABBChMaXF1aWRhdGVkFAEQdXNlckEBAShFdm1BZGRyZXNzAAFAY29sbGF0ZXJhbF9hc3NldBABHEFzc2V0SWQAAShkZWJ0X2Fzc2V0EAEcQXNzZXRJZAABNGRlYnRfdG9fY292ZXIYARxCYWxhbmNlAAEYcHJvZml0GAEcQmFsYW5jZQAABKRNb25leSBtYXJrZXQgcG9zaXRpb24gaGFzIGJlZW4gbGlxdWlkYXRlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldOEGDChwYWxsZXRfaHNtGHBhbGxldBRFdmVudAQEVAABFDxDb2xsYXRlcmFsQWRkZWQYASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARxwb29sX2lkEAEoVDo6QXNzZXRJZAABMHB1cmNoYXNlX2ZlZSEDARxQZXJtaWxsAAFkbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudD0BAUBDb2VmZmljaWVudFJhdGlvAAEwYnV5X2JhY2tfZmVlIQMBHFBlcm1pbGwAATBidXliYWNrX3JhdGXBAwEcUGVyYmlsbAAAJIBBIG5ldyBjb2xsYXRlcmFsIGFzc2V0IHdhcyBhZGRlZAAsUGFyYW1ldGVyczrULSBgYXNzZXRfaWRgOiBUaGUgSUQgb2YgdGhlIGFzc2V0IGFkZGVkIGFzIGNvbGxhdGVyYWzwLSBgcG9vbF9pZGA6IFRoZSBTdGFibGVTd2FwIHBvb2wgSUQgd2hlcmUgdGhpcyBhc3NldCBiZWxvbmdzAQEtIGBwdXJjaGFzZV9mZWVgOiBGZWUgYXBwbGllZCB3aGVuIGJ1eWluZyBIb2xsYXIgd2l0aCB0aGlzIGFzc2V0XQEtIGBtYXhfYnV5X3ByaWNlX2NvZWZmaWNpZW50YDogTWF4aW11bSBidXkgcHJpY2UgY29lZmZpY2llbnQgZm9yIEhTTSB0byBidXkgYmFjayBIb2xsYXLULSBgYnV5X2JhY2tfZmVlYDogRmVlIGFwcGxpZWQgd2hlbiBidXlpbmcgYmFjayBIb2xsYXJhAS0gYGJ1eWJhY2tfcmF0ZWA6IFBhcmFtZXRlciB0aGF0IGNvbnRyb2xzIGhvdyBxdWlja2x5IEhTTSBjYW4gYnV5IEhvbGxhciB3aXRoIHRoaXMgYXNzZXREQ29sbGF0ZXJhbFJlbW92ZWQEASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARB4QSBjb2xsYXRlcmFsIGFzc2V0IHdhcyByZW1vdmVkACxQYXJhbWV0ZXJzOugtIGBhc3NldF9pZGA6IFRoZSBJRCBvZiB0aGUgYXNzZXQgcmVtb3ZlZCBmcm9tIGNvbGxhdGVyYWxzRENvbGxhdGVyYWxVcGRhdGVkFAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEwcHVyY2hhc2VfZmVl9QMBPE9wdGlvbjxQZXJtaWxsPgABZG1heF9idXlfcHJpY2VfY29lZmZpY2llbnT5AwFgT3B0aW9uPENvZWZmaWNpZW50UmF0aW8+AAEwYnV5X2JhY2tfZmVl9QMBPE9wdGlvbjxQZXJtaWxsPgABMGJ1eWJhY2tfcmF0Zf0DATxPcHRpb248UGVyYmlsbD4AAiB4QSBjb2xsYXRlcmFsIGFzc2V0IHdhcyB1cGRhdGVkACxQYXJhbWV0ZXJzOtAtIGBhc3NldF9pZGA6IFRoZSBJRCBvZiB0aGUgdXBkYXRlZCBjb2xsYXRlcmFsIGFzc2V0DQEtIGBwdXJjaGFzZV9mZWVgOiBOZXcgcHVyY2hhc2UgZmVlIGlmIHVwZGF0ZWQgKE5vbmUgaWYgbm90IGNoYW5nZWQpdQEtIGBtYXhfYnV5X3ByaWNlX2NvZWZmaWNpZW50YDogTmV3IG1heCBidXkgcHJpY2UgY29lZmZpY2llbnQgaWYgdXBkYXRlZCAoTm9uZSBpZiBub3QgY2hhbmdlZCkNAS0gYGJ1eV9iYWNrX2ZlZWA6IE5ldyBidXkgYmFjayBmZWUgaWYgdXBkYXRlZCAoTm9uZSBpZiBub3QgY2hhbmdlZCkNAS0gYGJ1eWJhY2tfcmF0ZWA6IE5ldyBidXliYWNrIHJhdGUgaWYgdXBkYXRlZCAoTm9uZSBpZiBub3QgY2hhbmdlZClEQXJiaXRyYWdlRXhlY3V0ZWQQASRhcmJpdHJhZ2UIAQh1OAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABNGhvbGxhcl9hbW91bnQYARxCYWxhbmNlAAEYcHJvZml0GAEcQmFsYW5jZQADFHxBcmJpdHJhZ2UgZXhlY3V0ZWQgc3VjY2Vzc2Z1bGx5ACxQYXJhbWV0ZXJzOuAtIGBhc3NldF9pZGA6IFRoZSBjb2xsYXRlcmFsIGFzc2V0IHVzZWQgaW4gdGhlIGFyYml0cmFnZUEBLSBgaG9sbGFyX2Ftb3VudGA6IEFtb3VudCBvZiBIb2xsYXIgdGhhdCB3YXMgaW5jbHVkZWQgaW4gdGhlIGFyYml0cmFnZSBvcGVyYXRpb244Rmxhc2hNaW50ZXJTZXQEATBmbGFzaF9taW50ZXJBAQEoRXZtQWRkcmVzcwAEEGBGbGFzaCBtaW50ZXIgYWRkcmVzcyBzZXQALFBhcmFtZXRlcnM6+C0gYGZsYXNoX21pbnRlcmA6IFRoZSBFVk0gYWRkcmVzcyBvZiB0aGUgZmxhc2ggbWludGVyIGNvbnRyYWN0BHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV05QYMLG9ybWxfdG9rZW5zGG1vZHVsZRRFdmVudAQEVAABRBxFbmRvd2VkDAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAABLhBbiBhY2NvdW50IHdhcyBjcmVhdGVkIHdpdGggc29tZSBmcmVlIGJhbGFuY2UuIER1c3RMb3N0DAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQABCOxBbiBhY2NvdW50IHdhcyByZW1vdmVkIHdob3NlIGJhbGFuY2Ugd2FzIG5vbi16ZXJvIGJ1dCBiZWxvd8hFeGlzdGVudGlhbERlcG9zaXQsIHJlc3VsdGluZyBpbiBhbiBvdXRyaWdodCBsb3NzLiBUcmFuc2ZlchABLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABEGZyb20AATBUOjpBY2NvdW50SWQAAQh0bwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAAgRMVHJhbnNmZXIgc3VjY2VlZGVkLiBSZXNlcnZlZAwBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAAwTgU29tZSBiYWxhbmNlIHdhcyByZXNlcnZlZCAobW92ZWQgZnJvbSBmcmVlIHRvIHJlc2VydmVkKS4oVW5yZXNlcnZlZAwBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UABAToU29tZSBiYWxhbmNlIHdhcyB1bnJlc2VydmVkIChtb3ZlZCBmcm9tIHJlc2VydmVkIHRvIGZyZWUpLkhSZXNlcnZlUmVwYXRyaWF0ZWQUASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARBmcm9tAAEwVDo6QWNjb3VudElkAAEIdG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAEYc3RhdHVzgAE0QmFsYW5jZVN0YXR1cwAFCPRTb21lIHJlc2VydmVkIGJhbGFuY2Ugd2FzIHJlcGF0cmlhdGVkIChtb3ZlZCBmcm9tIHJlc2VydmVkIHRvRGFub3RoZXIgYWNjb3VudCkuKEJhbGFuY2VTZXQQASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARBmcmVlGAEoVDo6QmFsYW5jZQABIHJlc2VydmVkGAEoVDo6QmFsYW5jZQAGBGhBIGJhbGFuY2Ugd2FzIHNldCBieSByb290LkBUb3RhbElzc3VhbmNlU2V0CAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAHBLhUaGUgdG90YWwgaXNzdWFuY2Ugb2YgYW4gY3VycmVuY3kgaGFzIGJlZW4gc2V0JFdpdGhkcmF3bgwBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UACATsU29tZSBiYWxhbmNlcyB3ZXJlIHdpdGhkcmF3biAoZS5nLiBwYXkgZm9yIHRyYW5zYWN0aW9uIGZlZSkcU2xhc2hlZBABLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAABLGZyZWVfYW1vdW50GAEoVDo6QmFsYW5jZQABPHJlc2VydmVkX2Ftb3VudBgBKFQ6OkJhbGFuY2UACQTUU29tZSBiYWxhbmNlcyB3ZXJlIHNsYXNoZWQgKGUuZy4gZHVlIHRvIG1pcy1iZWhhdmlvcikkRGVwb3NpdGVkDAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAKBJhEZXBvc2l0ZWQgc29tZSBiYWxhbmNlIGludG8gYW4gYWNjb3VudBxMb2NrU2V0EAEcbG9ja19pZP0BAThMb2NrSWRlbnRpZmllcgABLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UACwRUU29tZSBmdW5kcyBhcmUgbG9ja2VkLExvY2tSZW1vdmVkDAEcbG9ja19pZP0BAThMb2NrSWRlbnRpZmllcgABLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAAMBHxTb21lIGxvY2tlZCBmdW5kcyB3ZXJlIHVubG9ja2VkGExvY2tlZAwBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UADQR0U29tZSBmcmVlIGJhbGFuY2Ugd2FzIGxvY2tlZC4gVW5sb2NrZWQMASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAA4EeFNvbWUgbG9ja2VkIGJhbGFuY2Ugd2FzIGZyZWVkLhhJc3N1ZWQIASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAA8AJFJlc2NpbmRlZAgBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAEAAEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTpBgxEcGFsbGV0X2N1cnJlbmNpZXMYbW9kdWxlFEV2ZW50BARUAAEQLFRyYW5zZmVycmVkEAEsY3VycmVuY3lfaWQQATxDdXJyZW5jeUlkT2Y8VD4AARBmcm9tAAEwVDo6QWNjb3VudElkAAEIdG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4AAARoQ3VycmVuY3kgdHJhbnNmZXIgc3VjY2Vzcy44QmFsYW5jZVVwZGF0ZWQMASxjdXJyZW5jeV9pZBABPEN1cnJlbmN5SWRPZjxUPgABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudA0EASxBbW91bnRPZjxUPgABBFxVcGRhdGUgYmFsYW5jZSBzdWNjZXNzLiREZXBvc2l0ZWQMASxjdXJyZW5jeV9pZBABPEN1cnJlbmN5SWRPZjxUPgABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgACBEBEZXBvc2l0IHN1Y2Nlc3MuJFdpdGhkcmF3bgwBLGN1cnJlbmN5X2lkEAE8Q3VycmVuY3lJZE9mPFQ+AAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAMERFdpdGhkcmF3IHN1Y2Nlc3MuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV07QYMMG9ybWxfdmVzdGluZxhtb2R1bGUURXZlbnQEBFQAAQxQVmVzdGluZ1NjaGVkdWxlQWRkZWQMARBmcm9tAAEwVDo6QWNjb3VudElkAAEIdG8AATBUOjpBY2NvdW50SWQAAUB2ZXN0aW5nX3NjaGVkdWxlFQQBUFZlc3RpbmdTY2hlZHVsZU9mPFQ+AAAEbEFkZGVkIG5ldyB2ZXN0aW5nIHNjaGVkdWxlLhxDbGFpbWVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAEEQENsYWltZWQgdmVzdGluZy5cVmVzdGluZ1NjaGVkdWxlc1VwZGF0ZWQEAQx3aG8AATBUOjpBY2NvdW50SWQAAgRoVXBkYXRlZCB2ZXN0aW5nIHNjaGVkdWxlcy4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTxBgwocGFsbGV0X2V2bRhwYWxsZXQURXZlbnQEBFQAARQMTG9nBAEMbG9n9QYBDExvZwAABHxFdGhlcmV1bSBldmVudHMgZnJvbSBjb250cmFjdHMuHENyZWF0ZWQEARxhZGRyZXNzQQEBEEgxNjAAAQS0QSBjb250cmFjdCBoYXMgYmVlbiBjcmVhdGVkIGF0IGdpdmVuIGFkZHJlc3MuNENyZWF0ZWRGYWlsZWQEARxhZGRyZXNzQQEBEEgxNjAAAgQFAUEgY29udHJhY3Qgd2FzIGF0dGVtcHRlZCB0byBiZSBjcmVhdGVkLCBidXQgdGhlIGV4ZWN1dGlvbiBmYWlsZWQuIEV4ZWN1dGVkBAEcYWRkcmVzc0EBARBIMTYwAAME+EEgY29udHJhY3QgaGFzIGJlZW4gZXhlY3V0ZWQgc3VjY2Vzc2Z1bGx5IHdpdGggc3RhdGVzIGFwcGxpZWQuOEV4ZWN1dGVkRmFpbGVkBAEcYWRkcmVzc0EBARBIMTYwAAQEZQFBIGNvbnRyYWN0IGhhcyBiZWVuIGV4ZWN1dGVkIHdpdGggZXJyb3JzLiBTdGF0ZXMgYXJlIHJldmVydGVkIHdpdGggb25seSBnYXMgZmVlcyBhcHBsaWVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldPUGDCBldGhlcmV1bQxsb2cMTG9nAAAMARxhZGRyZXNzQQEBEEgxNjAAARh0b3BpY3PJAQEkVmVjPEgyNTY+AAEQZGF0YTgBFEJ5dGVzAAD5Bgw8cGFsbGV0X2V0aGVyZXVtGHBhbGxldBRFdmVudAABBCBFeGVjdXRlZBQBEGZyb21BAQEQSDE2MAABCHRvQQEBEEgxNjAAAUB0cmFuc2FjdGlvbl9oYXNoNAEQSDI1NgABLGV4aXRfcmVhc29u/QYBKEV4aXRSZWFzb24AAShleHRyYV9kYXRhOAEcVmVjPHU4PgAABMhBbiBldGhlcmV1bSB0cmFuc2FjdGlvbiB3YXMgc3VjY2Vzc2Z1bGx5IGV4ZWN1dGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldP0GDCBldm1fY29yZRRlcnJvcihFeGl0UmVhc29uAAEQHFN1Y2NlZWQEAAEHASxFeGl0U3VjY2VlZAAAABRFcnJvcgQABQcBJEV4aXRFcnJvcgABABhSZXZlcnQEABUHAShFeGl0UmV2ZXJ0AAIAFEZhdGFsBAAZBwEkRXhpdEZhdGFsAAMAAAEHDCBldm1fY29yZRRlcnJvcixFeGl0U3VjY2VlZAABDBxTdG9wcGVkAAAAIFJldHVybmVkAAEAIFN1aWNpZGVkAAIAAAUHDCBldm1fY29yZRRlcnJvciRFeGl0RXJyb3IAAUA4U3RhY2tVbmRlcmZsb3cAAAA0U3RhY2tPdmVyZmxvdwABACxJbnZhbGlkSnVtcAACADBJbnZhbGlkUmFuZ2UAAwBERGVzaWduYXRlZEludmFsaWQABAAsQ2FsbFRvb0RlZXAABQA8Q3JlYXRlQ29sbGlzaW9uAAYATENyZWF0ZUNvbnRyYWN0TGltaXQABwAsSW52YWxpZENvZGUEAAkHARhPcGNvZGUADwAsT3V0T2ZPZmZzZXQACAAgT3V0T2ZHYXMACQAkT3V0T2ZGdW5kAAoALFBDVW5kZXJmbG93AAsALENyZWF0ZUVtcHR5AAwAFE90aGVyBAANBwFEQ293PCdzdGF0aWMsIHN0cj4ADQAgTWF4Tm9uY2UADgAACQcMIGV2bV9jb3JlGG9wY29kZRhPcGNvZGUAAAQACAEIdTgAAA0HBAxDb3cEBFQBEQcABAARBwAAABEHAAAFAgAVBwwgZXZtX2NvcmUUZXJyb3IoRXhpdFJldmVydAABBCBSZXZlcnRlZAAAAAAZBwwgZXZtX2NvcmUUZXJyb3IkRXhpdEZhdGFsAAEQME5vdFN1cHBvcnRlZAAAAEhVbmhhbmRsZWRJbnRlcnJ1cHQAAQBAQ2FsbEVycm9yQXNGYXRhbAQABQcBJEV4aXRFcnJvcgACABRPdGhlcgQADQcBRENvdzwnc3RhdGljLCBzdHI+AAMAAB0HDExwYWxsZXRfZXZtX2FjY291bnRzGHBhbGxldBRFdmVudAQEVAABFBRCb3VuZAgBHGFjY291bnQAATBUOjpBY2NvdW50SWQAARxhZGRyZXNzQQEBKEV2bUFkZHJlc3MAAARQQmluZGluZyB3YXMgY3JlYXRlZC40RGVwbG95ZXJBZGRlZAQBDHdob0EBAShFdm1BZGRyZXNzAAEETERlcGxveWVyIHdhcyBhZGRlZC48RGVwbG95ZXJSZW1vdmVkBAEMd2hvQQEBKEV2bUFkZHJlc3MAAgRURGVwbG95ZXIgd2FzIHJlbW92ZWQuQENvbnRyYWN0QXBwcm92ZWQEARxhZGRyZXNzQQEBKEV2bUFkZHJlc3MAAwRYQ29udHJhY3Qgd2FzIGFwcHJvdmVkLkxDb250cmFjdERpc2FwcHJvdmVkBAEcYWRkcmVzc0EBAShFdm1BZGRyZXNzAAQEZENvbnRyYWN0IHdhcyBkaXNhcHByb3ZlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXQhBwxscGFsbGV0X3h5a19saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFdmVudAQEVAABNERHbG9iYWxGYXJtQ3JlYXRlZCwBCGlkEAEwR2xvYmFsRmFybUlkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAATR0b3RhbF9yZXdhcmRzGAEcQmFsYW5jZQABPHJld2FyZF9jdXJyZW5jeRABHEFzc2V0SWQAAUB5aWVsZF9wZXJfcGVyaW9kPQMBLFBlcnF1aW50aWxsAAFgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzEAEsUGVyaW9kT2Y8VD4AAURibG9ja3NfcGVyX3BlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAFIaW5jZW50aXZpemVkX2Fzc2V0EAEcQXNzZXRJZAABVG1heF9yZXdhcmRfcGVyX3BlcmlvZBgBHEJhbGFuY2UAASxtaW5fZGVwb3NpdBgBHEJhbGFuY2UAAUBwcmljZV9hZGp1c3RtZW50PQEBJEZpeGVkVTEyOAAABHBOZXcgZ2xvYmFsIGZhcm0gd2FzIGNyZWF0ZWQuREdsb2JhbEZhcm1VcGRhdGVkCAEIaWQQATBHbG9iYWxGYXJtSWQAAUBwcmljZV9hZGp1c3RtZW50PQEBJEZpeGVkVTEyOAABBLRHbG9iYWwgZmFybSdzIGBwcmljZV9hZGp1c3RtZW50YCB3YXMgdXBkYXRlZC5AWWllbGRGYXJtQ3JlYXRlZBQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEobXVsdGlwbGllcj0BAThGYXJtTXVsdGlwbGllcgABKGFzc2V0X3BhaXJdBAEkQXNzZXRQYWlyAAE0bG95YWx0eV9jdXJ2ZUEDAVBPcHRpb248TG95YWx0eUN1cnZlPgACBJxOZXcgeWllbGQgZmFybSB3YXMgYWRkZWQgaW50byB0aGUgZmFybS5QR2xvYmFsRmFybVRlcm1pbmF0ZWQQAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABPHJld2FyZF9jdXJyZW5jeRABHEFzc2V0SWQAAVR1bmRpc3RyaWJ1dGVkX3Jld2FyZHMYARxCYWxhbmNlAAMEbEdsb2JhbCBmYXJtIHdhcyB0ZXJtaW5hdGVkLjxTaGFyZXNEZXBvc2l0ZWQYAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBHEJhbGFuY2UAASBscF90b2tlbhABHEFzc2V0SWQAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAQEcE5ldyBMUCB0b2tlbnMgd2FzIGRlcG9zaXRlZC5EU2hhcmVzUmVkZXBvc2l0ZWQYAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBHEJhbGFuY2UAASBscF90b2tlbhABHEFzc2V0SWQAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAUEzExQIHRva2VuIHdhcyByZWRlcG9zaXRlZCBmb3IgYSBuZXcgeWllbGQgZmFybSBlbnRyeTRSZXdhcmRDbGFpbWVkGAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARxjbGFpbWVkGAEcQmFsYW5jZQABPHJld2FyZF9jdXJyZW5jeRABHEFzc2V0SWQAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAYEUFJld2FyZHMgd2FzIGNsYWltZWQuPFNoYXJlc1dpdGhkcmF3bhgBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEgbHBfdG9rZW4QARxBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQABwRgTFAgdG9rZW5zIHdhcyB3aXRoZHJhd24uQFlpZWxkRmFybVN0b3BwZWQQAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABKGFzc2V0X3BhaXJdBAEkQXNzZXRQYWlyAAgEmFlpZWxkIGZhcm0gZm9yIGFzc2V0IHBhaXIgd2FzIHN0b3BwZWQuQFlpZWxkRmFybVJlc3VtZWQUAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABKGFzc2V0X3BhaXJdBAEkQXNzZXRQYWlyAAEobXVsdGlwbGllcj0BAThGYXJtTXVsdGlwbGllcgAJBJhZaWVsZCBmYXJtIGZvciBhc3NldCBwYWlyIHdhcyByZXN1bWVkLkxZaWVsZEZhcm1UZXJtaW5hdGVkEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAAShhc3NldF9wYWlyXQQBJEFzc2V0UGFpcgAKBKxZaWVsZCBmYXJtIHdhcyB0ZXJtaW5hdGVkIGZyb20gZ2xvYmFsIGZhcm0uQFlpZWxkRmFybVVwZGF0ZWQUAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABKGFzc2V0X3BhaXJdBAEkQXNzZXRQYWlyAAEobXVsdGlwbGllcj0BAThGYXJtTXVsdGlwbGllcgALBIhZaWVsZCBmYXJtIG11bHRpcGxpZXIgd2FzIHVwZGF0ZWQuQERlcG9zaXREZXN0cm95ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAwErE5GVCByZXByZXNlbnRpbmcgZGVwb3NpdCBoYXMgYmVlbiBkZXN0cm95ZWQEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXQlBwxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0FEV2ZW50CARUAARJAAEMXEdsb2JhbEZhcm1BY2NSUFpVcGRhdGVkDAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATxhY2N1bXVsYXRlZF9ycHo9AQEkRml4ZWRVMTI4AAE4dG90YWxfc2hhcmVzX3oYARxCYWxhbmNlAAAE1Edsb2JhbCBmYXJtIGFjY3VtdWxhdGVkIHJld2FyZCBwZXIgc2hhcmUgd2FzIHVwZGF0ZWQuXFlpZWxkRmFybUFjY1JQVlNVcGRhdGVkEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAUBhY2N1bXVsYXRlZF9ycHZzPQEBJEZpeGVkVTEyOAABTHRvdGFsX3ZhbHVlZF9zaGFyZXMYARxCYWxhbmNlAAEE7FlpZWxkIGZhcm0gYWNjdW11bGF0ZWQgcmV3YXJkIHBlciB2YWx1ZWQgc2hhcmUgd2FzIHVwZGF0ZWQuVEFsbFJld2FyZHNEaXN0cmlidXRlZAQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAIE8Edsb2JhbCBmYXJtIGhhcyBubyBtb3JlIHJld2FyZHMgdG8gZGlzdHJpYnV0ZSBpbiB0aGUgbW9tZW50LgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldCkHDFhwYWxsZXRfcmVsYXljaGFpbl9pbmZvGHBhbGxldBRFdmVudAQEVAABBExDdXJyZW50QmxvY2tOdW1iZXJzCAFYcGFyYWNoYWluX2Jsb2NrX251bWJlchABREJsb2NrTnVtYmVyRm9yPFQ+AAFccmVsYXljaGFpbl9ibG9ja19udW1iZXIQAURCbG9ja051bWJlckZvcjxUPgAACFRDdXJyZW50IGJsb2NrIG51bWJlcnPMWyBQYXJhY2hhaW4gYmxvY2sgbnVtYmVyLCBSZWxheWNoYWluIEJsb2NrIG51bWJlciBdBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0LQcMKHBhbGxldF9kY2EYcGFsbGV0FEV2ZW50BARUAAEkQEV4ZWN1dGlvblN0YXJ0ZWQIAQhpZBABKFNjaGVkdWxlSWQAARRibG9jaxABREJsb2NrTnVtYmVyRm9yPFQ+AAAEcFRoZSBEQ0EgZXhlY3V0aW9uIGlzIHN0YXJ0ZWQkU2NoZWR1bGVkFAEIaWQQAShTY2hlZHVsZUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4AATB0b3RhbF9hbW91bnQYARxCYWxhbmNlAAEUb3JkZXJ5BAFET3JkZXI8VDo6QXNzZXRJZD4AAQScVGhlIERDQSBpcyBzY2hlZHVsZWQgZm9yIG5leHQgZXhlY3V0aW9uQEV4ZWN1dGlvblBsYW5uZWQMAQhpZBABKFNjaGVkdWxlSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARRibG9jaxABREJsb2NrTnVtYmVyRm9yPFQ+AAIEiFRoZSBEQ0EgaXMgcGxhbm5lZCBmb3IgYmxvY2tudW1iZXI0VHJhZGVFeGVjdXRlZBABCGlkEAEoU2NoZWR1bGVJZAABDHdobwABMFQ6OkFjY291bnRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAShhbW91bnRfb3V0GAEcQmFsYW5jZQADBJhUaGUgRENBIHRyYWRlIGlzIHN1Y2Nlc3NmdWxseSBleGVjdXRlZCxUcmFkZUZhaWxlZAwBCGlkEAEoU2NoZWR1bGVJZAABDHdobwABMFQ6OkFjY291bnRJZAABFGVycm9yaAE0RGlzcGF0Y2hFcnJvcgAEBIRUaGUgRENBIHRyYWRlIGV4ZWN1dGlvbiBpcyBmYWlsZWQoVGVybWluYXRlZAwBCGlkEAEoU2NoZWR1bGVJZAABDHdobwABMFQ6OkFjY291bnRJZAABFGVycm9yaAE0RGlzcGF0Y2hFcnJvcgAFBOxUaGUgRENBIGlzIHRlcm1pbmF0ZWQgYW5kIGNvbXBsZXRlbHkgcmVtb3ZlZCBmcm9tIHRoZSBjaGFpbiRDb21wbGV0ZWQIAQhpZBABKFNjaGVkdWxlSWQAAQx3aG8AATBUOjpBY2NvdW50SWQABgToVGhlIERDQSBpcyBjb21wbGV0ZWQgYW5kIGNvbXBsZXRlbHkgcmVtb3ZlZCBmcm9tIHRoZSBjaGFpbmhSYW5kb21uZXNzR2VuZXJhdGlvbkZhaWxlZAgBFGJsb2NrEAFEQmxvY2tOdW1iZXJGb3I8VD4AARRlcnJvcmgBNERpc3BhdGNoRXJyb3IABwRBAVJhbmRvbW5lc3MgZ2VuZXJhdGlvbiBmYWlsZWQgcG9zc2libHkgY29taW5nIGZyb20gbWlzc2luZyBkYXRhIGFib3V0IHJlbGF5IGNoYWluPFJlc2VydmVVbmxvY2tlZAgBDHdobwABMFQ6OkFjY291bnRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAAIBPREQ0EgcmVzZXJ2ZSBmb3IgdGhlIGdpdmVuIGFzc2V0IGhhdmUgYmVlbiB1bmxvY2tlZCBmb3IgYSB1c2VyBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0MQcMQHBhbGxldF9zY2hlZHVsZXIYcGFsbGV0FEV2ZW50BARUAAEkJFNjaGVkdWxlZAgBEHdoZW4QAURCbG9ja051bWJlckZvcjxUPgABFGluZGV4EAEMdTMyAAAEUFNjaGVkdWxlZCBzb21lIHRhc2suIENhbmNlbGVkCAEQd2hlbhABREJsb2NrTnVtYmVyRm9yPFQ+AAEUaW5kZXgQAQx1MzIAAQRMQ2FuY2VsZWQgc29tZSB0YXNrLihEaXNwYXRjaGVkDAEQdGFza00DAXhUYXNrQWRkcmVzczxCbG9ja051bWJlckZvcjxUPj4AAQhpZDUHAUBPcHRpb248VGFza05hbWU+AAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQAAgRURGlzcGF0Y2hlZCBzb21lIHRhc2suIFJldHJ5U2V0EAEQdGFza00DAXhUYXNrQWRkcmVzczxCbG9ja051bWJlckZvcjxUPj4AAQhpZDUHAUBPcHRpb248VGFza05hbWU+AAEYcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4AARxyZXRyaWVzCAEIdTgAAwSgU2V0IGEgcmV0cnkgY29uZmlndXJhdGlvbiBmb3Igc29tZSB0YXNrLjhSZXRyeUNhbmNlbGxlZAgBEHRhc2tNAwF4VGFza0FkZHJlc3M8QmxvY2tOdW1iZXJGb3I8VD4+AAEIaWQ1BwFAT3B0aW9uPFRhc2tOYW1lPgAEBKxDYW5jZWwgYSByZXRyeSBjb25maWd1cmF0aW9uIGZvciBzb21lIHRhc2suPENhbGxVbmF2YWlsYWJsZQgBEHRhc2tNAwF4VGFza0FkZHJlc3M8QmxvY2tOdW1iZXJGb3I8VD4+AAEIaWQ1BwFAT3B0aW9uPFRhc2tOYW1lPgAFBCkBVGhlIGNhbGwgZm9yIHRoZSBwcm92aWRlZCBoYXNoIHdhcyBub3QgZm91bmQgc28gdGhlIHRhc2sgaGFzIGJlZW4gYWJvcnRlZC44UGVyaW9kaWNGYWlsZWQIARB0YXNrTQMBeFRhc2tBZGRyZXNzPEJsb2NrTnVtYmVyRm9yPFQ+PgABCGlkNQcBQE9wdGlvbjxUYXNrTmFtZT4ABgQ9AVRoZSBnaXZlbiB0YXNrIHdhcyB1bmFibGUgdG8gYmUgcmVuZXdlZCBzaW5jZSB0aGUgYWdlbmRhIGlzIGZ1bGwgYXQgdGhhdCBibG9jay4sUmV0cnlGYWlsZWQIARB0YXNrTQMBeFRhc2tBZGRyZXNzPEJsb2NrTnVtYmVyRm9yPFQ+PgABCGlkNQcBQE9wdGlvbjxUYXNrTmFtZT4ABwhdAVRoZSBnaXZlbiB0YXNrIHdhcyB1bmFibGUgdG8gYmUgcmV0cmllZCBzaW5jZSB0aGUgYWdlbmRhIGlzIGZ1bGwgYXQgdGhhdCBibG9jayBvciB0aGVyZZx3YXMgbm90IGVub3VnaCB3ZWlnaHQgdG8gcmVzY2hlZHVsZSBpdC5UUGVybWFuZW50bHlPdmVyd2VpZ2h0CAEQdGFza00DAXhUYXNrQWRkcmVzczxCbG9ja051bWJlckZvcjxUPj4AAQhpZDUHAUBPcHRpb248VGFza05hbWU+AAgE8FRoZSBnaXZlbiB0YXNrIGNhbiBuZXZlciBiZSBleGVjdXRlZCBzaW5jZSBpdCBpcyBvdmVyd2VpZ2h0LgQwRXZlbnRzIHR5cGUuNQcEGE9wdGlvbgQEVAEEAQgQTm9uZQAAABBTb21lBAAEAAABAAA5Bwx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbRhwYWxsZXQURXZlbnQEBFQAARhgVmFsaWRhdGlvbkZ1bmN0aW9uU3RvcmVkAAAE0FRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9uIGhhcyBiZWVuIHNjaGVkdWxlZCB0byBhcHBseS5kVmFsaWRhdGlvbkZ1bmN0aW9uQXBwbGllZAQBVHJlbGF5X2NoYWluX2Jsb2NrX251bRABVFJlbGF5Q2hhaW5CbG9ja051bWJlcgABBEUBVGhlIHZhbGlkYXRpb24gZnVuY3Rpb24gd2FzIGFwcGxpZWQgYXMgb2YgdGhlIGNvbnRhaW5lZCByZWxheSBjaGFpbiBibG9jayBudW1iZXIubFZhbGlkYXRpb25GdW5jdGlvbkRpc2NhcmRlZAACBLBUaGUgcmVsYXktY2hhaW4gYWJvcnRlZCB0aGUgdXBncmFkZSBwcm9jZXNzLmBEb3dud2FyZE1lc3NhZ2VzUmVjZWl2ZWQEARRjb3VudBABDHUzMgADBAEBU29tZSBkb3dud2FyZCBtZXNzYWdlcyBoYXZlIGJlZW4gcmVjZWl2ZWQgYW5kIHdpbGwgYmUgcHJvY2Vzc2VkLmREb3dud2FyZE1lc3NhZ2VzUHJvY2Vzc2VkCAEsd2VpZ2h0X3VzZWQoARhXZWlnaHQAASBkbXFfaGVhZDQBRHJlbGF5X2NoYWluOjpIYXNoAAQE4ERvd253YXJkIG1lc3NhZ2VzIHdlcmUgcHJvY2Vzc2VkIHVzaW5nIHRoZSBnaXZlbiB3ZWlnaHQuRFVwd2FyZE1lc3NhZ2VTZW50BAEwbWVzc2FnZV9oYXNoNQcBPE9wdGlvbjxYY21IYXNoPgAFBLhBbiB1cHdhcmQgbWVzc2FnZSB3YXMgc2VudCB0byB0aGUgcmVsYXkgY2hhaW4uBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0PQcMKHBhbGxldF94Y20YcGFsbGV0FEV2ZW50BARUAAFgJEF0dGVtcHRlZAQBHG91dGNvbWVBBwFQeGNtOjpsYXRlc3Q6Ok91dGNvbWUAAASoRXhlY3V0aW9uIG9mIGFuIFhDTSBtZXNzYWdlIHdhcyBhdHRlbXB0ZWQuEFNlbnQQARhvcmlnaW59AQEgTG9jYXRpb24AASxkZXN0aW5hdGlvbn0BASBMb2NhdGlvbgABHG1lc3NhZ2WVBQEcWGNtPCgpPgABKG1lc3NhZ2VfaWQEARxYY21IYXNoAAEEXEEgWENNIG1lc3NhZ2Ugd2FzIHNlbnQuSFVuZXhwZWN0ZWRSZXNwb25zZQgBGG9yaWdpbn0BASBMb2NhdGlvbgABIHF1ZXJ5X2lkMAEcUXVlcnlJZAACDFkBUXVlcnkgcmVzcG9uc2UgcmVjZWl2ZWQgd2hpY2ggZG9lcyBub3QgbWF0Y2ggYSByZWdpc3RlcmVkIHF1ZXJ5LiBUaGlzIG1heSBiZSBiZWNhdXNlIGFVAW1hdGNoaW5nIHF1ZXJ5IHdhcyBuZXZlciByZWdpc3RlcmVkLCBpdCBtYXkgYmUgYmVjYXVzZSBpdCBpcyBhIGR1cGxpY2F0ZSByZXNwb25zZSwgb3JwYmVjYXVzZSB0aGUgcXVlcnkgdGltZWQgb3V0LjRSZXNwb25zZVJlYWR5CAEgcXVlcnlfaWQwARxRdWVyeUlkAAEgcmVzcG9uc2W5BQEgUmVzcG9uc2UAAwhdAVF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGFuZCBpcyByZWFkeSBmb3IgdGFraW5nIHdpdGggYHRha2VfcmVzcG9uc2VgLiBUaGVyZSBpc4BubyByZWdpc3RlcmVkIG5vdGlmaWNhdGlvbiBjYWxsLiBOb3RpZmllZAwBIHF1ZXJ5X2lkMAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAgBCHU4AAEoY2FsbF9pbmRleAgBCHU4AAQIWQFRdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBhbmQgcXVlcnkgaXMgcmVtb3ZlZC4gVGhlIHJlZ2lzdGVyZWQgbm90aWZpY2F0aW9uIGhhc6hiZWVuIGRpc3BhdGNoZWQgYW5kIGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseS5ATm90aWZ5T3ZlcndlaWdodBQBIHF1ZXJ5X2lkMAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAgBCHU4AAEoY2FsbF9pbmRleAgBCHU4AAE0YWN0dWFsX3dlaWdodCgBGFdlaWdodAABTG1heF9idWRnZXRlZF93ZWlnaHQoARhXZWlnaHQABQxJAVF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGFuZCBxdWVyeSBpcyByZW1vdmVkLiBUaGUgcmVnaXN0ZXJlZCBub3RpZmljYXRpb25ZAWNvdWxkIG5vdCBiZSBkaXNwYXRjaGVkIGJlY2F1c2UgdGhlIGRpc3BhdGNoIHdlaWdodCBpcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gd2VpZ2h05G9yaWdpbmFsbHkgYnVkZ2V0ZWQgYnkgdGhpcyBydW50aW1lIGZvciB0aGUgcXVlcnkgcmVzdWx0LkxOb3RpZnlEaXNwYXRjaEVycm9yDAEgcXVlcnlfaWQwARxRdWVyeUlkAAEwcGFsbGV0X2luZGV4CAEIdTgAAShjYWxsX2luZGV4CAEIdTgABghVAVF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGFuZCBxdWVyeSBpcyByZW1vdmVkLiBUaGVyZSB3YXMgYSBnZW5lcmFsIGVycm9yIHdpdGiIZGlzcGF0Y2hpbmcgdGhlIG5vdGlmaWNhdGlvbiBjYWxsLkhOb3RpZnlEZWNvZGVGYWlsZWQMASBxdWVyeV9pZDABHFF1ZXJ5SWQAATBwYWxsZXRfaW5kZXgIAQh1OAABKGNhbGxfaW5kZXgIAQh1OAAHDFEBUXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIHF1ZXJ5IGlzIHJlbW92ZWQuIFRoZSBkaXNwYXRjaCB3YXMgdW5hYmxlIHRvIGJlWQFkZWNvZGVkIGludG8gYSBgQ2FsbGA7IHRoaXMgbWlnaHQgYmUgZHVlIHRvIGRpc3BhdGNoIGZ1bmN0aW9uIGhhdmluZyBhIHNpZ25hdHVyZSB3aGljaJRpcyBub3QgYChvcmlnaW4sIFF1ZXJ5SWQsIFJlc3BvbnNlKWAuQEludmFsaWRSZXNwb25kZXIMARhvcmlnaW59AQEgTG9jYXRpb24AASBxdWVyeV9pZDABHFF1ZXJ5SWQAAURleHBlY3RlZF9sb2NhdGlvbs0FAUBPcHRpb248TG9jYXRpb24+AAgMWQFFeHBlY3RlZCBxdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBidXQgdGhlIG9yaWdpbiBsb2NhdGlvbiBvZiB0aGUgcmVzcG9uc2UgZG9lc1UBbm90IG1hdGNoIHRoYXQgZXhwZWN0ZWQuIFRoZSBxdWVyeSByZW1haW5zIHJlZ2lzdGVyZWQgZm9yIGEgbGF0ZXIsIHZhbGlkLCByZXNwb25zZSB0b2xiZSByZWNlaXZlZCBhbmQgYWN0ZWQgdXBvbi5cSW52YWxpZFJlc3BvbmRlclZlcnNpb24IARhvcmlnaW59AQEgTG9jYXRpb24AASBxdWVyeV9pZDABHFF1ZXJ5SWQACRxRAUV4cGVjdGVkIHF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGJ1dCB0aGUgZXhwZWN0ZWQgb3JpZ2luIGxvY2F0aW9uIHBsYWNlZCBpbk0Bc3RvcmFnZSBieSB0aGlzIHJ1bnRpbWUgcHJldmlvdXNseSBjYW5ub3QgYmUgZGVjb2RlZC4gVGhlIHF1ZXJ5IHJlbWFpbnMgcmVnaXN0ZXJlZC4AQQFUaGlzIGlzIHVuZXhwZWN0ZWQgKHNpbmNlIGEgbG9jYXRpb24gcGxhY2VkIGluIHN0b3JhZ2UgaW4gYSBwcmV2aW91c2x5IGV4ZWN1dGluZ00BcnVudGltZSBzaG91bGQgYmUgcmVhZGFibGUgcHJpb3IgdG8gcXVlcnkgdGltZW91dCkgYW5kIGRhbmdlcm91cyBzaW5jZSB0aGUgcG9zc2libHlZAXZhbGlkIHJlc3BvbnNlIHdpbGwgYmUgZHJvcHBlZC4gTWFudWFsIGdvdmVybmFuY2UgaW50ZXJ2ZW50aW9uIGlzIHByb2JhYmx5IGdvaW5nIHRvIGJlHG5lZWRlZC40UmVzcG9uc2VUYWtlbgQBIHF1ZXJ5X2lkMAEcUXVlcnlJZAAKBMhSZWNlaXZlZCBxdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWFkIGFuZCByZW1vdmVkLjRBc3NldHNUcmFwcGVkDAEQaGFzaDQBEEgyNTYAARhvcmlnaW59AQEgTG9jYXRpb24AARhhc3NldHPhBQE8VmVyc2lvbmVkQXNzZXRzAAsEuFNvbWUgYXNzZXRzIGhhdmUgYmVlbiBwbGFjZWQgaW4gYW4gYXNzZXQgdHJhcC5UVmVyc2lvbkNoYW5nZU5vdGlmaWVkEAEsZGVzdGluYXRpb259AQEgTG9jYXRpb24AARhyZXN1bHQQAShYY21WZXJzaW9uAAEQY29zdKEFARhBc3NldHMAAShtZXNzYWdlX2lkBAEcWGNtSGFzaAAMDCUBQW4gWENNIHZlcnNpb24gY2hhbmdlIG5vdGlmaWNhdGlvbiBtZXNzYWdlIGhhcyBiZWVuIGF0dGVtcHRlZCB0byBiZSBzZW50LgDgVGhlIGNvc3Qgb2Ygc2VuZGluZyBpdCAoYm9ybmUgYnkgdGhlIGNoYWluKSBpcyBpbmNsdWRlZC5cU3VwcG9ydGVkVmVyc2lvbkNoYW5nZWQIASBsb2NhdGlvbn0BASBMb2NhdGlvbgABHHZlcnNpb24QAShYY21WZXJzaW9uAA0IOQFUaGUgc3VwcG9ydGVkIHZlcnNpb24gb2YgYSBsb2NhdGlvbiBoYXMgYmVlbiBjaGFuZ2VkLiBUaGlzIG1pZ2h0IGJlIHRocm91Z2ggYW7AYXV0b21hdGljIG5vdGlmaWNhdGlvbiBvciBhIG1hbnVhbCBpbnRlcnZlbnRpb24uUE5vdGlmeVRhcmdldFNlbmRGYWlsDAEgbG9jYXRpb259AQEgTG9jYXRpb24AASBxdWVyeV9pZDABHFF1ZXJ5SWQAARRlcnJvcl0FASBYY21FcnJvcgAOCFkBQSBnaXZlbiBsb2NhdGlvbiB3aGljaCBoYWQgYSB2ZXJzaW9uIGNoYW5nZSBzdWJzY3JpcHRpb24gd2FzIGRyb3BwZWQgb3dpbmcgdG8gYW4gZXJyb3J8c2VuZGluZyB0aGUgbm90aWZpY2F0aW9uIHRvIGl0LmROb3RpZnlUYXJnZXRNaWdyYXRpb25GYWlsCAEgbG9jYXRpb269BAFEVmVyc2lvbmVkTG9jYXRpb24AASBxdWVyeV9pZDABHFF1ZXJ5SWQADwhZAUEgZ2l2ZW4gbG9jYXRpb24gd2hpY2ggaGFkIGEgdmVyc2lvbiBjaGFuZ2Ugc3Vic2NyaXB0aW9uIHdhcyBkcm9wcGVkIG93aW5nIHRvIGFuIGVycm9ytG1pZ3JhdGluZyB0aGUgbG9jYXRpb24gdG8gb3VyIG5ldyBYQ00gZm9ybWF0LlRJbnZhbGlkUXVlcmllclZlcnNpb24IARhvcmlnaW59AQEgTG9jYXRpb24AASBxdWVyeV9pZDABHFF1ZXJ5SWQAEBxVAUV4cGVjdGVkIHF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGJ1dCB0aGUgZXhwZWN0ZWQgcXVlcmllciBsb2NhdGlvbiBwbGFjZWQgaW5NAXN0b3JhZ2UgYnkgdGhpcyBydW50aW1lIHByZXZpb3VzbHkgY2Fubm90IGJlIGRlY29kZWQuIFRoZSBxdWVyeSByZW1haW5zIHJlZ2lzdGVyZWQuAEEBVGhpcyBpcyB1bmV4cGVjdGVkIChzaW5jZSBhIGxvY2F0aW9uIHBsYWNlZCBpbiBzdG9yYWdlIGluIGEgcHJldmlvdXNseSBleGVjdXRpbmdNAXJ1bnRpbWUgc2hvdWxkIGJlIHJlYWRhYmxlIHByaW9yIHRvIHF1ZXJ5IHRpbWVvdXQpIGFuZCBkYW5nZXJvdXMgc2luY2UgdGhlIHBvc3NpYmx5WQF2YWxpZCByZXNwb25zZSB3aWxsIGJlIGRyb3BwZWQuIE1hbnVhbCBnb3Zlcm5hbmNlIGludGVydmVudGlvbiBpcyBwcm9iYWJseSBnb2luZyB0byBiZRxuZWVkZWQuOEludmFsaWRRdWVyaWVyEAEYb3JpZ2lufQEBIExvY2F0aW9uAAEgcXVlcnlfaWQwARxRdWVyeUlkAAFAZXhwZWN0ZWRfcXVlcmllcn0BASBMb2NhdGlvbgABUG1heWJlX2FjdHVhbF9xdWVyaWVyzQUBQE9wdGlvbjxMb2NhdGlvbj4AEQxdAUV4cGVjdGVkIHF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGJ1dCB0aGUgcXVlcmllciBsb2NhdGlvbiBvZiB0aGUgcmVzcG9uc2UgZG9lc1EBbm90IG1hdGNoIHRoZSBleHBlY3RlZC4gVGhlIHF1ZXJ5IHJlbWFpbnMgcmVnaXN0ZXJlZCBmb3IgYSBsYXRlciwgdmFsaWQsIHJlc3BvbnNlIHRvbGJlIHJlY2VpdmVkIGFuZCBhY3RlZCB1cG9uLlBWZXJzaW9uTm90aWZ5U3RhcnRlZAwBLGRlc3RpbmF0aW9ufQEBIExvY2F0aW9uAAEQY29zdKEFARhBc3NldHMAAShtZXNzYWdlX2lkBAEcWGNtSGFzaAASCFkBQSByZW1vdGUgaGFzIHJlcXVlc3RlZCBYQ00gdmVyc2lvbiBjaGFuZ2Ugbm90aWZpY2F0aW9uIGZyb20gdXMgYW5kIHdlIGhhdmUgaG9ub3JlZCBpdC4dAUEgdmVyc2lvbiBpbmZvcm1hdGlvbiBtZXNzYWdlIGlzIHNlbnQgdG8gdGhlbSBhbmQgaXRzIGNvc3QgaXMgaW5jbHVkZWQuWFZlcnNpb25Ob3RpZnlSZXF1ZXN0ZWQMASxkZXN0aW5hdGlvbn0BASBMb2NhdGlvbgABEGNvc3ShBQEYQXNzZXRzAAEobWVzc2FnZV9pZAQBHFhjbUhhc2gAEwQ9AVdlIGhhdmUgcmVxdWVzdGVkIHRoYXQgYSByZW1vdGUgY2hhaW4gc2VuZCB1cyBYQ00gdmVyc2lvbiBjaGFuZ2Ugbm90aWZpY2F0aW9ucy5gVmVyc2lvbk5vdGlmeVVucmVxdWVzdGVkDAEsZGVzdGluYXRpb259AQEgTG9jYXRpb24AARBjb3N0oQUBGEFzc2V0cwABKG1lc3NhZ2VfaWQEARxYY21IYXNoABQIJQFXZSBoYXZlIHJlcXVlc3RlZCB0aGF0IGEgcmVtb3RlIGNoYWluIHN0b3BzIHNlbmRpbmcgdXMgWENNIHZlcnNpb24gY2hhbmdlOG5vdGlmaWNhdGlvbnMuIEZlZXNQYWlkCAEYcGF5aW5nfQEBIExvY2F0aW9uAAEQZmVlc6EFARhBc3NldHMAFQQxAUZlZXMgd2VyZSBwYWlkIGZyb20gYSBsb2NhdGlvbiBmb3IgYW4gb3BlcmF0aW9uIChvZnRlbiBmb3IgdXNpbmcgYFNlbmRYY21gKS40QXNzZXRzQ2xhaW1lZAwBEGhhc2g0ARBIMjU2AAEYb3JpZ2lufQEBIExvY2F0aW9uAAEYYXNzZXRz4QUBPFZlcnNpb25lZEFzc2V0cwAWBMBTb21lIGFzc2V0cyBoYXZlIGJlZW4gY2xhaW1lZCBmcm9tIGFuIGFzc2V0IHRyYXBgVmVyc2lvbk1pZ3JhdGlvbkZpbmlzaGVkBAEcdmVyc2lvbhABKFhjbVZlcnNpb24AFwSEQSBYQ00gdmVyc2lvbiBtaWdyYXRpb24gZmluaXNoZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0QQcQLHN0YWdpbmdfeGNtCHY0GHRyYWl0cxxPdXRjb21lAAEMIENvbXBsZXRlBAEQdXNlZCgBGFdlaWdodAAAAChJbmNvbXBsZXRlCAEQdXNlZCgBGFdlaWdodAABFGVycm9yXQUBFEVycm9yAAEAFEVycm9yBAEUZXJyb3JdBQEURXJyb3IAAgAARQcMSGN1bXVsdXNfcGFsbGV0X3hjbRhwYWxsZXQURXZlbnQEBFQAAQw0SW52YWxpZEZvcm1hdAQABAEgW3U4OyAzMl0AAAiARG93bndhcmQgbWVzc2FnZSBpcyBpbnZhbGlkIFhDTS4gXFsgaWQgXF1IVW5zdXBwb3J0ZWRWZXJzaW9uBAAEASBbdTg7IDMyXQABCLxEb3dud2FyZCBtZXNzYWdlIGlzIHVuc3VwcG9ydGVkIHZlcnNpb24gb2YgWENNLiBcWyBpZCBcXUBFeGVjdXRlZERvd253YXJkCAAEASBbdTg7IDMyXQAAQQcBHE91dGNvbWUAAgjERG93bndhcmQgbWVzc2FnZSBleGVjdXRlZCB3aXRoIHRoZSBnaXZlbiBvdXRjb21lLkRcWyBpZCwgb3V0Y29tZSBcXQR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldEkHDGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlGHBhbGxldBRFdmVudAQEVAABBDxYY21wTWVzc2FnZVNlbnQEATBtZXNzYWdlX2hhc2gEARxYY21IYXNoAAAEwEFuIEhSTVAgbWVzc2FnZSB3YXMgc2VudCB0byBhIHNpYmxpbmcgcGFyYWNoYWluLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldE0HDFBwYWxsZXRfbWVzc2FnZV9xdWV1ZRhwYWxsZXQURXZlbnQEBFQAARBAUHJvY2Vzc2luZ0ZhaWxlZAwBCGlkNAEQSDI1NgSUVGhlIGBibGFrZTJfMjU2YCBoYXNoIG9mIHRoZSBtZXNzYWdlLgEYb3JpZ2luIQYBSE1lc3NhZ2VPcmlnaW5PZjxUPgRkVGhlIHF1ZXVlIG9mIHRoZSBtZXNzYWdlLgEUZXJyb3JRBwFMUHJvY2Vzc01lc3NhZ2VFcnJvchBgVGhlIGVycm9yIHRoYXQgb2NjdXJyZWQuAEkBVGhpcyBlcnJvciBpcyBwcmV0dHkgb3BhcXVlLiBNb3JlIGZpbmUtZ3JhaW5lZCBlcnJvcnMgbmVlZCB0byBiZSBlbWl0dGVkIGFzIGV2ZW50c2hieSB0aGUgYE1lc3NhZ2VQcm9jZXNzb3JgLgAEVQFNZXNzYWdlIGRpc2NhcmRlZCBkdWUgdG8gYW4gZXJyb3IgaW4gdGhlIGBNZXNzYWdlUHJvY2Vzc29yYCAodXN1YWxseSBhIGZvcm1hdCBlcnJvcikuJFByb2Nlc3NlZBABCGlkNAEQSDI1NgSUVGhlIGBibGFrZTJfMjU2YCBoYXNoIG9mIHRoZSBtZXNzYWdlLgEYb3JpZ2luIQYBSE1lc3NhZ2VPcmlnaW5PZjxUPgRkVGhlIHF1ZXVlIG9mIHRoZSBtZXNzYWdlLgEsd2VpZ2h0X3VzZWQoARhXZWlnaHQEwEhvdyBtdWNoIHdlaWdodCB3YXMgdXNlZCB0byBwcm9jZXNzIHRoZSBtZXNzYWdlLgEcc3VjY2VzcyABEGJvb2wYiFdoZXRoZXIgdGhlIG1lc3NhZ2Ugd2FzIHByb2Nlc3NlZC4ASQFOb3RlIHRoYXQgdGhpcyBkb2VzIG5vdCBtZWFuIHRoYXQgdGhlIHVuZGVybHlpbmcgYE1lc3NhZ2VQcm9jZXNzb3JgIHdhcyBpbnRlcm5hbGx5NQFzdWNjZXNzZnVsLiBJdCAqc29sZWx5KiBtZWFucyB0aGF0IHRoZSBNUSBwYWxsZXQgd2lsbCB0cmVhdCB0aGlzIGFzIGEgc3VjY2Vzc00BY29uZGl0aW9uIGFuZCBkaXNjYXJkIHRoZSBtZXNzYWdlLiBBbnkgaW50ZXJuYWwgZXJyb3IgbmVlZHMgdG8gYmUgZW1pdHRlZCBhcyBldmVudHNoYnkgdGhlIGBNZXNzYWdlUHJvY2Vzc29yYC4BBFRNZXNzYWdlIGlzIHByb2Nlc3NlZC5IT3ZlcndlaWdodEVucXVldWVkEAEIaWQEASBbdTg7IDMyXQSUVGhlIGBibGFrZTJfMjU2YCBoYXNoIG9mIHRoZSBtZXNzYWdlLgEYb3JpZ2luIQYBSE1lc3NhZ2VPcmlnaW5PZjxUPgRkVGhlIHF1ZXVlIG9mIHRoZSBtZXNzYWdlLgEocGFnZV9pbmRleBABJFBhZ2VJbmRleARgVGhlIHBhZ2Ugb2YgdGhlIG1lc3NhZ2UuATRtZXNzYWdlX2luZGV4EAEcVDo6U2l6ZQSkVGhlIGluZGV4IG9mIHRoZSBtZXNzYWdlIHdpdGhpbiB0aGUgcGFnZS4CBIxNZXNzYWdlIHBsYWNlZCBpbiBvdmVyd2VpZ2h0IHF1ZXVlLihQYWdlUmVhcGVkCAEYb3JpZ2luIQYBSE1lc3NhZ2VPcmlnaW5PZjxUPgRYVGhlIHF1ZXVlIG9mIHRoZSBwYWdlLgEUaW5kZXgQASRQYWdlSW5kZXgEWFRoZSBpbmRleCBvZiB0aGUgcGFnZS4DBFRUaGlzIHBhZ2Ugd2FzIHJlYXBlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRRBxA0ZnJhbWVfc3VwcG9ydBh0cmFpdHMgbWVzc2FnZXNMUHJvY2Vzc01lc3NhZ2VFcnJvcgABGCRCYWRGb3JtYXQAAAAcQ29ycnVwdAABACxVbnN1cHBvcnRlZAACAChPdmVyd2VpZ2h0BAAoARhXZWlnaHQAAwAUWWllbGQABABEU3RhY2tMaW1pdFJlYWNoZWQABQAAVQcMIG9ybWxfeGNtGG1vZHVsZRRFdmVudAQEVAABBBBTZW50CAEIdG99AQEgTG9jYXRpb24AARxtZXNzYWdllQUBHFhjbTwoKT4AAASEWENNIG1lc3NhZ2Ugc2VudC4gXFt0bywgbWVzc2FnZVxdBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0WQcMMG9ybWxfeHRva2Vucxhtb2R1bGUURXZlbnQEBFQAAQREVHJhbnNmZXJyZWRBc3NldHMQARhzZW5kZXIAATBUOjpBY2NvdW50SWQAARhhc3NldHOhBQEYQXNzZXRzAAEMZmVlqQUBFEFzc2V0AAEQZGVzdH0BASBMb2NhdGlvbgAABHRUcmFuc2ZlcnJlZCBgQXNzZXRgIHdpdGggZmVlLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldF0HDExvcm1sX3Vua25vd25fdG9rZW5zGG1vZHVsZRRFdmVudAABCCREZXBvc2l0ZWQIARRhc3NldKkFARRBc3NldAABDHdob30BASBMb2NhdGlvbgAABEBEZXBvc2l0IHN1Y2Nlc3MuJFdpdGhkcmF3bggBFGFzc2V0qQUBFEFzc2V0AAEMd2hvfQEBIExvY2F0aW9uAAEERFdpdGhkcmF3IHN1Y2Nlc3MuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0YQcMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0FEV2ZW50BARUAAEoQE5ld0ludnVsbmVyYWJsZXMEATRpbnZ1bG5lcmFibGVzMQEBRFZlYzxUOjpBY2NvdW50SWQ+AAAEbE5ldyBJbnZ1bG5lcmFibGVzIHdlcmUgc2V0LkRJbnZ1bG5lcmFibGVBZGRlZAQBKGFjY291bnRfaWQAATBUOjpBY2NvdW50SWQAAQR0QSBuZXcgSW52dWxuZXJhYmxlIHdhcyBhZGRlZC5MSW52dWxuZXJhYmxlUmVtb3ZlZAQBKGFjY291bnRfaWQAATBUOjpBY2NvdW50SWQAAgRwQW4gSW52dWxuZXJhYmxlIHdhcyByZW1vdmVkLlBOZXdEZXNpcmVkQ2FuZGlkYXRlcwQBSGRlc2lyZWRfY2FuZGlkYXRlcxABDHUzMgADBKRUaGUgbnVtYmVyIG9mIGRlc2lyZWQgY2FuZGlkYXRlcyB3YXMgc2V0LkBOZXdDYW5kaWRhY3lCb25kBAEsYm9uZF9hbW91bnQYATBCYWxhbmNlT2Y8VD4ABARsVGhlIGNhbmRpZGFjeSBib25kIHdhcyBzZXQuOENhbmRpZGF0ZUFkZGVkCAEoYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4ABQRcQSBuZXcgY2FuZGlkYXRlIGpvaW5lZC5QQ2FuZGlkYXRlQm9uZFVwZGF0ZWQIAShhY2NvdW50X2lkAAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgAGBHBCb25kIG9mIGEgY2FuZGlkYXRlIHVwZGF0ZWQuQENhbmRpZGF0ZVJlbW92ZWQEAShhY2NvdW50X2lkAAEwVDo6QWNjb3VudElkAAcEYEEgY2FuZGlkYXRlIHdhcyByZW1vdmVkLkRDYW5kaWRhdGVSZXBsYWNlZAwBDG9sZAABMFQ6OkFjY291bnRJZAABDG5ldwABMFQ6OkFjY291bnRJZAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4ACAT0QW4gYWNjb3VudCB3YXMgcmVwbGFjZWQgaW4gdGhlIGNhbmRpZGF0ZSBsaXN0IGJ5IGFub3RoZXIgb25lLmhJbnZhbGlkSW52dWxuZXJhYmxlU2tpcHBlZAQBKGFjY291bnRfaWQAATBUOjpBY2NvdW50SWQACQhVAUFuIGFjY291bnQgd2FzIHVuYWJsZSB0byBiZSBhZGRlZCB0byB0aGUgSW52dWxuZXJhYmxlcyBiZWNhdXNlIHRoZXkgZGlkIG5vdCBoYXZlIGtleXPIcmVnaXN0ZXJlZC4gT3RoZXIgSW52dWxuZXJhYmxlcyBtYXkgaGF2ZSBiZWVuIHNldC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRlBww4cGFsbGV0X3Nlc3Npb24YcGFsbGV0FEV2ZW50AAEEKE5ld1Nlc3Npb24EATRzZXNzaW9uX2luZGV4EAEwU2Vzc2lvbkluZGV4AAAIOQFOZXcgc2Vzc2lvbiBoYXMgaGFwcGVuZWQuIE5vdGUgdGhhdCB0aGUgYXJndW1lbnQgaXMgdGhlIHNlc3Npb24gaW5kZXgsIG5vdCB0aGWcYmxvY2sgbnVtYmVyIGFzIHRoZSB0eXBlIG1pZ2h0IHN1Z2dlc3QuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0aQcMRHBhbGxldF9lbWFfb3JhY2xlGHBhbGxldBRFdmVudAQEVAABCEBBZGRlZFRvV2hpdGVsaXN0CAEYc291cmNl/QEBGFNvdXJjZQABGGFzc2V0c00DAUgoQXNzZXRJZCwgQXNzZXRJZCkAAASIT3JhY2xlIHdhcyBhZGRlZCB0byB0aGUgd2hpdGVsaXN0LlBSZW1vdmVkRnJvbVdoaXRlbGlzdAgBGHNvdXJjZf0BARhTb3VyY2UAARhhc3NldHNNAwFIKEFzc2V0SWQsIEFzc2V0SWQpAAEEmE9yYWNsZSB3YXMgcmVtb3ZlZCBmcm9tIHRoZSB3aGl0ZWxpc3QuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0bQcMQHBhbGxldF9icm9hZGNhc3QYcGFsbGV0FEV2ZW50BARUAAEEIFN3YXBwZWQzIAEcc3dhcHBlcgABMFQ6OkFjY291bnRJZAABGGZpbGxlcgABMFQ6OkFjY291bnRJZAABLGZpbGxlcl90eXBlcQcBGEZpbGxlcgABJG9wZXJhdGlvbnUHAThUcmFkZU9wZXJhdGlvbgABGGlucHV0c3kHAShWZWM8QXNzZXQ+AAEcb3V0cHV0c3kHAShWZWM8QXNzZXQ+AAEQZmVlc4EHAVhWZWM8RmVlPFQ6OkFjY291bnRJZD4+AAE8b3BlcmF0aW9uX3N0YWNrjQcBSFZlYzxFeGVjdXRpb25UeXBlPgAAIDxUcmFkZSBleGVjdXRlZC4A8FN3YXBwZWQzIGlzIGEgZml4ZWQgYW5kIHJlbmFtZWQgdmVyc2lvbiBvZiBvcmlnaW5hbCBTd2FwcGVkLAUBYXMgU3dhcHBlZCBjb250YWluZWQgd3JvbmcgaW5wdXQvb3V0cHV0IGFtb3VudHMgZm9yIFhZSyBidXkgdHJhZGUA9FN3YXBwZWQzIGlzIGEgZml4ZWQgYW5kIHJlbmFtZWQgdmVyc2lvbiBvZiBvcmlnaW5hbCBTd2FwcGVkMyzgYXMgU3dhcHBlZCBjb250YWluZWQgd3JvbmcgZmlsbGVyIGFjY291bnQgb24gQUFWRSB0cmFkZXMABHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0cQcMQHBhbGxldF9icm9hZGNhc3QUdHlwZXMYRmlsbGVyAAEcIE9tbmlwb29sAAAAKFN0YWJsZXN3YXAEABABHEFzc2V0SWQAAQAMWFlLBAAQARxBc3NldElkAAIADExCUAADAAxPVEMEABABKE90Y09yZGVySWQABAAQQUFWRQAFAAxIU00ABgAAdQcMQHBhbGxldF9icm9hZGNhc3QUdHlwZXM4VHJhZGVPcGVyYXRpb24AARQcRXhhY3RJbgAAACBFeGFjdE91dAABABRMaW1pdAACADBMaXF1aWRpdHlBZGQAAwA8TGlxdWlkaXR5UmVtb3ZlAAQAAHkHAAACfQcAfQcMQHBhbGxldF9icm9hZGNhc3QUdHlwZXMUQXNzZXQAAAgBFGFzc2V0EAEcQXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAAIEHAAAChQcAhQcMQHBhbGxldF9icm9hZGNhc3QUdHlwZXMMRmVlBCRBY2NvdW50SWQBAAAMARRhc3NldBABHEFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEsZGVzdGluYXRpb26JBwFYRGVzdGluYXRpb248QWNjb3VudElkPgAAiQcMQHBhbGxldF9icm9hZGNhc3QUdHlwZXMsRGVzdGluYXRpb24EJEFjY291bnRJZAEAAQgcQWNjb3VudAQAAAEkQWNjb3VudElkAAAAGEJ1cm5lZAABAACNBwAAApEHAJEHDEBwYWxsZXRfYnJvYWRjYXN0FHR5cGVzNEV4ZWN1dGlvblR5cGUAARgYUm91dGVyBAAQAURJbmNyZW1lbnRhbElkVHlwZQAAAAxEQ0EIABABKFNjaGVkdWxlSWQAABABREluY3JlbWVudGFsSWRUeXBlAAEAFEJhdGNoBAAQAURJbmNyZW1lbnRhbElkVHlwZQACACBPbW5pcG9vbAQAEAFESW5jcmVtZW50YWxJZFR5cGUAAwAsWGNtRXhjaGFuZ2UEABABREluY3JlbWVudGFsSWRUeXBlAAQADFhjbQgABAEgW3U4OyAzMl0AABABREluY3JlbWVudGFsSWRUeXBlAAUAAJUHCDBmcmFtZV9zeXN0ZW0UUGhhc2UAAQw4QXBwbHlFeHRyaW5zaWMEABABDHUzMgAAADBGaW5hbGl6YXRpb24AAQA4SW5pdGlhbGl6YXRpb24AAgAAmQcIMGZyYW1lX3N5c3RlbVhMYXN0UnVudGltZVVwZ3JhZGVJbmZvAAAIATBzcGVjX3ZlcnNpb25VAQFMY29kZWM6OkNvbXBhY3Q8dTMyPgABJHNwZWNfbmFtZREHAWRzcF9ydW50aW1lOjpSdW50aW1lU3RyaW5nAACdBwgwZnJhbWVfc3lzdGVtYENvZGVVcGdyYWRlQXV0aG9yaXphdGlvbgQEVAAACAEkY29kZV9oYXNoNAEcVDo6SGFzaAABNGNoZWNrX3ZlcnNpb24gARBib29sAAChBwwwZnJhbWVfc3lzdGVtGGxpbWl0czBCbG9ja1dlaWdodHMAAAwBKGJhc2VfYmxvY2soARhXZWlnaHQAASRtYXhfYmxvY2soARhXZWlnaHQAASRwZXJfY2xhc3OlBwGEUGVyRGlzcGF0Y2hDbGFzczxXZWlnaHRzUGVyQ2xhc3M+AAClBww0ZnJhbWVfc3VwcG9ydCBkaXNwYXRjaEBQZXJEaXNwYXRjaENsYXNzBARUAakHAAwBGG5vcm1hbKkHAQRUAAEsb3BlcmF0aW9uYWypBwEEVAABJG1hbmRhdG9yeakHAQRUAACpBwwwZnJhbWVfc3lzdGVtGGxpbWl0czxXZWlnaHRzUGVyQ2xhc3MAABABOGJhc2VfZXh0cmluc2ljKAEYV2VpZ2h0AAE0bWF4X2V4dHJpbnNpY2UGAThPcHRpb248V2VpZ2h0PgABJG1heF90b3RhbGUGAThPcHRpb248V2VpZ2h0PgABIHJlc2VydmVkZQYBOE9wdGlvbjxXZWlnaHQ+AACtBwwwZnJhbWVfc3lzdGVtGGxpbWl0cyxCbG9ja0xlbmd0aAAABAEMbWF4sQcBVFBlckRpc3BhdGNoQ2xhc3M8dTMyPgAAsQcMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUGVyRGlzcGF0Y2hDbGFzcwQEVAEQAAwBGG5vcm1hbBABBFQAASxvcGVyYXRpb25hbBABBFQAASRtYW5kYXRvcnkQAQRUAAC1Bwgoc3Bfd2VpZ2h0czxSdW50aW1lRGJXZWlnaHQAAAgBEHJlYWQwAQx1NjQAARR3cml0ZTABDHU2NAAAuQcIKHNwX3ZlcnNpb244UnVudGltZVZlcnNpb24AACABJHNwZWNfbmFtZREHATRSdW50aW1lU3RyaW5nAAEkaW1wbF9uYW1lEQcBNFJ1bnRpbWVTdHJpbmcAAURhdXRob3JpbmdfdmVyc2lvbhABDHUzMgABMHNwZWNfdmVyc2lvbhABDHUzMgABMGltcGxfdmVyc2lvbhABDHUzMgABEGFwaXO9BwEcQXBpc1ZlYwABTHRyYW5zYWN0aW9uX3ZlcnNpb24QAQx1MzIAATRzdGF0ZV92ZXJzaW9uCAEIdTgAAL0HBAxDb3cEBFQBwQcABADBBwAAAMEHAAACxQcAxQcAAAQI/QEQAMkHDDBmcmFtZV9zeXN0ZW0YcGFsbGV0FEVycm9yBARUAAEkPEludmFsaWRTcGVjTmFtZQAACBEBVGhlIG5hbWUgb2Ygc3BlY2lmaWNhdGlvbiBkb2VzIG5vdCBtYXRjaCBiZXR3ZWVuIHRoZSBjdXJyZW50IHJ1bnRpbWVQYW5kIHRoZSBuZXcgcnVudGltZS5oU3BlY1ZlcnNpb25OZWVkc1RvSW5jcmVhc2UAAQhBAVRoZSBzcGVjaWZpY2F0aW9uIHZlcnNpb24gaXMgbm90IGFsbG93ZWQgdG8gZGVjcmVhc2UgYmV0d2VlbiB0aGUgY3VycmVudCBydW50aW1lUGFuZCB0aGUgbmV3IHJ1bnRpbWUudEZhaWxlZFRvRXh0cmFjdFJ1bnRpbWVWZXJzaW9uAAIM7EZhaWxlZCB0byBleHRyYWN0IHRoZSBydW50aW1lIHZlcnNpb24gZnJvbSB0aGUgbmV3IHJ1bnRpbWUuAAkBRWl0aGVyIGNhbGxpbmcgYENvcmVfdmVyc2lvbmAgb3IgZGVjb2RpbmcgYFJ1bnRpbWVWZXJzaW9uYCBmYWlsZWQuTE5vbkRlZmF1bHRDb21wb3NpdGUAAwT8U3VpY2lkZSBjYWxsZWQgd2hlbiB0aGUgYWNjb3VudCBoYXMgbm9uLWRlZmF1bHQgY29tcG9zaXRlIGRhdGEuPE5vblplcm9SZWZDb3VudAAEBDUBVGhlcmUgaXMgYSBub24temVybyByZWZlcmVuY2UgY291bnQgcHJldmVudGluZyB0aGUgYWNjb3VudCBmcm9tIGJlaW5nIHB1cmdlZC4wQ2FsbEZpbHRlcmVkAAUE0FRoZSBvcmlnaW4gZmlsdGVyIHByZXZlbnQgdGhlIGNhbGwgdG8gYmUgZGlzcGF0Y2hlZC5sTXVsdGlCbG9ja01pZ3JhdGlvbnNPbmdvaW5nAAYEVQFBIG11bHRpLWJsb2NrIG1pZ3JhdGlvbiBpcyBvbmdvaW5nIGFuZCBwcmV2ZW50cyB0aGUgY3VycmVudCBjb2RlIGZyb20gYmVpbmcgcmVwbGFjZWQuRE5vdGhpbmdBdXRob3JpemVkAAcEWE5vIHVwZ3JhZGUgYXV0aG9yaXplZC4wVW5hdXRob3JpemVkAAgElFRoZSBzdWJtaXR0ZWQgY29kZSBpcyBub3QgYXV0aG9yaXplZC4EbEVycm9yIGZvciB0aGUgU3lzdGVtIHBhbGxldM0HDExib3VuZGVkX2NvbGxlY3Rpb25zQHdlYWtfYm91bmRlZF92ZWM4V2Vha0JvdW5kZWRWZWMIBFQB0QcEUwAABADZBwEYVmVjPFQ+AADRBww8cGFsbGV0X2JhbGFuY2VzFHR5cGVzLEJhbGFuY2VMb2NrBBxCYWxhbmNlARgADAEIaWT9AQE4TG9ja0lkZW50aWZpZXIAARhhbW91bnQYARxCYWxhbmNlAAEccmVhc29uc9UHARxSZWFzb25zAADVBww8cGFsbGV0X2JhbGFuY2VzFHR5cGVzHFJlYXNvbnMAAQwMRmVlAAAAEE1pc2MAAQAMQWxsAAIAANkHAAAC0QcA3QcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAHhBwRTAAAEAOUHARhWZWM8VD4AAOEHDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXMsUmVzZXJ2ZURhdGEIRFJlc2VydmVJZGVudGlmaWVyAf0BHEJhbGFuY2UBGAAIAQhpZP0BAURSZXNlcnZlSWRlbnRpZmllcgABGGFtb3VudBgBHEJhbGFuY2UAAOUHAAAC4QcA6QcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAHtBwRTAAAEAP0HARhWZWM8VD4AAO0HFDRmcmFtZV9zdXBwb3J0GHRyYWl0cxh0b2tlbnMQbWlzYyBJZEFtb3VudAgISWQB8QccQmFsYW5jZQEYAAgBCGlk8QcBCElkAAEYYW1vdW50GAEcQmFsYW5jZQAA8QcIPGh5ZHJhZHhfcnVudGltZURSdW50aW1lSG9sZFJlYXNvbgABCCBQcmVpbWFnZQQA9QcBbHBhbGxldF9wcmVpbWFnZTo6SG9sZFJlYXNvbgAPAEhTdGF0ZVRyaWVNaWdyYXRpb24EAPkHAZxwYWxsZXRfc3RhdGVfdHJpZV9taWdyYXRpb246OkhvbGRSZWFzb24AIwAA9QcMPHBhbGxldF9wcmVpbWFnZRhwYWxsZXQoSG9sZFJlYXNvbgABBCBQcmVpbWFnZQAAAAD5BwxscGFsbGV0X3N0YXRlX3RyaWVfbWlncmF0aW9uGHBhbGxldChIb2xkUmVhc29uAAEEPFNsYXNoRm9yTWlncmF0ZQAAAAD9BwAAAu0HAAEIDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBBQgEUwAABAAJCAEYVmVjPFQ+AAAFCBQ0ZnJhbWVfc3VwcG9ydBh0cmFpdHMYdG9rZW5zEG1pc2MgSWRBbW91bnQICElkAZAcQmFsYW5jZQEYAAgBCGlkkAEISWQAARhhbW91bnQYARxCYWxhbmNlAAAJCAAAAgUIAA0IDDxwYWxsZXRfYmFsYW5jZXMYcGFsbGV0FEVycm9yCARUAARJAAEwOFZlc3RpbmdCYWxhbmNlAAAEnFZlc3RpbmcgYmFsYW5jZSB0b28gaGlnaCB0byBzZW5kIHZhbHVlLlRMaXF1aWRpdHlSZXN0cmljdGlvbnMAAQTIQWNjb3VudCBsaXF1aWRpdHkgcmVzdHJpY3Rpb25zIHByZXZlbnQgd2l0aGRyYXdhbC5MSW5zdWZmaWNpZW50QmFsYW5jZQACBHhCYWxhbmNlIHRvbyBsb3cgdG8gc2VuZCB2YWx1ZS5IRXhpc3RlbnRpYWxEZXBvc2l0AAME7FZhbHVlIHRvbyBsb3cgdG8gY3JlYXRlIGFjY291bnQgZHVlIHRvIGV4aXN0ZW50aWFsIGRlcG9zaXQuNEV4cGVuZGFiaWxpdHkABASQVHJhbnNmZXIvcGF5bWVudCB3b3VsZCBraWxsIGFjY291bnQuXEV4aXN0aW5nVmVzdGluZ1NjaGVkdWxlAAUEzEEgdmVzdGluZyBzY2hlZHVsZSBhbHJlYWR5IGV4aXN0cyBmb3IgdGhpcyBhY2NvdW50LixEZWFkQWNjb3VudAAGBIxCZW5lZmljaWFyeSBhY2NvdW50IG11c3QgcHJlLWV4aXN0LjxUb29NYW55UmVzZXJ2ZXMABwS4TnVtYmVyIG9mIG5hbWVkIHJlc2VydmVzIGV4Y2VlZCBgTWF4UmVzZXJ2ZXNgLjBUb29NYW55SG9sZHMACAT4TnVtYmVyIG9mIGhvbGRzIGV4Y2VlZCBgVmFyaWFudENvdW50T2Y8VDo6UnVudGltZUhvbGRSZWFzb24+YC44VG9vTWFueUZyZWV6ZXMACQSYTnVtYmVyIG9mIGZyZWV6ZXMgZXhjZWVkIGBNYXhGcmVlemVzYC5MSXNzdWFuY2VEZWFjdGl2YXRlZAAKBAEBVGhlIGlzc3VhbmNlIGNhbm5vdCBiZSBtb2RpZmllZCBzaW5jZSBpdCBpcyBhbHJlYWR5IGRlYWN0aXZhdGVkLiREZWx0YVplcm8ACwRkVGhlIGRlbHRhIGNhbm5vdCBiZSB6ZXJvLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4RCAhocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQgUmVsZWFzZXMAAQgkVjFBbmNpZW50AAAACFYyAAEAABUIDIBwYWxsZXRfdHJhbnNhY3Rpb25fbXVsdGlfcGF5bWVudBhwYWxsZXQURXJyb3IEBFQAATBMVW5zdXBwb3J0ZWRDdXJyZW5jeQAABIxTZWxlY3RlZCBjdXJyZW5jeSBpcyBub3Qgc3VwcG9ydGVkLixaZXJvQmFsYW5jZQABBIxBY2NvdW50IGJhbGFuY2Ugc2hvdWxkIGJlIG5vbi16ZXJvLjxBbHJlYWR5QWNjZXB0ZWQAAgTcQ3VycmVuY3kgaXMgYWxyZWFkeSBpbiB0aGUgbGlzdCBvZiBhY2NlcHRlZCBjdXJyZW5jaWVzLkxDb3JlQXNzZXROb3RBbGxvd2VkAAMEbQFJdCBpcyBub3QgYWxsb3dlZCB0byBhZGQgQ29yZSBBc3NldCBhcyBhY2NlcHRlZCBjdXJyZW5jeS4gQ29yZSBhc3NldCBpcyBhY2NlcHRlZCBieSBkZXNpZ24uJFplcm9QcmljZQAEBHhGYWxsYmFjayBwcmljZSBjYW5ub3QgYmUgemVyby5URmFsbGJhY2tQcmljZU5vdEZvdW5kAAUEdEZhbGxiYWNrIHByaWNlIHdhcyBub3QgZm91bmQuIE92ZXJmbG93AAYENE1hdGggb3ZlcmZsb3dQRXZtQWNjb3VudE5vdEFsbG93ZWQABwT8SXQgaXMgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHBheW1lbnQgY3VycmVuY3kgb2YgYW4gRVZNIGFjY291bnQuQEV2bVBlcm1pdEV4cGlyZWQACARMRVZNIHBlcm1pdCBleHBpcmVkLkBFdm1QZXJtaXRJbnZhbGlkAAkEWEVWTSBwZXJtaXQgaXMgaW52YWxpZC5sRXZtUGVybWl0Q2FsbEV4ZWN1dGlvbkVycm9yAAoEXEVWTSBwZXJtaXQgY2FsbCBmYWlsZWQuUEV2bVBlcm1pdFJ1bm5lckVycm9yAAsEXEVWTSBwZXJtaXQgY2FsbCBmYWlsZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LhkICDxwYWxsZXRfdHJlYXN1cnkgUHJvcG9zYWwIJEFjY291bnRJZAEAHEJhbGFuY2UBGAAQASBwcm9wb3NlcgABJEFjY291bnRJZAABFHZhbHVlGAEcQmFsYW5jZQABLGJlbmVmaWNpYXJ5AAEkQWNjb3VudElkAAEQYm9uZBgBHEJhbGFuY2UAAB0IDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBEARTAAAEAFkDARhWZWM8VD4AACEICDxwYWxsZXRfdHJlYXN1cnksU3BlbmRTdGF0dXMUJEFzc2V0S2luZAGQMEFzc2V0QmFsYW5jZQEYLEJlbmVmaWNpYXJ5AQAsQmxvY2tOdW1iZXIBECRQYXltZW50SWQBkAAYAShhc3NldF9raW5kkAEkQXNzZXRLaW5kAAEYYW1vdW50GAEwQXNzZXRCYWxhbmNlAAEsYmVuZWZpY2lhcnkAASxCZW5lZmljaWFyeQABKHZhbGlkX2Zyb20QASxCbG9ja051bWJlcgABJGV4cGlyZV9hdBABLEJsb2NrTnVtYmVyAAEYc3RhdHVzJQgBXFBheW1lbnRTdGF0ZTxQYXltZW50SWQ+AAAlCAg8cGFsbGV0X3RyZWFzdXJ5MFBheW1lbnRTdGF0ZQQISWQBkAEMHFBlbmRpbmcAAAAkQXR0ZW1wdGVkBAEIaWSQAQhJZAABABhGYWlsZWQAAgAAKQgINGZyYW1lX3N1cHBvcnQgUGFsbGV0SWQAAAQA/QEBHFt1ODsgOF0AAC0IDDxwYWxsZXRfdHJlYXN1cnkYcGFsbGV0FEVycm9yCARUAARJAAEsMEludmFsaWRJbmRleAAABKxObyBwcm9wb3NhbCwgYm91bnR5IG9yIHNwZW5kIGF0IHRoYXQgaW5kZXguQFRvb01hbnlBcHByb3ZhbHMAAQSAVG9vIG1hbnkgYXBwcm92YWxzIGluIHRoZSBxdWV1ZS5YSW5zdWZmaWNpZW50UGVybWlzc2lvbgACCEUBVGhlIHNwZW5kIG9yaWdpbiBpcyB2YWxpZCBidXQgdGhlIGFtb3VudCBpdCBpcyBhbGxvd2VkIHRvIHNwZW5kIGlzIGxvd2VyIHRoYW4gdGhlTGFtb3VudCB0byBiZSBzcGVudC5MUHJvcG9zYWxOb3RBcHByb3ZlZAADBHxQcm9wb3NhbCBoYXMgbm90IGJlZW4gYXBwcm92ZWQuWEZhaWxlZFRvQ29udmVydEJhbGFuY2UABARRAVRoZSBiYWxhbmNlIG9mIHRoZSBhc3NldCBraW5kIGlzIG5vdCBjb252ZXJ0aWJsZSB0byB0aGUgYmFsYW5jZSBvZiB0aGUgbmF0aXZlIGFzc2V0LjBTcGVuZEV4cGlyZWQABQSwVGhlIHNwZW5kIGhhcyBleHBpcmVkIGFuZCBjYW5ub3QgYmUgY2xhaW1lZC4sRWFybHlQYXlvdXQABgSkVGhlIHNwZW5kIGlzIG5vdCB5ZXQgZWxpZ2libGUgZm9yIHBheW91dC5AQWxyZWFkeUF0dGVtcHRlZAAHBJxUaGUgcGF5bWVudCBoYXMgYWxyZWFkeSBiZWVuIGF0dGVtcHRlZC4sUGF5b3V0RXJyb3IACATMVGhlcmUgd2FzIHNvbWUgaXNzdWUgd2l0aCB0aGUgbWVjaGFuaXNtIG9mIHBheW1lbnQuME5vdEF0dGVtcHRlZAAJBKRUaGUgcGF5b3V0IHdhcyBub3QgeWV0IGF0dGVtcHRlZC9jbGFpbWVkLjBJbmNvbmNsdXNpdmUACgTEVGhlIHBheW1lbnQgaGFzIG5laXRoZXIgZmFpbGVkIG5vciBzdWNjZWVkZWQgeWV0LgR4RXJyb3IgZm9yIHRoZSB0cmVhc3VyeSBwYWxsZXQuMQgMOHBhbGxldF91dGlsaXR5GHBhbGxldBRFcnJvcgQEVAABBDBUb29NYW55Q2FsbHMAAARcVG9vIG1hbnkgY2FsbHMgYmF0Y2hlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuNQgIPHBhbGxldF9wcmVpbWFnZUBPbGRSZXF1ZXN0U3RhdHVzCCRBY2NvdW50SWQBABxCYWxhbmNlARgBCCxVbnJlcXVlc3RlZAgBHGRlcG9zaXQ5CAFQKEFjY291bnRJZCwgQmFsYW5jZSkAAQxsZW4QAQx1MzIAAAAkUmVxdWVzdGVkDAEcZGVwb3NpdD0IAXBPcHRpb248KEFjY291bnRJZCwgQmFsYW5jZSk+AAEUY291bnQQAQx1MzIAAQxsZW5ZAQEsT3B0aW9uPHUzMj4AAQAAOQgAAAQIABgAPQgEGE9wdGlvbgQEVAE5CAEIEE5vbmUAAAAQU29tZQQAOQgAAAEAAEEICDxwYWxsZXRfcHJlaW1hZ2U0UmVxdWVzdFN0YXR1cwgkQWNjb3VudElkAQAYVGlja2V0AUUIAQgsVW5yZXF1ZXN0ZWQIARh0aWNrZXRJCAFMKEFjY291bnRJZCwgVGlja2V0KQABDGxlbhABDHUzMgAAACRSZXF1ZXN0ZWQMATBtYXliZV90aWNrZXRNCAFsT3B0aW9uPChBY2NvdW50SWQsIFRpY2tldCk+AAEUY291bnQQAQx1MzIAASRtYXliZV9sZW5ZAQEsT3B0aW9uPHUzMj4AAQAARQgUNGZyYW1lX3N1cHBvcnQYdHJhaXRzGHRva2VucyBmdW5naWJsZURIb2xkQ29uc2lkZXJhdGlvbhQEQQAERgAEUgAERAAIRnAAAAQAGAEoRjo6QmFsYW5jZQAASQgAAAQIAEUIAE0IBBhPcHRpb24EBFQBSQgBCBBOb25lAAAAEFNvbWUEAEkIAAABAABRCAAABAg0EABVCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAFkIDDxwYWxsZXRfcHJlaW1hZ2UYcGFsbGV0FEVycm9yBARUAAEgGFRvb0JpZwAABKBQcmVpbWFnZSBpcyB0b28gbGFyZ2UgdG8gc3RvcmUgb24tY2hhaW4uMEFscmVhZHlOb3RlZAABBKRQcmVpbWFnZSBoYXMgYWxyZWFkeSBiZWVuIG5vdGVkIG9uLWNoYWluLjROb3RBdXRob3JpemVkAAIEyFRoZSB1c2VyIGlzIG5vdCBhdXRob3JpemVkIHRvIHBlcmZvcm0gdGhpcyBhY3Rpb24uIE5vdE5vdGVkAAME/FRoZSBwcmVpbWFnZSBjYW5ub3QgYmUgcmVtb3ZlZCBzaW5jZSBpdCBoYXMgbm90IHlldCBiZWVuIG5vdGVkLiRSZXF1ZXN0ZWQABAQJAUEgcHJlaW1hZ2UgbWF5IG5vdCBiZSByZW1vdmVkIHdoZW4gdGhlcmUgYXJlIG91dHN0YW5kaW5nIHJlcXVlc3RzLjBOb3RSZXF1ZXN0ZWQABQQtAVRoZSBwcmVpbWFnZSByZXF1ZXN0IGNhbm5vdCBiZSByZW1vdmVkIHNpbmNlIG5vIG91dHN0YW5kaW5nIHJlcXVlc3RzIGV4aXN0LhxUb29NYW55AAYEVQFNb3JlIHRoYW4gYE1BWF9IQVNIX1VQR1JBREVfQlVMS19DT1VOVGAgaGFzaGVzIHdlcmUgcmVxdWVzdGVkIHRvIGJlIHVwZ3JhZGVkIGF0IG9uY2UuGFRvb0ZldwAHBORUb28gZmV3IGhhc2hlcyB3ZXJlIHJlcXVlc3RlZCB0byBiZSB1cGdyYWRlZCAoaS5lLiB6ZXJvKS4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuXQgAAAQIYQhxCABhCAw8cGFsbGV0X2lkZW50aXR5FHR5cGVzMFJlZ2lzdHJhdGlvbgwcQmFsYW5jZQEYNE1heEp1ZGdlbWVudHMAMElkZW50aXR5SW5mbwHRAQAMAShqdWRnZW1lbnRzZQgB/EJvdW5kZWRWZWM8KFJlZ2lzdHJhckluZGV4LCBKdWRnZW1lbnQ8QmFsYW5jZT4pLCBNYXhKdWRnZW1lbnRzPgABHGRlcG9zaXQYARxCYWxhbmNlAAEQaW5mb9EBATBJZGVudGl0eUluZm8AAGUIDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBaQgEUwAABABtCAEYVmVjPFQ+AABpCAAABAgQaQIAbQgAAAJpCABxCAQYT3B0aW9uBARUAaQBCBBOb25lAAAAEFNvbWUEAKQAAAEAAHUIAAAECBh5CAB5CAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQAEUwAABAAxAQEYVmVjPFQ+AAB9CAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAYEIBFMAAAQAiQgBGFZlYzxUPgAAgQgEGE9wdGlvbgQEVAGFCAEIEE5vbmUAAAAQU29tZQQAhQgAAAEAAIUIDDxwYWxsZXRfaWRlbnRpdHkUdHlwZXM0UmVnaXN0cmFySW5mbwwcQmFsYW5jZQEYJEFjY291bnRJZAEAHElkRmllbGQBMAAMARxhY2NvdW50AAEkQWNjb3VudElkAAEMZmVlGAEcQmFsYW5jZQABGGZpZWxkczABHElkRmllbGQAAIkIAAACgQgAjQgMPHBhbGxldF9pZGVudGl0eRR0eXBlc0xBdXRob3JpdHlQcm9wZXJ0aWVzBBhTdWZmaXgBkQgACAEYc3VmZml4kQgBGFN1ZmZpeAABKGFsbG9jYXRpb24QAShBbGxvY2F0aW9uAACRCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAJUIAAAECAAQAJkIDDxwYWxsZXRfaWRlbnRpdHkYcGFsbGV0FEVycm9yBARUAAFoSFRvb01hbnlTdWJBY2NvdW50cwAABFxUb28gbWFueSBzdWJzLWFjY291bnRzLiBOb3RGb3VuZAABBFBBY2NvdW50IGlzbid0IGZvdW5kLiBOb3ROYW1lZAACBFBBY2NvdW50IGlzbid0IG5hbWVkLihFbXB0eUluZGV4AAMEMEVtcHR5IGluZGV4LihGZWVDaGFuZ2VkAAQEPEZlZSBpcyBjaGFuZ2VkLihOb0lkZW50aXR5AAUESE5vIGlkZW50aXR5IGZvdW5kLjxTdGlja3lKdWRnZW1lbnQABgREU3RpY2t5IGp1ZGdlbWVudC44SnVkZ2VtZW50R2l2ZW4ABwRASnVkZ2VtZW50IGdpdmVuLkBJbnZhbGlkSnVkZ2VtZW50AAgESEludmFsaWQganVkZ2VtZW50LjBJbnZhbGlkSW5kZXgACQRUVGhlIGluZGV4IGlzIGludmFsaWQuNEludmFsaWRUYXJnZXQACgRYVGhlIHRhcmdldCBpcyBpbnZhbGlkLkRUb29NYW55UmVnaXN0cmFycwALBOhNYXhpbXVtIGFtb3VudCBvZiByZWdpc3RyYXJzIHJlYWNoZWQuIENhbm5vdCBhZGQgYW55IG1vcmUuOEFscmVhZHlDbGFpbWVkAAwEcEFjY291bnQgSUQgaXMgYWxyZWFkeSBuYW1lZC4YTm90U3ViAA0EcFNlbmRlciBpcyBub3QgYSBzdWItYWNjb3VudC4gTm90T3duZWQADgSIU3ViLWFjY291bnQgaXNuJ3Qgb3duZWQgYnkgc2VuZGVyLnRKdWRnZW1lbnRGb3JEaWZmZXJlbnRJZGVudGl0eQAPBNBUaGUgcHJvdmlkZWQganVkZ2VtZW50IHdhcyBmb3IgYSBkaWZmZXJlbnQgaWRlbnRpdHkuWEp1ZGdlbWVudFBheW1lbnRGYWlsZWQAEAT4RXJyb3IgdGhhdCBvY2N1cnMgd2hlbiB0aGVyZSBpcyBhbiBpc3N1ZSBwYXlpbmcgZm9yIGp1ZGdlbWVudC40SW52YWxpZFN1ZmZpeAARBIBUaGUgcHJvdmlkZWQgc3VmZml4IGlzIHRvbyBsb25nLlBOb3RVc2VybmFtZUF1dGhvcml0eQASBOBUaGUgc2VuZGVyIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBpc3N1ZSBhIHVzZXJuYW1lLjBOb0FsbG9jYXRpb24AEwTEVGhlIGF1dGhvcml0eSBjYW5ub3QgYWxsb2NhdGUgYW55IG1vcmUgdXNlcm5hbWVzLkBJbnZhbGlkU2lnbmF0dXJlABQEqFRoZSBzaWduYXR1cmUgb24gYSB1c2VybmFtZSB3YXMgbm90IHZhbGlkLkRSZXF1aXJlc1NpZ25hdHVyZQAVBAkBU2V0dGluZyB0aGlzIHVzZXJuYW1lIHJlcXVpcmVzIGEgc2lnbmF0dXJlLCBidXQgbm9uZSB3YXMgcHJvdmlkZWQuPEludmFsaWRVc2VybmFtZQAWBLBUaGUgdXNlcm5hbWUgZG9lcyBub3QgbWVldCB0aGUgcmVxdWlyZW1lbnRzLjRVc2VybmFtZVRha2VuABcEeFRoZSB1c2VybmFtZSBpcyBhbHJlYWR5IHRha2VuLihOb1VzZXJuYW1lABgEmFRoZSByZXF1ZXN0ZWQgdXNlcm5hbWUgZG9lcyBub3QgZXhpc3QuKE5vdEV4cGlyZWQAGQQtAVRoZSB1c2VybmFtZSBjYW5ub3QgYmUgZm9yY2VmdWxseSByZW1vdmVkIGJlY2F1c2UgaXQgY2FuIHN0aWxsIGJlIGFjY2VwdGVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6dCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAaEIBFMAAAQApQgBGFZlYzxUPgAAoQgAAAQMEA0BAAClCAAAAqEIAKkIAAAECK0IGACtCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQAEUwAABAAxAQEYVmVjPFQ+AACxCAxAcGFsbGV0X2RlbW9jcmFjeRR0eXBlczhSZWZlcmVuZHVtSW5mbwwsQmxvY2tOdW1iZXIBECBQcm9wb3NhbAENARxCYWxhbmNlARgBCBxPbmdvaW5nBAC1CAHAUmVmZXJlbmR1bVN0YXR1czxCbG9ja051bWJlciwgUHJvcG9zYWwsIEJhbGFuY2U+AAAAIEZpbmlzaGVkCAEgYXBwcm92ZWQgARBib29sAAEMZW5kEAEsQmxvY2tOdW1iZXIAAQAAtQgMQHBhbGxldF9kZW1vY3JhY3kUdHlwZXNAUmVmZXJlbmR1bVN0YXR1cwwsQmxvY2tOdW1iZXIBECBQcm9wb3NhbAENARxCYWxhbmNlARgAFAEMZW5kEAEsQmxvY2tOdW1iZXIAASBwcm9wb3NhbA0BASBQcm9wb3NhbAABJHRocmVzaG9sZKwBNFZvdGVUaHJlc2hvbGQAARRkZWxheRABLEJsb2NrTnVtYmVyAAEUdGFsbHm5CAE4VGFsbHk8QmFsYW5jZT4AALkIDEBwYWxsZXRfZGVtb2NyYWN5FHR5cGVzFFRhbGx5BBxCYWxhbmNlARgADAEQYXllcxgBHEJhbGFuY2UAARBuYXlzGAEcQmFsYW5jZQABHHR1cm5vdXQYARxCYWxhbmNlAAC9CAxAcGFsbGV0X2RlbW9jcmFjeRB2b3RlGFZvdGluZxAcQmFsYW5jZQEYJEFjY291bnRJZAEALEJsb2NrTnVtYmVyARAgTWF4Vm90ZXMAAQgYRGlyZWN0DAEUdm90ZXPBCAH0Qm91bmRlZFZlYzwoUmVmZXJlbmR1bUluZGV4LCBBY2NvdW50Vm90ZTxCYWxhbmNlPiksIE1heFZvdGVzPgABLGRlbGVnYXRpb25zzQgBUERlbGVnYXRpb25zPEJhbGFuY2U+AAEUcHJpb3LRCAF8UHJpb3JMb2NrPEJsb2NrTnVtYmVyLCBCYWxhbmNlPgAAAChEZWxlZ2F0aW5nFAEcYmFsYW5jZRgBHEJhbGFuY2UAARh0YXJnZXQAASRBY2NvdW50SWQAAShjb252aWN0aW9ugQIBKENvbnZpY3Rpb24AASxkZWxlZ2F0aW9uc80IAVBEZWxlZ2F0aW9uczxCYWxhbmNlPgABFHByaW9y0QgBfFByaW9yTG9jazxCbG9ja051bWJlciwgQmFsYW5jZT4AAQAAwQgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAHFCARTAAAEAMkIARhWZWM8VD4AAMUIAAAECBCwAMkIAAACxQgAzQgMQHBhbGxldF9kZW1vY3JhY3kUdHlwZXMsRGVsZWdhdGlvbnMEHEJhbGFuY2UBGAAIARR2b3RlcxgBHEJhbGFuY2UAARxjYXBpdGFsGAEcQmFsYW5jZQAA0QgMQHBhbGxldF9kZW1vY3JhY3kQdm90ZSRQcmlvckxvY2sILEJsb2NrTnVtYmVyARAcQmFsYW5jZQEYAAgAEAEsQmxvY2tOdW1iZXIAABgBHEJhbGFuY2UAANUIAAAECA0BrADZCAAABAgQrQgA3QgMQHBhbGxldF9kZW1vY3JhY3kYcGFsbGV0FEVycm9yBARUAAFgIFZhbHVlTG93AAAENFZhbHVlIHRvbyBsb3c8UHJvcG9zYWxNaXNzaW5nAAEEXFByb3Bvc2FsIGRvZXMgbm90IGV4aXN0PEFscmVhZHlDYW5jZWxlZAACBJRDYW5ub3QgY2FuY2VsIHRoZSBzYW1lIHByb3Bvc2FsIHR3aWNlRER1cGxpY2F0ZVByb3Bvc2FsAAMEVFByb3Bvc2FsIGFscmVhZHkgbWFkZUxQcm9wb3NhbEJsYWNrbGlzdGVkAAQEaFByb3Bvc2FsIHN0aWxsIGJsYWNrbGlzdGVkRE5vdFNpbXBsZU1ham9yaXR5AAUEqE5leHQgZXh0ZXJuYWwgcHJvcG9zYWwgbm90IHNpbXBsZSBtYWpvcml0eSxJbnZhbGlkSGFzaAAGBDBJbnZhbGlkIGhhc2goTm9Qcm9wb3NhbAAHBFBObyBleHRlcm5hbCBwcm9wb3NhbDRBbHJlYWR5VmV0b2VkAAgEmElkZW50aXR5IG1heSBub3QgdmV0byBhIHByb3Bvc2FsIHR3aWNlRFJlZmVyZW5kdW1JbnZhbGlkAAkEhFZvdGUgZ2l2ZW4gZm9yIGludmFsaWQgcmVmZXJlbmR1bSxOb25lV2FpdGluZwAKBFBObyBwcm9wb3NhbHMgd2FpdGluZyBOb3RWb3RlcgALBMRUaGUgZ2l2ZW4gYWNjb3VudCBkaWQgbm90IHZvdGUgb24gdGhlIHJlZmVyZW5kdW0uME5vUGVybWlzc2lvbgAMBMhUaGUgYWN0b3IgaGFzIG5vIHBlcm1pc3Npb24gdG8gY29uZHVjdCB0aGUgYWN0aW9uLkRBbHJlYWR5RGVsZWdhdGluZwANBIhUaGUgYWNjb3VudCBpcyBhbHJlYWR5IGRlbGVnYXRpbmcuREluc3VmZmljaWVudEZ1bmRzAA4E/FRvbyBoaWdoIGEgYmFsYW5jZSB3YXMgcHJvdmlkZWQgdGhhdCB0aGUgYWNjb3VudCBjYW5ub3QgYWZmb3JkLjROb3REZWxlZ2F0aW5nAA8EoFRoZSBhY2NvdW50IGlzIG5vdCBjdXJyZW50bHkgZGVsZWdhdGluZy4oVm90ZXNFeGlzdAAQCFUBVGhlIGFjY291bnQgY3VycmVudGx5IGhhcyB2b3RlcyBhdHRhY2hlZCB0byBpdCBhbmQgdGhlIG9wZXJhdGlvbiBjYW5ub3Qgc3VjY2VlZCB1bnRpbOh0aGVzZSBhcmUgcmVtb3ZlZCwgZWl0aGVyIHRocm91Z2ggYHVudm90ZWAgb3IgYHJlYXBfdm90ZWAuREluc3RhbnROb3RBbGxvd2VkABEE2FRoZSBpbnN0YW50IHJlZmVyZW5kdW0gb3JpZ2luIGlzIGN1cnJlbnRseSBkaXNhbGxvd2VkLiBOb25zZW5zZQASBJREZWxlZ2F0aW9uIHRvIG9uZXNlbGYgbWFrZXMgbm8gc2Vuc2UuPFdyb25nVXBwZXJCb3VuZAATBFBJbnZhbGlkIHVwcGVyIGJvdW5kLjxNYXhWb3Rlc1JlYWNoZWQAFASATWF4aW11bSBudW1iZXIgb2Ygdm90ZXMgcmVhY2hlZC4cVG9vTWFueQAVBIBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyByZWFjaGVkLjxWb3RpbmdQZXJpb2RMb3cAFgRUVm90aW5nIHBlcmlvZCB0b28gbG93QFByZWltYWdlTm90RXhpc3QAFwRwVGhlIHByZWltYWdlIGRvZXMgbm90IGV4aXN0LgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7hCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUATQEUwAABADJAQEYVmVjPFQ+AADlCAhEcGFsbGV0X2NvbGxlY3RpdmUUVm90ZXMIJEFjY291bnRJZAEALEJsb2NrTnVtYmVyARAAFAEUaW5kZXgQATRQcm9wb3NhbEluZGV4AAEkdGhyZXNob2xkEAEsTWVtYmVyQ291bnQAARBheWVzMQEBOFZlYzxBY2NvdW50SWQ+AAEQbmF5czEBAThWZWM8QWNjb3VudElkPgABDGVuZBABLEJsb2NrTnVtYmVyAADpCAxEcGFsbGV0X2NvbGxlY3RpdmUYcGFsbGV0FEVycm9yCARUAARJAAEsJE5vdE1lbWJlcgAABFxBY2NvdW50IGlzIG5vdCBhIG1lbWJlckREdXBsaWNhdGVQcm9wb3NhbAABBHxEdXBsaWNhdGUgcHJvcG9zYWxzIG5vdCBhbGxvd2VkPFByb3Bvc2FsTWlzc2luZwACBExQcm9wb3NhbCBtdXN0IGV4aXN0KFdyb25nSW5kZXgAAwRATWlzbWF0Y2hlZCBpbmRleDREdXBsaWNhdGVWb3RlAAQEWER1cGxpY2F0ZSB2b3RlIGlnbm9yZWRIQWxyZWFkeUluaXRpYWxpemVkAAUEgE1lbWJlcnMgYXJlIGFscmVhZHkgaW5pdGlhbGl6ZWQhIFRvb0Vhcmx5AAYEAQFUaGUgY2xvc2UgY2FsbCB3YXMgbWFkZSB0b28gZWFybHksIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSB2b3RpbmcuQFRvb01hbnlQcm9wb3NhbHMABwT8VGhlcmUgY2FuIG9ubHkgYmUgYSBtYXhpbXVtIG9mIGBNYXhQcm9wb3NhbHNgIGFjdGl2ZSBwcm9wb3NhbHMuTFdyb25nUHJvcG9zYWxXZWlnaHQACATQVGhlIGdpdmVuIHdlaWdodCBib3VuZCBmb3IgdGhlIHByb3Bvc2FsIHdhcyB0b28gbG93LkxXcm9uZ1Byb3Bvc2FsTGVuZ3RoAAkE0FRoZSBnaXZlbiBsZW5ndGggYm91bmQgZm9yIHRoZSBwcm9wb3NhbCB3YXMgdG9vIGxvdy5UUHJpbWVBY2NvdW50Tm90TWVtYmVyAAoEdFByaW1lIGFjY291bnQgaXMgbm90IGEgbWVtYmVyBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lu0IAAAECPEIGADxCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAfUIBFMAAAQA+QgBGFZlYzxUPgAA9QgIMHBhbGxldF9wcm94eTxQcm94eURlZmluaXRpb24MJEFjY291bnRJZAEAJFByb3h5VHlwZQHELEJsb2NrTnVtYmVyARAADAEgZGVsZWdhdGUAASRBY2NvdW50SWQAAShwcm94eV90eXBlxAEkUHJveHlUeXBlAAEUZGVsYXkQASxCbG9ja051bWJlcgAA+QgAAAL1CAD9CAAABAgBCRgAAQkMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEFCQRTAAAEAAkJARhWZWM8VD4AAAUJCDBwYWxsZXRfcHJveHkwQW5ub3VuY2VtZW50DCRBY2NvdW50SWQBABBIYXNoATQsQmxvY2tOdW1iZXIBEAAMARByZWFsAAEkQWNjb3VudElkAAEkY2FsbF9oYXNoNAEQSGFzaAABGGhlaWdodBABLEJsb2NrTnVtYmVyAAAJCQAAAgUJAA0JDDBwYWxsZXRfcHJveHkYcGFsbGV0FEVycm9yBARUAAEgHFRvb01hbnkAAAQhAVRoZXJlIGFyZSB0b28gbWFueSBwcm94aWVzIHJlZ2lzdGVyZWQgb3IgdG9vIG1hbnkgYW5ub3VuY2VtZW50cyBwZW5kaW5nLiBOb3RGb3VuZAABBHRQcm94eSByZWdpc3RyYXRpb24gbm90IGZvdW5kLiBOb3RQcm94eQACBMxTZW5kZXIgaXMgbm90IGEgcHJveHkgb2YgdGhlIGFjY291bnQgdG8gYmUgcHJveGllZC4sVW5wcm94eWFibGUAAwQhAUEgY2FsbCB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgcHJveHkgdHlwZSdzIGZpbHRlciB3YXMgYXR0ZW1wdGVkLiREdXBsaWNhdGUABARsQWNjb3VudCBpcyBhbHJlYWR5IGEgcHJveHkuME5vUGVybWlzc2lvbgAFBBUBQ2FsbCBtYXkgbm90IGJlIG1hZGUgYnkgcHJveHkgYmVjYXVzZSBpdCBtYXkgZXNjYWxhdGUgaXRzIHByaXZpbGVnZXMuLFVuYW5ub3VuY2VkAAYE0EFubm91bmNlbWVudCwgaWYgbWFkZSBhdCBhbGwsIHdhcyBtYWRlIHRvbyByZWNlbnRseS4sTm9TZWxmUHJveHkABwRkQ2Fubm90IGFkZCBzZWxmIGFzIHByb3h5LgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4RCQAABAgABAAVCQg8cGFsbGV0X211bHRpc2lnIE11bHRpc2lnECxCbG9ja051bWJlcgEQHEJhbGFuY2UBGCRBY2NvdW50SWQBADBNYXhBcHByb3ZhbHMAABABEHdoZW7QAVhUaW1lcG9pbnQ8QmxvY2tOdW1iZXI+AAEcZGVwb3NpdBgBHEJhbGFuY2UAASRkZXBvc2l0b3IAASRBY2NvdW50SWQAASRhcHByb3ZhbHMZCQGMQm91bmRlZFZlYzxBY2NvdW50SWQsIE1heEFwcHJvdmFscz4AABkJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBAARTAAAEADEBARhWZWM8VD4AAB0JDDxwYWxsZXRfbXVsdGlzaWcYcGFsbGV0FEVycm9yBARUAAE4QE1pbmltdW1UaHJlc2hvbGQAAAR8VGhyZXNob2xkIG11c3QgYmUgMiBvciBncmVhdGVyLjxBbHJlYWR5QXBwcm92ZWQAAQSsQ2FsbCBpcyBhbHJlYWR5IGFwcHJvdmVkIGJ5IHRoaXMgc2lnbmF0b3J5LkROb0FwcHJvdmFsc05lZWRlZAACBJxDYWxsIGRvZXNuJ3QgbmVlZCBhbnkgKG1vcmUpIGFwcHJvdmFscy5EVG9vRmV3U2lnbmF0b3JpZXMAAwSoVGhlcmUgYXJlIHRvbyBmZXcgc2lnbmF0b3JpZXMgaW4gdGhlIGxpc3QuSFRvb01hbnlTaWduYXRvcmllcwAEBKxUaGVyZSBhcmUgdG9vIG1hbnkgc2lnbmF0b3JpZXMgaW4gdGhlIGxpc3QuVFNpZ25hdG9yaWVzT3V0T2ZPcmRlcgAFBA0BVGhlIHNpZ25hdG9yaWVzIHdlcmUgcHJvdmlkZWQgb3V0IG9mIG9yZGVyOyB0aGV5IHNob3VsZCBiZSBvcmRlcmVkLkxTZW5kZXJJblNpZ25hdG9yaWVzAAYEDQFUaGUgc2VuZGVyIHdhcyBjb250YWluZWQgaW4gdGhlIG90aGVyIHNpZ25hdG9yaWVzOyBpdCBzaG91bGRuJ3QgYmUuIE5vdEZvdW5kAAcE3E11bHRpc2lnIG9wZXJhdGlvbiBub3QgZm91bmQgd2hlbiBhdHRlbXB0aW5nIHRvIGNhbmNlbC4gTm90T3duZXIACAQtAU9ubHkgdGhlIGFjY291bnQgdGhhdCBvcmlnaW5hbGx5IGNyZWF0ZWQgdGhlIG11bHRpc2lnIGlzIGFibGUgdG8gY2FuY2VsIGl0LixOb1RpbWVwb2ludAAJBB0BTm8gdGltZXBvaW50IHdhcyBnaXZlbiwgeWV0IHRoZSBtdWx0aXNpZyBvcGVyYXRpb24gaXMgYWxyZWFkeSB1bmRlcndheS44V3JvbmdUaW1lcG9pbnQACgQtAUEgZGlmZmVyZW50IHRpbWVwb2ludCB3YXMgZ2l2ZW4gdG8gdGhlIG11bHRpc2lnIG9wZXJhdGlvbiB0aGF0IGlzIHVuZGVyd2F5LkxVbmV4cGVjdGVkVGltZXBvaW50AAsE9EEgdGltZXBvaW50IHdhcyBnaXZlbiwgeWV0IG5vIG11bHRpc2lnIG9wZXJhdGlvbiBpcyB1bmRlcndheS48TWF4V2VpZ2h0VG9vTG93AAwE0FRoZSBtYXhpbXVtIHdlaWdodCBpbmZvcm1hdGlvbiBwcm92aWRlZCB3YXMgdG9vIGxvdy40QWxyZWFkeVN0b3JlZAANBKBUaGUgZGF0YSB0byBiZSBzdG9yZWQgaXMgYWxyZWFkeSBzdG9yZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LiEJDDhwYWxsZXRfdW5pcXVlcxR0eXBlc0RDb2xsZWN0aW9uRGV0YWlscwgkQWNjb3VudElkAQA4RGVwb3NpdEJhbGFuY2UBGAAoARRvd25lcgABJEFjY291bnRJZAABGGlzc3VlcgABJEFjY291bnRJZAABFGFkbWluAAEkQWNjb3VudElkAAEcZnJlZXplcgABJEFjY291bnRJZAABNHRvdGFsX2RlcG9zaXQYAThEZXBvc2l0QmFsYW5jZQABMGZyZWVfaG9sZGluZyABEGJvb2wAARRpdGVtcxABDHUzMgABOGl0ZW1fbWV0YWRhdGFzEAEMdTMyAAEoYXR0cmlidXRlcxABDHUzMgABJGlzX2Zyb3plbiABEGJvb2wAACUJAAAEDAAYGAApCQw4cGFsbGV0X3VuaXF1ZXMUdHlwZXMsSXRlbURldGFpbHMIJEFjY291bnRJZAEAOERlcG9zaXRCYWxhbmNlARgAEAEUb3duZXIAASRBY2NvdW50SWQAASBhcHByb3ZlZOwBRE9wdGlvbjxBY2NvdW50SWQ+AAEkaXNfZnJvemVuIAEQYm9vbAABHGRlcG9zaXQYAThEZXBvc2l0QmFsYW5jZQAALQkMOHBhbGxldF91bmlxdWVzFHR5cGVzSENvbGxlY3Rpb25NZXRhZGF0YQg4RGVwb3NpdEJhbGFuY2UBGCxTdHJpbmdMaW1pdAAADAEcZGVwb3NpdBgBOERlcG9zaXRCYWxhbmNlAAEQZGF0YdgBbEJvdW5kZWRWZWM8dTgsIFN0cmluZ0xpbWl0PgABJGlzX2Zyb3plbiABEGJvb2wAADEJDDhwYWxsZXRfdW5pcXVlcxR0eXBlczBJdGVtTWV0YWRhdGEIOERlcG9zaXRCYWxhbmNlARgsU3RyaW5nTGltaXQAAAwBHGRlcG9zaXQYAThEZXBvc2l0QmFsYW5jZQABEGRhdGHYAWxCb3VuZGVkVmVjPHU4LCBTdHJpbmdMaW1pdD4AASRpc19mcm96ZW4gARBib29sAAA1CQAABAwY4OQAOQkAAAQI6BgAPQkAAAQIGOwAQQkMOHBhbGxldF91bmlxdWVzGHBhbGxldBRFcnJvcggEVAAESQABSDBOb1Blcm1pc3Npb24AAAToVGhlIHNpZ25pbmcgYWNjb3VudCBoYXMgbm8gcGVybWlzc2lvbiB0byBkbyB0aGUgb3BlcmF0aW9uLkRVbmtub3duQ29sbGVjdGlvbgABBHRUaGUgZ2l2ZW4gaXRlbSBJRCBpcyB1bmtub3duLjRBbHJlYWR5RXhpc3RzAAIEuFRoZSBpdGVtIElEIGhhcyBhbHJlYWR5IGJlZW4gdXNlZCBmb3IgYW4gaXRlbS4oV3JvbmdPd25lcgADBOhUaGUgb3duZXIgdHVybmVkIG91dCB0byBiZSBkaWZmZXJlbnQgdG8gd2hhdCB3YXMgZXhwZWN0ZWQuKEJhZFdpdG5lc3MABARsSW52YWxpZCB3aXRuZXNzIGRhdGEgZ2l2ZW4uFEluVXNlAAUEdFRoZSBpdGVtIElEIGlzIGFscmVhZHkgdGFrZW4uGEZyb3plbgAGBIRUaGUgaXRlbSBvciBjb2xsZWN0aW9uIGlzIGZyb3plbi40V3JvbmdEZWxlZ2F0ZQAHBPRUaGUgZGVsZWdhdGUgdHVybmVkIG91dCB0byBiZSBkaWZmZXJlbnQgdG8gd2hhdCB3YXMgZXhwZWN0ZWQuKE5vRGVsZWdhdGUACAR4VGhlcmUgaXMgbm8gZGVsZWdhdGUgYXBwcm92ZWQuKFVuYXBwcm92ZWQACQTETm8gYXBwcm92YWwgZXhpc3RzIHRoYXQgd291bGQgYWxsb3cgdGhlIHRyYW5zZmVyLihVbmFjY2VwdGVkAAoEJQFUaGUgbmFtZWQgb3duZXIgaGFzIG5vdCBzaWduZWQgb3duZXJzaGlwIG9mIHRoZSBjb2xsZWN0aW9uIGlzIGFjY2VwdGFibGUuGExvY2tlZAALBExUaGUgaXRlbSBpcyBsb2NrZWQuQE1heFN1cHBseVJlYWNoZWQADARsQWxsIGl0ZW1zIGhhdmUgYmVlbiBtaW50ZWQuTE1heFN1cHBseUFscmVhZHlTZXQADQSQVGhlIG1heCBzdXBwbHkgaGFzIGFscmVhZHkgYmVlbiBzZXQuRE1heFN1cHBseVRvb1NtYWxsAA4EQQFUaGUgcHJvdmlkZWQgbWF4IHN1cHBseSBpcyBsZXNzIHRvIHRoZSBhbW91bnQgb2YgaXRlbXMgYSBjb2xsZWN0aW9uIGFscmVhZHkgaGFzLixVbmtub3duSXRlbQAPBHRUaGUgZ2l2ZW4gaXRlbSBJRCBpcyB1bmtub3duLihOb3RGb3JTYWxlABAEVEl0ZW0gaXMgbm90IGZvciBzYWxlLiRCaWRUb29Mb3cAEQRwVGhlIHByb3ZpZGVkIGJpZCBpcyB0b28gbG93LgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5FCQAABAgAyABJCQxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nEHZvdGUYVm90aW5nFBxCYWxhbmNlARgkQWNjb3VudElkAQAsQmxvY2tOdW1iZXIBECRQb2xsSW5kZXgBECBNYXhWb3RlcwABCBxDYXN0aW5nBABNCQHIQ2FzdGluZzxCYWxhbmNlLCBCbG9ja051bWJlciwgUG9sbEluZGV4LCBNYXhWb3Rlcz4AAAAoRGVsZWdhdGluZwQAZQkBrERlbGVnYXRpbmc8QmFsYW5jZSwgQWNjb3VudElkLCBCbG9ja051bWJlcj4AAQAATQkMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxB2b3RlHENhc3RpbmcQHEJhbGFuY2UBGCxCbG9ja051bWJlcgEQJFBvbGxJbmRleAEQIE1heFZvdGVzAAAMARR2b3Rlc1EJAdxCb3VuZGVkVmVjPChQb2xsSW5kZXgsIEFjY291bnRWb3RlPEJhbGFuY2U+KSwgTWF4Vm90ZXM+AAEsZGVsZWdhdGlvbnNdCQFQRGVsZWdhdGlvbnM8QmFsYW5jZT4AARRwcmlvcmEJAXxQcmlvckxvY2s8QmxvY2tOdW1iZXIsIEJhbGFuY2U+AABRCQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAVUJBFMAAAQAWQkBGFZlYzxUPgAAVQkAAAQIEAEBAFkJAAACVQkAXQkMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxR0eXBlcyxEZWxlZ2F0aW9ucwQcQmFsYW5jZQEYAAgBFHZvdGVzGAEcQmFsYW5jZQABHGNhcGl0YWwYARxCYWxhbmNlAABhCQxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nEHZvdGUkUHJpb3JMb2NrCCxCbG9ja051bWJlcgEQHEJhbGFuY2UBGAAIABABLEJsb2NrTnVtYmVyAAAYARxCYWxhbmNlAABlCQxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nEHZvdGUoRGVsZWdhdGluZwwcQmFsYW5jZQEYJEFjY291bnRJZAEALEJsb2NrTnVtYmVyARAAFAEcYmFsYW5jZRgBHEJhbGFuY2UAARh0YXJnZXQAASRBY2NvdW50SWQAAShjb252aWN0aW9uwQIBKENvbnZpY3Rpb24AASxkZWxlZ2F0aW9uc10JAVBEZWxlZ2F0aW9uczxCYWxhbmNlPgABFHByaW9yYQkBfFByaW9yTG9jazxCbG9ja051bWJlciwgQmFsYW5jZT4AAGkJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBbQkEUwAABABxCQEYVmVjPFQ+AABtCQAABAjIGABxCQAAAm0JAHUJDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcYcGFsbGV0FEVycm9yCARUAARJAAEwKE5vdE9uZ29pbmcAAARQUG9sbCBpcyBub3Qgb25nb2luZy4gTm90Vm90ZXIAAQSsVGhlIGdpdmVuIGFjY291bnQgZGlkIG5vdCB2b3RlIG9uIHRoZSBwb2xsLjBOb1Blcm1pc3Npb24AAgTIVGhlIGFjdG9yIGhhcyBubyBwZXJtaXNzaW9uIHRvIGNvbmR1Y3QgdGhlIGFjdGlvbi48Tm9QZXJtaXNzaW9uWWV0AAMEWQFUaGUgYWN0b3IgaGFzIG5vIHBlcm1pc3Npb24gdG8gY29uZHVjdCB0aGUgYWN0aW9uIHJpZ2h0IG5vdyBidXQgd2lsbCBkbyBpbiB0aGUgZnV0dXJlLkRBbHJlYWR5RGVsZWdhdGluZwAEBIhUaGUgYWNjb3VudCBpcyBhbHJlYWR5IGRlbGVnYXRpbmcuNEFscmVhZHlWb3RpbmcABQhVAVRoZSBhY2NvdW50IGN1cnJlbnRseSBoYXMgdm90ZXMgYXR0YWNoZWQgdG8gaXQgYW5kIHRoZSBvcGVyYXRpb24gY2Fubm90IHN1Y2NlZWQgdW50aWygdGhlc2UgYXJlIHJlbW92ZWQgdGhyb3VnaCBgcmVtb3ZlX3ZvdGVgLkRJbnN1ZmZpY2llbnRGdW5kcwAGBPxUb28gaGlnaCBhIGJhbGFuY2Ugd2FzIHByb3ZpZGVkIHRoYXQgdGhlIGFjY291bnQgY2Fubm90IGFmZm9yZC40Tm90RGVsZWdhdGluZwAHBKBUaGUgYWNjb3VudCBpcyBub3QgY3VycmVudGx5IGRlbGVnYXRpbmcuIE5vbnNlbnNlAAgElERlbGVnYXRpb24gdG8gb25lc2VsZiBtYWtlcyBubyBzZW5zZS48TWF4Vm90ZXNSZWFjaGVkAAkEgE1heGltdW0gbnVtYmVyIG9mIHZvdGVzIHJlYWNoZWQuLENsYXNzTmVlZGVkAAoEOQFUaGUgY2xhc3MgbXVzdCBiZSBzdXBwbGllZCBzaW5jZSBpdCBpcyBub3QgZWFzaWx5IGRldGVybWluYWJsZSBmcm9tIHRoZSBzdGF0ZS4gQmFkQ2xhc3MACwSEVGhlIGNsYXNzIElEIHN1cHBsaWVkIGlzIGludmFsaWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LnkJDEBwYWxsZXRfcmVmZXJlbmRhFHR5cGVzOFJlZmVyZW5kdW1JbmZvIBxUcmFja0lkAcg0UnVudGltZU9yaWdpbgFlARhNb21lbnQBEBBDYWxsAQ0BHEJhbGFuY2UBGBRUYWxseQFVBiRBY2NvdW50SWQBADxTY2hlZHVsZUFkZHJlc3MBTQMBGBxPbmdvaW5nBAB9CQGNAVJlZmVyZW5kdW1TdGF0dXM8VHJhY2tJZCwgUnVudGltZU9yaWdpbiwgTW9tZW50LCBDYWxsLCBCYWxhbmNlLCBUYWxseSwKQWNjb3VudElkLCBTY2hlZHVsZUFkZHJlc3MsPgAAACBBcHByb3ZlZAwAEAEYTW9tZW50AACFCQGMT3B0aW9uPERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPj4AAIUJAYxPcHRpb248RGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+PgABACBSZWplY3RlZAwAEAEYTW9tZW50AACFCQGMT3B0aW9uPERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPj4AAIUJAYxPcHRpb248RGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+PgACACRDYW5jZWxsZWQMABABGE1vbWVudAAAhQkBjE9wdGlvbjxEZXBvc2l0PEFjY291bnRJZCwgQmFsYW5jZT4+AACFCQGMT3B0aW9uPERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPj4AAwAgVGltZWRPdXQMABABGE1vbWVudAAAhQkBjE9wdGlvbjxEZXBvc2l0PEFjY291bnRJZCwgQmFsYW5jZT4+AACFCQGMT3B0aW9uPERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPj4ABAAYS2lsbGVkBAAQARhNb21lbnQABQAAfQkMQHBhbGxldF9yZWZlcmVuZGEUdHlwZXNAUmVmZXJlbmR1bVN0YXR1cyAcVHJhY2tJZAHINFJ1bnRpbWVPcmlnaW4BZQEYTW9tZW50ARAQQ2FsbAENARxCYWxhbmNlARgUVGFsbHkBVQYkQWNjb3VudElkAQA8U2NoZWR1bGVBZGRyZXNzAU0DACwBFHRyYWNryAEcVHJhY2tJZAABGG9yaWdpbmUBATRSdW50aW1lT3JpZ2luAAEgcHJvcG9zYWwNAQEQQ2FsbAABJGVuYWN0bWVudM0CAVBEaXNwYXRjaFRpbWU8TW9tZW50PgABJHN1Ym1pdHRlZBABGE1vbWVudAABSHN1Ym1pc3Npb25fZGVwb3NpdIEJAWxEZXBvc2l0PEFjY291bnRJZCwgQmFsYW5jZT4AAUBkZWNpc2lvbl9kZXBvc2l0hQkBjE9wdGlvbjxEZXBvc2l0PEFjY291bnRJZCwgQmFsYW5jZT4+AAEgZGVjaWRpbmeJCQF4T3B0aW9uPERlY2lkaW5nU3RhdHVzPE1vbWVudD4+AAEUdGFsbHlVBgEUVGFsbHkAASBpbl9xdWV1ZSABEGJvb2wAARRhbGFybZEJAYRPcHRpb248KE1vbWVudCwgU2NoZWR1bGVBZGRyZXNzKT4AAIEJDEBwYWxsZXRfcmVmZXJlbmRhFHR5cGVzHERlcG9zaXQIJEFjY291bnRJZAEAHEJhbGFuY2UBGAAIAQx3aG8AASRBY2NvdW50SWQAARhhbW91bnQYARxCYWxhbmNlAACFCQQYT3B0aW9uBARUAYEJAQgQTm9uZQAAABBTb21lBACBCQAAAQAAiQkEGE9wdGlvbgQEVAGNCQEIEE5vbmUAAAAQU29tZQQAjQkAAAEAAI0JDEBwYWxsZXRfcmVmZXJlbmRhFHR5cGVzOERlY2lkaW5nU3RhdHVzBCxCbG9ja051bWJlcgEQAAgBFHNpbmNlEAEsQmxvY2tOdW1iZXIAAShjb25maXJtaW5nWQEBTE9wdGlvbjxCbG9ja051bWJlcj4AAJEJBBhPcHRpb24EBFQBlQkBCBBOb25lAAAAEFNvbWUEAJUJAAABAACVCQAABAgQTQMAmQkMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAHVAwRTAAAEADEGARhWZWM8VD4AAJ0JAAACoQkAoQkAAAQIyKUJAKUJDEBwYWxsZXRfcmVmZXJlbmRhFHR5cGVzJFRyYWNrSW5mbwgcQmFsYW5jZQEYGE1vbWVudAEQACQBEG5hbWURBwEwJidzdGF0aWMgc3RyAAEwbWF4X2RlY2lkaW5nEAEMdTMyAAFAZGVjaXNpb25fZGVwb3NpdBgBHEJhbGFuY2UAAThwcmVwYXJlX3BlcmlvZBABGE1vbWVudAABPGRlY2lzaW9uX3BlcmlvZBABGE1vbWVudAABOGNvbmZpcm1fcGVyaW9kEAEYTW9tZW50AAFQbWluX2VuYWN0bWVudF9wZXJpb2QQARhNb21lbnQAATBtaW5fYXBwcm92YWypCQEUQ3VydmUAASxtaW5fc3VwcG9ydKkJARRDdXJ2ZQAAqQkMQHBhbGxldF9yZWZlcmVuZGEUdHlwZXMUQ3VydmUAAQxATGluZWFyRGVjcmVhc2luZwwBGGxlbmd0aMEDARxQZXJiaWxsAAEUZmxvb3LBAwEcUGVyYmlsbAABEGNlaWzBAwEcUGVyYmlsbAAAAERTdGVwcGVkRGVjcmVhc2luZxABFGJlZ2luwQMBHFBlcmJpbGwAAQxlbmTBAwEcUGVyYmlsbAABEHN0ZXDBAwEcUGVyYmlsbAABGHBlcmlvZMEDARxQZXJiaWxsAAEAKFJlY2lwcm9jYWwMARhmYWN0b3KtCQEgRml4ZWRJNjQAASB4X29mZnNldK0JASBGaXhlZEk2NAABIHlfb2Zmc2V0rQkBIEZpeGVkSTY0AAIAAK0JDDRzcF9hcml0aG1ldGljLGZpeGVkX3BvaW50IEZpeGVkSTY0AAAEALEJAQxpNjQAALEJAAAFDAC1CQxAcGFsbGV0X3JlZmVyZW5kYRhwYWxsZXQURXJyb3IIBFQABEkAATgoTm90T25nb2luZwAABGhSZWZlcmVuZHVtIGlzIG5vdCBvbmdvaW5nLihIYXNEZXBvc2l0AAEEuFJlZmVyZW5kdW0ncyBkZWNpc2lvbiBkZXBvc2l0IGlzIGFscmVhZHkgcGFpZC4gQmFkVHJhY2sAAgScVGhlIHRyYWNrIGlkZW50aWZpZXIgZ2l2ZW4gd2FzIGludmFsaWQuEEZ1bGwAAwQxAVRoZXJlIGFyZSBhbHJlYWR5IGEgZnVsbCBjb21wbGVtZW50IG9mIHJlZmVyZW5kYSBpbiBwcm9ncmVzcyBmb3IgdGhpcyB0cmFjay4oUXVldWVFbXB0eQAEBIBUaGUgcXVldWUgb2YgdGhlIHRyYWNrIGlzIGVtcHR5LjRCYWRSZWZlcmVuZHVtAAUE5FRoZSByZWZlcmVuZHVtIGluZGV4IHByb3ZpZGVkIGlzIGludmFsaWQgaW4gdGhpcyBjb250ZXh0LixOb3RoaW5nVG9EbwAGBKxUaGVyZSB3YXMgbm90aGluZyB0byBkbyBpbiB0aGUgYWR2YW5jZW1lbnQuHE5vVHJhY2sABwSgTm8gdHJhY2sgZXhpc3RzIGZvciB0aGUgcHJvcG9zYWwgb3JpZ2luLihVbmZpbmlzaGVkAAgEAQFBbnkgZGVwb3NpdCBjYW5ub3QgYmUgcmVmdW5kZWQgdW50aWwgYWZ0ZXIgdGhlIGRlY2lzaW9uIGlzIG92ZXIuME5vUGVybWlzc2lvbgAJBKhUaGUgZGVwb3NpdCByZWZ1bmRlciBpcyBub3QgdGhlIGRlcG9zaXRvci4kTm9EZXBvc2l0AAoEzFRoZSBkZXBvc2l0IGNhbm5vdCBiZSByZWZ1bmRlZCBzaW5jZSBub25lIHdhcyBtYWRlLiRCYWRTdGF0dXMACwTQVGhlIHJlZmVyZW5kdW0gc3RhdHVzIGlzIGludmFsaWQgZm9yIHRoaXMgb3BlcmF0aW9uLkBQcmVpbWFnZU5vdEV4aXN0AAwEcFRoZSBwcmVpbWFnZSBkb2VzIG5vdCBleGlzdC6EUHJlaW1hZ2VTdG9yZWRXaXRoRGlmZmVyZW50TGVuZ3RoAA0EFQFUaGUgcHJlaW1hZ2UgaXMgc3RvcmVkIHdpdGggYSBkaWZmZXJlbnQgbGVuZ3RoIHRoYW4gdGhlIG9uZSBwcm92aWRlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuuQkMQHBhbGxldF93aGl0ZWxpc3QYcGFsbGV0FEVycm9yBARUAAEUTFVuYXZhaWxhYmxlUHJlSW1hZ2UAAATIVGhlIHByZWltYWdlIG9mIHRoZSBjYWxsIGhhc2ggY291bGQgbm90IGJlIGxvYWRlZC48VW5kZWNvZGFibGVDYWxsAAEEeFRoZSBjYWxsIGNvdWxkIG5vdCBiZSBkZWNvZGVkLmBJbnZhbGlkQ2FsbFdlaWdodFdpdG5lc3MAAgTsVGhlIHdlaWdodCBvZiB0aGUgZGVjb2RlZCBjYWxsIHdhcyBoaWdoZXIgdGhhbiB0aGUgd2l0bmVzcy5QQ2FsbElzTm90V2hpdGVsaXN0ZWQAAwR0VGhlIGNhbGwgd2FzIG5vdCB3aGl0ZWxpc3RlZC5YQ2FsbEFscmVhZHlXaGl0ZWxpc3RlZAAEBKBUaGUgY2FsbCB3YXMgYWxyZWFkeSB3aGl0ZWxpc3RlZDsgTm8tT3AuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lr0JDERwYWxsZXRfZGlzcGF0Y2hlchhwYWxsZXQURXJyb3IEBFQAAQg0RXZtQ2FsbEZhaWxlZAAACD0BVGhlIEVWTSBjYWxsIGV4ZWN1dGlvbiBmYWlsZWQuIFRoaXMgaGFwcGVucyB3aGVuIHRoZSBFVk0gcmV0dXJucyBhbiBleGl0IHJlYXNvbvRvdGhlciB0aGFuIGBFeGl0U3VjY2VlZChSZXR1cm5lZClgIG9yIGBFeGl0U3VjY2VlZChTdG9wcGVkKWAuKE5vdEV2bUNhbGwAAQRtAVRoZSBwcm92aWRlZCBjYWxsIGlzIG5vdCBhbiBFVk0gY2FsbC4gVGhpcyBleHRyaW5zaWMgb25seSBhY2NlcHRzIGBwYWxsZXRfZXZtOjpDYWxsOjpjYWxsYC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuwQkMVHBhbGxldF9hc3NldF9yZWdpc3RyeRR0eXBlczBBc3NldERldGFpbHMELFN0cmluZ0xpbWl0AAAcARBuYW1l3QIBZE9wdGlvbjxOYW1lPFN0cmluZ0xpbWl0Pj4AAShhc3NldF90eXBl5QIBJEFzc2V0VHlwZQABTGV4aXN0ZW50aWFsX2RlcG9zaXQYARxCYWxhbmNlAAEYc3ltYm9s3QIBbE9wdGlvbjxTeW1ib2w8U3RyaW5nTGltaXQ+PgABIGRlY2ltYWxz6QIBKE9wdGlvbjx1OD4AATh4Y21fcmF0ZV9saW1pdOABPE9wdGlvbjxCYWxhbmNlPgABNGlzX3N1ZmZpY2llbnQgARBib29sAADFCQxUcGFsbGV0X2Fzc2V0X3JlZ2lzdHJ5GHBhbGxldBRFcnJvcgQEVAABPDROb0lkQXZhaWxhYmxlAAAEcQFBc3NldCBJRCBpcyBub3QgYXZhaWxhYmxlLiBUaGlzIG9ubHkgaGFwcGVucyB3aGVuIGl0IHJlYWNoZXMgdGhlIE1BWCB2YWx1ZSBvZiBnaXZlbiBpZCB0eXBlLjRBc3NldE5vdEZvdW5kAAEEdEludmFsaWQgYXNzZXQgbmFtZSBvciBzeW1ib2wuIFRvb1Nob3J0AAIEyExlbmd0aCBvZiBuYW1lIG9yIHN5bWJvbCBpcyBsZXNzIHRoYW4gbWluLiBsZW5ndGguNEludmFsaWRTeW1ib2wAAwTQQXNzZXQncyBzeW1ib2wgY2FuJ3QgY29udGFpbiB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgLkhBc3NldE5vdFJlZ2lzdGVyZWQABATEQXNzZXQgSUQgaXMgbm90IHJlZ2lzdGVyZWQgaW4gdGhlIGFzc2V0LXJlZ2lzdHJ5LlhBc3NldEFscmVhZHlSZWdpc3RlcmVkAAUEcEFzc2V0IGlzIGFscmVhZHkgcmVnaXN0ZXJlZC5USW52YWxpZFNoYXJlZEFzc2V0TGVuAAYE7EluY29ycmVjdCBudW1iZXIgb2YgYXNzZXRzIHByb3ZpZGVkIHRvIGNyZWF0ZSBzaGFyZWQgYXNzZXQuUENhbm5vdFVwZGF0ZUxvY2F0aW9uAAcEdENhbm5vdCB1cGRhdGUgYXNzZXQgbG9jYXRpb24uSE5vdEluUmVzZXJ2ZWRSYW5nZQAIBKxTZWxlY3RlZCBhc3NldCBpZCBpcyBvdXQgb2YgcmVzZXJ2ZWQgcmFuZ2UuZExvY2F0aW9uQWxyZWFkeVJlZ2lzdGVyZWQACQTETG9jYXRpb24gYWxyZWFkeSByZWdpc3RlcmVkIHdpdGggZGlmZmVyZW50IGFzc2V0LiRGb3JiaWRkZW4ACgSgT3JpZ2luIGlzIGZvcmJpZGRlbiB0byBzZXQvdXBkYXRlIHZhbHVlLkxJbnN1ZmZpY2llbnRCYWxhbmNlAAsEQEJhbGFuY2UgdG9vIGxvdy5oRm9yYmlkZGVuU3VmZmljaWVuY3lDaGFuZ2UADATMU3VmZmljaWVudCBhc3NldHMgY2FuJ3QgYmUgY2hhbmdlZCB0byBpbnN1ZmZpY2llbnQuSEFzc2V0QWxyZWFkeUJhbm5lZAANBGBBc3NldCBpcyBhbHJlYWR5IGJhbm5lZC44QXNzZXROb3RCYW5uZWQADgRQQXNzZXQgaXMgbm90IGJhbm5lZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuyQkMNHBhbGxldF9jbGFpbXMYcGFsbGV0FEVycm9yBARUAAEMYEludmFsaWRFdGhlcmV1bVNpZ25hdHVyZQAABHxFdGhlcmV1bSBzaWduYXR1cmUgaXMgbm90IHZhbGlkXE5vQ2xhaW1PckFscmVhZHlDbGFpbWVkAAEESENsYWltIGlzIG5vdCB2YWxpZDxCYWxhbmNlT3ZlcmZsb3cAAgTcVmFsdWUgcmVhY2hlZCBtYXhpbXVtIGFuZCBjYW5ub3QgYmUgaW5jcmVtZW50ZWQgZnVydGhlcgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7NCQhYcGFsbGV0X2dlbmVzaXNfaGlzdG9yeRRDaGFpbgAACAEwZ2VuZXNpc19oYXNoNAEQSDI1NgABPGxhc3RfYmxvY2tfaGFzaDQBEEgyNTYAANEJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBAARTAAAEADEBARhWZWM8VD4AANUJDFxwYWxsZXRfY29sbGF0b3JfcmV3YXJkcxhwYWxsZXQURXJyb3IEBFQAAQAEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu2QkMPHBhbGxldF9vbW5pcG9vbBR0eXBlcyhBc3NldFN0YXRlBBxCYWxhbmNlARgAFAEsaHViX3Jlc2VydmUYARxCYWxhbmNlAAEYc2hhcmVzGAEcQmFsYW5jZQABPHByb3RvY29sX3NoYXJlcxgBHEJhbGFuY2UAAQxjYXAYARB1MTI4AAEgdHJhZGFibGUlAwEsVHJhZGFiaWxpdHkAAN0JDDxwYWxsZXRfb21uaXBvb2wUdHlwZXMgUG9zaXRpb24IHEJhbGFuY2UBGBxBc3NldElkARAAEAEgYXNzZXRfaWQQARxBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABGHNoYXJlcxgBHEJhbGFuY2UAARRwcmljZSkDAUgoQmFsYW5jZSwgQmFsYW5jZSkAAOEJDDxwYWxsZXRfb21uaXBvb2wYcGFsbGV0FEVycm9yBARUAAGATEluc3VmZmljaWVudEJhbGFuY2UAAAQ8QmFsYW5jZSB0b28gbG93REFzc2V0QWxyZWFkeUFkZGVkAAEEcEFzc2V0IGlzIGFscmVhZHkgaW4gb21uaXBvb2w0QXNzZXROb3RGb3VuZAACBGBBc3NldCBpcyBub3QgaW4gb21uaXBvb2w4TWlzc2luZ0JhbGFuY2UAAwQZAUZhaWxlZCB0byBhZGQgdG9rZW4gdG8gT21uaXBvb2wgZHVlIHRvIGluc3VmZmljaWVudCBpbml0aWFsIGxpcXVpZGl0eS5gSW52YWxpZEluaXRpYWxBc3NldFByaWNlAAQEcEludmFsaWQgaW5pdGlhbCBhc3NldCBwcmljZS5IQnV5TGltaXROb3RSZWFjaGVkAAUE5FNsaXBwYWdlIHByb3RlY3Rpb24gLSBtaW5pbXVtIGxpbWl0IGhhcyBub3QgYmVlbiByZWFjaGVkLkRTZWxsTGltaXRFeGNlZWRlZAAGBNhTbGlwcGFnZSBwcm90ZWN0aW9uIC0gbWF4aW11bSBsaW1pdCBoYXMgYmVlbiBleGNlZWRlZC5AUG9zaXRpb25Ob3RGb3VuZAAHBHBQb3NpdGlvbiBoYXMgbm90IGJlZW4gZm91bmQuSEluc3VmZmljaWVudFNoYXJlcwAIBHxJbnN1ZmZpY2llbnQgc2hhcmVzIGluIHBvc2l0aW9uKE5vdEFsbG93ZWQACQSIQXNzZXQgaXMgbm90IGFsbG93ZWQgdG8gYmUgdHJhZGVkLiRGb3JiaWRkZW4ACgTEU2lnbmVkIGFjY291bnQgaXMgbm90IG93bmVyIG9mIHBvc2l0aW9uIGluc3RhbmNlLlhBc3NldFdlaWdodENhcEV4Y2VlZGVkAAsEjEFzc2V0IHdlaWdodCBjYXAgaGFzIGJlZW4gZXhjZWVkZWQuSEFzc2V0Tm90UmVnaXN0ZXJlZAAMBKRBc3NldCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBhc3NldCByZWdpc3RyeVRJbnN1ZmZpY2llbnRMaXF1aWRpdHkADQTEUHJvdmlkZWQgbGlxdWlkaXR5IGlzIGJlbG93IG1pbmltdW0gYWxsb3dlZCBsaW1pdGRJbnN1ZmZpY2llbnRUcmFkaW5nQW1vdW50AA4EsFRyYWRlZCBhbW91bnQgaXMgYmVsb3cgbWluaW11bSBhbGxvd2VkIGxpbWl0YFNhbWVBc3NldFRyYWRlTm90QWxsb3dlZAAPBLxTZWxsIG9yIGJ1eSB3aXRoIHNhbWUgYXNzZXQgaWRzIGlzIG5vdCBhbGxvd2VkLkxIdWJBc3NldFVwZGF0ZUVycm9yABAEyExSTkEgdXBkYXRlIGFmdGVyIHRyYWRlIHJlc3VsdHMgaW4gcG9zaXRpdmUgdmFsdWUuTEludmFsaWRTaGFyZXNBbW91bnQAEQSYQW1vdW50IG9mIHNoYXJlcyBwcm92aWRlZCBjYW5ub3QgYmUgMC5wSW52YWxpZEh1YkFzc2V0VHJhZGFibGVTdGF0ZQASBJRIdWIgYXNzZXQgaXMgb25seSBhbGxvd2VkIHRvIGJlIHNvbGQuVEFzc2V0UmVmdW5kTm90QWxsb3dlZAATBJBBc3NldCBpcyBub3QgYWxsb3dlZCB0byBiZSByZWZ1bmRlZC5MTWF4T3V0UmF0aW9FeGNlZWRlZAAUBLxNYXggZnJhY3Rpb24gb2YgYXNzZXQgdG8gYnV5IGhhcyBiZWVuIGV4Y2VlZGVkLkhNYXhJblJhdGlvRXhjZWVkZWQAFQTATWF4IGZyYWN0aW9uIG9mIGFzc2V0IHRvIHNlbGwgaGFzIGJlZW4gZXhjZWVkZWQuWFByaWNlRGlmZmVyZW5jZVRvb0hpZ2gAFgS8TWF4IGFsbG93ZWQgcHJpY2UgZGlmZmVyZW5jZSBoYXMgYmVlbiBleGNlZWRlZC5ISW52YWxpZE9yYWNsZVByaWNlABcEoEludmFsaWQgb3JhY2xlIHByaWNlIC0gZGl2aXNpb24gYnkgemVyby5QSW52YWxpZFdpdGhkcmF3YWxGZWUAGASMRmFpbGVkIHRvIGNhbGN1bGF0ZSB3aXRoZHJhd2FsIGZlZS4wRmVlT3ZlcmRyYWZ0ABkE1E1vcmUgdGhhbiBhbGxvd2VkIGFtb3VudCBvZiBmZWUgaGFzIGJlZW4gdHJhbnNmZXJyZWQuPFNoYXJlc1JlbWFpbmluZwAaBD0BVG9rZW4gY2Fubm90IGJlIHJlbW92ZWQgZnJvbSBPbW5pcG9vbCBkdWUgdG8gc2hhcmVzIHN0aWxsIG93bmVkIGJ5IG90aGVyIHVzZXJzLjhBc3NldE5vdEZyb3plbgAbBAkBVG9rZW4gY2Fubm90IGJlIHJlbW92ZWQgZnJvbSBPbW5pcG9vbCBiZWNhdXNlIGFzc2V0IGlzIG5vdCBmcm96ZW4uNFplcm9BbW91bnRPdXQAHAS4Q2FsY3VsYXRlZCBhbW91bnQgb3V0IGZyb20gc2VsbCB0cmFkZSBpcyB6ZXJvLnhFeGlzdGVudGlhbERlcG9zaXROb3RBdmFpbGFibGUAHQS4RXhpc3RlbnRpYWwgZGVwb3NpdCBvZiBhc3NldCBpcyBub3QgYXZhaWxhYmxlLjRTbGlwcGFnZUxpbWl0AB4ETFNsaXBwYWdlIHByb3RlY3Rpb25YUHJvdG9jb2xGZWVOb3RDb25zdW1lZAAfBKRFeHRyYSBwcm90b2NvbCBmZWUgaGFzIG5vdCBiZWVuIGNvbnN1bWVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7lCQAABAjpCekJAOkJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAA7QkMYHBhbGxldF90cmFuc2FjdGlvbl9wYXVzZRhwYWxsZXQURXJyb3IEBFQAAQwsQ2Fubm90UGF1c2UAAAQ0Y2FuIG5vdCBwYXVzZUBJbnZhbGlkQ2hhcmFjdGVyAAEEaGludmFsaWQgY2hhcmFjdGVyIGVuY29kaW5nLE5hbWVUb29Mb25nAAIEoHBhbGxldCBuYW1lIG9yIGZ1bmN0aW9uIG5hbWUgaXMgdG9vIGxvbmcEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu8QkMNHBhbGxldF9kdXN0ZXIYcGFsbGV0FEVycm9yBARUAAEYSEFjY291bnRCbGFja2xpc3RlZAAABIRBY2NvdW50IGlzIGV4Y2x1ZGVkIGZyb20gZHVzdGluZy5UQWNjb3VudE5vdEJsYWNrbGlzdGVkAAEEwEFjY291bnQgaXMgbm90IHByZXNlbnQgaW4gdGhlIG5vbi1kdXN0YWJsZSBsaXN0LixaZXJvQmFsYW5jZQACBFBUaGUgYmFsYW5jZSBpcyB6ZXJvLkRCYWxhbmNlU3VmZmljaWVudAADBLxUaGUgYmFsYW5jZSBpcyBzdWZmaWNpZW50IHRvIGtlZXAgYWNjb3VudCBvcGVuLkREdXN0QWNjb3VudE5vdFNldAAEBGBEdXN0IGFjY291bnQgaXMgbm90IHNldC5QUmVzZXJ2ZUFjY291bnROb3RTZXQABQRsUmVzZXJ2ZSBhY2NvdW50IGlzIG5vdCBzZXQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LvUJDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlczhHbG9iYWxGYXJtRGF0YQgEVAAESQAASAEIaWQQATBHbG9iYWxGYXJtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABKHVwZGF0ZWRfYXQQASxQZXJpb2RPZjxUPgABOHRvdGFsX3NoYXJlc196GAEcQmFsYW5jZQABPGFjY3VtdWxhdGVkX3Jwej0BASRGaXhlZFUxMjgAATxyZXdhcmRfY3VycmVuY3kQAShUOjpBc3NldElkAAE8cGVuZGluZ19yZXdhcmRzGAEcQmFsYW5jZQABYGFjY3VtdWxhdGVkX3BhaWRfcmV3YXJkcxgBHEJhbGFuY2UAAUB5aWVsZF9wZXJfcGVyaW9kPQMBLFBlcnF1aW50aWxsAAFgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzEAEsUGVyaW9kT2Y8VD4AAURibG9ja3NfcGVyX3BlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAFIaW5jZW50aXZpemVkX2Fzc2V0EAEoVDo6QXNzZXRJZAABVG1heF9yZXdhcmRfcGVyX3BlcmlvZBgBHEJhbGFuY2UAASxtaW5fZGVwb3NpdBgBHEJhbGFuY2UAAVhsaXZlX3lpZWxkX2Zhcm1zX2NvdW50EAEMdTMyAAFcdG90YWxfeWllbGRfZmFybXNfY291bnQQAQx1MzIAAUBwcmljZV9hZGp1c3RtZW50PQEBJEZpeGVkVTEyOAABFHN0YXRl+QkBJEZhcm1TdGF0ZQAA+QkMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nFHR5cGVzJEZhcm1TdGF0ZQABDBhBY3RpdmUAAAAcU3RvcHBlZAABAChUZXJtaW5hdGVkAAIAAP0JAAAEDBAQEAABCgxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXM0WWllbGRGYXJtRGF0YQgEVAAESQAAMAEIaWQQARhGYXJtSWQAASh1cGRhdGVkX2F0EAEsUGVyaW9kT2Y8VD4AATB0b3RhbF9zaGFyZXMYARxCYWxhbmNlAAFMdG90YWxfdmFsdWVkX3NoYXJlcxgBHEJhbGFuY2UAAUBhY2N1bXVsYXRlZF9ycHZzPQEBJEZpeGVkVTEyOAABPGFjY3VtdWxhdGVkX3Jwej0BASRGaXhlZFUxMjgAATRsb3lhbHR5X2N1cnZlQQMBUE9wdGlvbjxMb3lhbHR5Q3VydmU+AAEobXVsdGlwbGllcj0BAThGYXJtTXVsdGlwbGllcgABFHN0YXRl+QkBJEZhcm1TdGF0ZQABNGVudHJpZXNfY291bnQwAQx1NjQAAUhsZWZ0X3RvX2Rpc3RyaWJ1dGUYARxCYWxhbmNlAAE0dG90YWxfc3RvcHBlZBABLFBlcmlvZE9mPFQ+AAAFCgxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXMsRGVwb3NpdERhdGEIBFQABEkAAAwBGHNoYXJlcxgBHEJhbGFuY2UAASxhbW1fcG9vbF9pZBABMFQ6OkFtbVBvb2xJZAABSHlpZWxkX2Zhcm1fZW50cmllcwkKAfRCb3VuZGVkVmVjPFlpZWxkRmFybUVudHJ5PFQsIEk+LCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AAAJCgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQ0KBFMAAAQAEQoBGFZlYzxUPgAADQoMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nFHR5cGVzOFlpZWxkRmFybUVudHJ5CARUAARJAAAgAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABNHZhbHVlZF9zaGFyZXMYARxCYWxhbmNlAAFAYWNjdW11bGF0ZWRfcnB2cz0BASRGaXhlZFUxMjgAAWxhY2N1bXVsYXRlZF9jbGFpbWVkX3Jld2FyZHMYARxCYWxhbmNlAAEoZW50ZXJlZF9hdBABLFBlcmlvZE9mPFQ+AAEodXBkYXRlZF9hdBABLFBlcmlvZE9mPFQ+AAFMc3RvcHBlZF9hdF9jcmVhdGlvbhABLFBlcmlvZE9mPFQ+AAARCgAAAg0KABUKDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQURXJyb3IIBFQABEkAAXRIR2xvYmFsRmFybU5vdEZvdW5kAAAEbEdsb2JhbCBmYXJtIGRvZXMgbm90IGV4aXN0LkRZaWVsZEZhcm1Ob3RGb3VuZAABBGhZaWVsZCBmYXJtIGRvZXMgbm90IGV4aXN0LkxEb3VibGVDbGFpbUluUGVyaW9kAAIEyE11bHRpcGxlIGNsYWltcyBpbiB0aGUgc2FtZSBwZXJpb2QgaXMgbm90IGFsbG93ZWQuXExpcXVpZGl0eU1pbmluZ0NhbmNlbGVkAAMEdExpcXVpZGl0eSBtaW5pbmcgaXMgY2FuY2VsZWQuXExpcXVpZGl0eU1pbmluZ0lzQWN0aXZlAAQEhExpcXVpZGl0eSBtaW5pbmcgaXMgbm90IGNhbmNlbGVkLmxMaXF1aWRpdHlNaW5pbmdJc05vdFN0b3BwZWQABQRVAUxpcXVpZGl0eSBtaW5pbmcgaXMgaW4gYGFjdGl2ZWAgb3IgYHRlcm1pbmF0ZWRgIHN0YXRlIGFuZCBhY3Rpb24gY2Fubm90IGJlIGNvbXBsZXRlZC4kRm9yYmlkZGVuAAYEpEFjY291bnQgaXMgbm90IGFsbG93ZWQgdG8gcGVyZm9ybSBhY3Rpb24uREludmFsaWRNdWx0aXBsaWVyAAcEhFlpZWxkIGZhcm0gbXVsdGlwbGllciBjYW4ndCBiZSAwLlhZaWVsZEZhcm1BbHJlYWR5RXhpc3RzAAgECQFZaWVsZCBmYXJtIHdpdGggZ2l2ZW4gYGFtbV9wb29sX2lkYCBhbHJlYWR5IGV4aXN0cyBpbiBnbG9iYWwgZmFybS54SW52YWxpZEluaXRpYWxSZXdhcmRQZXJjZW50YWdlAAkEPQFMb3lhbHR5IGN1cnZlJ3MgaW5pdGlhbCByZXdhcmQgcGVyY2VudGFnZSBpcyBub3QgdmFsaWQuIFZhbGlkIHJhbmdlIGlzOiBbMCwgMSkuUEdsb2JhbEZhcm1Jc05vdEVtcHR5AAoEtE9uZSBvciBtb3JlIHlpZWxkIGZhcm1zIGV4aXN0IGluIGdsb2JhbCBmYXJtLmBNaXNzaW5nSW5jZW50aXZpemVkQXNzZXQACwT4RmFybSdzIGBpbmNlbnRpdml6ZWRfYXNzZXRgIGlzIG1pc3NpbmcgaW4gcHJvdmlkZWQgYXNzZXQgcGFpci6ESW5zdWZmaWNpZW50UmV3YXJkQ3VycmVuY3lCYWxhbmNlAAwEqFJld2FyZCBjdXJyZW5jeSBiYWxhbmNlIGlzIG5vdCBzdWZmaWNpZW50LlhJbnZhbGlkQmxvY2tzUGVyUGVyaW9kAA0EdEJsb2NrcyBwZXIgcGVyaW9kIGNhbid0IGJlIDAuVEludmFsaWRZaWVsZFBlclBlcmlvZAAOBHBZaWVsZCBwZXIgcGVyaW9kIGNhbid0IGJlIDAuTEludmFsaWRUb3RhbFJld2FyZHMADwTEVG90YWwgcmV3YXJkcyBpcyBsZXNzIHRoYW4gYE1pblRvdGFsRmFybVJld2FyZHNgLnRJbnZhbGlkUGxhbm5lZFlpZWxkaW5nUGVyaW9kcwAQBAkBUGxhbm5lZCB5aWVsZGluZyBwZXJpb2RzIGlzIGxlc3MgdGhhbiBgTWluUGxhbm5lZFlpZWxkaW5nUGVyaW9kc2AuUE1heEVudHJpZXNQZXJEZXBvc2l0ABEEsE1heGltdW0gbnVtYmVyIG9mIGxvY2tzIHJlYWNoZWQgZm9yIGRlcG9zaXQuKERvdWJsZUxvY2sAEgTgVHJ5aW5nIHRvIGxvY2sgTFAgc2hhcmVzIGludG8gYWxyZWFkeSBsb2NrZWQgeWllbGQgZmFybS5YWWllbGRGYXJtRW50cnlOb3RGb3VuZAATBMRZaWVsZCBmYXJtIGVudHJ5IGRvZXNuJ3QgZXhpc3QgZm9yIGdpdmVuIGRlcG9zaXQuQEdsb2JhbEZhcm1Jc0Z1bGwAFAhJAU1heCBudW1iZXIgb2YgeWllbGQgZmFybXMgaW4gZ2xvYmFsIGZhcm0gd2FzIHJlYWNoZWQuIEdsb2JhbCBmYXJtIGNhbid0IGFjY2VwdCBuZXf4eWllbGQgZmFybXMgdW50aWwgc29tZSB5aWVsZCBmYXJtIGlzIG5vdCByZW1vdmVkIGZyb20gc3RvcmFnZS5ESW52YWxpZE1pbkRlcG9zaXQAFQS0SW52YWxpZCBtaW4uIGRlcG9zaXQgd2FzIHNldCBmb3IgZ2xvYmFsIGZhcm0uWEludmFsaWRQcmljZUFkanVzdG1lbnQAFgScUHJpY2UgYWRqdXN0bWVudCBtdWx0aXBsaWVyIGNhbid0IGJlIDAuREVycm9yR2V0QWNjb3VudElkABcEgEFjY291bnQgY3JlYXRpb24gZnJvbSBpZCBmYWlsZWQuVEluY29ycmVjdFZhbHVlZFNoYXJlcwAYBCUBVmFsdWUgb2YgZGVwb3NpdGVkIHNoYXJlcyBhbW91bnQgaW4gcmV3YXJkIGN1cnJlbmN5IGlzIGJlbGxvdyBtaW4uIGxpbWl0LmxSZXdhcmRDdXJyZW5jeU5vdFJlZ2lzdGVyZWQAGQTYYHJld2FyZF9jdXJyZW5jeWAgaXMgbm90IHJlZ2lzdGVyZWQgaW4gYXNzZXQgcmVnaXN0cnkueEluY2VudGl2aXplZEFzc2V0Tm90UmVnaXN0ZXJlZAAaBORgaW5jZW50aXZpemVkX2Fzc2V0YCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBhc3NldCByZWdpc3RyeS5EQW1tUG9vbElkTWlzbWF0Y2gAGwT0UHJvdmlkZWQgYGFtbV9wb29sX2lkYCBkb2Vzbid0IG1hdGNoIGRlcG9zaXQncyBgYW1tX3Bvb2xfaWRgLkRJbmNvbnNpc3RlbnRTdGF0ZQQAGQoBWEluY29uc2lzdGVudFN0YXRlRXJyb3IAHAhlAUFjdGlvbiBjYW5ub3QgYmUgY29tcGxldGVkIGJlY2F1c2UgdW5leHBlY3RlZCBlcnJvciBoYXMgb2NjdXJyZWQuIFRoaXMgc2hvdWxkIGJlIHJlcG9ydGVkYHRvIHByb3RvY29sIG1haW50YWluZXJzLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4ZCgxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0WEluY29uc2lzdGVudFN0YXRlRXJyb3IAAUREWWllbGRGYXJtTm90Rm91bmQAAABIR2xvYmFsRmFybU5vdEZvdW5kAAEAUExpcXVpZGl0eUlzTm90QWN0aXZlAAIAVEdsb2JhbEZhcm1Jc05vdEFjdGl2ZQADADxEZXBvc2l0Tm90Rm91bmQABAA0SW52YWxpZFBlcmlvZAAFAGxOb3RFbm91Z2hSZXdhcmRzSW5ZaWVsZEZhcm0ABgBkSW52YWxpZExpdmVZaWVsRmFybXNDb3VudAAHAGxJbnZhbGlkVG90YWxZaWVsZEZhcm1zQ291bnQACABwSW52YWxpZFlpZWxkRmFybUVudHJpZXNDb3VudAAJAEhJbnZhbGlkVG90YWxTaGFyZXMACgBMSW52YWxpZFZhbHVlZFNoYXJlcwALAExJbnZhbGlkVG90YWxTaGFyZXNaAAwAdEludmFsaWRQYWlkQWNjdW11bGF0ZWRSZXdhcmRzAA0ANEludmFsaWRGYXJtSWQADgBgSW52YWxpZExveWFsdHlNdWx0aXBsaWVyAA8AcE5vRXhpc3RlbnRpYWxEZXBvc2l0Rm9yQXNzZXQAEAAAHQoMgHBhbGxldF9vbW5pcG9vbF9saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFcnJvcgQEVAABHDRBc3NldE5vdEZvdW5kAAAEdEFzc2V0IGlzIG5vdCBpbiB0aGUgb21uaXBvb2wuJEZvcmJpZGRlbgABBKxTaWduZWQgYWNjb3VudCBpcyBub3Qgb3duZXIgb2YgdGhlIGRlcG9zaXQuSFplcm9DbGFpbWVkUmV3YXJkcwACBFxSZXdhcmRzIHRvIGNsYWltIGFyZSAwLkRJbmNvbnNpc3RlbnRTdGF0ZQQAIQoBWEluY29uc2lzdGVudFN0YXRlRXJyb3IAAwhlAUFjdGlvbiBjYW5ub3QgYmUgY29tcGxldGVkIGJlY2F1c2UgdW5leHBlY3RlZCBlcnJvciBoYXMgb2NjdXJyZWQuIFRoaXMgc2hvdWxkIGJlIHJlcG9ydGVkYHRvIHByb3RvY29sIG1haW50YWluZXJzLkhPcmFjbGVOb3RBdmFpbGFibGUABAS8T3JhY2xlIGNvdWxkIG5vdCBiZSBmb3VuZCBmb3IgcmVxdWVzdGVkIGFzc2V0cy5sUHJpY2VBZGp1c3RtZW50Tm90QXZhaWxhYmxlAAUEMQFPcmFjbGUgcHJvdmlkaW5nIGBwcmljZV9hZGp1c3RtZW50YCBjb3VsZCBub3QgYmUgZm91bmQgZm9yIHJlcXVlc3RlZCBhc3NldHMuWE5vRmFybUVudHJpZXNTcGVjaWZpZWQABgRoTm8gZmFybXMgc3BlY2lmaWVkIHRvIGpvaW4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuIQoMgHBhbGxldF9vbW5pcG9vbF9saXF1aWRpdHlfbWluaW5nGHBhbGxldFhJbmNvbnNpc3RlbnRTdGF0ZUVycm9yAAEIRE1pc3NpbmdMcFBvc2l0aW9uAAAATERlcG9zaXREYXRhTm90Rm91bmQAAQAAJQoIKHBhbGxldF9vdGMUT3JkZXIIJEFjY291bnRJZAEAHEFzc2V0SWQBEAAYARRvd25lcgABJEFjY291bnRJZAABIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAEoYW1vdW50X291dBgBHEJhbGFuY2UAAUhwYXJ0aWFsbHlfZmlsbGFibGUgARBib29sAAApCgwocGFsbGV0X290YxhwYWxsZXQURXJyb3IEBFQAASBIQXNzZXROb3RSZWdpc3RlcmVkAAAEgEFzc2V0IGRvZXMgbm90IGV4aXN0IGluIHJlZ2lzdHJ5NE9yZGVyTm90Rm91bmQAAQRUT3JkZXIgY2Fubm90IGJlIGZvdW5kRE9yZGVySWRPdXRPZkJvdW5kAAIEiFNpemUgb2Ygb3JkZXIgSUQgZXhjZWVkcyB0aGUgYm91bmRkT3JkZXJOb3RQYXJ0aWFsbHlGaWxsYWJsZQADBPhDYW5ub3QgcGFydGlhbGx5IGZpbGwgYW4gb3JkZXIgd2hpY2ggaXMgbm90IHBhcnRpYWxseSBmaWxsYWJsZUxPcmRlckFtb3VudFRvb1NtYWxsAAQMYQFPcmRlciBhbW91bnRfaW4gYW5kIGFtb3VudF9vdXQgbXVzdCBhdCBhbGwgdGltZXMgYmUgZ3JlYXRlciB0aGFuIHRoZSBleGlzdGVudGlhbCBkZXBvc2l09GZvciB0aGUgYXNzZXQgbXVsdGlwbGllZCBieSB0aGUgRXhpc3RlbnRpYWxEZXBvc2l0TXVsdGlwbGllci7wQSBmaWxsIG9yZGVyIG1heSBub3QgbGVhdmUgYmVoaW5kIGFtb3VudHMgc21hbGxlciB0aGFuIHRoaXMuJE1hdGhFcnJvcgAFBHBFcnJvciB3aXRoIG1hdGggY2FsY3VsYXRpb25zJEZvcmJpZGRlbgAGBOhUaGUgY2FsbGVyIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBjb21wbGV0ZSB0aGUgYWN0aW9uaEluc3VmZmljaWVudFJlc2VydmVkQW1vdW50AAcEfFJlc2VydmVkIGFtb3VudCBub3Qgc3VmZmljaWVudC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuLQoIWHBhbGxldF9jaXJjdWl0X2JyZWFrZXJAVHJhZGVWb2x1bWVMaW1pdAQEVAAADAEkdm9sdW1lX2luGAEoVDo6QmFsYW5jZQABKHZvbHVtZV9vdXQYAShUOjpCYWxhbmNlAAEUbGltaXQYAShUOjpCYWxhbmNlAAAxCghYcGFsbGV0X2NpcmN1aXRfYnJlYWtlcjhMaXF1aWRpdHlMaW1pdAQEVAAACAEkbGlxdWlkaXR5GAEoVDo6QmFsYW5jZQABFGxpbWl0GAEoVDo6QmFsYW5jZQAANQoMWHBhbGxldF9jaXJjdWl0X2JyZWFrZXIUdHlwZXM4TG9ja2Rvd25TdGF0dXMILEJsb2NrTnVtYmVyARAcQmFsYW5jZQEYAQgYTG9ja2VkBAAQASxCbG9ja051bWJlcgAAACBVbmxvY2tlZAQA1QMBWChCbG9ja051bWJlciwgQmFsYW5jZSkAAQAAOQoMWHBhbGxldF9jaXJjdWl0X2JyZWFrZXIYcGFsbGV0FEVycm9yBARUAAEkREludmFsaWRMaW1pdFZhbHVlAAAEyEludmFsaWQgdmFsdWUgZm9yIGEgbGltaXQuIExpbWl0IG11c3QgYmUgbm9uLXplcm8ufExpcXVpZGl0eUxpbWl0Tm90U3RvcmVkRm9yQXNzZXQAAQS8QWxsb3dlZCBsaXF1aWRpdHkgbGltaXQgaXMgbm90IHN0b3JlZCBmb3IgYXNzZXRgVG9rZW5PdXRmbG93TGltaXRSZWFjaGVkAAIEuFRva2VuIHRyYWRlIG91dGZsb3cgcGVyIGJsb2NrIGhhcyBiZWVuIHJlYWNoZWRcVG9rZW5JbmZsdXhMaW1pdFJlYWNoZWQAAwS0VG9rZW4gdHJhZGUgaW5mbHV4IHBlciBibG9jayBoYXMgYmVlbiByZWFjaGVkgE1heExpcXVpZGl0eUxpbWl0UGVyQmxvY2tSZWFjaGVkAAQE5E1heGltdW0gcG9vbCdzIGxpcXVpZGl0eSBsaW1pdCBwZXIgYmxvY2sgaGFzIGJlZW4gcmVhY2hlZChOb3RBbGxvd2VkAAUEkEFzc2V0IGlzIG5vdCBhbGxvd2VkIHRvIGhhdmUgYSBsaW1pdDxBc3NldEluTG9ja2Rvd24ABgw5AUFzc2V0IHN0aWxsIGluIGxvY2tkb3duIGFzIGl0IHJlYWNoZWQgdGhlIGFsbG93ZWQgZGVwb3NpdCBsaW1pdCBmb3IgdGhlIHBlcmlvZHEBUXVlcnkgdGhlIGBhc3NldF9sb2NrZG93bl9zdGF0ZWAgc3RvcmFnZSB0byBkZXRlcm1pbmUgdW50aWwgd2hpY2ggYmxvY2sgdGhlIGFzc2V0IGlzIGxvY2tlZCy4c28gdGhhdCB0aGUgZGVwb3NpdCBjYW4gYmUgcmVsZWFzZWQgYWZ0ZXJ3YXJkLkhBc3NldE5vdEluTG9ja2Rvd24ABwRoQXNzZXQgaXMgbm90IGluIGEgbG9ja2Rvd240SW52YWxpZEFtb3VudAAIBHhJbnZhbGlkIGFtb3VudCB0byBzYXZlIGRlcG9zaXQEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuPQoMVHBhbGxldF9yb3V0ZV9leGVjdXRvchhwYWxsZXQURXJyb3IEBFQAAShMVHJhZGluZ0xpbWl0UmVhY2hlZAAABIhUaGUgdHJhZGluZyBsaW1pdCBoYXMgYmVlbiByZWFjaGVkRE1heFRyYWRlc0V4Y2VlZGVkAAEEtFRoZSB0aGUgbWF4IG51bWJlciBvZiB0cmFkZXMgbGltaXQgaXMgcmVhY2hlZEBQb29sTm90U3VwcG9ydGVkAAIEyFRoZSBBTU0gcG9vbCBpcyBub3Qgc3VwcG9ydGVkIGZvciBleGVjdXRpbmcgdHJhZGVzTEluc3VmZmljaWVudEJhbGFuY2UAAwTQVGhlIHVzZXIgaGFzIG5vdCBlbm91Z2ggYmFsYW5jZSB0byBleGVjdXRlIHRoZSB0cmFkZVhSb3V0ZUNhbGN1bGF0aW9uRmFpbGVkAAQEDQFUaGUgY2FsY3VsYXRpb24gb2Ygcm91dGUgdHJhZGUgYW1vdW50cyBmYWlsZWQgaW4gdGhlIHVuZGVybHlpbmcgQU1NMEludmFsaWRSb3V0ZQAFBFBUaGUgcm91dGUgaXMgaW52YWxpZGhSb3V0ZVVwZGF0ZUlzTm90U3VjY2Vzc2Z1bAAGBIxUaGUgcm91dGUgdXBkYXRlIHdhcyBub3Qgc3VjY2Vzc2Z1bEBSb3V0ZUhhc05vT3JhY2xlAAcEtFJvdXRlIGNvbnRhaW5zIGFzc2V0cyB0aGF0IGhhcyBubyBvcmFjbGUgZGF0YVRJbnZhbGlkUm91dGVFeGVjdXRpb24ACATAVGhlIHJvdXRlIGV4ZWN1dGlvbiBmYWlsZWQgaW4gdGhlIHVuZGVybHlpbmcgQU1NKE5vdEFsbG93ZWQACQSMVHJhZGluZyBzYW1lIGFzc2V0cyBpcyBub3QgYWxsb3dlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuQQoMTHBhbGxldF9keW5hbWljX2ZlZXMUdHlwZXMgRmVlRW50cnkIDEZlZQEhAxRCbG9jawEQAAwBJGFzc2V0X2ZlZSEDAQxGZWUAATBwcm90b2NvbF9mZWUhAwEMRmVlAAEkdGltZXN0YW1wEAEUQmxvY2sAAEUKDExwYWxsZXRfZHluYW1pY19mZWVzGHBhbGxldBRFcnJvcgQEVAABBFBJbnZhbGlkRmVlUGFyYW1ldGVycwAABHxJbnZhbGlkIGZlZSBwYXJhbWV0ZXJzIHByb3ZpZGVkBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LkkKDDhwYWxsZXRfc3Rha2luZxR0eXBlcyxTdGFraW5nRGF0YQAADAEsdG90YWxfc3Rha2UYARxCYWxhbmNlAAFwYWNjdW11bGF0ZWRfcmV3YXJkX3Blcl9zdGFrZT0BASRGaXhlZFUxMjgAAVBwb3RfcmVzZXJ2ZWRfYmFsYW5jZRgBHEJhbGFuY2UAAE0KDDhwYWxsZXRfc3Rha2luZxR0eXBlcyBQb3NpdGlvbgQsQmxvY2tOdW1iZXIBEAAcARRzdGFrZRgBHEJhbGFuY2UAATRhY3Rpb25fcG9pbnRzGAEUUG9pbnQAAUByZXdhcmRfcGVyX3N0YWtlPQEBJEZpeGVkVTEyOAABKGNyZWF0ZWRfYXQQASxCbG9ja051bWJlcgABYGFjY3VtdWxhdGVkX3NsYXNoX3BvaW50cxgBFFBvaW50AAFoYWNjdW11bGF0ZWRfdW5wYWlkX3Jld2FyZHMYARxCYWxhbmNlAAFoYWNjdW11bGF0ZWRfbG9ja2VkX3Jld2FyZHMYARxCYWxhbmNlAABRCgw4cGFsbGV0X3N0YWtpbmcUdHlwZXMYVm90aW5nBCBNYXhWb3RlcwAABAEUdm90ZXNVCgG0Qm91bmRlZFZlYzwoUmVmZXJlbmR1bUluZGV4LCBWb3RlKSwgTWF4Vm90ZXM+AABVCgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAVkKBFMAAAQAZQoBGFZlYzxUPgAAWQoAAAQIEF0KAF0KDDhwYWxsZXRfc3Rha2luZxR0eXBlcxBWb3RlAAAIARhhbW91bnQYARxCYWxhbmNlAAEoY29udmljdGlvbmEKAShDb252aWN0aW9uAABhCgw4cGFsbGV0X3N0YWtpbmcUdHlwZXMoQ29udmljdGlvbgABHBBOb25lAAAAIExvY2tlZDF4AAEAIExvY2tlZDJ4AAIAIExvY2tlZDN4AAMAIExvY2tlZDR4AAQAIExvY2tlZDV4AAUAIExvY2tlZDZ4AAYAAGUKAAACWQoAaQoMOHBhbGxldF9zdGFraW5nGHBhbGxldBRFcnJvcgQEVAABNExJbnN1ZmZpY2llbnRCYWxhbmNlAAAETEJhbGFuY2UgaXMgdG9vIGxvdy5ESW5zdWZmaWNpZW50U3Rha2UAAQRkU3Rha2VkIGFtb3VudCBpcyB0b28gbG93LkBQb3NpdGlvbk5vdEZvdW5kAAIEkFN0YWtpbmcgcG9zaXRpb24gaGFzIG5vdCBiZWVuIGZvdW5kLjxNYXhWb3Rlc1JlYWNoZWQAAwToTWF4aW11bSBhbW91bnQgb2Ygdm90ZXMgd2VyZSByZWFjaGVkIGZvciBzdGFraW5nIHBvc2l0aW9uLjhOb3RJbml0aWFsaXplZAAEBGxTdGFraW5nIGlzIG5vdCBpbml0aWFsaXplZC5IQWxyZWFkeUluaXRpYWxpemVkAAUEfFN0YWtpbmcgaXMgYWxyZWFkeSBpbml0aWFsaXplZC4oQXJpdGhtZXRpYwAGBERBcml0aG1ldGljIGVycm9yLkRNaXNzaW5nUG90QmFsYW5jZQAHBFhQb3QncyBiYWxhbmNlIGlzIHplcm8uVFBvc2l0aW9uQWxyZWFkeUV4aXN0cwAIBIhBY2NvdW50J3MgcG9zaXRpb24gYWxyZWFkeSBleGlzdHMuJEZvcmJpZGRlbgAJBLxTaWduZXIgaXMgbm90IGFuIG93bmVyIG9mIHRoZSBzdGFraW5nIHBvc2l0aW9uLjRFeGlzdGluZ1ZvdGVzAAoEjFBvc2l0aW9uIGNvbnRhaW5zIHJlZ2lzdGVyZWQgdm90ZXMuWEV4aXN0aW5nUHJvY2Vzc2VkVm90ZXMACwSFAVBvc2l0aW9uIGNvbnRhaW5zIHByb2Nlc3NlZCB2b3Rlcy4gUmVtb3ZlZCB0aGVzZSB2b3RlcyBmaXJzdCBiZWZvcmUgaW5jcmVhc2luZyBzdGFrZSBvciBjbGFpbWluZy5ESW5jb25zaXN0ZW50U3RhdGUEAG0KAVhJbmNvbnNpc3RlbnRTdGF0ZUVycm9yAAwIZQFBY3Rpb24gY2Fubm90IGJlIGNvbXBsZXRlZCBiZWNhdXNlIHVuZXhwZWN0ZWQgZXJyb3IgaGFzIG9jY3VycmVkLiBUaGlzIHNob3VsZCBiZSByZXBvcnRlZGB0byBwcm90b2NvbCBtYWludGFpbmVycy4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQubQoMOHBhbGxldF9zdGFraW5nGHBhbGxldFhJbmNvbnNpc3RlbnRTdGF0ZUVycm9yAAEUQFBvc2l0aW9uTm90Rm91bmQAAABYTmVnYXRpdmVQZW5kaW5nUmV3YXJkcwABAFROZWdhdGl2ZVVucGFpZFJld2FyZHMAAgBAVG9vTWFueVBvc2l0aW9ucwADAChBcml0aG1ldGljAAQAAHEKDERwYWxsZXRfc3RhYmxlc3dhcBR0eXBlcyBQb29sSW5mbwgcQXNzZXRJZAEQLEJsb2NrTnVtYmVyARAAGAEYYXNzZXRzpQMBxEJvdW5kZWRWZWM8QXNzZXRJZCwgQ29uc3RVMzI8TUFYX0FTU0VUU19JTl9QT09MPj4AAVRpbml0aWFsX2FtcGxpZmljYXRpb26tBgEoTm9uWmVyb1UxNgABTGZpbmFsX2FtcGxpZmljYXRpb26tBgEoTm9uWmVyb1UxNgABNGluaXRpYWxfYmxvY2sQASxCbG9ja051bWJlcgABLGZpbmFsX2Jsb2NrEAEsQmxvY2tOdW1iZXIAAQxmZWUhAwEcUGVybWlsbAAAdQoMRHBhbGxldF9zdGFibGVzd2FwFHR5cGVzMFBvb2xTbmFwc2hvdAQcQXNzZXRJZAEQABgBGGFzc2V0c6UDAcRCb3VuZGVkVmVjPEFzc2V0SWQsIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AAEgcmVzZXJ2ZXN5CgHYQm91bmRlZFZlYzxBc3NldFJlc2VydmUsIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AAE0YW1wbGlmaWNhdGlvbhgBEHUxMjgAAQxmZWUhAwEcUGVybWlsbAABEHBlZ3O5BgHEQm91bmRlZFZlYzxQZWdUeXBlLCBDb25zdFUzMjxNQVhfQVNTRVRTX0lOX1BPT0w+PgABOHNoYXJlX2lzc3VhbmNlGAEcQmFsYW5jZQAAeQoMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAF9CgRTAAAEAIEKARhWZWM8VD4AAH0KEDRoeWRyYV9keF9tYXRoKHN0YWJsZXN3YXAUdHlwZXMwQXNzZXRSZXNlcnZlAAAIARhhbW91bnQYARxCYWxhbmNlAAEgZGVjaW1hbHMIAQh1OAAAgQoAAAJ9CgCFCgQ4UmFuZ2VJbmNsdXNpdmUEDElkeAGtBgAIARRzdGFydK0GAQxJZHgAAQxlbmStBgEMSWR4AACJCgxEcGFsbGV0X3N0YWJsZXN3YXAYcGFsbGV0FEVycm9yBARUAAFwPEluY29ycmVjdEFzc2V0cwAABBkBQ3JlYXRpbmcgYSBwb29sIHdpdGggc2FtZSBhc3NldHMgb3IgbGVzcyB0aGFuIDIgYXNzZXRzIGlzIG5vdCBhbGxvd2VkLkRNYXhBc3NldHNFeGNlZWRlZAABBKxNYXhpbXVtIG51bWJlciBvZiBhc3NldHMgaGFzIGJlZW4gZXhjZWVkZWQuMFBvb2xOb3RGb3VuZAACBKBBIHBvb2wgd2l0aCBnaXZlbiBhc3NldHMgZG9lcyBub3QgZXhpc3QuKFBvb2xFeGlzdHMAAwSgQSBwb29sIHdpdGggZ2l2ZW4gYXNzZXRzIGFscmVhZHkgZXhpc3RzLjhBc3NldE5vdEluUG9vbAAEBGRBc3NldCBpcyBub3QgaW4gdGhlIHBvb2wuXFNoYXJlQXNzZXROb3RSZWdpc3RlcmVkAAUEqFNoYXJlIGFzc2V0IGlzIG5vdCByZWdpc3RlcmVkIGluIFJlZ2lzdHJ5LlhTaGFyZUFzc2V0SW5Qb29sQXNzZXRzAAYEyFNoYXJlIGFzc2V0IGlzIGFtb3VudCBhc3NldHMgd2hlbiBjcmVhdGluZyBhIHBvb2wuSEFzc2V0Tm90UmVnaXN0ZXJlZAAHBNhPbmUgb3IgbW9yZSBhc3NldHMgYXJlIG5vdCByZWdpc3RlcmVkIGluIEFzc2V0UmVnaXN0cnlISW52YWxpZEFzc2V0QW1vdW50AAgEAQFJbnZhbGlkIGFzc2V0IGFtb3VudCBwcm92aWRlZC4gQW1vdW50IG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8uTEluc3VmZmljaWVudEJhbGFuY2UACQTkQmFsYW5jZSBvZiBhbiBhc3NldCBpcyBub3Qgc3VmZmljaWVudCB0byBwZXJmb3JtIGEgdHJhZGUuSEluc3VmZmljaWVudFNoYXJlcwAKBAUBQmFsYW5jZSBvZiBhIHNoYXJlIGFzc2V0IGlzIG5vdCBzdWZmaWNpZW50IHRvIHdpdGhkcmF3IGxpcXVpZGl0eS5USW5zdWZmaWNpZW50TGlxdWlkaXR5AAsEvExpcXVpZGl0eSBoYXMgbm90IHJlYWNoZWQgdGhlIHJlcXVpcmVkIG1pbmltdW0ueEluc3VmZmljaWVudExpcXVpZGl0eVJlbWFpbmluZwAMBORJbnN1ZmZpY2llbnQgbGlxdWlkaXR5IGxlZnQgaW4gdGhlIHBvb2wgYWZ0ZXIgd2l0aGRyYXdhbC5kSW5zdWZmaWNpZW50VHJhZGluZ0Ftb3VudAANBOhBbW91bnQgaXMgbGVzcyB0aGFuIHRoZSBtaW5pbXVtIHRyYWRpbmcgYW1vdW50IGNvbmZpZ3VyZWQuSEJ1eUxpbWl0Tm90UmVhY2hlZAAOBMBNaW5pbXVtIGxpbWl0IGhhcyBub3QgYmVlbiByZWFjaGVkIGR1cmluZyB0cmFkZS5EU2VsbExpbWl0RXhjZWVkZWQADwS0TWF4aW11bSBsaW1pdCBoYXMgYmVlbiBleGNlZWRlZCBkdXJpbmcgdHJhZGUuXEludmFsaWRJbml0aWFsTGlxdWlkaXR5ABAEnEluaXRpYWwgbGlxdWlkaXR5IG9mIGFzc2V0IG11c3QgYmUgPiAwLlBJbnZhbGlkQW1wbGlmaWNhdGlvbgARBKhBbXBsaWZpY2F0aW9uIGlzIG91dHNpZGUgY29uZmlndXJlZCByYW5nZS5gSW5zdWZmaWNpZW50U2hhcmVCYWxhbmNlABIEGQFSZW1haW5pbmcgYmFsYW5jZSBvZiBzaGFyZSBhc3NldCBpcyBiZWxvdyBhc3NldCdzIGV4aXN0ZW50aWFsIGRlcG9zaXQuKE5vdEFsbG93ZWQAEwTMTm90IGFsbG93ZWQgdG8gcGVyZm9ybSBhbiBvcGVyYXRpb24gb24gZ2l2ZW4gYXNzZXQuJFBhc3RCbG9jawAUBIxGdXR1cmUgYmxvY2sgbnVtYmVyIGlzIGluIHRoZSBwYXN0LkRTYW1lQW1wbGlmaWNhdGlvbgAVBMROZXcgYW1wbGlmaWNhdGlvbiBpcyBlcXVhbCB0byB0aGUgcHJldmlvdXMgdmFsdWUuNFNsaXBwYWdlTGltaXQAFgRQU2xpcHBhZ2UgcHJvdGVjdGlvbi48VW5rbm93bkRlY2ltYWxzABcEiEZhaWxlZCB0byByZXRyaWV2ZSBhc3NldCBkZWNpbWFscy5QSW5jb3JyZWN0SW5pdGlhbFBlZ3MAGASMTGlzdCBvZiBwcm92aWRlZCBwZWdzIGlzIGluY29ycmVjdC5YTWlzc2luZ1RhcmdldFBlZ09yYWNsZQAZBIBGYWlsZWQgdG8gcmV0cmlldmUgb3JhY2xlIGVudHJ5LlhJbmNvcnJlY3RBc3NldERlY2ltYWxzABoEJQFDcmVhdGluZyBwb29sIHdpdGggcGVncyBpcyBub3QgYWxsb3dlZCBmb3IgYXNzZXQgd2l0aCBkaWZmZXJlbnQgZGVjaW1hbHMuLE5vUGVnU291cmNlABsEjFBvb2wgZG9lcyBub3QgaGF2ZSBwZWdzIGNvbmZpZ3VyZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lo0KAAAECBAwAJEKDDBwYWxsZXRfYm9uZHMYcGFsbGV0FEVycm9yBARUAAEcNE5vdFJlZ2lzdGVyZWQAAARMQm9uZCBub3QgcmVnaXN0ZXJlZCROb3RNYXR1cmUAAQRIQm9uZCBpcyBub3QgbWF0dXJlPEludmFsaWRNYXR1cml0eQACBGBNYXR1cml0eSBub3QgbG9uZyBlbm91Z2g8RGlzYWxsb3dlZEFzc2V0AAMErEFzc2V0IHR5cGUgbm90IGFsbG93ZWQgZm9yIHVuZGVybHlpbmcgYXNzZXQ0QXNzZXROb3RGb3VuZAAEBKhBc3NldCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBgQXNzZXRSZWdpc3RyeWA8SW52YWxpZEJvbmROYW1lAAUEcEdlbmVyYXRlZCBuYW1lIGlzIG5vdCB2YWxpZC48RmFpbFRvUGFyc2VOYW1lAAYEmEJvbmQncyBuYW1lIHBhcnNpbmcgd2FzIG5vdyBzdWNjZXNzZnVsBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LpUKDFhwYWxsZXRfb3RjX3NldHRsZW1lbnRzGHBhbGxldBRFcnJvcgQEVAABHDRPcmRlck5vdEZvdW5kAAAETE90YyBvcmRlciBub3QgZm91bmRQTm90UGFydGlhbGx5RmlsbGFibGUAAQSMT1RDIG9yZGVyIGlzIG5vdCBwYXJ0aWFsbHkgZmlsbGFibGUwSW52YWxpZFJvdXRlAAIEvFByb3ZpZGVkIHJvdXRlIGRvZXNuJ3QgbWF0Y2ggdGhlIGV4aXN0aW5nIHJvdXRlUEJhbGFuY2VJbmNvbnNpc3RlbmN5AAMEnEluaXRpYWwgYW5kIGZpbmFsIGJhbGFuY2UgYXJlIGRpZmZlcmVudEhUcmFkZUFtb3VudFRvb0hpZ2gABASIVHJhZGUgYW1vdW50IGhpZ2hlciB0aGFuIG5lY2Vzc2FyeURUcmFkZUFtb3VudFRvb0xvdwAFBIRUcmFkZSBhbW91bnQgbG93ZXIgdGhhbiBuZWNlc3NhcnlEUHJpY2VOb3RBdmFpbGFibGUABgSIUHJpY2UgZm9yIGEgcm91dGUgaXMgbm90IGF2YWlsYWJsZQSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6ZCgwocGFsbGV0X2xicBhwYWxsZXQURXJyb3IEBFQAAVx4Q2Fubm90Q3JlYXRlUG9vbFdpdGhTYW1lQXNzZXRzAAAEfFBvb2wgYXNzZXRzIGNhbiBub3QgYmUgdGhlIHNhbWUgTm90T3duZXIAAQRsQWNjb3VudCBpcyBub3QgYSBwb29sIG93bmVyLFNhbGVTdGFydGVkAAIEUFNhbGUgYWxyZWFkeSBzdGFydGVkMFNhbGVOb3RFbmRlZAADBGRTYWxlIGlzIHN0aWxsIGluIHByb2dyZXNzQFNhbGVJc05vdFJ1bm5pbmcABARMU2FsZSBpcyBub3QgcnVubmluZ1xNYXhTYWxlRHVyYXRpb25FeGNlZWRlZAAFBGRTYWxlIGR1cmF0aW9uIGlzIHRvbyBsb25nWENhbm5vdEFkZFplcm9MaXF1aWRpdHkABgSgTGlxdWlkaXR5IGJlaW5nIGFkZGVkIHNob3VsZCBub3QgYmUgemVyb2BJbnN1ZmZpY2llbnRBc3NldEJhbGFuY2UABwRUQXNzZXQgYmFsYW5jZSB0b28gbG93MFBvb2xOb3RGb3VuZAAIBExQb29sIGRvZXMgbm90IGV4aXN0RFBvb2xBbHJlYWR5RXhpc3RzAAkEdFBvb2wgaGFzIGJlZW4gYWxyZWFkeSBjcmVhdGVkREludmFsaWRCbG9ja1JhbmdlAAoETEludmFsaWQgYmxvY2sgcmFuZ2VYV2VpZ2h0Q2FsY3VsYXRpb25FcnJvcgALBERDYWxjdWxhdGlvbiBlcnJvcjRJbnZhbGlkV2VpZ2h0AAwEaFdlaWdodCBzZXQgaXMgb3V0IG9mIHJhbmdlKFplcm9BbW91bnQADQSgQ2FuIG5vdCBwZXJmb3JtIGEgdHJhZGUgd2l0aCB6ZXJvIGFtb3VudEhNYXhJblJhdGlvRXhjZWVkZWQADgRgVHJhZGUgYW1vdW50IGlzIHRvbyBoaWdoTE1heE91dFJhdGlvRXhjZWVkZWQADwRgVHJhZGUgYW1vdW50IGlzIHRvbyBoaWdoQEZlZUFtb3VudEludmFsaWQAEARISW52YWxpZCBmZWUgYW1vdW50TFRyYWRpbmdMaW1pdFJlYWNoZWQAEQRUVHJhZGluZyBsaW1pdCByZWFjaGVkIE92ZXJmbG93ABIEnEFuIHVuZXhwZWN0ZWQgaW50ZWdlciBvdmVyZmxvdyBvY2N1cnJlZDxOb3RoaW5nVG9VcGRhdGUAEwRETm90aGluZyB0byB1cGRhdGVUSW5zdWZmaWNpZW50TGlxdWlkaXR5ABQEvExpcXVpZGl0eSBoYXMgbm90IHJlYWNoZWQgdGhlIHJlcXVpcmVkIG1pbmltdW0uZEluc3VmZmljaWVudFRyYWRpbmdBbW91bnQAFQSoQW1vdW50IGlzIGxlc3MgdGhhbiBtaW5pbXVtIHRyYWRpbmcgbGltaXQugEZlZUNvbGxlY3RvcldpdGhBc3NldEFscmVhZHlVc2VkABYEsE5vdCBtb3JlIHRoYW4gb25lIGZlZSBjb2xsZWN0b3IgcGVyIGFzc2V0IGlkBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lp0KDChwYWxsZXRfeHlrGHBhbGxldBRFcnJvcgQEVAABaHhDYW5ub3RDcmVhdGVQb29sV2l0aFNhbWVBc3NldHMAAATcSXQgaXMgbm90IGFsbG93ZWQgdG8gY3JlYXRlIGEgcG9vbCBiZXR3ZWVuIHNhbWUgYXNzZXRzLlRJbnN1ZmZpY2llbnRMaXF1aWRpdHkAAQS8TGlxdWlkaXR5IGhhcyBub3QgcmVhY2hlZCB0aGUgcmVxdWlyZWQgbWluaW11bS5kSW5zdWZmaWNpZW50VHJhZGluZ0Ftb3VudAACBJhBbW91bnQgaXMgbGVzcyB0aGFuIG1pbiB0cmFkaW5nIGxpbWl0LjRaZXJvTGlxdWlkaXR5AAMESExpcXVpZGl0eSBpcyB6ZXJvLkBaZXJvSW5pdGlhbFByaWNlAAQI7El0IGlzIG5vdCBhbGxvd2VkIHRvIGNyZWF0ZSBhIHBvb2wgd2l0aCB6ZXJvIGluaXRpYWwgcHJpY2UupE5vdCB1c2VkLCBrZXB0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5cENyZWF0ZVBvb2xBc3NldEFtb3VudEludmFsaWQABQggT3ZlcmZsb3ekTm90IHVzZWQsIGtlcHQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlYSW52YWxpZE1pbnRlZExpcXVpZGl0eQAGBCBPdmVyZmxvd1hJbnZhbGlkTGlxdWlkaXR5QW1vdW50AAcEIE92ZXJmbG93YEFzc2V0QW1vdW50RXhjZWVkZWRMaW1pdAAIBJhBc3NldCBhbW91bnQgaGFzIGV4Y2VlZGVkIGdpdmVuIGxpbWl0LmhBc3NldEFtb3VudE5vdFJlYWNoZWRMaW1pdAAJBKRBc3NldCBhbW91bnQgaGFzIG5vdCByZWFjaGVkIGdpdmVuIGxpbWl0LmBJbnN1ZmZpY2llbnRBc3NldEJhbGFuY2UACgSAQXNzZXQgYmFsYW5jZSBpcyBub3Qgc3VmZmljaWVudC5wSW5zdWZmaWNpZW50UG9vbEFzc2V0QmFsYW5jZQALBJxOb3QgZW5vdWdoIGFzc2V0IGxpcXVpZGl0eSBpbiB0aGUgcG9vbC6ESW5zdWZmaWNpZW50TmF0aXZlQ3VycmVuY3lCYWxhbmNlAAwEsE5vdCBlbm91Z2ggY29yZSBhc3NldCBsaXF1aWRpdHkgaW4gdGhlIHBvb2wuRFRva2VuUG9vbE5vdEZvdW5kAA0EvExpcXVpZGl0eSBwb29sIGZvciBnaXZlbiBhc3NldHMgZG9lcyBub3QgZXhpc3QuWFRva2VuUG9vbEFscmVhZHlFeGlzdHMADgS8TGlxdWlkaXR5IHBvb2wgZm9yIGdpdmVuIGFzc2V0cyBhbHJlYWR5IGV4aXN0cy5UQWRkQXNzZXRBbW91bnRJbnZhbGlkAA8EIE92ZXJmbG93YFJlbW92ZUFzc2V0QW1vdW50SW52YWxpZAAQBCBPdmVyZmxvd1hTZWxsQXNzZXRBbW91bnRJbnZhbGlkABEEIE92ZXJmbG93VEJ1eUFzc2V0QW1vdW50SW52YWxpZAASBCBPdmVyZmxvd0BGZWVBbW91bnRJbnZhbGlkABMEIE92ZXJmbG93TENhbm5vdEFwcGx5RGlzY291bnQAFAQgT3ZlcmZsb3dMTWF4T3V0UmF0aW9FeGNlZWRlZAAVBBEBTWF4IGZyYWN0aW9uIG9mIHBvb2wgdG8gYnV5IGluIHNpbmdsZSB0cmFuc2FjdGlvbiBoYXMgYmVlbiBleGNlZWRlZC5ITWF4SW5SYXRpb0V4Y2VlZGVkABYEFQFNYXggZnJhY3Rpb24gb2YgcG9vbCB0byBzZWxsIGluIHNpbmdsZSB0cmFuc2FjdGlvbiBoYXMgYmVlbiBleGNlZWRlZC4gT3ZlcmZsb3cAFwQgT3ZlcmZsb3dAQ2Fubm90Q3JlYXRlUG9vbAAYBLhQb29sIGNhbm5vdCBiZSBjcmVhdGVkIGR1ZSB0byBvdXRzaWRlIGZhY3RvcnMuNFNsaXBwYWdlTGltaXQAGQRQU2xpcHBhZ2UgcHJvdGVjdGlvbi4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuoQoAAAQI5QMYAKUKAAAECBDlAwCpCgAABAwQGAAArQoMQHBhbGxldF9yZWZlcnJhbHMYcGFsbGV0FEVycm9yBARUAAE4HFRvb0xvbmcAAARoUmVmZXJyYWwgY29kZSBpcyB0b28gbG9uZy4gVG9vU2hvcnQAAQRsUmVmZXJyYWwgY29kZSBpcyB0b28gc2hvcnQuQEludmFsaWRDaGFyYWN0ZXIAAgRNAVJlZmVycmFsIGNvZGUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIuIE9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYXJlIGFsbG93ZWQuNEFscmVhZHlFeGlzdHMAAwR0UmVmZXJyYWwgY29kZSBhbHJlYWR5IGV4aXN0cy4sSW52YWxpZENvZGUABAQhAVByb3ZpZGVkIHJlZmVycmFsIGNvZGUgaXMgaW52YWxpZC4gRWl0aGVyIGRvZXMgbm90IGV4aXN0IG9yIGlzIHRvbyBsb25nLjRBbHJlYWR5TGlua2VkAAUE2EFjY291bnQgaXMgYWxyZWFkeSBsaW5rZWQgdG8gYW5vdGhlciByZWZlcnJhbCBhY2NvdW50LihaZXJvQW1vdW50AAYEyE5vdGhpbmcgaW4gdGhlIHJlZmVycmFsIHBvdCBhY2NvdW50IGZvciB0aGUgYXNzZXQuOExpbmtOb3RBbGxvd2VkAAcE/ExpbmtpbmcgYW4gYWNjb3VudCB0byB0aGUgc2FtZSByZWZlcnJhbCBhY2NvdW50IGlzIG5vdCBhbGxvd2VkLmhJbmNvcnJlY3RSZXdhcmRDYWxjdWxhdGlvbgAIBJEBQ2FsY3VsYXRlZCByZXdhcmRzIGFyZSBtb3JlIHRoYW4gdGhlIGZlZSBhbW91bnQuIFRoaXMgY2FuIGhhcHBlbiBpZiBwZXJjZW50YWdlcyBhcmUgaW5jb3JyZWN0bHkgc2V0LmRJbmNvcnJlY3RSZXdhcmRQZXJjZW50YWdlAAkE7EdpdmVuIHJlZmVycmVyIGFuZCB0cmFkZXIgcGVyY2VudGFnZXMgZXhjZWVkcyAxMDAlIHBlcmNlbnQuREFscmVhZHlSZWdpc3RlcmVkAAoEqFRoZSBhY2NvdW50IGhhcyBhbHJlYWR5IGEgY29kZSByZWdpc3RlcmVkLjRQcmljZU5vdEZvdW5kAAsElFByaWNlIGZvciBnaXZlbiBhc3NldCBwYWlyIG5vdCBmb3VuZC6QQ29udmVyc2lvbk1pblRyYWRpbmdBbW91bnROb3RSZWFjaGVkAAwE7E1pbmltdW0gdHJhZGluZyBhbW91bnQgZm9yIGNvbnZlcnNpb24gaGFzIG5vdCBiZWVuIHJlYWNoZWQucENvbnZlcnNpb25aZXJvQW1vdW50UmVjZWl2ZWQADQSUWmVybyBhbW91bnQgcmVjZWl2ZWQgZnJvbSBjb252ZXJzaW9uLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6xCgxIcGFsbGV0X2xpcXVpZGF0aW9uGHBhbGxldBRFcnJvcgQEVAABGFRBc3NldENvbnZlcnNpb25GYWlsZWQAAASgQXNzZXRJZCB0byBFVk0gYWRkcmVzcyBjb252ZXJzaW9uIGZhaWxlZFRMaXF1aWRhdGlvbkNhbGxGYWlsZWQAAQRcTGlxdWlkYXRpb24gY2FsbCBmYWlsZWQwSW52YWxpZFJvdXRlAAIEvFByb3ZpZGVkIHJvdXRlIGRvZXNuJ3QgbWF0Y2ggdGhlIGV4aXN0aW5nIHJvdXRlNE5vdFByb2ZpdGFibGUAAwTkTGlxdWlkYXRpb24gd2FzIG5vdCBwcm9maXRhYmxlIGVub3VnaCB0byByZXBheSBmbGFzaCBsb2FuREZsYXNoTWludGVyTm90U2V0AAQEOQFGbGFzaCBtaW50ZXIgY29udHJhY3QgYWRkcmVzcyBub3Qgc2V0LiBJdCBpcyByZXF1aXJlZCBmb3IgSG9sbGFyIGxpcXVpZGF0aW9ucy5YSW52YWxpZExpcXVpZGF0aW9uRGF0YQAFBIRJbnZhbGlkIGxpcXVpZGF0aW9uIGRhdGEgcHJvdmlkZWQEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQutQoMKHBhbGxldF9oc20UdHlwZXM4Q29sbGF0ZXJhbEluZm8EHEFzc2V0SWQBEAAYARxwb29sX2lkEAEcQXNzZXRJZAABMHB1cmNoYXNlX2ZlZSEDARxQZXJtaWxsAAFkbWF4X2J1eV9wcmljZV9jb2VmZmljaWVudD0BAUBDb2VmZmljaWVudFJhdGlvAAEwYnV5YmFja19yYXRlwQMBHFBlcmJpbGwAATBidXlfYmFja19mZWUhAwEcUGVybWlsbAABOG1heF9pbl9ob2xkaW5n4AE8T3B0aW9uPEJhbGFuY2U+AAC5CgwocGFsbGV0X2hzbRhwYWxsZXQURXJyb3IEBFQAAVhAQXNzZXROb3RBcHByb3ZlZAAADIxBc3NldCBpcyBub3QgYXBwcm92ZWQgYXMgY29sbGF0ZXJhbABlAVRoZSBvcGVyYXRpb24gYXR0ZW1wdGVkIHRvIHVzZSBhbiBhc3NldCB0aGF0IGlzIG5vdCByZWdpc3RlcmVkIGFzIGFuIGFwcHJvdmVkIGNvbGxhdGVyYWwuUEFzc2V0QWxyZWFkeUFwcHJvdmVkAAEMnEFzc2V0IGlzIGFscmVhZHkgYXBwcm92ZWQgYXMgY29sbGF0ZXJhbAAVAUF0dGVtcHRlZCB0byBhZGQgYW4gYXNzZXQgdGhhdCBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQgYXMgYSBjb2xsYXRlcmFsLmBQb29sQWxyZWFkeUhhc0NvbGxhdGVyYWwAAgzQQW5vdGhlciBhc3NldCBmcm9tIHRoZSBzYW1lIHBvb2wgaXMgYWxyZWFkeSBhcHByb3ZlZAANAU9ubHkgb25lIGFzc2V0IGZyb20gZWFjaCBTdGFibGVTd2FwIHBvb2wgY2FuIGJlIHVzZWQgYXMgY29sbGF0ZXJhbC5ASW52YWxpZEFzc2V0UGFpcgADDOhJbnZhbGlkIGFzc2V0IHBhaXIsIG11c3QgYmUgSG9sbGFyIGFuZCBhcHByb3ZlZCBjb2xsYXRlcmFsAL0BVGhlIGFzc2V0IHBhaXIgZm9yIGJ1eS9zZWxsIG9wZXJhdGlvbnMgbXVzdCBpbmNsdWRlIEhvbGxhciBhcyBvbmUgc2lkZSBhbmQgYW4gYXBwcm92ZWQgY29sbGF0ZXJhbCBhcyB0aGUgb3RoZXIuTE1heEJ1eVByaWNlRXhjZWVkZWQABAxYTWF4IGJ1eSBwcmljZSBleGNlZWRlZABJAVRoZSBjYWxjdWxhdGVkIGJ1eSBwcmljZSBleGNlZWRzIHRoZSBtYXhpbXVtIGFsbG93ZWQgYnV5IHByaWNlIGZvciB0aGUgY29sbGF0ZXJhbC5ITWF4QnV5QmFja0V4Y2VlZGVkAAUMsE1heCBidXkgYmFjayBhbW91bnQgaW4gc2luZ2xlIGJsb2NrIGV4Y2VlZGVkAKUBVGhlIGFtb3VudCBvZiBIb2xsYXIgYmVpbmcgc29sZCB0byBIU00gZXhjZWVkcyB0aGUgbWF4aW11bSBhbGxvd2VkIGluIGEgc2luZ2xlIGJsb2NrIGZvciB0aGlzIGNvbGxhdGVyYWwuSE1heEhvbGRpbmdFeGNlZWRlZAAGDKhNYXggaG9sZGluZyBhbW91bnQgZm9yIGNvbGxhdGVyYWwgZXhjZWVkZWQAdQFUaGUgb3BlcmF0aW9uIHdvdWxkIGNhdXNlIHRoZSBIU00gdG8gaG9sZCBtb3JlIG9mIHRoZSBjb2xsYXRlcmFsIHRoYW4gdGhlIGNvbmZpZ3VyZWQgbWF4aW11bS5UU2xpcHBhZ2VMaW1pdEV4Y2VlZGVkAAcMXFNsaXBwYWdlIGxpbWl0IGV4Y2VlZGVkAAEBVGhlIGNhbGN1bGF0ZWQgYW1vdW50IGlzIHdvcnNlIHRoYW4gdGhlIHByb3ZpZGVkIHNsaXBwYWdlIGxpbWl0LlRJbnZhbGlkRVZNSW50ZXJhY3Rpb24ACAyASW52YWxpZCBFVk0gY29udHJhY3QgaW50ZXJhY3Rpb24A3FRoZSBjYWxsIHRvIHRoZSBFVk0gY29udHJhY3QgKEdITyBIb2xsYXIgdG9rZW4pIGZhaWxlZC5YRGVjaW1hbFJldHJpZXZhbEZhaWxlZAAJDGBEZWNpbWFsIHJldHJpZXZhbCBmYWlsZWQA4EZhaWxlZCB0byByZXRyaWV2ZSB0aGUgZGVjaW1hbCBpbmZvcm1hdGlvbiBmb3IgYW4gYXNzZXQuWE5vQXJiaXRyYWdlT3Bwb3J0dW5pdHkACgxgTm8gYXJiaXRyYWdlIG9wcG9ydHVuaXR5ACkBVGhlcmUgaXMgbm8gcHJvZml0YWJsZSBhcmJpdHJhZ2Ugb3Bwb3J0dW5pdHkgZm9yIHRoZSBzcGVjaWZpZWQgY29sbGF0ZXJhbC5ET2ZmY2hhaW5Mb2NrRXJyb3IACwxMT2ZmY2hhaW4gbG9jayBlcnJvcgCFAUZhaWxlZCB0byBhY3F1aXJlIHRoZSBsb2NrIGZvciBvZmZjaGFpbiB3b3JrZXJzLCBsaWtlbHkgYmVjYXVzZSBhbm90aGVyIG9wZXJhdGlvbiBpcyBpbiBwcm9ncmVzcy40QXNzZXROb3RGb3VuZAAMDFRBc3NldCBub3QgaW4gdGhlIHBvb2wAuFRoZSBzcGVjaWZpZWQgYXNzZXQgd2FzIG5vdCBmb3VuZCBpbiB0aGUgcG9vbC5ASW52YWxpZFBvb2xTdGF0ZQANDHhQcm92aWRlZCBwb29sIHN0YXRlIGlzIGludmFsaWQA6FRoZSByZXRyaWV2ZWQgcG9vbCBzdGF0ZSBoYXMgaW5jb25zaXN0ZW50IG9yIGludmFsaWQgZGF0YS5IQ29sbGF0ZXJhbE5vdEVtcHR5AA4MXENvbGxhdGVyYWwgaXMgbm90IGVtcHR5AFkBQ2Fubm90IHJlbW92ZSBhIGNvbGxhdGVyYWwgYXNzZXQgdGhhdCBzdGlsbCBoYXMgYSBub24temVybyBiYWxhbmNlIGluIHRoZSBIU00gYWNjb3VudC44QXNzZXROb3RJblBvb2wADwxUQXNzZXQgbm90IGluIHRoZSBwb29sAOhUaGUgY29sbGF0ZXJhbCBhc3NldCBpcyBub3QgcHJlc2VudCBpbiB0aGUgc3BlY2lmaWVkIHBvb2wuPEhvbGxhck5vdEluUG9vbAAQDGRIb2xsYXIgaXMgbm90IGluIHRoZSBwb29sANhUaGUgSG9sbGFyIGFzc2V0IGlzIG5vdCBwcmVzZW50IGluIHRoZSBzcGVjaWZpZWQgcG9vbC50SW5zdWZmaWNpZW50Q29sbGF0ZXJhbEJhbGFuY2UAEQx8SW5zdWZmaWNpZW50IGNvbGxhdGVyYWwgYmFsYW5jZQA9AVRoZSBIU00gZG9lcyBub3QgaGF2ZSBlbm91Z2ggb2YgdGhlIGNvbGxhdGVyYWwgYXNzZXQgdG8gY29tcGxldGUgdGhlIG9wZXJhdGlvbi50SG9sbGFyQ29udHJhY3RBZGRyZXNzTm90Rm91bmQAEgx4R0hPIENvbnRyYWN0IGFkZHJlc3Mgbm90IGZvdW5kAAkBVGhlIEVWTSBhZGRyZXNzIGZvciB0aGUgR0hPIChIb2xsYXIpIHRva2VuIGNvbnRyYWN0IHdhcyBub3QgZm91bmQudE1heE51bWJlck9mQ29sbGF0ZXJhbHNSZWFjaGVkABME5EhTTSBjb250YWlucyBtYXhpbXVtIG51bWJlciBvZiBhbGxvd2VkIGNvbGxhdGVyYWwgYXNzZXRzLkRGbGFzaE1pbnRlck5vdFNldAAUBHBGbGFzaCBtaW50ZXIgYWRkcmVzcyBub3Qgc2V0UEludmFsaWRBcmJpdHJhZ2VEYXRhABUEiFByb3ZpZGVkIGFyYml0cmFnZSBkYXRhIGlzIGludmFsaWQEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuvQoMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAHBCgRTAAAEAMUKARhWZWM8VD4AAMEKCCxvcm1sX3Rva2VucyxCYWxhbmNlTG9jawQcQmFsYW5jZQEYAAgBCGlk/QEBOExvY2tJZGVudGlmaWVyAAEYYW1vdW50GAEcQmFsYW5jZQAAxQoAAALBCgDJCggsb3JtbF90b2tlbnMsQWNjb3VudERhdGEEHEJhbGFuY2UBGAAMARBmcmVlGAEcQmFsYW5jZQABIHJlc2VydmVkGAEcQmFsYW5jZQABGGZyb3plbhgBHEJhbGFuY2UAAM0KDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQB0QoEUwAABADVCgEYVmVjPFQ+AADRCggsb3JtbF90b2tlbnMsUmVzZXJ2ZURhdGEIRFJlc2VydmVJZGVudGlmaWVyAf0BHEJhbGFuY2UBGAAIAQhpZP0BAURSZXNlcnZlSWRlbnRpZmllcgABGGFtb3VudBgBHEJhbGFuY2UAANUKAAAC0QoA2QoMLG9ybWxfdG9rZW5zGG1vZHVsZRRFcnJvcgQEVAABIDRCYWxhbmNlVG9vTG93AAAEWFRoZSBiYWxhbmNlIGlzIHRvbyBsb3dcQW1vdW50SW50b0JhbGFuY2VGYWlsZWQAAQScQ2Fubm90IGNvbnZlcnQgQW1vdW50IGludG8gQmFsYW5jZSB0eXBlVExpcXVpZGl0eVJlc3RyaWN0aW9ucwACBNBGYWlsZWQgYmVjYXVzZSBsaXF1aWRpdHkgcmVzdHJpY3Rpb25zIGR1ZSB0byBsb2NraW5nQE1heExvY2tzRXhjZWVkZWQAAwS0RmFpbGVkIGJlY2F1c2UgdGhlIG1heGltdW0gbG9ja3Mgd2FzIGV4Y2VlZGVkJEtlZXBBbGl2ZQAEBIxUcmFuc2Zlci9wYXltZW50IHdvdWxkIGtpbGwgYWNjb3VudEhFeGlzdGVudGlhbERlcG9zaXQABQToVmFsdWUgdG9vIGxvdyB0byBjcmVhdGUgYWNjb3VudCBkdWUgdG8gZXhpc3RlbnRpYWwgZGVwb3NpdCxEZWFkQWNjb3VudAAGBIhCZW5lZmljaWFyeSBhY2NvdW50IG11c3QgcHJlLWV4aXN0PFRvb01hbnlSZXNlcnZlcwAHAASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7dCgxEcGFsbGV0X2N1cnJlbmNpZXMYbW9kdWxlFEVycm9yBARUAAEQXEFtb3VudEludG9CYWxhbmNlRmFpbGVkAAAEvFVuYWJsZSB0byBjb252ZXJ0IHRoZSBBbW91bnQgdHlwZSBpbnRvIEJhbGFuY2UuNEJhbGFuY2VUb29Mb3cAAQRMQmFsYW5jZSBpcyB0b28gbG93LjREZXBvc2l0RmFpbGVkAAIEeERlcG9zaXQgcmVzdWx0IGlzIG5vdCBleHBlY3RlZDBOb3RTdXBwb3J0ZWQAAwSwT3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgY3VycmVuY3kEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu4QoMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEVBARTAAAEABkEARhWZWM8VD4AAOUKDDBvcm1sX3Zlc3RpbmcYbW9kdWxlFEVycm9yBARUAAEYRFplcm9WZXN0aW5nUGVyaW9kAAAEWFZlc3RpbmcgcGVyaW9kIGlzIHplcm9YWmVyb1Zlc3RpbmdQZXJpb2RDb3VudAABBFxOdW1iZXIgb2YgdmVzdHMgaXMgemVyb2RJbnN1ZmZpY2llbnRCYWxhbmNlVG9Mb2NrAAIEmEluc3VmZmljaWVudCBhbW91bnQgb2YgYmFsYW5jZSB0byBsb2NrXFRvb01hbnlWZXN0aW5nU2NoZWR1bGVzAAMEsFRoaXMgYWNjb3VudCBoYXZlIHRvbyBtYW55IHZlc3Rpbmcgc2NoZWR1bGVzJEFtb3VudExvdwAEBJRUaGUgdmVzdGVkIHRyYW5zZmVyIGFtb3VudCBpcyB0b28gbG93bE1heFZlc3RpbmdTY2hlZHVsZXNFeGNlZWRlZAAFBORGYWlsZWQgYmVjYXVzZSB0aGUgbWF4aW11bSB2ZXN0aW5nIHNjaGVkdWxlcyB3YXMgZXhjZWVkZWQEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu6QoIKHBhbGxldF9ldm0wQ29kZU1ldGFkYXRhAAAIARBzaXplMAEMdTY0AAEQaGFzaDQBEEgyNTYAAO0KAAAECEEBNADxCgwocGFsbGV0X2V2bRhwYWxsZXQURXJyb3IEBFQAATQoQmFsYW5jZUxvdwAABJBOb3QgZW5vdWdoIGJhbGFuY2UgdG8gcGVyZm9ybSBhY3Rpb24sRmVlT3ZlcmZsb3cAAQSAQ2FsY3VsYXRpbmcgdG90YWwgZmVlIG92ZXJmbG93ZWQ8UGF5bWVudE92ZXJmbG93AAIEkENhbGN1bGF0aW5nIHRvdGFsIHBheW1lbnQgb3ZlcmZsb3dlZDhXaXRoZHJhd0ZhaWxlZAADBExXaXRoZHJhdyBmZWUgZmFpbGVkOEdhc1ByaWNlVG9vTG93AAQEVEdhcyBwcmljZSBpcyB0b28gbG93LjBJbnZhbGlkTm9uY2UABQRATm9uY2UgaXMgaW52YWxpZDhHYXNMaW1pdFRvb0xvdwAGBFRHYXMgbGltaXQgaXMgdG9vIGxvdy48R2FzTGltaXRUb29IaWdoAAcEWEdhcyBsaW1pdCBpcyB0b28gaGlnaC44SW52YWxpZENoYWluSWQACARgVGhlIGNoYWluIGlkIGlzIGludmFsaWQuQEludmFsaWRTaWduYXR1cmUACQRkdGhlIHNpZ25hdHVyZSBpcyBpbnZhbGlkLihSZWVudHJhbmN5AAoEOEVWTSByZWVudHJhbmN5aFRyYW5zYWN0aW9uTXVzdENvbWVGcm9tRU9BAAsEJEVJUC0zNjA3LCRVbmRlZmluZWQADARAVW5kZWZpbmVkIGVycm9yLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC71CgAABAwxBPkKDQsA+QoIGGZwX3JwY0RUcmFuc2FjdGlvblN0YXR1cwAAHAFAdHJhbnNhY3Rpb25faGFzaDQBEEgyNTYAAUR0cmFuc2FjdGlvbl9pbmRleBABDHUzMgABEGZyb21BAQEcQWRkcmVzcwABCHRv/QoBPE9wdGlvbjxBZGRyZXNzPgABQGNvbnRyYWN0X2FkZHJlc3P9CgE8T3B0aW9uPEFkZHJlc3M+AAEQbG9ncwELASBWZWM8TG9nPgABKGxvZ3NfYmxvb20FCwEUQmxvb20AAP0KBBhPcHRpb24EBFQBQQEBCBBOb25lAAAAEFNvbWUEAEEBAAABAAABCwAAAvUGAAULCCBldGhibG9vbRRCbG9vbQAABAAJCwFAW3U4OyBCTE9PTV9TSVpFXQAACQsAAAMAAQAACAANCwwgZXRoZXJldW0ccmVjZWlwdCRSZWNlaXB0VjMAAQwYTGVnYWN5BAARCwFERUlQNjU4UmVjZWlwdERhdGEAAAAcRUlQMjkzMAQAEQsBSEVJUDI5MzBSZWNlaXB0RGF0YQABABxFSVAxNTU5BAARCwFIRUlQMTU1OVJlY2VpcHREYXRhAAIAABELDCBldGhlcmV1bRxyZWNlaXB0REVJUDY1OFJlY2VpcHREYXRhAAAQASxzdGF0dXNfY29kZQgBCHU4AAEgdXNlZF9nYXNJAQEQVTI1NgABKGxvZ3NfYmxvb20FCwEUQmxvb20AARBsb2dzAQsBIFZlYzxMb2c+AAAVCwwgZXRoZXJldW0UYmxvY2sUQmxvY2sEBFQBMQQADAEYaGVhZGVyGQsBGEhlYWRlcgABMHRyYW5zYWN0aW9ucyELARhWZWM8VD4AARhvbW1lcnMlCwEsVmVjPEhlYWRlcj4AABkLDCBldGhlcmV1bRhoZWFkZXIYSGVhZGVyAAA8ASxwYXJlbnRfaGFzaDQBEEgyNTYAASxvbW1lcnNfaGFzaDQBEEgyNTYAASxiZW5lZmljaWFyeUEBARBIMTYwAAEoc3RhdGVfcm9vdDQBEEgyNTYAAUR0cmFuc2FjdGlvbnNfcm9vdDQBEEgyNTYAATRyZWNlaXB0c19yb290NAEQSDI1NgABKGxvZ3NfYmxvb20FCwEUQmxvb20AAShkaWZmaWN1bHR5SQEBEFUyNTYAARhudW1iZXJJAQEQVTI1NgABJGdhc19saW1pdEkBARBVMjU2AAEgZ2FzX3VzZWRJAQEQVTI1NgABJHRpbWVzdGFtcDABDHU2NAABKGV4dHJhX2RhdGE4ARRCeXRlcwABIG1peF9oYXNoNAEQSDI1NgABFG5vbmNlHQsBDEg2NAAAHQsMOGV0aGVyZXVtX3R5cGVzEGhhc2gMSDY0AAAEAP0BARxbdTg7IDhdAAAhCwAAAjEEACULAAACGQsAKQsAAAINCwAtCwAAAvkKADELDDxwYWxsZXRfZXRoZXJldW0YcGFsbGV0FEVycm9yBARUAAEIQEludmFsaWRTaWduYXR1cmUAAARUU2lnbmF0dXJlIGlzIGludmFsaWQuMFByZUxvZ0V4aXN0cwABBNhQcmUtbG9nIGlzIHByZXNlbnQsIHRoZXJlZm9yZSB0cmFuc2FjdCBpcyBub3QgYWxsb3dlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuNQsMTHBhbGxldF9ldm1fYWNjb3VudHMYcGFsbGV0FEVycm9yBARUAAEQbFRydW5jYXRlZEFjY291bnRBbHJlYWR5VXNlZAAABIhBY3RpdmUgRVZNIGFjY291bnQgY2Fubm90IGJlIGJvdW5kTEFkZHJlc3NBbHJlYWR5Qm91bmQAAQRgQWRkcmVzcyBpcyBhbHJlYWR5IGJvdW5kYEJvdW5kQWRkcmVzc0Nhbm5vdEJlVXNlZAACBHBCb3VuZCBhZGRyZXNzIGNhbm5vdCBiZSB1c2VkVEFkZHJlc3NOb3RXaGl0ZWxpc3RlZAADBFxBZGRyZXNzIG5vdCB3aGl0ZWxpc3RlZASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC45CwxscGFsbGV0X3h5a19saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFcnJvcgQEVAABNFBDYW50RmluZERlcG9zaXRPd25lcgAABIhOZnQgcGFsbGV0IGRpZG4ndCByZXR1cm4gYW4gb3duZXIucEluc3VmZmljaWVudFh5a1NoYXJlc0JhbGFuY2UAAQTUQWNjb3VudCBiYWxhbmNlIG9mIFhZSyBwb29sIHNoYXJlcyBpcyBub3Qgc3VmZmljaWVudC5IWHlrUG9vbERvZXNudEV4aXN0AAIEXFhZSyBwb29sIGRvZXMgbm90IGV4aXN0PE5vdERlcG9zaXRPd25lcgADBHRBY2NvdW50IGlzIG5vdCBkZXBvc2l0IG93bmVyLkBDYW50R2V0WHlrQXNzZXRzAAQErFhZSyBkaWQgbm90IHJldHVybiBhc3NldHMgZm9yIGdpdmVuIHBvb2wgaWRMRGVwb3NpdERhdGFOb3RGb3VuZAAFBFhEZXBvc2l0IGRhdGEgbm90IGZvdW5kSFplcm9DbGFpbWVkUmV3YXJkcwAGBIBDYWxjdWxhdGVkIHJld2FyZCB0byBjbGFpbSBpcyAwLkxBc3NldE5vdEluQXNzZXRQYWlyAAcEgEFzc2V0IGlzIG5vdCBpbiB0aGUgYEFzc2V0UGFpcmAuQEludmFsaWRBc3NldFBhaXIACATAUHJvdmlkZWQgYEFzc2V0UGFpcmAgaXMgbm90IHVzZWQgYnkgdGhlIGRlcG9zaXQuSEFzc2V0Tm90UmVnaXN0ZXJlZAAJBKhBc3NldCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBhc3NldCByZWdpc3RyeS44RmFpbFRvR2V0UG90SWQACgSQRmFpbGVkIHRvIGNhbGN1bGF0ZSBgcG90YCdzIGFjY291bnQuQE5vRmFybXNTcGVjaWZpZWQACwTMTm8gZ2xvYmFsIGZhcm0gLSB5aWVsZCBmYXJtIHBhaXJzIHNwZWNpZmllZCB0byBqb2luTEZhaWxlZFRvVmFsdWVTaGFyZXMADAScRmFpbGVkIHRvIGNhbGN1bGF0ZSB2YWx1ZSBvZiB4eWsgc2hhcmVzBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lj0LDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlczhHbG9iYWxGYXJtRGF0YQgEVAAESQAASAEIaWQQATBHbG9iYWxGYXJtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABKHVwZGF0ZWRfYXQQASxQZXJpb2RPZjxUPgABOHRvdGFsX3NoYXJlc196GAEcQmFsYW5jZQABPGFjY3VtdWxhdGVkX3Jwej0BASRGaXhlZFUxMjgAATxyZXdhcmRfY3VycmVuY3kQAShUOjpBc3NldElkAAE8cGVuZGluZ19yZXdhcmRzGAEcQmFsYW5jZQABYGFjY3VtdWxhdGVkX3BhaWRfcmV3YXJkcxgBHEJhbGFuY2UAAUB5aWVsZF9wZXJfcGVyaW9kPQMBLFBlcnF1aW50aWxsAAFgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzEAEsUGVyaW9kT2Y8VD4AAURibG9ja3NfcGVyX3BlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAFIaW5jZW50aXZpemVkX2Fzc2V0EAEoVDo6QXNzZXRJZAABVG1heF9yZXdhcmRfcGVyX3BlcmlvZBgBHEJhbGFuY2UAASxtaW5fZGVwb3NpdBgBHEJhbGFuY2UAAVhsaXZlX3lpZWxkX2Zhcm1zX2NvdW50EAEMdTMyAAFcdG90YWxfeWllbGRfZmFybXNfY291bnQQAQx1MzIAAUBwcmljZV9hZGp1c3RtZW50PQEBJEZpeGVkVTEyOAABFHN0YXRl+QkBJEZhcm1TdGF0ZQAAQQsAAAQMABAQAEULDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlczRZaWVsZEZhcm1EYXRhCARUAARJAAAwAQhpZBABGEZhcm1JZAABKHVwZGF0ZWRfYXQQASxQZXJpb2RPZjxUPgABMHRvdGFsX3NoYXJlcxgBHEJhbGFuY2UAAUx0b3RhbF92YWx1ZWRfc2hhcmVzGAEcQmFsYW5jZQABQGFjY3VtdWxhdGVkX3JwdnM9AQEkRml4ZWRVMTI4AAE8YWNjdW11bGF0ZWRfcnB6PQEBJEZpeGVkVTEyOAABNGxveWFsdHlfY3VydmVBAwFQT3B0aW9uPExveWFsdHlDdXJ2ZT4AAShtdWx0aXBsaWVyPQEBOEZhcm1NdWx0aXBsaWVyAAEUc3RhdGX5CQEkRmFybVN0YXRlAAE0ZW50cmllc19jb3VudDABDHU2NAABSGxlZnRfdG9fZGlzdHJpYnV0ZRgBHEJhbGFuY2UAATR0b3RhbF9zdG9wcGVkEAEsUGVyaW9kT2Y8VD4AAEkLDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlcyxEZXBvc2l0RGF0YQgEVAAESQAADAEYc2hhcmVzGAEcQmFsYW5jZQABLGFtbV9wb29sX2lkAAEwVDo6QW1tUG9vbElkAAFIeWllbGRfZmFybV9lbnRyaWVzTQsB9EJvdW5kZWRWZWM8WWllbGRGYXJtRW50cnk8VCwgST4sIFQ6Ok1heEZhcm1FbnRyaWVzUGVyRGVwb3NpdD4AAE0LDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBUQsEUwAABABVCwEYVmVjPFQ+AABRCwxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXM4WWllbGRGYXJtRW50cnkIBFQABEkAACABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAE0dmFsdWVkX3NoYXJlcxgBHEJhbGFuY2UAAUBhY2N1bXVsYXRlZF9ycHZzPQEBJEZpeGVkVTEyOAABbGFjY3VtdWxhdGVkX2NsYWltZWRfcmV3YXJkcxgBHEJhbGFuY2UAAShlbnRlcmVkX2F0EAEsUGVyaW9kT2Y8VD4AASh1cGRhdGVkX2F0EAEsUGVyaW9kT2Y8VD4AAUxzdG9wcGVkX2F0X2NyZWF0aW9uEAEsUGVyaW9kT2Y8VD4AAFULAAACUQsAWQsMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFcnJvcggEVAAESQABdEhHbG9iYWxGYXJtTm90Rm91bmQAAARsR2xvYmFsIGZhcm0gZG9lcyBub3QgZXhpc3QuRFlpZWxkRmFybU5vdEZvdW5kAAEEaFlpZWxkIGZhcm0gZG9lcyBub3QgZXhpc3QuTERvdWJsZUNsYWltSW5QZXJpb2QAAgTITXVsdGlwbGUgY2xhaW1zIGluIHRoZSBzYW1lIHBlcmlvZCBpcyBub3QgYWxsb3dlZC5cTGlxdWlkaXR5TWluaW5nQ2FuY2VsZWQAAwR0TGlxdWlkaXR5IG1pbmluZyBpcyBjYW5jZWxlZC5cTGlxdWlkaXR5TWluaW5nSXNBY3RpdmUABASETGlxdWlkaXR5IG1pbmluZyBpcyBub3QgY2FuY2VsZWQubExpcXVpZGl0eU1pbmluZ0lzTm90U3RvcHBlZAAFBFUBTGlxdWlkaXR5IG1pbmluZyBpcyBpbiBgYWN0aXZlYCBvciBgdGVybWluYXRlZGAgc3RhdGUgYW5kIGFjdGlvbiBjYW5ub3QgYmUgY29tcGxldGVkLiRGb3JiaWRkZW4ABgSkQWNjb3VudCBpcyBub3QgYWxsb3dlZCB0byBwZXJmb3JtIGFjdGlvbi5ESW52YWxpZE11bHRpcGxpZXIABwSEWWllbGQgZmFybSBtdWx0aXBsaWVyIGNhbid0IGJlIDAuWFlpZWxkRmFybUFscmVhZHlFeGlzdHMACAQJAVlpZWxkIGZhcm0gd2l0aCBnaXZlbiBgYW1tX3Bvb2xfaWRgIGFscmVhZHkgZXhpc3RzIGluIGdsb2JhbCBmYXJtLnhJbnZhbGlkSW5pdGlhbFJld2FyZFBlcmNlbnRhZ2UACQQ9AUxveWFsdHkgY3VydmUncyBpbml0aWFsIHJld2FyZCBwZXJjZW50YWdlIGlzIG5vdCB2YWxpZC4gVmFsaWQgcmFuZ2UgaXM6IFswLCAxKS5QR2xvYmFsRmFybUlzTm90RW1wdHkACgS0T25lIG9yIG1vcmUgeWllbGQgZmFybXMgZXhpc3QgaW4gZ2xvYmFsIGZhcm0uYE1pc3NpbmdJbmNlbnRpdml6ZWRBc3NldAALBPhGYXJtJ3MgYGluY2VudGl2aXplZF9hc3NldGAgaXMgbWlzc2luZyBpbiBwcm92aWRlZCBhc3NldCBwYWlyLoRJbnN1ZmZpY2llbnRSZXdhcmRDdXJyZW5jeUJhbGFuY2UADASoUmV3YXJkIGN1cnJlbmN5IGJhbGFuY2UgaXMgbm90IHN1ZmZpY2llbnQuWEludmFsaWRCbG9ja3NQZXJQZXJpb2QADQR0QmxvY2tzIHBlciBwZXJpb2QgY2FuJ3QgYmUgMC5USW52YWxpZFlpZWxkUGVyUGVyaW9kAA4EcFlpZWxkIHBlciBwZXJpb2QgY2FuJ3QgYmUgMC5MSW52YWxpZFRvdGFsUmV3YXJkcwAPBMRUb3RhbCByZXdhcmRzIGlzIGxlc3MgdGhhbiBgTWluVG90YWxGYXJtUmV3YXJkc2AudEludmFsaWRQbGFubmVkWWllbGRpbmdQZXJpb2RzABAECQFQbGFubmVkIHlpZWxkaW5nIHBlcmlvZHMgaXMgbGVzcyB0aGFuIGBNaW5QbGFubmVkWWllbGRpbmdQZXJpb2RzYC5QTWF4RW50cmllc1BlckRlcG9zaXQAEQSwTWF4aW11bSBudW1iZXIgb2YgbG9ja3MgcmVhY2hlZCBmb3IgZGVwb3NpdC4oRG91YmxlTG9jawASBOBUcnlpbmcgdG8gbG9jayBMUCBzaGFyZXMgaW50byBhbHJlYWR5IGxvY2tlZCB5aWVsZCBmYXJtLlhZaWVsZEZhcm1FbnRyeU5vdEZvdW5kABMExFlpZWxkIGZhcm0gZW50cnkgZG9lc24ndCBleGlzdCBmb3IgZ2l2ZW4gZGVwb3NpdC5AR2xvYmFsRmFybUlzRnVsbAAUCEkBTWF4IG51bWJlciBvZiB5aWVsZCBmYXJtcyBpbiBnbG9iYWwgZmFybSB3YXMgcmVhY2hlZC4gR2xvYmFsIGZhcm0gY2FuJ3QgYWNjZXB0IG5ld/h5aWVsZCBmYXJtcyB1bnRpbCBzb21lIHlpZWxkIGZhcm0gaXMgbm90IHJlbW92ZWQgZnJvbSBzdG9yYWdlLkRJbnZhbGlkTWluRGVwb3NpdAAVBLRJbnZhbGlkIG1pbi4gZGVwb3NpdCB3YXMgc2V0IGZvciBnbG9iYWwgZmFybS5YSW52YWxpZFByaWNlQWRqdXN0bWVudAAWBJxQcmljZSBhZGp1c3RtZW50IG11bHRpcGxpZXIgY2FuJ3QgYmUgMC5ERXJyb3JHZXRBY2NvdW50SWQAFwSAQWNjb3VudCBjcmVhdGlvbiBmcm9tIGlkIGZhaWxlZC5USW5jb3JyZWN0VmFsdWVkU2hhcmVzABgEJQFWYWx1ZSBvZiBkZXBvc2l0ZWQgc2hhcmVzIGFtb3VudCBpbiByZXdhcmQgY3VycmVuY3kgaXMgYmVsbG93IG1pbi4gbGltaXQubFJld2FyZEN1cnJlbmN5Tm90UmVnaXN0ZXJlZAAZBNhgcmV3YXJkX2N1cnJlbmN5YCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBhc3NldCByZWdpc3RyeS54SW5jZW50aXZpemVkQXNzZXROb3RSZWdpc3RlcmVkABoE5GBpbmNlbnRpdml6ZWRfYXNzZXRgIGlzIG5vdCByZWdpc3RlcmVkIGluIGFzc2V0IHJlZ2lzdHJ5LkRBbW1Qb29sSWRNaXNtYXRjaAAbBPRQcm92aWRlZCBgYW1tX3Bvb2xfaWRgIGRvZXNuJ3QgbWF0Y2ggZGVwb3NpdCdzIGBhbW1fcG9vbF9pZGAuREluY29uc2lzdGVudFN0YXRlBAAZCgFYSW5jb25zaXN0ZW50U3RhdGVFcnJvcgAcCGUBQWN0aW9uIGNhbm5vdCBiZSBjb21wbGV0ZWQgYmVjYXVzZSB1bmV4cGVjdGVkIGVycm9yIGhhcyBvY2N1cnJlZC4gVGhpcyBzaG91bGQgYmUgcmVwb3J0ZWRgdG8gcHJvdG9jb2wgbWFpbnRhaW5lcnMuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Ll0LDFhwYWxsZXRfcmVsYXljaGFpbl9pbmZvGHBhbGxldBRFcnJvcgQEVAABAASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5hCwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUARAEUwAABABZAwEYVmVjPFQ+AABlCww0c3BfYXJpdGhtZXRpYyhwZXJfdGhpbmdzHFBlcmNlbnQAAAQACAEIdTgAAGkLDChwYWxsZXRfZGNhGHBhbGxldBRFcnJvcgQEVAABUEBTY2hlZHVsZU5vdEZvdW5kAAAESFNjaGVkdWxlIG5vdCBleGlzdGBNaW5UcmFkZUFtb3VudE5vdFJlYWNoZWQAAQSMVGhlIG1pbiB0cmFkZSBhbW91bnQgaXMgbm90IHJlYWNoZWQkRm9yYmlkZGVuAAIE2EZvcmJpZGRlbiBhcyB0aGUgdXNlciBpcyBub3QgdGhlIG93bmVyIG9mIHRoZSBzY2hlZHVsZWBCbG9ja051bWJlcklzTm90SW5GdXR1cmUAAwTQVGhlIG5leHQgZXhlY3V0aW9uIGJsb2NrIG51bWJlciBpcyBub3QgaW4gdGhlIGZ1dHVyZTRQcmljZVVuc3RhYmxlAAQENQFQcmljZSBpcyB1bnN0YWJsZSBhcyBwcmljZSBjaGFuZ2UgZnJvbSBvcmFjbGUgZGF0YSBpcyBiaWdnZXIgdGhhbiBtYXggYWxsb3dlZBhCdW1wZWQABQSwT3JkZXIgd2FzIHJhbmRvbWx5IHJlc2NoZWR1bGVkIHRvIG5leHQgYmxvY2tUQ2FsY3VsYXRpbmdQcmljZUVycm9yAAYElEVycm9yIG9jY3VycmVkIHdoZW4gY2FsY3VsYXRpbmcgcHJpY2WEVG90YWxBbW91bnRJc1NtYWxsZXJUaGFuTWluQnVkZ2V0AAcE6FRoZSB0b3RhbCBhbW91bnQgdG8gYmUgcmVzZXJ2ZWQgaXMgc21hbGxlciB0aGFuIG1pbiBidWRnZXQwQnVkZ2V0VG9vTG93AAgE3FRoZSBidWRnZXQgaXMgdG9vIGxvdyBmb3IgZXhlY3V0aW5nIGF0IGxlYXN0IHR3byBvcmRlcnNATm9GcmVlQmxvY2tGb3VuZAAJBMhUaGVyZSBpcyBubyBmcmVlIGJsb2NrIGZvdW5kIHRvIHBsYW4gRENBIGV4ZWN1dGlvbkhNYW51YWxseVRlcm1pbmF0ZWQACgS0VGhlIERDQSBzY2hlZHVsZSBoYXMgYmVlbiBtYW51YWxseSB0ZXJtaW5hdGVkPE1heFJldHJ5UmVhY2hlZAALBKhNYXggbnVtYmVyIG9mIHJldHJpZXMgcmVhY2hlZCBmb3Igc2NoZWR1bGVEVHJhZGVMaW1pdFJlYWNoZWQADATAQWJzb2x1dGVseSB0cmFkZSBsaW1pdCByZWFjaGVkLCBsZWFkaW5nIHRvIHJldHJ5UFNsaXBwYWdlTGltaXRSZWFjaGVkAA0ECQFTbGlwcGFnZSBsaW1pdCBjYWxjdWxhdGVkIGZyb20gb3JhY2xlIGlzIHJlYWNoZWQsIGxlYWRpbmcgdG8gcmV0cnlETm9QYXJlbnRIYXNoRm91bmQADgS4Tm8gcGFyZW50IGhhc2ggaGFzIGJlZW4gZm91bmQgZnJvbSByZWxheSBjaGFpbjBJbnZhbGlkU3RhdGUADwSFAUVycm9yIHRoYXQgc2hvdWxkIG5vdCByZWFsbHkgaGFwcGVuIG9ubHkgaW4gY2FzZSBvZiBpbnZhbGlkIHN0YXRlIG9mIHRoZSBzY2hlZHVsZSBzdG9yYWdlIGVudHJpZXM4UGVyaW9kVG9vU2hvcnQAEASUUGVyaW9kIHNob3VsZCBiZSBsb25nZXIgdGhhbiA1IGJsb2Nrc2RTdGFiaWxpdHlUaHJlc2hvbGRUb29IaWdoABEEWQFTdGFiaWxpdHkgdGhyZXNob2xkIGNhbm5vdCBiZSBoaWdoZXIgdGhhbiBgTWF4Q29uZmlndXJhYmxlUHJpY2VEaWZmZXJlbmNlQmV0d2VlbkJsb2NrYEhIYXNBY3RpdmVTY2hlZHVsZXMAEgT4VXNlciBzdGlsbCBoYXMgYWN0aXZlIERDQSBzY2hlZHVsZXMgYW5kIGNhbm5vdCB1bmxvY2sgcmVzZXJ2ZXNATm9SZXNlcnZlc0xvY2tlZAATBNxObyByZXNlcnZlcyBhcmUgbG9ja2VkIGZvciB0aGUgdXNlciBmb3IgdGhlIGdpdmVuIGFzc2V0BIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lm0LDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBcQsEUwAABAB5CwEYVmVjPFQ+AABxCwQYT3B0aW9uBARUAXULAQgQTm9uZQAAABBTb21lBAB1CwAAAQAAdQsIQHBhbGxldF9zY2hlZHVsZXIkU2NoZWR1bGVkFBBOYW1lAQQQQ2FsbAENASxCbG9ja051bWJlcgEQNFBhbGxldHNPcmlnaW4BZQEkQWNjb3VudElkAQAAFAEgbWF5YmVfaWQ1BwEwT3B0aW9uPE5hbWU+AAEgcHJpb3JpdHkIAUhzY2hlZHVsZTo6UHJpb3JpdHkAARBjYWxsDQEBEENhbGwAAThtYXliZV9wZXJpb2RpY3UDAZRPcHRpb248c2NoZWR1bGU6OlBlcmlvZDxCbG9ja051bWJlcj4+AAEYb3JpZ2luZQEBNFBhbGxldHNPcmlnaW4AAHkLAAACcQsAfQsIQHBhbGxldF9zY2hlZHVsZXIsUmV0cnlDb25maWcEGFBlcmlvZAEQAAwBNHRvdGFsX3JldHJpZXMIAQh1OAABJHJlbWFpbmluZwgBCHU4AAEYcGVyaW9kEAEYUGVyaW9kAACBCwxAcGFsbGV0X3NjaGVkdWxlchhwYWxsZXQURXJyb3IEBFQAARRARmFpbGVkVG9TY2hlZHVsZQAABGRGYWlsZWQgdG8gc2NoZWR1bGUgYSBjYWxsIE5vdEZvdW5kAAEEfENhbm5vdCBmaW5kIHRoZSBzY2hlZHVsZWQgY2FsbC5cVGFyZ2V0QmxvY2tOdW1iZXJJblBhc3QAAgSkR2l2ZW4gdGFyZ2V0IGJsb2NrIG51bWJlciBpcyBpbiB0aGUgcGFzdC5IUmVzY2hlZHVsZU5vQ2hhbmdlAAME8FJlc2NoZWR1bGUgZmFpbGVkIGJlY2F1c2UgaXQgZG9lcyBub3QgY2hhbmdlIHNjaGVkdWxlZCB0aW1lLhROYW1lZAAEBNBBdHRlbXB0IHRvIHVzZSBhIG5vbi1uYW1lZCBmdW5jdGlvbiBvbiBhIG5hbWVkIHRhc2suBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LoULAAACiQsAiQsMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IdW5pbmNsdWRlZF9zZWdtZW50IEFuY2VzdG9yBARIATQADAE4dXNlZF9iYW5kd2lkdGiNCwE0VXNlZEJhbmR3aWR0aAABOHBhcmFfaGVhZF9oYXNohQIBJE9wdGlvbjxIPgABYGNvbnN1bWVkX2dvX2FoZWFkX3NpZ25hbKELAYxPcHRpb248cmVsYXlfY2hhaW46OlVwZ3JhZGVHb0FoZWFkPgAAjQsMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IdW5pbmNsdWRlZF9zZWdtZW50NFVzZWRCYW5kd2lkdGgAAAwBNHVtcF9tc2dfY291bnQQAQx1MzIAATx1bXBfdG90YWxfYnl0ZXMQAQx1MzIAATRocm1wX291dGdvaW5nkQsBjEJUcmVlTWFwPFBhcmFJZCwgSHJtcENoYW5uZWxVcGRhdGU+AACRCwQgQlRyZWVNYXAIBEsBvQEEVgGVCwAEAJkLAAAAlQsMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IdW5pbmNsdWRlZF9zZWdtZW50REhybXBDaGFubmVsVXBkYXRlAAAIASRtc2dfY291bnQQAQx1MzIAASx0b3RhbF9ieXRlcxABDHUzMgAAmQsAAAKdCwCdCwAABAi9AZULAKELBBhPcHRpb24EBFQBpQsBCBBOb25lAAAAEFNvbWUEAKULAAABAAClCwxMcG9sa2Fkb3RfcHJpbWl0aXZlcwh2ODhVcGdyYWRlR29BaGVhZAABCBRBYm9ydAAAABxHb0FoZWFkAAEAAKkLDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtSHVuaW5jbHVkZWRfc2VnbWVudDhTZWdtZW50VHJhY2tlcgQESAE0AAwBOHVzZWRfYmFuZHdpZHRojQsBNFVzZWRCYW5kd2lkdGgAAThocm1wX3dhdGVybWFya1kBAYBPcHRpb248cmVsYXlfY2hhaW46OkJsb2NrTnVtYmVyPgABYGNvbnN1bWVkX2dvX2FoZWFkX3NpZ25hbKELAYxPcHRpb248cmVsYXlfY2hhaW46OlVwZ3JhZGVHb0FoZWFkPgAArQsEGE9wdGlvbgQEVAGxCwEIEE5vbmUAAAAQU29tZQQAsQsAAAEAALELDExwb2xrYWRvdF9wcmltaXRpdmVzCHY4SFVwZ3JhZGVSZXN0cmljdGlvbgABBBxQcmVzZW50AAAAALULDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtUHJlbGF5X3N0YXRlX3NuYXBzaG90WE1lc3NhZ2luZ1N0YXRlU25hcHNob3QAABABMGRtcV9tcWNfaGVhZDQBRHJlbGF5X2NoYWluOjpIYXNoAAGccmVsYXlfZGlzcGF0Y2hfcXVldWVfcmVtYWluaW5nX2NhcGFjaXR5uQsBjFJlbGF5RGlzcGF0Y2hRdWV1ZVJlbWFpbmluZ0NhcGFjaXR5AAFAaW5ncmVzc19jaGFubmVsc70LAYhWZWM8KFBhcmFJZCwgQWJyaWRnZWRIcm1wQ2hhbm5lbCk+AAE8ZWdyZXNzX2NoYW5uZWxzvQsBiFZlYzwoUGFyYUlkLCBBYnJpZGdlZEhybXBDaGFubmVsKT4AALkLDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtUHJlbGF5X3N0YXRlX3NuYXBzaG90jFJlbGF5RGlzcGF0Y2hRdWV1ZVJlbWFpbmluZ0NhcGFjaXR5AAAIATxyZW1haW5pbmdfY291bnQQAQx1MzIAAThyZW1haW5pbmdfc2l6ZRABDHUzMgAAvQsAAALBCwDBCwAABAi9AcULAMULDExwb2xrYWRvdF9wcmltaXRpdmVzCHY4TEFicmlkZ2VkSHJtcENoYW5uZWwAABgBMG1heF9jYXBhY2l0eRABDHUzMgABOG1heF90b3RhbF9zaXplEAEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZRABDHUzMgABJG1zZ19jb3VudBABDHUzMgABKHRvdGFsX3NpemUQAQx1MzIAASBtcWNfaGVhZIUCATBPcHRpb248SGFzaD4AAMkLDExwb2xrYWRvdF9wcmltaXRpdmVzCHY4ZEFicmlkZ2VkSG9zdENvbmZpZ3VyYXRpb24AACgBNG1heF9jb2RlX3NpemUQAQx1MzIAAUhtYXhfaGVhZF9kYXRhX3NpemUQAQx1MzIAAVhtYXhfdXB3YXJkX3F1ZXVlX2NvdW50EAEMdTMyAAFUbWF4X3Vwd2FyZF9xdWV1ZV9zaXplEAEMdTMyAAFcbWF4X3Vwd2FyZF9tZXNzYWdlX3NpemUQAQx1MzIAAZBtYXhfdXB3YXJkX21lc3NhZ2VfbnVtX3Blcl9jYW5kaWRhdGUQAQx1MzIAAYhocm1wX21heF9tZXNzYWdlX251bV9wZXJfY2FuZGlkYXRlEAEMdTMyAAFsdmFsaWRhdGlvbl91cGdyYWRlX2Nvb2xkb3duEAEsQmxvY2tOdW1iZXIAAWB2YWxpZGF0aW9uX3VwZ3JhZGVfZGVsYXkQASxCbG9ja051bWJlcgABUGFzeW5jX2JhY2tpbmdfcGFyYW1zzQsBSEFzeW5jQmFja2luZ1BhcmFtcwAAzQsQTHBvbGthZG90X3ByaW1pdGl2ZXMIdjg0YXN5bmNfYmFja2luZ0hBc3luY0JhY2tpbmdQYXJhbXMAAAgBTG1heF9jYW5kaWRhdGVfZGVwdGgQAQx1MzIAAVBhbGxvd2VkX2FuY2VzdHJ5X2xlbhABDHUzMgAA0QsIlGN1bXVsdXNfcHJpbWl0aXZlc19wYXJhY2hhaW5faW5oZXJlbnRETWVzc2FnZVF1ZXVlQ2hhaW4AAAQANAEkUmVsYXlIYXNoAADVCwQgQlRyZWVNYXAIBEsBvQEEVgHRCwAEANkLAAAA2QsAAALdCwDdCwAABAi9AdELAOELAAAC5QsA5QsIYHBvbGthZG90X2NvcmVfcHJpbWl0aXZlc0xPdXRib3VuZEhybXBNZXNzYWdlBAhJZAG9AQAIASRyZWNpcGllbnS9AQEISWQAARBkYXRhOAFMYWxsb2M6OnZlYzo6VmVjPHU4PgAA6QsMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW0YcGFsbGV0FEVycm9yBARUAAEgTE92ZXJsYXBwaW5nVXBncmFkZXMAAAQZAUF0dGVtcHQgdG8gdXBncmFkZSB2YWxpZGF0aW9uIGZ1bmN0aW9uIHdoaWxlIGV4aXN0aW5nIHVwZ3JhZGUgcGVuZGluZy5QUHJvaGliaXRlZEJ5UG9sa2Fkb3QAAQRNAVBvbGthZG90IGN1cnJlbnRseSBwcm9oaWJpdHMgdGhpcyBwYXJhY2hhaW4gZnJvbSB1cGdyYWRpbmcgaXRzIHZhbGlkYXRpb24gZnVuY3Rpb24uGFRvb0JpZwACCEUBVGhlIHN1cHBsaWVkIHZhbGlkYXRpb24gZnVuY3Rpb24gaGFzIGNvbXBpbGVkIGludG8gYSBibG9iIGxhcmdlciB0aGFuIFBvbGthZG90IGlzPHdpbGxpbmcgdG8gcnVuLmhWYWxpZGF0aW9uRGF0YU5vdEF2YWlsYWJsZQADBB0BVGhlIGluaGVyZW50IHdoaWNoIHN1cHBsaWVzIHRoZSB2YWxpZGF0aW9uIGRhdGEgZGlkIG5vdCBydW4gdGhpcyBibG9jay50SG9zdENvbmZpZ3VyYXRpb25Ob3RBdmFpbGFibGUABAQpAVRoZSBpbmhlcmVudCB3aGljaCBzdXBwbGllcyB0aGUgaG9zdCBjb25maWd1cmF0aW9uIGRpZCBub3QgcnVuIHRoaXMgYmxvY2suME5vdFNjaGVkdWxlZAAFBNhObyB2YWxpZGF0aW9uIGZ1bmN0aW9uIHVwZ3JhZGUgaXMgY3VycmVudGx5IHNjaGVkdWxlZC5ETm90aGluZ0F1dGhvcml6ZWQABgSQTm8gY29kZSB1cGdyYWRlIGhhcyBiZWVuIGF1dGhvcml6ZWQuMFVuYXV0aG9yaXplZAAHBLxUaGUgZ2l2ZW4gY29kZSB1cGdyYWRlIGhhcyBub3QgYmVlbiBhdXRob3JpemVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7tCwwocGFsbGV0X3hjbRhwYWxsZXQsUXVlcnlTdGF0dXMELEJsb2NrTnVtYmVyARABDBxQZW5kaW5nEAEkcmVzcG9uZGVyvQQBRFZlcnNpb25lZExvY2F0aW9uAAFMbWF5YmVfbWF0Y2hfcXVlcmllcvELAWRPcHRpb248VmVyc2lvbmVkTG9jYXRpb24+AAEwbWF5YmVfbm90aWZ59QsBQE9wdGlvbjwodTgsIHU4KT4AARx0aW1lb3V0EAEsQmxvY2tOdW1iZXIAAAA8VmVyc2lvbk5vdGlmaWVyCAEYb3JpZ2luvQQBRFZlcnNpb25lZExvY2F0aW9uAAEkaXNfYWN0aXZlIAEQYm9vbAABABRSZWFkeQgBIHJlc3BvbnNl/QsBRFZlcnNpb25lZFJlc3BvbnNlAAEIYXQQASxCbG9ja051bWJlcgACAADxCwQYT3B0aW9uBARUAb0EAQgQTm9uZQAAABBTb21lBAC9BAAAAQAA9QsEGE9wdGlvbgQEVAH5CwEIEE5vbmUAAAAQU29tZQQA+QsAAAEAAPkLAAAECAgIAP0LCAx4Y21EVmVyc2lvbmVkUmVzcG9uc2UAAQwIVjIEAAUFATB2Mjo6UmVzcG9uc2UAAgAIVjMEAFEFATB2Mzo6UmVzcG9uc2UAAwAIVjQEALkFATB2NDo6UmVzcG9uc2UABAAAAQwAAAQIEL0EAAUMAAAEDDAoEAAJDAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQ0MBFMAAAQAEQwBGFZlYzxUPgAADQwAAAQIvQQQABEMAAACDQwAFQwMKHBhbGxldF94Y20YcGFsbGV0VFZlcnNpb25NaWdyYXRpb25TdGFnZQABEFxNaWdyYXRlU3VwcG9ydGVkVmVyc2lvbgAAAFxNaWdyYXRlVmVyc2lvbk5vdGlmaWVycwABAFBOb3RpZnlDdXJyZW50VGFyZ2V0cwQAGQwBPE9wdGlvbjxWZWM8dTg+PgACAGhNaWdyYXRlQW5kTm90aWZ5T2xkVGFyZ2V0cwADAAAZDAQYT3B0aW9uBARUATgBCBBOb25lAAAAEFNvbWUEADgAAAEAAB0MAAAEDBAAFQYAIQwMKHBhbGxldF94Y20YcGFsbGV0aFJlbW90ZUxvY2tlZEZ1bmdpYmxlUmVjb3JkCEhDb25zdW1lcklkZW50aWZpZXIBkDBNYXhDb25zdW1lcnMAABABGGFtb3VudBgBEHUxMjgAARRvd25lcr0EAURWZXJzaW9uZWRMb2NhdGlvbgABGGxvY2tlcr0EAURWZXJzaW9uZWRMb2NhdGlvbgABJGNvbnN1bWVycyUMAdBCb3VuZGVkVmVjPChDb25zdW1lcklkZW50aWZpZXIsIHUxMjgpLCBNYXhDb25zdW1lcnM+AAAlDAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUASkMBFMAAAQALQwBGFZlYzxUPgAAKQwAAAQIkBgALQwAAAIpDAAxDAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUATUMBFMAAAQAOQwBGFZlYzxUPgAANQwAAAQIGL0EADkMAAACNQwAPQwMKHBhbGxldF94Y20YcGFsbGV0FEVycm9yBARUAAFgLFVucmVhY2hhYmxlAAAIXQFUaGUgZGVzaXJlZCBkZXN0aW5hdGlvbiB3YXMgdW5yZWFjaGFibGUsIGdlbmVyYWxseSBiZWNhdXNlIHRoZXJlIGlzIGEgbm8gd2F5IG9mIHJvdXRpbmcYdG8gaXQuLFNlbmRGYWlsdXJlAAEIQQFUaGVyZSB3YXMgc29tZSBvdGhlciBpc3N1ZSAoaS5lLiBub3QgdG8gZG8gd2l0aCByb3V0aW5nKSBpbiBzZW5kaW5nIHRoZSBtZXNzYWdlLshQZXJoYXBzIGEgbGFjayBvZiBzcGFjZSBmb3IgYnVmZmVyaW5nIHRoZSBtZXNzYWdlLiBGaWx0ZXJlZAACBJxUaGUgbWVzc2FnZSBleGVjdXRpb24gZmFpbHMgdGhlIGZpbHRlci5IVW53ZWlnaGFibGVNZXNzYWdlAAMEtFRoZSBtZXNzYWdlJ3Mgd2VpZ2h0IGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkLmBEZXN0aW5hdGlvbk5vdEludmVydGlibGUABATcVGhlIGRlc3RpbmF0aW9uIGBMb2NhdGlvbmAgcHJvdmlkZWQgY2Fubm90IGJlIGludmVydGVkLhRFbXB0eQAFBIBUaGUgYXNzZXRzIHRvIGJlIHNlbnQgYXJlIGVtcHR5LjhDYW5ub3RSZWFuY2hvcgAGBDUBQ291bGQgbm90IHJlLWFuY2hvciB0aGUgYXNzZXRzIHRvIGRlY2xhcmUgdGhlIGZlZXMgZm9yIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi40VG9vTWFueUFzc2V0cwAHBMRUb28gbWFueSBhc3NldHMgaGF2ZSBiZWVuIGF0dGVtcHRlZCBmb3IgdHJhbnNmZXIuNEludmFsaWRPcmlnaW4ACAR4T3JpZ2luIGlzIGludmFsaWQgZm9yIHNlbmRpbmcuKEJhZFZlcnNpb24ACQQhAVRoZSB2ZXJzaW9uIG9mIHRoZSBgVmVyc2lvbmVkYCB2YWx1ZSB1c2VkIGlzIG5vdCBhYmxlIHRvIGJlIGludGVycHJldGVkLixCYWRMb2NhdGlvbgAKCEEBVGhlIGdpdmVuIGxvY2F0aW9uIGNvdWxkIG5vdCBiZSB1c2VkIChlLmcuIGJlY2F1c2UgaXQgY2Fubm90IGJlIGV4cHJlc3NlZCBpbiB0aGVgZGVzaXJlZCB2ZXJzaW9uIG9mIFhDTSkuOE5vU3Vic2NyaXB0aW9uAAsEvFRoZSByZWZlcmVuY2VkIHN1YnNjcmlwdGlvbiBjb3VsZCBub3QgYmUgZm91bmQuREFscmVhZHlTdWJzY3JpYmVkAAwEEQFUaGUgbG9jYXRpb24gaXMgaW52YWxpZCBzaW5jZSBpdCBhbHJlYWR5IGhhcyBhIHN1YnNjcmlwdGlvbiBmcm9tIHVzLlhDYW5ub3RDaGVja091dFRlbGVwb3J0AA0EKQFDb3VsZCBub3QgY2hlY2stb3V0IHRoZSBhc3NldHMgZm9yIHRlbGVwb3J0YXRpb24gdG8gdGhlIGRlc3RpbmF0aW9uIGNoYWluLihMb3dCYWxhbmNlAA4EQQFUaGUgb3duZXIgZG9lcyBub3Qgb3duIChhbGwpIG9mIHRoZSBhc3NldCB0aGF0IHRoZXkgd2lzaCB0byBkbyB0aGUgb3BlcmF0aW9uIG9uLjBUb29NYW55TG9ja3MADwTAVGhlIGFzc2V0IG93bmVyIGhhcyB0b28gbWFueSBsb2NrcyBvbiB0aGUgYXNzZXQuTEFjY291bnROb3RTb3ZlcmVpZ24AEAQxAVRoZSBnaXZlbiBhY2NvdW50IGlzIG5vdCBhbiBpZGVudGlmaWFibGUgc292ZXJlaWduIGFjY291bnQgZm9yIGFueSBsb2NhdGlvbi4oRmVlc05vdE1ldAARBCkBVGhlIG9wZXJhdGlvbiByZXF1aXJlZCBmZWVzIHRvIGJlIHBhaWQgd2hpY2ggdGhlIGluaXRpYXRvciBjb3VsZCBub3QgbWVldC4wTG9ja05vdEZvdW5kABIE9EEgcmVtb3RlIGxvY2sgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBkYXRhIGNvdWxkIG5vdCBiZSBmb3VuZC4USW5Vc2UAEwRJAVRoZSB1bmxvY2sgb3BlcmF0aW9uIGNhbm5vdCBzdWNjZWVkIGJlY2F1c2UgdGhlcmUgYXJlIHN0aWxsIGNvbnN1bWVycyBvZiB0aGUgbG9jay5oSW52YWxpZEFzc2V0VW5rbm93blJlc2VydmUAFQTwSW52YWxpZCBhc3NldCwgcmVzZXJ2ZSBjaGFpbiBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZCBmb3IgaXQueEludmFsaWRBc3NldFVuc3VwcG9ydGVkUmVzZXJ2ZQAWBEUBSW52YWxpZCBhc3NldCwgZG8gbm90IHN1cHBvcnQgcmVtb3RlIGFzc2V0IHJlc2VydmVzIHdpdGggZGlmZmVyZW50IGZlZXMgcmVzZXJ2ZXMuPFRvb01hbnlSZXNlcnZlcwAXBEkBVG9vIG1hbnkgYXNzZXRzIHdpdGggZGlmZmVyZW50IHJlc2VydmUgbG9jYXRpb25zIGhhdmUgYmVlbiBhdHRlbXB0ZWQgZm9yIHRyYW5zZmVyLmBMb2NhbEV4ZWN1dGlvbkluY29tcGxldGUAGAR8TG9jYWwgWENNIGV4ZWN1dGlvbiBpbmNvbXBsZXRlLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5BDAxMYm91bmRlZF9jb2xsZWN0aW9uc0Rib3VuZGVkX2J0cmVlX3NldDxCb3VuZGVkQlRyZWVTZXQIBFQBvQEEUwAABABFDAEsQlRyZWVTZXQ8VD4AAEUMBCBCVHJlZVNldAQEVAG9AQAEAEkMAAAASQwAAAK9AQBNDAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAVEMBFMAAAQAWQwBGFZlYzxUPgAAUQwIZGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWVYT3V0Ym91bmRDaGFubmVsRGV0YWlscwAAFAEkcmVjaXBpZW50vQEBGFBhcmFJZAABFHN0YXRlVQwBNE91dGJvdW5kU3RhdGUAATRzaWduYWxzX2V4aXN0IAEQYm9vbAABLGZpcnN0X2luZGV4yAEMdTE2AAEobGFzdF9pbmRleMgBDHUxNgAAVQwIZGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWU0T3V0Ym91bmRTdGF0ZQABCAhPawAAACRTdXNwZW5kZWQAAQAAWQwAAAJRDABdDAAABAi9AcgAYQwMTGJvdW5kZWRfY29sbGVjdGlvbnNAd2Vha19ib3VuZGVkX3ZlYzhXZWFrQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AABlDAhkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZTxRdWV1ZUNvbmZpZ0RhdGEAAAwBRHN1c3BlbmRfdGhyZXNob2xkEAEMdTMyAAE4ZHJvcF90aHJlc2hvbGQQAQx1MzIAAUByZXN1bWVfdGhyZXNob2xkEAEMdTMyAABpDAxkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZRhwYWxsZXQURXJyb3IEBFQAARQ4QmFkUXVldWVDb25maWcAAAQRAVNldHRpbmcgdGhlIHF1ZXVlIGNvbmZpZyBmYWlsZWQgc2luY2Ugb25lIG9mIGl0cyB2YWx1ZXMgd2FzIGludmFsaWQuQEFscmVhZHlTdXNwZW5kZWQAAQSMVGhlIGV4ZWN1dGlvbiBpcyBhbHJlYWR5IHN1c3BlbmRlZC44QWxyZWFkeVJlc3VtZWQAAgSEVGhlIGV4ZWN1dGlvbiBpcyBhbHJlYWR5IHJlc3VtZWQudFRvb01hbnlBY3RpdmVPdXRib3VuZENoYW5uZWxzAAMEsFRoZXJlIGFyZSB0b28gbWFueSBhY3RpdmUgb3V0Ym91bmQgY2hhbm5lbHMuGFRvb0JpZwAEBFxUaGUgbWVzc2FnZSBpcyB0b28gYmlnLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5tDAhQcGFsbGV0X21lc3NhZ2VfcXVldWUkQm9va1N0YXRlBDRNZXNzYWdlT3JpZ2luASEGABgBFGJlZ2luEAEkUGFnZUluZGV4AAEMZW5kEAEkUGFnZUluZGV4AAEUY291bnQQASRQYWdlSW5kZXgAAUByZWFkeV9uZWlnaGJvdXJzcQwBhE9wdGlvbjxOZWlnaGJvdXJzPE1lc3NhZ2VPcmlnaW4+PgABNG1lc3NhZ2VfY291bnQwAQx1NjQAARBzaXplMAEMdTY0AABxDAQYT3B0aW9uBARUAXUMAQgQTm9uZQAAABBTb21lBAB1DAAAAQAAdQwIUHBhbGxldF9tZXNzYWdlX3F1ZXVlKE5laWdoYm91cnMENE1lc3NhZ2VPcmlnaW4BIQYACAEQcHJldiEGATRNZXNzYWdlT3JpZ2luAAEQbmV4dCEGATRNZXNzYWdlT3JpZ2luAAB5DAAABAghBhAAfQwIUHBhbGxldF9tZXNzYWdlX3F1ZXVlEFBhZ2UIEFNpemUBECBIZWFwU2l6ZQAAGAEkcmVtYWluaW5nEAEQU2l6ZQABOHJlbWFpbmluZ19zaXplEAEQU2l6ZQABLGZpcnN0X2luZGV4EAEQU2l6ZQABFGZpcnN0EAEQU2l6ZQABEGxhc3QQARBTaXplAAEQaGVhcIEMAZxCb3VuZGVkVmVjPHU4LCBJbnRvVTMyPEhlYXBTaXplLCBTaXplPj4AAIEMDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAhQwMUHBhbGxldF9tZXNzYWdlX3F1ZXVlGHBhbGxldBRFcnJvcgQEVAABJCxOb3RSZWFwYWJsZQAACEkBUGFnZSBpcyBub3QgcmVhcGFibGUgYmVjYXVzZSBpdCBoYXMgaXRlbXMgcmVtYWluaW5nIHRvIGJlIHByb2Nlc3NlZCBhbmQgaXMgbm90IG9sZBxlbm91Z2guGE5vUGFnZQABBIRQYWdlIHRvIGJlIHJlYXBlZCBkb2VzIG5vdCBleGlzdC4kTm9NZXNzYWdlAAIEqFRoZSByZWZlcmVuY2VkIG1lc3NhZ2UgY291bGQgbm90IGJlIGZvdW5kLkBBbHJlYWR5UHJvY2Vzc2VkAAMEAQFUaGUgbWVzc2FnZSB3YXMgYWxyZWFkeSBwcm9jZXNzZWQgYW5kIGNhbm5vdCBiZSBwcm9jZXNzZWQgYWdhaW4uGFF1ZXVlZAAEBKxUaGUgbWVzc2FnZSBpcyBxdWV1ZWQgZm9yIGZ1dHVyZSBleGVjdXRpb24uSEluc3VmZmljaWVudFdlaWdodAAFBBkBVGhlcmUgaXMgdGVtcG9yYXJpbHkgbm90IGVub3VnaCB3ZWlnaHQgdG8gY29udGludWUgc2VydmljaW5nIG1lc3NhZ2VzLmBUZW1wb3JhcmlseVVucHJvY2Vzc2FibGUABhCoVGhpcyBtZXNzYWdlIGlzIHRlbXBvcmFyaWx5IHVucHJvY2Vzc2FibGUuAFkBU3VjaCBlcnJvcnMgYXJlIGV4cGVjdGVkLCBidXQgbm90IGd1YXJhbnRlZWQsIHRvIHJlc29sdmUgdGhlbXNlbHZlcyBldmVudHVhbGx5IHRocm91Z2gkcmV0cnlpbmcuLFF1ZXVlUGF1c2VkAAcM7FRoZSBxdWV1ZSBpcyBwYXVzZWQgYW5kIG5vIG1lc3NhZ2UgY2FuIGJlIGV4ZWN1dGVkIGZyb20gaXQuAB0BVGhpcyBjYW4gY2hhbmdlIGF0IGFueSB0aW1lIGFuZCBtYXkgcmVzb2x2ZSBpbiB0aGUgZnV0dXJlIGJ5IHJlLXRyeWluZy5MUmVjdXJzaXZlRGlzYWxsb3dlZAAIBDEBQW5vdGhlciBjYWxsIGlzIGluIHByb2dyZXNzIGFuZCBuZWVkcyB0byBmaW5pc2ggYmVmb3JlIHRoaXMgY2FsbCBjYW4gaGFwcGVuLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6JDAwgb3JtbF94Y20YbW9kdWxlFEVycm9yBARUAAEMLFVucmVhY2hhYmxlAAAIDQFUaGUgbWVzc2FnZSBhbmQgZGVzdGluYXRpb24gY29tYmluYXRpb24gd2FzIG5vdCByZWNvZ25pemVkIGFzIGJlaW5nKHJlYWNoYWJsZS4sU2VuZEZhaWx1cmUAAQgFAVRoZSBtZXNzYWdlIGFuZCBkZXN0aW5hdGlvbiB3YXMgcmVjb2duaXplZCBhcyBiZWluZyByZWFjaGFibGUgYnV0lHRoZSBvcGVyYXRpb24gY291bGQgbm90IGJlIGNvbXBsZXRlZC4oQmFkVmVyc2lvbgACCOxUaGUgdmVyc2lvbiBvZiB0aGUgYFZlcnNpb25lZGAgdmFsdWUgdXNlZCBpcyBub3QgYWJsZSB0byBiZTBpbnRlcnByZXRlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQujQwMMG9ybWxfeHRva2Vucxhtb2R1bGUURXJyb3IEBFQAAVBEQXNzZXRIYXNOb1Jlc2VydmUAAAR4QXNzZXQgaGFzIG5vIHJlc2VydmUgbG9jYXRpb24uVE5vdENyb3NzQ2hhaW5UcmFuc2ZlcgABBGROb3QgY3Jvc3MtY2hhaW4gdHJhbnNmZXIuLEludmFsaWREZXN0AAIEdEludmFsaWQgdHJhbnNmZXIgZGVzdGluYXRpb24uhE5vdENyb3NzQ2hhaW5UcmFuc2ZlcmFibGVDdXJyZW5jeQADBKRDdXJyZW5jeSBpcyBub3QgY3Jvc3MtY2hhaW4gdHJhbnNmZXJhYmxlLkhVbndlaWdoYWJsZU1lc3NhZ2UABAS0VGhlIG1lc3NhZ2UncyB3ZWlnaHQgY291bGQgbm90IGJlIGRldGVybWluZWQuSFhjbUV4ZWN1dGlvbkZhaWxlZAAFBFRYQ00gZXhlY3V0aW9uIGZhaWxlZC44Q2Fubm90UmVhbmNob3IABgjoQ291bGQgbm90IHJlLWFuY2hvciB0aGUgYXNzZXRzIHRvIGRlY2xhcmUgdGhlIGZlZXMgZm9yIHRoZUhkZXN0aW5hdGlvbiBjaGFpbi48SW52YWxpZEFuY2VzdHJ5AAcExENvdWxkIG5vdCBnZXQgYW5jZXN0cnkgb2YgYXNzZXQgcmVzZXJ2ZSBsb2NhdGlvbi4wSW52YWxpZEFzc2V0AAgEVFRoZSBBc3NldCBpcyBpbnZhbGlkLmBEZXN0aW5hdGlvbk5vdEludmVydGlibGUACQTcVGhlIGRlc3RpbmF0aW9uIGBMb2NhdGlvbmAgcHJvdmlkZWQgY2Fubm90IGJlIGludmVydGVkLihCYWRWZXJzaW9uAAoI7FRoZSB2ZXJzaW9uIG9mIHRoZSBgVmVyc2lvbmVkYCB2YWx1ZSB1c2VkIGlzIG5vdCBhYmxlIHRvIGJlMGludGVycHJldGVkLnREaXN0aW5jdFJlc2VydmVGb3JBc3NldEFuZEZlZQALCPxXZSB0cmllZCBzZW5kaW5nIGRpc3RpbmN0IGFzc2V0IGFuZCBmZWUgYnV0IHRoZXkgaGF2ZSBkaWZmZXJlbnQ8cmVzZXJ2ZSBjaGFpbnMuHFplcm9GZWUADARAVGhlIGZlZSBpcyB6ZXJvLihaZXJvQW1vdW50AA0ElFRoZSB0cmFuc2ZlcmluZyBhc3NldCBhbW91bnQgaXMgemVyby5YVG9vTWFueUFzc2V0c0JlaW5nU2VudAAOBNBUaGUgbnVtYmVyIG9mIGFzc2V0cyB0byBiZSBzZW50IGlzIG92ZXIgdGhlIG1heGltdW0uVEFzc2V0SW5kZXhOb25FeGlzdGVudAAPBNhUaGUgc3BlY2lmaWVkIGluZGV4IGRvZXMgbm90IGV4aXN0IGluIGEgQXNzZXRzIHN0cnVjdC4wRmVlTm90RW5vdWdoABAESEZlZSBpcyBub3QgZW5vdWdoLlBOb3RTdXBwb3J0ZWRMb2NhdGlvbgARBFhOb3Qgc3VwcG9ydGVkIExvY2F0aW9uTE1pblhjbUZlZU5vdERlZmluZWQAEgTUTWluWGNtRmVlIG5vdCByZWdpc3RlcmVkIGZvciBjZXJ0YWluIHJlc2VydmUgbG9jYXRpb24sUmF0ZUxpbWl0ZWQAEwSkQXNzZXQgdHJhbnNmZXIgaXMgbGltaXRlZCBieSBSYXRlTGltaXRlci4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQukQwAAAQIfQF9AQCVDAAABAh9ATgAmQwMTG9ybWxfdW5rbm93bl90b2tlbnMYbW9kdWxlFEVycm9yBARUAAEMNEJhbGFuY2VUb29Mb3cAAARcVGhlIGJhbGFuY2UgaXMgdG9vIGxvdy48QmFsYW5jZU92ZXJmbG93AAEEtFRoZSBvcGVyYXRpb24gd2lsbCBjYXVzZSBiYWxhbmNlIHRvIG92ZXJmbG93LjhVbmhhbmRsZWRBc3NldAACBEBVbmhhbmRsZWQgYXNzZXQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lp0MDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBoQwEUwAABAClDAEYVmVjPFQ+AAChDAxkcGFsbGV0X2NvbGxhdG9yX3NlbGVjdGlvbhhwYWxsZXQ0Q2FuZGlkYXRlSW5mbwgkQWNjb3VudElkAQAcQmFsYW5jZQEYAAgBDHdobwABJEFjY291bnRJZAABHGRlcG9zaXQYARxCYWxhbmNlAAClDAAAAqEMAKkMDGRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uGHBhbGxldBRFcnJvcgQEVAABRERUb29NYW55Q2FuZGlkYXRlcwAABIxUaGUgcGFsbGV0IGhhcyB0b28gbWFueSBjYW5kaWRhdGVzLlxUb29GZXdFbGlnaWJsZUNvbGxhdG9ycwABBKxMZWF2aW5nIHdvdWxkIHJlc3VsdCBpbiB0b28gZmV3IGNhbmRpZGF0ZXMuQEFscmVhZHlDYW5kaWRhdGUAAgR8QWNjb3VudCBpcyBhbHJlYWR5IGEgY2FuZGlkYXRlLjBOb3RDYW5kaWRhdGUAAwRsQWNjb3VudCBpcyBub3QgYSBjYW5kaWRhdGUuUFRvb01hbnlJbnZ1bG5lcmFibGVzAAQEhFRoZXJlIGFyZSB0b28gbWFueSBJbnZ1bG5lcmFibGVzLkxBbHJlYWR5SW52dWxuZXJhYmxlAAUEjEFjY291bnQgaXMgYWxyZWFkeSBhbiBJbnZ1bG5lcmFibGUuPE5vdEludnVsbmVyYWJsZQAGBHxBY2NvdW50IGlzIG5vdCBhbiBJbnZ1bG5lcmFibGUuXE5vQXNzb2NpYXRlZFZhbGlkYXRvcklkAAcEnEFjY291bnQgaGFzIG5vIGFzc29jaWF0ZWQgdmFsaWRhdG9yIElELlhWYWxpZGF0b3JOb3RSZWdpc3RlcmVkAAgEjFZhbGlkYXRvciBJRCBpcyBub3QgeWV0IHJlZ2lzdGVyZWQubEluc2VydFRvQ2FuZGlkYXRlTGlzdEZhaWxlZAAJBJxDb3VsZCBub3QgaW5zZXJ0IGluIHRoZSBjYW5kaWRhdGUgbGlzdC50UmVtb3ZlRnJvbUNhbmRpZGF0ZUxpc3RGYWlsZWQACgSkQ291bGQgbm90IHJlbW92ZSBmcm9tIHRoZSBjYW5kaWRhdGUgbGlzdC40RGVwb3NpdFRvb0xvdwALBPROZXcgZGVwb3NpdCBhbW91bnQgd291bGQgYmUgYmVsb3cgdGhlIG1pbmltdW0gY2FuZGlkYWN5IGJvbmQuZFVwZGF0ZUNhbmRpZGF0ZUxpc3RGYWlsZWQADASQQ291bGQgbm90IHVwZGF0ZSB0aGUgY2FuZGlkYXRlIGxpc3QuQEluc3VmZmljaWVudEJvbmQADQQpAURlcG9zaXQgYW1vdW50IGlzIHRvbyBsb3cgdG8gdGFrZSB0aGUgdGFyZ2V0J3Mgc2xvdCBpbiB0aGUgY2FuZGlkYXRlIGxpc3QuUFRhcmdldElzTm90Q2FuZGlkYXRlAA4ELQFUaGUgdGFyZ2V0IGFjY291bnQgdG8gYmUgcmVwbGFjZWQgaW4gdGhlIGNhbmRpZGF0ZSBsaXN0IGlzIG5vdCBhIGNhbmRpZGF0ZS5ASWRlbnRpY2FsRGVwb3NpdAAPBA0BVGhlIHVwZGF0ZWQgZGVwb3NpdCBhbW91bnQgaXMgZXF1YWwgdG8gdGhlIGFtb3VudCBhbHJlYWR5IHJlc2VydmVkLkBJbnZhbGlkVW5yZXNlcnZlABAEPQFDYW5ub3QgbG93ZXIgY2FuZGlkYWN5IGJvbmQgd2hpbGUgb2NjdXB5aW5nIGEgZnV0dXJlIGNvbGxhdG9yIHNsb3QgaW4gdGhlIGxpc3QuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lq0MAAACsQwAsQwAAAQIAD0GALUMAAAECLkMOAC5DAwcc3BfY29yZRhjcnlwdG8kS2V5VHlwZUlkAAAEAEgBHFt1ODsgNF0AAL0MDDhwYWxsZXRfc2Vzc2lvbhhwYWxsZXQURXJyb3IEBFQAARQwSW52YWxpZFByb29mAAAEYEludmFsaWQgb3duZXJzaGlwIHByb29mLlxOb0Fzc29jaWF0ZWRWYWxpZGF0b3JJZAABBJxObyBhc3NvY2lhdGVkIHZhbGlkYXRvciBJRCBmb3IgYWNjb3VudC40RHVwbGljYXRlZEtleQACBGRSZWdpc3RlcmVkIGR1cGxpY2F0ZSBrZXkuGE5vS2V5cwADBKRObyBrZXlzIGFyZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBhY2NvdW50LiROb0FjY291bnQABAQZAUtleSBzZXR0aW5nIGFjY291bnQgaXMgbm90IGxpdmUsIHNvIGl0J3MgaW1wb3NzaWJsZSB0byBhc3NvY2lhdGUga2V5cy4EdEVycm9yIGZvciB0aGUgc2Vzc2lvbiBwYWxsZXQuwQwMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFBBgRTAAAEAMUMARhWZWM8VD4AAMUMAAACQQYAyQwISHNwX2NvbnNlbnN1c19zbG90cxBTbG90AAAEADABDHU2NAAAzQwAAAQIyQwQANEMDExib3VuZGVkX2NvbGxlY3Rpb25zRGJvdW5kZWRfYnRyZWVfbWFwPEJvdW5kZWRCVHJlZU1hcAwESwHVDARWAdkMBFMAAAQA6QwBOEJUcmVlTWFwPEssIFY+AADVDAAABAj9AU0DANkMDERwYWxsZXRfZW1hX29yYWNsZRR0eXBlcyxPcmFjbGVFbnRyeQQsQmxvY2tOdW1iZXIBEAAUARRwcmljZd0MARRQcmljZQABGHZvbHVtZeEMATxWb2x1bWU8QmFsYW5jZT4AASRsaXF1aWRpdHnlDAFITGlxdWlkaXR5PEJhbGFuY2U+AAE8c2hhcmVzX2lzc3VhbmNl4AE8T3B0aW9uPEJhbGFuY2U+AAEodXBkYXRlZF9hdBABLEJsb2NrTnVtYmVyAADdDAw0aHlkcmFfZHhfbWF0aBRyYXRpbxRSYXRpbwAACAEEbhgBEHUxMjgAAQRkGAEQdTEyOAAA4QwMOGh5ZHJhZHhfdHJhaXRzGG9yYWNsZRhWb2x1bWUEHEJhbGFuY2UBGAAQARBhX2luGAEcQmFsYW5jZQABFGJfb3V0GAEcQmFsYW5jZQABFGFfb3V0GAEcQmFsYW5jZQABEGJfaW4YARxCYWxhbmNlAADlDAw4aHlkcmFkeF90cmFpdHMYb3JhY2xlJExpcXVpZGl0eQQcQmFsYW5jZQEYAAgBBGEYARxCYWxhbmNlAAEEYhgBHEJhbGFuY2UAAOkMBCBCVHJlZU1hcAgESwHVDARWAdkMAAQA7QwAAADtDAAAAvEMAPEMAAAECNUM2QwA9QwAAAQM/QFNA7kDAPkMAAAECNkMEAD9DAxMYm91bmRlZF9jb2xsZWN0aW9uc0Rib3VuZGVkX2J0cmVlX3NldDxCb3VuZGVkQlRyZWVTZXQIBFQB1QwEUwAABAABDQEsQlRyZWVTZXQ8VD4AAAENBCBCVHJlZVNldAQEVAHVDAAEAAUNAAAABQ0AAALVDAAJDQxEcGFsbGV0X2VtYV9vcmFjbGUYcGFsbGV0FEVycm9yBARUAAEUUFRvb01hbnlVbmlxdWVFbnRyaWVzAAAAQE9uVHJhZGVWYWx1ZVplcm8AAQA4T3JhY2xlTm90Rm91bmQAAgA0QXNzZXROb3RGb3VuZAADBDxBc3NldCBub3QgZm91bmRgUHJpY2VPdXRzaWRlQWxsb3dlZFJhbmdlAAQEuFRoZSBuZXcgcHJpY2UgaXMgb3V0c2lkZSB0aGUgbWF4IGFsbG93ZWQgcmFuZ2UEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuDQ0MTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGRBwRTAAAEAI0HARhWZWM8VD4AABENDEBwYWxsZXRfYnJvYWRjYXN0GHBhbGxldBRFcnJvcgQEVAABCGhFeGVjdXRpb25DYWxsU3RhY2tPdmVyZmxvdwAABPRUaGUgZXhlY3V0aW9uIGNvbnRleHQgY2FsbCBzdGFjayBoYXMgcmVhY2hlZCBpdHMgbWF4aW11bSBzaXplbEV4ZWN1dGlvbkNhbGxTdGFja1VuZGVyZmxvdwABBA0BVGhlIGV4ZWN1dGlvbiBjb250ZXh0IGNhbGwgc3RhY2sgaXMgZW1wdHksIHVuYWJsZSB0byBkZWNyZWFzZSBsZXZlbASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4VDQAABCwZDR0NIQ0lDSkNMQ01DTkNPQ1BDUkNABkNEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9uc1RjaGVja19ub25femVyb19zZW5kZXJIQ2hlY2tOb25aZXJvU2VuZGVyBARUAAAAAB0NEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9uc0hjaGVja19zcGVjX3ZlcnNpb25AQ2hlY2tTcGVjVmVyc2lvbgQEVAAAAAAhDRAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnNAY2hlY2tfdHhfdmVyc2lvbjhDaGVja1R4VmVyc2lvbgQEVAAAAAAlDRAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnM0Y2hlY2tfZ2VuZXNpczBDaGVja0dlbmVzaXMEBFQAAAAAKQ0QMGZyYW1lX3N5c3RlbShleHRlbnNpb25zPGNoZWNrX21vcnRhbGl0eThDaGVja01vcnRhbGl0eQQEVAAABAAtDQEMRXJhAAAtDRAoc3BfcnVudGltZRxnZW5lcmljDGVyYQxFcmEAAQEEIEltbW9ydGFsAAAAHE1vcnRhbDEEAAgAAAEAHE1vcnRhbDIEAAgAAAIAHE1vcnRhbDMEAAgAAAMAHE1vcnRhbDQEAAgAAAQAHE1vcnRhbDUEAAgAAAUAHE1vcnRhbDYEAAgAAAYAHE1vcnRhbDcEAAgAAAcAHE1vcnRhbDgEAAgAAAgAHE1vcnRhbDkEAAgAAAkAIE1vcnRhbDEwBAAIAAAKACBNb3J0YWwxMQQACAAACwAgTW9ydGFsMTIEAAgAAAwAIE1vcnRhbDEzBAAIAAANACBNb3J0YWwxNAQACAAADgAgTW9ydGFsMTUEAAgAAA8AIE1vcnRhbDE2BAAIAAAQACBNb3J0YWwxNwQACAAAEQAgTW9ydGFsMTgEAAgAABIAIE1vcnRhbDE5BAAIAAATACBNb3J0YWwyMAQACAAAFAAgTW9ydGFsMjEEAAgAABUAIE1vcnRhbDIyBAAIAAAWACBNb3J0YWwyMwQACAAAFwAgTW9ydGFsMjQEAAgAABgAIE1vcnRhbDI1BAAIAAAZACBNb3J0YWwyNgQACAAAGgAgTW9ydGFsMjcEAAgAABsAIE1vcnRhbDI4BAAIAAAcACBNb3J0YWwyOQQACAAAHQAgTW9ydGFsMzAEAAgAAB4AIE1vcnRhbDMxBAAIAAAfACBNb3J0YWwzMgQACAAAIAAgTW9ydGFsMzMEAAgAACEAIE1vcnRhbDM0BAAIAAAiACBNb3J0YWwzNQQACAAAIwAgTW9ydGFsMzYEAAgAACQAIE1vcnRhbDM3BAAIAAAlACBNb3J0YWwzOAQACAAAJgAgTW9ydGFsMzkEAAgAACcAIE1vcnRhbDQwBAAIAAAoACBNb3J0YWw0MQQACAAAKQAgTW9ydGFsNDIEAAgAACoAIE1vcnRhbDQzBAAIAAArACBNb3J0YWw0NAQACAAALAAgTW9ydGFsNDUEAAgAAC0AIE1vcnRhbDQ2BAAIAAAuACBNb3J0YWw0NwQACAAALwAgTW9ydGFsNDgEAAgAADAAIE1vcnRhbDQ5BAAIAAAxACBNb3J0YWw1MAQACAAAMgAgTW9ydGFsNTEEAAgAADMAIE1vcnRhbDUyBAAIAAA0ACBNb3J0YWw1MwQACAAANQAgTW9ydGFsNTQEAAgAADYAIE1vcnRhbDU1BAAIAAA3ACBNb3J0YWw1NgQACAAAOAAgTW9ydGFsNTcEAAgAADkAIE1vcnRhbDU4BAAIAAA6ACBNb3J0YWw1OQQACAAAOwAgTW9ydGFsNjAEAAgAADwAIE1vcnRhbDYxBAAIAAA9ACBNb3J0YWw2MgQACAAAPgAgTW9ydGFsNjMEAAgAAD8AIE1vcnRhbDY0BAAIAABAACBNb3J0YWw2NQQACAAAQQAgTW9ydGFsNjYEAAgAAEIAIE1vcnRhbDY3BAAIAABDACBNb3J0YWw2OAQACAAARAAgTW9ydGFsNjkEAAgAAEUAIE1vcnRhbDcwBAAIAABGACBNb3J0YWw3MQQACAAARwAgTW9ydGFsNzIEAAgAAEgAIE1vcnRhbDczBAAIAABJACBNb3J0YWw3NAQACAAASgAgTW9ydGFsNzUEAAgAAEsAIE1vcnRhbDc2BAAIAABMACBNb3J0YWw3NwQACAAATQAgTW9ydGFsNzgEAAgAAE4AIE1vcnRhbDc5BAAIAABPACBNb3J0YWw4MAQACAAAUAAgTW9ydGFsODEEAAgAAFEAIE1vcnRhbDgyBAAIAABSACBNb3J0YWw4MwQACAAAUwAgTW9ydGFsODQEAAgAAFQAIE1vcnRhbDg1BAAIAABVACBNb3J0YWw4NgQACAAAVgAgTW9ydGFsODcEAAgAAFcAIE1vcnRhbDg4BAAIAABYACBNb3J0YWw4OQQACAAAWQAgTW9ydGFsOTAEAAgAAFoAIE1vcnRhbDkxBAAIAABbACBNb3J0YWw5MgQACAAAXAAgTW9ydGFsOTMEAAgAAF0AIE1vcnRhbDk0BAAIAABeACBNb3J0YWw5NQQACAAAXwAgTW9ydGFsOTYEAAgAAGAAIE1vcnRhbDk3BAAIAABhACBNb3J0YWw5OAQACAAAYgAgTW9ydGFsOTkEAAgAAGMAJE1vcnRhbDEwMAQACAAAZAAkTW9ydGFsMTAxBAAIAABlACRNb3J0YWwxMDIEAAgAAGYAJE1vcnRhbDEwMwQACAAAZwAkTW9ydGFsMTA0BAAIAABoACRNb3J0YWwxMDUEAAgAAGkAJE1vcnRhbDEwNgQACAAAagAkTW9ydGFsMTA3BAAIAABrACRNb3J0YWwxMDgEAAgAAGwAJE1vcnRhbDEwOQQACAAAbQAkTW9ydGFsMTEwBAAIAABuACRNb3J0YWwxMTEEAAgAAG8AJE1vcnRhbDExMgQACAAAcAAkTW9ydGFsMTEzBAAIAABxACRNb3J0YWwxMTQEAAgAAHIAJE1vcnRhbDExNQQACAAAcwAkTW9ydGFsMTE2BAAIAAB0ACRNb3J0YWwxMTcEAAgAAHUAJE1vcnRhbDExOAQACAAAdgAkTW9ydGFsMTE5BAAIAAB3ACRNb3J0YWwxMjAEAAgAAHgAJE1vcnRhbDEyMQQACAAAeQAkTW9ydGFsMTIyBAAIAAB6ACRNb3J0YWwxMjMEAAgAAHsAJE1vcnRhbDEyNAQACAAAfAAkTW9ydGFsMTI1BAAIAAB9ACRNb3J0YWwxMjYEAAgAAH4AJE1vcnRhbDEyNwQACAAAfwAkTW9ydGFsMTI4BAAIAACAACRNb3J0YWwxMjkEAAgAAIEAJE1vcnRhbDEzMAQACAAAggAkTW9ydGFsMTMxBAAIAACDACRNb3J0YWwxMzIEAAgAAIQAJE1vcnRhbDEzMwQACAAAhQAkTW9ydGFsMTM0BAAIAACGACRNb3J0YWwxMzUEAAgAAIcAJE1vcnRhbDEzNgQACAAAiAAkTW9ydGFsMTM3BAAIAACJACRNb3J0YWwxMzgEAAgAAIoAJE1vcnRhbDEzOQQACAAAiwAkTW9ydGFsMTQwBAAIAACMACRNb3J0YWwxNDEEAAgAAI0AJE1vcnRhbDE0MgQACAAAjgAkTW9ydGFsMTQzBAAIAACPACRNb3J0YWwxNDQEAAgAAJAAJE1vcnRhbDE0NQQACAAAkQAkTW9ydGFsMTQ2BAAIAACSACRNb3J0YWwxNDcEAAgAAJMAJE1vcnRhbDE0OAQACAAAlAAkTW9ydGFsMTQ5BAAIAACVACRNb3J0YWwxNTAEAAgAAJYAJE1vcnRhbDE1MQQACAAAlwAkTW9ydGFsMTUyBAAIAACYACRNb3J0YWwxNTMEAAgAAJkAJE1vcnRhbDE1NAQACAAAmgAkTW9ydGFsMTU1BAAIAACbACRNb3J0YWwxNTYEAAgAAJwAJE1vcnRhbDE1NwQACAAAnQAkTW9ydGFsMTU4BAAIAACeACRNb3J0YWwxNTkEAAgAAJ8AJE1vcnRhbDE2MAQACAAAoAAkTW9ydGFsMTYxBAAIAAChACRNb3J0YWwxNjIEAAgAAKIAJE1vcnRhbDE2MwQACAAAowAkTW9ydGFsMTY0BAAIAACkACRNb3J0YWwxNjUEAAgAAKUAJE1vcnRhbDE2NgQACAAApgAkTW9ydGFsMTY3BAAIAACnACRNb3J0YWwxNjgEAAgAAKgAJE1vcnRhbDE2OQQACAAAqQAkTW9ydGFsMTcwBAAIAACqACRNb3J0YWwxNzEEAAgAAKsAJE1vcnRhbDE3MgQACAAArAAkTW9ydGFsMTczBAAIAACtACRNb3J0YWwxNzQEAAgAAK4AJE1vcnRhbDE3NQQACAAArwAkTW9ydGFsMTc2BAAIAACwACRNb3J0YWwxNzcEAAgAALEAJE1vcnRhbDE3OAQACAAAsgAkTW9ydGFsMTc5BAAIAACzACRNb3J0YWwxODAEAAgAALQAJE1vcnRhbDE4MQQACAAAtQAkTW9ydGFsMTgyBAAIAAC2ACRNb3J0YWwxODMEAAgAALcAJE1vcnRhbDE4NAQACAAAuAAkTW9ydGFsMTg1BAAIAAC5ACRNb3J0YWwxODYEAAgAALoAJE1vcnRhbDE4NwQACAAAuwAkTW9ydGFsMTg4BAAIAAC8ACRNb3J0YWwxODkEAAgAAL0AJE1vcnRhbDE5MAQACAAAvgAkTW9ydGFsMTkxBAAIAAC/ACRNb3J0YWwxOTIEAAgAAMAAJE1vcnRhbDE5MwQACAAAwQAkTW9ydGFsMTk0BAAIAADCACRNb3J0YWwxOTUEAAgAAMMAJE1vcnRhbDE5NgQACAAAxAAkTW9ydGFsMTk3BAAIAADFACRNb3J0YWwxOTgEAAgAAMYAJE1vcnRhbDE5OQQACAAAxwAkTW9ydGFsMjAwBAAIAADIACRNb3J0YWwyMDEEAAgAAMkAJE1vcnRhbDIwMgQACAAAygAkTW9ydGFsMjAzBAAIAADLACRNb3J0YWwyMDQEAAgAAMwAJE1vcnRhbDIwNQQACAAAzQAkTW9ydGFsMjA2BAAIAADOACRNb3J0YWwyMDcEAAgAAM8AJE1vcnRhbDIwOAQACAAA0AAkTW9ydGFsMjA5BAAIAADRACRNb3J0YWwyMTAEAAgAANIAJE1vcnRhbDIxMQQACAAA0wAkTW9ydGFsMjEyBAAIAADUACRNb3J0YWwyMTMEAAgAANUAJE1vcnRhbDIxNAQACAAA1gAkTW9ydGFsMjE1BAAIAADXACRNb3J0YWwyMTYEAAgAANgAJE1vcnRhbDIxNwQACAAA2QAkTW9ydGFsMjE4BAAIAADaACRNb3J0YWwyMTkEAAgAANsAJE1vcnRhbDIyMAQACAAA3AAkTW9ydGFsMjIxBAAIAADdACRNb3J0YWwyMjIEAAgAAN4AJE1vcnRhbDIyMwQACAAA3wAkTW9ydGFsMjI0BAAIAADgACRNb3J0YWwyMjUEAAgAAOEAJE1vcnRhbDIyNgQACAAA4gAkTW9ydGFsMjI3BAAIAADjACRNb3J0YWwyMjgEAAgAAOQAJE1vcnRhbDIyOQQACAAA5QAkTW9ydGFsMjMwBAAIAADmACRNb3J0YWwyMzEEAAgAAOcAJE1vcnRhbDIzMgQACAAA6AAkTW9ydGFsMjMzBAAIAADpACRNb3J0YWwyMzQEAAgAAOoAJE1vcnRhbDIzNQQACAAA6wAkTW9ydGFsMjM2BAAIAADsACRNb3J0YWwyMzcEAAgAAO0AJE1vcnRhbDIzOAQACAAA7gAkTW9ydGFsMjM5BAAIAADvACRNb3J0YWwyNDAEAAgAAPAAJE1vcnRhbDI0MQQACAAA8QAkTW9ydGFsMjQyBAAIAADyACRNb3J0YWwyNDMEAAgAAPMAJE1vcnRhbDI0NAQACAAA9AAkTW9ydGFsMjQ1BAAIAAD1ACRNb3J0YWwyNDYEAAgAAPYAJE1vcnRhbDI0NwQACAAA9wAkTW9ydGFsMjQ4BAAIAAD4ACRNb3J0YWwyNDkEAAgAAPkAJE1vcnRhbDI1MAQACAAA+gAkTW9ydGFsMjUxBAAIAAD7ACRNb3J0YWwyNTIEAAgAAPwAJE1vcnRhbDI1MwQACAAA/QAkTW9ydGFsMjU0BAAIAAD+ACRNb3J0YWwyNTUEAAgAAP8AADENEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9ucyxjaGVja19ub25jZShDaGVja05vbmNlBARUAAAEAFUBASBUOjpOb25jZQAANQ0QMGZyYW1lX3N5c3RlbShleHRlbnNpb25zMGNoZWNrX3dlaWdodCxDaGVja1dlaWdodAQEVAAAAAA5DQhocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnRgQ2hhcmdlVHJhbnNhY3Rpb25QYXltZW50BARUAAAEAC0BATBCYWxhbmNlT2Y8VD4AAD0NCDRwYWxsZXRfY2xhaW1zNFZhbGlkYXRlQ2xhaW0EBFQAAAAAQQ0IdGZyYW1lX21ldGFkYXRhX2hhc2hfZXh0ZW5zaW9uRENoZWNrTWV0YWRhdGFIYXNoBARUAAAEARBtb2RlRQ0BEE1vZGUAAEUNCHRmcmFtZV9tZXRhZGF0YV9oYXNoX2V4dGVuc2lvbhBNb2RlAAEIIERpc2FibGVkAAAAHEVuYWJsZWQAAQAASQ0IpGN1bXVsdXNfcHJpbWl0aXZlc19zdG9yYWdlX3dlaWdodF9yZWNsYWltUFN0b3JhZ2VXZWlnaHRSZWNsYWltBARUAAAAAE0NCDxoeWRyYWR4X3J1bnRpbWUcUnVudGltZQAAAABRDRAoc3BfcnVudGltZRxnZW5lcmljFGJsb2NrFEJsb2NrCBhIZWFkZXIBVQ0kRXh0cmluc2ljAVkNAAgBGGhlYWRlclUNARhIZWFkZXIAAShleHRyaW5zaWNzYQ0BOFZlYzxFeHRyaW5zaWM+AABVDRAoc3BfcnVudGltZRxnZW5lcmljGGhlYWRlchhIZWFkZXIIGE51bWJlcgEQEEhhc2gAABQBLHBhcmVudF9oYXNoNAEwSGFzaDo6T3V0cHV0AAEYbnVtYmVyVQEBGE51bWJlcgABKHN0YXRlX3Jvb3Q0ATBIYXNoOjpPdXRwdXQAATxleHRyaW5zaWNzX3Jvb3Q0ATBIYXNoOjpPdXRwdXQAARhkaWdlc3Q8ARhEaWdlc3QAAFkNDERmcF9zZWxmX2NvbnRhaW5lZEx1bmNoZWNrZWRfZXh0cmluc2ljSFVuY2hlY2tlZEV4dHJpbnNpYxAcQWRkcmVzcwEAEENhbGwBEQEkU2lnbmF0dXJlAXECFEV4dHJhARUNAAQAXQ0BJQFzcF9ydW50aW1lOjpnZW5lcmljOjpVbmNoZWNrZWRFeHRyaW5zaWM8QWRkcmVzcywgQ2FsbCwgU2lnbmF0dXJlLCBFeHRyYQo+AABdDRAoc3BfcnVudGltZRxnZW5lcmljTHVuY2hlY2tlZF9leHRyaW5zaWNIVW5jaGVja2VkRXh0cmluc2ljEBxBZGRyZXNzAQAQQ2FsbAERASRTaWduYXR1cmUBcQIURXh0cmEBFQ0ABAA4AAAAYQ0AAAJZDQBlDQgoc3BfcnVudGltZVhFeHRyaW5zaWNJbmNsdXNpb25Nb2RlAAEINEFsbEV4dHJpbnNpY3MAAAA0T25seUluaGVyZW50cwABAABpDQgcc3BfY29yZThPcGFxdWVNZXRhZGF0YQAABAA4ARxWZWM8dTg+AABtDQQYT3B0aW9uBARUAWkNAQgQTm9uZQAAABBTb21lBABpDQAAAQAAcQ0EGFJlc3VsdAgEVAGYBEUBdQ0BCAhPawQAmAAAAAAMRXJyBAB1DQAAAQAAdQ0MKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlgVHJhbnNhY3Rpb25WYWxpZGl0eUVycm9yAAEIHEludmFsaWQEAHkNAUhJbnZhbGlkVHJhbnNhY3Rpb24AAAAcVW5rbm93bgQAfQ0BSFVua25vd25UcmFuc2FjdGlvbgABAAB5DQwoc3BfcnVudGltZVB0cmFuc2FjdGlvbl92YWxpZGl0eUhJbnZhbGlkVHJhbnNhY3Rpb24AASwQQ2FsbAAAABxQYXltZW50AAEAGEZ1dHVyZQACABRTdGFsZQADACBCYWRQcm9vZgAEAERBbmNpZW50QmlydGhCbG9jawAFAERFeGhhdXN0c1Jlc291cmNlcwAGABhDdXN0b20EAAgBCHU4AAcAMEJhZE1hbmRhdG9yeQAIAExNYW5kYXRvcnlWYWxpZGF0aW9uAAkAJEJhZFNpZ25lcgAKAAB9DQwoc3BfcnVudGltZVB0cmFuc2FjdGlvbl92YWxpZGl0eUhVbmtub3duVHJhbnNhY3Rpb24AAQwwQ2Fubm90TG9va3VwAAAATE5vVW5zaWduZWRWYWxpZGF0b3IAAQAYQ3VzdG9tBAAIAQh1OAACAACBDQgwc3BfaW5oZXJlbnRzMEluaGVyZW50RGF0YQAABAEQZGF0YYUNAZRCVHJlZU1hcDxJbmhlcmVudElkZW50aWZpZXIsIFZlYzx1OD4+AACFDQQgQlRyZWVNYXAIBEsB/QEEVgE4AAQAiQ0AAACJDQAAAo0NAI0NAAAECP0BOACRDQgwc3BfaW5oZXJlbnRzUENoZWNrSW5oZXJlbnRzUmVzdWx0AAAMARBva2F5IAEQYm9vbAABLGZhdGFsX2Vycm9yIAEQYm9vbAABGGVycm9yc4ENATBJbmhlcmVudERhdGEAAJUNDChzcF9ydW50aW1lUHRyYW5zYWN0aW9uX3ZhbGlkaXR5RFRyYW5zYWN0aW9uU291cmNlAAEMHEluQmxvY2sAAAAUTG9jYWwAAQAgRXh0ZXJuYWwAAgAAmQ0EGFJlc3VsdAgEVAGdDQRFAXUNAQgIT2sEAJ0NAAAAAAxFcnIEAHUNAAABAACdDQwoc3BfcnVudGltZVB0cmFuc2FjdGlvbl92YWxpZGl0eUBWYWxpZFRyYW5zYWN0aW9uAAAUASBwcmlvcml0eTABTFRyYW5zYWN0aW9uUHJpb3JpdHkAASByZXF1aXJlcyEBAUxWZWM8VHJhbnNhY3Rpb25UYWc+AAEgcHJvdmlkZXMhAQFMVmVjPFRyYW5zYWN0aW9uVGFnPgABJGxvbmdldml0eTABUFRyYW5zYWN0aW9uTG9uZ2V2aXR5AAEkcHJvcGFnYXRlIAEQYm9vbAAAoQ0EGE9wdGlvbgQEVAGlDQEIEE5vbmUAAAAQU29tZQQApQ0AAAEAAKUNAAACqQ0AqQ0AAAQIOLkMAK0NCEhzcF9jb25zZW5zdXNfc2xvdHMwU2xvdER1cmF0aW9uAAAEADABDHU2NAAAsQ0IXGN1bXVsdXNfcHJpbWl0aXZlc19jb3JlNENvbGxhdGlvbkluZm8AABgBPHVwd2FyZF9tZXNzYWdlcyEBAUhWZWM8VXB3YXJkTWVzc2FnZT4AAUxob3Jpem9udGFsX21lc3NhZ2Vz4QsBYFZlYzxPdXRib3VuZEhybXBNZXNzYWdlPgABTG5ld192YWxpZGF0aW9uX2NvZGW1DQGMT3B0aW9uPHJlbGF5X2NoYWluOjpWYWxpZGF0aW9uQ29kZT4AAWxwcm9jZXNzZWRfZG93bndhcmRfbWVzc2FnZXMQAQx1MzIAAThocm1wX3dhdGVybWFyaxABYHJlbGF5X2NoYWluOjpCbG9ja051bWJlcgABJGhlYWRfZGF0YY0EASBIZWFkRGF0YQAAtQ0EGE9wdGlvbgQEVAG5DQEIEE5vbmUAAAAQU29tZQQAuQ0AAAEAALkNDHRwb2xrYWRvdF9wYXJhY2hhaW5fcHJpbWl0aXZlcyhwcmltaXRpdmVzOFZhbGlkYXRpb25Db2RlAAAEADgBHFZlYzx1OD4AAL0NCIRwYWxsZXRfY3VycmVuY2llc19ycGNfcnVudGltZV9hcGksQWNjb3VudERhdGEEHEJhbGFuY2UBGAAMARBmcmVlGAEcQmFsYW5jZQABIHJlc2VydmVkGAEcQmFsYW5jZQABGGZyb3plbhgBHEJhbGFuY2UAAMENAAACxQ0AxQ0AAAQIEL0NAMkNDGhwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudBR0eXBlc0xSdW50aW1lRGlzcGF0Y2hJbmZvCBxCYWxhbmNlARgYV2VpZ2h0ASgADAEYd2VpZ2h0KAEYV2VpZ2h0AAEUY2xhc3NgATREaXNwYXRjaENsYXNzAAEscGFydGlhbF9mZWUYARxCYWxhbmNlAADNDQxocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQUdHlwZXMoRmVlRGV0YWlscwQcQmFsYW5jZQEYAAgBNGluY2x1c2lvbl9mZWXRDQF0T3B0aW9uPEluY2x1c2lvbkZlZTxCYWxhbmNlPj4AAQx0aXAYARxCYWxhbmNlAADRDQQYT3B0aW9uBARUAdUNAQgQTm9uZQAAABBTb21lBADVDQAAAQAA1Q0MaHBhbGxldF90cmFuc2FjdGlvbl9wYXltZW50FHR5cGVzMEluY2x1c2lvbkZlZQQcQmFsYW5jZQEYAAwBIGJhc2VfZmVlGAEcQmFsYW5jZQABHGxlbl9mZWUYARxCYWxhbmNlAAFMYWRqdXN0ZWRfd2VpZ2h0X2ZlZRgBHEJhbGFuY2UAANkNDAxldm0cYmFja2VuZBRCYXNpYwAACAEcYmFsYW5jZUkBARBVMjU2AAEUbm9uY2VJAQEQVTI1NgAA3Q0EGE9wdGlvbgQEVAElBAEIEE5vbmUAAAAQU29tZQQAJQQAAAEAAOENBBhSZXN1bHQIBFQB5Q0ERQFoAQgIT2sEAOUNAAAAAAxFcnIEAGgAAAEAAOUNCBhmcF9ldm08RXhlY3V0aW9uSW5mb1YyBARUATgAFAEsZXhpdF9yZWFzb279BgEoRXhpdFJlYXNvbgABFHZhbHVlOAEEVAABIHVzZWRfZ2Fz6Q0BHFVzZWRHYXMAASx3ZWlnaHRfaW5mb+0NAUhPcHRpb248V2VpZ2h0SW5mbz4AARBsb2dzAQsBIFZlYzxMb2c+AADpDQgYZnBfZXZtHFVzZWRHYXMAAAgBIHN0YW5kYXJkSQEBEFUyNTYAASRlZmZlY3RpdmVJAQEQVTI1NgAA7Q0EGE9wdGlvbgQEVAHxDQEIEE5vbmUAAAAQU29tZQQA8Q0AAAEAAPENCBhmcF9ldm0oV2VpZ2h0SW5mbwAAEAE4cmVmX3RpbWVfbGltaXT1DQEsT3B0aW9uPHU2ND4AAUBwcm9vZl9zaXplX2xpbWl09Q0BLE9wdGlvbjx1NjQ+AAE4cmVmX3RpbWVfdXNhZ2X1DQEsT3B0aW9uPHU2ND4AAUBwcm9vZl9zaXplX3VzYWdl9Q0BLE9wdGlvbjx1NjQ+AAD1DQQYT3B0aW9uBARUATABCBBOb25lAAAAEFNvbWUEADAAAAEAAPkNBBhSZXN1bHQIBFQB/Q0ERQFoAQgIT2sEAP0NAAAAAAxFcnIEAGgAAAEAAP0NCBhmcF9ldm08RXhlY3V0aW9uSW5mb1YyBARUAUEBABQBLGV4aXRfcmVhc29u/QYBKEV4aXRSZWFzb24AARR2YWx1ZUEBAQRUAAEgdXNlZF9nYXPpDQEcVXNlZEdhcwABLHdlaWdodF9pbmZv7Q0BSE9wdGlvbjxXZWlnaHRJbmZvPgABEGxvZ3MBCwEgVmVjPExvZz4AAAEOBBhPcHRpb24EBFQBFQsBCBBOb25lAAAAEFNvbWUEABULAAABAAAFDgQYT3B0aW9uBARUASkLAQgQTm9uZQAAABBTb21lBAApCwAAAQAACQ4EGE9wdGlvbgQEVAEtCwEIEE5vbmUAAAAQU29tZQQALQsAAAEAAA0OAAAEDAEOBQ4JDgARDgAABAgBDgkOABUOBBhSZXN1bHQIBFQBGQ4ERQEdDgEICE9rBAAZDgAAAAAMRXJyBAAdDgAAAQAAGQ4AAAIVBgAdDgxAeGNtX3J1bnRpbWVfYXBpcxBmZWVzFEVycm9yAAEYNFVuaW1wbGVtZW50ZWQAAABkVmVyc2lvbmVkQ29udmVyc2lvbkZhaWxlZAABAExXZWlnaHROb3RDb21wdXRhYmxlAAIATFVuaGFuZGxlZFhjbVZlcnNpb24AAwA0QXNzZXROb3RGb3VuZAAEAChVbnJvdXRhYmxlAAUAACEOBBhSZXN1bHQIBFQBKARFAR0OAQgIT2sEACgAAAAADEVycgQAHQ4AAAEAACUOBBhSZXN1bHQIBFQBGARFAR0OAQgIT2sEABgAAAAADEVycgQAHQ4AAAEAACkOBBhSZXN1bHQIBFQB4QUERQEdDgEICE9rBADhBQAAAAAMRXJyBAAdDgAAAQAALQ4EGFJlc3VsdAgEVAExDgRFAUkOAQgIT2sEADEOAAAAAAxFcnIEAEkOAAABAAAxDgxAeGNtX3J1bnRpbWVfYXBpcxxkcnlfcnVuRENhbGxEcnlSdW5FZmZlY3RzBBRFdmVudAFUABABQGV4ZWN1dGlvbl9yZXN1bHRdBgFoRGlzcGF0Y2hSZXN1bHRXaXRoUG9zdEluZm8AAThlbWl0dGVkX2V2ZW50czUOAShWZWM8RXZlbnQ+AAEkbG9jYWxfeGNtOQ4BYE9wdGlvbjxWZXJzaW9uZWRYY208KCk+PgABOGZvcndhcmRlZF94Y21zPQ4BvFZlYzwoVmVyc2lvbmVkTG9jYXRpb24sIFZlYzxWZXJzaW9uZWRYY208KCk+Pik+AAA1DgAAAlQAOQ4EGE9wdGlvbgQEVAHdBAEIEE5vbmUAAAAQU29tZQQA3QQAAAEAAD0OAAACQQ4AQQ4AAAQIvQRFDgBFDgAAAt0EAEkODEB4Y21fcnVudGltZV9hcGlzHGRyeV9ydW4URXJyb3IAAQg0VW5pbXBsZW1lbnRlZAAAAGRWZXJzaW9uZWRDb252ZXJzaW9uRmFpbGVkAAEAAE0OBBhSZXN1bHQIBFQBUQ4ERQFJDgEICE9rBABRDgAAAAAMRXJyBABJDgAAAQAAUQ4MQHhjbV9ydW50aW1lX2FwaXMcZHJ5X3J1bkBYY21EcnlSdW5FZmZlY3RzBBRFdmVudAFUAAwBQGV4ZWN1dGlvbl9yZXN1bHRBBwEcT3V0Y29tZQABOGVtaXR0ZWRfZXZlbnRzNQ4BKFZlYzxFdmVudD4AAThmb3J3YXJkZWRfeGNtcz0OAbxWZWM8KFZlcnNpb25lZExvY2F0aW9uLCBWZWM8VmVyc2lvbmVkWGNtPCgpPj4pPgAAVQ4EGFJlc3VsdAgEVAEABEUBWQ4BCAhPawQAAAAAAAAMRXJyBABZDgAAAQAAWQ4MQHhjbV9ydW50aW1lX2FwaXMsY29udmVyc2lvbnMURXJyb3IAAQgsVW5zdXBwb3J0ZWQAAABkVmVyc2lvbmVkQ29udmVyc2lvbkZhaWxlZAABAABdDgQYT3B0aW9uBARUAWEOAQgQTm9uZQAAABBTb21lBABhDgAAAQAAYQ4AAAQQEBC5A/0BAGUOEDxoeWRyYWR4X3J1bnRpbWUMZXZtTGFhdmVfdHJhZGVfZXhlY3V0b3IgUG9vbERhdGEEHEJhbGFuY2UBGAAQARxyZXNlcnZlEAEcQXNzZXRJZAABGGF0b2tlbhABHEFzc2V0SWQAASxsaXF1ZGl0eV9pbhgBHEJhbGFuY2UAATBsaXF1ZGl0eV9vdXQYARxCYWxhbmNlAABpDgAAAmUOAG0OBBhSZXN1bHQIBFQBkARFAREHAQgIT2sEAJAAAAAADEVycgQAEQcAAAEAAHEOBBhPcHRpb24EBFQBEQcBCBBOb25lAAAAEFNvbWUEABEHAAABAAB1DgAAAhEHAHkOCDxoeWRyYWR4X3J1bnRpbWUwUnVudGltZUVycm9yAAHwGFN5c3RlbQQAyQcBcGZyYW1lX3N5c3RlbTo6RXJyb3I8UnVudGltZT4AAQAgQmFsYW5jZXMEAA0IAXxwYWxsZXRfYmFsYW5jZXM6OkVycm9yPFJ1bnRpbWU+AAcAXE11bHRpVHJhbnNhY3Rpb25QYXltZW50BAAVCAHAcGFsbGV0X3RyYW5zYWN0aW9uX211bHRpX3BheW1lbnQ6OkVycm9yPFJ1bnRpbWU+AMsAIFRyZWFzdXJ5BAAtCAF8cGFsbGV0X3RyZWFzdXJ5OjpFcnJvcjxSdW50aW1lPgALABxVdGlsaXR5BAAxCAF4cGFsbGV0X3V0aWxpdHk6OkVycm9yPFJ1bnRpbWU+AA0AIFByZWltYWdlBABZCAF8cGFsbGV0X3ByZWltYWdlOjpFcnJvcjxSdW50aW1lPgAPACBJZGVudGl0eQQAmQgBfHBhbGxldF9pZGVudGl0eTo6RXJyb3I8UnVudGltZT4AEQAkRGVtb2NyYWN5BADdCAGAcGFsbGV0X2RlbW9jcmFjeTo6RXJyb3I8UnVudGltZT4AEwBIVGVjaG5pY2FsQ29tbWl0dGVlBADpCAH8cGFsbGV0X2NvbGxlY3RpdmU6OkVycm9yPFJ1bnRpbWUsIHBhbGxldF9jb2xsZWN0aXZlOjpJbnN0YW5jZTI+ABkAFFByb3h5BAANCQFwcGFsbGV0X3Byb3h5OjpFcnJvcjxSdW50aW1lPgAdACBNdWx0aXNpZwQAHQkBfHBhbGxldF9tdWx0aXNpZzo6RXJyb3I8UnVudGltZT4AHwAcVW5pcXVlcwQAQQkBeHBhbGxldF91bmlxdWVzOjpFcnJvcjxSdW50aW1lPgAgAEhTdGF0ZVRyaWVNaWdyYXRpb24EAPgBrHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbjo6RXJyb3I8UnVudGltZT4AIwBAQ29udmljdGlvblZvdGluZwQAdQkBoHBhbGxldF9jb252aWN0aW9uX3ZvdGluZzo6RXJyb3I8UnVudGltZT4AJAAkUmVmZXJlbmRhBAC1CQGAcGFsbGV0X3JlZmVyZW5kYTo6RXJyb3I8UnVudGltZT4AJQAkV2hpdGVsaXN0BAC5CQGAcGFsbGV0X3doaXRlbGlzdDo6RXJyb3I8UnVudGltZT4AJwAoRGlzcGF0Y2hlcgQAvQkBhHBhbGxldF9kaXNwYXRjaGVyOjpFcnJvcjxSdW50aW1lPgAoADRBc3NldFJlZ2lzdHJ5BADFCQGUcGFsbGV0X2Fzc2V0X3JlZ2lzdHJ5OjpFcnJvcjxSdW50aW1lPgAzABhDbGFpbXMEAMkJAXRwYWxsZXRfY2xhaW1zOjpFcnJvcjxSdW50aW1lPgA1ADxDb2xsYXRvclJld2FyZHMEANUJAZxwYWxsZXRfY29sbGF0b3JfcmV3YXJkczo6RXJyb3I8UnVudGltZT4AOQAgT21uaXBvb2wEAOEJAXxwYWxsZXRfb21uaXBvb2w6OkVycm9yPFJ1bnRpbWU+ADsAQFRyYW5zYWN0aW9uUGF1c2UEAO0JAaBwYWxsZXRfdHJhbnNhY3Rpb25fcGF1c2U6OkVycm9yPFJ1bnRpbWU+ADwAGER1c3RlcgQA8QkBdHBhbGxldF9kdXN0ZXI6OkVycm9yPFJ1bnRpbWU+AD0ATE9tbmlwb29sV2FyZWhvdXNlTE0EABUKAUkBd2FyZWhvdXNlX2xpcXVpZGl0eV9taW5pbmc6OkVycm9yPFJ1bnRpbWUsIHdhcmVob3VzZV9saXF1aWRpdHlfbWluaW5nOjoKSW5zdGFuY2UxPgA+AFxPbW5pcG9vbExpcXVpZGl0eU1pbmluZwQAHQoBwHBhbGxldF9vbW5pcG9vbF9saXF1aWRpdHlfbWluaW5nOjpFcnJvcjxSdW50aW1lPgA/AAxPVEMEACkKAWhwYWxsZXRfb3RjOjpFcnJvcjxSdW50aW1lPgBAADhDaXJjdWl0QnJlYWtlcgQAOQoBmHBhbGxldF9jaXJjdWl0X2JyZWFrZXI6OkVycm9yPFJ1bnRpbWU+AEEAGFJvdXRlcgQAPQoBlHBhbGxldF9yb3V0ZV9leGVjdXRvcjo6RXJyb3I8UnVudGltZT4AQwAsRHluYW1pY0ZlZXMEAEUKAYxwYWxsZXRfZHluYW1pY19mZWVzOjpFcnJvcjxSdW50aW1lPgBEABxTdGFraW5nBABpCgF4cGFsbGV0X3N0YWtpbmc6OkVycm9yPFJ1bnRpbWU+AEUAKFN0YWJsZXN3YXAEAIkKAYRwYWxsZXRfc3RhYmxlc3dhcDo6RXJyb3I8UnVudGltZT4ARgAUQm9uZHMEAJEKAXBwYWxsZXRfYm9uZHM6OkVycm9yPFJ1bnRpbWU+AEcAOE90Y1NldHRsZW1lbnRzBACVCgGYcGFsbGV0X290Y19zZXR0bGVtZW50czo6RXJyb3I8UnVudGltZT4ASAAMTEJQBACZCgFocGFsbGV0X2xicDo6RXJyb3I8UnVudGltZT4ASQAMWFlLBACdCgFocGFsbGV0X3h5azo6RXJyb3I8UnVudGltZT4ASgAkUmVmZXJyYWxzBACtCgGAcGFsbGV0X3JlZmVycmFsczo6RXJyb3I8UnVudGltZT4ASwAsTGlxdWlkYXRpb24EALEKAYhwYWxsZXRfbGlxdWlkYXRpb246OkVycm9yPFJ1bnRpbWU+AEwADEhTTQQAuQoBaHBhbGxldF9oc206OkVycm9yPFJ1bnRpbWU+AFIAGFRva2VucwQA2QoBbG9ybWxfdG9rZW5zOjpFcnJvcjxSdW50aW1lPgBNAChDdXJyZW5jaWVzBADdCgGEcGFsbGV0X2N1cnJlbmNpZXM6OkVycm9yPFJ1bnRpbWU+AE8AHFZlc3RpbmcEAOUKAXBvcm1sX3Zlc3Rpbmc6OkVycm9yPFJ1bnRpbWU+AFEADEVWTQQA8QoBaHBhbGxldF9ldm06OkVycm9yPFJ1bnRpbWU+AFoAIEV0aGVyZXVtBAAxCwF8cGFsbGV0X2V0aGVyZXVtOjpFcnJvcjxSdW50aW1lPgBcACxFVk1BY2NvdW50cwQANQsBjHBhbGxldF9ldm1fYWNjb3VudHM6OkVycm9yPFJ1bnRpbWU+AF0ASFhZS0xpcXVpZGl0eU1pbmluZwQAOQsBrHBhbGxldF94eWtfbGlxdWlkaXR5X21pbmluZzo6RXJyb3I8UnVudGltZT4AXwA4WFlLV2FyZWhvdXNlTE0EAFkLAUkBd2FyZWhvdXNlX2xpcXVpZGl0eV9taW5pbmc6OkVycm9yPFJ1bnRpbWUsIHdhcmVob3VzZV9saXF1aWRpdHlfbWluaW5nOjoKSW5zdGFuY2UyPgBgADhSZWxheUNoYWluSW5mbwQAXQsBmHBhbGxldF9yZWxheWNoYWluX2luZm86OkVycm9yPFJ1bnRpbWU+AMkADERDQQQAaQsBaHBhbGxldF9kY2E6OkVycm9yPFJ1bnRpbWU+AEIAJFNjaGVkdWxlcgQAgQsBgHBhbGxldF9zY2hlZHVsZXI6OkVycm9yPFJ1bnRpbWU+AAUAPFBhcmFjaGFpblN5c3RlbQQA6QsBvGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW06OkVycm9yPFJ1bnRpbWU+AGcALFBvbGthZG90WGNtBAA9DAFocGFsbGV0X3hjbTo6RXJyb3I8UnVudGltZT4AawAkWGNtcFF1ZXVlBABpDAGkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZTo6RXJyb3I8UnVudGltZT4AbwAwTWVzc2FnZVF1ZXVlBACFDAGQcGFsbGV0X21lc3NhZ2VfcXVldWU6OkVycm9yPFJ1bnRpbWU+AHIAHE9ybWxYY20EAIkMAWBvcm1sX3hjbTo6RXJyb3I8UnVudGltZT4AhwAcWFRva2VucwQAjQwBcG9ybWxfeHRva2Vuczo6RXJyb3I8UnVudGltZT4AiQA0VW5rbm93blRva2VucwQAmQwBjG9ybWxfdW5rbm93bl90b2tlbnM6OkVycm9yPFJ1bnRpbWU+AIsARENvbGxhdG9yU2VsZWN0aW9uBACpDAGkcGFsbGV0X2NvbGxhdG9yX3NlbGVjdGlvbjo6RXJyb3I8UnVudGltZT4AowAcU2Vzc2lvbgQAvQwBeHBhbGxldF9zZXNzaW9uOjpFcnJvcjxSdW50aW1lPgClACRFbWFPcmFjbGUEAAkNAYRwYWxsZXRfZW1hX29yYWNsZTo6RXJyb3I8UnVudGltZT4AygAkQnJvYWRjYXN0BAARDQGAcGFsbGV0X2Jyb2FkY2FzdDo6RXJyb3I8UnVudGltZT4AzAAAIQEYU3lzdGVtARhTeXN0ZW1IHEFjY291bnQBAQQCAAxBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACABOggVGhlIGZ1bGwgYWNjb3VudCBpbmZvcm1hdGlvbiBmb3IgYSBwYXJ0aWN1bGFyIGFjY291bnQgSUQuOEV4dHJpbnNpY0NvdW50AAAQBAAEuCBUb3RhbCBleHRyaW5zaWNzIGNvdW50IGZvciB0aGUgY3VycmVudCBibG9jay5ASW5oZXJlbnRzQXBwbGllZAEAIAQABKQgV2hldGhlciBhbGwgaW5oZXJlbnRzIGhhdmUgYmVlbiBhcHBsaWVkLixCbG9ja1dlaWdodAEAJBgAAAAAAAAEiCBUaGUgY3VycmVudCB3ZWlnaHQgZm9yIHRoZSBibG9jay5AQWxsRXh0cmluc2ljc0xlbgAAEAQABEEBIFRvdGFsIGxlbmd0aCAoaW4gYnl0ZXMpIGZvciBhbGwgZXh0cmluc2ljcyBwdXQgdG9nZXRoZXIsIGZvciB0aGUgY3VycmVudCBibG9jay4kQmxvY2tIYXNoAQEEBRA0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJggTWFwIG9mIGJsb2NrIG51bWJlcnMgdG8gYmxvY2sgaGFzaGVzLjRFeHRyaW5zaWNEYXRhAQEEBRA4BAAEPQEgRXh0cmluc2ljcyBkYXRhIGZvciB0aGUgY3VycmVudCBibG9jayAobWFwcyBhbiBleHRyaW5zaWMncyBpbmRleCB0byBpdHMgZGF0YSkuGE51bWJlcgEAEBAAAAAABAkBIFRoZSBjdXJyZW50IGJsb2NrIG51bWJlciBiZWluZyBwcm9jZXNzZWQuIFNldCBieSBgZXhlY3V0ZV9ibG9ja2AuKFBhcmVudEhhc2gBADSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEcCBIYXNoIG9mIHRoZSBwcmV2aW91cyBibG9jay4YRGlnZXN0AQA8BAAE8CBEaWdlc3Qgb2YgdGhlIGN1cnJlbnQgYmxvY2ssIGFsc28gcGFydCBvZiB0aGUgYmxvY2sgaGVhZGVyLhhFdmVudHMBAEwEABygIEV2ZW50cyBkZXBvc2l0ZWQgZm9yIHRoZSBjdXJyZW50IGJsb2NrLgAdASBOT1RFOiBUaGUgaXRlbSBpcyB1bmJvdW5kIGFuZCBzaG91bGQgdGhlcmVmb3JlIG5ldmVyIGJlIHJlYWQgb24gY2hhaW4u0CBJdCBjb3VsZCBvdGhlcndpc2UgaW5mbGF0ZSB0aGUgUG9WIHNpemUgb2YgYSBibG9jay4ALQEgRXZlbnRzIGhhdmUgYSBsYXJnZSBpbi1tZW1vcnkgc2l6ZS4gQm94IHRoZSBldmVudHMgdG8gbm90IGdvIG91dC1vZi1tZW1vcnn8IGp1c3QgaW4gY2FzZSBzb21lb25lIHN0aWxsIHJlYWRzIHRoZW0gZnJvbSB3aXRoaW4gdGhlIHJ1bnRpbWUuKEV2ZW50Q291bnQBABAQAAAAAAS4IFRoZSBudW1iZXIgb2YgZXZlbnRzIGluIHRoZSBgRXZlbnRzPFQ+YCBsaXN0LixFdmVudFRvcGljcwEBBAI0UQMEACglASBNYXBwaW5nIGJldHdlZW4gYSB0b3BpYyAocmVwcmVzZW50ZWQgYnkgVDo6SGFzaCkgYW5kIGEgdmVjdG9yIG9mIGluZGV4ZXOUIG9mIGV2ZW50cyBpbiB0aGUgYDxFdmVudHM8VD4+YCBsaXN0LgBRASBBbGwgdG9waWMgdmVjdG9ycyBoYXZlIGRldGVybWluaXN0aWMgc3RvcmFnZSBsb2NhdGlvbnMgZGVwZW5kaW5nIG9uIHRoZSB0b3BpYy4gVGhpc0UBIGFsbG93cyBsaWdodC1jbGllbnRzIHRvIGxldmVyYWdlIHRoZSBjaGFuZ2VzIHRyaWUgc3RvcmFnZSB0cmFja2luZyBtZWNoYW5pc20gYW5k5CBpbiBjYXNlIG9mIGNoYW5nZXMgZmV0Y2ggdGhlIGxpc3Qgb2YgZXZlbnRzIG9mIGludGVyZXN0LgBZASBUaGUgdmFsdWUgaGFzIHRoZSB0eXBlIGAoQmxvY2tOdW1iZXJGb3I8VD4sIEV2ZW50SW5kZXgpYCBiZWNhdXNlIGlmIHdlIHVzZWQgb25seSBqdXN0TQEgdGhlIGBFdmVudEluZGV4YCB0aGVuIGluIGNhc2UgaWYgdGhlIHRvcGljIGhhcyB0aGUgc2FtZSBjb250ZW50cyBvbiB0aGUgbmV4dCBibG9jawEBIG5vIG5vdGlmaWNhdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCB0aHVzIHRoZSBldmVudCBtaWdodCBiZSBsb3N0LkhMYXN0UnVudGltZVVwZ3JhZGUAAJkHBAAEVQEgU3RvcmVzIHRoZSBgc3BlY192ZXJzaW9uYCBhbmQgYHNwZWNfbmFtZWAgb2Ygd2hlbiB0aGUgbGFzdCBydW50aW1lIHVwZ3JhZGUgaGFwcGVuZWQuVFVwZ3JhZGVkVG9VMzJSZWZDb3VudAEAIAQABE0BIFRydWUgaWYgd2UgaGF2ZSB1cGdyYWRlZCBzbyB0aGF0IGB0eXBlIFJlZkNvdW50YCBpcyBgdTMyYC4gRmFsc2UgKGRlZmF1bHQpIGlmIG5vdC5gVXBncmFkZWRUb1RyaXBsZVJlZkNvdW50AQAgBAAIXQEgVHJ1ZSBpZiB3ZSBoYXZlIHVwZ3JhZGVkIHNvIHRoYXQgQWNjb3VudEluZm8gY29udGFpbnMgdGhyZWUgdHlwZXMgb2YgYFJlZkNvdW50YC4gRmFsc2VIIChkZWZhdWx0KSBpZiBub3QuOEV4ZWN1dGlvblBoYXNlAACVBwQABIggVGhlIGV4ZWN1dGlvbiBwaGFzZSBvZiB0aGUgYmxvY2suREF1dGhvcml6ZWRVcGdyYWRlAACdBwQABLggYFNvbWVgIGlmIGEgY29kZSB1cGdyYWRlIGhhcyBiZWVuIGF1dGhvcml6ZWQuARUBAVgYMEJsb2NrV2VpZ2h0c6EHmQFiTRhsAAsAIEqp0QECAEABAxBNhF/psAEL8NY3O1EBGk/nAAELAJj3Pl0BAgDwAAEAAAMQTYRf6bABC/BeiqXFARpPNwEBCwAgSqnRAQIAQAEBBwCIUmp0AgBQAAMQTYRf6bAAAAAE0CBCbG9jayAmIGV4dHJpbnNpY3Mgd2VpZ2h0czogYmFzZSB2YWx1ZXMgYW5kIGxpbWl0cy4sQmxvY2tMZW5ndGitBzAAADwAAABQAAAAUAAEqCBUaGUgbWF4aW11bSBsZW5ndGggb2YgYSBibG9jayAoaW4gYnl0ZXMpLjhCbG9ja0hhc2hDb3VudBAQYAkAAARVASBNYXhpbXVtIG51bWJlciBvZiBibG9jayBudW1iZXIgdG8gYmxvY2sgaGFzaCBtYXBwaW5ncyB0byBrZWVwIChvbGRlc3QgcHJ1bmVkIGZpcnN0KS4gRGJXZWlnaHS1B0BAeH0BAAAAAADh9QUAAAAABAkBIFRoZSB3ZWlnaHQgb2YgcnVudGltZSBkYXRhYmFzZSBvcGVyYXRpb25zIHRoZSBydW50aW1lIGNhbiBpbnZva2UuHFZlcnNpb265B6kEHGh5ZHJhZHgcaHlkcmFkeAEAAABbAQAAAAAAAFjfastomQdgmwUAAAA345f8fJH15AIAAABA/jrUAfiVmgYAAADSvJiX7tCPFQMAAAD3iyeL5T9FTAIAAACrPAVyKR/riwEAAADdcY1cxTJi1AEAAADqk+Pxbz1pYgIAAACa+GdRtwwRLQEAAAC8nYmQT1uSPwEAAAA3yLsTUKmiqAQAAABYIhH2W7FLiQUAAADmWwDkbO3QqgIAAAALtnpS/NBA/wEAAABUIzT+T9fK2gEAAABv9S7oWObFvQEAAADXvdiicsoNZQEAAACRscixYyjrkgEAAACf+1BapzjWnAEAAAArX1vNJGDk8AEAAACisrSE/LhpQwEAAAD7xXe510fv1gEAAAABAAAAAQSEIEdldCB0aGUgY2hhaW4ncyBpbi1jb2RlIHZlcnNpb24uKFNTNThQcmVmaXjICAAAFKggVGhlIGRlc2lnbmF0ZWQgU1M1OCBwcmVmaXggb2YgdGhpcyBjaGFpbi4AOQEgVGhpcyByZXBsYWNlcyB0aGUgInNzNThGb3JtYXQiIHByb3BlcnR5IGRlY2xhcmVkIGluIHRoZSBjaGFpbiBzcGVjLiBSZWFzb24gaXMxASB0aGF0IHRoZSBydW50aW1lIHNob3VsZCBrbm93IGFib3V0IHRoZSBwcmVmaXggaW4gb3JkZXIgdG8gbWFrZSB1c2Ugb2YgaXQgYXNwIGFuIGlkZW50aWZpZXIgb2YgdGhlIGNoYWluLgHJBwEAJFRpbWVzdGFtcAEkVGltZXN0YW1wCAxOb3cBADAgAAAAAAAAAAAEoCBUaGUgY3VycmVudCB0aW1lIGZvciB0aGUgY3VycmVudCBibG9jay4kRGlkVXBkYXRlAQAgBAAQ2CBXaGV0aGVyIHRoZSB0aW1lc3RhbXAgaGFzIGJlZW4gdXBkYXRlZCBpbiB0aGlzIGJsb2NrLgBVASBUaGlzIHZhbHVlIGlzIHVwZGF0ZWQgdG8gYHRydWVgIHVwb24gc3VjY2Vzc2Z1bCBzdWJtaXNzaW9uIG9mIGEgdGltZXN0YW1wIGJ5IGEgbm9kZS5FASBJdCBpcyB0aGVuIGNoZWNrZWQgYXQgdGhlIGVuZCBvZiBlYWNoIGJsb2NrIGV4ZWN1dGlvbiBpbiB0aGUgYG9uX2ZpbmFsaXplYCBob29rLgElAQAENE1pbmltdW1QZXJpb2QwILgLAAAAAAAAGIwgVGhlIG1pbmltdW0gcGVyaW9kIGJldHdlZW4gYmxvY2tzLgBNASBCZSBhd2FyZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IHRvIHRoZSAqZXhwZWN0ZWQqIHBlcmlvZCB0aGF0IHRoZSBibG9jayBwcm9kdWN0aW9uSQEgYXBwYXJhdHVzIHByb3ZpZGVzLiBZb3VyIGNob3NlbiBjb25zZW5zdXMgc3lzdGVtIHdpbGwgZ2VuZXJhbGx5IHdvcmsgd2l0aCB0aGlzIHRvYQEgZGV0ZXJtaW5lIGEgc2Vuc2libGUgYmxvY2sgdGltZS4gRm9yIGV4YW1wbGUsIGluIHRoZSBBdXJhIHBhbGxldCBpdCB3aWxsIGJlIGRvdWJsZSB0aGlzcCBwZXJpb2Qgb24gZGVmYXVsdCBzZXR0aW5ncy4AAwAgQmFsYW5jZXMBIEJhbGFuY2VzHDRUb3RhbElzc3VhbmNlAQAYQAAAAAAAAAAAAAAAAAAAAAAEmCBUaGUgdG90YWwgdW5pdHMgaXNzdWVkIGluIHRoZSBzeXN0ZW0uQEluYWN0aXZlSXNzdWFuY2UBABhAAAAAAAAAAAAAAAAAAAAAAAQJASBUaGUgdG90YWwgdW5pdHMgb2Ygb3V0c3RhbmRpbmcgZGVhY3RpdmF0ZWQgYmFsYW5jZSBpbiB0aGUgc3lzdGVtLhxBY2NvdW50AQEEAgAUAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAYAkBIFRoZSBCYWxhbmNlcyBwYWxsZXQgZXhhbXBsZSBvZiBzdG9yaW5nIHRoZSBiYWxhbmNlIG9mIGFuIGFjY291bnQuACggIyBFeGFtcGxlADQgYGBgbm9jb21waWxlsCAgaW1wbCBwYWxsZXRfYmFsYW5jZXM6OkNvbmZpZyBmb3IgUnVudGltZSB7GQIgICAgdHlwZSBBY2NvdW50U3RvcmUgPSBTdG9yYWdlTWFwU2hpbTxTZWxmOjpBY2NvdW50PFJ1bnRpbWU+LCBmcmFtZV9zeXN0ZW06OlByb3ZpZGVyPFJ1bnRpbWU+LCBBY2NvdW50SWQsIFNlbGY6OkFjY291bnREYXRhPEJhbGFuY2U+PgwgIH0QIGBgYAAVASBZb3UgY2FuIGFsc28gc3RvcmUgdGhlIGJhbGFuY2Ugb2YgYW4gYWNjb3VudCBpbiB0aGUgYFN5c3RlbWAgcGFsbGV0LgAoICMgRXhhbXBsZQA0IGBgYG5vY29tcGlsZbAgIGltcGwgcGFsbGV0X2JhbGFuY2VzOjpDb25maWcgZm9yIFJ1bnRpbWUge3QgICB0eXBlIEFjY291bnRTdG9yZSA9IFN5c3RlbQwgIH0QIGBgYABRASBCdXQgdGhpcyBjb21lcyB3aXRoIHRyYWRlb2Zmcywgc3RvcmluZyBhY2NvdW50IGJhbGFuY2VzIGluIHRoZSBzeXN0ZW0gcGFsbGV0IHN0b3Jlc20BIGBmcmFtZV9zeXN0ZW1gIGRhdGEgYWxvbmdzaWRlIHRoZSBhY2NvdW50IGRhdGEgY29udHJhcnkgdG8gc3RvcmluZyBhY2NvdW50IGJhbGFuY2VzIGluIHRoZSkBIGBCYWxhbmNlc2AgcGFsbGV0LCB3aGljaCB1c2VzIGEgYFN0b3JhZ2VNYXBgIHRvIHN0b3JlIGJhbGFuY2VzIGRhdGEgb25seS5BASBOT1RFOiBUaGlzIGlzIG9ubHkgdXNlZCBpbiB0aGUgY2FzZSB0aGF0IHRoaXMgcGFsbGV0IGlzIHVzZWQgdG8gc3RvcmUgYmFsYW5jZXMuFExvY2tzAQEEAgDNBwQAELggQW55IGxpcXVpZGl0eSBsb2NrcyBvbiBzb21lIGFjY291bnQgYmFsYW5jZXMuJQEgTk9URTogU2hvdWxkIG9ubHkgYmUgYWNjZXNzZWQgd2hlbiBzZXR0aW5nLCBjaGFuZ2luZyBhbmQgZnJlZWluZyBhIGxvY2suAK0BIFVzZSBvZiBsb2NrcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBmcmVlemVzLiBTZWUgYGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9wdWxsLzEyOTUxL2AgUmVzZXJ2ZXMBAQQCAN0HBAAMpCBOYW1lZCByZXNlcnZlcyBvbiBzb21lIGFjY291bnQgYmFsYW5jZXMuALEBIFVzZSBvZiByZXNlcnZlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBob2xkcy4gU2VlIGBodHRwczovL2dpdGh1Yi5jb20vcGFyaXR5dGVjaC9zdWJzdHJhdGUvcHVsbC8xMjk1MS9gFEhvbGRzAQEEAgDpBwQABGwgSG9sZHMgb24gYWNjb3VudCBiYWxhbmNlcy4cRnJlZXplcwEBBAIAAQgEAASIIEZyZWV6ZSBsb2NrcyBvbiBhY2NvdW50IGJhbGFuY2VzLgEpAQF8EEhFeGlzdGVudGlhbERlcG9zaXQYQAAQpdToAAAAAAAAAAAAAAAgQQEgVGhlIG1pbmltdW0gYW1vdW50IHJlcXVpcmVkIHRvIGtlZXAgYW4gYWNjb3VudCBvcGVuLiBNVVNUIEJFIEdSRUFURVIgVEhBTiBaRVJPIQBZASBJZiB5b3UgKnJlYWxseSogbmVlZCBpdCB0byBiZSB6ZXJvLCB5b3UgY2FuIGVuYWJsZSB0aGUgZmVhdHVyZSBgaW5zZWN1cmVfemVyb19lZGAgZm9yYQEgdGhpcyBwYWxsZXQuIEhvd2V2ZXIsIHlvdSBkbyBzbyBhdCB5b3VyIG93biByaXNrOiB0aGlzIHdpbGwgb3BlbiB1cCBhIG1ham9yIERvUyB2ZWN0b3IuWQEgSW4gY2FzZSB5b3UgaGF2ZSBtdWx0aXBsZSBzb3VyY2VzIG9mIHByb3ZpZGVyIHJlZmVyZW5jZXMsIHlvdSBtYXkgYWxzbyBnZXQgdW5leHBlY3RlZIwgYmVoYXZpb3VyIGlmIHlvdSBzZXQgdGhpcyB0byB6ZXJvLgDwIEJvdHRvbSBsaW5lOiBEbyB5b3Vyc2VsZiBhIGZhdm91ciBhbmQgbWFrZSBpdCBhdCBsZWFzdCBvbmUhIE1heExvY2tzEBAyAAAAEPQgVGhlIG1heGltdW0gbnVtYmVyIG9mIGxvY2tzIHRoYXQgc2hvdWxkIGV4aXN0IG9uIGFuIGFjY291bnQu3CBOb3Qgc3RyaWN0bHkgZW5mb3JjZWQsIGJ1dCB1c2VkIGZvciB3ZWlnaHQgZXN0aW1hdGlvbi4ArQEgVXNlIG9mIGxvY2tzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGZyZWV6ZXMuIFNlZSBgaHR0cHM6Ly9naXRodWIuY29tL3Bhcml0eXRlY2gvc3Vic3RyYXRlL3B1bGwvMTI5NTEvYCxNYXhSZXNlcnZlcxAQMgAAAAwNASBUaGUgbWF4aW11bSBudW1iZXIgb2YgbmFtZWQgcmVzZXJ2ZXMgdGhhdCBjYW4gZXhpc3Qgb24gYW4gYWNjb3VudC4AsQEgVXNlIG9mIHJlc2VydmVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGhvbGRzLiBTZWUgYGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9wdWxsLzEyOTUxL2AoTWF4RnJlZXplcxAQAAAAAARhASBUaGUgbWF4aW11bSBudW1iZXIgb2YgaW5kaXZpZHVhbCBmcmVlemUgbG9ja3MgdGhhdCBjYW4gZXhpc3Qgb24gYW4gYWNjb3VudCBhdCBhbnkgdGltZS4BDQgHAEhUcmFuc2FjdGlvblBheW1lbnQBSFRyYW5zYWN0aW9uUGF5bWVudAhETmV4dEZlZU11bHRpcGxpZXIBAD0BQAAAZKeztuANAAAAAAAAAAAAOFN0b3JhZ2VWZXJzaW9uAQARCAQAAAABhARgT3BlcmF0aW9uYWxGZWVNdWx0aXBsaWVyCAQAVFkBIEEgZmVlIG11bHRpcGxpZXIgZm9yIGBPcGVyYXRpb25hbGAgZXh0cmluc2ljcyB0byBjb21wdXRlICJ2aXJ0dWFsIHRpcCIgdG8gYm9vc3QgdGhlaXIsIGBwcmlvcml0eWAAUQEgVGhpcyB2YWx1ZSBpcyBtdWx0aXBsaWVkIGJ5IHRoZSBgZmluYWxfZmVlYCB0byBvYnRhaW4gYSAidmlydHVhbCB0aXAiIHRoYXQgaXMgbGF0ZXL0IGFkZGVkIHRvIGEgdGlwIGNvbXBvbmVudCBpbiByZWd1bGFyIGBwcmlvcml0eWAgY2FsY3VsYXRpb25zLk0BIEl0IG1lYW5zIHRoYXQgYSBgTm9ybWFsYCB0cmFuc2FjdGlvbiBjYW4gZnJvbnQtcnVuIGEgc2ltaWxhcmx5LXNpemVkIGBPcGVyYXRpb25hbGBBASBleHRyaW5zaWMgKHdpdGggbm8gdGlwKSwgYnkgaW5jbHVkaW5nIGEgdGlwIHZhbHVlIGdyZWF0ZXIgdGhhbiB0aGUgdmlydHVhbCB0aXAuADwgYGBgcnVzdCxpZ25vcmVAIC8vIEZvciBgTm9ybWFsYIwgbGV0IHByaW9yaXR5ID0gcHJpb3JpdHlfY2FsYyh0aXApOwBUIC8vIEZvciBgT3BlcmF0aW9uYWxgEQEgbGV0IHZpcnR1YWxfdGlwID0gKGluY2x1c2lvbl9mZWUgKyB0aXApICogT3BlcmF0aW9uYWxGZWVNdWx0aXBsaWVyO8QgbGV0IHByaW9yaXR5ID0gcHJpb3JpdHlfY2FsYyh0aXAgKyB2aXJ0dWFsX3RpcCk7ECBgYGAAUQEgTm90ZSB0aGF0IHNpbmNlIHdlIHVzZSBgZmluYWxfZmVlYCB0aGUgbXVsdGlwbGllciBhcHBsaWVzIGFsc28gdG8gdGhlIHJlZ3VsYXIgYHRpcGBdASBzZW50IHdpdGggdGhlIHRyYW5zYWN0aW9uLiBTbywgbm90IG9ubHkgZG9lcyB0aGUgdHJhbnNhY3Rpb24gZ2V0IGEgcHJpb3JpdHkgYnVtcCBiYXNlZGEBIG9uIHRoZSBgaW5jbHVzaW9uX2ZlZWAsIGJ1dCB3ZSBhbHNvIGFtcGxpZnkgdGhlIGltcGFjdCBvZiB0aXBzIGFwcGxpZWQgdG8gYE9wZXJhdGlvbmFsYDggdHJhbnNhY3Rpb25zLgAJAFxNdWx0aVRyYW5zYWN0aW9uUGF5bWVudAFcTXVsdGlUcmFuc2FjdGlvblBheW1lbnQQSEFjY291bnRDdXJyZW5jeU1hcAABBAIAEAQABFQgQWNjb3VudCBjdXJyZW5jeSBtYXBIQWNjZXB0ZWRDdXJyZW5jaWVzAAEEBRA9AQQABGUBIEN1cmF0ZWQgbGlzdCBvZiBjdXJyZW5jaWVzIHdoaWNoIGZlZXMgY2FuIGJlIHBhaWQgbWFwcGVkIHRvIGNvcnJlc3BvbmRpbmcgZmFsbGJhY2sgcHJpY2VUQWNjZXB0ZWRDdXJyZW5jeVByaWNlAAEEBRA9AQQABCECIEFzc2V0IHByaWNlcyBmcm9tIHRoZSBzcG90IHByaWNlIHByb3ZpZGVyIG9yIHRoZSBmYWxsYmFjayBwcmljZSBpZiB0aGUgcHJpY2UgaXMgbm90IGF2YWlsYWJsZS4gVXBkYXRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGV2ZXJ5IGJsb2NrLmxUcmFuc2FjdGlvbkN1cnJlbmN5T3ZlcnJpZGUAAQQFABAEAAABOQEBiAw0TmF0aXZlQXNzZXRJZBAQAAAAAAQ0IE5hdGl2ZSBBc3NldFRQb2xrYWRvdE5hdGl2ZUFzc2V0SWQQEAUAAAAEcCBQb2xrYWRvdCBOYXRpdmUgQXNzZXQgKERPVCkoRXZtQXNzZXRJZBAQFAAAAAQoIEVWTSBBc3NldAEVCMsAIFRyZWFzdXJ5ASBUcmVhc3VyeRg0UHJvcG9zYWxDb3VudAEAEBAAAAAABKQgTnVtYmVyIG9mIHByb3Bvc2FscyB0aGF0IGhhdmUgYmVlbiBtYWRlLiRQcm9wb3NhbHMAAQQFEBkIBAAEfCBQcm9wb3NhbHMgdGhhdCBoYXZlIGJlZW4gbWFkZS4sRGVhY3RpdmF0ZWQBABhAAAAAAAAAAAAAAAAAAAAAAATwIFRoZSBhbW91bnQgd2hpY2ggaGFzIGJlZW4gcmVwb3J0ZWQgYXMgaW5hY3RpdmUgdG8gQ3VycmVuY3kuJEFwcHJvdmFscwEAHQgEAAT4IFByb3Bvc2FsIGluZGljZXMgdGhhdCBoYXZlIGJlZW4gYXBwcm92ZWQgYnV0IG5vdCB5ZXQgYXdhcmRlZC4oU3BlbmRDb3VudAEAEBAAAAAABKQgVGhlIGNvdW50IG9mIHNwZW5kcyB0aGF0IGhhdmUgYmVlbiBtYWRlLhhTcGVuZHMAAQQFECEIBAAE0CBTcGVuZHMgdGhhdCBoYXZlIGJlZW4gYXBwcm92ZWQgYW5kIGJlaW5nIHByb2Nlc3NlZC4BUQEBjBQsU3BlbmRQZXJpb2QQEEA4AAAEiCBQZXJpb2QgYmV0d2VlbiBzdWNjZXNzaXZlIHNwZW5kcy4QQnVybiEDEAAAAAAEEQEgUGVyY2VudGFnZSBvZiBzcGFyZSBmdW5kcyAoaWYgYW55KSB0aGF0IGFyZSBidXJudCBwZXIgc3BlbmQgcGVyaW9kLiBQYWxsZXRJZCkIIHB5L3Ryc3J5BBkBIFRoZSB0cmVhc3VyeSdzIHBhbGxldCBpZCwgdXNlZCBmb3IgZGVyaXZpbmcgaXRzIHNvdmVyZWlnbiBhY2NvdW50IElELjBNYXhBcHByb3ZhbHMQEGQAAAAMFQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIGFwcHJvdmFscyB0aGF0IGNhbiB3YWl0IGluIHRoZSBzcGVuZGluZyBxdWV1ZS4ATQEgTk9URTogVGhpcyBwYXJhbWV0ZXIgaXMgYWxzbyB1c2VkIHdpdGhpbiB0aGUgQm91bnRpZXMgUGFsbGV0IGV4dGVuc2lvbiBpZiBlbmFibGVkLjBQYXlvdXRQZXJpb2QQEICXBgAEGQEgVGhlIHBlcmlvZCBkdXJpbmcgd2hpY2ggYW4gYXBwcm92ZWQgdHJlYXN1cnkgc3BlbmQgaGFzIHRvIGJlIGNsYWltZWQuAS0ICwAcVXRpbGl0eQABXQEBlARMYmF0Y2hlZF9jYWxsc19saW1pdBAQqioAAASoIFRoZSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIGJhdGNoZWQgY2FsbHMuATEIDQAgUHJlaW1hZ2UBIFByZWltYWdlDCRTdGF0dXNGb3IAAQQGNDUIBAAEkCBUaGUgcmVxdWVzdCBzdGF0dXMgb2YgYSBnaXZlbiBoYXNoLkBSZXF1ZXN0U3RhdHVzRm9yAAEEBjRBCAQABJAgVGhlIHJlcXVlc3Qgc3RhdHVzIG9mIGEgZ2l2ZW4gaGFzaC4sUHJlaW1hZ2VGb3IAAQQGUQhVCAQAAAHFAQGcAAFZCA8AIElkZW50aXR5ASBJZGVudGl0eRwoSWRlbnRpdHlPZgABBAUAXQgEABBpASBJbmZvcm1hdGlvbiB0aGF0IGlzIHBlcnRpbmVudCB0byBpZGVudGlmeSB0aGUgZW50aXR5IGJlaGluZCBhbiBhY2NvdW50LiBGaXJzdCBpdGVtIGlzIHRoZeAgcmVnaXN0cmF0aW9uLCBzZWNvbmQgaXMgdGhlIGFjY291bnQncyBwcmltYXJ5IHVzZXJuYW1lLgDAIFRXT1gtTk9URTogT0sg4oCVIGBBY2NvdW50SWRgIGlzIGEgc2VjdXJlIGhhc2guHFN1cGVyT2YAAQQCAGUCBAAIYQEgVGhlIHN1cGVyLWlkZW50aXR5IG9mIGFuIGFsdGVybmF0aXZlICJzdWIiIGlkZW50aXR5IHRvZ2V0aGVyIHdpdGggaXRzIG5hbWUsIHdpdGhpbiB0aGF0UQEgY29udGV4dC4gSWYgdGhlIGFjY291bnQgaXMgbm90IHNvbWUgb3RoZXIgYWNjb3VudCdzIHN1Yi1pZGVudGl0eSwgdGhlbiBqdXN0IGBOb25lYC4YU3Vic09mAQEEBQB1CEQAAAAAAAAAAAAAAAAAAAAAABS4IEFsdGVybmF0aXZlICJzdWIiIGlkZW50aXRpZXMgb2YgdGhpcyBhY2NvdW50LgAdASBUaGUgZmlyc3QgaXRlbSBpcyB0aGUgZGVwb3NpdCwgdGhlIHNlY29uZCBpcyBhIHZlY3RvciBvZiB0aGUgYWNjb3VudHMuAMAgVFdPWC1OT1RFOiBPSyDigJUgYEFjY291bnRJZGAgaXMgYSBzZWN1cmUgaGFzaC4oUmVnaXN0cmFycwEAfQgEABBNASBUaGUgc2V0IG9mIHJlZ2lzdHJhcnMuIE5vdCBleHBlY3RlZCB0byBnZXQgdmVyeSBiaWcgYXMgY2FuIG9ubHkgYmUgYWRkZWQgdGhyb3VnaCBhqCBzcGVjaWFsIG9yaWdpbiAobGlrZWx5IGEgY291bmNpbCBtb3Rpb24pLgApASBUaGUgaW5kZXggaW50byB0aGlzIGNhbiBiZSBjYXN0IHRvIGBSZWdpc3RyYXJJbmRleGAgdG8gZ2V0IGEgdmFsaWQgdmFsdWUuTFVzZXJuYW1lQXV0aG9yaXRpZXMAAQQFAI0IBAAE9CBBIG1hcCBvZiB0aGUgYWNjb3VudHMgd2hvIGFyZSBhdXRob3JpemVkIHRvIGdyYW50IHVzZXJuYW1lcy5EQWNjb3VudE9mVXNlcm5hbWUAAQQCpAAEABRtASBSZXZlcnNlIGxvb2t1cCBmcm9tIGB1c2VybmFtZWAgdG8gdGhlIGBBY2NvdW50SWRgIHRoYXQgaGFzIHJlZ2lzdGVyZWQgaXQuIFRoZSB2YWx1ZSBzaG91bGRlASBiZSBhIGtleSBpbiB0aGUgYElkZW50aXR5T2ZgIG1hcCwgYnV0IGl0IG1heSBub3QgaWYgdGhlIHVzZXIgaGFzIGNsZWFyZWQgdGhlaXIgaWRlbnRpdHkuAGkBIE11bHRpcGxlIHVzZXJuYW1lcyBtYXkgbWFwIHRvIHRoZSBzYW1lIGBBY2NvdW50SWRgLCBidXQgYElkZW50aXR5T2ZgIHdpbGwgb25seSBtYXAgdG8gb25lSCBwcmltYXJ5IHVzZXJuYW1lLkBQZW5kaW5nVXNlcm5hbWVzAAEEAqSVCAQAGG0BIFVzZXJuYW1lcyB0aGF0IGFuIGF1dGhvcml0eSBoYXMgZ3JhbnRlZCwgYnV0IHRoYXQgdGhlIGFjY291bnQgY29udHJvbGxlciBoYXMgbm90IGNvbmZpcm1lZHEBIHRoYXQgdGhleSB3YW50IGl0LiBVc2VkIHByaW1hcmlseSBpbiBjYXNlcyB3aGVyZSB0aGUgYEFjY291bnRJZGAgY2Fubm90IHByb3ZpZGUgYSBzaWduYXR1cmVdASBiZWNhdXNlIHRoZXkgYXJlIGEgcHVyZSBwcm94eSwgbXVsdGlzaWcsIGV0Yy4gSW4gb3JkZXIgdG8gY29uZmlybSBpdCwgdGhleSBzaG91bGQgY2FsbGwgW2BDYWxsOjphY2NlcHRfdXNlcm5hbWVgXS4AHQEgRmlyc3QgdHVwbGUgaXRlbSBpcyB0aGUgYWNjb3VudCBhbmQgc2Vjb25kIGlzIHRoZSBhY2NlcHRhbmNlIGRlYWRsaW5lLgHNAQGgIDBCYXNpY0RlcG9zaXQYQABAY1K/xgEAAAAAAAAAAAAE2CBUaGUgYW1vdW50IGhlbGQgb24gZGVwb3NpdCBmb3IgYSByZWdpc3RlcmVkIGlkZW50aXR5LixCeXRlRGVwb3NpdBhAAKByThgJAAAAAAAAAAAAAAQdASBUaGUgYW1vdW50IGhlbGQgb24gZGVwb3NpdCBwZXIgZW5jb2RlZCBieXRlIGZvciBhIHJlZ2lzdGVyZWQgaWRlbnRpdHkuRFN1YkFjY291bnREZXBvc2l0GEAAQGNSv8YBAAAAAAAAAAAADGUBIFRoZSBhbW91bnQgaGVsZCBvbiBkZXBvc2l0IGZvciBhIHJlZ2lzdGVyZWQgc3ViYWNjb3VudC4gVGhpcyBzaG91bGQgYWNjb3VudCBmb3IgdGhlIGZhY3RlASB0aGF0IG9uZSBzdG9yYWdlIGl0ZW0ncyB2YWx1ZSB3aWxsIGluY3JlYXNlIGJ5IHRoZSBzaXplIG9mIGFuIGFjY291bnQgSUQsIGFuZCB0aGVyZSB3aWxsNQEgYmUgYW5vdGhlciB0cmllIGl0ZW0gd2hvc2UgdmFsdWUgaXMgdGhlIHNpemUgb2YgYW4gYWNjb3VudCBJRCBwbHVzIDMyIGJ5dGVzLjhNYXhTdWJBY2NvdW50cxAQZAAAAAQNASBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc3ViLWFjY291bnRzIGFsbG93ZWQgcGVyIGlkZW50aWZpZWQgYWNjb3VudC40TWF4UmVnaXN0cmFycxAQFAAAAAhNASBNYXhpbXVtIG51bWJlciBvZiByZWdpc3RyYXJzIGFsbG93ZWQgaW4gdGhlIHN5c3RlbS4gTmVlZGVkIHRvIGJvdW5kIHRoZSBjb21wbGV4aXR5fCBvZiwgZS5nLiwgdXBkYXRpbmcganVkZ2VtZW50cy5kUGVuZGluZ1VzZXJuYW1lRXhwaXJhdGlvbhAQwIkBAAQVASBUaGUgbnVtYmVyIG9mIGJsb2NrcyB3aXRoaW4gd2hpY2ggYSB1c2VybmFtZSBncmFudCBtdXN0IGJlIGFjY2VwdGVkLjxNYXhTdWZmaXhMZW5ndGgQEAcAAAAEgCBUaGUgbWF4aW11bSBsZW5ndGggb2YgYSBzdWZmaXguRE1heFVzZXJuYW1lTGVuZ3RoEBAgAAAABGEBIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhIHVzZXJuYW1lLCBpbmNsdWRpbmcgaXRzIHN1ZmZpeCBhbmQgYW55IHN5c3RlbS1hZGRlZCBkZWxpbWl0ZXJzLgGZCBEAJERlbW9jcmFjeQEkRGVtb2NyYWN5MDxQdWJsaWNQcm9wQ291bnQBABAQAAAAAAT0IFRoZSBudW1iZXIgb2YgKHB1YmxpYykgcHJvcG9zYWxzIHRoYXQgaGF2ZSBiZWVuIG1hZGUgc28gZmFyLixQdWJsaWNQcm9wcwEAnQgEAAQFASBUaGUgcHVibGljIHByb3Bvc2Fscy4gVW5zb3J0ZWQuIFRoZSBzZWNvbmQgaXRlbSBpcyB0aGUgcHJvcG9zYWwuJERlcG9zaXRPZgABBAUQqQgEAAyEIFRob3NlIHdobyBoYXZlIGxvY2tlZCBhIGRlcG9zaXQuANggVFdPWC1OT1RFOiBTYWZlLCBhcyBpbmNyZWFzaW5nIGludGVnZXIga2V5cyBhcmUgc2FmZS48UmVmZXJlbmR1bUNvdW50AQAQEAAAAAAEMQEgVGhlIG5leHQgZnJlZSByZWZlcmVuZHVtIGluZGV4LCBha2EgdGhlIG51bWJlciBvZiByZWZlcmVuZGEgc3RhcnRlZCBzbyBmYXIuNExvd2VzdFVuYmFrZWQBABAQAAAAAAglASBUaGUgbG93ZXN0IHJlZmVyZW5kdW0gaW5kZXggcmVwcmVzZW50aW5nIGFuIHVuYmFrZWQgcmVmZXJlbmR1bS4gRXF1YWwgdG/cIGBSZWZlcmVuZHVtQ291bnRgIGlmIHRoZXJlIGlzbid0IGEgdW5iYWtlZCByZWZlcmVuZHVtLkBSZWZlcmVuZHVtSW5mb09mAAEEBRCxCAQADLQgSW5mb3JtYXRpb24gY29uY2VybmluZyBhbnkgZ2l2ZW4gcmVmZXJlbmR1bS4ACQEgVFdPWC1OT1RFOiBTQUZFIGFzIGluZGV4ZXMgYXJlIG5vdCB1bmRlciBhbiBhdHRhY2tlcuKAmXMgY29udHJvbC4gVm90aW5nT2YBAQQFAL0I2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBdASBBbGwgdm90ZXMgZm9yIGEgcGFydGljdWxhciB2b3Rlci4gV2Ugc3RvcmUgdGhlIGJhbGFuY2UgZm9yIHRoZSBudW1iZXIgb2Ygdm90ZXMgdGhhdCB3ZV0BIGhhdmUgcmVjb3JkZWQuIFRoZSBzZWNvbmQgaXRlbSBpcyB0aGUgdG90YWwgYW1vdW50IG9mIGRlbGVnYXRpb25zLCB0aGF0IHdpbGwgYmUgYWRkZWQuAOggVFdPWC1OT1RFOiBTQUZFIGFzIGBBY2NvdW50SWRgcyBhcmUgY3J5cHRvIGhhc2hlcyBhbnl3YXkuVExhc3RUYWJsZWRXYXNFeHRlcm5hbAEAIAQACFkBIFRydWUgaWYgdGhlIGxhc3QgcmVmZXJlbmR1bSB0YWJsZWQgd2FzIHN1Ym1pdHRlZCBleHRlcm5hbGx5LiBGYWxzZSBpZiBpdCB3YXMgYSBwdWJsaWMoIHByb3Bvc2FsLjBOZXh0RXh0ZXJuYWwAANUIBAAQWQEgVGhlIHJlZmVyZW5kdW0gdG8gYmUgdGFibGVkIHdoZW5ldmVyIGl0IHdvdWxkIGJlIHZhbGlkIHRvIHRhYmxlIGFuIGV4dGVybmFsIHByb3Bvc2FsLlUBIFRoaXMgaGFwcGVucyB3aGVuIGEgcmVmZXJlbmR1bSBuZWVkcyB0byBiZSB0YWJsZWQgYW5kIG9uZSBvZiB0d28gY29uZGl0aW9ucyBhcmUgbWV0OqQgLSBgTGFzdFRhYmxlZFdhc0V4dGVybmFsYCBpcyBgZmFsc2VgOyBvcmggLSBgUHVibGljUHJvcHNgIGlzIGVtcHR5LiRCbGFja2xpc3QAAQQGNNkIBAAIUQEgQSByZWNvcmQgb2Ygd2hvIHZldG9lZCB3aGF0LiBNYXBzIHByb3Bvc2FsIGhhc2ggdG8gYSBwb3NzaWJsZSBleGlzdGVudCBibG9jayBudW1iZXLoICh1bnRpbCB3aGVuIGl0IG1heSBub3QgYmUgcmVzdWJtaXR0ZWQpIGFuZCB3aG8gdmV0b2VkIGl0LjRDYW5jZWxsYXRpb25zAQEEBjQgBAAEKQEgUmVjb3JkIG9mIGFsbCBwcm9wb3NhbHMgdGhhdCBoYXZlIGJlZW4gc3ViamVjdCB0byBlbWVyZ2VuY3kgY2FuY2VsbGF0aW9uLihNZXRhZGF0YU9mAAEEArg0BAAY7CBHZW5lcmFsIGluZm9ybWF0aW9uIGNvbmNlcm5pbmcgYW55IHByb3Bvc2FsIG9yIHJlZmVyZW5kdW0uSQEgVGhlIGBIYXNoYCByZWZlcnMgdG8gdGhlIHByZWltYWdlIG9mIHRoZSBgUHJlaW1hZ2VzYCBwcm92aWRlciB3aGljaCBjYW4gYmUgYSBKU09OiCBkdW1wIG9yIElQRlMgaGFzaCBvZiBhIEpTT04gZmlsZS4AdQEgQ29uc2lkZXIgYSBnYXJiYWdlIGNvbGxlY3Rpb24gZm9yIGEgbWV0YWRhdGEgb2YgZmluaXNoZWQgcmVmZXJlbmR1bXMgdG8gYHVucmVxdWVzdGAgKHJlbW92ZSlEIGxhcmdlIHByZWltYWdlcy4BfQIBqDA8RW5hY3RtZW50UGVyaW9kEBBAOAAAFOggVGhlIHBlcmlvZCBiZXR3ZWVuIGEgcHJvcG9zYWwgYmVpbmcgYXBwcm92ZWQgYW5kIGVuYWN0ZWQuADEBIEl0IHNob3VsZCBnZW5lcmFsbHkgYmUgYSBsaXR0bGUgbW9yZSB0aGFuIHRoZSB1bnN0YWtlIHBlcmlvZCB0byBlbnN1cmUgdGhhdFEBIHZvdGluZyBzdGFrZXJzIGhhdmUgYW4gb3Bwb3J0dW5pdHkgdG8gcmVtb3ZlIHRoZW1zZWx2ZXMgZnJvbSB0aGUgc3lzdGVtIGluIHRoZSBjYXNltCB3aGVyZSB0aGV5IGFyZSBvbiB0aGUgbG9zaW5nIHNpZGUgb2YgYSB2b3RlLjBMYXVuY2hQZXJpb2QQEMCoAAAE5CBIb3cgb2Z0ZW4gKGluIGJsb2NrcykgbmV3IHB1YmxpYyByZWZlcmVuZGEgYXJlIGxhdW5jaGVkLjBWb3RpbmdQZXJpb2QQEMCoAAAEuCBIb3cgb2Z0ZW4gKGluIGJsb2NrcykgdG8gY2hlY2sgZm9yIG5ldyB2b3Rlcy5EVm90ZUxvY2tpbmdQZXJpb2QQEIBRAQAQkCBUaGUgbWluaW11bSBwZXJpb2Qgb2Ygdm90ZSBsb2NraW5nLgBlASBJdCBzaG91bGQgYmUgbm8gc2hvcnRlciB0aGFuIGVuYWN0bWVudCBwZXJpb2QgdG8gZW5zdXJlIHRoYXQgaW4gdGhlIGNhc2Ugb2YgYW4gYXBwcm92YWwsSQEgdGhvc2Ugc3VjY2Vzc2Z1bCB2b3RlcnMgYXJlIGxvY2tlZCBpbnRvIHRoZSBjb25zZXF1ZW5jZXMgdGhhdCB0aGVpciB2b3RlcyBlbnRhaWwuOE1pbmltdW1EZXBvc2l0GEAAAIpdeEVjAQAAAAAAAAAABDUBIFRoZSBtaW5pbXVtIGFtb3VudCB0byBiZSB1c2VkIGFzIGEgZGVwb3NpdCBmb3IgYSBwdWJsaWMgcmVmZXJlbmR1bSBwcm9wb3NhbC44SW5zdGFudEFsbG93ZWQgBAEMVQEgSW5kaWNhdG9yIGZvciB3aGV0aGVyIGFuIGVtZXJnZW5jeSBvcmlnaW4gaXMgZXZlbiBhbGxvd2VkIHRvIGhhcHBlbi4gU29tZSBjaGFpbnMgbWF5YQEgd2FudCB0byBzZXQgdGhpcyBwZXJtYW5lbnRseSB0byBgZmFsc2VgLCBvdGhlcnMgbWF5IHdhbnQgdG8gY29uZGl0aW9uIGl0IG9uIHRoaW5ncyBzdWNooCBhcyBhbiB1cGdyYWRlIGhhdmluZyBoYXBwZW5lZCByZWNlbnRseS5URmFzdFRyYWNrVm90aW5nUGVyaW9kEBAIBwAABOwgTWluaW11bSB2b3RpbmcgcGVyaW9kIGFsbG93ZWQgZm9yIGEgZmFzdC10cmFjayByZWZlcmVuZHVtLjRDb29sb2ZmUGVyaW9kEBDAiQEABGEBIFBlcmlvZCBpbiBibG9ja3Mgd2hlcmUgYW4gZXh0ZXJuYWwgcHJvcG9zYWwgbWF5IG5vdCBiZSByZS1zdWJtaXR0ZWQgYWZ0ZXIgYmVpbmcgdmV0b2VkLiBNYXhWb3RlcxAQZAAAABCwIFRoZSBtYXhpbXVtIG51bWJlciBvZiB2b3RlcyBmb3IgYW4gYWNjb3VudC4A1CBBbHNvIHVzZWQgdG8gY29tcHV0ZSB3ZWlnaHQsIGFuIG92ZXJseSBiaWcgdmFsdWUgY2FuFQEgbGVhZCB0byBleHRyaW5zaWMgd2l0aCB2ZXJ5IGJpZyB3ZWlnaHQ6IHNlZSBgZGVsZWdhdGVgIGZvciBpbnN0YW5jZS4wTWF4UHJvcG9zYWxzEBBkAAAABA0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBwdWJsaWMgcHJvcG9zYWxzIHRoYXQgY2FuIGV4aXN0IGF0IGFueSB0aW1lLixNYXhEZXBvc2l0cxAQZAAAAAQdASBUaGUgbWF4aW11bSBudW1iZXIgb2YgZGVwb3NpdHMgYSBwdWJsaWMgcHJvcG9zYWwgbWF5IGhhdmUgYXQgYW55IHRpbWUuOE1heEJsYWNrbGlzdGVkEBBkAAAABNggVGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHdoaWNoIGNhbiBiZSBibGFja2xpc3RlZC4B3QgTAEhUZWNobmljYWxDb21taXR0ZWUBSFRlY2huaWNhbENvbW1pdHRlZRgkUHJvcG9zYWxzAQDhCAQABJAgVGhlIGhhc2hlcyBvZiB0aGUgYWN0aXZlIHByb3Bvc2Fscy4oUHJvcG9zYWxPZgABBAY0EQEEAATMIEFjdHVhbCBwcm9wb3NhbCBmb3IgYSBnaXZlbiBoYXNoLCBpZiBpdCdzIGN1cnJlbnQuGFZvdGluZwABBAY05QgEAAS0IFZvdGVzIG9uIGEgZ2l2ZW4gcHJvcG9zYWwsIGlmIGl0IGlzIG9uZ29pbmcuNFByb3Bvc2FsQ291bnQBABAQAAAAAARIIFByb3Bvc2FscyBzbyBmYXIuHE1lbWJlcnMBADEBBAAEOQEgVGhlIGN1cnJlbnQgbWVtYmVycyBvZiB0aGUgY29sbGVjdGl2ZS4gVGhpcyBpcyBzdG9yZWQgc29ydGVkIChqdXN0IGJ5IHZhbHVlKS4UUHJpbWUAAAAEAARhASBUaGUgcHJpbWUgbWVtYmVyIHRoYXQgaGVscHMgZGV0ZXJtaW5lIHRoZSBkZWZhdWx0IHZvdGUgYmVoYXZpb3IgaW4gY2FzZSBvZiBhYnN0ZW50aW9ucy4BiQIBvARETWF4UHJvcG9zYWxXZWlnaHQoKAcAEKXU6AIAoAAEJQEgVGhlIG1heGltdW0gd2VpZ2h0IG9mIGEgZGlzcGF0Y2ggY2FsbCB0aGF0IGNhbiBiZSBwcm9wb3NlZCBhbmQgZXhlY3V0ZWQuAekIGQAUUHJveHkBFFByb3h5CBxQcm94aWVzAQEEBQDtCEQAAAAAAAAAAAAAAAAAAAAAAAhFASBUaGUgc2V0IG9mIGFjY291bnQgcHJveGllcy4gTWFwcyB0aGUgYWNjb3VudCB3aGljaCBoYXMgZGVsZWdhdGVkIHRvIHRoZSBhY2NvdW50cyEBIHdoaWNoIGFyZSBiZWluZyBkZWxlZ2F0ZWQgdG8sIHRvZ2V0aGVyIHdpdGggdGhlIGFtb3VudCBoZWxkIG9uIGRlcG9zaXQuNEFubm91bmNlbWVudHMBAQQFAP0IRAAAAAAAAAAAAAAAAAAAAAAABKwgVGhlIGFubm91bmNlbWVudHMgbWFkZSBieSB0aGUgcHJveHkgKGtleSkuAY0CAcAYQFByb3h5RGVwb3NpdEJhc2UYQADgEQIetgAAAAAAAAAAAAAQEQEgVGhlIGJhc2UgYW1vdW50IG9mIGN1cnJlbmN5IG5lZWRlZCB0byByZXNlcnZlIGZvciBjcmVhdGluZyBhIHByb3h5LgABASBUaGlzIGlzIGhlbGQgZm9yIGFuIGFkZGl0aW9uYWwgc3RvcmFnZSBpdGVtIHdob3NlIHZhbHVlIHNpemUgaXMlASBgc2l6ZW9mKEJhbGFuY2UpYCBieXRlcyBhbmQgd2hvc2Uga2V5IHNpemUgaXMgYHNpemVvZihBY2NvdW50SWQpYCBieXRlcy5IUHJveHlEZXBvc2l0RmFjdG9yGEAALJmA5gAAAAAAAAAAAAAAFLwgVGhlIGFtb3VudCBvZiBjdXJyZW5jeSBuZWVkZWQgcGVyIHByb3h5IGFkZGVkLgA1ASBUaGlzIGlzIGhlbGQgZm9yIGFkZGluZyAzMiBieXRlcyBwbHVzIGFuIGluc3RhbmNlIG9mIGBQcm94eVR5cGVgIG1vcmUgaW50byBhYQEgcHJlLWV4aXN0aW5nIHN0b3JhZ2UgdmFsdWUuIFRodXMsIHdoZW4gY29uZmlndXJpbmcgYFByb3h5RGVwb3NpdEZhY3RvcmAgb25lIHNob3VsZCB0YWtl9CBpbnRvIGFjY291bnQgYDMyICsgcHJveHlfdHlwZS5lbmNvZGUoKS5sZW4oKWAgYnl0ZXMgb2YgZGF0YS4oTWF4UHJveGllcxAQIAAAAATwIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBwcm94aWVzIGFsbG93ZWQgZm9yIGEgc2luZ2xlIGFjY291bnQuKE1heFBlbmRpbmcQECAAAAAERQEgVGhlIG1heGltdW0gYW1vdW50IG9mIHRpbWUtZGVsYXllZCBhbm5vdW5jZW1lbnRzIHRoYXQgYXJlIGFsbG93ZWQgdG8gYmUgcGVuZGluZy5cQW5ub3VuY2VtZW50RGVwb3NpdEJhc2UYQADgEQIetgAAAAAAAAAAAAAQMQEgVGhlIGJhc2UgYW1vdW50IG9mIGN1cnJlbmN5IG5lZWRlZCB0byByZXNlcnZlIGZvciBjcmVhdGluZyBhbiBhbm5vdW5jZW1lbnQuAEkBIFRoaXMgaXMgaGVsZCB3aGVuIGEgbmV3IHN0b3JhZ2UgaXRlbSBob2xkaW5nIGEgYEJhbGFuY2VgIGlzIGNyZWF0ZWQgKHR5cGljYWxseSAxNiAgYnl0ZXMpLmRBbm5vdW5jZW1lbnREZXBvc2l0RmFjdG9yGEAAWDIBzQEAAAAAAAAAAAAAENQgVGhlIGFtb3VudCBvZiBjdXJyZW5jeSBuZWVkZWQgcGVyIGFubm91bmNlbWVudCBtYWRlLgBZASBUaGlzIGlzIGhlbGQgZm9yIGFkZGluZyBhbiBgQWNjb3VudElkYCwgYEhhc2hgIGFuZCBgQmxvY2tOdW1iZXJgICh0eXBpY2FsbHkgNjggYnl0ZXMpjCBpbnRvIGEgcHJlLWV4aXN0aW5nIHN0b3JhZ2UgdmFsdWUuAQ0JHQAgTXVsdGlzaWcBIE11bHRpc2lnBCRNdWx0aXNpZ3MAAQgFAhEJFQkEAASUIFRoZSBzZXQgb2Ygb3BlbiBtdWx0aXNpZyBvcGVyYXRpb25zLgGVAgHMDCxEZXBvc2l0QmFzZRhAAKA3zUy4AAAAAAAAAAAAABhZASBUaGUgYmFzZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHRvIHJlc2VydmUgZm9yIGNyZWF0aW5nIGEgbXVsdGlzaWcgZXhlY3V0aW9uIG9yIHRvhCBzdG9yZSBhIGRpc3BhdGNoIGNhbGwgZm9yIGxhdGVyLgABASBUaGlzIGlzIGhlbGQgZm9yIGFuIGFkZGl0aW9uYWwgc3RvcmFnZSBpdGVtIHdob3NlIHZhbHVlIHNpemUgaXMxASBgNCArIHNpemVvZigoQmxvY2tOdW1iZXIsIEJhbGFuY2UsIEFjY291bnRJZCkpYCBieXRlcyBhbmQgd2hvc2Uga2V5IHNpemUgaXOAIGAzMiArIHNpemVvZihBY2NvdW50SWQpYCBieXRlcy40RGVwb3NpdEZhY3RvchhAAIB1hN8AAAAAAAAAAAAAAAxVASBUaGUgYW1vdW50IG9mIGN1cnJlbmN5IG5lZWRlZCBwZXIgdW5pdCB0aHJlc2hvbGQgd2hlbiBjcmVhdGluZyBhIG11bHRpc2lnIGV4ZWN1dGlvbi4AJQEgVGhpcyBpcyBoZWxkIGZvciBhZGRpbmcgMzIgYnl0ZXMgbW9yZSBpbnRvIGEgcHJlLWV4aXN0aW5nIHN0b3JhZ2UgdmFsdWUuOE1heFNpZ25hdG9yaWVzEBBkAAAABOwgVGhlIG1heGltdW0gYW1vdW50IG9mIHNpZ25hdG9yaWVzIGFsbG93ZWQgaW4gdGhlIG11bHRpc2lnLgEdCR8AHFVuaXF1ZXMBHFVuaXF1ZXMoFENsYXNzAAEEAhghCQQABGQgRGV0YWlscyBvZiBhIGNvbGxlY3Rpb24uTE93bmVyc2hpcEFjY2VwdGFuY2UAAQQCABgEAAQpASBUaGUgY29sbGVjdGlvbiwgaWYgYW55LCBvZiB3aGljaCBhbiBhY2NvdW50IGlzIHdpbGxpbmcgdG8gdGFrZSBvd25lcnNoaXAuHEFjY291bnQAAQwCAgIlCZAEAAhZASBUaGUgaXRlbXMgaGVsZCBieSBhbnkgZ2l2ZW4gYWNjb3VudDsgc2V0IG91dCB0aGlzIHdheSBzbyB0aGF0IGl0ZW1zIG93bmVkIGJ5IGEgc2luZ2xlbCBhY2NvdW50IGNhbiBiZSBlbnVtZXJhdGVkLjBDbGFzc0FjY291bnQAAQgCAjkIkAQACGkBIFRoZSBjb2xsZWN0aW9ucyBvd25lZCBieSBhbnkgZ2l2ZW4gYWNjb3VudDsgc2V0IG91dCB0aGlzIHdheSBzbyB0aGF0IGNvbGxlY3Rpb25zIG93bmVkIGJ5kCBhIHNpbmdsZSBhY2NvdW50IGNhbiBiZSBlbnVtZXJhdGVkLhRBc3NldAABCAICKQMpCQQABNAgVGhlIGl0ZW1zIGluIGV4aXN0ZW5jZSBhbmQgdGhlaXIgb3duZXJzaGlwIGRldGFpbHMuPENsYXNzTWV0YWRhdGFPZgABBAIYLQkEAARoIE1ldGFkYXRhIG9mIGEgY29sbGVjdGlvbi5ISW5zdGFuY2VNZXRhZGF0YU9mAAEIAgIpAzEJBAAEVCBNZXRhZGF0YSBvZiBhbiBpdGVtLiRBdHRyaWJ1dGUAAQwCAgI1CTkJBAAEcCBBdHRyaWJ1dGVzIG9mIGEgY29sbGVjdGlvbi4sSXRlbVByaWNlT2YAAQgCAikDPQkEAARwIFByaWNlIG9mIGFuIGFzc2V0IGluc3RhbmNlLkxDb2xsZWN0aW9uTWF4U3VwcGx5AAEEAhgQBAAE8CBLZWVwcyB0cmFjayBvZiB0aGUgbnVtYmVyIG9mIGl0ZW1zIGEgY29sbGVjdGlvbiBtaWdodCBoYXZlLgGdAgHUIERDb2xsZWN0aW9uRGVwb3NpdBhAAAAAAAAAAAAAAAAAAAAAAAQBASBUaGUgYmFzaWMgYW1vdW50IG9mIGZ1bmRzIHRoYXQgbXVzdCBiZSByZXNlcnZlZCBmb3IgY29sbGVjdGlvbi4sSXRlbURlcG9zaXQYQAAAAAAAAAAAAAAAAAAAAAAE9CBUaGUgYmFzaWMgYW1vdW50IG9mIGZ1bmRzIHRoYXQgbXVzdCBiZSByZXNlcnZlZCBmb3IgYW4gaXRlbS5MTWV0YWRhdGFEZXBvc2l0QmFzZRhAAIDGpH6NAwAAAAAAAAAAAARNASBUaGUgYmFzaWMgYW1vdW50IG9mIGZ1bmRzIHRoYXQgbXVzdCBiZSByZXNlcnZlZCB3aGVuIGFkZGluZyBtZXRhZGF0YSB0byB5b3VyIGl0ZW0uUEF0dHJpYnV0ZURlcG9zaXRCYXNlGEAAEKXU6AAAAAAAAAAAAAAABFUBIFRoZSBiYXNpYyBhbW91bnQgb2YgZnVuZHMgdGhhdCBtdXN0IGJlIHJlc2VydmVkIHdoZW4gYWRkaW5nIGFuIGF0dHJpYnV0ZSB0byBhbiBpdGVtLjhEZXBvc2l0UGVyQnl0ZRhAABCl1OgAAAAAAAAAAAAAAAhZASBUaGUgYWRkaXRpb25hbCBmdW5kcyB0aGF0IG11c3QgYmUgcmVzZXJ2ZWQgZm9yIHRoZSBudW1iZXIgb2YgYnl0ZXMgc3RvcmUgaW4gbWV0YWRhdGEswCBlaXRoZXIgIm5vcm1hbCIgbWV0YWRhdGEgb3IgYXR0cmlidXRlIG1ldGFkYXRhLixTdHJpbmdMaW1pdBAQSAAAAASwIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBkYXRhIHN0b3JlZCBvbi1jaGFpbi4gS2V5TGltaXQQEAABAAAEoCBUaGUgbWF4aW11bSBsZW5ndGggb2YgYW4gYXR0cmlidXRlIGtleS4oVmFsdWVMaW1pdBAQAAQAAASoIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhbiBhdHRyaWJ1dGUgdmFsdWUuAUEJIABIU3RhdGVUcmllTWlncmF0aW9uAUhTdGF0ZVRyaWVNaWdyYXRpb24MQE1pZ3JhdGlvblByb2Nlc3MBALECOAAAAAAAAAAAAAAAAAAAEFAgTWlncmF0aW9uIHByb2dyZXNzLgBdASBUaGlzIHN0b3JlcyB0aGUgc25hcHNob3Qgb2YgdGhlIGxhc3QgbWlncmF0ZWQga2V5cy4gSXQgY2FuIGJlIHNldCBpbnRvIG1vdGlvbiBhbmQgbW92ZdQgZm9yd2FyZCBieSBhbnkgb2YgdGhlIG1lYW5zIHByb3ZpZGVkIGJ5IHRoaXMgcGFsbGV0LihBdXRvTGltaXRzAQCpAgQADNQgVGhlIGxpbWl0cyB0aGF0IGFyZSBpbXBvc2VkIG9uIGF1dG9tYXRpYyBtaWdyYXRpb25zLgDUIElmIHNldCB0byBOb25lLCB0aGVuIG5vIGF1dG9tYXRpYyBtaWdyYXRpb24gaGFwcGVucy5gU2lnbmVkTWlncmF0aW9uTWF4TGltaXRzAACtAgQADOAgVGhlIG1heGltdW0gbGltaXRzIHRoYXQgdGhlIHNpZ25lZCBtaWdyYXRpb24gY291bGQgdXNlLgC0IElmIG5vdCBzZXQsIG5vIHNpZ25lZCBzdWJtaXNzaW9uIGlzIGFsbG93ZWQuAaUCAfAEJE1heEtleUxlbhAQAAIAAFS0IE1heGltYWwgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgYSBrZXkgY2FuIGhhdmUuALAgRlJBTUUgaXRzZWxmIGRvZXMgbm90IGxpbWl0IHRoZSBrZXkgbGVuZ3RoLgEBIFRoZSBjb25jcmV0ZSB2YWx1ZSBtdXN0IHRoZXJlZm9yZSBkZXBlbmQgb24geW91ciBzdG9yYWdlIHVzYWdlLlkBIEEgW2BmcmFtZV9zdXBwb3J0OjpzdG9yYWdlOjpTdG9yYWdlTk1hcGBdIGZvciBleGFtcGxlIGNhbiBoYXZlIGFuIGFyYml0cmFyeSBudW1iZXIgb2ZFASBrZXlzIHdoaWNoIGFyZSB0aGVuIGhhc2hlZCBhbmQgY29uY2F0ZW5hdGVkLCByZXN1bHRpbmcgaW4gYXJiaXRyYXJpbHkgbG9uZyBrZXlzLgBBASBVc2UgdGhlICpzdGF0ZSBtaWdyYXRpb24gUlBDKiB0byByZXRyaWV2ZSB0aGUgbGVuZ3RoIG9mIHRoZSBsb25nZXN0IGtleSBpbiB5b3VyAQEgc3RvcmFnZTogPGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9pc3N1ZXMvMTE2NDI+ACkBIFRoZSBtaWdyYXRpb24gd2lsbCBoYWx0IHdpdGggYSBgSGFsdGVkYCBldmVudCBpZiB0aGlzIHZhbHVlIGlzIHRvbyBzbWFsbC5JASBTaW5jZSB0aGVyZSBpcyBubyByZWFsIHBlbmFsdHkgZnJvbSBvdmVyLWVzdGltYXRpbmcsIGl0IGlzIGFkdmlzZWQgdG8gdXNlIGEgbGFyZ2WAIHZhbHVlLiBUaGUgZGVmYXVsdCBpcyA1MTIgYnl0ZS4AgCBTb21lIGtleSBsZW5ndGhzIGZvciByZWZlcmVuY2U60CAtIFtgZnJhbWVfc3VwcG9ydDo6c3RvcmFnZTo6U3RvcmFnZVZhbHVlYF06IDMyIGJ5dGXIIC0gW2BmcmFtZV9zdXBwb3J0OjpzdG9yYWdlOjpTdG9yYWdlTWFwYF06IDY0IGJ5dGXgIC0gW2BmcmFtZV9zdXBwb3J0OjpzdG9yYWdlOjpTdG9yYWdlRG91YmxlTWFwYF06IDk2IGJ5dGUASCBGb3IgbW9yZSBpbmZvIHNlZUkBIDxodHRwczovL3d3dy5zaGF3bnRhYnJpemkuY29tL2Jsb2cvc3Vic3RyYXRlL3F1ZXJ5aW5nLXN1YnN0cmF0ZS1zdG9yYWdlLXZpYS1ycGMvPgH4IwBAQ29udmljdGlvblZvdGluZwFAQ29udmljdGlvblZvdGluZwgkVm90aW5nRm9yAQEIBQVFCUkJ2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh1ASBBbGwgdm90aW5nIGZvciBhIHBhcnRpY3VsYXIgdm90ZXIgaW4gYSBwYXJ0aWN1bGFyIHZvdGluZyBjbGFzcy4gV2Ugc3RvcmUgdGhlIGJhbGFuY2UgZm9yIHRoZZwgbnVtYmVyIG9mIHZvdGVzIHRoYXQgd2UgaGF2ZSByZWNvcmRlZC40Q2xhc3NMb2Nrc0ZvcgEBBAUAaQkEAAxpASBUaGUgdm90aW5nIGNsYXNzZXMgd2hpY2ggaGF2ZSBhIG5vbi16ZXJvIGxvY2sgcmVxdWlyZW1lbnQgYW5kIHRoZSBsb2NrIGFtb3VudHMgd2hpY2ggdGhleW0BIHJlcXVpcmUuIFRoZSBhY3R1YWwgYW1vdW50IGxvY2tlZCBvbiBiZWhhbGYgb2YgdGhpcyBwYWxsZXQgc2hvdWxkIGFsd2F5cyBiZSB0aGUgbWF4aW11bSBvZiwgdGhpcyBsaXN0LgG9AgH8CCBNYXhWb3RlcxAQGQAAABDwIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25jdXJyZW50IHZvdGVzIGFuIGFjY291bnQgbWF5IGhhdmUuAFUBIEFsc28gdXNlZCB0byBjb21wdXRlIHdlaWdodCwgYW4gb3Zlcmx5IGxhcmdlIHZhbHVlIGNhbiBsZWFkIHRvIGV4dHJpbnNpY3Mgd2l0aCBsYXJnZcAgd2VpZ2h0IGVzdGltYXRpb246IHNlZSBgZGVsZWdhdGVgIGZvciBpbnN0YW5jZS5EVm90ZUxvY2tpbmdQZXJpb2QQEMCJAQAQkCBUaGUgbWluaW11bSBwZXJpb2Qgb2Ygdm90ZSBsb2NraW5nLgBlASBJdCBzaG91bGQgYmUgbm8gc2hvcnRlciB0aGFuIGVuYWN0bWVudCBwZXJpb2QgdG8gZW5zdXJlIHRoYXQgaW4gdGhlIGNhc2Ugb2YgYW4gYXBwcm92YWwsSQEgdGhvc2Ugc3VjY2Vzc2Z1bCB2b3RlcnMgYXJlIGxvY2tlZCBpbnRvIHRoZSBjb25zZXF1ZW5jZXMgdGhhdCB0aGVpciB2b3RlcyBlbnRhaWwuAXUJJAAkUmVmZXJlbmRhASRSZWZlcmVuZGEUPFJlZmVyZW5kdW1Db3VudAEAEBAAAAAABDEBIFRoZSBuZXh0IGZyZWUgcmVmZXJlbmR1bSBpbmRleCwgYWthIHRoZSBudW1iZXIgb2YgcmVmZXJlbmRhIHN0YXJ0ZWQgc28gZmFyLkRSZWZlcmVuZHVtSW5mb0ZvcgABBAIQeQkEAAS0IEluZm9ybWF0aW9uIGNvbmNlcm5pbmcgYW55IGdpdmVuIHJlZmVyZW5kdW0uKFRyYWNrUXVldWUBAQQFyJkJBAAQXQEgVGhlIHNvcnRlZCBsaXN0IG9mIHJlZmVyZW5kYSByZWFkeSB0byBiZSBkZWNpZGVkIGJ1dCBub3QgeWV0IGJlaW5nIGRlY2lkZWQsIG9yZGVyZWQgYnl8IGNvbnZpY3Rpb24td2VpZ2h0ZWQgYXBwcm92YWxzLgBBASBUaGlzIHNob3VsZCBiZSBlbXB0eSBpZiBgRGVjaWRpbmdDb3VudGAgaXMgbGVzcyB0aGFuIGBUcmFja0luZm86Om1heF9kZWNpZGluZ2AuNERlY2lkaW5nQ291bnQBAQQFyBAQAAAAAATEIFRoZSBudW1iZXIgb2YgcmVmZXJlbmRhIGJlaW5nIGRlY2lkZWQgY3VycmVudGx5LihNZXRhZGF0YU9mAAEEAhA0BAAYBQEgVGhlIG1ldGFkYXRhIGlzIGEgZ2VuZXJhbCBpbmZvcm1hdGlvbiBjb25jZXJuaW5nIHRoZSByZWZlcmVuZHVtLkkBIFRoZSBgSGFzaGAgcmVmZXJzIHRvIHRoZSBwcmVpbWFnZSBvZiB0aGUgYFByZWltYWdlc2AgcHJvdmlkZXIgd2hpY2ggY2FuIGJlIGEgSlNPToggZHVtcCBvciBJUEZTIGhhc2ggb2YgYSBKU09OIGZpbGUuAHUBIENvbnNpZGVyIGEgZ2FyYmFnZSBjb2xsZWN0aW9uIGZvciBhIG1ldGFkYXRhIG9mIGZpbmlzaGVkIHJlZmVyZW5kdW1zIHRvIGB1bnJlcXVlc3RgIChyZW1vdmUpRCBsYXJnZSBwcmVpbWFnZXMuAckCAQkBFERTdWJtaXNzaW9uRGVwb3NpdBhAAEB6EPNaAAAAAAAAAAAAAAQ1ASBUaGUgbWluaW11bSBhbW91bnQgdG8gYmUgdXNlZCBhcyBhIGRlcG9zaXQgZm9yIGEgcHVibGljIHJlZmVyZW5kdW0gcHJvcG9zYWwuJE1heFF1ZXVlZBAQZAAAAATkIE1heGltdW0gc2l6ZSBvZiB0aGUgcmVmZXJlbmR1bSBxdWV1ZSBmb3IgYSBzaW5nbGUgdHJhY2suRFVuZGVjaWRpbmdUaW1lb3V0EBCAEwMACFUBIFRoZSBudW1iZXIgb2YgYmxvY2tzIGFmdGVyIHN1Ym1pc3Npb24gdGhhdCBhIHJlZmVyZW5kdW0gbXVzdCBiZWdpbiBiZWluZyBkZWNpZGVkIGJ5LuQgT25jZSB0aGlzIHBhc3NlcywgdGhlbiBhbnlvbmUgbWF5IGNhbmNlbCB0aGUgcmVmZXJlbmR1bS40QWxhcm1JbnRlcnZhbBAQAQAAAAxdASBRdWFudGl6YXRpb24gbGV2ZWwgZm9yIHRoZSByZWZlcmVuZHVtIHdha2V1cCBzY2hlZHVsZXIuIEEgaGlnaGVyIG51bWJlciB3aWxsIHJlc3VsdCBpbl0BIGZld2VyIHN0b3JhZ2UgcmVhZHMvd3JpdGVzIG5lZWRlZCBmb3Igc21hbGxlciB2b3RlcnMsIGJ1dCBhbHNvIHJlc3VsdCBpbiBkZWxheXMgdG8gdGhlVQEgYXV0b21hdGljIHJlZmVyZW5kdW0gc3RhdHVzIGNoYW5nZXMuIEV4cGxpY2l0IHNlcnZpY2luZyBpbnN0cnVjdGlvbnMgYXJlIHVuYWZmZWN0ZWQuGFRyYWNrc50JmQ4oAAAQcm9vdAMAAAAAAGSns7bgDQAAAAAAAAAAWAIAAMCJAQAgHAAAZAAAAAKQ1z4NAAAAAFdD3hMAAAAAVEPeEwAAAAAAAMqaOwAAAAAAZc0dAQBId2hpdGVsaXN0ZWRfY2FsbGVyAwAAAAAAxS68orEAAAAAAAAAAABkAAAAwKgAAGAJAABkAAAAApDXPg0AAAAAV0PeEwAAAABUQ94TAAAAAALfxwUAAAAAAKIIDAAAAAAATGYrAQAAAAACAFByZWZlcmVuZHVtX2NhbmNlbGxlcgMAAAAAANnprC14AwAAAAAAAAAAWAIAAMCoAABYAgAAZAAAAADbTg8iAGXNHQDKmjsCXW94AAAAAADoLu0AAAAAAIxoif//////AwBEcmVmZXJlbmR1bV9raWxsZXIDAAAAAACLvQaJaAoAAAAAAAAAAFgCAADAqAAAWAIAAGQAAAAA204PIgBlzR0Aypo7Al1veAAAAAAA6C7tAAAAAACMaIn//////wQANGdlbmVyYWxfYWRtaW4DAAAAAADZ6awteAMAAAAAAAAAAFgCAADAiQEACAcAAGQAAAACkNc+DQAAAABXQ94TAAAAAFRD3hMAAAAAAkE8sAEAAAAAdV00AwAAAABF0WX+/////wUAJHRyZWFzdXJlcgMAAAAAAIu9BoloCgAAAAAAAAAAWAIAAMCJAQAgHAAAZAAAAAKQ1z4NAAAAAFdD3hMAAAAAVEPeEwAAAAAAAMqaOwAAAACAsuYOBgAcc3BlbmRlcgMAAAAAAIpdeEVjAQAAAAAAAAAAWAIAAMCJAQAIBwAAZAAAAAAAypo7AGXNHQDKmjsCQTywAQAAAAB1XTQDAAAAAEXRZf7/////BwAYdGlwcGVyAwAAAAAAwW/yhiMAAAAAAAAAAABYAgAAwIkBAAgHAABkAAAAANtODyIAZc0dAMqaOwJdb3gAAAAAAOgu7QAAAAAAjGiJ//////8IADhvbW5pcG9vbF9hZG1pbgMAAAAAANnprC14AwAAAAAAAAAAWAIAAMCJAQAIBwAAZAAAAAKQ1z4NAAAAAFdD3hMAAAAAVEPeEwAAAAACQTywAQAAAAB1XTQDAAAAAEXRZf7/////CQBMZWNvbm9taWNfcGFyYW1ldGVycwMAAAAAAIu9BoloCgAAAAAAAAAAWAIAAMCJAQAgHAAAZAAAAAKQ1z4NAAAAAFdD3hMAAAAAVEPeEwAAAAAAAMqaOwAAAACAsuYOBOAgSW5mb3JtYXRpb24gY29uY2VybmluZyB0aGUgZGlmZmVyZW50IHJlZmVyZW5kdW0gdHJhY2tzLgG1CSUAHE9yaWdpbnMAAAAAACYAJFdoaXRlbGlzdAEkV2hpdGVsaXN0BDxXaGl0ZWxpc3RlZENhbGwAAQQFNJAEAAAB0QIBWQYAAbkJJwAoRGlzcGF0Y2hlcgEoRGlzcGF0Y2hlcgxIQWF2ZU1hbmFnZXJBY2NvdW50AQAAgKp+AAAAAAAAAAAAAAAAAAAACqfgAAAAAAAAAAAAAAAAACBFeHRyYUdhcwEAMCAAAAAAAAAAAABUTGFzdEV2bUNhbGxFeGl0UmVhc29uAAD9BgQAAAHVAgFtBgABvQkoADRBc3NldFJlZ2lzdHJ5ATRBc3NldFJlZ2lzdHJ5HBhBc3NldHMAAQQCEMEJBAAEVCBEZXRhaWxzIG9mIGFuIGFzc2V0LixOZXh0QXNzZXRJZAEAEBABAAAABF0BIE5leHQgYXZhaWxhYmxlIGFzc2V0IGlkLiBUaGlzIGlzIHNlcXVlbnRpYWwgaWQgYXNzaWduZWQgZm9yIGVhY2ggbmV3IHJlZ2lzdGVyZWQgYXNzZXQuIEFzc2V0SWRzAAEEAuECEAQABKQgTWFwcGluZyBiZXR3ZWVuIGFzc2V0IG5hbWUgYW5kIGFzc2V0IGlkLjhBc3NldExvY2F0aW9ucwABBAIQ8QIEAAR0IE5hdGl2ZSBsb2NhdGlvbiBvZiBhbiBhc3NldC4wQmFubmVkQXNzZXRzAAEEAhCQBAAEsCBOb24tbmF0aXZlIGFzc2V0cyB3aGljaCB0cmFuc2ZlciBpcyBiYW5uZWQuOExvY2F0aW9uQXNzZXRzAAEEAvECEAQABIQgTG9jYWwgYXNzZXQgZm9yIG5hdGl2ZSBsb2NhdGlvbi5kRXhpc3RlbnRpYWxEZXBvc2l0Q291bnRlcgEAGEAAAAAAAAAAAAAAAAAAAAAACC0BIE51bWJlciBvZiBhY2NvdW50cyB0aGF0IHBhaWQgZXhpc3RlbnRpYWwgZGVwb3NpdHMgZm9yIGluc3VmZmljaWVudCBhc3NldHMusCBUaGlzIHN0b3JhZ2UgaXMgdXNlZCBieSBgU3VmZmljaWVuY3lDaGVja2AuAdkCAXEGEExTZXF1ZW50aWFsSWRTdGFydEF0EBBAQg8AACxTdHJpbmdMaW1pdBAQIAAAAATgIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhIG5hbWUgb3Igc3ltYm9sIHN0b3JlZCBvbi1jaGFpbi44TWluU3RyaW5nTGltaXQQEAMAAAAE0CBUaGUgbWluIGxlbmd0aCBvZiBhIG5hbWUgb3Igc3ltYm9sIHN0b3JlZCBvbi1jaGFpbi5sUmVnRXh0ZXJuYWxXZWlnaHRNdWx0aXBsaWVyMCAKAAAAAAAAAATQIFdlaWdodCBtdWx0aXBsaWVyIGZvciBgcmVnaXN0ZXJfZXh0ZXJuYWxgIGV4dHJpbnNpYwHFCTMAGENsYWltcwEYQ2xhaW1zBBhDbGFpbXMBAQQCeQYYQAAAAAAAAAAAAAAAAAAAAAAEnCBBc3NldCBpZCBzdG9yYWdlIGZvciBlYWNoIHNoYXJlZCB0b2tlbgERAwF1BgAByQk1ADhHZW5lc2lzSGlzdG9yeQE4R2VuZXNpc0hpc3RvcnkENFByZXZpb3VzQ2hhaW4BAM0JAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZAwAAADcAPENvbGxhdG9yUmV3YXJkcwE8Q29sbGF0b3JSZXdhcmRzBCRDb2xsYXRvcnMBAQQFENEJBAAEqCBTdG9yZXMgdGhlIGNvbGxhdG9ycyBwZXIgc2Vzc2lvbiAoaW5kZXgpLgABfQYMRFJld2FyZFBlckNvbGxhdG9yGEB4+ot1KJ4BAAAAAAAAAAAABIAgUmV3YXJkIGFtb3VudCBwZXIgb25lIGNvbGxhdG9yLkBSZXdhcmRDdXJyZW5jeUlkEBAAAAAABEAgUmV3YXJkIEFzc2V0IElkKFJld2FyZHNCYWcAgG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVCTkAIE9tbmlwb29sASBPbW5pcG9vbBAYQXNzZXRzAAEEAhDZCQQABIggU3RhdGUgb2YgYW4gYXNzZXQgaW4gdGhlIG9tbmlwb29sTEh1YkFzc2V0VHJhZGFiaWxpdHkBACUDBAEEdCBUcmFkYWJsZSBzdGF0ZSBvZiBodWIgYXNzZXQuJFBvc2l0aW9ucwABBAIY3QkEAAT0IExQIHBvc2l0aW9ucy4gTWFwcyBORlQgaW5zdGFuY2UgaWQgdG8gY29ycmVzcG9uZGluZyBwb3NpdGlvbjhOZXh0UG9zaXRpb25JZAEAGEAAAAAAAAAAAAAAAAAAAAAABFwgUG9zaXRpb24gaWRzIHNlcXVlbmNlcgEdAwGBBiQoSGR4QXNzZXRJZBAQAAAAAARAIE5hdGl2ZSBBc3NldCBJRChIdWJBc3NldElkEBABAAAABDQgSHViIEFzc2V0IElEQE1pbldpdGhkcmF3YWxGZWUhAxBkAAAABFwgTWluaW11bSB3aXRoZHJhd2FsIGZlZUxNaW5pbXVtVHJhZGluZ0xpbWl0GEDoAwAAAAAAAAAAAAAAAAAABFggTWluaW11bSB0cmFkaW5nIGxpbWl0UE1pbmltdW1Qb29sTGlxdWlkaXR5GEBAQg8AAAAAAAAAAAAAAAAABKggTWluaW11bSBwb29sIGxpcXVpZGl0eSB3aGljaCBjYW4gYmUgYWRkZWQoTWF4SW5SYXRpbxhAAwAAAAAAAAAAAAAAAAAAAATwIE1heCBmcmFjdGlvbiBvZiBhc3NldCByZXNlcnZlIHRvIHNlbGwgaW4gc2luZ2xlIHRyYW5zYWN0aW9uLE1heE91dFJhdGlvGEADAAAAAAAAAAAAAAAAAAAABOwgTWF4IGZyYWN0aW9uIG9mIGFzc2V0IHJlc2VydmUgdG8gYnV5IGluIHNpbmdsZSB0cmFuc2FjdGlvbjxORlRDb2xsZWN0aW9uSWQYQDkFAAAAAAAAAAAAAAAAAAAEWCBOb24gZnVuZ2libGUgY2xhc3MgaWQ8QnVyblByb3RvY29sRmVlIQMQIKEHAAAB4Qk7AEBUcmFuc2FjdGlvblBhdXNlAUBUcmFuc2FjdGlvblBhdXNlBEhQYXVzZWRUcmFuc2FjdGlvbnMAAQQF5QmQBAAMbCBUaGUgcGF1c2VkIHRyYW5zYWN0aW9uIG1hcADcIG1hcCAoUGFsbGV0TmFtZUJ5dGVzLCBGdW5jdGlvbk5hbWVCeXRlcykgPT4gT3B0aW9uPCgpPgEtAwGFBgAB7Qk8ABhEdXN0ZXIBGER1c3RlcgxAQWNjb3VudEJsYWNrbGlzdAABBAIAkAQABIAgQWNjb3VudHMgZXhjbHVkZWQgZnJvbSBkdXN0aW5nLjRSZXdhcmRBY2NvdW50AAAABAAEdCBBY2NvdW50IHRvIHRha2UgcmV3YXJkIGZyb20uLER1c3RBY2NvdW50AAAABAAEZCBBY2NvdW50IHRvIHNlbmQgZHVzdCB0by4BMQMBiQYMGFJld2FyZBhAAAAAAAAAAAAAAAAAAAAAAAQ4IFJld2FyZCBhbW91bnRATmF0aXZlQ3VycmVuY3lJZBAQAAAAAARAIE5hdGl2ZSBBc3NldCBJZERUcmVhc3VyeUFjY291bnRJZACAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAELQEgRGVmYXVsdCBhY2NvdW50IGZvciBgcmV3YXJkX2FjY291bnRgIGFuZCBgZHVzdF9hY2NvdW50YCBpbiBnZW5lc2lzIGNvbmZpZy4B8Qk9AExPbW5pcG9vbFdhcmVob3VzZUxNAUxPbW5pcG9vbFdhcmVob3VzZUxNGDRGYXJtU2VxdWVuY2VyAQAQEAAAAAAEvCBJZCBzZXF1ZW5jZXIgZm9yIGBHbG9iYWxGYXJtYCBhbmQgYFlpZWxkRmFybWAuQERlcG9zaXRTZXF1ZW5jZXIBABhAAAAAAAAAAAAAAAAAAAAAAAAoR2xvYmFsRmFybQABBAIQ9QkEAAAkWWllbGRGYXJtAAEMAgIC/QkBCgQABFAgWWllbGQgZmFybSBkZXRhaWxzLhxEZXBvc2l0AAEEBRgFCgQABEQgRGVwb3NpdCBkZXRhaWxzLjxBY3RpdmVZaWVsZEZhcm0AAQgCAk0DEAQABPggQWN0aXZlKGZhcm1zIGFibGUgdG8gcmVjZWl2ZSBMUCBzaGFyZXMgZGVwb3NpdHMpIHlpZWxkIGZhcm1zLgE1AwGNBhggUGFsbGV0SWQpCCBPbW5pV2hMTQQsIFBhbGxldCBpZC5EVHJlYXN1cnlBY2NvdW50SWQAgG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAABOggVHJlYXN1cnkgYWNjb3VudCB0byByZWNlaXZlIGNsYWltZWQgcmV3YXJkcyBsb3dlciB0aGFuIEVETE1pblRvdGFsRmFybVJld2FyZHMYQAAQpdToAAAAAAAAAAAAAAAEOQEgTWluaW11bSB0b3RhbCByZXdhcmRzIHRvIGRpc3RyaWJ1dGUgZnJvbSBnbG9iYWwgZmFybSBkdXJpbmcgbGlxdWlkaXR5IG1pbmluZy5kTWluUGxhbm5lZFlpZWxkaW5nUGVyaW9kcxAQaDgAAATsIE1pbmltdW0gbnVtYmVyIG9mIHBlcmlvZHMgdG8gcnVuIGxpcXVpZGl0eSBtaW5pbmcgcHJvZ3JhbS5gTWF4RmFybUVudHJpZXNQZXJEZXBvc2l0EBAFAAAACGUBIE1heGltdW0gbnVtYmVyIG9mIHlpZWxkIGZhcm1zIHNhbWUgTFAgc2hhcmVzIGNhbiBiZSByZS9kZXBvc2l0ZWQgaW50by4gVGhpcyB2YWx1ZSBhbHdheXNcIE1VU1QgQkUgPj0gMS4gICAgICAgICBoTWF4WWllbGRGYXJtc1Blckdsb2JhbEZhcm0QEDIAAAAITQEgTWF4IG51bWJlciBvZiB5aWVsZCBmYXJtcyBjYW4gZXhpc3QgaW4gZ2xvYmFsIGZhcm0uIFRoaXMgaW5jbHVkZXMgYWxsIGZhcm1zIGluIHRoZZggc3RvcmFnZShhY3RpdmUsIHN0b3BwZWQsIHRlcm1pbmF0ZWQpLgEVCj4AXE9tbmlwb29sTGlxdWlkaXR5TWluaW5nAVxPbW5pcG9vbExpcXVpZGl0eU1pbmluZwQ4T21uaVBvc2l0aW9uSWQAAQQCGBgEAATQIE1hcCBvZiBvbW5pcG9vbCBwb3NpdGlvbidzIGlkcyB0byBMTSdzIGRlcG9zaXQgaWRzLgE5AwGRBgw8TkZUQ29sbGVjdGlvbklkGEAYCgAAAAAAAAAAAAAAAAAABNwgTkZUIGNvbGxlY3Rpb24gaWQgZm9yIGxpcXVpZGl0eSBtaW5pbmcncyBkZXBvc2l0IG5mdHMuME9yYWNsZVNvdXJjZf0BIG9tbmlwb29sBIQgSWRlbnRpZmllciBvZiBvcmFjbGUgZGF0YSBzb3J1Y2UwT3JhY2xlUGVyaW9kuQMEAgSMIE9yYWNsZSdzIHByaWNlIGFnZ3JlZ2F0aW9uIHBlcmlvZC4BHQo/AAxPVEMBDE9UQwgsTmV4dE9yZGVySWQBABAQAAAAAARgIElEIHNlcXVlbmNlciBmb3IgT3JkZXJzGE9yZGVycwABBAIQJQoEAAABbQMBlQYMcEV4aXN0ZW50aWFsRGVwb3NpdE11bHRpcGxpZXIIBAUEQQEgTXVsdGlwbGllciB1c2VkIHRvIGNvbXB1dGUgbWluaW1hbCBhbW91bnRzIG9mIGFzc2V0X2luIGFuZCBhc3NldF9vdXQgaW4gYW4gT1RDLgxGZWUhAxDoAwAABHggRmVlIGRlZHVjdGVkIGZyb20gYW1vdW50X291dC4sRmVlUmVjZWl2ZXIAgG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAABDggRmVlIHJlY2VpdmVyLgEpCkAAOENpcmN1aXRCcmVha2VyAThDaXJjdWl0QnJlYWtlchxgVHJhZGVWb2x1bWVMaW1pdFBlckFzc2V0AQEEAhBNAyCIEwAAECcAAAj0IFRyYWRlIHZvbHVtZSBsaW1pdHMgb2YgYXNzZXRzIHNldCBieSBzZXRfdHJhZGVfdm9sdW1lX2xpbWl0LpwgSWYgbm90IHNldCwgcmV0dXJucyB0aGUgZGVmYXVsdCBsaW1pdC58QWxsb3dlZFRyYWRlVm9sdW1lTGltaXRQZXJBc3NldAABBAIQLQoEAARgIFRyYWRlIHZvbHVtZXMgcGVyIGFzc2V0ZExpcXVpZGl0eUFkZExpbWl0UGVyQXNzZXQBAQQCEHUDJAH0AQAAECcAAAjEIExpcXVpZGl0eSBsaW1pdHMgb2YgYXNzZXRzIGZvciBhZGRpbmcgbGlxdWlkaXR5LpwgSWYgbm90IHNldCwgcmV0dXJucyB0aGUgZGVmYXVsdCBsaW1pdC6EQWxsb3dlZEFkZExpcXVpZGl0eUFtb3VudFBlckFzc2V0AAEEAhAxCgQABIAgQWRkIGxpcXVpZGl0eSB2b2x1bWVzIHBlciBhc3NldEhBc3NldExvY2tkb3duU3RhdGUAAQQCEDUKBAAAcExpcXVpZGl0eVJlbW92ZUxpbWl0UGVyQXNzZXQBAQQCEHUDJAH0AQAAECcAAAjMIExpcXVpZGl0eSBsaW1pdHMgb2YgYXNzZXRzIGZvciByZW1vdmluZyBsaXF1aWRpdHkunCBJZiBub3Qgc2V0LCByZXR1cm5zIHRoZSBkZWZhdWx0IGxpbWl0LpBBbGxvd2VkUmVtb3ZlTGlxdWlkaXR5QW1vdW50UGVyQXNzZXQAAQQCEDEKBAAEjCBSZW1vdmUgbGlxdWlkaXR5IHZvbHVtZXMgcGVyIGFzc2V0AXEDAZkGDJREZWZhdWx0TWF4TmV0VHJhZGVWb2x1bWVMaW1pdFBlckJsb2NrTQMgiBMAABAnAAAIMQEgVGhlIG1heGltdW0gcGVyY2VudGFnZSBvZiBhIHBvb2wncyBsaXF1aWRpdHkgdGhhdCBjYW4gYmUgdHJhZGVkIGluIGEgYmxvY2sudQEgUmVwcmVzZW50ZWQgYXMgYSBub24temVybyBmcmFjdGlvbiAobm9taW5hdG9yLCBkZW5vbWluYXRvcikgd2l0aCB0aGUgbWF4IHZhbHVlIGJlaW5nIDEwXzAwMC6MRGVmYXVsdE1heEFkZExpcXVpZGl0eUxpbWl0UGVyQmxvY2t1AyQB9AEAABAnAAAMLQEgVGhlIG1heGltdW0gcGVyY2VudGFnZSBvZiBhIHBvb2wncyBsaXF1aWRpdHkgdGhhdCBjYW4gYmUgYWRkZWQgaW4gYSBibG9jay6dASBSZXByZXNlbnRlZCBhcyBhbiBvcHRpb25hbCBub24temVybyBmcmFjdGlvbiAobm9taW5hdG9yLCBkZW5vbWluYXRvcikgd2l0aCB0aGUgbWF4IHZhbHVlIGJlaW5nIDEwXzAwMC60IElmIHNldCB0byBOb25lLCB0aGUgbGltaXRzIGFyZSBub3QgZW5mb3JjZWQumERlZmF1bHRNYXhSZW1vdmVMaXF1aWRpdHlMaW1pdFBlckJsb2NrdQMkAfQBAAAQJwAADDUBIFRoZSBtYXhpbXVtIHBlcmNlbnRhZ2Ugb2YgYSBwb29sJ3MgbGlxdWlkaXR5IHRoYXQgY2FuIGJlIHJlbW92ZWQgaW4gYSBibG9jay6dASBSZXByZXNlbnRlZCBhcyBhbiBvcHRpb25hbCBub24temVybyBmcmFjdGlvbiAobm9taW5hdG9yLCBkZW5vbWluYXRvcikgd2l0aCB0aGUgbWF4IHZhbHVlIGJlaW5nIDEwXzAwMC60IElmIHNldCB0byBOb25lLCB0aGUgbGltaXRzIGFyZSBub3QgZW5mb3JjZWQuATkKQQAYUm91dGVyARhSb3V0ZXIEGFJvdXRlcwABBAKNA30DBAAEfCBTdG9yaW5nIHJvdXRlcyBmb3IgYXNzZXQgcGFpcnMBeQMBnQYINE5hdGl2ZUFzc2V0SWQQEAAAAAAEQCBOYXRpdmUgQXNzZXQgSWQwT3JhY2xlUGVyaW9kuQMEAgSMIE9yYWNsZSdzIHByaWNlIGFnZ3JlZ2F0aW9uIHBlcmlvZC4BPQpDACxEeW5hbWljRmVlcwEsRHluYW1pY0ZlZXMIIEFzc2V0RmVlAAEEBRBBCgQACEkBIFN0b3JlcyBsYXN0IGNhbGN1bGF0ZWQgZmVlIG9mIGFuIGFzc2V0IGFuZCBibG9jayBudW1iZXIgaW4gd2hpY2ggaXQgd2FzIGNoYW5nZWQuLsggU3RvcmVkIGFzIChBc3NldCBmZWUsIFByb3RvY29sIGZlZSwgQmxvY2sgbnVtYmVyKVRBc3NldEZlZUNvbmZpZ3VyYXRpb24AAQQFEJUDBAAE2CBTdG9yZXMgcGVyLWFzc2V0IGZlZSBjb25maWd1cmF0aW9uIChGaXhlZCBvciBEeW5hbWljKQGRAwGhBghIQXNzZXRGZWVQYXJhbWV0ZXJzmQOgxAkAAFDDAAAAID2IeS0AAAAAAAAAAAAAAADITmdtwRsAAAAAAAAAAABUUHJvdG9jb2xGZWVQYXJhbWV0ZXJzmQOg9AEAAMQJAAAAkB7EvBYAAAAAAAAAAAAAAABkp7O24A0AAAAAAAAAAAABRQpEABxTdGFraW5nARxTdGFraW5nIBxTdGFraW5nAQBJCsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWCBHbG9iYWwgc3Rha2luZyBzdGF0ZS4kUG9zaXRpb25zAAEEAhhNCgQABFwgVXNlcidzIHBvc2l0aW9uIHN0YXRlLjhOZXh0UG9zaXRpb25JZAEAGEAAAAAAAAAAAAAAAAAAAAAABGAgUG9zaXRpb24gaWRzIHNlcXVlbmNlci4UVm90ZXMBAQQCGFEKBAAEYCBMaXN0IG9mIHBvc2l0aW9uIHZvdGVzLjRWb3Rlc1Jld2FyZGVkAAEIAgKVCF0KBAAEnQEgTGlzdCBvZiBwcm9jZXNzZWQgdm90ZS4gVXNlZCB0byBkZXRlcm1pbmUgaWYgdGhlIHZvdGUgc2hvdWxkIGJlIGxvY2tlZCBpbiBjYXNlIG9mIHZvdGluZyBub3QgaW4gZmF2b3IuNFBvc2l0aW9uVm90ZXMBAQQCGFEKBAAEaQEgTGVnYWN5IHN0b3JhZ2UhIC0gVXNlZCB0byBoYW5kbGUgZGVtb2NyYWN5IHZvdGVzIHVudGlsIGRlbW9jcmFjeSBwYWxsZXQgaXMgZnVsbHkgcmVtb3ZlZC44UHJvY2Vzc2VkVm90ZXMAAQgCApUIXQoEAASRASBMZWdhY3kgc3RvcmFnZSEgLSBVc2VkIHRvIGhhbmRsZSBkZW1vY3JhY3kgcHJvY2Vzc2VkIHZvdGVzIHVudGlsIGRlbW9jcmFjeSBwYWxsZXQgaXMgZnVsbHkgcmVtb3ZlZC5EU2l4U2VjQmxvY2tzU2luY2UBABAQ/////wTAIEJsb2NrIG51bWJlciB3aGVuIHdlIHN3aXRjaGVkIHRvIDYgc2VjLiBibG9ja3MuAZ0DAaUGLDBQZXJpb2RMZW5ndGgQECAcAAAEhCBTdGFraW5nIHBlcmlvZCBsZW5ndGggaW4gYmxvY2tzLiBQYWxsZXRJZCkIIHN0YWtpbmcjBCwgUGFsbGV0IGlkLjROYXRpdmVBc3NldElkEBAAAAAABEQgTmF0aXZlIEFzc2V0IElELiBNaW5TdGFrZRhAAIDGpH6NAwAAAAAAAAAAAARwIE1pbiBhbW91bnQgdXNlciBtdXN0IHN0YWtlLkBUaW1lUG9pbnRzV2VpZ2h0IQMQQEIPAATgIFdlaWdodCBvZiB0aGUgdGltZSBwb2ludHMgaW4gdG90YWwgcG9pbnRzIGNhbGN1bGF0aW9ucy5IQWN0aW9uUG9pbnRzV2VpZ2h0wQMQAMLrCwToIFdlaWdodCBvZiB0aGUgYWN0aW9uIHBvaW50cyBpbiB0b3RhbCBwb2ludHMgY2FsY3VsYXRpb25zLkxUaW1lUG9pbnRzUGVyUGVyaW9kCAQBBNQgTnVtYmVyIG9mIHRpbWUgcG9pbnRzIHVzZXJzIHJlY2VpdmUgZm9yIGVhY2ggcGVyaW9kLkhVbmNsYWltYWJsZVBlcmlvZHMYQAEAAAAAAAAAAAAAAAAAAAAIdQEgTnVtYmVyIG9mIHBlcmlvZHMgdXNlciBjYW4ndCBjbGFpbSByZXdhcmRzIGZvci4gVXNlciBjYW4gZXhpdCBidXQgd29uJ3QgcmVjZWl2ZSBhbnkgcmV3YXJkcy5xASBJZiBoZSBzdGF5IGxvbmdlciB0aGFuIGBVbmNsYWltYWJsZVBlcmlvZHNgIGhlIHdpbGwgcmVjZWl2ZSByZXdhcmRzIGFsc28gZm9yIHRoZXNlIHBlcmlvZHMuSEN1cnJlbnRTdGFrZVdlaWdodAgEAgSxASBXZWlnaHQgb2YgdGhlIGFjdHVhbCBzdGFrZSBpbiBzbGFzaCBwb2ludHMgY2FsY3VsYXRpb24uIEJpZ2dlciB0aGUgdmFsdWUgbG93ZXIgdGhlIGNhbGN1bGF0ZWQgc2xhc2ggcG9pbnRzLiBNYXhWb3RlcxAQGQAAAATMIE1heCBhbW91bnQgb2Ygdm90ZXMgdGhlIHVzZXIgY2FuIGhhdmUgYXQgYW55IHRpbWUuPE5GVENvbGxlY3Rpb25JZBhArggAAAAAAAAAAAAAAAAAAARMIE5GVCBjb2xsZWN0aW9uIGlkLgFpCkUAKFN0YWJsZXN3YXABKFN0YWJsZXN3YXAQFFBvb2xzAAEEAhBxCgQABDwgRXhpc3RpbmcgcG9vbHMgUG9vbFBlZ3MAAQQCELUGBAAEPCBQb29sIHBlZyBpbmZvLkBBc3NldFRyYWRhYmlsaXR5AQEIAgJNA6kDBA8EiCBUcmFkYWJpbGl0eSBzdGF0ZSBvZiBwb29sIGFzc2V0cy40UG9vbFNuYXBzaG90cwABBAIQdQoEAAQ5ASBUZW1wb3JhcnkgcG9vbCBzdGF0ZSBzdG9yYWdlLiBVc2VkIHRvIHNhdmUgYSBzdGF0ZSBvZiBwb29sIGluIGEgc2luZ2xlIGJsb2NrLgGhAwGpBgxATWluUG9vbExpcXVpZGl0eRhAQEIPAAAAAAAAAAAAAAAAAARcIE1pbmltdW0gcG9vbCBsaXF1aWRpdHk8TWluVHJhZGluZ0xpbWl0GEDoAwAAAAAAAAAAAAAAAAAABFwgTWluaW11bSB0cmFkaW5nIGFtb3VudEhBbXBsaWZpY2F0aW9uUmFuZ2WFChACABAnBD0BIEFtcGxpZmljYXRpb24gaW5jbHVzaXZlIHJhbmdlLiBQb29sJ3MgYW1wIGNhbiBiZSBzZWxlY3RlZCBmcm9tIHRoZSByYW5nZSBvbmx5LgGJCkYAFEJvbmRzARRCb25kcwgcQm9uZElkcwABBAKNChAEAAhUIFJlZ2lzdGVyZWQgYm9uZCBpZHMuwCBNYXBzICh1bmRlcmx5aW5nIGFzc2V0IElELCBtYXR1cml0eSkgLT4gYm9uZCBJRBRCb25kcwABBAIQjQoEAAhIIFJlZ2lzdGVyZWQgYm9uZHMuwCBNYXBzIGJvbmQgSUQgLT4gKHVuZGVybHlpbmcgYXNzZXQgSUQsIG1hdHVyaXR5KQHFAwHBBgwgUGFsbGV0SWQpCCBwbHRib25kcwTsIFRoZSBwYWxsZXQgaWQsIHVzZWQgZm9yIGRlcml2aW5nIGl0cyBzb3ZlcmVpZ24gYWNjb3VudCBJRC4sUHJvdG9jb2xGZWUhAxAgTgAABDggUHJvdG9jb2wgZmVlLixGZWVSZWNlaXZlcgCAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAEXCBQcm90b2NvbCBmZWUgcmVjZWl2ZXIuAZEKRwA4T3RjU2V0dGxlbWVudHMAAckDAcUGFDhQcm9maXRSZWNlaXZlcgCAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAEhCBBY2NvdW50IHdobyByZWNlaXZlcyB0aGUgcHJvZml0LkxNaW5Qcm9maXRQZXJjZW50YWdlwQMQECcAAAScIE1pbmltdW0gcHJvZml0IGluIHRlcm1zIG9mIHBlcmNlbnRhZ2UuOFByaWNlUHJlY2lzaW9uPQFAAADBb/KGIwAAAAAAAAAAAATQIERldGVybWluZXMgd2hlbiB3ZSBjb25zaWRlciBhbiBhcmJpdHJhZ2UgYXMgY2xvc2VkLjxNaW5UcmFkaW5nTGltaXQYQOgDAAAAAAAAAAAAAAAAAAAEXCBNaW5pbXVtIHRyYWRpbmcgbGltaXQuNE1heEl0ZXJhdGlvbnMQECgAAAAEbQEgTWF4aW11bSBudW1iZXIgb2YgaXRlcmF0aW9ucyB1c2VkIGluIHRoZSBiaW5hcnkgc2VhcmNoIGFsZ29yaXRobSB0byBmaW5kIHRoZSB0cmFkZSBhbW91bnQuAZUKSAAMTEJQAQxMQlAIIFBvb2xEYXRhAAEEAgDNBgQABEwgRGV0YWlscyBvZiBhIHBvb2wuVEZlZUNvbGxlY3RvcldpdGhBc3NldAEBCAIClQggBAAIyCBTdG9yYWdlIHVzZWQgZm9yIHRyYWNraW5nIGV4aXN0aW5nIGZlZSBjb2xsZWN0b3JzzCBOb3QgbW9yZSB0aGFuIG9uZSBmZWUgY29sbGVjdG9yIHBlciBhc3NldCBwb3NzaWJsZQHNAwHJBhQ8TWluVHJhZGluZ0xpbWl0GEDoAwAAAAAAAAAAAAAAAAAABCEBIE1pbmltdW0gdHJhZGluZyBsaW1pdCwgc29sZSBwdXJwb3NlIG9mIHRoaXMgaXMgdG8ga2VlcCB0aGUgbWF0aCB3b3JraW5nQE1pblBvb2xMaXF1aWRpdHkYQEBCDwAAAAAAAAAAAAAAAAAEJQEgTWluaW11bSBwb29sIGxpcXVpZGl0eSwgc29sZSBwdXJwb3NlIG9mIHRoaXMgaXMgdG8ga2VlcCB0aGUgbWF0aCB3b3JraW5nKE1heEluUmF0aW8YQAMAAAAAAAAAAAAAAAAAAAAEzCBNYXggZnJhY3Rpb24gb2YgcG9vbCB0byBzZWxsIGluIHNpbmdsZSB0cmFuc2FjdGlvbixNYXhPdXRSYXRpbxhAAwAAAAAAAAAAAAAAAAAAAATIIE1heCBmcmFjdGlvbiBvZiBwb29sIHRvIGJ1eSBpbiBzaW5nbGUgdHJhbnNhY3Rpb24kcmVwYXlfZmVlTQMgAgAAAAoAAAAAAZkKSQAMWFlLAQxYWUsMKFNoYXJlVG9rZW4BAQQCABAQAAAAAASgIEFzc2V0IGlkIHN0b3JhZ2UgZm9yIHNoYXJlZCBwb29sIHRva2VuczhUb3RhbExpcXVpZGl0eQEBBAIAGEAAAAAAAAAAAAAAAAAAAAAABGwgVG90YWwgbGlxdWlkaXR5IGluIGEgcG9vbC4oUG9vbEFzc2V0cwABBAIATQMEAARYIEFzc2V0IHBhaXIgaW4gYSBwb29sLgHZAwHRBhw0TmF0aXZlQXNzZXRJZBAQAAAAAARAIE5hdGl2ZSBBc3NldCBJZDhHZXRFeGNoYW5nZUZlZU0DIAMAAADoAwAABEQgVHJhZGluZyBmZWUgcmF0ZTxNaW5UcmFkaW5nTGltaXQYQOgDAAAAAAAAAAAAAAAAAAAEWCBNaW5pbXVtIHRyYWRpbmcgbGltaXRATWluUG9vbExpcXVpZGl0eRhAQEIPAAAAAAAAAAAAAAAAAARcIE1pbmltdW0gcG9vbCBsaXF1aWRpdHkoTWF4SW5SYXRpbxhAAwAAAAAAAAAAAAAAAAAAAATMIE1heCBmcmFjdGlvbiBvZiBwb29sIHRvIHNlbGwgaW4gc2luZ2xlIHRyYW5zYWN0aW9uLE1heE91dFJhdGlvGEADAAAAAAAAAAAAAAAAAAAABMggTWF4IGZyYWN0aW9uIG9mIHBvb2wgdG8gYnV5IGluIHNpbmdsZSB0cmFuc2FjdGlvbjBPcmFjbGVTb3VyY2X9ASBoeWRyYXh5awSoIE9yYWNsZSBzb3VyY2UgaWRlbnRpZmllciBmb3IgdGhpcyBwYWxsZXQuAZ0KSgAkUmVmZXJyYWxzASRSZWZlcnJhbHMoNFJlZmVycmFsQ29kZXMAAQQC4QMABAAIPCBSZWZlcnJhbCBjb2Rlc5AgTWFwcyBhIHJlZmVycmFsIGNvZGUgdG8gYW4gYWNjb3VudC5AUmVmZXJyYWxBY2NvdW50cwABBAIA4QMEAAhIIFJlZmVycmFsIGFjY291bnRzkCBNYXBzIGFuIGFjY291bnQgdG8gYSByZWZlcnJhbCBjb2RlLjhMaW5rZWRBY2NvdW50cwABBAIAAAQACEQgTGlua2VkIGFjY291bnRzLpwgTWFwcyBhbiBhY2NvdW50IHRvIGEgcmVmZXJyYWwgYWNjb3VudC44UmVmZXJyZXJTaGFyZXMBAQQCABhAAAAAAAAAAAAAAAAAAAAAAAR0IFNoYXJlcyBvZiBhIHJlZmVycmFsIGFjY291bnQwVHJhZGVyU2hhcmVzAQEEAgAYQAAAAAAAAAAAAAAAAAAAAAAEbCBTaGFyZXMgb2YgYSB0cmFkZXIgYWNjb3VudCxUb3RhbFNoYXJlcwEAGEAAAAAAAAAAAAAAAAAAAAAABFggVG90YWwgc2hhcmUgaXNzdWFuY2UuIFJlZmVycmVyAAEEAgChCgQADNwgUmVmZXJlciBsZXZlbCBhbmQgdG90YWwgYWNjdW11bGF0ZWQgcmV3YXJkcyBvdmVyIHRpbWUu1QEgTWFwcyByZWZlcnJlciBhY2NvdW50IHRvIChMZXZlbCwgQmFsYW5jZSkuIExldmVsIGluZGljYXRlcyBjdXJyZW50IHJld2FyZHMgYW5kIEJhbGFuY2UgaXMgdXNlZCB0byB1bmxvY2sgbmV4dCBsZXZlbC65ASBEZXYgbm90ZTogd2UgdXNlIE9wdGlvblF1ZXJ5IGhlcmUgYmVjYXVzZSB0aGlzIGhlbHBzIHRvIGVhc2lseSBkZXRlcm1pbmUgdGhhdCBhbiBhY2NvdW50IGlmIHJlZmVycmVyIGFjY291bnQuMEFzc2V0UmV3YXJkcwABCAICpQrpAwQACLAgQXNzZXQgZmVlIGRpc3RyaWJ1dGlvbiByZXdhcmRzIGluZm9ybWF0aW9uLtAgTWFwcyAoYXNzZXRfaWQsIGxldmVsKSB0byBhc3NldCByZXdhcmQgcGVyY2VudGFnZXMuSFBlbmRpbmdDb252ZXJzaW9ucwABBAIQkAQACAEBIEluZm9ybWF0aW9uIGFib3V0IGFzc2V0cyB0aGF0IGFyZSBjdXJyZW50bHkgaW4gdGhlIHJld2FyZHMgcG90Lg0BIFVzZWQgdG8gZWFzaWx5IGRldGVybWluZSBsaXN0IG9mIGFzc2V0cyB0aGF0IG5lZWQgdG8gYmUgY29udmVydGVkLnBDb3VudGVyRm9yUGVuZGluZ0NvbnZlcnNpb25zAQAQEAAAAAAErENvdW50ZXIgZm9yIHRoZSByZWxhdGVkIGNvdW50ZWQgc3RvcmFnZSBtYXAB3QMB1QYYLFJld2FyZEFzc2V0EBAAAAAABNggSUQgb2YgYW4gYXNzZXQgdGhhdCBpcyB1c2VkIHRvIGRpc3RyaWJ1dGUgcmV3YXJkcyBpbi4gUGFsbGV0SWQpCCByZWZlcnJhbARFASBQYWxsZXQgaWQuIERldGVybWluZXMgYWNjb3VudCB3aGljaCBob2xkcyBhY2N1bXVsYXRlZCByZXdhcmRzIGluIHZhcmlvdXMgYXNzZXRzLjxSZWdpc3RyYXRpb25GZWWpCtAAAAAAAOAjZ+jJAAAAAAAAAAAAAG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAACGggUmVnaXN0cmF0aW9uIGZlZSBkZXRhaWxzLiUBIChJRCBvZiBhbiBhc3NldCB3aGljaCBmZWUgaXMgdG8gYmUgcGFpZCBpbiwgQW1vdW50LCBCZW5lZmljaWFyeSBhY2NvdW50KShDb2RlTGVuZ3RoEBAKAAAABHggTWF4aW11bSByZWZlcnJhbCBjb2RlIGxlbmd0aC40TWluQ29kZUxlbmd0aBAQBAAAAAR4IE1pbmltdW0gcmVmZXJyYWwgY29kZSBsZW5ndGguQFNlZWROYXRpdmVBbW91bnQYQACgck4YCQAAAAAAAAAAAAAEtCBTZWVkIGFtb3VudCB0aGF0IHdhcyBzZW50IHRvIHRoZSByZXdhcmQgcG90LgGtCksALExpcXVpZGF0aW9uASxMaXF1aWRhdGlvbgREQm9ycm93aW5nQ29udHJhY3QBAEEBUBsC4FFoO1z6xZKcJehK2ybs+Hs4BIggQm9ycm93aW5nIG1hcmtldCBjb250cmFjdCBhZGRyZXNzAe0DAd0GDCBHYXNMaW1pdDAgAAk9AAAAAAAE5CBUaGUgZ2FzIGxpbWl0IGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBsaXF1aWRhdGlvbiBjYWxsLjhQcm9maXRSZWNlaXZlcgCAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAEhCBBY2NvdW50IHdobyByZWNlaXZlcyB0aGUgcHJvZml0LiBIb2xsYXJJZBAQ3gAAAARMIEFzc2V0IElEIG9mIEhvbGxhcgGxCkwADEhTTQEMSFNNDCxDb2xsYXRlcmFscwABBAIQtQoEABToIExpc3Qgb2YgYXBwcm92ZWQgYXNzZXRzIHRoYXQgSG9sbGFyIGNhbiBiZSBwdXJjaGFzZWQgd2l0aAAtASBUaGlzIHN0b3JhZ2UgbWFwcyBhc3NldCBJRHMgdG8gdGhlaXIgY29sbGF0ZXJhbCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLikBIE9ubHkgYXNzZXRzIGluIHRoaXMgbWFwIGNhbiBiZSB1c2VkIHRvIG1pbnQgb3IgcmVkZWVtIEhvbGxhciB0aHJvdWdoIEhTTS5RASBFYWNoIGNvbGxhdGVyYWwgaGFzIHNwZWNpZmljIHBhcmFtZXRlcnMgY29udHJvbGxpbmcgaXRzIHVzYWdlIGluIHRoZSBIU00gbWVjaGFuaXNtLlBIb2xsYXJBbW91bnRSZWNlaXZlZAEBBAIQGEAAAAAAAAAAAAAAAAAAAAAAFOAgQW1vdW50IG9mIEhvbGxhciBib3VnaHQgd2l0aCBhbiBhc3NldCBpbiBhIHNpbmdsZSBibG9jawBRASBUaGlzIHN0b3JhZ2UgdHJhY2tzIGhvdyBtdWNoIEhvbGxhciBoYXMgYmVlbiBib3VnaHQgYmFjayBieSBIU00gZm9yIGVhY2ggY29sbGF0ZXJhbHUBIGFzc2V0IHdpdGhpbiB0aGUgY3VycmVudCBibG9jay4gVGhpcyBpcyB1c2VkIHRvIGVuZm9yY2UgcmF0ZSBsaW1pdGluZyBvbiBIb2xsYXIgcmVkZW1wdGlvbnMuCQEgVmFsdWVzIGFyZSByZXNldCB0byB6ZXJvIGF0IHRoZSBlbmQgb2YgZWFjaCBibG9jayBpbiBvbl9maW5hbGl6ZS4sRmxhc2hNaW50ZXIAAEEBBAAEkCBBZGRyZXNzIG9mIHRoZSBmbGFzaCBsb2FuIHJlY2VpdmVyLgHxAwHhBgwgSG9sbGFySWQQEN4AAAAETCBBc3NldCBJRCBvZiBIb2xsYXIgUGFsbGV0SWQpCCBweS9oc21vZASMIFBhbGxldCBJRCB0byBkZXRlcm1pbmUgSFNNIGFjY291bnQgR2FzTGltaXQwIIAaBgAAAAAABLQgVGhlIGdhcyBsaW1pdCBmb3IgdGhlIGV4ZWN1dGlvbiBvZiBFVk0gY2FsbHMBuQpSAChQYXJhbWV0ZXJzAShQYXJhbWV0ZXJzBCRJc1Rlc3RuZXQBACAEAAAAAAAAUwAYVG9rZW5zARhUb2tlbnMQNFRvdGFsSXNzdWFuY2UBAQQFEBhAAAAAAAAAAAAAAAAAAAAAAASQIFRoZSB0b3RhbCBpc3N1YW5jZSBvZiBhIHRva2VuIHR5cGUuFExvY2tzAQEIAgWVCL0KBAAI2CBBbnkgbGlxdWlkaXR5IGxvY2tzIG9mIGEgdG9rZW4gdHlwZSB1bmRlciBhbiBhY2NvdW50LiUBIE5PVEU6IFNob3VsZCBvbmx5IGJlIGFjY2Vzc2VkIHdoZW4gc2V0dGluZywgY2hhbmdpbmcgYW5kIGZyZWVpbmcgYSBsb2NrLiBBY2NvdW50cwEBCAIFlQjJCsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYuCBUaGUgYmFsYW5jZSBvZiBhIHRva2VuIHR5cGUgdW5kZXIgYW4gYWNjb3VudC4A/CBOT1RFOiBJZiB0aGUgdG90YWwgaXMgZXZlciB6ZXJvLCBkZWNyZWFzZSBhY2NvdW50IHJlZiBhY2NvdW50LgAZASBOT1RFOiBUaGlzIGlzIG9ubHkgdXNlZCBpbiB0aGUgY2FzZSB0aGF0IHRoaXMgbW9kdWxlIGlzIHVzZWQgdG8gc3RvcmUoIGJhbGFuY2VzLiBSZXNlcnZlcwEBCAIFlQjNCgQABKQgTmFtZWQgcmVzZXJ2ZXMgb24gc29tZSBhY2NvdW50IGJhbGFuY2VzLgEFBAHlBgggTWF4TG9ja3MQEDIAAAAALE1heFJlc2VydmVzEBAyAAAABA0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBuYW1lZCByZXNlcnZlcyB0aGF0IGNhbiBleGlzdCBvbiBhbiBhY2NvdW50LgHZCk0AKEN1cnJlbmNpZXMAAQkEAekGCDhSZXNlcnZlQWNjb3VudACAbW9kbGN1cnJlc2VyAAAAAAAAAAAAAAAAAAAAAAAAAAAATEdldE5hdGl2ZUN1cnJlbmN5SWQQEAAAAAAAAd0KTwAcVmVzdGluZwEcVmVzdGluZwRAVmVzdGluZ1NjaGVkdWxlcwEBBAIA4QoEAAyEIFZlc3Rpbmcgc2NoZWR1bGVzIG9mIGFuIGFjY291bnQuAOAgVmVzdGluZ1NjaGVkdWxlczogbWFwIEFjY291bnRJZCA9PiBWZWM8VmVzdGluZ1NjaGVkdWxlPgERBAHtBgRETWluVmVzdGVkVHJhbnNmZXIYQGQAAAAAAAAAAAAAAAAAAAAE6CBUaGUgbWluaW11bSBhbW91bnQgdHJhbnNmZXJyZWQgdG8gY2FsbCBgdmVzdGVkX3RyYW5zZmVyYC4B5QpRAAxFVk0BDEVWTRAwQWNjb3VudENvZGVzAQEEAkEBOAQAAFBBY2NvdW50Q29kZXNNZXRhZGF0YQABBAJBAekKBAAAPEFjY291bnRTdG9yYWdlcwEBCAIC7Qo0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBTdWljaWRlZAABBAJBAZAEAAABHQQB8QYAAfEKWgAoRVZNQ2hhaW5JZAEoRVZNQ2hhaW5JZAQcQ2hhaW5JZAEAMCAAAAAAAAAAAARIIFRoZSBFVk0gY2hhaW4gSUQuAAAAAFsAIEV0aGVyZXVtASBFdGhlcmV1bRgcUGVuZGluZwABBAYQ9QoEAATQIEN1cnJlbnQgYnVpbGRpbmcgYmxvY2sncyB0cmFuc2FjdGlvbnMgYW5kIHJlY2VpcHRzLkRDb3VudGVyRm9yUGVuZGluZwEAEBAAAAAABKxDb3VudGVyIGZvciB0aGUgcmVsYXRlZCBjb3VudGVkIHN0b3JhZ2UgbWFwMEN1cnJlbnRCbG9jawAAFQsEAARwIFRoZSBjdXJyZW50IEV0aGVyZXVtIGJsb2NrLjxDdXJyZW50UmVjZWlwdHMAACkLBAAEfCBUaGUgY3VycmVudCBFdGhlcmV1bSByZWNlaXB0cy5oQ3VycmVudFRyYW5zYWN0aW9uU3RhdHVzZXMAAC0LBAAEiCBUaGUgY3VycmVudCB0cmFuc2FjdGlvbiBzdGF0dXNlcy4kQmxvY2tIYXNoAQEEBUkBNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLQQB+QYAATELXAAsRVZNQWNjb3VudHMBLEVWTUFjY291bnRzDEBBY2NvdW50RXh0ZW5zaW9uAAEEAkEBDQIEAAQFASBNYXBzIGFuIEVWTSBhZGRyZXNzIHRvIHRoZSBsYXN0IDEyIGJ5dGVzIG9mIGEgc3Vic3RyYXRlIGFjY291bnQuQENvbnRyYWN0RGVwbG95ZXIAAQQCQQGQBAAECQEgV2hpdGVsaXN0ZWQgYWRkcmVzc2VzIHRoYXQgYXJlIGFsbG93ZWQgdG8gZGVwbG95IHNtYXJ0IGNvbnRyYWN0cy5AQXBwcm92ZWRDb250cmFjdAABBAJBAZAEAAQZASBXaGl0ZWxpc3RlZCBjb250cmFjdHMgdGhhdCBhcmUgYWxsb3dlZCB0byBtYW5hZ2UgYmFsYW5jZXMgYW5kIHRva2Vucy4BVQQBHQcENEZlZU11bHRpcGxpZXIQEDIAAAAEtCBGZWUgbXVsdGlwbGllciBmb3IgdGhlIGJpbmRpbmcgb2YgYWRkcmVzc2VzLgE1C10ANER5bmFtaWNFdm1GZWUBNER5bmFtaWNFdm1GZWUENEJhc2VGZWVQZXJHYXMBAEkBgMDh5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEQgQmFzZSBmZWUgcGVyIGdhcwAABCxXZXRoQXNzZXRJZBAQFAAAAAQ4IFdFVEggQXNzZXQgSWQAXgBIWFlLTGlxdWlkaXR5TWluaW5nAAFZBAEhBww8TkZUQ29sbGVjdGlvbklkGEANFQAAAAAAAAAAAAAAAAAABNwgTkZUIGNvbGxlY3Rpb24gaWQgZm9yIGxpcXVpZGl0eSBtaW5pbmcncyBkZXBvc2l0IG5mdHMuME9yYWNsZVNvdXJjZf0BIGh5ZHJheHlrBKggT3JhY2xlIHNvdXJjZSBpZGVudGlmaWVyIGZvciB0aGlzIHBhbGxldC4wT3JhY2xlUGVyaW9kuQMEAgScIE9yYWNsZSdzIGxpcXVpZGl0eSBhZ2dyZWdhdGlvbiBwZXJpb2QuATkLXwA4WFlLV2FyZWhvdXNlTE0BOFhZS1dhcmVob3VzZUxNGDRGYXJtU2VxdWVuY2VyAQAQEAAAAAAEvCBJZCBzZXF1ZW5jZXIgZm9yIGBHbG9iYWxGYXJtYCBhbmQgYFlpZWxkRmFybWAuQERlcG9zaXRTZXF1ZW5jZXIBABhAAAAAAAAAAAAAAAAAAAAAAAAoR2xvYmFsRmFybQABBAIQPQsEAAAkWWllbGRGYXJtAAEMAgICQQtFCwQABFAgWWllbGQgZmFybSBkZXRhaWxzLhxEZXBvc2l0AAEEBRhJCwQABEQgRGVwb3NpdCBkZXRhaWxzLjxBY3RpdmVZaWVsZEZhcm0AAQgCApUIEAQABPggQWN0aXZlKGZhcm1zIGFibGUgdG8gcmVjZWl2ZSBMUCBzaGFyZXMgZGVwb3NpdHMpIHlpZWxkIGZhcm1zLgFpBAElBxggUGFsbGV0SWQpCCB4eWtMTXBJRAQsIFBhbGxldCBpZC5EVHJlYXN1cnlBY2NvdW50SWQAgG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAABOggVHJlYXN1cnkgYWNjb3VudCB0byByZWNlaXZlIGNsYWltZWQgcmV3YXJkcyBsb3dlciB0aGFuIEVETE1pblRvdGFsRmFybVJld2FyZHMYQAAQpdToAAAAAAAAAAAAAAAEOQEgTWluaW11bSB0b3RhbCByZXdhcmRzIHRvIGRpc3RyaWJ1dGUgZnJvbSBnbG9iYWwgZmFybSBkdXJpbmcgbGlxdWlkaXR5IG1pbmluZy5kTWluUGxhbm5lZFlpZWxkaW5nUGVyaW9kcxAQaDgAAATsIE1pbmltdW0gbnVtYmVyIG9mIHBlcmlvZHMgdG8gcnVuIGxpcXVpZGl0eSBtaW5pbmcgcHJvZ3JhbS5gTWF4RmFybUVudHJpZXNQZXJEZXBvc2l0EBAFAAAACGUBIE1heGltdW0gbnVtYmVyIG9mIHlpZWxkIGZhcm1zIHNhbWUgTFAgc2hhcmVzIGNhbiBiZSByZS9kZXBvc2l0ZWQgaW50by4gVGhpcyB2YWx1ZSBhbHdheXNcIE1VU1QgQkUgPj0gMS4gICAgICAgICBoTWF4WWllbGRGYXJtc1Blckdsb2JhbEZhcm0QEDIAAAAITQEgTWF4IG51bWJlciBvZiB5aWVsZCBmYXJtcyBjYW4gZXhpc3QgaW4gZ2xvYmFsIGZhcm0uIFRoaXMgaW5jbHVkZXMgYWxsIGZhcm1zIGluIHRoZZggc3RvcmFnZShhY3RpdmUsIHN0b3BwZWQsIHRlcm1pbmF0ZWQpLgFZC2AAOFJlbGF5Q2hhaW5JbmZvAAFtBAEpBwABXQvJAAxEQ0EBDERDQRxMU2NoZWR1bGVJZFNlcXVlbmNlcgEAEBAAAAAABGwgSWQgc2VxdWVuY2VyIGZvciBzY2hlZHVsZXMkU2NoZWR1bGVzAAEEAhB1BAQABGQgU3RvcmluZyBzY2hlZHVsZSBkZXRhaWxzRFNjaGVkdWxlT3duZXJzaGlwAAEIAgWVCJAEAARsIFN0b3Jpbmcgc2NoZWR1bGUgb3duZXJzaGlwQFJlbWFpbmluZ0Ftb3VudHMAAQQCEBgEAAT8IEtlZXAgdHJhY2tpbmcgdGhlIHJlbWFpbmluZyBhbW91bnRzIHRvIHNwZW5kIGZvciBEQ0Egc2NoZWR1bGVzOFJldHJpZXNPbkVycm9yAQEEAhAIBAAE4CBLZWVwIHRyYWNraW5nIHRoZSByZXRyeSBvbiBlcnJvciBmbGFnIGZvciBEQ0Egc2NoZWR1bGVzWFNjaGVkdWxlRXhlY3V0aW9uQmxvY2sAAQQCEBAEAAQpASBLZWVwIHRyYWNraW5nIHRoZSBibG9ja251bWJlciB3aGVuIHRoZSBzY2hlZHVsZSBpcyBwbGFubmVkIHRvIGJlIGV4ZWN1dGVkTFNjaGVkdWxlSWRzUGVyQmxvY2sBAQQCEGELBAAE+CBLZWVwIHRyYWNraW5nIG9mIHRoZSBzY2hlZHVsZSBpZHMgdG8gYmUgZXhlY3V0ZWQgaW4gdGhlIGJsb2NrAXEEAS0HMHxNYXhQcmljZURpZmZlcmVuY2VCZXR3ZWVuQmxvY2tzIQMQmDoAAASsTWF4IHByaWNlIGRpZmZlcmVuY2UgYWxsb3dlZCBiZXR3ZWVuIGJsb2Nrc6xNYXhDb25maWd1cmFibGVQcmljZURpZmZlcmVuY2VCZXR3ZWVuQmxvY2tzIQMQUMMAAATgTWF4IGNvbmZpZ3VyYWJsZSBwcmljZSBkaWZmZXJlbmNlIGFsbG93ZWQgYmV0d2VlbiBibG9ja3NMTWF4U2NoZWR1bGVQZXJCbG9jaxAQBgAAAATQVGhlIG51bWJlciBvZiBtYXggc2NoZWR1bGVzIHRvIGJlIGV4ZWN1dGVkIHBlciBibG9ja2RNYXhOdW1iZXJPZlJldHJpZXNPbkVycm9yCAQDBNhUaGUgbnVtYmVyIG9mIG1heCByZXRyaWVzIGluIGNhc2Ugb2YgdHJhZGUgbGltaXQgZXJyb3I0TWluaW1hbFBlcmlvZBAQBQAAAASETWluaW1hbCBwZXJpb2QgYmV0d2VlbiBleGVjdXRpb25zKEJ1bXBDaGFuY2VlCwQRBIRDaGFuY2Ugb2YgdGhlIHJhbmRvbSByZXNjaGVkdWxpbmdMTWluaW11bVRyYWRpbmdMaW1pdBhA6AMAAAAAAAAAAAAAAAAAAASkIE1pbmltdW0gdHJhZGluZyBsaW1pdCBmb3IgYSBzaW5nbGUgdHJhZGU0TmF0aXZlQXNzZXRJZBAQAAAAAARAIE5hdGl2ZSBBc3NldCBJZFRQb2xrYWRvdE5hdGl2ZUFzc2V0SWQQEAUAAAAEfCBQb2xrYWRvdCBOYXRpdmUgQXNzZXQgSWQgKERPVClkTWluQnVkZ2V0SW5OYXRpdmVDdXJyZW5jeRhAAIDGpH6NAwAAAAAAAAAAAAQlAU1pbmltdW0gYnVkZ2V0IHRvIGJlIGFibGUgdG8gc2NoZWR1bGUgYSBEQ0EsIHNwZWNpZmllZCBpbiBuYXRpdmUgY3VycmVuY3ksRmVlUmVjZWl2ZXIAgG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAABJRUaGUgZmVlIHJlY2VpdmVyIGZvciB0cmFuc2FjdGlvbiBmZWVzOE5hbWVkUmVzZXJ2ZUlk/QEgZGNhb3JkZXIEKQEgTmFtZWQgcmVzZXJ2ZSBpZGVudGlmaWVyIHRvIHN0b3JlIG5hbWVkIHJlc2VydmVzIGZvciBvcmRlcnMgb2YgZWFjaCB1c2VycwFpC0IAJFNjaGVkdWxlcgEkU2NoZWR1bGVyEDxJbmNvbXBsZXRlU2luY2UAABAEAAAYQWdlbmRhAQEEBRBtCwQABE0BIEl0ZW1zIHRvIGJlIGV4ZWN1dGVkLCBpbmRleGVkIGJ5IHRoZSBibG9jayBudW1iZXIgdGhhdCB0aGV5IHNob3VsZCBiZSBleGVjdXRlZCBvbi4cUmV0cmllcwABBAJNA30LBAAEIQEgUmV0cnkgY29uZmlndXJhdGlvbnMgZm9yIGl0ZW1zIHRvIGJlIGV4ZWN1dGVkLCBpbmRleGVkIGJ5IHRhc2sgYWRkcmVzcy4YTG9va3VwAAEEBQRNAwQAEPggTG9va3VwIGZyb20gYSBuYW1lIHRvIHRoZSBibG9jayBudW1iZXIgYW5kIGluZGV4IG9mIHRoZSB0YXNrLgBZASBGb3IgdjMgLT4gdjQgdGhlIHByZXZpb3VzbHkgdW5ib3VuZGVkIGlkZW50aXRpZXMgYXJlIEJsYWtlMi0yNTYgaGFzaGVkIHRvIGZvcm0gdGhlIHY0MCBpZGVudGl0aWVzLgF9BAExBwg0TWF4aW11bVdlaWdodCgsCwCAbod0AQIAAAEEKQEgVGhlIG1heGltdW0gd2VpZ2h0IHRoYXQgbWF5IGJlIHNjaGVkdWxlZCBwZXIgYmxvY2sgZm9yIGFueSBkaXNwYXRjaGFibGVzLlBNYXhTY2hlZHVsZWRQZXJCbG9jaxAQMgAAABQdASBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc2NoZWR1bGVkIGNhbGxzIGluIHRoZSBxdWV1ZSBmb3IgYSBzaW5nbGUgYmxvY2suABggTk9URTpRASArIERlcGVuZGVudCBwYWxsZXRzJyBiZW5jaG1hcmtzIG1pZ2h0IHJlcXVpcmUgYSBoaWdoZXIgbGltaXQgZm9yIHRoZSBzZXR0aW5nLiBTZXQgYcQgaGlnaGVyIGxpbWl0IHVuZGVyIGBydW50aW1lLWJlbmNobWFya3NgIGZlYXR1cmUuAYELBQA8UGFyYWNoYWluU3lzdGVtATxQYXJhY2hhaW5TeXN0ZW1gRFVuaW5jbHVkZWRTZWdtZW50AQCFCwQAGEkBIExhdGVzdCBpbmNsdWRlZCBibG9jayBkZXNjZW5kYW50cyB0aGUgcnVudGltZSBhY2NlcHRlZC4gSW4gb3RoZXIgd29yZHMsIHRoZXNlIGFyZWEBIGFuY2VzdG9ycyBvZiB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyBibG9jayB3aGljaCBoYXZlIG5vdCBiZWVuIGluY2x1ZGVkIGluIHRoZSBvYnNlcnZlZEwgcmVsYXktY2hhaW4gc3RhdGUuAHUBIFRoZSBzZWdtZW50IGxlbmd0aCBpcyBsaW1pdGVkIGJ5IHRoZSBjYXBhY2l0eSByZXR1cm5lZCBmcm9tIHRoZSBbYENvbnNlbnN1c0hvb2tgXSBjb25maWd1cmVkPCBpbiB0aGUgcGFsbGV0LmxBZ2dyZWdhdGVkVW5pbmNsdWRlZFNlZ21lbnQAAKkLBAAMaQEgU3RvcmFnZSBmaWVsZCB0aGF0IGtlZXBzIHRyYWNrIG9mIGJhbmR3aWR0aCB1c2VkIGJ5IHRoZSB1bmluY2x1ZGVkIHNlZ21lbnQgYWxvbmcgd2l0aCB0aGUtASBsYXRlc3QgSFJNUCB3YXRlcm1hcmsuIFVzZWQgZm9yIGxpbWl0aW5nIHRoZSBhY2NlcHRhbmNlIG9mIG5ldyBibG9ja3Mgd2l0aJAgcmVzcGVjdCB0byByZWxheSBjaGFpbiBjb25zdHJhaW50cy5UUGVuZGluZ1ZhbGlkYXRpb25Db2RlAQA4BAAYWQEgSW4gY2FzZSBvZiBhIHNjaGVkdWxlZCB1cGdyYWRlLCB0aGlzIHN0b3JhZ2UgZmllbGQgY29udGFpbnMgdGhlIHZhbGlkYXRpb24gY29kZSB0byBiZSQgYXBwbGllZC4APQEgQXMgc29vbiBhcyB0aGUgcmVsYXkgY2hhaW4gZ2l2ZXMgdXMgdGhlIGdvLWFoZWFkIHNpZ25hbCwgd2Ugd2lsbCBvdmVyd3JpdGUgdGhlcQEgW2A6Y29kZWBdW3NwX2NvcmU6OnN0b3JhZ2U6OndlbGxfa25vd25fa2V5czo6Q09ERV0gd2hpY2ggd2lsbCByZXN1bHQgdGhlIG5leHQgYmxvY2sgcHJvY2VzcwkBIHdpdGggdGhlIG5ldyB2YWxpZGF0aW9uIGNvZGUuIFRoaXMgY29uY2x1ZGVzIHRoZSB1cGdyYWRlIHByb2Nlc3MuRE5ld1ZhbGlkYXRpb25Db2RlAAA4BAAUXQEgVmFsaWRhdGlvbiBjb2RlIHRoYXQgaXMgc2V0IGJ5IHRoZSBwYXJhY2hhaW4gYW5kIGlzIHRvIGJlIGNvbW11bmljYXRlZCB0byBjb2xsYXRvciBhbmR4IGNvbnNlcXVlbnRseSB0aGUgcmVsYXktY2hhaW4uAGUBIFRoaXMgd2lsbCBiZSBjbGVhcmVkIGluIGBvbl9pbml0aWFsaXplYCBvZiBlYWNoIG5ldyBibG9jayBpZiBubyBvdGhlciBwYWxsZXQgYWxyZWFkeSBzZXQsIHRoZSB2YWx1ZS44VmFsaWRhdGlvbkRhdGEAAIkEBAAM0CBUaGUgW2BQZXJzaXN0ZWRWYWxpZGF0aW9uRGF0YWBdIHNldCBmb3IgdGhpcyBibG9jay4tASBUaGlzIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIHNldCBvbmx5IG9uY2UgcGVyIGJsb2NrIGFuZCBpdCdzIG5ldmVyIHN0b3JlZDQgaW4gdGhlIHRyaWUuUERpZFNldFZhbGlkYXRpb25Db2RlAQAgBAAE4CBXZXJlIHRoZSB2YWxpZGF0aW9uIGRhdGEgc2V0IHRvIG5vdGlmeSB0aGUgcmVsYXkgY2hhaW4/ZExhc3RSZWxheUNoYWluQmxvY2tOdW1iZXIBABAQAAAAAAwdASBUaGUgcmVsYXkgY2hhaW4gYmxvY2sgbnVtYmVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGFzdCBwYXJhY2hhaW4gYmxvY2suAIggVGhpcyBpcyB1cGRhdGVkIGluIGBvbl9maW5hbGl6ZWAuYFVwZ3JhZGVSZXN0cmljdGlvblNpZ25hbAEArQsEABx1ASBBbiBvcHRpb24gd2hpY2ggaW5kaWNhdGVzIGlmIHRoZSByZWxheS1jaGFpbiByZXN0cmljdHMgc2lnbmFsbGluZyBhIHZhbGlkYXRpb24gY29kZSB1cGdyYWRlLmEBIEluIG90aGVyIHdvcmRzLCBpZiB0aGlzIGlzIGBTb21lYCBhbmQgW2BOZXdWYWxpZGF0aW9uQ29kZWBdIGlzIGBTb21lYCB0aGVuIHRoZSBwcm9kdWNlZGwgY2FuZGlkYXRlIHdpbGwgYmUgaW52YWxpZC4AcQEgVGhpcyBzdG9yYWdlIGl0ZW0gaXMgYSBtaXJyb3Igb2YgdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWUgZm9yIHRoZSBjdXJyZW50IHBhcmFjaGFpbiBmcm9tIHRoZW0BIHJlbGF5LWNoYWluLiBUaGlzIHZhbHVlIGlzIGVwaGVtZXJhbCB3aGljaCBtZWFucyBpdCBkb2Vzbid0IGhpdCB0aGUgc3RvcmFnZS4gVGhpcyB2YWx1ZSBpc2Agc2V0IGFmdGVyIHRoZSBpbmhlcmVudC44VXBncmFkZUdvQWhlYWQBAKELBAAU3CBPcHRpb25hbCB1cGdyYWRlIGdvLWFoZWFkIHNpZ25hbCBmcm9tIHRoZSByZWxheS1jaGFpbi4AcQEgVGhpcyBzdG9yYWdlIGl0ZW0gaXMgYSBtaXJyb3Igb2YgdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWUgZm9yIHRoZSBjdXJyZW50IHBhcmFjaGFpbiBmcm9tIHRoZW0BIHJlbGF5LWNoYWluLiBUaGlzIHZhbHVlIGlzIGVwaGVtZXJhbCB3aGljaCBtZWFucyBpdCBkb2Vzbid0IGhpdCB0aGUgc3RvcmFnZS4gVGhpcyB2YWx1ZSBpc2Agc2V0IGFmdGVyIHRoZSBpbmhlcmVudC48UmVsYXlTdGF0ZVByb29mAACRBAQAGMQgVGhlIHN0YXRlIHByb29mIGZvciB0aGUgbGFzdCByZWxheSBwYXJlbnQgYmxvY2suAG0BIFRoaXMgZmllbGQgaXMgbWVhbnQgdG8gYmUgdXBkYXRlZCBlYWNoIGJsb2NrIHdpdGggdGhlIHZhbGlkYXRpb24gZGF0YSBpbmhlcmVudC4gVGhlcmVmb3JlLE0BIGJlZm9yZSBwcm9jZXNzaW5nIG9mIHRoZSBpbmhlcmVudCwgZS5nLiBpbiBgb25faW5pdGlhbGl6ZWAgdGhpcyBkYXRhIG1heSBiZSBzdGFsZS4ArCBUaGlzIGRhdGEgaXMgYWxzbyBhYnNlbnQgZnJvbSB0aGUgZ2VuZXNpcy5YUmVsZXZhbnRNZXNzYWdpbmdTdGF0ZQAAtQsEABxlASBUaGUgc25hcHNob3Qgb2Ygc29tZSBzdGF0ZSByZWxhdGVkIHRvIG1lc3NhZ2luZyByZWxldmFudCB0byB0aGUgY3VycmVudCBwYXJhY2hhaW4gYXMgcGVySCB0aGUgcmVsYXkgcGFyZW50LgBtASBUaGlzIGZpZWxkIGlzIG1lYW50IHRvIGJlIHVwZGF0ZWQgZWFjaCBibG9jayB3aXRoIHRoZSB2YWxpZGF0aW9uIGRhdGEgaW5oZXJlbnQuIFRoZXJlZm9yZSxNASBiZWZvcmUgcHJvY2Vzc2luZyBvZiB0aGUgaW5oZXJlbnQsIGUuZy4gaW4gYG9uX2luaXRpYWxpemVgIHRoaXMgZGF0YSBtYXkgYmUgc3RhbGUuAKwgVGhpcyBkYXRhIGlzIGFsc28gYWJzZW50IGZyb20gdGhlIGdlbmVzaXMuREhvc3RDb25maWd1cmF0aW9uAADJCwQAGCkBIFRoZSBwYXJhY2hhaW4gaG9zdCBjb25maWd1cmF0aW9uIHRoYXQgd2FzIG9idGFpbmVkIGZyb20gdGhlIHJlbGF5IHBhcmVudC4AbQEgVGhpcyBmaWVsZCBpcyBtZWFudCB0byBiZSB1cGRhdGVkIGVhY2ggYmxvY2sgd2l0aCB0aGUgdmFsaWRhdGlvbiBkYXRhIGluaGVyZW50LiBUaGVyZWZvcmUsTQEgYmVmb3JlIHByb2Nlc3Npbmcgb2YgdGhlIGluaGVyZW50LCBlLmcuIGluIGBvbl9pbml0aWFsaXplYCB0aGlzIGRhdGEgbWF5IGJlIHN0YWxlLgCsIFRoaXMgZGF0YSBpcyBhbHNvIGFic2VudCBmcm9tIHRoZSBnZW5lc2lzLjhMYXN0RG1xTXFjSGVhZAEA0QuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ9CBUaGUgbGFzdCBkb3dud2FyZCBtZXNzYWdlIHF1ZXVlIGNoYWluIGhlYWQgd2UgaGF2ZSBvYnNlcnZlZC4AZQEgVGhpcyB2YWx1ZSBpcyBsb2FkZWQgYmVmb3JlIGFuZCBzYXZlZCBhZnRlciBwcm9jZXNzaW5nIGluYm91bmQgZG93bndhcmQgbWVzc2FnZXMgY2FycmllZGAgYnkgdGhlIHN5c3RlbSBpbmhlcmVudC5ATGFzdEhybXBNcWNIZWFkcwEA1QsEABBJASBUaGUgbWVzc2FnZSBxdWV1ZSBjaGFpbiBoZWFkcyB3ZSBoYXZlIG9ic2VydmVkIHBlciBlYWNoIGNoYW5uZWwgaW5jb21pbmcgY2hhbm5lbC4AZQEgVGhpcyB2YWx1ZSBpcyBsb2FkZWQgYmVmb3JlIGFuZCBzYXZlZCBhZnRlciBwcm9jZXNzaW5nIGluYm91bmQgZG93bndhcmQgbWVzc2FnZXMgY2FycmllZGAgYnkgdGhlIHN5c3RlbSBpbmhlcmVudC5kUHJvY2Vzc2VkRG93bndhcmRNZXNzYWdlcwEAEBAAAAAADMggTnVtYmVyIG9mIGRvd253YXJkIG1lc3NhZ2VzIHByb2Nlc3NlZCBpbiBhIGJsb2NrLgDsIFRoaXMgd2lsbCBiZSBjbGVhcmVkIGluIGBvbl9pbml0aWFsaXplYCBvZiBlYWNoIG5ldyBibG9jay40SHJtcFdhdGVybWFyawEAEBAAAAAADKAgSFJNUCB3YXRlcm1hcmsgdGhhdCB3YXMgc2V0IGluIGEgYmxvY2suAOwgVGhpcyB3aWxsIGJlIGNsZWFyZWQgaW4gYG9uX2luaXRpYWxpemVgIG9mIGVhY2ggbmV3IGJsb2NrLlBIcm1wT3V0Ym91bmRNZXNzYWdlcwEA4QsEAAykIEhSTVAgbWVzc2FnZXMgdGhhdCB3ZXJlIHNlbnQgaW4gYSBibG9jay4A7CBUaGlzIHdpbGwgYmUgY2xlYXJlZCBpbiBgb25faW5pdGlhbGl6ZWAgb2YgZWFjaCBuZXcgYmxvY2suOFVwd2FyZE1lc3NhZ2VzAQAhAQQADKwgVXB3YXJkIG1lc3NhZ2VzIHRoYXQgd2VyZSBzZW50IGluIGEgYmxvY2suAOwgVGhpcyB3aWxsIGJlIGNsZWFyZWQgaW4gYG9uX2luaXRpYWxpemVgIG9mIGVhY2ggbmV3IGJsb2NrLlRQZW5kaW5nVXB3YXJkTWVzc2FnZXMBACEBBAAEMQEgVXB3YXJkIG1lc3NhZ2VzIHRoYXQgYXJlIHN0aWxsIHBlbmRpbmcgYW5kIG5vdCB5ZXQgc2VuZCB0byB0aGUgcmVsYXkgY2hhaW4uXFVwd2FyZERlbGl2ZXJ5RmVlRmFjdG9yAQA9AUAAAGSns7bgDQAAAAAAAAAABOQgVGhlIGZhY3RvciB0byBtdWx0aXBseSB0aGUgYmFzZSBkZWxpdmVyeSBmZWUgYnkgZm9yIFVNUC6EQW5ub3VuY2VkSHJtcE1lc3NhZ2VzUGVyQ2FuZGlkYXRlAQAQEAAAAAAIZQEgVGhlIG51bWJlciBvZiBIUk1QIG1lc3NhZ2VzIHdlIG9ic2VydmVkIGluIGBvbl9pbml0aWFsaXplYCBhbmQgdGh1cyB1c2VkIHRoYXQgbnVtYmVyIGZvcvAgYW5ub3VuY2luZyB0aGUgd2VpZ2h0IG9mIGBvbl9pbml0aWFsaXplYCBhbmQgYG9uX2ZpbmFsaXplYC5oUmVzZXJ2ZWRYY21wV2VpZ2h0T3ZlcnJpZGUAACgEAAhdASBUaGUgd2VpZ2h0IHdlIHJlc2VydmUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sgZm9yIHByb2Nlc3NpbmcgWENNUCBtZXNzYWdlcy4gVGhpc7ggb3ZlcnJpZGVzIHRoZSBhbW91bnQgc2V0IGluIHRoZSBDb25maWcgdHJhaXQuZFJlc2VydmVkRG1wV2VpZ2h0T3ZlcnJpZGUAACgEAAhZASBUaGUgd2VpZ2h0IHdlIHJlc2VydmUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sgZm9yIHByb2Nlc3NpbmcgRE1QIG1lc3NhZ2VzLiBUaGlzuCBvdmVycmlkZXMgdGhlIGFtb3VudCBzZXQgaW4gdGhlIENvbmZpZyB0cmFpdC5gQ3VzdG9tVmFsaWRhdGlvbkhlYWREYXRhAAA4BAAMKQEgQSBjdXN0b20gaGVhZCBkYXRhIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkIGFzIHJlc3VsdCBvZiBgdmFsaWRhdGVfYmxvY2tgLgARASBTZWUgYFBhbGxldDo6c2V0X2N1c3RvbV92YWxpZGF0aW9uX2hlYWRfZGF0YWAgZm9yIG1vcmUgaW5mb3JtYXRpb24uAYEEATkHBChTZWxmUGFyYUlkvQEQ8gcAAAS4IFJldHVybnMgdGhlIHBhcmFjaGFpbiBJRCB3ZSBhcmUgcnVubmluZyB3aXRoLgHpC2cANFBhcmFjaGFpbkluZm8BNFBhcmFjaGFpbkluZm8ELFBhcmFjaGFpbklkAQC9ARBkAAAAAAG1BAAAAGkALFBvbGthZG90WGNtASxQb2xrYWRvdFhjbTgwUXVlcnlDb3VudGVyAQAwIAAAAAAAAAAABIggVGhlIGxhdGVzdCBhdmFpbGFibGUgcXVlcnkgaW5kZXguHFF1ZXJpZXMAAQQCMO0LBAAEVCBUaGUgb25nb2luZyBxdWVyaWVzLihBc3NldFRyYXBzAQEEBjQQEAAAAAAQaCBUaGUgZXhpc3RpbmcgYXNzZXQgdHJhcHMuAGEBIEtleSBpcyB0aGUgYmxha2UyIDI1NiBoYXNoIG9mIChvcmlnaW4sIHZlcnNpb25lZCBgQXNzZXRzYCkgcGFpci4gVmFsdWUgaXMgdGhlIG51bWJlciBvZh0BIHRpbWVzIHRoaXMgcGFpciBoYXMgYmVlbiB0cmFwcGVkICh1c3VhbGx5IGp1c3QgMSBpZiBpdCBleGlzdHMgYXQgYWxsKS44U2FmZVhjbVZlcnNpb24AABAEAAhhASBEZWZhdWx0IHZlcnNpb24gdG8gZW5jb2RlIFhDTSB3aGVuIGxhdGVzdCB2ZXJzaW9uIG9mIGRlc3RpbmF0aW9uIGlzIHVua25vd24uIElmIGBOb25lYCw9ASB0aGVuIHRoZSBkZXN0aW5hdGlvbnMgd2hvc2UgWENNIHZlcnNpb24gaXMgdW5rbm93biBhcmUgY29uc2lkZXJlZCB1bnJlYWNoYWJsZS5AU3VwcG9ydGVkVmVyc2lvbgABCAUCAQwQBAAE8CBUaGUgTGF0ZXN0IHZlcnNpb25zIHRoYXQgd2Uga25vdyB2YXJpb3VzIGxvY2F0aW9ucyBzdXBwb3J0LkBWZXJzaW9uTm90aWZpZXJzAAEIBQIBDDAEAAQFASBBbGwgbG9jYXRpb25zIHRoYXQgd2UgaGF2ZSByZXF1ZXN0ZWQgdmVyc2lvbiBub3RpZmljYXRpb25zIGZyb20uUFZlcnNpb25Ob3RpZnlUYXJnZXRzAAEIBQIBDAUMBAAIcQEgVGhlIHRhcmdldCBsb2NhdGlvbnMgdGhhdCBhcmUgc3Vic2NyaWJlZCB0byBvdXIgdmVyc2lvbiBjaGFuZ2VzLCBhcyB3ZWxsIGFzIHRoZSBtb3N0IHJlY2VudJQgb2Ygb3VyIHZlcnNpb25zIHdlIGluZm9ybWVkIHRoZW0gb2YuVFZlcnNpb25EaXNjb3ZlcnlRdWV1ZQEACQwEAAxlASBEZXN0aW5hdGlvbnMgd2hvc2UgbGF0ZXN0IFhDTSB2ZXJzaW9uIHdlIHdvdWxkIGxpa2UgdG8ga25vdy4gRHVwbGljYXRlcyBub3QgYWxsb3dlZCwgYW5kcQEgdGhlIGB1MzJgIGNvdW50ZXIgaXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGF0IGEgc2VuZCB0byB0aGUgZGVzdGluYXRpb24gaGFzIGJlZW4gYXR0ZW1wdGVkLIwgd2hpY2ggaXMgdXNlZCBhcyBhIHByaW9yaXRpemF0aW9uLkBDdXJyZW50TWlncmF0aW9uAAAVDAQABJwgVGhlIGN1cnJlbnQgbWlncmF0aW9uJ3Mgc3RhZ2UsIGlmIGFueS5UUmVtb3RlTG9ja2VkRnVuZ2libGVzAAEMBQICHQwhDAQABPAgRnVuZ2libGUgYXNzZXRzIHdoaWNoIHdlIGtub3cgYXJlIGxvY2tlZCBvbiBhIHJlbW90ZSBjaGFpbi48TG9ja2VkRnVuZ2libGVzAAEEAgAxDAQABOAgRnVuZ2libGUgYXNzZXRzIHdoaWNoIHdlIGtub3cgYXJlIGxvY2tlZCBvbiB0aGlzIGNoYWluLlRYY21FeGVjdXRpb25TdXNwZW5kZWQBACAEAAS0IEdsb2JhbCBzdXNwZW5zaW9uIHN0YXRlIG9mIHRoZSBYQ00gZXhlY3V0b3IuPFNob3VsZFJlY29yZFhjbQEAIAQAHFkBIFdoZXRoZXIgb3Igbm90IGluY29taW5nIFhDTXMgKGJvdGggZXhlY3V0ZWQgbG9jYWxseSBhbmQgcmVjZWl2ZWQpIHNob3VsZCBiZSByZWNvcmRlZC7EIE9ubHkgb25lIFhDTSBwcm9ncmFtIHdpbGwgYmUgcmVjb3JkZWQgYXQgYSB0aW1lLikBIFRoaXMgaXMgbWVhbnQgdG8gYmUgdXNlZCBpbiBydW50aW1lIEFQSXMsIGFuZCBpdCdzIGFkdmlzZWQgaXQgc3RheXMgZmFsc2UNASBmb3IgYWxsIG90aGVyIHVzZSBjYXNlcywgc28gYXMgdG8gbm90IGRlZ3JhZGUgcmVndWxhciBwZXJmb3JtYW5jZS4AWQEgT25seSByZWxldmFudCBpZiB0aGlzIHBhbGxldCBpcyBiZWluZyB1c2VkIGFzIHRoZSBbYHhjbV9leGVjdXRvcjo6dHJhaXRzOjpSZWNvcmRYY21gXcggaW1wbGVtZW50YXRpb24gaW4gdGhlIFhDTSBleGVjdXRvciBjb25maWd1cmF0aW9uLixSZWNvcmRlZFhjbQAAlQUEABhJASBJZiBbYFNob3VsZFJlY29yZFhjbWBdIGlzIHNldCB0byB0cnVlLCB0aGVuIHRoZSBsYXN0IFhDTSBwcm9ncmFtIGV4ZWN1dGVkIGxvY2FsbHlUIHdpbGwgYmUgc3RvcmVkIGhlcmUuKQEgUnVudGltZSBBUElzIGNhbiBmZXRjaCB0aGUgWENNIHRoYXQgd2FzIGV4ZWN1dGVkIGJ5IGFjY2Vzc2luZyB0aGlzIHZhbHVlLgBZASBPbmx5IHJlbGV2YW50IGlmIHRoaXMgcGFsbGV0IGlzIGJlaW5nIHVzZWQgYXMgdGhlIFtgeGNtX2V4ZWN1dG9yOjp0cmFpdHM6OlJlY29yZFhjbWBdyCBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgWENNIGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24uAbkEAT0HAAE9DGsAKEN1bXVsdXNYY20AARkGAUUHAABtACRYY21wUXVldWUBJFhjbXBRdWV1ZRxQSW5ib3VuZFhjbXBTdXNwZW5kZWQBAEEMBAAgDQEgVGhlIHN1c3BlbmRlZCBpbmJvdW5kIFhDTVAgY2hhbm5lbHMuIEFsbCBvdGhlcnMgYXJlIG5vdCBzdXNwZW5kZWQuAHEBIFRoaXMgaXMgYSBgU3RvcmFnZVZhbHVlYCBpbnN0ZWFkIG9mIGEgYFN0b3JhZ2VNYXBgIHNpbmNlIHdlIGV4cGVjdCBtdWx0aXBsZSByZWFkcyBwZXIgYmxvY2tpASB0byBkaWZmZXJlbnQga2V5cyB3aXRoIGEgb25lIGJ5dGUgcGF5bG9hZC4gVGhlIGFjY2VzcyB0byBgQm91bmRlZEJUcmVlU2V0YCB3aWxsIGJlIGNhY2hlZBUBIHdpdGhpbiB0aGUgYmxvY2sgYW5kIHRoZXJlZm9yZSBvbmx5IGluY2x1ZGVkIG9uY2UgaW4gdGhlIHByb29mIHNpemUuAGUBIE5PVEU6IFRoZSBQb1YgYmVuY2htYXJraW5nIGNhbm5vdCBrbm93IHRoaXMgYW5kIHdpbGwgb3Zlci1lc3RpbWF0ZSwgYnV0IHRoZSBhY3R1YWwgcHJvb2ZEIHdpbGwgYmUgc21hbGxlci5IT3V0Ym91bmRYY21wU3RhdHVzAQBNDAQAGF0BIFRoZSBub24tZW1wdHkgWENNUCBjaGFubmVscyBpbiBvcmRlciBvZiBiZWNvbWluZyBub24tZW1wdHksIGFuZCB0aGUgaW5kZXggb2YgdGhlIGZpcnN0UQEgYW5kIGxhc3Qgb3V0Ym91bmQgbWVzc2FnZS4gSWYgdGhlIHR3byBpbmRpY2VzIGFyZSBlcXVhbCwgdGhlbiBpdCBpbmRpY2F0ZXMgYW4gZW1wdHlZASBxdWV1ZSBhbmQgdGhlcmUgbXVzdCBiZSBhIG5vbi1gT2tgIGBPdXRib3VuZFN0YXR1c2AuIFdlIGFzc3VtZSBxdWV1ZXMgZ3JvdyBubyBncmVhdGVyWQEgdGhhbiA2NTUzNSBpdGVtcy4gUXVldWUgaW5kaWNlcyBmb3Igbm9ybWFsIG1lc3NhZ2VzIGJlZ2luIGF0IG9uZTsgemVybyBpcyByZXNlcnZlZCBpbhEBIGNhc2Ugb2YgdGhlIG5lZWQgdG8gc2VuZCBhIGhpZ2gtcHJpb3JpdHkgc2lnbmFsIG1lc3NhZ2UgdGhpcyBibG9jay4JASBUaGUgYm9vbCBpcyB0cnVlIGlmIHRoZXJlIGlzIGEgc2lnbmFsIG1lc3NhZ2Ugd2FpdGluZyB0byBiZSBzZW50LlBPdXRib3VuZFhjbXBNZXNzYWdlcwEBCAIFXQxhDAQABLwgVGhlIG1lc3NhZ2VzIG91dGJvdW5kIGluIGEgZ2l2ZW4gWENNUCBjaGFubmVsLjhTaWduYWxNZXNzYWdlcwEBBAK9AWEMBAAEoCBBbnkgc2lnbmFsIG1lc3NhZ2VzIHdhaXRpbmcgdG8gYmUgc2VudC4sUXVldWVDb25maWcBAGUMMCAAAAAwAAAACAAAAAQVASBUaGUgY29uZmlndXJhdGlvbiB3aGljaCBjb250cm9scyB0aGUgZHluYW1pY3Mgb2YgdGhlIG91dGJvdW5kIHF1ZXVlLjhRdWV1ZVN1c3BlbmRlZAEAIAQABEEBIFdoZXRoZXIgb3Igbm90IHRoZSBYQ01QIHF1ZXVlIGlzIHN1c3BlbmRlZCBmcm9tIGV4ZWN1dGluZyBpbmNvbWluZyBYQ01zIG9yIG5vdC5ERGVsaXZlcnlGZWVGYWN0b3IBAQQFvQE9AUAAAGSns7bgDQAAAAAAAAAABMQgVGhlIGZhY3RvciB0byBtdWx0aXBseSB0aGUgYmFzZSBkZWxpdmVyeSBmZWUgYnkuAAFJBwxMTWF4SW5ib3VuZFN1c3BlbmRlZBAQ6AMAABRJASBUaGUgbWF4aW11bSBudW1iZXIgb2YgaW5ib3VuZCBYQ01QIGNoYW5uZWxzIHRoYXQgY2FuIGJlIHN1c3BlbmRlZCBzaW11bHRhbmVvdXNseS4AXQEgQW55IGZ1cnRoZXIgY2hhbm5lbCBzdXNwZW5zaW9ucyB3aWxsIGZhaWwgYW5kIG1lc3NhZ2VzIG1heSBnZXQgZHJvcHBlZCB3aXRob3V0IGZ1cnRoZXJFASBub3RpY2UuIENob29zaW5nIGEgaGlnaCB2YWx1ZSAoMTAwMCkgaXMgb2theTsgdGhlIHRyYWRlLW9mZiB0aGF0IGlzIGRlc2NyaWJlZCBpbtggW2BJbmJvdW5kWGNtcFN1c3BlbmRlZGBdIHN0aWxsIGFwcGxpZXMgYXQgdGhhdCBzY2FsZS5kTWF4QWN0aXZlT3V0Ym91bmRDaGFubmVscxAQgAAAACBlASBNYXhpbWFsIG51bWJlciBvZiBvdXRib3VuZCBYQ01QIGNoYW5uZWxzIHRoYXQgY2FuIGhhdmUgbWVzc2FnZXMgcXVldWVkIGF0IHRoZSBzYW1lIHRpbWUuAFUBIElmIHRoaXMgaXMgcmVhY2hlZCwgdGhlbiBubyBmdXJ0aGVyIG1lc3NhZ2VzIGNhbiBiZSBzZW50IHRvIGNoYW5uZWxzIHRoYXQgZG8gbm90IHlldF0BIGhhdmUgYSBtZXNzYWdlIHF1ZXVlZC4gVGhpcyBzaG91bGQgYmUgc2V0IHRvIHRoZSBleHBlY3RlZCBtYXhpbXVtIG9mIG91dGJvdW5kIGNoYW5uZWxzYQEgd2hpY2ggaXMgZGV0ZXJtaW5lZCBieSBbYFNlbGY6OkNoYW5uZWxJbmZvYF0uIEl0IGlzIGltcG9ydGFudCB0byBzZXQgdGhpcyBsYXJnZSBlbm91Z2gsXQEgc2luY2Ugb3RoZXJ3aXNlIHRoZSBjb25nZXN0aW9uIGNvbnRyb2wgcHJvdG9jb2wgd2lsbCBub3Qgd29yayBhcyBpbnRlbmRlZCBhbmQgbWVzc2FnZXNRASBtYXkgYmUgZHJvcHBlZC4gVGhpcyB2YWx1ZSBpbmNyZWFzZXMgdGhlIFBvViBhbmQgc2hvdWxkIHRoZXJlZm9yZSBub3QgYmUgcGlja2VkIHRvb00BIGhpZ2guIEdvdmVybmFuY2UgbmVlZHMgdG8gcGF5IGF0dGVudGlvbiB0byBub3Qgb3BlbiBtb3JlIGNoYW5uZWxzIHRoYW4gdGhpcyB2YWx1ZS4sTWF4UGFnZVNpemUQEAAAAgAUuCBUaGUgbWF4aW1hbCBwYWdlIHNpemUgZm9yIEhSTVAgbWVzc2FnZSBwYWdlcy4AYQEgQSBsb3dlciBsaW1pdCBjYW4gYmUgc2V0IGR5bmFtaWNhbGx5LCBidXQgdGhpcyBpcyB0aGUgaGFyZC1saW1pdCBmb3IgdGhlIFBvViB3b3JzdCBjYXNlVQEgYmVuY2htYXJraW5nLiBUaGUgbGltaXQgZm9yIHRoZSBzaXplIG9mIGEgbWVzc2FnZSBpcyBzbGlnaHRseSBiZWxvdyB0aGlzLCBzaW5jZSBzb21luCBvdmVyaGVhZCBpcyBpbmN1cnJlZCBmb3IgZW5jb2RpbmcgdGhlIGZvcm1hdC4BaQxvADBNZXNzYWdlUXVldWUBME1lc3NhZ2VRdWV1ZQwwQm9va1N0YXRlRm9yAQEEBSEGbQx0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEzCBUaGUgaW5kZXggb2YgdGhlIGZpcnN0IGFuZCBsYXN0IChub24tZW1wdHkpIHBhZ2VzLixTZXJ2aWNlSGVhZAAAIQYEAAS8IFRoZSBvcmlnaW4gYXQgd2hpY2ggd2Ugc2hvdWxkIGJlZ2luIHNlcnZpY2luZy4UUGFnZXMAAQgFBXkMfQwEAASIIFRoZSBtYXAgb2YgcGFnZSBpbmRpY2VzIHRvIHBhZ2VzLgEdBgFNBxAgSGVhcFNpemUQEAAMAgAUPQEgVGhlIHNpemUgb2YgdGhlIHBhZ2U7IHRoaXMgaW1wbGllcyB0aGUgbWF4aW11bSBtZXNzYWdlIHNpemUgd2hpY2ggY2FuIGJlIHNlbnQuAFkBIEEgZ29vZCB2YWx1ZSBkZXBlbmRzIG9uIHRoZSBleHBlY3RlZCBtZXNzYWdlIHNpemVzLCB0aGVpciB3ZWlnaHRzLCB0aGUgd2VpZ2h0IHRoYXQgaXNdASBhdmFpbGFibGUgZm9yIHByb2Nlc3NpbmcgdGhlbSBhbmQgdGhlIG1heGltYWwgbmVlZGVkIG1lc3NhZ2Ugc2l6ZS4gVGhlIG1heGltYWwgbWVzc2FnZREBIHNpemUgaXMgc2xpZ2h0bHkgbG93ZXIgdGhhbiB0aGlzIGFzIGRlZmluZWQgYnkgW2BNYXhNZXNzYWdlTGVuT2ZgXS4gTWF4U3RhbGUQEAgAAAAMXQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIHN0YWxlIHBhZ2VzIChpLmUuIG9mIG92ZXJ3ZWlnaHQgbWVzc2FnZXMpIGFsbG93ZWQgYmVmb3JlIGN1bGxpbmdRASBjYW4gaGFwcGVuLiBPbmNlIHRoZXJlIGFyZSBtb3JlIHN0YWxlIHBhZ2VzIHRoYW4gdGhpcywgdGhlbiBoaXN0b3JpY2FsIHBhZ2VzIG1heSBiZfwgZHJvcHBlZCwgZXZlbiBpZiB0aGV5IGNvbnRhaW4gdW5wcm9jZXNzZWQgb3ZlcndlaWdodCBtZXNzYWdlcy40U2VydmljZVdlaWdodGUGLAEHAKDbIV0CAEAAGEEBIFRoZSBhbW91bnQgb2Ygd2VpZ2h0IChpZiBhbnkpIHdoaWNoIHNob3VsZCBiZSBwcm92aWRlZCB0byB0aGUgbWVzc2FnZSBxdWV1ZSBmb3KoIHNlcnZpY2luZyBlbnF1ZXVlZCBpdGVtcyBgb25faW5pdGlhbGl6ZWAuAPwgVGhpcyBtYXkgYmUgbGVnaXRpbWF0ZWx5IGBOb25lYCBpbiB0aGUgY2FzZSB0aGF0IHlvdSB3aWxsIGNhbGxdASBgU2VydmljZVF1ZXVlczo6c2VydmljZV9xdWV1ZXNgIG1hbnVhbGx5IG9yIHNldCBbYFNlbGY6OklkbGVNYXhTZXJ2aWNlV2VpZ2h0YF0gdG8gaGF2ZVQgaXQgcnVuIGluIGBvbl9pZGxlYC5QSWRsZU1heFNlcnZpY2VXZWlnaHRlBgQAFF0BIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB3ZWlnaHQgKGlmIGFueSkgdG8gYmUgdXNlZCBmcm9tIHJlbWFpbmluZyB3ZWlnaHQgYG9uX2lkbGVgIHdoaWNoQQEgc2hvdWxkIGJlIHByb3ZpZGVkIHRvIHRoZSBtZXNzYWdlIHF1ZXVlIGZvciBzZXJ2aWNpbmcgZW5xdWV1ZWQgaXRlbXMgYG9uX2lkbGVgLj0BIFVzZWZ1bCBmb3IgcGFyYWNoYWlucyB0byBwcm9jZXNzIG1lc3NhZ2VzIGF0IHRoZSBzYW1lIGJsb2NrIHRoZXkgYXJlIHJlY2VpdmVkLgApASBJZiBgTm9uZWAsIGl0IHdpbGwgbm90IGNhbGwgYFNlcnZpY2VRdWV1ZXM6OnNlcnZpY2VfcXVldWVzYCBpbiBgb25faWRsZWAuAYUMcgAcT3JtbFhjbQABJQYBVQcAAYkMhwAcWFRva2VucwABKQYBWQcMMFNlbGZMb2NhdGlvbn0BFAEBAMkfBFQgU2VsZiBjaGFpbiBsb2NhdGlvbi40QmFzZVhjbVdlaWdodCgUAoTXFwAQRCBCYXNlIFhDTSB3ZWlnaHQuAPggVGhlIGFjdHVhbGx5IHdlaWdodCBmb3IgYW4gWENNIG1lc3NhZ2UgaXMgYFQ6OkJhc2VYY21XZWlnaHQgK2wgVDo6V2VpZ2hlcjo6d2VpZ2h0KCZtc2cpYC40UmF0ZUxpbWl0ZXJJZJAABGwgVGhlIGlkIG9mIHRoZSBSYXRlTGltaXRlci4BjQyJADRVbmtub3duVG9rZW5zATRVbmtub3duVG9rZW5zCGBDb25jcmV0ZUZ1bmdpYmxlQmFsYW5jZXMBAQgCApEMGEAAAAAAAAAAAAAAAAAAAAAAEAUBIENvbmNyZXRlIGZ1bmdpYmxlIGJhbGFuY2VzIHVuZGVyIGEgZ2l2ZW4gbG9jYXRpb24gYW5kIGEgY29uY3JldGU0IGZ1bmdpYmxlIGlkLgCIIGRvdWJsZV9tYXA6IHdobywgYXNzZXRfaWQgPT4gdTEyOGBBYnN0cmFjdEZ1bmdpYmxlQmFsYW5jZXMBAQgCApUMGEAAAAAAAAAAAAAAAAAAAAAAEAUBIEFic3RyYWN0IGZ1bmdpYmxlIGJhbGFuY2VzIHVuZGVyIGEgZ2l2ZW4gbG9jYXRpb24gYW5kIGEgYWJzdHJhY3Q0IGZ1bmdpYmxlIGlkLgCIIGRvdWJsZV9tYXA6IHdobywgYXNzZXRfaWQgPT4gdTEyOAABXQcAAZkMiwAoQXV0aG9yc2hpcAEoQXV0aG9yc2hpcAQYQXV0aG9yAAAABAAEZCBBdXRob3Igb2YgY3VycmVudCBibG9jay4AAAAAoQBEQ29sbGF0b3JTZWxlY3Rpb24BRENvbGxhdG9yU2VsZWN0aW9uFDRJbnZ1bG5lcmFibGVzAQDRCQQABBEBIFRoZSBpbnZ1bG5lcmFibGUsIHBlcm1pc3Npb25lZCBjb2xsYXRvcnMuIFRoaXMgbGlzdCBtdXN0IGJlIHNvcnRlZC40Q2FuZGlkYXRlTGlzdAEAnQwEABRpASBUaGUgKGNvbW11bml0eSwgbGltaXRlZCkgY29sbGF0aW9uIGNhbmRpZGF0ZXMuIGBDYW5kaWRhdGVzYCBhbmQgYEludnVsbmVyYWJsZXNgIHNob3VsZCBiZVAgbXV0dWFsbHkgZXhjbHVzaXZlLgB1ASBUaGlzIGxpc3QgaXMgc29ydGVkIGluIGFzY2VuZGluZyBvcmRlciBieSBkZXBvc2l0IGFuZCB3aGVuIHRoZSBkZXBvc2l0cyBhcmUgZXF1YWwsIHRoZSBsZWFzdKAgcmVjZW50bHkgdXBkYXRlZCBpcyBjb25zaWRlcmVkIGdyZWF0ZXIuRExhc3RBdXRob3JlZEJsb2NrAQEEBQAQEAAAAAAEhCBMYXN0IGJsb2NrIGF1dGhvcmVkIGJ5IGNvbGxhdG9yLkREZXNpcmVkQ2FuZGlkYXRlcwEAEBAAAAAADHggRGVzaXJlZCBudW1iZXIgb2YgY2FuZGlkYXRlcy4AdQEgVGhpcyBzaG91bGQgaWRlYWxseSBhbHdheXMgYmUgbGVzcyB0aGFuIFtgQ29uZmlnOjpNYXhDYW5kaWRhdGVzYF0gZm9yIHdlaWdodHMgdG8gYmUgY29ycmVjdC40Q2FuZGlkYWN5Qm9uZAEAGEAAAAAAAAAAAAAAAAAAAAAADLggRml4ZWQgYW1vdW50IHRvIGRlcG9zaXQgdG8gYmVjb21lIGEgY29sbGF0b3IuAEEBIFdoZW4gYSBjb2xsYXRvciBjYWxscyBgbGVhdmVfaW50ZW50YCB0aGV5IGltbWVkaWF0ZWx5IHJlY2VpdmUgdGhlIGRlcG9zaXQgYmFjay4BNQYBYQcAAakMowAcU2Vzc2lvbgEcU2Vzc2lvbhwoVmFsaWRhdG9ycwEAMQEEAAR8IFRoZSBjdXJyZW50IHNldCBvZiB2YWxpZGF0b3JzLjBDdXJyZW50SW5kZXgBABAQAAAAAAR4IEN1cnJlbnQgaW5kZXggb2YgdGhlIHNlc3Npb24uNFF1ZXVlZENoYW5nZWQBACAEAAg5ASBUcnVlIGlmIHRoZSB1bmRlcmx5aW5nIGVjb25vbWljIGlkZW50aXRpZXMgb3Igd2VpZ2h0aW5nIGJlaGluZCB0aGUgdmFsaWRhdG9yc6QgaGFzIGNoYW5nZWQgaW4gdGhlIHF1ZXVlZCB2YWxpZGF0b3Igc2V0LihRdWV1ZWRLZXlzAQCtDAQACD0BIFRoZSBxdWV1ZWQga2V5cyBmb3IgdGhlIG5leHQgc2Vzc2lvbi4gV2hlbiB0aGUgbmV4dCBzZXNzaW9uIGJlZ2lucywgdGhlc2Uga2V5c+Agd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSB0aGUgdmFsaWRhdG9yJ3Mgc2Vzc2lvbiBrZXlzLkhEaXNhYmxlZFZhbGlkYXRvcnMBAFkDBAAUgCBJbmRpY2VzIG9mIGRpc2FibGVkIHZhbGlkYXRvcnMuAD0BIFRoZSB2ZWMgaXMgYWx3YXlzIGtlcHQgc29ydGVkIHNvIHRoYXQgd2UgY2FuIGZpbmQgd2hldGhlciBhIGdpdmVuIHZhbGlkYXRvciBpcz0BIGRpc2FibGVkIHVzaW5nIGJpbmFyeSBzZWFyY2guIEl0IGdldHMgY2xlYXJlZCB3aGVuIGBvbl9zZXNzaW9uX2VuZGluZ2AgcmV0dXJuc2QgYSBuZXcgc2V0IG9mIGlkZW50aXRpZXMuIE5leHRLZXlzAAEEBQA9BgQABJwgVGhlIG5leHQgc2Vzc2lvbiBrZXlzIGZvciBhIHZhbGlkYXRvci4gS2V5T3duZXIAAQQFtQwABAAECQEgVGhlIG93bmVyIG9mIGEga2V5LiBUaGUga2V5IGlzIHRoZSBgS2V5VHlwZUlkYCArIHRoZSBlbmNvZGVkIGtleS4BOQYBZQcAAb0MpQAQQXVyYQEQQXVyYQgsQXV0aG9yaXRpZXMBAMEMBAAEbCBUaGUgY3VycmVudCBhdXRob3JpdHkgc2V0LixDdXJyZW50U2xvdAEAyQwgAAAAAAAAAAAMgCBUaGUgY3VycmVudCBzbG90IG9mIHRoaXMgYmxvY2suAJQgVGhpcyB3aWxsIGJlIHNldCBpbiBgb25faW5pdGlhbGl6ZWAuAAAEMFNsb3REdXJhdGlvbjAgcBcAAAAAAAAQDQEgVGhlIHNsb3QgZHVyYXRpb24gQXVyYSBzaG91bGQgcnVuIHdpdGgsIGV4cHJlc3NlZCBpbiBtaWxsaXNlY29uZHMuPQEgVGhlIGVmZmVjdGl2ZSB2YWx1ZSBvZiB0aGlzIHR5cGUgc2hvdWxkIG5vdCBjaGFuZ2Ugd2hpbGUgdGhlIGNoYWluIGlzIHJ1bm5pbmcuADUBIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBlaXRoZXIgdXNlIFtgTWluaW11bVBlcmlvZFRpbWVzVHdvYF0gb3IgYSBjb25zdC4ApwAcQXVyYUV4dAEcQXVyYUV4dAgsQXV0aG9yaXRpZXMBAMEMBAAUlCBTZXJ2ZXMgYXMgY2FjaGUgZm9yIHRoZSBhdXRob3JpdGllcy4AcQEgVGhlIGF1dGhvcml0aWVzIGluIEF1UmEgYXJlIG92ZXJ3cml0dGVuIGluIGBvbl9pbml0aWFsaXplYCB3aGVuIHdlIHN3aXRjaCB0byBhIG5ldyBzZXNzaW9uLF0BIGJ1dCB3ZSByZXF1aXJlIHRoZSBvbGQgYXV0aG9yaXRpZXMgdG8gdmVyaWZ5IHRoZSBzZWFsIHdoZW4gdmFsaWRhdGluZyBhIFBvVi4gVGhpcyB3aWxsDQEgYWx3YXlzIGJlIHVwZGF0ZWQgdG8gdGhlIGxhdGVzdCBBdVJhIGF1dGhvcml0aWVzIGluIGBvbl9maW5hbGl6ZWAuIFNsb3RJbmZvAADNDAQADNggQ3VycmVudCBzbG90IHBhaXJlZCB3aXRoIGEgbnVtYmVyIG9mIGF1dGhvcmVkIGJsb2Nrcy4AmCBVcGRhdGVkIG9uIGVhY2ggYmxvY2sgaW5pdGlhbGl6YXRpb24uAAAAAKkAJEVtYU9yYWNsZQEkRW1hT3JhY2xlDCxBY2N1bXVsYXRvcgEA0QwEAARxASBBY2N1bXVsYXRvciBmb3Igb3JhY2xlIGRhdGEgaW4gY3VycmVudCBibG9jayB0aGF0IHdpbGwgYmUgcmVjb3JkZWQgYXQgdGhlIGVuZCBvZiB0aGUgYmxvY2suHE9yYWNsZXMAAQwFBQX1DPkMBAAMdQEgT3JhY2xlIHN0b3JhZ2Uga2V5ZWQgYnkgZGF0YSBzb3VyY2UsIGludm9sdmVkIGFzc2V0IGlkcyBhbmQgdGhlIHBlcmlvZCBsZW5ndGggb2YgdGhlIG9yYWNsZS4AZQEgU3RvcmVzIHRoZSBkYXRhIGVudHJ5IGFzIHdlbGwgYXMgdGhlIGJsb2NrIG51bWJlciB3aGVuIHRoZSBvcmFjbGUgd2FzIGZpcnN0IGluaXRpYWxpemVkLkRXaGl0ZWxpc3RlZEFzc2V0cwEA/QwEAATcIEFzc2V0cyB0aGF0IGFyZSB3aGl0ZWxpc3RlZCBhbmQgdHJhY2tlZCBieSB0aGUgcGFsbGV0LgFFBgFpBwhkTWF4QWxsb3dlZFByaWNlRGlmZmVyZW5jZSEDEKCGAQAEGQEgTWF4aW11bSBhbGxvd2VkIHBlcmNlbnRhZ2UgZGlmZmVyZW5jZSBmb3IgYmlmcm9zdCBvcmFjbGUgcHJpY2UgdXBkYXRlQE1heFVuaXF1ZUVudHJpZXMQECgAAAAE/CBNYXhpbXVtIG51bWJlciBvZiB1bmlxdWUgb3JhY2xlIGVudHJpZXMgZXhwZWN0ZWQgaW4gb25lIGJsb2NrLgEJDcoAJEJyb2FkY2FzdAEkQnJvYWRjYXN0DDRJbmNyZW1lbnRhbElkAQAQEAAAAAAEeCBOZXh0IGF2YWlsYWJsZSBpbmNyZW1lbnRhbCBJREBFeGVjdXRpb25Db250ZXh0AQANDQQABA0BIEV4ZWN1dGlvbiBjb250ZXh0IHRvIGZpZ3VyZSBvdXQgd2hlcmUgdGhlIHRyYWRlIGlzIG9yaWdpbmF0ZWQgZnJvbRxTd2FwcGVyAAAABAAEpQFJZiBmaWxsZWQsIHdlIG92ZXJ3cml0ZSB0aGUgb3JpZ2luYWwgc3dhcHBlci4gTWFpbmx5IHVzZWQgaW4gcm91dGVyIHRvIG5vdCB0byB1c2UgdGVtcG9yYXJ5IHRyYWRlIGFjY291bnQBSQYBbQcAARENzAAEABEBcQIVDSxIQ2hlY2tOb25aZXJvU2VuZGVyGQ2QQENoZWNrU3BlY1ZlcnNpb24dDRA4Q2hlY2tUeFZlcnNpb24hDRAwQ2hlY2tHZW5lc2lzJQ00OENoZWNrTW9ydGFsaXR5KQ00KENoZWNrTm9uY2UxDZAsQ2hlY2tXZWlnaHQ1DZBgQ2hhcmdlVHJhbnNhY3Rpb25QYXltZW50OQ2QNFZhbGlkYXRlQ2xhaW09DZBEQ2hlY2tNZXRhZGF0YUhhc2hBDTUHUFN0b3JhZ2VXZWlnaHRSZWNsYWltSQ2QTQ1YEENvcmUMHHZlcnNpb24AuQcEkCBSZXR1cm5zIHRoZSB2ZXJzaW9uIG9mIHRoZSBydW50aW1lLjRleGVjdXRlX2Jsb2NrBBRibG9ja1ENkARkIEV4ZWN1dGUgdGhlIGdpdmVuIGJsb2NrLkBpbml0aWFsaXplX2Jsb2NrBBhoZWFkZXJVDWUNBEEBIEluaXRpYWxpemUgYSBibG9jayB3aXRoIHRoZSBnaXZlbiBoZWFkZXIgYW5kIHJldHVybiB0aGUgcnVudGltZSBleGVjdXRpdmUgbW9kZS4EIQEgVGhlIGBDb3JlYCBydW50aW1lIGFwaSB0aGF0IGV2ZXJ5IFN1YnN0cmF0ZSBydW50aW1lIG5lZWRzIHRvIGltcGxlbWVudC4gTWV0YWRhdGEMIG1ldGFkYXRhAGkNBIwgUmV0dXJucyB0aGUgbWV0YWRhdGEgb2YgYSBydW50aW1lLkxtZXRhZGF0YV9hdF92ZXJzaW9uBBx2ZXJzaW9uEG0NEKQgUmV0dXJucyB0aGUgbWV0YWRhdGEgYXQgYSBnaXZlbiB2ZXJzaW9uLgAFASBJZiB0aGUgZ2l2ZW4gYHZlcnNpb25gIGlzbid0IHN1cHBvcnRlZCwgdGhpcyB3aWxsIHJldHVybiBgTm9uZWAudQEgVXNlIFtgU2VsZjo6bWV0YWRhdGFfdmVyc2lvbnNgXSB0byBmaW5kIG91dCBhYm91dCBzdXBwb3J0ZWQgbWV0YWRhdGEgdmVyc2lvbiBvZiB0aGUgcnVudGltZS5EbWV0YWRhdGFfdmVyc2lvbnMAWQMMpCBSZXR1cm5zIHRoZSBzdXBwb3J0ZWQgbWV0YWRhdGEgdmVyc2lvbnMuAMAgVGhpcyBjYW4gYmUgdXNlZCB0byBjYWxsIGBtZXRhZGF0YV9hdF92ZXJzaW9uYC4EAQEgVGhlIGBNZXRhZGF0YWAgYXBpIHRyYWl0IHRoYXQgcmV0dXJucyBtZXRhZGF0YSBmb3IgdGhlIHJ1bnRpbWUuMEJsb2NrQnVpbGRlchA8YXBwbHlfZXh0cmluc2ljBCRleHRyaW5zaWNZDXENEGwgQXBwbHkgdGhlIGdpdmVuIGV4dHJpbnNpYy4AOQEgUmV0dXJucyBhbiBpbmNsdXNpb24gb3V0Y29tZSB3aGljaCBzcGVjaWZpZXMgaWYgdGhpcyBleHRyaW5zaWMgaXMgaW5jbHVkZWQgaW5MIHRoaXMgYmxvY2sgb3Igbm90LjhmaW5hbGl6ZV9ibG9jawBVDQRoIEZpbmlzaCB0aGUgY3VycmVudCBibG9jay5MaW5oZXJlbnRfZXh0cmluc2ljcwQgaW5oZXJlbnSBDWENBD0BIEdlbmVyYXRlIGluaGVyZW50IGV4dHJpbnNpY3MuIFRoZSBpbmhlcmVudCBkYXRhIHdpbGwgdmFyeSBmcm9tIGNoYWluIHRvIGNoYWluLjxjaGVja19pbmhlcmVudHMIFGJsb2NrUQ0QZGF0YYENkQ0EVQEgQ2hlY2sgdGhhdCB0aGUgaW5oZXJlbnRzIGFyZSB2YWxpZC4gVGhlIGluaGVyZW50IGRhdGEgd2lsbCB2YXJ5IGZyb20gY2hhaW4gdG8gY2hhaW4uBHEBIFRoZSBgQmxvY2tCdWlsZGVyYCBhcGkgdHJhaXQgdGhhdCBwcm92aWRlcyB0aGUgcmVxdWlyZWQgZnVuY3Rpb25hbGl0eSBmb3IgYnVpbGRpbmcgYSBibG9jay5YVGFnZ2VkVHJhbnNhY3Rpb25RdWV1ZQRQdmFsaWRhdGVfdHJhbnNhY3Rpb24MGHNvdXJjZZUNCHR4WQ0oYmxvY2tfaGFzaDSZDSRoIFZhbGlkYXRlIHRoZSB0cmFuc2FjdGlvbi4AZQEgVGhpcyBtZXRob2QgaXMgaW52b2tlZCBieSB0aGUgdHJhbnNhY3Rpb24gcG9vbCB0byBsZWFybiBkZXRhaWxzIGFib3V0IGdpdmVuIHRyYW5zYWN0aW9uLkUBIFRoZSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgbWFrZSBzdXJlIHRvIHZlcmlmeSB0aGUgY29ycmVjdG5lc3Mgb2YgdGhlIHRyYW5zYWN0aW9uTQEgYWdhaW5zdCBjdXJyZW50IHN0YXRlLiBUaGUgZ2l2ZW4gYGJsb2NrX2hhc2hgIGNvcnJlc3BvbmRzIHRvIHRoZSBoYXNoIG9mIHRoZSBibG9ja3wgdGhhdCBpcyB1c2VkIGFzIGN1cnJlbnQgc3RhdGUuAEUBIE5vdGUgdGhhdCB0aGlzIGNhbGwgbWF5IGJlIHBlcmZvcm1lZCBieSB0aGUgcG9vbCBtdWx0aXBsZSB0aW1lcyBhbmQgdHJhbnNhY3Rpb25zpCBtaWdodCBiZSB2ZXJpZmllZCBpbiBhbnkgcG9zc2libGUgb3JkZXIuBE0BIFRoZSBgVGFnZ2VkVHJhbnNhY3Rpb25RdWV1ZWAgYXBpIHRyYWl0IGZvciBpbnRlcmZlcmluZyB3aXRoIHRoZSB0cmFuc2FjdGlvbiBxdWV1ZS5ET2ZmY2hhaW5Xb3JrZXJBcGkEPG9mZmNoYWluX3dvcmtlcgQYaGVhZGVyVQ2QBMggU3RhcnRzIHRoZSBvZmYtY2hhaW4gdGFzayBmb3IgZ2l2ZW4gYmxvY2sgaGVhZGVyLgRkIFRoZSBvZmZjaGFpbiB3b3JrZXIgYXBpLixTZXNzaW9uS2V5cwhUZ2VuZXJhdGVfc2Vzc2lvbl9rZXlzBBBzZWVkGQw4HBUBIEdlbmVyYXRlIGEgc2V0IG9mIHNlc3Npb24ga2V5cyB3aXRoIG9wdGlvbmFsbHkgdXNpbmcgdGhlIGdpdmVuIHNlZWQuCQEgVGhlIGtleXMgc2hvdWxkIGJlIHN0b3JlZCB3aXRoaW4gdGhlIGtleXN0b3JlIGV4cG9zZWQgdmlhIHJ1bnRpbWU8IGV4dGVybmFsaXRpZXMuALAgVGhlIHNlZWQgbmVlZHMgdG8gYmUgYSB2YWxpZCBgdXRmOGAgc3RyaW5nLgDQIFJldHVybnMgdGhlIGNvbmNhdGVuYXRlZCBTQ0FMRSBlbmNvZGVkIHB1YmxpYyBrZXlzLkxkZWNvZGVfc2Vzc2lvbl9rZXlzBBxlbmNvZGVkOKENDJggRGVjb2RlIHRoZSBnaXZlbiBwdWJsaWMgc2Vzc2lvbiBrZXlzLgDcIFJldHVybnMgdGhlIGxpc3Qgb2YgcHVibGljIHJhdyBwdWJsaWMga2V5cyArIGtleSB0eXBlLgRoIFNlc3Npb24ga2V5cyBydW50aW1lIGFwaS4cQXVyYUFwaQg0c2xvdF9kdXJhdGlvbgCtDQyQIFJldHVybnMgdGhlIHNsb3QgZHVyYXRpb24gZm9yIEF1cmEuACUBIEN1cnJlbnRseSwgb25seSB0aGUgdmFsdWUgcHJvdmlkZWQgYnkgdGhpcyB0eXBlIGF0IGdlbmVzaXMgd2lsbCBiZSB1c2VkLixhdXRob3JpdGllcwDFDAScIFJldHVybiB0aGUgY3VycmVudCBzZXQgb2YgYXV0aG9yaXRpZXMuBLggQVBJIG5lY2Vzc2FyeSBmb3IgYmxvY2sgYXV0aG9yc2hpcCB3aXRoIGF1cmEuUENvbGxlY3RDb2xsYXRpb25JbmZvBFhjb2xsZWN0X2NvbGxhdGlvbl9pbmZvBBhoZWFkZXJVDbENEJwgQ29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCBhIGNvbGxhdGlvbi4A9CBUaGUgZ2l2ZW4gYGhlYWRlcmAgaXMgdGhlIGhlYWRlciBvZiB0aGUgYnVpbHQgYmxvY2sgZm9yIHRoYXSoIHdlIGFyZSBjb2xsZWN0aW5nIHRoZSBjb2xsYXRpb24gaW5mbyBmb3IuBNggUnVudGltZSBhcGkgdG8gY29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCBhIGNvbGxhdGlvbi40Q3VycmVuY2llc0FwaQwcYWNjb3VudAggYXNzZXRfaWQQDHdobwC9DQAgYWNjb3VudHMEDHdobwDBDQAwZnJlZV9iYWxhbmNlCCBhc3NldF9pZBAMd2hvABgAADxBY2NvdW50Tm9uY2VBcGkENGFjY291bnRfbm9uY2UEHGFjY291bnQAEATAIEdldCBjdXJyZW50IGFjY291bnQgbm9uY2Ugb2YgZ2l2ZW4gYEFjY291bnRJZGAuBIAgVGhlIEFQSSB0byBxdWVyeSBhY2NvdW50IG5vbmNlLlRUcmFuc2FjdGlvblBheW1lbnRBcGkQKHF1ZXJ5X2luZm8IDHV4dFkNDGxlbhDJDQBEcXVlcnlfZmVlX2RldGFpbHMIDHV4dFkNDGxlbhDNDQBMcXVlcnlfd2VpZ2h0X3RvX2ZlZQQYd2VpZ2h0KBgATHF1ZXJ5X2xlbmd0aF90b19mZWUEGGxlbmd0aBAYAABURXRoZXJldW1SdW50aW1lUlBDQXBpRCBjaGFpbl9pZAAwBLQgUmV0dXJucyBydW50aW1lIGRlZmluZWQgcGFsbGV0X2V2bTo6Q2hhaW5JZC40YWNjb3VudF9iYXNpYwQcYWRkcmVzc0EB2Q0EpCBSZXR1cm5zIHBhbGxldF9ldm06OkFjY291bnRzIGJ5IGFkZHJlc3MuJGdhc19wcmljZQBJAQSUIFJldHVybnMgRml4ZWRHYXNQcmljZTo6bWluX2dhc19wcmljZTxhY2NvdW50X2NvZGVfYXQEHGFkZHJlc3NBATgE/CBGb3IgYSBnaXZlbiBhY2NvdW50IGFkZHJlc3MsIHJldHVybnMgcGFsbGV0X2V2bTo6QWNjb3VudENvZGVzLhhhdXRob3IAQQEE8CBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgRmluZEF1dGhvcjo6ZmluZF9hdXRob3IgYXV0aG9yaXR5IGlkLihzdG9yYWdlX2F0CBxhZGRyZXNzQQEUaW5kZXhJATQEMQEgRm9yIGEgZ2l2ZW4gYWNjb3VudCBhZGRyZXNzIGFuZCBpbmRleCwgcmV0dXJucyBwYWxsZXRfZXZtOjpBY2NvdW50U3RvcmFnZXMuEGNhbGwoEGZyb21BAQh0b0EBEGRhdGE4FHZhbHVlSQEkZ2FzX2xpbWl0SQE8bWF4X2ZlZV9wZXJfZ2FzIQRgbWF4X3ByaW9yaXR5X2ZlZV9wZXJfZ2FzIQQUbm9uY2UhBCBlc3RpbWF0ZSAsYWNjZXNzX2xpc3TdDeENABhjcmVhdGUkEGZyb21BARBkYXRhOBR2YWx1ZUkBJGdhc19saW1pdEkBPG1heF9mZWVfcGVyX2dhcyEEYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhcyEEFG5vbmNlIQQgZXN0aW1hdGUgLGFjY2Vzc19saXN03Q35DQA0Y3VycmVudF9ibG9jawABDgRoIFJldHVybiB0aGUgY3VycmVudCBibG9jay5AY3VycmVudF9yZWNlaXB0cwAFDgRwIFJldHVybiB0aGUgY3VycmVudCByZWNlaXB0LnBjdXJyZW50X3RyYW5zYWN0aW9uX3N0YXR1c2VzAAkOBJwgUmV0dXJuIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIHN0YXR1cy4sY3VycmVudF9hbGwADQ4AQGV4dHJpbnNpY19maWx0ZXIEDHh0c2ENIQsENQEgUmVjZWl2ZXMgYSBgVmVjPE9wYXF1ZUV4dHJpbnNpYz5gIGFuZCBmaWx0ZXJzIGFsbCB0aGUgZXRoZXJldW0gdHJhbnNhY3Rpb25zLihlbGFzdGljaXR5APUDBIggUmV0dXJuIHRoZSBlbGFzdGljaXR5IG11bHRpcGxpZXIucGdhc19saW1pdF9tdWx0aXBsaWVyX3N1cHBvcnQAkAh1ASBVc2VkIHRvIGRldGVybWluZSBpZiBnYXMgbGltaXQgbXVsdGlwbGllciBmb3Igbm9uLXRyYW5zYWN0aW9uYWwgY2FsbHMgKGV0aF9jYWxsL2VzdGltYXRlR2FzKTggaXMgc3VwcG9ydGVkLjRwZW5kaW5nX2Jsb2NrBAx4dHNhDREOBGggUmV0dXJuIHRoZSBwZW5kaW5nIGJsb2NrLmBpbml0aWFsaXplX3BlbmRpbmdfYmxvY2sEGGhlYWRlclUNkBR4IEluaXRpYWxpemUgdGhlIHBlbmRpbmcgYmxvY2suNQEgVGhlIGJlaGF2aW9yIHNob3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgcnVudGltZSBhcGkgQ29yZV9pbml0aWFsaXplX2Jsb2NrIGJ1dFwgZm9yIGEgInBlbmRpbmciIGJsb2NrLmEBIElmIHlvdXIgcHJvamVjdCBkb24ndCBuZWVkIHRvIGhhdmUgYSBkaWZmZXJlbnQgYmVoYXZpb3IgdG8gaW5pdGlhbGl6ZSAicGVuZGluZyIgYmxvY2tzLOAgeW91IGNhbiBjb3B5IHlvdXIgQ29yZV9pbml0aWFsaXplX2Jsb2NrIGltcGxlbWVudGF0aW9uLgTAIEFQSSBuZWNlc3NhcnkgZm9yIEV0aGVyZXVtLWNvbXBhdGliaWxpdHkgbGF5ZXIucENvbnZlcnRUcmFuc2FjdGlvblJ1bnRpbWVBcGkETGNvbnZlcnRfdHJhbnNhY3Rpb24ELHRyYW5zYWN0aW9uMQRZDQAAOEV2bUFjY291bnRzQXBpDCxldm1fYWRkcmVzcwQoYWNjb3VudF9pZABBAQTAIGdldCB0aGUgRVZNIGFkZHJlc3MgZnJvbSB0aGUgc3Vic3RyYXRlIGFkZHJlc3MuQGJvdW5kX2FjY291bnRfaWQELGV2bV9hZGRyZXNzQQHsBFUBIFJldHVybiB0aGUgU3Vic3RyYXRlIGFkZHJlc3MgYm91bmQgdG8gdGhlIEVWTSBhY2NvdW50LiBJZiBub3QgYm91bmQsIHJldHVybnMgYE5vbmVgLihhY2NvdW50X2lkBCxldm1fYWRkcmVzc0EBAAjAIEdldCB0aGUgU3Vic3RyYXRlIGFkZHJlc3MgZnJvbSB0aGUgRVZNIGFkZHJlc3MuJQEgUmV0dXJucyB0aGUgdHJ1bmNhdGVkIHZlcnNpb24gb2YgdGhlIGFkZHJlc3MgaWYgdGhlIGFkZHJlc3Mgd2Fzbid0IGJpbmQuBKggVGhlIEFQSSB0byBxdWVyeSBFVk0gYWNjb3VudCBjb252ZXJzaW9ucy48RXJjMjBNYXBwaW5nQXBpCDRhc3NldF9hZGRyZXNzBCBhc3NldF9pZBBBAQSIIEdldCB0aGUgRVZNIGFkZHJlc3Mgb2YgdGhlIGFzc2V0LkBhZGRyZXNzX3RvX2Fzc2V0BBxhZGRyZXNzQQFZAQQ1ASBHZXQgdGhlIGFzc2V0IGlkIGNvcnJlc3BvbmRpbmcgdG8gRVZNIGFkZHJlc3MuIElmIG5vdCBmb3VuZCwgcmV0dXJucyBgTm9uZWAuBNggVGhlIEFQSSB0byBxdWVyeSBBc3NldElkIDwtPiBFVk0gYWRkcmVzcyBjb252ZXJzaW9ucy40WGNtUGF5bWVudEFwaRB8cXVlcnlfYWNjZXB0YWJsZV9wYXltZW50X2Fzc2V0cwQseGNtX3ZlcnNpb24QFQ4UtCBSZXR1cm5zIGEgbGlzdCBvZiBhY2NlcHRhYmxlIHBheW1lbnQgYXNzZXRzLgAwICMgQXJndW1lbnRzAGggKiBgeGNtX3ZlcnNpb25gOiBWZXJzaW9uLkBxdWVyeV94Y21fd2VpZ2h0BBxtZXNzYWdl3QQhDhSoIFJldHVybnMgYSB3ZWlnaHQgbmVlZGVkIHRvIGV4ZWN1dGUgYSBYQ00uADAgIyBBcmd1bWVudHMAdCAqIGBtZXNzYWdlYDogYFZlcnNpb25lZFhjbWAuZHF1ZXJ5X3dlaWdodF90b19hc3NldF9mZWUIGHdlaWdodCgUYXNzZXQVBiUOGOggQ29udmVydHMgYSB3ZWlnaHQgaW50byBhIGZlZSBmb3IgdGhlIHNwZWNpZmllZCBgQXNzZXRJZGAuADAgIyBBcmd1bWVudHMAiCAqIGB3ZWlnaHRgOiBjb252ZXJ0aWJsZSBgV2VpZ2h0YC58ICogYGFzc2V0YDogYFZlcnNpb25lZEFzc2V0SWRgLkxxdWVyeV9kZWxpdmVyeV9mZWVzCCxkZXN0aW5hdGlvbr0EHG1lc3NhZ2XdBCkOIB0BIEdldCBkZWxpdmVyeSBmZWVzIGZvciBzZW5kaW5nIGEgc3BlY2lmaWMgYG1lc3NhZ2VgIHRvIGEgYGRlc3RpbmF0aW9uYC70IFRoZXNlIGFsd2F5cyBjb21lIGluIGEgc3BlY2lmaWMgYXNzZXQsIGRlZmluZWQgYnkgdGhlIGNoYWluLgAwICMgQXJndW1lbnRzgQEgKiBgbWVzc2FnZWA6IFRoZSBtZXNzYWdlIHRoYXQnbGwgYmUgc2VudCwgbmVjZXNzYXJ5IGJlY2F1c2UgbW9zdCBkZWxpdmVyeSBmZWVzIGFyZSBiYXNlZCBvbiB0aGVcICAgc2l6ZSBvZiB0aGUgbWVzc2FnZS5hASAqIGBkZXN0aW5hdGlvbmA6IFRoZSBkZXN0aW5hdGlvbiB0byBzZW5kIHRoZSBtZXNzYWdlIHRvLiBEaWZmZXJlbnQgZGVzdGluYXRpb25zIG1heSB1c2XAICAgZGlmZmVyZW50IHNlbmRlcnMgdGhhdCBjaGFyZ2UgZGlmZmVyZW50IGZlZXMuLHAgQSB0cmFpdCBvZiBYQ00gcGF5bWVudCBBUEkuAKggQVBJIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgZm9yIG9idGFpbmluZzoAxCAqIHRoZSB3ZWlnaHQgcmVxdWlyZWQgdG8gZXhlY3V0ZSBhbiBYQ00gbWVzc2FnZSwFASAqIGEgbGlzdCBvZiBhY2NlcHRhYmxlIGBBc3NldElkYHMgZm9yIG1lc3NhZ2UgZXhlY3V0aW9uIHBheW1lbnQsAQEgKiB0aGUgY29zdCBvZiB0aGUgd2VpZ2h0IGluIHRoZSBzcGVjaWZpZWQgYWNjZXB0YWJsZSBgQXNzZXRJZGAuoCAqIHRoZSBmZWVzIGZvciBhbiBYQ00gbWVzc2FnZSBkZWxpdmVyeS4A8CBUbyBkZXRlcm1pbmUgdGhlIGV4ZWN1dGlvbiB3ZWlnaHQgb2YgdGhlIGNhbGxzIHJlcXVpcmVkIGZvcnUBIFtgeGNtOjpsYXRlc3Q6Okluc3RydWN0aW9uOjpUcmFuc2FjdGBdIGluc3RydWN0aW9uLCBgVHJhbnNhY3Rpb25QYXltZW50Q2FsbEFwaWAgY2FuIGJlIHVzZWQuYEF1cmFVbmluY2x1ZGVkU2VnbWVudEFwaQQ4Y2FuX2J1aWxkX3Vwb24INGluY2x1ZGVkX2hhc2g0EHNsb3TJDCAoOQEgV2hldGhlciBpdCBpcyBsZWdhbCB0byBleHRlbmQgdGhlIGNoYWluLCBhc3N1bWluZyB0aGUgZ2l2ZW4gYmxvY2sgaXMgdGhlIG1vc3Q1ASByZWNlbnRseSBpbmNsdWRlZCBvbmUgYXMtb2YgdGhlIHJlbGF5IHBhcmVudCB0aGF0IHdpbGwgYmUgYnVpbHQgYWdhaW5zdCwgYW5kQCB0aGUgZ2l2ZW4gc2xvdC4AUQEgVGhpcyBzaG91bGQgYmUgY29uc2lzdGVudCB3aXRoIHRoZSBsb2dpYyB0aGUgcnVudGltZSB1c2VzIHdoZW4gdmFsaWRhdGluZyBibG9ja3MgdG84IGF2b2lkIGlzc3Vlcy4AYQEgV2hlbiB0aGUgdW5pbmNsdWRlZCBzZWdtZW50IGlzIGVtcHR5LCBpLmUuIGBpbmNsdWRlZF9oYXNoID09IGF0YCwgd2hlcmUgYXQgaXMgdGhlIGJsb2NrYQEgd2hvc2Ugc3RhdGUgd2UgYXJlIHF1ZXJ5aW5nIGFnYWluc3QsIHRoaXMgbXVzdCBhbHdheXMgcmV0dXJuIGB0cnVlYCBhcyBsb25nIGFzIHRoZSBzbG90vCBpcyBtb3JlIHJlY2VudCB0aGFuIHRoZSBpbmNsdWRlZCBibG9jayBpdHNlbGYuKDUBIFRoaXMgcnVudGltZSBBUEkgaXMgdXNlZCB0byBpbmZvcm0gcG90ZW50aWFsIGJsb2NrIGF1dGhvcnMgd2hldGhlciB0aGV5IHdpbGwlASBoYXZlIHRoZSByaWdodCB0byBhdXRob3IgYXQgYSBzbG90LCBhc3N1bWluZyB0aGV5IGhhdmUgY2xhaW1lZCB0aGUgc2xvdC4AdQEgSW4gcGFydGljdWxhciwgdGhpcyBBUEkgYWxsb3dzIEF1cmEtYmFzZWQgcGFyYWNoYWlucyB0byByZWd1bGF0ZSB0aGVpciAidW5pbmNsdWRlZCBzZWdtZW50IixtASB3aGljaCBpcyB0aGUgc2VjdGlvbiBvZiB0aGUgaGVhZCBvZiB0aGUgY2hhaW4gd2hpY2ggaGFzIG5vdCB5ZXQgYmVlbiBtYWRlIGF2YWlsYWJsZSBpbiB0aGU0IHJlbGF5IGNoYWluLgBhASBXaGVuIHRoZSB1bmluY2x1ZGVkIHNlZ21lbnQgaXMgc2hvcnQsIEF1cmEgY2hhaW5zIHdpbGwgYWxsb3cgYXV0aG9ycyB0byBjcmVhdGUgbXVsdGlwbGVdASBibG9ja3MgcGVyIHNsb3QgaW4gb3JkZXIgdG8gYnVpbGQgYSBiYWNrbG9nLiBXaGVuIGl0IGlzIHNhdHVyYXRlZCwgdGhpcyBBUEkgd2lsbCBsaW1pdKggdGhlIGFtb3VudCBvZiBibG9ja3MgdGhhdCBjYW4gYmUgY3JlYXRlZC4kRHJ5UnVuQXBpCDBkcnlfcnVuX2NhbGwIGG9yaWdpbmUBEGNhbGwRAS0OBDggRHJ5IHJ1biBjYWxsLixkcnlfcnVuX3hjbQg8b3JpZ2luX2xvY2F0aW9uvQQMeGNt5QVNDgRQIERyeSBydW4gWENNIHByb2dyYW0ksQEgQVBJIGZvciBkcnktcnVubmluZyBleHRyaW5zaWNzIGFuZCBYQ00gcHJvZ3JhbXMgdG8gZ2V0IHRoZSBwcm9ncmFtcyB0aGF0IG5lZWQgdG8gYmUgcGFzc2VkIHRvIHRoZSBmZWVzIEFQSS4AgQEgQWxsIGNhbGxzIHJldHVybiBhIHZlY3RvciBvZiB0dXBsZXMgKGxvY2F0aW9uLCB4Y20pIHdoZXJlIGVhY2ggInhjbSIgaXMgZXhlY3V0ZWQgaW4gImxvY2F0aW9uIi7kIElmIHRoZXJlJ3MgbG9jYWwgZXhlY3V0aW9uLCB0aGUgbG9jYXRpb24gd2lsbCBiZSAiSGVyZSIuHQEgVGhpcyB2ZWN0b3IgY2FuIGJlIHVzZWQgdG8gY2FsY3VsYXRlIGJvdGggZXhlY3V0aW9uIGFuZCBkZWxpdmVyeSBmZWVzLgCZASBDYWxscyBvciBYQ01zIG1pZ2h0IGZhaWwgd2hlbiBleGVjdXRlZCwgdGhpcyBkb2Vzbid0IG1lYW4gdGhlIHJlc3VsdCBvZiB0aGVzZSBjYWxscyB3aWxsIGJlIGFuIGBFcnJgLmUBIEluIHRob3NlIGNhc2VzLCB0aGVyZSBtaWdodCBzdGlsbCBiZSBhIHZhbGlkIHJlc3VsdCwgd2l0aCB0aGUgZXhlY3V0aW9uIGVycm9yIGluc2lkZSBpdC5lASBUaGUgb25seSByZWFzb25zIHdoeSB0aGVzZSBjYWxscyBtaWdodCByZXR1cm4gYW4gZXJyb3IgYXJlIGxpc3RlZCBpbiB0aGUgW2BFcnJvcmBdIGVudW0uUExvY2F0aW9uVG9BY2NvdW50QXBpBEBjb252ZXJ0X2xvY2F0aW9uBCBsb2NhdGlvbr0EVQ4EkCBDb252ZXJ0cyBgTG9jYXRpb25gIHRvIGBBY2NvdW50SWRgLgQNASBBUEkgZm9yIHVzZWZ1bCBjb252ZXJzaW9ucyBiZXR3ZWVuIFhDTSBgTG9jYXRpb25gIGFuZCBgQWNjb3VudElkYC5MQ2hhaW5saW5rQWRhcHRlckFwaQhUZW5jb2RlX29yYWNsZV9hZGRyZXNzEChhc3NldF9pZF9hEChhc3NldF9pZF9iEBhwZXJpb2S5Axhzb3VyY2X9AUEBAFRkZWNvZGVfb3JhY2xlX2FkZHJlc3MEOG9yYWNsZV9hZGRyZXNzQQFdDgAEqCBUaGUgQVBJIHRvIHF1ZXJ5IEVWTSBhY2NvdW50IGNvbnZlcnNpb25zLkRBYXZlVHJhZGVFeGVjdXRvchAUcGFpcnMAUQMAPGxpcXVpZGl0eV9kZXB0aAggYXNzZXRfaW4QJGFzc2V0X291dBDgABBwb29sCBxyZXNlcnZlEBhhdG9rZW4QZQ4AFHBvb2xzAGkOAAA4R2VuZXNpc0J1aWxkZXIMLGJ1aWxkX3N0YXRlBBBqc29uOG0OJGUBIEJ1aWxkIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgZnJvbSBhIEpTT04gYmxvYiBub3QgdXNpbmcgYW55IGRlZmF1bHRzIGFuZCBzdG9yZSBpdCBpbiB0aGUkIHN0b3JhZ2UuAPkBIEluIHRoZSBjYXNlIG9mIGEgRlJBTUUtYmFzZWQgcnVudGltZSwgdGhpcyBmdW5jdGlvbiBkZXNlcmlhbGl6ZXMgdGhlIGZ1bGwgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBmcm9tIHRoZSBnaXZlbiBKU09OIGJsb2IgYW5kWQEgcHV0cyBpdCBpbnRvIHRoZSBzdG9yYWdlLiBJZiB0aGUgcHJvdmlkZWQgSlNPTiBibG9iIGlzIGluY29ycmVjdCBvciBpbmNvbXBsZXRlIG9yIHRoZbQgZGVzZXJpYWxpemF0aW9uIGZhaWxzLCBhbiBlcnJvciBpcyByZXR1cm5lZC4AXQEgUGxlYXNlIG5vdGUgdGhhdCBwcm92aWRlZCBKU09OIGJsb2IgbXVzdCBjb250YWluIGFsbCBgUnVudGltZUdlbmVzaXNDb25maWdgIGZpZWxkcywgbm9cIGRlZmF1bHRzIHdpbGwgYmUgdXNlZC4oZ2V0X3ByZXNldAQIaWRxDhkMOGEBIFJldHVybnMgYSBKU09OIGJsb2IgcmVwcmVzZW50YXRpb24gb2YgdGhlIGJ1aWx0LWluIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgaWRlbnRpZmllZCBieRggYGlkYC4APQEgSWYgYGlkYCBpcyBgTm9uZWAgdGhlIGZ1bmN0aW9uIHJldHVybnMgSlNPTiBibG9iIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkZWZhdWx0SQEgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBzdHJ1Y3Qgb2YgdGhlIHJ1bnRpbWUuIEltcGxlbWVudGF0aW9uIG11c3QgcHJvdmlkZSBkZWZhdWx0YCBgUnVudGltZUdlbmVzaXNDb25maWdgLgAhASBPdGhlcndpc2UgZnVuY3Rpb24gcmV0dXJucyBhIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhlIGJ1aWx0LWluLCBuYW1lZFEBIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgcHJlc2V0IGlkZW50aWZpZWQgYnkgYGlkYCwgb3IgYE5vbmVgIGlmIHN1Y2ggcHJlc2V0IGRvZXMgbm90YQEgZXhpc3QuIFJldHVybmVkIGBWZWM8dTg+YCBjb250YWlucyBieXRlcyBvZiBKU09OIGJsb2IgKHBhdGNoKSB3aGljaCBjb21wcmlzZXMgYSBsaXN0IG9mTQEgKHBvdGVudGlhbGx5IG5lc3RlZCkga2V5LXZhbHVlIHBhaXJzIHRoYXQgYXJlIGludGVuZGVkIGZvciBjdXN0b21pemluZyB0aGUgZGVmYXVsdGUBIHJ1bnRpbWUgZ2VuZXNpcyBjb25maWcuIFRoZSBwYXRjaCBzaGFsbCBiZSBtZXJnZWQgKHJmYzczODYpIHdpdGggdGhlIEpTT04gcmVwcmVzZW50YXRpb25hASBvZiB0aGUgZGVmYXVsdCBgUnVudGltZUdlbmVzaXNDb25maWdgIHRvIGNyZWF0ZSBhIGNvbXByZWhlbnNpdmUgZ2VuZXNpcyBjb25maWcgdGhhdCBjYW6EIGJlIHVzZWQgaW4gYGJ1aWxkX3N0YXRlYCBtZXRob2QuMHByZXNldF9uYW1lcwB1DhBRASBSZXR1cm5zIGEgbGlzdCBvZiBpZGVudGlmaWVycyBmb3IgYXZhaWxhYmxlIGJ1aWx0aW4gYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBwcmVzZXRzLgBhASBUaGUgcHJlc2V0cyBmcm9tIHRoZSBsaXN0IGNhbiBiZSBxdWVyaWVkIHdpdGggW2BHZW5lc2lzQnVpbGRlcjo6Z2V0X3ByZXNldGBdIG1ldGhvZC4gSWYBASBubyBuYW1lZCBwcmVzZXRzIGFyZSBwcm92aWRlZCBieSB0aGUgcnVudGltZSB0aGUgbGlzdCBpcyBlbXB0eS4E6CBBUEkgdG8gaW50ZXJhY3Qgd2l0aCBSdW50aW1lR2VuZXNpc0NvbmZpZyBmb3IgdGhlIHJ1bnRpbWURAVR5DgA=";
82
82
  hydration_metadata_default = binMeta;
83
83
  }
84
84
  });
@@ -300,7 +300,7 @@ var TransactionValidityUnknownTransaction = _Enum;
300
300
  var TransactionValidityTransactionSource = _Enum;
301
301
 
302
302
  // .papi/descriptors/src/index.ts
303
- var metadatas = { ["0x5b3789c70537a0508cf6065fcd09ba930a24918afc8f00a49c7e6474eb643af6"]: hydration_default };
303
+ var metadatas = { ["0x252af19a9ac83c621c4f1307ded240c6054fe5c09b40e81c073ba74a3a06d898"]: hydration_default };
304
304
  var getMetadata2 = async (codeHash) => {
305
305
  try {
306
306
  return await metadatas[codeHash].getMetadata();