UNPKG

israeli-bank-scrapers-core

Version:

Provide scrapers for all major Israeli banks and credit card companies

560 lines (559 loc) 27.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GET_MOVEMENTS = exports.GET_CUSTOMER = void 0; const GET_CUSTOMER = exports.GET_CUSTOMER = ` query GetCustomer { customer { __typename customerId userId idType idNumber hebrewFirstName hebrewLastName latinFirstName latinLastName dateOfBirth lastLoginDate userEmail gender portfolioRelations { __typename customerId customerRole portfolioId initiator relationToInitiator status } portfolios { __typename ...Portfolio } status } } fragment Portfolio on Portfolio { __typename accounts { __typename accountId accountType closingDate currency openingDate status subType } activationDate bank baseCurrency branch club clubDescription iban imageURL isJointAccount partnerName { __typename partnerFirstName partnerLastName } portfolioId portfolioNum portfolioType status subType onboardingCompleted } `; const GET_MOVEMENTS = exports.GET_MOVEMENTS = `query GetMovements( $portfolioId: String! $accountId: String! $pagination: PaginationInput! $language: BffLanguage! ) { movements( portfolioId: $portfolioId accountId: $accountId pagination: $pagination language: $language ) { __typename ...MovementsFragment } } fragment TransactionInstrumentAmountFragment on TransactionInstrumentAmount { __typename instrumentAmount instrumentSymbol instrumentType } fragment CounterPartyReferenceFragment on CounterPartyReference { __typename bankId bic branchCode id name type } fragment BaseTransactionFragment on BaseTransaction { __typename accountId betweenOwnAccounts bookDate calculatedStatus chargeAmount { __typename ...TransactionInstrumentAmountFragment } clearingSystem counterParty { __typename ...CounterPartyReferenceFragment } currentPaymentNumber direction domainType isReversal method originalAmount { __typename ...TransactionInstrumentAmountFragment } portfolioId totalPaymentsCount transactionId transactionType valueDate } fragment CategoryFragment on Category { __typename categoryId dataSource subCategoryId } fragment RecurrenceFragment on Recurrence { __typename dataSource isRecurrent } fragment TransactionEnrichmentFragment on TransactionEnrichment { __typename categories { __typename ...CategoryFragment } recurrences { __typename ...RecurrenceFragment } } fragment TransactionEventMetadataFragment on TransactionEventMetadata { __typename correlationId processingOrder } fragment CounterPartyTransferData on CounterPartyTransfer { __typename accountId bank_id branch_code counter_party_name } fragment BankTransferDetailsData on BankTransferDetails { __typename ... on CashBlockTransfer { counterParty { __typename ...CounterPartyTransferData } transferDescriptionKey } ... on RTGSReturnTransfer { transferDescriptionKey } ... on RTGSTransfer { transferDescriptionKey } ... on SwiftReturnTransfer { transferConversionRate transferDescriptionKey } ... on SwiftTransfer { transferConversionRate transferDescriptionKey } ... on Transfer { counterParty { __typename ...CounterPartyTransferData } transferDescriptionKey } } fragment CategoryData on Category { __typename categoryId dataSource subCategoryId } fragment RecurrenceData on Recurrence { __typename dataSource isRecurrent } fragment CardDetailsData on CardDetails { __typename ... on CardCharge { book_date cardDescriptionKey } ... on CardChargeFCY { book_date cardConversionRate cardDescriptionKey cardFCYAmount cardFCYCurrency } ... on CardMonthlySettlement { cardDescriptionKey } ... on CardRefund { cardDescriptionKey } ... on CashBlockCardCharge { cardDescriptionKey } } fragment CashDetailsData on CashDetails { __typename ... on CashWithdrawal { cashDescriptionKey } ... on CashWithdrawalFCY { FCYAmount FCYCurrency cashDescriptionKey conversionRate } } fragment ChequesDetailsData on ChequesDetails { __typename ... on CashBlockChequeDeposit { bookDate chequesDescriptionKey } ... on ChequeDeposit { bookDate chequesDescriptionKey } ... on ChequeReturn { bookDate chequeReturnReason chequesDescriptionKey } ... on ChequeWithdrawal { chequesDescriptionKey } } fragment DefaultDetailsData on DefaultDetails { __typename ... on DefaultWithTransaction { defaultDescriptionKey } ... on DefaultWithoutTransaction { categories { __typename ...CategoryData } defaultDescriptionKey } } fragment FeeDetailsData on FeeDetails { __typename ... on GeneralFee { feeDescriptionKey } } fragment LoanDetailsData on LoanDetails { __typename ... on FullPrePayment { loanDescriptionKey } ... on Initiate { loanDescriptionKey } ... on MonthlyPayment { loanDescriptionKey loanPaymentNumber loanTotalPaymentsCount } ... on PartialPrePayment { loanDescriptionKey } } fragment MandateDetailsData on MandateDetails { __typename ... on MandatePayment { mandateDescriptionKey } ... on MandateReturnPayment { mandateDescriptionKey } } fragment SavingsDetailsData on SavingsDetails { __typename ... on FullSavingsWithdrawal { savingsDescriptionKey } ... on MonthlySavingsDeposit { savingsDepositNumber savingsDescriptionKey savingsTotalDepositCount } ... on PartialSavingsWithdrawal { savingsDescriptionKey } ... on SavingsClosing { savingsDescriptionKey } ... on SavingsDeposit { savingsDescriptionKey } ... on SavingsInterest { savingsDescriptionKey } ... on SavingsPenalty { savingsDescriptionKey } ... on SavingsTax { savingsDescriptionKey } } fragment SubscriptionDetailsData on SubscriptionDetails { __typename ... on SubscriptionPayment { subscriptionDescriptionKey } ... on SubscriptionReturnPayment { subscriptionDescriptionKey } } fragment TransactionsDetailsData on TransactionDetails { __typename ... on BankTransfer { bank_transfer_details { __typename ...BankTransferDetailsData } book_date categories { __typename ...CategoryData } recurrences { __typename ...RecurrenceData } value_date } ... on Card { card_details { __typename ...CardDetailsData } categories { __typename ...CategoryData } recurrences { __typename ...RecurrenceData } value_date } ... on Cash { cash_details { __typename ...CashDetailsData } categories { __typename ...CategoryData } recurrences { __typename ...RecurrenceData } value_date } ... on Cheques { categories { __typename ...CategoryData } chequesDetails { __typename ...ChequesDetailsData } recurrences { __typename ...RecurrenceData } valueDate referenceNumber frontImageUrl backImageUrl } ... on Default { default_details { __typename ...DefaultDetailsData } recurrences { __typename ...RecurrenceData } value_date } ... on Fee { categories { __typename ...CategoryData } fee_details { __typename ...FeeDetailsData } value_date } ... on Loans { categories { __typename ...CategoryData } loan_details { __typename ...LoanDetailsData } recurrences { __typename ...RecurrenceData } value_date } ... on Mandate { categories { __typename ...CategoryData } mandate_details { __typename ...MandateDetailsData } recurrences { __typename ...RecurrenceData } value_date } ... on Savings { categories { __typename ...CategoryData } recurrences { __typename ...RecurrenceData } savings_details { __typename ...SavingsDetailsData } value_date } ... on SubscriptionTransaction { categories { __typename ...CategoryData } recurrences { __typename ...RecurrenceData } subscription_details { __typename ...SubscriptionDetailsData } value_date } } fragment TransactionFragment on Transaction { __typename baseTransaction { __typename ...BaseTransactionFragment } enrichment { __typename ...TransactionEnrichmentFragment } metadata { __typename ...TransactionEventMetadataFragment } referenceNumber transactionDetails { __typename ...TransactionsDetailsData } } fragment MovementFragment on Movement { __typename accountId bankCurrencyAmount bookingDate conversionRate creditDebit description isReversed linkTransaction { __typename ...TransactionFragment } movementAmount movementCurrency movementId movementReversedId movementTimestamp movementType portfolioId runningBalance transaction { __typename ...TransactionFragment } valueDate } fragment PaginationFragment on Pagination { __typename cursor hasMore } fragment MovementsFragment on Movements { __typename isRunningBalanceInSync movements { __typename ...MovementFragment } pagination { __typename ...PaginationFragment } }`; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHRVRfQ1VTVE9NRVIiLCJleHBvcnRzIiwiR0VUX01PVkVNRU5UUyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9vbmUtemVyby1xdWVyaWVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBHRVRfQ1VTVE9NRVIgPSBgXG5xdWVyeSBHZXRDdXN0b21lciB7XG4gIGN1c3RvbWVyIHtcbiAgICBfX3R5cGVuYW1lXG4gICAgY3VzdG9tZXJJZFxuICAgIHVzZXJJZFxuICAgIGlkVHlwZVxuICAgIGlkTnVtYmVyXG4gICAgaGVicmV3Rmlyc3ROYW1lXG4gICAgaGVicmV3TGFzdE5hbWVcbiAgICBsYXRpbkZpcnN0TmFtZVxuICAgIGxhdGluTGFzdE5hbWVcbiAgICBkYXRlT2ZCaXJ0aFxuICAgIGxhc3RMb2dpbkRhdGVcbiAgICB1c2VyRW1haWxcbiAgICBnZW5kZXJcbiAgICBwb3J0Zm9saW9SZWxhdGlvbnMge1xuICAgICAgX190eXBlbmFtZVxuICAgICAgY3VzdG9tZXJJZFxuICAgICAgY3VzdG9tZXJSb2xlXG4gICAgICBwb3J0Zm9saW9JZFxuICAgICAgaW5pdGlhdG9yXG4gICAgICByZWxhdGlvblRvSW5pdGlhdG9yXG4gICAgICBzdGF0dXNcbiAgICB9XG4gICAgcG9ydGZvbGlvcyB7XG4gICAgICBfX3R5cGVuYW1lXG4gICAgICAuLi5Qb3J0Zm9saW9cbiAgICB9XG4gICAgc3RhdHVzXG4gIH1cbn1cbmZyYWdtZW50IFBvcnRmb2xpbyBvbiBQb3J0Zm9saW8ge1xuICBfX3R5cGVuYW1lXG4gIGFjY291bnRzIHtcbiAgICBfX3R5cGVuYW1lXG4gICAgYWNjb3VudElkXG4gICAgYWNjb3VudFR5cGVcbiAgICBjbG9zaW5nRGF0ZVxuICAgIGN1cnJlbmN5XG4gICAgb3BlbmluZ0RhdGVcbiAgICBzdGF0dXNcbiAgICBzdWJUeXBlXG4gIH1cbiAgYWN0aXZhdGlvbkRhdGVcbiAgYmFua1xuICBiYXNlQ3VycmVuY3lcbiAgYnJhbmNoXG4gIGNsdWJcbiAgY2x1YkRlc2NyaXB0aW9uXG4gIGliYW5cbiAgaW1hZ2VVUkxcbiAgaXNKb2ludEFjY291bnRcbiAgcGFydG5lck5hbWUge1xuICAgIF9fdHlwZW5hbWVcbiAgICBwYXJ0bmVyRmlyc3ROYW1lXG4gICAgcGFydG5lckxhc3ROYW1lXG4gIH1cbiAgcG9ydGZvbGlvSWRcbiAgcG9ydGZvbGlvTnVtXG4gIHBvcnRmb2xpb1R5cGVcbiAgc3RhdHVzXG4gIHN1YlR5cGVcbiAgb25ib2FyZGluZ0NvbXBsZXRlZFxufVxuYDtcblxuZXhwb3J0IGNvbnN0IEdFVF9NT1ZFTUVOVFMgPSBgcXVlcnkgR2V0TW92ZW1lbnRzKFxuICAkcG9ydGZvbGlvSWQ6IFN0cmluZyFcbiAgJGFjY291bnRJZDogU3RyaW5nIVxuICAkcGFnaW5hdGlvbjogUGFnaW5hdGlvbklucHV0IVxuICAkbGFuZ3VhZ2U6IEJmZkxhbmd1YWdlIVxuKSB7XG4gIG1vdmVtZW50cyhcbiAgICBwb3J0Zm9saW9JZDogJHBvcnRmb2xpb0lkXG4gICAgYWNjb3VudElkOiAkYWNjb3VudElkXG4gICAgcGFnaW5hdGlvbjogJHBhZ2luYXRpb25cbiAgICBsYW5ndWFnZTogJGxhbmd1YWdlXG4gICkge1xuICAgIF9fdHlwZW5hbWVcbiAgICAuLi5Nb3ZlbWVudHNGcmFnbWVudFxuICB9XG59XG5mcmFnbWVudCBUcmFuc2FjdGlvbkluc3RydW1lbnRBbW91bnRGcmFnbWVudCBvbiBUcmFuc2FjdGlvbkluc3RydW1lbnRBbW91bnQge1xuICBfX3R5cGVuYW1lXG4gIGluc3RydW1lbnRBbW91bnRcbiAgaW5zdHJ1bWVudFN5bWJvbFxuICBpbnN0cnVtZW50VHlwZVxufVxuZnJhZ21lbnQgQ291bnRlclBhcnR5UmVmZXJlbmNlRnJhZ21lbnQgb24gQ291bnRlclBhcnR5UmVmZXJlbmNlIHtcbiAgX190eXBlbmFtZVxuICBiYW5rSWRcbiAgYmljXG4gIGJyYW5jaENvZGVcbiAgaWRcbiAgbmFtZVxuICB0eXBlXG59XG5mcmFnbWVudCBCYXNlVHJhbnNhY3Rpb25GcmFnbWVudCBvbiBCYXNlVHJhbnNhY3Rpb24ge1xuICBfX3R5cGVuYW1lXG4gIGFjY291bnRJZFxuICBiZXR3ZWVuT3duQWNjb3VudHNcbiAgYm9va0RhdGVcbiAgY2FsY3VsYXRlZFN0YXR1c1xuICBjaGFyZ2VBbW91bnQge1xuICAgIF9fdHlwZW5hbWVcbiAgICAuLi5UcmFuc2FjdGlvbkluc3RydW1lbnRBbW91bnRGcmFnbWVudFxuICB9XG4gIGNsZWFyaW5nU3lzdGVtXG4gIGNvdW50ZXJQYXJ0eSB7XG4gICAgX190eXBlbmFtZVxuICAgIC4uLkNvdW50ZXJQYXJ0eVJlZmVyZW5jZUZyYWdtZW50XG4gIH1cbiAgY3VycmVudFBheW1lbnROdW1iZXJcbiAgZGlyZWN0aW9uXG4gIGRvbWFpblR5cGVcbiAgaXNSZXZlcnNhbFxuICBtZXRob2RcbiAgb3JpZ2luYWxBbW91bnQge1xuICAgIF9fdHlwZW5hbWVcbiAgICAuLi5UcmFuc2FjdGlvbkluc3RydW1lbnRBbW91bnRGcmFnbWVudFxuICB9XG4gIHBvcnRmb2xpb0lkXG4gIHRvdGFsUGF5bWVudHNDb3VudFxuICB0cmFuc2FjdGlvbklkXG4gIHRyYW5zYWN0aW9uVHlwZVxuICB2YWx1ZURhdGVcbn1cbmZyYWdtZW50IENhdGVnb3J5RnJhZ21lbnQgb24gQ2F0ZWdvcnkge1xuICBfX3R5cGVuYW1lXG4gIGNhdGVnb3J5SWRcbiAgZGF0YVNvdXJjZVxuICBzdWJDYXRlZ29yeUlkXG59XG5mcmFnbWVudCBSZWN1cnJlbmNlRnJhZ21lbnQgb24gUmVjdXJyZW5jZSB7XG4gIF9fdHlwZW5hbWVcbiAgZGF0YVNvdXJjZVxuICBpc1JlY3VycmVudFxufVxuZnJhZ21lbnQgVHJhbnNhY3Rpb25FbnJpY2htZW50RnJhZ21lbnQgb24gVHJhbnNhY3Rpb25FbnJpY2htZW50IHtcbiAgX190eXBlbmFtZVxuICBjYXRlZ29yaWVzIHtcbiAgICBfX3R5cGVuYW1lXG4gICAgLi4uQ2F0ZWdvcnlGcmFnbWVudFxuICB9XG4gIHJlY3VycmVuY2VzIHtcbiAgICBfX3R5cGVuYW1lXG4gICAgLi4uUmVjdXJyZW5jZUZyYWdtZW50XG4gIH1cbn1cbmZyYWdtZW50IFRyYW5zYWN0aW9uRXZlbnRNZXRhZGF0YUZyYWdtZW50IG9uIFRyYW5zYWN0aW9uRXZlbnRNZXRhZGF0YSB7XG4gIF9fdHlwZW5hbWVcbiAgY29ycmVsYXRpb25JZFxuICBwcm9jZXNzaW5nT3JkZXJcbn1cbmZyYWdtZW50IENvdW50ZXJQYXJ0eVRyYW5zZmVyRGF0YSBvbiBDb3VudGVyUGFydHlUcmFuc2ZlciB7XG4gIF9fdHlwZW5hbWVcbiAgYWNjb3VudElkXG4gIGJhbmtfaWRcbiAgYnJhbmNoX2NvZGVcbiAgY291bnRlcl9wYXJ0eV9uYW1lXG59XG5mcmFnbWVudCBCYW5rVHJhbnNmZXJEZXRhaWxzRGF0YSBvbiBCYW5rVHJhbnNmZXJEZXRhaWxzIHtcbiAgX190eXBlbmFtZVxuICAuLi4gb24gQ2FzaEJsb2NrVHJhbnNmZXIge1xuICAgIGNvdW50ZXJQYXJ0eSB7XG4gICAgICBfX3R5cGVuYW1lXG4gICAgICAuLi5Db3VudGVyUGFydHlUcmFuc2ZlckRhdGFcbiAgICB9XG4gICAgdHJhbnNmZXJEZXNjcmlwdGlvbktleVxuICB9XG4gIC4uLiBvbiBSVEdTUmV0dXJuVHJhbnNmZXIge1xuICAgIHRyYW5zZmVyRGVzY3JpcHRpb25LZXlcbiAgfVxuICAuLi4gb24gUlRHU1RyYW5zZmVyIHtcbiAgICB0cmFuc2ZlckRlc2NyaXB0aW9uS2V5XG4gIH1cbiAgLi4uIG9uIFN3aWZ0UmV0dXJuVHJhbnNmZXIge1xuICAgIHRyYW5zZmVyQ29udmVyc2lvblJhdGVcbiAgICB0cmFuc2ZlckRlc2NyaXB0aW9uS2V5XG4gIH1cbiAgLi4uIG9uIFN3aWZ0VHJhbnNmZXIge1xuICAgIHRyYW5zZmVyQ29udmVyc2lvblJhdGVcbiAgICB0cmFuc2ZlckRlc2NyaXB0aW9uS2V5XG4gIH1cbiAgLi4uIG9uIFRyYW5zZmVyIHtcbiAgICBjb3VudGVyUGFydHkge1xuICAgICAgX190eXBlbmFtZVxuICAgICAgLi4uQ291bnRlclBhcnR5VHJhbnNmZXJEYXRhXG4gICAgfVxuICAgIHRyYW5zZmVyRGVzY3JpcHRpb25LZXlcbiAgfVxufVxuZnJhZ21lbnQgQ2F0ZWdvcnlEYXRhIG9uIENhdGVnb3J5IHtcbiAgX190eXBlbmFtZVxuICBjYXRlZ29yeUlkXG4gIGRhdGFTb3VyY2VcbiAgc3ViQ2F0ZWdvcnlJZFxufVxuZnJhZ21lbnQgUmVjdXJyZW5jZURhdGEgb24gUmVjdXJyZW5jZSB7XG4gIF9fdHlwZW5hbWVcbiAgZGF0YVNvdXJjZVxuICBpc1JlY3VycmVudFxufVxuZnJhZ21lbnQgQ2FyZERldGFpbHNEYXRhIG9uIENhcmREZXRhaWxzIHtcbiAgX190eXBlbmFtZVxuICAuLi4gb24gQ2FyZENoYXJnZSB7XG4gICAgYm9va19kYXRlXG4gICAgY2FyZERlc2NyaXB0aW9uS2V5XG4gIH1cbiAgLi4uIG9uIENhcmRDaGFyZ2VGQ1kge1xuICAgIGJvb2tfZGF0ZVxuICAgIGNhcmRDb252ZXJzaW9uUmF0ZVxuICAgIGNhcmREZXNjcmlwdGlvbktleVxuICAgIGNhcmRGQ1lBbW91bnRcbiAgICBjYXJkRkNZQ3VycmVuY3lcbiAgfVxuICAuLi4gb24gQ2FyZE1vbnRobHlTZXR0bGVtZW50IHtcbiAgICBjYXJkRGVzY3JpcHRpb25LZXlcbiAgfVxuICAuLi4gb24gQ2FyZFJlZnVuZCB7XG4gICAgY2FyZERlc2NyaXB0aW9uS2V5XG4gIH1cbiAgLi4uIG9uIENhc2hCbG9ja0NhcmRDaGFyZ2Uge1xuICAgIGNhcmREZXNjcmlwdGlvbktleVxuICB9XG59XG5mcmFnbWVudCBDYXNoRGV0YWlsc0RhdGEgb24gQ2FzaERldGFpbHMge1xuICBfX3R5cGVuYW1lXG4gIC4uLiBvbiBDYXNoV2l0aGRyYXdhbCB7XG4gICAgY2FzaERlc2NyaXB0aW9uS2V5XG4gIH1cbiAgLi4uIG9uIENhc2hXaXRoZHJhd2FsRkNZIHtcbiAgICBGQ1lBbW91bnRcbiAgICBGQ1lDdXJyZW5jeVxuICAgIGNhc2hEZXNjcmlwdGlvbktleVxuICAgIGNvbnZlcnNpb25SYXRlXG4gIH1cbn1cbmZyYWdtZW50IENoZXF1ZXNEZXRhaWxzRGF0YSBvbiBDaGVxdWVzRGV0YWlscyB7XG4gIF9fdHlwZW5hbWVcbiAgLi4uIG9uIENhc2hCbG9ja0NoZXF1ZURlcG9zaXQge1xuICAgIGJvb2tEYXRlXG4gICAgY2hlcXVlc0Rlc2NyaXB0aW9uS2V5XG4gIH1cbiAgLi4uIG9uIENoZXF1ZURlcG9zaXQge1xuICAgIGJvb2tEYXRlXG4gICAgY2hlcXVlc0Rlc2NyaXB0aW9uS2V5XG4gIH1cbiAgLi4uIG9uIENoZXF1ZVJldHVybiB7XG4gICAgYm9va0RhdGVcbiAgICBjaGVxdWVSZXR1cm5SZWFzb25cbiAgICBjaGVxdWVzRGVzY3JpcHRpb25LZXlcbiAgfVxuICAuLi4gb24gQ2hlcXVlV2l0aGRyYXdhbCB7XG4gICAgY2hlcXVlc0Rlc2NyaXB0aW9uS2V5XG4gIH1cbn1cbmZyYWdtZW50IERlZmF1bHREZXRhaWxzRGF0YSBvbiBEZWZhdWx0RGV0YWlscyB7XG4gIF9fdHlwZW5hbWVcbiAgLi4uIG9uIERlZmF1bHRXaXRoVHJhbnNhY3Rpb24ge1xuICAgIGRlZmF1bHREZXNjcmlwdGlvbktleVxuICB9XG4gIC4uLiBvbiBEZWZhdWx0V2l0aG91dFRyYW5zYWN0aW9uIHtcbiAgICBjYXRlZ29yaWVzIHtcbiAgICAgIF9fdHlwZW5hbWVcbiAgICAgIC4uLkNhdGVnb3J5RGF0YVxuICAgIH1cbiAgICBkZWZhdWx0RGVzY3JpcHRpb25LZXlcbiAgfVxufVxuZnJhZ21lbnQgRmVlRGV0YWlsc0RhdGEgb24gRmVlRGV0YWlscyB7XG4gIF9fdHlwZW5hbWVcbiAgLi4uIG9uIEdlbmVyYWxGZWUge1xuICAgIGZlZURlc2NyaXB0aW9uS2V5XG4gIH1cbn1cbmZyYWdtZW50IExvYW5EZXRhaWxzRGF0YSBvbiBMb2FuRGV0YWlscyB7XG4gIF9fdHlwZW5hbWVcbiAgLi4uIG9uIEZ1bGxQcmVQYXltZW50IHtcbiAgICBsb2FuRGVzY3JpcHRpb25LZXlcbiAgfVxuICAuLi4gb24gSW5pdGlhdGUge1xuICAgIGxvYW5EZXNjcmlwdGlvbktleVxuICB9XG4gIC4uLiBvbiBNb250aGx5UGF5bWVudCB7XG4gICAgbG9hbkRlc2NyaXB0aW9uS2V5XG4gICAgbG9hblBheW1lbnROdW1iZXJcbiAgICBsb2FuVG90YWxQYXltZW50c0NvdW50XG4gIH1cbiAgLi4uIG9uIFBhcnRpYWxQcmVQYXltZW50IHtcbiAgICBsb2FuRGVzY3JpcHRpb25LZXlcbiAgfVxufVxuZnJhZ21lbnQgTWFuZGF0ZURldGFpbHNEYXRhIG9uIE1hbmRhdGVEZXRhaWxzIHtcbiAgX190eXBlbmFtZVxuICAuLi4gb24gTWFuZGF0ZVBheW1lbnQge1xuICAgIG1hbmRhdGVEZXNjcmlwdGlvbktleVxuICB9XG4gIC4uLiBvbiBNYW5kYXRlUmV0dXJuUGF5bWVudCB7XG4gICAgbWFuZGF0ZURlc2NyaXB0aW9uS2V5XG4gIH1cbn1cbmZyYWdtZW50IFNhdmluZ3NEZXRhaWxzRGF0YSBvbiBTYXZpbmdzRGV0YWlscyB7XG4gIF9fdHlwZW5hbWVcbiAgLi4uIG9uIEZ1bGxTYXZpbmdzV2l0aGRyYXdhbCB7XG4gICAgc2F2aW5nc0Rlc2NyaXB0aW9uS2V5XG4gIH1cbiAgLi4uIG9uIE1vbnRobHlTYXZpbmdzRGVwb3NpdCB7XG4gICAgc2F2aW5nc0RlcG9zaXROdW1iZXJcbiAgICBzYXZpbmdzRGVzY3JpcHRpb25LZXlcbiAgICBzYXZpbmdzVG90YWxEZXBvc2l0Q291bnRcbiAgfVxuICAuLi4gb24gUGFydGlhbFNhdmluZ3NXaXRoZHJhd2FsIHtcbiAgICBzYXZpbmdzRGVzY3JpcHRpb25LZXlcbiAgfVxuICAuLi4gb24gU2F2aW5nc0Nsb3Npbmcge1xuICAgIHNhdmluZ3NEZXNjcmlwdGlvbktleVxuICB9XG4gIC4uLiBvbiBTYXZpbmdzRGVwb3NpdCB7XG4gICAgc2F2aW5nc0Rlc2NyaXB0aW9uS2V5XG4gIH1cbiAgLi4uIG9uIFNhdmluZ3NJbnRlcmVzdCB7XG4gICAgc2F2aW5nc0Rlc2NyaXB0aW9uS2V5XG4gIH1cbiAgLi4uIG9uIFNhdmluZ3NQZW5hbHR5IHtcbiAgICBzYXZpbmdzRGVzY3JpcHRpb25LZXlcbiAgfVxuICAuLi4gb24gU2F2aW5nc1RheCB7XG4gICAgc2F2aW5nc0Rlc2NyaXB0aW9uS2V5XG4gIH1cbn1cbmZyYWdtZW50IFN1YnNjcmlwdGlvbkRldGFpbHNEYXRhIG9uIFN1YnNjcmlwdGlvbkRldGFpbHMge1xuICBfX3R5cGVuYW1lXG4gIC4uLiBvbiBTdWJzY3JpcHRpb25QYXltZW50IHtcbiAgICBzdWJzY3JpcHRpb25EZXNjcmlwdGlvbktleVxuICB9XG4gIC4uLiBvbiBTdWJzY3JpcHRpb25SZXR1cm5QYXltZW50IHtcbiAgICBzdWJzY3JpcHRpb25EZXNjcmlwdGlvbktleVxuICB9XG59XG5mcmFnbWVudCBUcmFuc2FjdGlvbnNEZXRhaWxzRGF0YSBvbiBUcmFuc2FjdGlvbkRldGFpbHMge1xuICBfX3R5cGVuYW1lXG4gIC4uLiBvbiBCYW5rVHJhbnNmZXIge1xuICAgIGJhbmtfdHJhbnNmZXJfZGV0YWlscyB7XG4gICAgICBfX3R5cGVuYW1lXG4gICAgICAuLi5CYW5rVHJhbnNmZXJEZXRhaWxzRGF0YVxuICAgIH1cbiAgICBib29rX2RhdGVcbiAgICBjYXRlZ29yaWVzIHtcbiAgICAgIF9fdHlwZW5hbWVcbiAgICAgIC4uLkNhdGVnb3J5RGF0YVxuICAgIH1cbiAgICByZWN1cnJlbmNlcyB7XG4gICAgICBfX3R5cGVuYW1lXG4gICAgICAuLi5SZWN1cnJlbmNlRGF0YVxuICAgIH1cbiAgICB2YWx1ZV9kYXRlXG4gIH1cbiAgLi4uIG9uIENhcmQge1xuICAgIGNhcmRfZGV0YWlscyB7XG4gICAgICBfX3R5cGVuYW1lXG4gICAgICAuLi5DYXJkRGV0YWlsc0RhdGFcbiAgICB9XG4gICAgY2F0ZWdvcmllcyB7XG4gICAgICBfX3R5cGVuYW1lXG4gICAgICAuLi5DYXRlZ29yeURhdGFcbiAgICB9XG4gICAgcmVjdXJyZW5jZXMge1xuICAgICAgX190eXBlbmFtZVxuICAgICAgLi4uUmVjdXJyZW5jZURhdGFcbiAgICB9XG4gICAgdmFsdWVfZGF0ZVxuICB9XG4gIC4uLiBvbiBDYXNoIHtcbiAgICBjYXNoX2RldGFpbHMge1xuICAgICAgX190eXBlbmFtZVxuICAgICAgLi4uQ2FzaERldGFpbHNEYXRhXG4gICAgfVxuICAgIGNhdGVnb3JpZXMge1xuICAgICAgX190eXBlbmFtZVxuICAgICAgLi4uQ2F0ZWdvcnlEYXRhXG4gICAgfVxuICAgIHJlY3VycmVuY2VzIHtcbiAgICAgIF9fdHlwZW5hbWVcbiAgICAgIC4uLlJlY3VycmVuY2VEYXRhXG4gICAgfVxuICAgIHZhbHVlX2RhdGVcbiAgfVxuICAuLi4gb24gQ2hlcXVlcyB7XG4gICAgY2F0ZWdvcmllcyB7XG4gICAgICBfX3R5cGVuYW1lXG4gICAgICAuLi5DYXRlZ29yeURhdGFcbiAgICB9XG4gICAgY2hlcXVlc0RldGFpbHMge1xuICAgICAgX190eXBlbmFtZVxuICAgICAgLi4uQ2hlcXVlc0RldGFpbHNEYXRhXG4gICAgfVxuICAgIHJlY3VycmVuY2VzIHtcbiAgICAgIF9fdHlwZW5hbWVcbiAgICAgIC4uLlJlY3VycmVuY2VEYXRhXG4gICAgfVxuICAgIHZhbHVlRGF0ZVxuICAgIHJlZmVyZW5jZU51bWJlclxuICAgIGZyb250SW1hZ2VVcmxcbiAgICBiYWNrSW1hZ2VVcmxcbiAgfVxuICAuLi4gb24gRGVmYXVsdCB7XG4gICAgZGVmYXVsdF9kZXRhaWxzIHtcbiAgICAgIF9fdHlwZW5hbWVcbiAgICAgIC4uLkRlZmF1bHREZXRhaWxzRGF0YVxuICAgIH1cbiAgICByZWN1cnJlbmNlcyB7XG4gICAgICBfX3R5cGVuYW1lXG4gICAgICAuLi5SZWN1cnJlbmNlRGF0YVxuICAgIH1cbiAgICB2YWx1ZV9kYXRlXG4gIH1cbiAgLi4uIG9uIEZlZSB7XG4gICAgY2F0ZWdvcmllcyB7XG4gICAgICBfX3R5cGVuYW1lXG4gICAgICAuLi5DYXRlZ29yeURhdGFcbiAgICB9XG4gICAgZmVlX2RldGFpbHMge1xuICAgICAgX190eXBlbmFtZVxuICAgICAgLi4uRmVlRGV0YWlsc0RhdGFcbiAgICB9XG4gICAgdmFsdWVfZGF0ZVxuICB9XG4gIC4uLiBvbiBMb2FucyB7XG4gICAgY2F0ZWdvcmllcyB7XG4gICAgICBfX3R5cGVuYW1lXG4gICAgICAuLi5DYXRlZ29yeURhdGFcbiAgICB9XG4gICAgbG9hbl9kZXRhaWxzIHtcbiAgICAgIF9fdHlwZW5hbWVcbiAgICAgIC4uLkxvYW5EZXRhaWxzRGF0YVxuICAgIH1cbiAgICByZWN1cnJlbmNlcyB7XG4gICAgICBfX3R5cGVuYW1lXG4gICAgICAuLi5SZWN1cnJlbmNlRGF0YVxuICAgIH1cbiAgICB2YWx1ZV9kYXRlXG4gIH1cbiAgLi4uIG9uIE1hbmRhdGUge1xuICAgIGNhdGVnb3JpZXMge1xuICAgICAgX190eXBlbmFtZVxuICAgICAgLi4uQ2F0ZWdvcnlEYXRhXG4gICAgfVxuICAgIG1hbmRhdGVfZGV0YWlscyB7XG4gICAgICBfX3R5cGVuYW1lXG4gICAgICAuLi5NYW5kYXRlRGV0YWlsc0RhdGFcbiAgICB9XG4gICAgcmVjdXJyZW5jZXMge1xuICAgICAgX190eXBlbmFtZVxuICAgICAgLi4uUmVjdXJyZW5jZURhdGFcbiAgICB9XG4gICAgdmFsdWVfZGF0ZVxuICB9XG4gIC4uLiBvbiBTYXZpbmdzIHtcbiAgICBjYXRlZ29yaWVzIHtcbiAgICAgIF9fdHlwZW5hbWVcbiAgICAgIC4uLkNhdGVnb3J5RGF0YVxuICAgIH1cbiAgICByZWN1cnJlbmNlcyB7XG4gICAgICBfX3R5cGVuYW1lXG4gICAgICAuLi5SZWN1cnJlbmNlRGF0YVxuICAgIH1cbiAgICBzYXZpbmdzX2RldGFpbHMge1xuICAgICAgX190eXBlbmFtZVxuICAgICAgLi4uU2F2aW5nc0RldGFpbHNEYXRhXG4gICAgfVxuICAgIHZhbHVlX2RhdGVcbiAgfVxuICAuLi4gb24gU3Vic2NyaXB0aW9uVHJhbnNhY3Rpb24ge1xuICAgIGNhdGVnb3JpZXMge1xuICAgICAgX190eXBlbmFtZVxuICAgICAgLi4uQ2F0ZWdvcnlEYXRhXG4gICAgfVxuICAgIHJlY3VycmVuY2VzIHtcbiAgICAgIF9fdHlwZW5hbWVcbiAgICAgIC4uLlJlY3VycmVuY2VEYXRhXG4gICAgfVxuICAgIHN1YnNjcmlwdGlvbl9kZXRhaWxzIHtcbiAgICAgIF9fdHlwZW5hbWVcbiAgICAgIC4uLlN1YnNjcmlwdGlvbkRldGFpbHNEYXRhXG4gICAgfVxuICAgIHZhbHVlX2RhdGVcbiAgfVxufVxuZnJhZ21lbnQgVHJhbnNhY3Rpb25GcmFnbWVudCBvbiBUcmFuc2FjdGlvbiB7XG4gIF9fdHlwZW5hbWVcbiAgYmFzZVRyYW5zYWN0aW9uIHtcbiAgICBfX3R5cGVuYW1lXG4gICAgLi4uQmFzZVRyYW5zYWN0aW9uRnJhZ21lbnRcbiAgfVxuICBlbnJpY2htZW50IHtcbiAgICBfX3R5cGVuYW1lXG4gICAgLi4uVHJhbnNhY3Rpb25FbnJpY2htZW50RnJhZ21lbnRcbiAgfVxuICBtZXRhZGF0YSB7XG4gICAgX190eXBlbmFtZVxuICAgIC4uLlRyYW5zYWN0aW9uRXZlbnRNZXRhZGF0YUZyYWdtZW50XG4gIH1cbiAgcmVmZXJlbmNlTnVtYmVyXG4gIHRyYW5zYWN0aW9uRGV0YWlscyB7XG4gICAgX190eXBlbmFtZVxuICAgIC4uLlRyYW5zYWN0aW9uc0RldGFpbHNEYXRhXG4gIH1cbn1cbmZyYWdtZW50IE1vdmVtZW50RnJhZ21lbnQgb24gTW92ZW1lbnQge1xuICBfX3R5cGVuYW1lXG4gIGFjY291bnRJZFxuICBiYW5rQ3VycmVuY3lBbW91bnRcbiAgYm9va2luZ0RhdGVcbiAgY29udmVyc2lvblJhdGVcbiAgY3JlZGl0RGViaXRcbiAgZGVzY3JpcHRpb25cbiAgaXNSZXZlcnNlZFxuICBsaW5rVHJhbnNhY3Rpb24ge1xuICAgIF9fdHlwZW5hbWVcbiAgICAuLi5UcmFuc2FjdGlvbkZyYWdtZW50XG4gIH1cbiAgbW92ZW1lbnRBbW91bnRcbiAgbW92ZW1lbnRDdXJyZW5jeVxuICBtb3ZlbWVudElkXG4gIG1vdmVtZW50UmV2ZXJzZWRJZFxuICBtb3ZlbWVudFRpbWVzdGFtcFxuICBtb3ZlbWVudFR5cGVcbiAgcG9ydGZvbGlvSWRcbiAgcnVubmluZ0JhbGFuY2VcbiAgdHJhbnNhY3Rpb24ge1xuICAgIF9fdHlwZW5hbWVcbiAgICAuLi5UcmFuc2FjdGlvbkZyYWdtZW50XG4gIH1cbiAgdmFsdWVEYXRlXG59XG5mcmFnbWVudCBQYWdpbmF0aW9uRnJhZ21lbnQgb24gUGFnaW5hdGlvbiB7XG4gIF9fdHlwZW5hbWVcbiAgY3Vyc29yXG4gIGhhc01vcmVcbn1cbmZyYWdtZW50IE1vdmVtZW50c0ZyYWdtZW50IG9uIE1vdmVtZW50cyB7XG4gIF9fdHlwZW5hbWVcbiAgaXNSdW5uaW5nQmFsYW5jZUluU3luY1xuICBtb3ZlbWVudHMge1xuICAgIF9fdHlwZW5hbWVcbiAgICAuLi5Nb3ZlbWVudEZyYWdtZW50XG4gIH1cbiAgcGFnaW5hdGlvbiB7XG4gICAgX190eXBlbmFtZVxuICAgIC4uLlBhZ2luYXRpb25GcmFnbWVudFxuICB9XG59YDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQU8sTUFBTUEsWUFBWSxHQUFBQyxPQUFBLENBQUFELFlBQUEsR0FBRztBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFFTSxNQUFNRSxhQUFhLEdBQUFELE9BQUEsQ0FBQUMsYUFBQSxHQUFHO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFIiwiaWdub3JlTGlzdCI6W119